{"version":3,"file":"dist/newcontract-contractpage-pbe/app.js","mappings":"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CAAmC,CACnD,CAAC,CACH,EACA,CACF,EACAF,EAAI,GAAG,GAAG,EACVE,EAAG,OAAQ,CACT,YAAa,QACb,SAAU,CACR,YAAaF,EAAI,GACfA,EAAI,kBACFA,EAAI,gBAAgB,WACtB,CACF,CACF,CACF,CAAC,CACH,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,WACA,CACE,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,MAAO,CACL,OAAQF,EAAI,aAAeA,EAAI,gBAAgB,KACjD,EACA,MAAO,CACL,SAAUA,EAAI,iBACd,MAAOA,EAAI,gBAAgB,MAC3B,QAAS,kBACT,KAAM,aACR,EACA,GAAI,CAAE,MAAOA,EAAI,sBAAuB,CAC1C,EACA,CACEE,EACE,MACA,CACEA,EAAG,QAAS,CACV,YAAa,QACb,MAAO,CACL,IAAK,wCACP,CACF,CAAC,CACH,EACA,CACF,EACAF,EAAI,GAAG,GAAG,EACVE,EAAG,OAAQ,CACT,YAAa,QACb,SAAU,CACR,YAAaF,EAAI,GACfA,EAAI,kBAAkBA,EAAI,gBAAgB,KAAK,CACjD,CACF,CACF,CAAC,CACH,CACF,CACF,EACA,CACF,CACF,EACA,CACF,CACF,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,MACA,CACEA,EACE,uBACA,CACE,MAAO,CACL,gBAAiB,cACjB,oBAAqBF,EAAI,gBAC3B,CACF,EACA,CACEE,EACE,MACA,CACE,YAAa,kCACb,MAAO,CAAE,qBAAsB,aAAc,CAC/C,EACA,CACEA,EAAG,eAAgB,CACjB,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,IACnB,CACF,CAAC,EACDA,EAAG,QAAS,CAAE,YAAa,uBAAwB,EAAG,CACpDF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,qCAA4B,CAAC,CAAC,CACrD,CAAC,EACDA,EAAI,GAAG,GAAG,EACVE,EACE,MACA,CACEA,EACE,WACA,CACE,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,MAAO,CACL,OACEF,EAAI,a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ACVE,EACE,cACA,CACEA,EACE,QACA,CACEA,EACE,QACA,CAAE,MAAO,CAAE,GAAI,IAAK,GAAI,GAAI,CAAE,EAC9B,CACEA,EACE,uBACA,CACE,MAAO,CACL,gBAAiB,eACjB,oBAAqBF,EAAI,gBAC3B,CACF,EACA,CACEE,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,IACnB,CACF,EACA,CACEA,EACE,QACA,CAAE,YAAa,uBAAwB,EACvC,CAACF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CACxC,EACAA,EAAI,GAAG,GAAG,EACVA,EAAI,SAAS,cACbA,EAAI,iBAAiB,SACjBE,EAAG,gBAAiB,CAClB,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,YAAa,+BACb,MAAO,CACL,SAAUF,EAAI,iBACd,oBAAqB,GACrB,mBAAoB,oBACpB,KAAM,eACN,MAAOA,EAAI,aACX,QAASA,EAAI,aACf,CACF,CAAC,EACDE,EAAG,gBAAiB,CAClB,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,YAAa,+BACb,MAAO,CACL,oBAAqB,GACrB,mBAAoB,oBACpB,KAAM,eACN,MAAOF,EAAI,aACX,QAASA,EAAI,aACf,CACF,CAAC,EACLA,EAAI,GAAG,GAAG,EACVE,EACE,cACA,CACE,MAAO,CACL,GAAI,oBACJ,eAAgB,QAClB,CACF,EACA,CACEF,EAAI,GACF;AAAA,8BACEA,EAAI,GACFA,EAAI,GACF,gKACF,CACF,EACA;AAAA,yBACJ,CACF,CACF,CACF,EACA,CACF,CACF,EACA,CACF,CACF,EACA,CACF,CACF,EACA,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,QACA,CACEA,EACE,QACA,CAAE,MAAO,CAAE,GAAI,IAAK,GAAI,GAAI,CAAE,EAC9B,CACEA,EACE,uBACA,CACE,MAAO,CACL,gBAAiB,YACjB,oBAAqBF,EAAI,gBAC3B,CACF,EACA,CACEE,EAAG,eAAgB,CACjB,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,IACnB,CACF,CAAC,EACDA,EAAG,QAAS,CAAE,YAAa,uBAAwB,EAAG,CACpDF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,mBAAmB,CAAC,CAAC,CAC5C,CAAC,EACDA,EAAI,GAAG,GAAG,EACVE,EACE,gBACA,CAAE,MAAO,CAAE,OAAQ,OAAK,CAAE,EAC1B,CACEA,EAAG,gBAAiB,CAClB,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,YAAa,kBACb,MAAO,CACL,KAAM,OACN,MAAOF,EAAI,UACX,QAASA,EAAI,UACf,CACF,CAAC,CACH,EACA,CACF,CACF,EACA,CACF,CACF,EACA,CACF,CACF,EACA,CACF,CACF,EACA,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,cACA,CACEA,EACE,QACA,CACEA,EACE,QACA,CAAE,MAAO,CAAE,GAAI,IAAK,GAAI,GAAI,CAAE,EAC9B,CACEF,EAAI,cAAgB,GAAKA,EAAI,cAAgB,EACzCE,EACE,MACA,CACEA,EAAG,eAAgB,CACjB,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,IACnB,CACF,CAAC,EACDA,EACE,QACA,CAAE,YAAa,uBAAwB,EACvC,CAACF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,sBAAsB,CAAC,CAAC,CAAC,CACjD,CACF,EACA,CACF,EACAE,EACE,MACA,CACEA,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,IACnB,CACF,EACA,CACEF,EAAI,cAAgB,EAChBE,EACE,QACA,CAAE,YAAa,uBAAwB,EACvC,CACEF,EAAI,GACFA,EAAI,GACFA,EAAI,GAAG,kCAA4B,CACrC,CACF,CACF,CACF,EACAE,EACE,QACA,CAAE,YAAa,uBAAwB,EACvC,CACEF,EAAI,GACFA,EAAI,GACFA,EAAI,GACF,2CACF,CACF,CACF,CACF,CACF,CACN,CACF,CACF,EACA,CACF,EACJA,EAAI,GAAG,GAAG,EACVE,EACE,gBACA,CAAE,MAAO,CAAE,OAAQ,KAAM,CAAE,EAC3B,CACEA,EAAG,eAAgB,CACjB,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,MAAO,CACL,KAAM,OACN,KAAM,UACN,GAAI,UACJ,MAAOF,EAAI,OACb,CACF,CAAC,CACH,EACA,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EAAG,eAAgB,CACjB,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,MAAO,CACL,KAAM,QACN,IAAK,MACL,IAAK,QACL,MAAOF,EAAI,QACX,KAAM,UACN,GAAI,SACN,CACF,CAAC,CACH,EACA,CACF,EACAA,EAAI,GAAG,GAAG,EACVA,EAAI,uBACAE,EACE,QACA,CAAE,MAAO,CAAE,GAAI,GAAI,CAAE,EACrB,CACEA,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,IACnB,CACF,EACA,CACEF,EAAI,cAAgB,EAChBE,EACE,QACA,CAAE,YAAa,uBAAwB,EACvC,CACEF,EAAI,GACFA,EAAI,GAAGA,EAAI,GAAG,4BAAyB,CAAC,CAC1C,CACF,CACF,EACAE,EACE,QACA,CAAE,YAAa,uBAAwB,EACvC,CACEF,EAAI,GACFA,EAAI,GACFA,EAAI,GAAG,+BAA+B,CACxC,CACF,CACF,CACF,CACN,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,gBACA,CAAE,MAAO,CAAE,OAAQ,KAAM,CAAE,EAC3B,CACEA,EAAG,eAAgB,CACjB,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,MAAO,CACL,KAAM,OACN,KAAM,UACN,GAAI,UACJ,MAAOF,EAAI,OACb,CACF,CAAC,CACH,EACA,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EAAG,eAAgB,CACjB,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,MAAO,CACL,KAAM,QACN,IAAK,MACL,IAAK,QACL,MAAOF,EA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,GAAGA,EAAI,GAAGA,EAAI,GAAG,cAAc,CAAC,CAAC,CAAC,CACzC,CACF,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EAAG,MAAO,CACRA,EACE,QACA,CAAE,YAAa,cAAe,EAC9B,CACEA,EAAG,QAAS,CACV,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,MAAO,CACL,KAAM,QACN,KAAM,kBACN,SACEF,EAAI,2BACR,EACA,SAAU,CACR,MACEA,EAAI,oBAAoB,MAC1B,QACEA,EAAI,SACD,yBACHA,EAAI,SAAS,iBACXA,EAAI,oBAAoB,KAC9B,EACA,GAAI,CACF,gBACEA,EAAI,sBACR,CACF,CAAC,EACDA,EAAI,GACF,IACEA,EAAI,GAAGA,EAAI,GAAG,aAAa,CAAC,EAC5B;AAAA,qCACJ,CACF,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,QACA,CAAE,YAAa,cAAe,EAC9B,CACEA,EAAG,QAAS,CACV,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,MAAO,CACL,KAAM,QACN,KAAM,kBACN,SACEF,EAAI,2BACR,EACA,SAAU,CACR,MACEA,EAAI,oBAAoB,MAC1B,QACEA,EAAI,SACD,yBACHA,EAAI,SAAS,iBACXA,EAAI,oBAAoB,KAC9B,EACA,GAAI,CACF,gBACEA,EAAI,sBACR,CACF,CAAC,EACDA,EAAI,GACF,IACEA,EAAI,GAAGA,EAAI,GAAG,uBAAiB,CAAC,EAChC;AAAA,qCACJ,CACF,CACF,EACAA,EAAI,GAAG,GAAG,EACVA,EAAI,SAAS,cACbA,EAAI,iBAAiB,SACjBE,EACE,QACA,CACE,WAAY,CACV,CACE,KAAM,YACN,QAAS,cACT,MACEF,EAAI,iCACN,WACE,kCACJ,CACF,EACA,YAAa,cACf,EACA,CACEE,EAAG,QAAS,CACV,WAAY,CACV,CACE,KAAM,qBACN,QACE,sBACJ,CACF,EACA,MAAO,CACL,KAAM,QACN,KAAM,kBACN,SACE,CAACF,EAAI,2BACT,EACA,SAAU,CACR,MACEA,EAAI,oBACD,iBACL,QACEA,EAAI,2BACR,EACA,GAAI,CACF,gBACEA,EAAI,sBACR,CACF,CAAC,EACDA,EAAI,GACF,IACEA,EAAI,GAAGA,EAAI,GAAG,SAAS,CAAC,EACxB;AAAA,qCACJ,CACF,CACF,EACAA,EAAI,GAAG,EACXA,EAAI,GAAG,GAAG,EACVA,EAAI,SAAS,cACbA,EAAI,iBAAiB,QACjBE,EACE,QACA,CAAE,YAAa,cAAe,EAC9B,CACEA,EAAG,QAAS,CACV,WAAY,CACV,CACE,KAAM,qBACN,QACE,sBACJ,CACF,EACA,MAAO,CACL,KAAM,QACN,KAAM,iBACR,EACA,SAAU,CACR,MACEF,EAAI,oBACD,gBACL,QACEA,EAAI,SACD,yBACHA,EAAI,SACD,iBACDA,EAAI,oBACD,eACT,EACA,GAAI,CACF,gBACEA,EAAI,sBACR,CACF,CAAC,EACDA,EAAI,GACF,IACEA,EAAI,GAAGA,EAAI,GAAG,aAAa,CAAC,EAC5B;AAAA,qCACJ,CACF,CACF,EACAA,EAAI,GAAG,CACb,CAAC,CACH,EACA,CACF,CACF,EACA,CACF,CACF,CACF,CACF,CAAC,EACDA,EAAI,GAAG,GAAG,EACVE,EAAG,MAAO,CAAE,YAAa,KAAM,EAAG,CAChCA,EACE,MACA,CAAE,YAAa,8BAA+B,EAC9C,CACEA,EACE,MACA,CAAE,YAAa,YAAa,EAC5B,CACEA,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,IACnB,CACF,EACA,CACEA,EACE,QACA,CAAE,YAAa,uBAAwB,EACvC,CAACF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CACrC,CACF,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EAAG,QAAS,CACV,WAAY,CACV,CACE,KAAM,QACN,QAAS,UACT,MACEF,EAAI,SAAS,iBAAiB,QAC3B,OACL,WACE,0CACJ,EACA,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,YAAa,8BACb,MAAO,CACL,KAAM,OACN,KAAM,kBACN,UAAW,KACb,EACA,SAAU,CA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EA,EACE,QACA,CACE,YACE,uBACJ,EACA,CACEF,EAAI,GACFA,EAAI,GACFA,EAAI,GAAG,0BAAoB,CAC7B,CACF,CACF,CACF,CACF,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EAAG,QAAS,CACV,WAAY,CACV,CACE,KAAM,QACN,QAAS,UACT,MAAOF,EAAI,SAAS,cACpB,WACE,wBACJ,EACA,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,YACE,8BACF,MAAO,CACL,KAAM,QACN,KAAM,gBACN,UAAW,KACb,EACA,SAAU,CACR,MAAOA,EAAI,SAAS,aACtB,EACA,GAAI,CACF,MAAO,SAAUG,EAAQ,CACnBA,EAAO,OAAO,WAGlBH,EAAI,KACFA,EAAI,SACJ,gBACAG,EAAO,OAAO,KAChB,CACF,CACF,CACF,CAAC,CACH,EACA,CACF,CACF,EACA,CACF,CACF,CACF,EACAH,EAAI,GAAG,CACb,CAAC,EACDA,EAAI,GAAG,GAAG,EACVA,EAAI,SAAS,iBACbA,EAAI,oBAAoB,gBACpBE,EAAG,MAAO,CAAE,YAAa,KAAM,EAAG,CAChCA,EACE,MACA,CAAE,YAAa,6BAA8B,EAC7C,CACEA,EACE,MACA,CAAE,YAAa,YAAa,EAC5B,CACEA,EACE,uBACA,CACE,MAAO,CACL,gBACE,0BACF,oBACEF,EAAI,gBACR,CACF,EACA,CACEE,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,IACnB,CACF,EACA,CACEA,EACE,QACA,CACE,YACE,uBACJ,EACA,CACEF,EAAI,GACFA,EAAI,GACFA,EAAI,GACF,gCACF,CACF,CACF,CACF,CACF,CACF,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EAAG,QAAS,CACV,WAAY,CACV,CACE,KAAM,QACN,QAAS,UACT,MACEF,EAAI,SAAS,iBACV,wBACL,WACE,mDACJ,EACA,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,YACE,8BACF,MAAO,CACL,KAAM,OACN,KAAM,0BACN,UAAW,IACb,EACA,SAAU,CACR,MACEA,EAAI,SAAS,iBACV,uBACP,EACA,GAAI,CACF,MAAO,SAAUG,EAAQ,CACnBA,EAAO,OAAO,WAGlBH,EAAI,KACFA,EAAI,SAAS,iBACb,0BACAG,EAAO,OAAO,KAChB,CACF,CACF,CACF,CAAC,CACH,EACA,CACF,CACF,EACA,CACF,EACAH,EAAI,GAAG,GAAG,EACVE,EACE,MACA,CAAE,YAAa,YAAa,EAC5B,CACEA,EACE,uBACA,CACE,MAAO,CACL,gBAAiB,oBACjB,oBACEF,EAAI,gBACR,CACF,EACA,CACEE,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,IACnB,CACF,EACA,CACEA,EACE,QACA,CACE,YACE,uBACJ,EACA,CACEF,EAAI,GACFA,EAAI,GACFA,EAAI,GAAG,0BAAiB,CAC1B,CACF,CACF,CACF,CACF,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EAAG,QAAS,CACV,WAAY,CACV,CACE,KAAM,QACN,QAAS,UACT,MACEF,EAAI,SAAS,iBACV,kBACL,WACE,6CACJ,EACA,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,YACE,8BACF,MAAO,CACL,KAAM,OACN,KAAM,oBACN,UAAW,IACb,EACA,SAAU,CACR,MACEA,EAAI,SAAS,iBACV,iBACP,EACA,GAAI,CACF,MAAO,SAAUG,EAAQ,CACnBA,EAAO,OAAO,WAGlBH,EAAI,KACFA,EAAI,SAAS,iBACb,oBACAG,EAAO,OAAO,KAChB,CACF,CACF,CACF,CAAC,CACH,EACA,CACF,CACF,EACA,CACF,CACF,CACF,CACF,CAAC,EACDH,EAAI,GAAG,CACb,CAAC,CACH,CAAC,EACDA,EAAI,GAAG,CACb,EACAA,EAAI,GAAG,EACXA,EAAI,GAAG,GAAG,EACVE,EAAG,MAAO,CAAE,YAAa,KAAM,EAAG,CAChCA,EAAG,MAAO,CAAE,YAAa,WAAY,EAAG,CACtCA,EACE,MACA,CAAE,YAAa,YAAa,EAC5B,CACEA,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,IACnB,CACF,EACA,CACEA,EAAG,QAAS,CAAE,YAAa,uBAAwB,EAAG,CACpDF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,mCAA6B,CAAC,CAAC,CACtD,CAAC,CACH,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,uBACA,CACE,MAAO,CACL,gBAAiB,iBACjB,oBAAqBF,EAAI,gBAC3B,CACF,EACA,CACEE,EACE,MACA,CACE,YAAa,QACb,YAAa,CAAE,aAAc,GAAI,CACnC,EACA,CACEA,EAAG,QAAS,CACVA,EAAG,QAAS,CACV,WAAY,CACV,CACE,KAAM,QACN,QAAS,UACT,MAAOF,EAAI,SAAS,eACpB,WAAY,yBACd,EACA,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,MAAO,CAAE,KAAM,QAAS,KAAM,gBAAiB,EAC/C,SAAU,CACR,MAAOA,EAAI,qBACX,QAASA,EAAI,GACXA,EAAI,SAAS,eACbA,EAAI,oBACN,CACF,EACA,GAAI,CACF,gBAAiBA,EAAI,sBACrB,OAAQ,SAAUG,EAAQ,CACxB,OAAOH,EAAI,KACTA,EAAI,SACJ,iBACAA,EAAI,oBACN,CACF,CACF,CACF,CAAC,EACDA,EAAI,GACF;AAAA,8BACEA,EAAI,GACFA,EAAI,GACF,gEACF,CACF,EACA;AAAA,yBACJ,CACF,CAAC,CACH,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EAAG,MAAO,CAAE,YAAa,OAAQ,EAAG,CAClCA,EAAG,QAAS,CACVA,EAAG,QAAS,CACV,WAAY,CACV,CACE,KAAM,QACN,QAAS,UACT,MAAOF,EAAI,SAAS,eACpB,WAAY,yBACd,EACA,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,MAAO,CAAE,KAAM,QAAS,KAAM,gBAAiB,EAC/C,SAAU,CACR,MAAOA,EAAI,6BACX,QAASA,EAAI,GACXA,EAAI,SAAS,eACbA,EAAI,4BACN,CACF,EACA,GAAI,CACF,gBAAiBA,EAAI,sBACrB,OAAQ,SAAUG,EAAQ,CACxB,OAAOH,EAAI,KACTA,EAAI,SACJ,iBACAA,EAAI,4BACN,CACF,CACF,CACF,CAAC,EACDA,EAAI,GACF;AAAA,8BACEA,EAAI,GACFA,EAAI,GACF,6EACF,CACF,EACA;AAAA,yBACJ,CACF,CAAC,CACH,CAAC,EACDA,EAAI,GAAG,GAAG,EACVA,EAAI,SAAS,gBACZA,EAAI,mBAAqB,MACxBA,EAAI,kBAAkB,QAAU,GAC9BE,EAAG,MAAO,CAAE,YAAa,OAAQ,EAAG,CAClCA,EAAG,QAAS,CACVA,EAAG,QAAS,CACV,WAAY,CACV,CACE,KAAM,QACN,QAAS,UACT,MAAOF,EAAI,SAAS,eACpB,WAAY,yBACd,EACA,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,MAAO,CAAE,KAAM,QAAS,KAAM,gBAAiB,EAC/C,SAAU,CACR,MAAOA,EAAI,6BACX,QAASA,EAAI,GACXA,EAAI,SAAS,eACbA,EAAI,4BACN,CACF,EACA,GAAI,CACF,gBAAiBA,EAAI,sBACrB,OAAQ,SAAUG,EAAQ,CACxB,OAAOH,EAAI,KACTA,EAAI,SACJ,iBACAA,EAAI,4BACN,CACF,CACF,CACF,CAAC,EACDA,EAAI,GACF;AAAA,8BACEA,EAAI,GACFA,EAAI,GACF,wDACF,CACF,EACA;AAAA,yBACJ,CACF,CAAC,CACH,CAAC,EACDA,EAAI,GAAG,CACb,CACF,CACF,EACA,CACF,CACF,CAAC,CACH,CAAC,EACDA,EAAI,GAAG,GAAG,EACVA,EAAI,SAAS,gBAAkBA,EAAI,mBAAmB,gBACtDA,EAAI,SAAS,gBAAkBA,EAAI,mBAAmB,cAClDE,EACE,MACA,CACEA,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,IACnB,CACF,EACA,CACEA,EAAG,QAAS,CAAE,YAAa,uBAAwB,EAAG,CACpDF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,iCAA8B,CAAC,CAAC,CACvD,CAAC,EACDA,EAAI,GAAG,GAAG,EACVE,EACE,qBACA,CACE,MAAO,CAAE,QAASF,EAAI,QAAS,KAAM,cAAe,EACpD,MAAO,CACL,MAAOA,EAAI,SACX,SAAU,SAAU4F,EAAK,CACvB5F,EAAI,SAAW4F,CACjB,EACA,WAAY,UACd,CACF,EACA,CACE1F,EAAG,oBAAqB,CACtB,MAAO,CAAE,MAAO,SAAU,EAC1B,MAAO,CACL,KAAM,kBACN,GAAI,yBACJ,KAAM,IACR,CACF,CAAC,EACDF,EAAI,GAAG,GAAG,EACVE,EACE,YACA,CACE,MAAO,CACL,OAAQ,yBACR,QAAS,UACT,UAAW,QACX,SAAU,OACZ,CACF,EACA,CACEF,EAAI,GACF;AAAA,sBACEA,EAAI,GACFA,EAAI,GACF,4hBACF,CACF,EACA;AAAA,iBACJ,CACF,CACF,CACF,EACA,CACF,CACF,EACA,CACF,EACAA,EAAI,GAAG,GAAG,EACVA,EAAI,UAAY,QACZ,CACEE,EAAG,MAAO,CAAE,YAAa,qBAAsB,EAAG,CAChDA,EAAG,MAAO,CAAE,YAAa,eAAgB,EAAG,CAC1CA,EAAG,IAAK,CACNF,EAAI,GACFA,EAAI,GACFA,EAAI,GACF,uNACF,CACF,EAAI,GACN,EACAE,EACE,IACA,CACE,MAAO,CACL,KAAM,+BACN,OAAQ,QACV,CACF,EACA,CAACF,EAAI,GAAG,wBAAwB,CAAC,CACnC,CACF,CAAC,CACH,CAAC,CACH,CAAC,CACH,EACAA,EAAI,GAAG,CACb,EACA,CACF,EACAA,EAAI,GAAG,EACXA,EAAI,GAAG,GAAG,EACVE,EACE,MACA,CAAE,YAAa,KAAM,EACrB,CACEA,EACE,QACA,CAAE,MAAO,CAAE,GAAI,IAAK,CAAE,EACtB,CACEA,EACE,uBACA,CACE,MAAO,CACL,gBAAiB,YACjB,oBAAqBF,EAAI,gBAC3B,CACF,EACA,CACEE,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,IACnB,CACF,EACA,CACEA,EAAG,QAAS,CAAE,YAAa,uBAAwB,EAAG,CACpDF,EAAI,GACFA,EAAI,GACFA,EAAI,GAAG,sDAAuC,CAChD,CACF,CACF,CAAC,CACH,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,MACA,CAAE,YAAa,KAAM,EACrB,CACEA,EACE,QACA,CAAE,MAAO,CAAE,GAAI,KAAM,GAAI,KAAM,GAAI,IAAK,GAAI,GAAI,CAAE,EAClD,CACEA,EAAG,aAAc,CACf,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,MAAO,CACL,oBAAqB,GACrB,eAAgB,GAChB,KAAM,YACN,OAAQF,EAAI,iBACZ,cAAeA,EAAI,cACnB,SAAUA,EAAI,mBACd,kBAAmB,GACnB,uBAAwB,iBACxB,eAAgB,GAChB,oBAAqB,aACvB,EACA,MAAO,CACL,MAAOA,EAAI,UACX,SAAU,SAAU4F,EAAK,CACvB5F,EAAI,UAAY4F,CAClB,EACA,WAAY,WACd,CACF,CAAC,CACH,EACA,CACF,EACA5F,EAAI,GAAG,GAAG,EACVA,EAAI,SAAS,gBACXA,EAAI,mBAAmB,QACzBA,EAAI,SAAS,gBACXA,EAAI,mBAAmB,UACrBE,EAAG,QAAS,CACVA,EAAG,OAAQ,CACTF,EAAI,GACFA,EAAI,GACFA,EAAI,GACF,qNACF,CACF,EAAI,GACN,CACF,CAAC,CACH,CAAC,EACDA,EAAI,GAAG,CACb,EACA,CACF,CACF,EACA,CACF,CACF,EACA,CACF,CACF,EACA,CACF,EACAA,EAAI,GAAG,GAAG,EACVA,EAAI,SAAS,gBAAkBA,EAAI,mBAAmB,gBACtDA,EAAI,SAAS,gBAAkBA,EAAI,mBAAmB,cAClDE,EACE,QACA,CACEA,EACE,QACA,CACEA,EACE,uBACA,CACE,MAAO,CACL,gBAAiB,kBACjB,oBAAqBF,EAAI,gBAC3B,CACF,EACA,CACEE,EAAG,QAAS,CAAE,YAAa,iBAAkB,EAAG,CAC9CA,EAAG,QAAS,CACV,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,MAAO,CACL,KAAM,WACN,KAAM,kBACN,aAAc,IACd,cAAe,GACjB,EACA,SAAU,CACR,QAASF,EAAI,SAAS,cAAc,gBACpC,MAAOA,EAAI,SAAS,cAAc,eACpC,CACF,CAAC,EACDA,EAAI,GACF;AAAA,sBACEA,EAAI,GACFA,EAAI,GACF,oIACF,CACF,EACA;AAAA,iBACJ,CACF,CAAC,CACH,CACF,CACF,EACA,CACF,CACF,EACA,CACF,EACAA,EAAI,GAAG,EACXA,EAAI,GAAG,GAAG,EACVE,EAAG,MAAO,CAAE,YAAa,KAAM,EAAG,CAChCA,EAAG,MAAO,CAAE,YAAa,WAAY,EAAG,CACtCA,EACE,MACA,CAAE,YAAa,YAAa,EAC5B,CACEA,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,IACnB,CACF,EACA,CACEA,EAAG,QAAS,CAAE,YAAa,uBAAwB,EAAG,CACpDF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,kCAAyB,CAAC,CAAC,CAClD,CAAC,CACH,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,MACA,CACEA,EACE,uBACA,CACE,MAAO,CACL,gBAAiB,iBACjB,oBAAqBF,EAAI,gBAC3B,CACF,EACA,CACEE,EAAG,QAAS,CAAE,YAAa,cAAe,EAAG,CAC3CA,EAAG,QAAS,CACV,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,MAAO,CAAE,KAAM,QAAS,KAAM,gBAAiB,EAC/C,SAAU,CACR,MAAO,EACP,QAASF,EAAI,SAAS,gBAAkB,CAC1C,CACF,CAAC,EACDA,EAAI,GACF,MACEA,EAAI,GAAGA,EAAI,GAAG,KAAK,CAAC,EACpB;AAAA,yBACJ,CACF,CAAC,EACDA,EAAI,GAAG,GAAG,EACVE,EAAG,QAAS,CAAE,YAAa,cAAe,EAAG,CAC3CA,EAAG,QAAS,CACV,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,MAAO,CAAE,KAAM,QAAS,KAAM,gBAAiB,EAC/C,SAAU,CACR,MAAO,GACP,QAASF,EAAI,SAAS,gBAAkB,EAC1C,CACF,CAAC,EACDA,EAAI,GACF,OACEA,EAAI,GAAGA,EAAI,GAAG,KAAK,CAAC,EACpB;AAAA,yBACJ,CACF,CAAC,CACH,CACF,CACF,EACA,CACF,CACF,EACA,CACF,CACF,CAAC,CACH,CAAC,CACH,EACA,CACF,CACF,EACI,GAAkB,CAAC,EACvB,GAAO,cAAgB,GChnEvB,SAAS,GAAQ5S,EAAK,CACpB,OAAI,OAAO,QAAW,YAAc,OAAO,OAAO,UAAa,SAC7D,GAAU,SAAUA,EAAK,CACvB,OAAO,OAAOA,CAChB,EAEA,GAAU,SAAUA,EAAK,CACvB,OAAOA,GAAO,OAAO,QAAW,YAAcA,EAAI,cAAgB,QAAUA,IAAQ,OAAO,UAAY,SAAW,OAAOA,CAC3H,EAGK,GAAQA,CAAG,CACpB,CAEA,SAAS0jB,GAAgBC,EAAUC,EAAa,CAC9C,GAAI,EAAED,aAAoBC,GACxB,MAAM,IAAI,UAAU,mCAAmC,CAE3D,CAEA,SAASC,GAAkBzkB,EAAQ0kB,EAAO,CACxC,QAASzR,EAAI,EAAGA,EAAIyR,EAAM,OAAQzR,IAAK,CACrC,IAAIgD,EAAayO,EAAMzR,CAAC,EACxBgD,EAAW,WAAaA,EAAW,YAAc,GACjDA,EAAW,aAAe,GACtB,UAAWA,IAAYA,EAAW,SAAW,IACjD,OAAO,eAAejW,EAAQiW,EAAW,IAAKA,CAAU,CAC1D,CACF,CAEA,SAAS0O,GAAaH,EAAaI,EAAYC,EAAa,CAC1D,OAAID,GAAYH,GAAkBD,EAAY,UAAWI,CAAU,EAC/DC,GAAaJ,GAAkBD,EAAaK,CAAW,EACpDL,CACT,CAEA,SAAS,GAAgB5jB,EAAKK,EAAK4B,EAAO,CACxC,OAAI5B,KAAOL,EACT,OAAO,eAAeA,EAAKK,EAAK,CAC9B,MAAO4B,EACP,WAAY,GACZ,aAAc,GACd,SAAU,EACZ,CAAC,EAEDjC,EAAIK,CAAG,EAAI4B,EAGNjC,CACT,CAEA,SAASkkB,GAAc9kB,EAAQ,CAC7B,QAASiT,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAAK,CACzC,IAAI8R,EAAS,UAAU9R,CAAC,GAAK,KAAO,UAAUA,CAAC,EAAI,CAAC,EAChD+R,EAAU,OAAO,KAAKD,CAAM,EAE5B,OAAO,OAAO,uBAA0B,aAC1CC,EAAUA,EAAQ,OAAO,OAAO,sBAAsBD,CAAM,EAAE,OAAO,SAAUE,EAAK,CAClF,OAAO,OAAO,yBAAyBF,EAAQE,CAAG,EAAE,UACtD,CAAC,CAAC,GAGJD,EAAQ,QAAQ,SAAU/jB,EAAK,CAC7B,GAAgBjB,EAAQiB,EAAK8jB,EAAO9jB,CAAG,CAAC,CAC1C,CAAC,CACH,CAEA,OAAOjB,CACT,CAEA,IAAIklB,GAEJ,UAAY,CACV,SAASA,EAASC,EAAUC,EAAQC,EAAYC,EAAM,CACpDhB,GAAgB,KAAMY,CAAQ,EAE9B,KAAK,SAAWC,EAChB,KAAK,OAASC,EACd,KAAK,WAAaC,EAClB,KAAK,KAAOC,EACZ,KAAK,IAAM,GACX,KAAK,IAAM,GACX,KAAK,WAAa,EACpB,CAEA,OAAAX,GAAaO,EAAU,CAAC,CACtB,IAAK,WACL,IAAK,UAAe,CAClB,OAAO,KAAK,SACd,EACA,IAAK,SAAaC,EAAU,CAC1B,GAAI,OAAOA,GAAa,SACtB,MAAM,IAAI,UAAU,2BAA2B,EAGjD,KAAK,UAAYA,CACnB,CACF,EAAG,CACD,IAAK,SACL,IAAK,UAAe,CAClB,OAAO,KAAK,OACd,EACA,IAAK,SAAaC,EAAQ,CACxB,GAAIA,EAAO,SAAW,GACpB,MAAM,IAAI,WAAW,+BAA+B,OAAO,KAAK,SAAU,WAAW,CAAC,EAGxF,KAAK,QAAUA,CACjB,CACF,EAAG,CACD,IAAK,aACL,IAAK,UAAe,CAClB,OAAO,KAAK,WACd,EACA,IAAK,SAAaC,EAAY,CAC5B,GAAIA,EAAW,SAAW,GACxB,MAAM,IAAI,WAAW,2CAA2C,OAAO,KAAK,SAAU,WAAW,CAAC,EAGpG,KAAK,YAAcA,CACrB,CACF,EAAG,CACD,IAAK,OACL,IAAK,UAAe,CAClB,OAAO,KAAK,KACd,EACA,IAAK,SAAaC,EAAM,CACtB,GAAIA,EAAK,SAAW,EAClB,MAAM,IAAI,WAAW,4BAA4B,OAAO,KAAK,SAAU,WAAW,CAAC,EAGrF,KAAK,MAAQA,CACf,CACF,CAAC,CAAC,EAEKJ,CACT,EAAE,EAEEK,GAAK,IAAIL,GAAS,UAAW,CAAC,UAAW,WAAY,QAAS,QAAS,MAAO,OAAQ,OAAQ,SAAU,YAAa,UAAW,WAAY,UAAU,EAAG,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAK,EAAG,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAK,CAAC,EAGhSM,GAAQ,CAIV,OAAQ,GAMR,YAAa,SAAqBtZ,EAAM,CACtC,OAAO,KAAK,OAASA,EAAK,eAAe,EAAIA,EAAK,YAAY,CAChE,EAMA,SAAU,SAAkBA,EAAM,CAChC,OAAO,KAAK,OAASA,EAAK,YAAY,EAAIA,EAAK,SAAS,CAC1D,EAMA,QAAS,SAAiBA,EAAM,CAC9B,OAAO,KAAK,OAASA,EAAK,WAAW,EAAIA,EAAK,QAAQ,CACxD,EAMA,OAAQ,SAAgBA,EAAM,CAC5B,OAAO,KAAK,OAASA,EAAK,UAAU,EAAIA,EAAK,OAAO,CACtD,EAMA,SAAU,SAAkBA,EAAM,CAChC,OAAO,KAAK,OAASA,EAAK,YAAY,EAAIA,EAAK,SAAS,CAC1D,EAMA,WAAY,SAAoBA,EAAM,CACpC,OAAO,KAAK,OAASA,EAAK,cAAc,EAAIA,EAAK,WAAW,CAC9D,EAMA,YAAa,SAAqBA,EAAMrJ,EAAO4iB,EAAQ,CACrD,OAAO,KAAK,OAASvZ,EAAK,eAAerJ,CAAK,EAAIqJ,EAAK,YAAYrJ,CAAK,CAC1E,EAMA,SAAU,SAAkBqJ,EAAMrJ,EAAO4iB,EAAQ,CAC/C,OAAO,KAAK,OAASvZ,EAAK,YAAYrJ,CAAK,EAAIqJ,EAAK,SAASrJ,CAAK,CACpE,EAOA,QAAS,SAAiBqJ,EAAMrJ,EAAO4iB,EAAQ,CAC7C,OAAO,KAAK,OAASvZ,EAAK,WAAWrJ,CAAK,EAAIqJ,EAAK,QAAQrJ,CAAK,CAClE,EAQA,aAAc,SAAsB6iB,EAAOC,EAAO,CAChD,IAAIC,EAAK,IAAI,KAAKF,EAAM,QAAQ,CAAC,EAC7BG,EAAK,IAAI,KAAKF,EAAM,QAAQ,CAAC,EAEjC,OAAI,KAAK,QACPC,EAAG,YAAY,EAAG,EAAG,EAAG,CAAC,EACzBC,EAAG,YAAY,EAAG,EAAG,EAAG,CAAC,IAEzBD,EAAG,SAAS,EAAG,EAAG,EAAG,CAAC,EACtBC,EAAG,SAAS,EAAG,EAAG,EAAG,CAAC,GAGjBD,EAAG,QAAQ,IAAMC,EAAG,QAAQ,CACrC,EAOA,YAAa,SAAqB3Z,EAAM,CACtC,OAAI,OAAO,UAAU,SAAS,KAAKA,CAAI,IAAM,gBACpC,GAGF,CAAC,MAAMA,EAAK,QAAQ,CAAC,CAC9B,EAQA,eAAgB,SAAwBA,EAAMoZ,EAAM,CAClD,GAAI,GAAQpZ,CAAI,IAAM,SACpB,MAAM,UAAU,cAAc,EAGhC,OAAOoZ,EAAK,KAAK,OAAOpZ,CAAI,CAAC,CAC/B,EAQA,aAAc,SAAsB4Z,EAAOV,EAAQ,CACjD,GAAI,CAACA,EACH,MAAM,MAAM,oCAAoC,EAGlD,GAAI,GAAQU,CAAK,IAAM,SACrB,OAAOV,EAAO,KAAK,SAASU,CAAK,CAAC,EAGpC,GAAI,OAAOA,GAAU,SACnB,OAAOV,EAAOU,CAAK,EAGrB,MAAM,UAAU,cAAc,CAChC,EAOA,iBAAkB,SAA0BA,EAAOT,EAAY,CAC7D,GAAI,CAACA,EACH,MAAM,MAAM,mCAAmC,EAGjD,GAAI,GAAQS,CAAK,IAAM,SACrB,OAAOT,EAAW,KAAK,SAASS,CAAK,CAAC,EAGxC,GAAI,OAAOA,GAAU,SACnB,OAAOT,EAAWS,CAAK,EAGzB,MAAM,UAAU,cAAc,CAChC,EAQA,YAAa,SAAqBC,EAAMD,EAAO,CAC7C,MAAO,WAAW,KAAKA,CAAK,EAAI,GAAKA,IAAU,EAAI,EAAEC,EAAO,IAAMA,EAAO,KAAO,EAAEA,EAAO,KAAO,GAAK,GAAK,EAC5G,EAOA,aAAc,SAAsBC,EAAK,CACvC,OAAQA,EAAK,CACX,IAAK,GACL,IAAK,IACL,IAAK,IACH,MAAO,KAET,IAAK,GACL,IAAK,IACH,MAAO,KAET,IAAK,GACL,IAAK,IACH,MAAO,KAET,QACE,MAAO,IACX,CACF,EASA,WAAY,SAAoB9Z,EAAM+Z,EAAQC,EAAa,CACzDA,EAAeA,GAAcX,GAC7B,IAAIQ,EAAO,KAAK,YAAY7Z,CAAI,EAC5B4Z,EAAQ,KAAK,SAAS5Z,CAAI,EAAI,EAC9B8Z,EAAM,KAAK,QAAQ9Z,CAAI,EACvBtC,EAAMqc,EAAO,QAAQ,MAAO,IAAMD,GAAK,MAAM,EAAE,CAAC,EAAE,QAAQ,IAAKA,CAAG,EAAE,QAAQ,OAAQD,CAAI,EAAE,QAAQ,KAAM,OAAOA,CAAI,EAAE,MAAM,CAAC,CAAC,EAAE,QAAQ,OAAQ,KAAK,aAAa,KAAK,SAAS7Z,CAAI,EAAGga,EAAY,MAAM,CAAC,EAAE,QAAQ,MAAO,KAAK,iBAAiB,KAAK,SAASha,CAAI,EAAGga,EAAY,UAAU,CAAC,EAAE,QAAQ,MAAO,IAAMJ,GAAO,MAAM,EAAE,CAAC,EAAE,QAAQ,aAAcA,CAAK,EAAE,QAAQ,KAAM,KAAK,aAAa,KAAK,QAAQ5Z,CAAI,CAAC,CAAC,EAAE,QAAQ,aAAc,KAAK,eAAeA,EAAMga,EAAY,IAAI,CAAC,EAC5d,OAAOtc,CACT,EAQA,gBAAiB,SAAyBuc,EAAOC,EAAK,CAGpD,QAFIC,EAAQ,CAAC,EAENF,GAASC,GACdC,EAAM,KAAK,IAAI,KAAKF,CAAK,CAAC,EAC1BA,EAAQ,KAAK,QAAQ,IAAI,KAAKA,CAAK,EAAG,KAAK,QAAQ,IAAI,KAAKA,CAAK,CAAC,EAAI,CAAC,EAGzE,OAAOE,CACT,EAOA,kBAAmB,SAA2B/kB,EAAK,CACjD,OAAOA,IAAQ,MAAQA,aAAe,MAAQ,OAAOA,GAAQ,UAAY,OAAOA,GAAQ,QAC1F,CACF,EACIglB,GAAgB,SAAuBb,EAAQ,CACjD,OAAOX,GAAc,CAAC,EAAGU,GAAO,CAC9B,OAAQC,CACV,CAAC,CACH,EACIc,GAAUzB,GAAc,CAAC,EAAGU,EAAK,EAGjCgB,GAAS,CACX,MAAO,CACL,aAAc,KACd,eAAgB,CAAC,IAAI,EACrB,OAAQ,CAAC,OAAQ,QAAQ,EACzB,YAAa,OACb,OAAQ,QACR,GAAI,OACJ,KAAM,OACN,QAAS,OACT,SAAU,KACV,YAAa,OACb,WAAY,CAAC,OAAQ,OAAQ,KAAK,EAClC,YAAa,QACb,gBAAiB,OACjB,eAAgB,QAChB,mBAAoB,OACpB,0BAA2B,OAC3B,SAAU,QACV,SAAU,QACV,SAAU,QACV,iBAAkB,QAClB,OAAQ,OACV,EACA,KAAM,UAAgB,CACpB,IAAIC,EAAuBH,GAAc,KAAK,MAAM,EACpD,MAAO,CACL,MAAO,KACP,UAAW,GACX,MAAOG,CACT,CACF,EACA,SAAU,CACR,eAAgB,UAA0B,CACxC,OAAK,KAAK,aAIN,KAAK,UACA,KAAK,UAGP,OAAO,KAAK,QAAW,WAAa,KAAK,OAAO,KAAK,YAAY,EAAI,KAAK,MAAM,WAAW,IAAI,KAAK,KAAK,YAAY,EAAG,KAAK,OAAQ,KAAK,WAAW,EAPnJ,IAQX,EACA,mBAAoB,UAA8B,CAChD,OAAI,KAAK,iBACH,OAAO,KAAK,YAAe,SACtB,CAAC,KAAK,WAAY,cAAc,EAAE,KAAK,GAAG,EAG5C3B,GAAc,CACnB,eAAgB,EAClB,EAAG,KAAK,UAAU,EAGb,KAAK,UACd,CACF,EACA,MAAO,CACL,eAAgB,UAA0B,CACxC,KAAK,UAAY,EACnB,CACF,EACA,QAAS,CACP,aAAc,UAAwB,CACpC,KAAK,MAAM,cAAc,CAC3B,EAMA,eAAgB,SAAwBvT,EAAO,CAQ7C,GANI,CAAC,GACL,EACA,EAAE,SAASA,EAAM,OAAO,GACtB,KAAK,MAAM,KAAK,EAGd,KAAK,SAAU,CACjB,IAAImV,EAAY,KAAK,MAAM,KAAK,MAAM,KAAK,EAEtC,MAAMA,CAAS,IAClB,KAAK,UAAY,KAAK,MAAM,MAC5B,KAAK,MAAM,YAAa,IAAI,KAAK,KAAK,SAAS,CAAC,EAEpD,CACF,EAMA,aAAc,UAAwB,CAChC,KAAK,UAAY,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,CAAC,IACrD,KAAK,UAAU,EACf,KAAK,MAAM,MAAQ,KACnB,KAAK,UAAY,MAGnB,KAAK,MAAM,eAAe,CAC5B,EAKA,UAAW,UAAqB,CAC9B,KAAK,MAAM,WAAW,CACxB,CACF,EACA,QAAS,UAAmB,CAC1B,KAAK,MAAQ,KAAK,IAAI,cAAc,OAAO,CAC7C,CACF,EAGA,SAASC,GAAmBC,EAAUC,EAAOL,EAAQM,EAASC,EAAsBC,EAElFC,EAAYC,EAAgBC,EAAmBC,EAAsB,CACjE,OAAOH,GAAe,YACxBE,EAAoBD,EACpBA,EAAiBD,EACjBA,EAAa,IAIf,IAAIlnB,EAAU,OAAOymB,GAAW,WAAaA,EAAO,QAAUA,EAE1DI,GAAYA,EAAS,SACvB7mB,EAAQ,OAAS6mB,EAAS,OAC1B7mB,EAAQ,gBAAkB6mB,EAAS,gBACnC7mB,EAAQ,UAAY,GAEhBgnB,IACFhnB,EAAQ,WAAa,KAKrB+mB,IACF/mB,EAAQ,SAAW+mB,GAGrB,IAAIO,EAqCJ,GAnCIL,GAEFK,EAAO,SAAcxH,EAAS,CAE5BA,EAAUA,GACV,KAAK,QAAU,KAAK,OAAO,YAC3B,KAAK,QAAU,KAAK,OAAO,QAAU,KAAK,OAAO,OAAO,WAGpD,CAACA,GAAW,OAAO,qBAAwB,cAC7CA,EAAU,qBAIRgH,GACFA,EAAM,KAAK,KAAMM,EAAkBtH,CAAO,CAAC,EAIzCA,GAAWA,EAAQ,uBACrBA,EAAQ,sBAAsB,IAAImH,CAAgB,CAEtD,EAIAjnB,EAAQ,aAAesnB,GACdR,IACTQ,EAAOJ,EAAa,UAAY,CAC9BJ,EAAM,KAAK,KAAMO,EAAqB,KAAK,MAAM,SAAS,UAAU,CAAC,CACvE,EAAI,SAAUvH,GAAS,CACrBgH,EAAM,KAAK,KAAMK,EAAerH,EAAO,CAAC,CAC1C,GAGEwH,EACF,GAAItnB,EAAQ,WAAY,CAEtB,IAAIunB,EAAiBvnB,EAAQ,OAE7BA,EAAQ,OAAS,SAAkCwnB,EAAG1H,GAAS,CAC7D,OAAAwH,EAAK,KAAKxH,EAAO,EACVyH,EAAeC,EAAG1H,EAAO,CAClC,CACF,KAAO,CAEL,IAAI2H,EAAWznB,EAAQ,aACvBA,EAAQ,aAAeynB,EAAW,CAAC,EAAE,OAAOA,EAAUH,CAAI,EAAI,CAACA,CAAI,CACrE,CAGF,OAAOb,CACT,CAEA,IAAIiB,GAAuBd,GAG3B,MAAMe,GAAiBlB,GAGvB,IAAImB,GAAiB,UAAW,CAC9B,IAAInU,EAAM,KACNC,EAAKD,EAAI,eACTE,EAAKF,EAAI,MAAM,IAAMC,EACzB,OAAOC,EACL,MACA,CAAE,MAAO,CAAE,cAAeF,EAAI,gBAAiB,CAAE,EACjD,CACEA,EAAI,eACAE,EACE,OACA,CACE,YAAa,kCACb,MAAO,CAAE,sBAAuBF,EAAI,gBAAiB,EACrD,MAAO,CAAE,sBAAuBA,EAAI,QAAS,EAC7C,GAAI,CAAE,MAAOA,EAAI,YAAa,CAChC,EACA,CACEE,EACE,OACA,CAAE,MAAO,CAAE,mBAAoBF,EAAI,gBAAiB,CAAE,EACtD,CACEE,EAAG,IAAK,CAAE,MAAOF,EAAI,kBAAmB,EAAG,CACzCA,EAAI,GACF;AAAA,UACEA,EAAI,GAAGA,EAAI,yBAAyB,EACpC;AAAA,SACJ,EACCA,EAAI,mBAEDA,EAAI,GAAG,EADPE,EAAG,OAAQ,CAACF,EAAI,GAAG,QAAG,CAAC,CAAC,CAE9B,CAAC,CACH,CACF,CACF,CACF,EACAA,EAAI,GAAG,EACXA,EAAI,GAAG,GAAG,EACVE,EAAG,QAAS,CACV,IAAKF,EAAI,QACT,MAAOA,EAAI,mBACX,MAAO,CACL,KAAMA,EAAI,OAAS,SAAW,OAC9B,KAAMA,EAAI,KACV,GAAIA,EAAI,GACR,YAAaA,EAAI,SACjB,YAAaA,EAAI,YACjB,eAAgBA,EAAI,YACpB,SAAUA,EAAI,SACd,SAAUA,EAAI,SACd,SAAU,CAACA,EAAI,SACf,aAAc,KAChB,EACA,SAAU,CAAE,MAAOA,EAAI,cAAe,EACtC,GAAI,CACF,MAAOA,EAAI,aACX,MAAOA,EAAI,eACX,KAAMA,EAAI,YACZ,CACF,CAAC,EACDA,EAAI,GAAG,GAAG,EACVA,EAAI,aAAeA,EAAI,aACnBE,EACE,OACA,CACE,YAAa,+BACb,MAAO,CAAE,qBAAsBF,EAAI,gBAAiB,EACpD,GAAI,CACF,MAAO,SAASG,EAAQ,CACtB,OAAOH,EAAI,UAAU,CACvB,CACF,CACF,EACA,CACEE,EACE,OACA,CAAE,MAAO,CAAE,mBAAoBF,EAAI,gBAAiB,CAAE,EACtD,CACEE,EAAG,IAAK,CAAE,MAAOF,EAAI,eAAgB,EAAG,CACrCA,EAAI,gBAA8CA,EAAI,GAAG,EAAnCE,EAAG,OAAQ,CAACF,EAAI,GAAG,MAAG,CAAC,CAAC,CACjD,CAAC,CACH,CACF,CACF,CACF,EACAA,EAAI,GAAG,EACXA,EAAI,GAAG,GAAG,EACVA,EAAI,GAAG,gBAAgB,CACzB,EACA,CACF,CACF,EACIoU,GAA0B,CAAC,EAC/BD,GAAe,cAAgB,GAgB7B,IAAIE,GAAYJ,GACd,CAAE,OAAQE,GAAgB,gBAAiBC,EAAwB,EAdvC,OAgB5BF,GAduB,OAIc,GAFL,OAgBhC,OACA,MACF,EAGEI,GAAW,CACb,MAAO,CACL,YAAa,QACb,aAAc,KACd,SAAU,KACV,cAAe,OACf,cAAe,QACf,kBAAmB,SACnB,eAAgB,CACd,KAAM,SACN,QAAW,SAAkB9B,EAAK,CAChC,OAAOA,EAAI,IACb,CACF,EACA,cAAe,OACf,YAAa,OACb,cAAe,CAAC,OAAQ,OAAQ,KAAK,EACrC,cAAe,OACf,YAAa,OACb,MAAO,QACP,YAAa,QACb,OAAQ,OACV,EACA,KAAM,UAAgB,CACpB,IAAIS,EAAuBH,GAAc,KAAK,MAAM,EACpD,MAAO,CACL,MAAOG,CACT,CACF,EACA,SAAU,CAKR,WAAY,UAAsB,CAChC,GAAI,KAAK,YAAa,CACpB,IAAIsB,EAAW,KAAK,YAAY,KAAK,MAAM,EAC3C,OAAAA,EAAS,KAAKA,EAAS,MAAM,CAAC,EACvBA,CACT,CAEA,OAAO,KAAK,YAAY,IAC1B,EAOA,UAAW,UAAqB,CAC9B,IAAIjb,EAAI,KAAK,SACTkb,EAAO,KAAK,OAAS,IAAI,KAAK,KAAK,IAAIlb,EAAE,eAAe,EAAGA,EAAE,YAAY,EAAG,CAAC,CAAC,EAAI,IAAI,KAAKA,EAAE,YAAY,EAAGA,EAAE,SAAS,EAAG,EAAGA,EAAE,SAAS,EAAGA,EAAE,WAAW,CAAC,EAE7J,OAAI,KAAK,YACA,KAAK,MAAM,OAAOkb,CAAI,EAAI,EAAI,KAAK,MAAM,OAAOA,CAAI,EAAI,EAAI,EAG9D,KAAK,MAAM,OAAOA,CAAI,CAC/B,EAKA,KAAM,UAAgB,CAOpB,QANIlb,EAAI,KAAK,SACTwY,EAAO,CAAC,EAER0C,EAAO,KAAK,OAAS,IAAI,KAAK,KAAK,IAAIlb,EAAE,eAAe,EAAGA,EAAE,YAAY,EAAG,CAAC,CAAC,EAAI,IAAI,KAAKA,EAAE,YAAY,EAAGA,EAAE,SAAS,EAAG,EAAGA,EAAE,SAAS,EAAGA,EAAE,WAAW,CAAC,EACzJmb,EAAc,KAAK,MAAM,YAAY,KAAK,MAAM,YAAYD,CAAI,EAAG,KAAK,MAAM,SAASA,CAAI,CAAC,EAEvF/U,EAAI,EAAGA,EAAIgV,EAAahV,IAC/BqS,EAAK,KAAK,CACR,KAAM,KAAK,MAAM,QAAQ0C,CAAI,EAC7B,UAAWA,EAAK,QAAQ,EACxB,WAAY,KAAK,eAAeA,CAAI,EACpC,WAAY,KAAK,eAAeA,CAAI,EACpC,cAAe,KAAK,kBAAkBA,CAAI,EAC1C,iBAAkB,KAAK,iBAAiBA,CAAI,EAC5C,eAAgB,KAAK,eAAeA,CAAI,EACxC,QAAS,KAAK,MAAM,aAAaA,EAAM,IAAI,IAAM,EACjD,UAAW,KAAK,MAAM,OAAOA,CAAI,IAAM,GAAK,KAAK,MAAM,OAAOA,CAAI,IAAM,EACxE,WAAY,KAAK,MAAM,OAAOA,CAAI,IAAM,EACxC,SAAU,KAAK,MAAM,OAAOA,CAAI,IAAM,CACxC,CAAC,EACD,KAAK,MAAM,QAAQA,EAAM,KAAK,MAAM,QAAQA,CAAI,EAAI,CAAC,EAGvD,OAAO1C,CACT,EAMA,cAAe,UAAyB,CACtC,IAAI4C,EAAY,KAAK,cAAgB,KAAK,YAAY,OAAS,KAAK,YAAY,WAChF,OAAO,KAAK,MAAM,iBAAiB,KAAK,MAAM,SAAS,KAAK,QAAQ,EAAGA,CAAS,CAClF,EAMA,aAAc,UAAwB,CACpC,IAAIC,EAAa,KAAK,YAAY,WAClC,MAAO,GAAG,OAAO,KAAK,MAAM,YAAY,KAAK,QAAQ,CAAC,EAAE,OAAOA,CAAU,CAC3E,EAMA,MAAO,UAAiB,CACtB,OAAO,KAAK,YAAY,KAAO,KAAK,YAAY,MAAQ,EAC1D,EAMA,kBAAmB,UAA6B,CAC9C,OAAO,KAAK,MAAQ,KAAK,oBAAoB,KAAK,aAAa,EAAI,KAAK,wBAAwB,KAAK,aAAa,CACpH,EAMA,mBAAoB,UAA8B,CAChD,OAAO,KAAK,MAAQ,KAAK,wBAAwB,KAAK,aAAa,EAAI,KAAK,oBAAoB,KAAK,aAAa,CACpH,CACF,EACA,QAAS,CACP,WAAY,SAAoBjc,EAAM,CACpC,GAAIA,EAAK,WACP,YAAK,MAAM,mBAAoBA,CAAI,EAC5B,GAGT,KAAK,MAAM,aAAcA,CAAI,CAC/B,EAKA,aAAc,UAAwB,CACpC,OAAO,KAAK,MAAM,SAAS,KAAK,QAAQ,CAC1C,EAKA,kBAAmB,UAA6B,CAC9C,KAAK,MAAM,mBAAmB,CAChC,EAMA,YAAa,SAAqBkc,EAAa,CAC7C,IAAIlc,EAAO,KAAK,SAChB,KAAK,MAAM,SAASA,EAAM,KAAK,MAAM,SAASA,CAAI,EAAIkc,CAAW,EACjE,KAAK,MAAM,eAAgBlc,CAAI,CACjC,EAKA,cAAe,UAAyB,CACjC,KAAK,wBAAwB,GAChC,KAAK,YAAY,EAAE,CAEvB,EAMA,wBAAyB,UAAmC,CAC1D,GAAI,CAAC,KAAK,eAAiB,CAAC,KAAK,cAAc,GAC7C,MAAO,GAGT,IAAIY,EAAI,KAAK,SACb,OAAO,KAAK,MAAM,SAAS,KAAK,cAAc,EAAE,GAAK,KAAK,MAAM,SAASA,CAAC,GAAK,KAAK,MAAM,YAAY,KAAK,cAAc,EAAE,GAAK,KAAK,MAAM,YAAYA,CAAC,CAC1J,EAKA,UAAW,UAAqB,CACzB,KAAK,oBAAoB,GAC5B,KAAK,YAAY,CAAE,CAEvB,EAMA,oBAAqB,UAA+B,CAClD,GAAI,CAAC,KAAK,eAAiB,CAAC,KAAK,cAAc,KAC7C,MAAO,GAGT,IAAIA,EAAI,KAAK,SACb,OAAO,KAAK,MAAM,SAAS,KAAK,cAAc,IAAI,GAAK,KAAK,MAAM,SAASA,CAAC,GAAK,KAAK,MAAM,YAAY,KAAK,cAAc,IAAI,GAAK,KAAK,MAAM,YAAYA,CAAC,CAC9J,EAOA,eAAgB,SAAwBkb,EAAM,CAC5C,OAAO,KAAK,cAAgB,KAAK,MAAM,aAAa,KAAK,aAAcA,CAAI,CAC7E,EAOA,eAAgB,SAAwB9b,EAAM,CAC5C,IAAIyJ,EAAQ,KAER0S,EAAgB,GAEpB,OAAI,OAAO,KAAK,eAAkB,YACzB,IAGL,OAAO,KAAK,cAAc,OAAU,aACtC,KAAK,cAAc,MAAM,QAAQ,SAAUvb,EAAG,CAC5C,GAAI6I,EAAM,MAAM,aAAazJ,EAAMY,CAAC,EAClC,OAAAub,EAAgB,GACT,EAEX,CAAC,EAGC,OAAO,KAAK,cAAc,IAAO,aAAe,KAAK,cAAc,IAAMnc,EAAO,KAAK,cAAc,KACrGmc,EAAgB,IAGd,OAAO,KAAK,cAAc,MAAS,aAAe,KAAK,cAAc,MAAQnc,EAAO,KAAK,cAAc,OACzGmc,EAAgB,IAGd,OAAO,KAAK,cAAc,QAAW,aACvC,KAAK,cAAc,OAAO,QAAQ,SAAUC,EAAO,CACjD,GAAI,OAAOA,EAAM,MAAS,aAAeA,EAAM,MAAQ,OAAOA,EAAM,IAAO,aAAeA,EAAM,IAC1Fpc,EAAOoc,EAAM,IAAMpc,EAAOoc,EAAM,KAClC,OAAAD,EAAgB,GACT,EAGb,CAAC,EAGC,OAAO,KAAK,cAAc,MAAS,aAAe,KAAK,cAAc,KAAK,QAAQ,KAAK,MAAM,OAAOnc,CAAI,CAAC,IAAM,KACjHmc,EAAgB,IAGd,OAAO,KAAK,cAAc,aAAgB,aAAe,KAAK,cAAc,YAAY,QAAQ,KAAK,MAAM,QAAQnc,CAAI,CAAC,IAAM,KAChImc,EAAgB,IAGd,OAAO,KAAK,cAAc,iBAAoB,YAAc,KAAK,cAAc,gBAAgBnc,CAAI,IACrGmc,EAAgB,IAGXA,EACT,EAOA,kBAAmB,SAA2Bnc,EAAM,CAClD,IAAI4P,EAAS,KAEb,GAAI,EAAE,KAAK,aAAe,KAAK,YAAY,kBAAoB,KAAK,eAAe5P,CAAI,EACrF,MAAO,GAGT,IAAIqc,EAAc,GAElB,OAAI,OAAO,KAAK,aAAgB,YACvB,IAGL,OAAO,KAAK,YAAY,OAAU,aACpC,KAAK,YAAY,MAAM,QAAQ,SAAUzb,EAAG,CAC1C,GAAIgP,EAAO,MAAM,aAAa5P,EAAMY,CAAC,EACnC,OAAAyb,EAAc,GACP,EAEX,CAAC,EAGC,KAAK,UAAU,KAAK,YAAY,IAAI,GAAK,KAAK,UAAU,KAAK,YAAY,EAAE,IAC7EA,EAAcrc,GAAQ,KAAK,YAAY,MAAQA,GAAQ,KAAK,YAAY,IAGtE,OAAO,KAAK,YAAY,MAAS,aAAe,KAAK,YAAY,KAAK,QAAQ,KAAK,MAAM,OAAOA,CAAI,CAAC,IAAM,KAC7Gqc,EAAc,IAGZ,OAAO,KAAK,YAAY,aAAgB,aAAe,KAAK,YAAY,YAAY,QAAQ,KAAK,MAAM,QAAQrc,CAAI,CAAC,IAAM,KAC5Hqc,EAAc,IAGZ,OAAO,KAAK,YAAY,iBAAoB,YAAc,KAAK,YAAY,gBAAgBrc,CAAI,IACjGqc,EAAc,IAGTA,EACT,EACA,WAAY,SAAoBvC,EAAK,CACnC,MAAO,CACL,SAAYA,EAAI,WAChB,SAAYA,EAAI,WAChB,YAAeA,EAAI,cACnB,MAASA,EAAI,QACb,QAAWA,EAAI,UACf,IAAOA,EAAI,WACX,IAAOA,EAAI,SACX,kBAAmBA,EAAI,iBACvB,gBAAiBA,EAAI,cACvB,CACF,EAQA,iBAAkB,SAA0B9Z,EAAM,CAChD,OAAO,KAAK,kBAAkBA,CAAI,GAAK,KAAK,YAAY,gBAAgB,MAAQ,KAAK,MAAM,YAAY,KAAK,YAAY,IAAI,IAAM,KAAK,MAAM,YAAYA,CAAI,GAAK,KAAK,MAAM,SAAS,KAAK,YAAY,IAAI,IAAM,KAAK,MAAM,SAASA,CAAI,GAAK,KAAK,MAAM,QAAQ,KAAK,YAAY,IAAI,IAAM,KAAK,MAAM,QAAQA,CAAI,CACrT,EAQA,eAAgB,SAAwBA,EAAM,CAC5C,OAAO,KAAK,kBAAkBA,CAAI,GAAK,KAAK,YAAY,cAAc,MAAQ,KAAK,MAAM,YAAY,KAAK,YAAY,EAAE,IAAM,KAAK,MAAM,YAAYA,CAAI,GAAK,KAAK,MAAM,SAAS,KAAK,YAAY,EAAE,IAAM,KAAK,MAAM,SAASA,CAAI,GAAK,KAAK,MAAM,QAAQ,KAAK,YAAY,EAAE,IAAM,KAAK,MAAM,QAAQA,CAAI,CAC7S,EAOA,UAAW,SAAmBsc,EAAM,CAClC,OAAO,OAAOA,GAAS,aAAeA,CACxC,CACF,CAEF,EAGA,MAAMC,GAAmBX,GAGzB,IAAIY,GAAmB,UAAW,CAChC,IAAIlV,EAAM,KACNC,EAAKD,EAAI,eACTE,EAAKF,EAAI,MAAM,IAAMC,EACzB,OAAOC,EACL,MACA,CACE,WAAY,CACV,CACE,KAAM,OACN,QAAS,SACT,MAAOF,EAAI,YACX,WAAY,aACd,CACF,EACA,MAAO,CAACA,EAAI,cAAe,0BAA0B,EACrD,MAAOA,EAAI,cACX,GAAI,CACF,UAAW,SAASG,EAAQ,CAC1BA,EAAO,eAAe,CACxB,CACF,CACF,EACA,CACEH,EAAI,GAAG,sBAAsB,EAC7BA,EAAI,GAAG,GAAG,EACVE,EAAG,SAAU,CACXA,EACE,OACA,CACE,YAAa,OACb,MAAO,CAAE,SAAUF,EAAI,iBAAkB,EACzC,GAAI,CACF,MAAO,SAASG,EAAQ,CACtBH,EAAI,MAAQA,EAAI,UAAU,EAAIA,EAAI,cAAc,CAClD,CACF,CACF,EACA,CAACA,EAAI,GAAG,GAAG,CAAC,CACd,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,OACA,CACE,YAAa,iBACb,MAAOF,EAAI,kBAAkB,OAAO,EAAI,KAAO,GAC/C,GAAI,CAAE,MAAOA,EAAI,iBAAkB,CACrC,EACA,CACEA,EAAI,GACFA,EAAI,GAAGA,EAAI,MAAQA,EAAI,aAAeA,EAAI,aAAa,EACrD,IACAA,EAAI,GAAGA,EAAI,MAAQA,EAAI,cAAgBA,EAAI,YAAY,CAC3D,CACF,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,OACA,CACE,YAAa,OACb,MAAO,CAAE,SAAUF,EAAI,kBAAmB,EAC1C,GAAI,CACF,MAAO,SAASG,EAAQ,CACtBH,EAAI,MAAQA,EAAI,cAAc,EAAIA,EAAI,UAAU,CAClD,CACF,CACF,EACA,CAACA,EAAI,GAAG,GAAG,CAAC,CACd,CACF,CAAC,EACDA,EAAI,GAAG,GAAG,EACVE,EACE,MACA,CAAE,MAAOF,EAAI,MAAQ,WAAa,EAAG,EACrC,CACEA,EAAI,GAAGA,EAAI,WAAY,SAAS1G,EAAG,CACjC,OAAO4G,EACL,OACA,CAAE,IAAK5G,EAAE,UAAW,YAAa,iBAAkB,EACnD,CAAC0G,EAAI,GAAGA,EAAI,GAAG1G,CAAC,CAAC,CAAC,CACpB,CACF,CAAC,EACD0G,EAAI,GAAG,GAAG,EACVA,EAAI,UAAY,EACZA,EAAI,GAAGA,EAAI,UAAW,SAAS1G,EAAG,CAChC,OAAO4G,EAAG,OAAQ,CAChB,IAAK5G,EAAE,UACP,YAAa,gBACf,CAAC,CACH,CAAC,EACD0G,EAAI,GAAG,EACXA,EAAI,GAAGA,EAAI,KAAM,SAASwS,EAAK,CAC7B,OAAOtS,EAAG,OAAQ,CAChB,IAAKsS,EAAI,UACT,YAAa,WACb,MAAOxS,EAAI,WAAWwS,CAAG,EACzB,SAAU,CAAE,UAAWxS,EAAI,GAAGA,EAAI,eAAewS,CAAG,CAAC,CAAE,EACvD,GAAI,CACF,MAAO,SAASrS,EAAQ,CACtB,OAAOH,EAAI,WAAWwS,CAAG,CAC3B,CACF,CACF,CAAC,CACH,CAAC,CACH,EACA,CACF,CACF,EACA,CACF,CACF,EACI2C,GAA4B,CAAC,EACjCD,GAAiB,cAAgB,GAgB/B,IAAIE,GAAYnB,GACd,CAAE,OAAQiB,GAAkB,gBAAiBC,EAA0B,EAdzC,OAgB9BF,GAdyB,OAIc,GAFL,OAgBlC,OACA,MACF,EAGEI,GAAW,CACb,MAAO,CACL,cAAe,QACf,aAAc,KACd,SAAU,KACV,cAAe,OACf,cAAe,OACf,cAAe,CAAC,OAAQ,OAAQ,KAAK,EACrC,cAAe,OACf,YAAa,OACb,MAAO,QACP,kBAAmB,SACnB,OAAQ,OACV,EACA,KAAM,UAAgB,CACpB,IAAIpC,EAAuBH,GAAc,KAAK,MAAM,EACpD,MAAO,CACL,MAAOG,CACT,CACF,EACA,SAAU,CACR,OAAQ,UAAkB,CAMxB,QALI3Z,EAAI,KAAK,SACTsY,EAAS,CAAC,EAEV4C,EAAO,KAAK,OAAS,IAAI,KAAK,KAAK,IAAIlb,EAAE,eAAe,EAAG,EAAGA,EAAE,WAAW,CAAC,CAAC,EAAI,IAAI,KAAKA,EAAE,YAAY,EAAG,EAAGA,EAAE,QAAQ,EAAGA,EAAE,SAAS,EAAGA,EAAE,WAAW,CAAC,EAElJmG,EAAI,EAAGA,EAAI,GAAIA,IACtBmS,EAAO,KAAK,CACV,MAAO,KAAK,MAAM,aAAanS,EAAG,KAAK,YAAY,MAAM,EACzD,UAAW+U,EAAK,QAAQ,EACxB,WAAY,KAAK,gBAAgBA,CAAI,EACrC,WAAY,KAAK,gBAAgBA,CAAI,CACvC,CAAC,EACD,KAAK,MAAM,SAASA,EAAM,KAAK,MAAM,SAASA,CAAI,EAAI,CAAC,EAGzD,OAAO5C,CACT,EAMA,aAAc,UAAwB,CACpC,IAAI+C,EAAa,KAAK,YAAY,WAClC,MAAO,GAAG,OAAO,KAAK,MAAM,YAAY,KAAK,QAAQ,CAAC,EAAE,OAAOA,CAAU,CAC3E,EAMA,kBAAmB,UAA6B,CAC9C,OAAO,KAAK,MAAQ,KAAK,mBAAmB,KAAK,aAAa,EAAI,KAAK,uBAAuB,KAAK,aAAa,CAClH,EAMA,mBAAoB,UAA8B,CAChD,OAAO,KAAK,MAAQ,KAAK,uBAAuB,KAAK,aAAa,EAAI,KAAK,mBAAmB,KAAK,aAAa,CAClH,CACF,EACA,QAAS,CAKP,YAAa,SAAqBrC,EAAO,CACvC,GAAIA,EAAM,WACR,MAAO,GAGT,KAAK,MAAM,cAAeA,CAAK,CACjC,EAMA,WAAY,SAAoBsC,EAAa,CAC3C,IAAIlc,EAAO,KAAK,SAChB,KAAK,MAAM,YAAYA,EAAM,KAAK,MAAM,YAAYA,CAAI,EAAIkc,CAAW,EACvE,KAAK,MAAM,cAAelc,CAAI,CAChC,EAKA,aAAc,UAAwB,CAC/B,KAAK,uBAAuB,GAC/B,KAAK,WAAW,EAAE,CAEtB,EAMA,uBAAwB,UAAkC,CACxD,MAAI,CAAC,KAAK,eAAiB,CAAC,KAAK,cAAc,GACtC,GAGF,KAAK,MAAM,YAAY,KAAK,cAAc,EAAE,GAAK,KAAK,MAAM,YAAY,KAAK,QAAQ,CAC9F,EAKA,SAAU,UAAoB,CACvB,KAAK,mBAAmB,GAC3B,KAAK,WAAW,CAAC,CAErB,EAMA,mBAAoB,UAA8B,CAChD,MAAI,CAAC,KAAK,eAAiB,CAAC,KAAK,cAAc,KACtC,GAGF,KAAK,MAAM,YAAY,KAAK,cAAc,IAAI,GAAK,KAAK,MAAM,YAAY,KAAK,QAAQ,CAChG,EAKA,iBAAkB,UAA4B,CAC5C,KAAK,MAAM,kBAAkB,CAC/B,EAOA,gBAAiB,SAAyBA,EAAM,CAC9C,OAAO,KAAK,cAAgB,KAAK,MAAM,YAAY,KAAK,YAAY,IAAM,KAAK,MAAM,YAAYA,CAAI,GAAK,KAAK,MAAM,SAAS,KAAK,YAAY,IAAM,KAAK,MAAM,SAASA,CAAI,CAC/K,EAOA,gBAAiB,SAAyBA,EAAM,CAC9C,IAAImc,EAAgB,GAEpB,OAAI,OAAO,KAAK,eAAkB,YACzB,IAGL,OAAO,KAAK,cAAc,IAAO,aAAe,KAAK,cAAc,KACjE,KAAK,MAAM,SAASnc,CAAI,EAAI,KAAK,MAAM,SAAS,KAAK,cAAc,EAAE,GAAK,KAAK,MAAM,YAAYA,CAAI,GAAK,KAAK,MAAM,YAAY,KAAK,cAAc,EAAE,GAAK,KAAK,MAAM,YAAYA,CAAI,EAAI,KAAK,MAAM,YAAY,KAAK,cAAc,EAAE,KACxOmc,EAAgB,IAIhB,OAAO,KAAK,cAAc,MAAS,aAAe,KAAK,cAAc,OACnE,KAAK,MAAM,SAASnc,CAAI,EAAI,KAAK,MAAM,SAAS,KAAK,cAAc,IAAI,GAAK,KAAK,MAAM,YAAYA,CAAI,GAAK,KAAK,MAAM,YAAY,KAAK,cAAc,IAAI,GAAK,KAAK,MAAM,YAAYA,CAAI,EAAI,KAAK,MAAM,YAAY,KAAK,cAAc,IAAI,KAC9Omc,EAAgB,IAIhB,OAAO,KAAK,cAAc,iBAAoB,YAAc,KAAK,cAAc,gBAAgBnc,CAAI,IACrGmc,EAAgB,IAGXA,EACT,CACF,CAEF,EAGA,MAAMS,GAAmBD,GAGzB,IAAIE,GAAmB,UAAW,CAChC,IAAIvV,EAAM,KACNC,EAAKD,EAAI,eACTE,EAAKF,EAAI,MAAM,IAAMC,EACzB,OAAOC,EACL,MACA,CACE,WAAY,CACV,CACE,KAAM,OACN,QAAS,SACT,MAAOF,EAAI,cACX,WAAY,eACd,CACF,EACA,MAAO,CAACA,EAAI,cAAe,0BAA0B,EACrD,MAAOA,EAAI,cACX,GAAI,CACF,UAAW,SAASG,EAAQ,CAC1BA,EAAO,eAAe,CACxB,CACF,CACF,EACA,CACEH,EAAI,GAAG,sBAAsB,EAC7BA,EAAI,GAAG,GAAG,EACVE,EAAG,SAAU,CACXA,EACE,OACA,CACE,YAAa,OACb,MAAO,CAAE,SAAUF,EAAI,iBAAkB,EACzC,GAAI,CACF,MAAO,SAASG,EAAQ,CACtBH,EAAI,MAAQA,EAAI,SAAS,EAAIA,EAAI,aAAa,CAChD,CACF,CACF,EACA,CAACA,EAAI,GAAG,GAAG,CAAC,CACd,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,OACA,CACE,YAAa,kBACb,MAAOF,EAAI,kBAAkB,MAAM,EAAI,KAAO,GAC9C,GAAI,CAAE,MAAOA,EAAI,gBAAiB,CACpC,EACA,CAACA,EAAI,GAAGA,EAAI,GAAGA,EAAI,YAAY,CAAC,CAAC,CACnC,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,OACA,CACE,YAAa,OACb,MAAO,CAAE,SAAUF,EAAI,kBAAmB,EAC1C,GAAI,CACF,MAAO,SAASG,EAAQ,CACtBH,EAAI,MAAQA,EAAI,aAAa,EAAIA,EAAI,SAAS,CAChD,CACF,CACF,EACA,CAACA,EAAI,GAAG,GAAG,CAAC,CACd,CACF,CAAC,EACDA,EAAI,GAAG,GAAG,EACVA,EAAI,GAAGA,EAAI,OAAQ,SAASsS,EAAO,CACjC,OAAOpS,EACL,OACA,CACE,IAAKoS,EAAM,UACX,YAAa,aACb,MAAO,CAAE,SAAUA,EAAM,WAAY,SAAUA,EAAM,UAAW,EAChE,GAAI,CACF,MAAO,SAASnS,EAAQ,CACtB,OAAAA,EAAO,gBAAgB,EAChBH,EAAI,YAAYsS,CAAK,CAC9B,CACF,CACF,EACA,CAACtS,EAAI,GAAGA,EAAI,GAAGsS,EAAM,KAAK,CAAC,CAAC,CAC9B,CACF,CAAC,CACH,EACA,CACF,CACF,EACIkD,GAA4B,CAAC,EACjCD,GAAiB,cAAgB,GAgB/B,IAAIE,GAAcxB,GAChB,CAAE,OAAQsB,GAAkB,gBAAiBC,EAA0B,EAdzC,OAgB9BF,GAdyB,OAIc,GAFL,OAgBlC,OACA,MACF,EAGEI,GAAW,CACb,MAAO,CACL,aAAc,QACd,aAAc,KACd,SAAU,KACV,cAAe,OACf,cAAe,OACf,YAAa,OACb,cAAe,CAAC,OAAQ,OAAQ,KAAK,EACrC,cAAe,OACf,YAAa,OACb,MAAO,QACP,kBAAmB,SACnB,OAAQ,OACV,EACA,SAAU,CACR,MAAO,UAAiB,CAMtB,QALIpc,EAAI,KAAK,SACT+B,EAAQ,CAAC,EAETmZ,EAAO,KAAK,OAAS,IAAI,KAAK,KAAK,IAAI,KAAK,MAAMlb,EAAE,eAAe,EAAI,EAAE,EAAI,GAAIA,EAAE,YAAY,EAAGA,EAAE,WAAW,CAAC,CAAC,EAAI,IAAI,KAAK,KAAK,MAAMA,EAAE,YAAY,EAAI,EAAE,EAAI,GAAIA,EAAE,SAAS,EAAGA,EAAE,QAAQ,EAAGA,EAAE,SAAS,EAAGA,EAAE,WAAW,CAAC,EAEvNmG,EAAI,EAAGA,EAAI,GAAIA,IACtBpE,EAAM,KAAK,CACT,KAAM,KAAK,MAAM,YAAYmZ,CAAI,EACjC,UAAWA,EAAK,QAAQ,EACxB,WAAY,KAAK,eAAeA,CAAI,EACpC,WAAY,KAAK,eAAeA,CAAI,CACtC,CAAC,EACD,KAAK,MAAM,YAAYA,EAAM,KAAK,MAAM,YAAYA,CAAI,EAAI,CAAC,EAG/D,OAAOnZ,CACT,EAKA,cAAe,UAAyB,CACtC,IAAIsa,EAAc,KAAK,MAAM,KAAK,MAAM,YAAY,KAAK,QAAQ,EAAI,EAAE,EAAI,GACvEC,EAAYD,EAAc,EAC1BhB,EAAa,KAAK,YAAY,WAClC,MAAO,GAAG,OAAOgB,EAAa,KAAK,EAAE,OAAOC,CAAS,EAAE,OAAOjB,CAAU,CAC1E,EAMA,kBAAmB,UAA6B,CAC9C,OAAO,KAAK,MAAQ,KAAK,qBAAqB,KAAK,aAAa,EAAI,KAAK,yBAAyB,KAAK,aAAa,CACtH,EAMA,mBAAoB,UAA8B,CAChD,OAAO,KAAK,MAAQ,KAAK,yBAAyB,KAAK,aAAa,EAAI,KAAK,qBAAqB,KAAK,aAAa,CACtH,CACF,EACA,KAAM,UAAgB,CACpB,IAAI1B,EAAuBH,GAAc,KAAK,MAAM,EACpD,MAAO,CACL,MAAOG,CACT,CACF,EACA,QAAS,CACP,WAAY,SAAoBV,EAAM,CACpC,GAAIA,EAAK,WACP,MAAO,GAGT,KAAK,MAAM,aAAcA,CAAI,CAC/B,EACA,WAAY,SAAoBqC,EAAa,CAC3C,IAAIlc,EAAO,KAAK,SAChB,KAAK,MAAM,YAAYA,EAAM,KAAK,MAAM,YAAYA,CAAI,EAAIkc,CAAW,EACvE,KAAK,MAAM,gBAAiBlc,CAAI,CAClC,EACA,eAAgB,UAA0B,CACxC,GAAI,KAAK,yBAAyB,EAChC,MAAO,GAGT,KAAK,WAAW,GAAG,CACrB,EACA,yBAA0B,UAAoC,CAC5D,GAAI,CAAC,KAAK,eAAiB,CAAC,KAAK,cAAc,GAC7C,MAAO,GAGT,IAAImd,EAAe,KAAK,MAAM,YAAY,KAAK,cAAc,EAAE,EAC3DC,EAAyB,KAAK,MAAM,KAAK,MAAM,YAAY,KAAK,QAAQ,EAAI,EAAE,EAAI,GAAK,EAC3F,OAAOD,EAAeC,CACxB,EACA,WAAY,UAAsB,CAChC,GAAI,KAAK,qBAAqB,EAC5B,MAAO,GAGT,KAAK,WAAW,EAAE,CACpB,EACA,qBAAsB,UAAgC,CACpD,GAAI,CAAC,KAAK,eAAiB,CAAC,KAAK,cAAc,KAC7C,MAAO,GAGT,IAAID,EAAe,KAAK,MAAM,YAAY,KAAK,cAAc,IAAI,EAC7DE,EAAsB,KAAK,KAAK,KAAK,MAAM,YAAY,KAAK,QAAQ,EAAI,EAAE,EAAI,GAClF,OAAOF,EAAeE,CACxB,EAOA,eAAgB,SAAwBrd,EAAM,CAC5C,OAAO,KAAK,cAAgB,KAAK,MAAM,YAAY,KAAK,YAAY,IAAM,KAAK,MAAM,YAAYA,CAAI,CACvG,EAOA,eAAgB,SAAwBA,EAAM,CAC5C,IAAImc,EAAgB,GAEpB,OAAI,OAAO,KAAK,eAAkB,aAAe,CAAC,KAAK,cAC9C,IAGL,OAAO,KAAK,cAAc,IAAO,aAAe,KAAK,cAAc,IACjE,KAAK,MAAM,YAAYnc,CAAI,EAAI,KAAK,MAAM,YAAY,KAAK,cAAc,EAAE,IAC7Emc,EAAgB,IAIhB,OAAO,KAAK,cAAc,MAAS,aAAe,KAAK,cAAc,MACnE,KAAK,MAAM,YAAYnc,CAAI,EAAI,KAAK,MAAM,YAAY,KAAK,cAAc,IAAI,IAC/Emc,EAAgB,IAIhB,OAAO,KAAK,cAAc,iBAAoB,YAAc,KAAK,cAAc,gBAAgBnc,CAAI,IACrGmc,EAAgB,IAGXA,EACT,CACF,CAEF,EAGA,MAAMmB,GAAmBN,GAGzB,IAAIO,GAAmB,UAAW,CAChC,IAAIjW,EAAM,KACNC,EAAKD,EAAI,eACTE,EAAKF,EAAI,MAAM,IAAMC,EACzB,OAAOC,EACL,MACA,CACE,WAAY,CACV,CACE,KAAM,OACN,QAAS,SACT,MAAOF,EAAI,aACX,WAAY,cACd,CACF,EACA,MAAO,CAACA,EAAI,cAAe,0BAA0B,EACrD,MAAOA,EAAI,cACX,GAAI,CACF,UAAW,SAASG,EAAQ,CAC1BA,EAAO,eAAe,CACxB,CACF,CACF,EACA,CACEH,EAAI,GAAG,sBAAsB,EAC7BA,EAAI,GAAG,GAAG,EACVE,EAAG,SAAU,CACXA,EACE,OACA,CACE,YAAa,OACb,MAAO,CAAE,SAAUF,EAAI,iBAAkB,EACzC,GAAI,CACF,MAAO,SAASG,EAAQ,CACtBH,EAAI,MAAQA,EAAI,WAAW,EAAIA,EAAI,eAAe,CACpD,CACF,CACF,EACA,CAACA,EAAI,GAAG,GAAG,CAAC,CACd,EACAA,EAAI,GAAG,GAAG,EACVE,EAAG,OAAQ,CAACF,EAAI,GAAGA,EAAI,GAAGA,EAAI,aAAa,CAAC,CAAC,CAAC,EAC9CA,EAAI,GAAG,GAAG,EACVE,EACE,OACA,CACE,YAAa,OACb,MAAO,CAAE,SAAUF,EAAI,kBAAmB,EAC1C,GAAI,CACF,MAAO,SAASG,EAAQ,CACtBH,EAAI,MAAQA,EAAI,eAAe,EAAIA,EAAI,WAAW,CACpD,CACF,CACF,EACA,CAACA,EAAI,GAAG,GAAG,CAAC,CACd,CACF,CAAC,EACDA,EAAI,GAAG,GAAG,EACVA,EAAI,GAAGA,EAAI,MAAO,SAASuS,EAAM,CAC/B,OAAOrS,EACL,OACA,CACE,IAAKqS,EAAK,UACV,YAAa,YACb,MAAO,CAAE,SAAUA,EAAK,WAAY,SAAUA,EAAK,UAAW,EAC9D,GAAI,CACF,MAAO,SAASpS,EAAQ,CACtB,OAAAA,EAAO,gBAAgB,EAChBH,EAAI,WAAWuS,CAAI,CAC5B,CACF,CACF,EACA,CAACvS,EAAI,GAAGA,EAAI,GAAGuS,EAAK,IAAI,CAAC,CAAC,CAC5B,CACF,CAAC,CACH,EACA,CACF,CACF,EACI2D,GAA4B,CAAC,EACjCD,GAAiB,cAAgB,GAgB/B,IAAIE,GAAalC,GACf,CAAE,OAAQgC,GAAkB,gBAAiBC,EAA0B,EAdzC,OAgB9BF,GAdyB,OAIc,GAFL,OAgBlC,OACA,MACF,EAGEI,GAAW,CACb,WAAY,CACV,UAAW/B,GACX,UAAWe,GACX,YAAaK,GACb,WAAYU,EACd,EACA,MAAO,CACL,MAAO,CACL,UAAW,SAAmBroB,EAAK,CACjC,OAAOilB,GAAQ,kBAAkBjlB,CAAG,CACtC,CACF,EACA,KAAM,OACN,QAAS,OACT,GAAI,OACJ,OAAQ,CACN,KAAM,CAAC,OAAQ,QAAQ,EACvB,QAAW,aACb,EACA,SAAU,CACR,KAAM,OACN,QAAW,UAAoB,CAC7B,OAAOikB,EACT,CACF,EACA,SAAU,CACR,UAAW,SAAmBjkB,EAAK,CACjC,OAAOilB,GAAQ,kBAAkBjlB,CAAG,CACtC,CACF,EACA,eAAgB,SAChB,cAAe,QACf,cAAe,OACf,YAAa,OACb,YAAa,OACb,OAAQ,QACR,cAAe,CAAC,OAAQ,OAAQ,KAAK,EACrC,WAAY,CAAC,OAAQ,OAAQ,KAAK,EAClC,aAAc,CAAC,OAAQ,OAAQ,KAAK,EACpC,YAAa,QACb,YAAa,QACb,gBAAiB,OACjB,eAAgB,QAChB,mBAAoB,OACpB,0BAA2B,OAC3B,iBAAkB,QAClB,YAAa,OACb,SAAU,QACV,SAAU,QACV,SAAU,QACV,OAAQ,QACR,YAAa,CACX,KAAM,OACN,QAAW,KACb,EACA,YAAa,CACX,KAAM,OACN,QAAW,MACb,CACF,EACA,KAAM,UAAgB,CACpB,IAAIuoB,EAAY,KAAK,SAAW,IAAI,KAAK,KAAK,QAAQ,EAAI,IAAI,KAC1DpD,EAAuBH,GAAc,KAAK,MAAM,EAChDwD,EAAgBrD,EAAqB,QAAQoD,EAAW,CAAC,EAC7D,MAAO,CAML,cAAeC,EAMf,aAAc,KAMd,YAAa,GACb,cAAe,GACf,aAAc,GAKd,eAAgB,EAChB,eAAgB,IAAI,KACpB,MAAOrD,CACT,CACF,EACA,MAAO,CACL,MAAO,SAAesD,EAAQ,CAC5B,KAAK,SAASA,CAAM,CACtB,EACA,SAAU,UAAoB,CAC5B,KAAK,YAAY,CACnB,EACA,YAAa,UAAuB,CAClC,KAAK,eAAe,CACtB,CACF,EACA,SAAU,CACR,oBAAqB,UAA+B,CAClD,OAAK,KAAK,YAIH,KAAK,YAHH,KAAK,WAIhB,EACA,SAAU,UAAoB,CAC5B,OAAO,IAAI,KAAK,KAAK,aAAa,CACpC,EACA,YAAa,UAAuB,CAClC,OAAO,KAAK,QACd,EACA,cAAe,UAAyB,CACtC,MAAO,CACL,SAAU,KAAK,SAAW,SAAW,MACvC,CACF,EACA,OAAQ,UAAkB,CACxB,OAAO,KAAK,aAAe,KAAK,eAAiB,KAAK,YACxD,EACA,SAAU,UAAoB,CAC5B,MAAO,CAAC,CAAC,KAAK,MAChB,EACA,MAAO,UAAiB,CACtB,OAAO,KAAK,YAAY,MAAQ,EAClC,CACF,EACA,QAAS,CAKP,qBAAsB,UAAgC,CACpD,GAAI,KAAK,eAAiB,KAAM,CAC9B,KAAK,YAAY,EACjB,MACF,CAEA,KAAK,YAAY,KAAK,YAAY,CACpC,EAMA,aAAc,UAAwB,CACpC,GAAI,KAAK,UAAY,KAAK,SACxB,MAAO,GAGT,GAAI,KAAK,OACP,OAAO,KAAK,MAAM,EAAI,EAGxB,KAAK,eAAe,CACtB,EAKA,eAAgB,UAA0B,CACxC,IAAIC,EAAc,KAAK,oBAEvB,GAAI,CAAC,KAAK,kBAAkBA,CAAW,EACrC,MAAM,IAAI,MAAM,gBAAgB,OAAO,KAAK,YAAa,yCAAyC,EAAE,OAAO,KAAK,YAAa,iBAAiB,EAAE,OAAO,KAAK,YAAa,GAAG,CAAC,EAG/K,OAAQA,EAAa,CACnB,IAAK,OACH,KAAK,iBAAiB,EACtB,MAEF,IAAK,QACH,KAAK,kBAAkB,EACvB,MAEF,QACE,KAAK,gBAAgB,EACrB,KACJ,CACF,EAOA,kBAAmB,SAA2BC,EAAM,CAClD,IAAIC,EAAQ,CAAC,MAAO,QAAS,MAAM,EAC/BC,EAAmBD,EAAM,QAAQ,KAAK,WAAW,EACjDE,EAAmBF,EAAM,QAAQ,KAAK,WAAW,EACjDG,EAAYH,EAAM,QAAQD,CAAI,EAClC,OAAOI,GAAaF,GAAoBE,GAAaD,CACvD,EAMA,gBAAiB,UAA2B,CAC1C,OAAK,KAAK,kBAAkB,KAAK,GAIjC,KAAK,MAAM,EACX,KAAK,YAAc,GACZ,IALE,EAMX,EAMA,kBAAmB,UAA6B,CAC9C,OAAK,KAAK,kBAAkB,OAAO,GAInC,KAAK,MAAM,EACX,KAAK,cAAgB,GACd,IALE,EAMX,EAMA,iBAAkB,UAA4B,CAC5C,OAAK,KAAK,kBAAkB,MAAM,GAIlC,KAAK,MAAM,EACX,KAAK,aAAe,GACb,IALE,EAMX,EAMA,QAAS,SAAiBE,EAAW,CACnC,IAAIpe,EAAO,IAAI,KAAKoe,CAAS,EAC7B,KAAK,aAAepe,EACpB,KAAK,YAAYA,CAAI,EACrB,KAAK,MAAM,WAAYA,CAAI,EAC3B,KAAK,MAAM,QAASA,CAAI,CAC1B,EAKA,UAAW,UAAqB,CAC9B,KAAK,aAAe,KACpB,KAAK,YAAY,EACjB,KAAK,MAAM,WAAY,IAAI,EAC3B,KAAK,MAAM,QAAS,IAAI,EACxB,KAAK,MAAM,SAAS,CACtB,EAKA,WAAY,SAAoBA,EAAM,CACpC,KAAK,QAAQA,EAAK,SAAS,EAEtB,KAAK,UACR,KAAK,MAAM,EAAI,EAGjB,KAAK,eAAiB,IAAI,IAC5B,EAKA,mBAAoB,SAA4BA,EAAM,CACpD,KAAK,MAAM,mBAAoBA,CAAI,CACrC,EAKA,YAAa,SAAqB4Z,EAAO,CACvC,IAAI5Z,EAAO,IAAI,KAAK4Z,EAAM,SAAS,EAE/B,KAAK,kBAAkB,KAAK,GAC9B,KAAK,YAAY5Z,CAAI,EACrB,KAAK,MAAM,eAAgB4Z,CAAK,EAChC,KAAK,gBAAgB,GAErB,KAAK,WAAWA,CAAK,CAEzB,EAKA,WAAY,SAAoBC,EAAM,CACpC,IAAI7Z,EAAO,IAAI,KAAK6Z,EAAK,SAAS,EAE9B,KAAK,kBAAkB,OAAO,GAChC,KAAK,YAAY7Z,CAAI,EACrB,KAAK,MAAM,cAAe6Z,CAAI,EAC9B,KAAK,kBAAkB,GAEvB,KAAK,WAAWA,CAAI,CAExB,EAMA,SAAU,SAAkB7Z,EAAM,CAChC,GAAI,OAAOA,GAAS,UAAY,OAAOA,GAAS,SAAU,CACxD,IAAIqe,EAAS,IAAI,KAAKre,CAAI,EAC1BA,EAAO,MAAMqe,EAAO,QAAQ,CAAC,EAAI,KAAOA,CAC1C,CAEA,GAAI,CAACre,EAAM,CACT,KAAK,YAAY,EACjB,KAAK,aAAe,KACpB,MACF,CAEA,KAAK,aAAeA,EACpB,KAAK,YAAYA,CAAI,CACvB,EAKA,YAAa,SAAqBA,EAAM,CACjCA,IACC,KAAK,SACPA,EAAO,IAAI,KAAK,KAAK,QAAQ,EAE7BA,EAAO,IAAI,MAIf,KAAK,cAAgB,KAAK,MAAM,QAAQ,IAAI,KAAKA,CAAI,EAAG,CAAC,CAC3D,EAKA,gCAAiC,SAAyCA,EAAM,CAC9E,KAAK,YAAYA,CAAI,EACrB,KAAK,MAAM,eAAgBA,CAAI,CACjC,EAKA,aAAc,SAAsBA,EAAM,CACxC,KAAK,QAAQA,EAAK,QAAQ,CAAC,CAC7B,EAMA,MAAO,SAAese,EAAW,CAC/B,KAAK,YAAc,KAAK,cAAgB,KAAK,aAAe,GAEvD,KAAK,WACJA,GACF,KAAK,MAAM,QAAQ,EAGrB,SAAS,oBAAoB,QAAS,KAAK,aAAc,EAAK,EAElE,EAKA,KAAM,UAAgB,CAChB,KAAK,OACP,KAAK,SAAS,KAAK,KAAK,EAGtB,KAAK,UACP,KAAK,eAAe,CAExB,CACF,EACA,QAAS,UAAmB,CAC1B,KAAK,KAAK,CACZ,CACF,EAGIC,GAAU,OAAO,WAAc,aAAe,gBAAgB,KAAK,UAAU,UAAU,YAAY,CAAC,EACxG,SAASvD,GAAerH,EAAS,CAC/B,OAAO,SAAU7O,EAAI6V,EAAO,CAC1B,OAAO6D,GAAS1Z,EAAI6V,CAAK,CAC3B,CACF,CACA,IAAI8D,GAAO,SAAS,MAAQ,SAAS,qBAAqB,MAAM,EAAE,CAAC,EAC/DC,GAAS,CAAC,EAEd,SAASF,GAAS1Z,EAAI6Z,EAAK,CACzB,IAAIC,EAAQL,GAAUI,EAAI,OAAS,UAAY7Z,EAC3C6V,EAAQ+D,GAAOE,CAAK,IAAMF,GAAOE,CAAK,EAAI,CAC5C,IAAK,IAAI,IACT,OAAQ,CAAC,CACX,GAEA,GAAI,CAACjE,EAAM,IAAI,IAAI7V,CAAE,EAAG,CACtB6V,EAAM,IAAI,IAAI7V,CAAE,EAChB,IAAI6I,EAAOgR,EAAI,OAiBf,GAfIA,EAAI,MAGNhR,GAAQ;AAAA,gBAAqBgR,EAAI,IAAI,QAAQ,CAAC,EAAI,MAElDhR,GAAQ;AAAA,oDAAyD,KAAK,SAAS,mBAAmB,KAAK,UAAUgR,EAAI,GAAG,CAAC,CAAC,CAAC,EAAI,OAG5HhE,EAAM,UACTA,EAAM,QAAU,SAAS,cAAc,OAAO,EAC9CA,EAAM,QAAQ,KAAO,WACjBgE,EAAI,OAAOhE,EAAM,QAAQ,aAAa,QAASgE,EAAI,KAAK,EAC5DF,GAAK,YAAY9D,EAAM,OAAO,GAG5B,eAAgBA,EAAM,QACxBA,EAAM,OAAO,KAAKhN,CAAI,EACtBgN,EAAM,QAAQ,WAAW,QAAUA,EAAM,OAAO,OAAO,OAAO,EAAE,KAAK;AAAA,CAAI,MACpE,CACL,IAAI7c,EAAQ6c,EAAM,IAAI,KAAO,EACzBkE,EAAW,SAAS,eAAelR,CAAI,EACvCmR,EAAQnE,EAAM,QAAQ,WACtBmE,EAAMhhB,CAAK,GAAG6c,EAAM,QAAQ,YAAYmE,EAAMhhB,CAAK,CAAC,EACpDghB,EAAM,OAAQnE,EAAM,QAAQ,aAAakE,EAAUC,EAAMhhB,CAAK,CAAC,EAAO6c,EAAM,QAAQ,YAAYkE,CAAQ,CAC9G,CACF,CACF,CAEA,IAAIE,GAAU/D,GAGd,MAAMgE,GAAmBtB,GAGzB,IAAIuB,GAAmB,UAAW,CAChC,IAAI3X,EAAM,KACNC,EAAKD,EAAI,eACTE,EAAKF,EAAI,MAAM,IAAMC,EACzB,OAAOC,EACL,MACA,CACE,YAAa,iBACb,MAAO,CAACF,EAAI,aAAcA,EAAI,MAAQ,MAAQ,EAAE,CAClD,EACA,CACEE,EACE,aACA,CACE,MAAO,CACL,aAAcF,EAAI,aAClB,eAAgBA,EAAI,eACpB,OAAQA,EAAI,OACZ,YAAaA,EAAI,YACjB,OAAQA,EAAI,OACZ,GAAIA,EAAI,GACR,KAAMA,EAAI,KACV,QAASA,EAAI,QACb,SAAUA,EAAI,SACd,YAAaA,EAAI,YACjB,WAAYA,EAAI,WAChB,SAAUA,EAAI,SACd,YAAaA,EAAI,YACjB,gBAAiBA,EAAI,gBACrB,eAAgBA,EAAI,eACpB,mBAAoBA,EAAI,mBACxB,0BAA2BA,EAAI,0BAC/B,SAAUA,EAAI,SACd,SAAUA,EAAI,SACd,iBAAkBA,EAAI,iBACtB,UAAWA,EAAI,MACjB,EACA,GAAI,CACF,aAAcA,EAAI,aAClB,cAAeA,EAAI,MACnB,UAAWA,EAAI,aACf,UAAWA,EAAI,SACjB,CACF,EACA,CAACA,EAAI,GAAG,iBAAkB,KAAM,CAAE,KAAM,gBAAiB,CAAC,CAAC,EAC3D,CACF,EACAA,EAAI,GAAG,GAAG,EACVA,EAAI,kBAAkB,KAAK,EACvBE,EACE,aACA,CACE,MAAO,CACL,SAAUF,EAAI,SACd,aAAcA,EAAI,aAClB,YAAaA,EAAI,YACjB,cAAeA,EAAI,cACnB,kBAAmBA,EAAI,kBACvB,cAAeA,EAAI,cACnB,YAAaA,EAAI,YACjB,cAAeA,EAAI,cACnB,cAAeA,EAAI,cACnB,YAAaA,EAAI,YACjB,cAAeA,EAAI,cACnB,MAAOA,EAAI,MACX,YAAaA,EAAI,YACjB,eAAgBA,EAAI,eACpB,UAAWA,EAAI,MACjB,EACA,GAAI,CACF,aAAcA,EAAI,gCAClB,WAAYA,EAAI,WAChB,kBAAmBA,EAAI,kBACvB,iBAAkBA,EAAI,kBACxB,CACF,EACA,CACEA,EAAI,GAAG,uBAAwB,KAAM,CACnC,KAAM,sBACR,CAAC,CACH,EACA,CACF,EACAA,EAAI,GAAG,EACXA,EAAI,GAAG,GAAG,EACVA,EAAI,kBAAkB,OAAO,EACzBE,EACE,eACA,CACE,MAAO,CACL,SAAUF,EAAI,SACd,aAAcA,EAAI,aAClB,cAAeA,EAAI,cACnB,kBAAmBA,EAAI,kBACvB,cAAeA,EAAI,cACnB,cAAeA,EAAI,cACnB,cAAeA,EAAI,cACnB,YAAaA,EAAI,YACjB,MAAOA,EAAI,MACX,UAAWA,EAAI,MACjB,EACA,GAAI,CACF,YAAaA,EAAI,YACjB,iBAAkBA,EAAI,iBACtB,YAAaA,EAAI,WACnB,CACF,EACA,CACEA,EAAI,GAAG,uBAAwB,KAAM,CACnC,KAAM,sBACR,CAAC,CACH,EACA,CACF,EACAA,EAAI,GAAG,EACXA,EAAI,GAAG,GAAG,EACVA,EAAI,kBAAkB,MAAM,EACxBE,EACE,cACA,CACE,MAAO,CACL,SAAUF,EAAI,SACd,aAAcA,EAAI,aAClB,aAAcA,EAAI,aAClB,kBAAmBA,EAAI,kBACvB,cAAeA,EAAI,cACnB,cAAeA,EAAI,cACnB,cAAeA,EAAI,cACnB,YAAaA,EAAI,YACjB,MAAOA,EAAI,MACX,UAAWA,EAAI,MACjB,EACA,GAAI,CAAE,WAAYA,EAAI,WAAY,cAAeA,EAAI,WAAY,CACnE,EACA,CACEA,EAAI,GAAG,uBAAwB,KAAM,CACnC,KAAM,sBACR,CAAC,CACH,EACA,CACF,EACAA,EAAI,GAAG,CACb,EACA,CACF,CACF,EACI4X,GAA4B,CAAC,EACjCD,GAAiB,cAAgB,GAkB/B,IAAIE,GAAa5D,GACf,CAAE,OAAQ0D,GAAkB,gBAAiBC,EAA0B,EAhBzC,SAAUE,EAAQ,CAC3CA,GACLA,EAAO,oBAAqB,CAAE,OAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAA6jH,IAAK,CAAC,QAAU,EAAE,QAAU,CAAC,gBAAgB,EAAE,MAAQ,CAAC,EAAE,SAAW,gkCAAgkC,KAAO,iBAAiB,eAAiB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAA2jH,CAAC,EAAG,MAAO,MAAU,CAAC,CAEr2Q,EAcEJ,GAZyB,OAIc,GAFL,OAclCD,GACA,MACF,EAEF,GAAeI,G,wBCh4ER,MAAME,EAAgC,CAGzC,YAAYpF,EAAc,KAAMC,EAAY,KAAM,CAC9C,KAAK,MAAQD,EACb,KAAK,IAAMC,CACf,CACJ,CCVO,SAASoF,MAAmBnF,EAAe,CAC9C,OAAO,IAAI,KAAK,KAAK,IAAI,MAAM,KAAMA,CAAK,CAAC,CAC/C,CAEO,SAASoF,MAAiBpF,EAAe,CAC5C,OAAO,IAAI,KAAK,KAAK,IAAI,MAAM,KAAMA,CAAK,CAAC,CAC/C,CACO,SAASqF,GAAgBxf,EAAkB,CAC9C,OAAO,IAAI,KAAKA,CAAI,CACxB,CCDA,MAAMyf,EAAqB,CAKvB,YAAYC,EAAsC,KAAM,CAFxD,KAAO,uBAA+E,IAAI,IAGtF,KAAK,iBAAmBA,EACxB,KAAK,uBAAyB,KAAK,0BAA0B,CACjE,CAEQ,2BAAkF,CACtF,OAAO,IAAI,IAAI,CACX,CAAC,mBAAqC,IAAI,IAA4B,CAClE,CAACvtB,EAAiB,SAAUqtB,GAAgB,IAAI,KAAK,EAAE,QAAQ,KAAK,iBAAiB,qBAAqB,CAAC,CAAC,EAC5G,CAACrtB,EAAiB,QAASqtB,GAAgB,IAAI,KAAK,EAAE,QAAQ,KAAK,iBAAiB,4BAA4B,CAAC,CAAC,CACtH,CAAC,CAAC,EACF,CAAC,oBAAsC,IAAI,IAA4B,CACnE,CAACrtB,EAAiB,SAAUqtB,GAAgB,IAAI,KAAK,EAAE,QAAQ,KAAK,iBAAiB,sBAAsB,CAAC,CAAC,EAC7G,CAACrtB,EAAiB,QAASqtB,GAAgB,IAAI,KAAK,EAAE,QAAQ,KAAK,iBAAiB,6BAA6B,CAAC,CAAC,CACvH,CAAC,CAAC,EACF,CAAC,YAA8B,IAAI,IAA4B,CAC3D,CAACrtB,EAAiB,SAAUqtB,GAAgB,IAAI,KAAK,EAAE,QAAQ,KAAK,iBAAiB,cAAc,CAAC,CAAC,EACrG,CAACrtB,EAAiB,QAASqtB,GAAgB,IAAI,KAAK,EAAE,QAAQ,KAAK,iBAAiB,qBAAqB,CAAC,CAAC,CAC/G,CAAC,CAAC,CACN,CAAC,CACL,CAEA,2BAA2BG,EAA6Bnd,EAAkE,CACtH,OAAO,IAAI,IAAiC,CACxC,CAAC,mBAAqC,KAAK,yBAAyBmd,EAAkB,mBAAqCnd,CAAY,CAAC,EACxI,CAAC,oBAAsC,KAAK,yBAAyBmd,EAAkB,oBAAsCnd,CAAY,CAAC,EAC1I,CAAC,YAA8B,KAAK,yBAAyBmd,EAAkB,YAA8Bnd,CAAY,CAAC,CAC9H,CAAC,CACL,CAEA,yBAAyBmd,EAA6Brf,EAAoCkC,EAAyC,CAC/H,OAAOmd,EAAiB,KAAO,MAAQ,KAAK,yBAAyBrf,EAAgBkC,CAAY,EAAImd,EAAiB,GAC1H,CAEA,yBAAyBrf,EAAoCkC,EAAsC,CAhDvG,UAiDQ,OAAO,aAAK,yBAAL,cAA6B,IAAIlC,CAAc,IAA/C,cAAkD,IAAIkC,CAAY,IAAlE,OAAuE,IAAI,IACtF,CAEA,oBAAoBsB,EAAqC,CACrD,OAAO,KAAK,iBAAiB,wCACtBA,GAAA,YAAAA,EAAS,wBAAyB,OAClCA,GAAA,YAAAA,EAAS,sBAAsB,KAAK8b,GAAMA,EAAG,UAAY5sB,GAAa,cAAgB4sB,EAAG,UAAY5sB,GAAa,YAAY,EACzI,CAEA,oBAAoB8Q,EAAuC,CA1D/D,YA2DQ,IAAI+b,EAAY,IAAIR,GACpB,GAAI,CAAC,KAAK,oBAAoBvb,CAAO,EACjC,OAAO+b,EAGX,MAAMC,GAAkD,KAAAhc,EAAQ,wBAAR,cAA+B,OAAO8b,GAAMA,EAAG,UAAY5sB,GAAa,YAAY,IAApF,OAAyF,CAAC,EAC5I+sB,GAAkD,KAAAjc,EAAQ,wBAAR,cAA+B,OAAO8b,GAAMA,EAAG,UAAY5sB,GAAa,YAAY,IAApF,OAAyF,CAAC,EAC5IgtB,EAASF,EAAe,OAAS,EAAIA,EAAiBC,EAC5D,OAAIC,EAAO,OAAS,GAAKA,EAAO,KAAKJ,GAAMA,EAAG,MAAQ7sB,GAAS,QAAU6sB,EAAG,MAAQ7sB,GAAS,OAAO,GAAK,MACrG,QAAQ,MAAM,iDAAiDitB,GAAQ,EAChEH,IAGXG,EAAO,QAASJ,GAAsC,CAClD,MAAM7qB,EAAc6qB,EAAG,MAAQ7sB,GAAS,QAAU,QAAU,MACxD6sB,EAAG,UAAY5sB,GAAa,cAAgB4sB,EAAG,WAAa,KAC5DC,EAAU9qB,CAAG,EAAI,IAAI,KAAK6qB,EAAG,UAAY,GAAI,EAExCA,EAAG,UAAY5sB,GAAa,cAAgB4sB,EAAG,WAAa,OACjEC,EAAU9qB,CAAG,EAAI,IAAI,KAAK,EAAE,QAAQ6qB,EAAG,SAAS,EAExD,CAAC,EACGC,EAAU,QAAU,OACpBA,EAAU,MAAQL,GAAgB,IAAI,IAAM,GAGzCK,EACX,CAEA,aAAapgB,EAA8BigB,EAA6C,CAEpF,IAAIO,EAAM,EAAO,EAEbC,EAAiBR,EAAiB,eAClCjgB,EAAS,cAAgBtN,EAAiB,SAAWutB,EAAiB,uBAAyB,OAC/FQ,EAAiBR,EAAiB,uBAEtC,IAAIS,EAAyBT,EAAiB,uBAC1CjgB,EAAS,cAAgBtN,EAAiB,SAAWutB,EAAiB,+BAAiC,OACvGS,EAAyBT,EAAiB,+BAE9C,IAAIU,EAAwBV,EAAiB,sBACzCjgB,EAAS,cAAgBtN,EAAiB,SAAWutB,EAAiB,8BAAgC,OACtGU,EAAwBV,EAAiB,8BAE7C,IAAItG,EAAO8G,EAGP5f,EAAiBb,EAAS,eAC9B,OAAIa,GAAkB,mBAClB8Y,EAAOgH,GAEF9f,GAAkB,qBAAwCA,GAAkB,cACjF8Y,EAAO+G,GAIXF,EAAI,IAAI7G,EAAM,GAAG,EAGJ6G,EAAI,OAAO,YAAY,EAAI,eAE5C,CAEA,QAAQjgB,EAAoB,CAExB,IAAI6Z,EADI,EAAO7Z,EAAM,YAAY,EACpB,OAAO,MAAM,EAE1B,OADS,SAAS6Z,CAAI,CAE1B,CAEA,SAAS7Z,EAAoB,CAEzB,IAAI4Z,EADI,EAAO5Z,EAAM,YAAY,EACnB,OAAO,GAAG,EAExB,OADS,SAAS4Z,CAAK,EAAI,CAE/B,CAEA,OAAO5Z,EAAoB,CAEvB,IAAI8Z,EADI,EAAO9Z,EAAM,YAAY,EACrB,OAAO,IAAI,EAEvB,OADS,SAAS8Z,CAAG,CAEzB,CAEA,QAAQ9Z,EAAkB,CACtB,OAAO,IAAI,KAAK,KAAK,QAAQA,CAAI,EAAG,KAAK,SAASA,CAAI,EAAG,KAAK,OAAOA,CAAI,CAAC,CAC9E,CAMA,aAAaA,EAAYqgB,EAA6BC,EAAmC,CACrF,IAAIC,EAAa,EAAOvgB,EAAM,YAAY,EAAE,OAAO,UAAU,EAC7D,GAAIqgB,EAAkB,QAAQrgB,EAAK,OAAO,CAAC,IAAM,GAC7C,MAAO,GACX,GAAIsgB,IAAmB,KACnB,OAAOA,EAAe,QAAQC,CAAU,IAAM,EACtD,CACJ,C,qMC9IA,cAAQ,IAAO,EACf,UAAY,KAAgB,EAC5B,UAAY,KAAmB,EAE/B,oBAAc,oBAAqB,KAAe,EAIlD,MAAM,WAAgB9N,EAAe,CACjC,aAAc,CACV,MAAM,EACN,KAAK,WAAa,CACbhT,GAAiCA,EAAS,cAAc,QAAQ,IAChEA,GAAiCA,EAAS,cAAc,QAAQ,OAChEA,GAAiCA,EAAS,UAC1CA,GAAiCA,EAAS,cAC/C,EACA,KAAK,cAAgB,CAAC,QAAS,WAAY,SAAU,MAAO,gBAAiB,aAAc,YAAa,iBAAkB,kBAAmB,iBAAkB,kBAAmB,eAAgB,0BAA2B,mBAAmB,CACpP,CACJ,CACO,IAAI+gB,GAAkC,IAAI,GAGjD,MAAMC,GAAO,IAAI,KAAQ,CACrB,OAAQ,cACR,aAAc,GACd,sBAAuB,EAC3B,CAAC,EAsCD,IAAqBC,GAArB,cAAsD,SAAI,CAyEtD,aAAc,CACV,MAAM,EA5CV,qBAA0C7tB,GAC1C,wBAAgD,EAChD,sBAA4CV,EAC5C,yBAAkDiB,EAElD,eAAY,KAAK,SAAS,UAmB1B,oBAAyB,KACzB,iBAAsB,KAEtB,0BAA+B,KAC/B,uBAA4B,KAE5B,sBAA2B,KAC3B,yBAA8B,KAE9B,2BAAgC,KAChC,wBAA6B,KAI7B,qBAA2B,GAC3B,6CAAmD,GACnD,iDAAuD,GACvD,2BAAiC,GAI7B,KAAK,YAAc,KAAK,SACxB,KAAK,kBAAoB,KAAK,eAC9B,KAAK,eAAiB,KAAK,YAC3B,KAAK,iBAAmB,KAAK,cAC7B,KAAK,cAAgB,KAAK,WAC1B,KAAK,UAAY,KAAK,OACtB,KAAK,mBAAqB,KAAK,gBAC/B,KAAK,gBAAkB,KAAK,aAC5B,KAAK,kBAAoB,IAAIqsB,GAAqB,KAAK,gBAAgB,CAC3E,CAnFA,IAAI,kBAAsC,CAAE,OAAO,KAAK,OAAO,MAAM,gBAAkB,CACvF,IAAI,qBAA4C,CAAE,OAAO,KAAK,OAAO,MAAM,mBAAqB,CAChG,IAAI,UAAW,CAAE,OAAO,KAAK,OAAO,MAAM,QAAU,CACpD,IAAI,UAA+B,CAAE,OAAO,KAAK,OAAO,MAAM,QAAU,CACxE,IAAI,eAAyC,CAAE,OAAO,KAAK,OAAO,MAAM,SAAS,aAAe,CAChG,IAAI,mBAA0C,CAAE,OAAO,KAAK,OAAO,MAAM,SAAS,iBAAmB,CACrG,IAAI,UAA+B,CAAE,OAAO,KAAK,SAAS,QAAU,CACpE,IAAI,SAA6B,CAAE,OAAO,KAAK,SAAS,OAAS,CACjE,IAAI,UAAmB,CAAE,OAAO,KAAK,SAAS,cAAc,QAAQ,MAAQ,CAC5E,IAAI,gBAAyB,CAAE,OAAO,KAAK,SAAW,KAAK,SAAS,QAAQ,OAAS,EAAI,CACzF,IAAI,aAAsB,CAAE,OAAO,KAAK,SAAW,KAAK,SAAS,QAAQ,IAAM,EAAI,CACnF,IAAI,eAAwB,CAAE,OAAO,KAAK,QAAU,KAAK,QAAQ,QAAQ,OAAS,EAAI,CACtF,IAAI,YAAqB,CAAE,OAAO,KAAK,QAAU,KAAK,QAAQ,QAAQ,IAAM,EAAI,CAChF,IAAI,yBAAmC,CAAE,OAAO,KAAK,iBAAiB,qBAAuB,CAC7F,IAAI,QAAiB,CAAE,OAAO,KAAK,OAAO,MAAM,SAAS,cAAc,QAAQ,GAAK,CACpF,IAAI,iBAA0B,CAAE,OAAO,KAAK,UAAY,KAAK,SAAS,kBAAoB,KAAK,SAAS,iBAAiB,QAAU,KAAK,SAAS,iBAAiB,QAAQ,OAAS,EAAI,CACvL,IAAI,cAAuB,CAAE,OAAO,KAAK,UAAY,KAAK,SAAS,kBAAoB,KAAK,SAAS,iBAAiB,QAAU,KAAK,SAAS,iBAAiB,QAAQ,IAAM,EAAI,CACjL,IAAI,oBAA+B,CAAE,OAAO,KAAK,iBAAiB,kBAAmB,CACrF,IAAI,+BAAyC,CAAE,OAAO,KAAK,SAAS,cAAc,6BAA8B,CAChH,IAAI,mBAA4B,CAAE,OAAO,KAAK,SAAS,cAAc,iBAAmB,CAAE,IAAI,kBAAkB9oB,EAAe,CAAE,KAAK,SAAS,cAAc,kBAAoBA,CAAO,CACxL,IAAI,UAAmB,CAAE,OAAO,KAAK,SAAS,cAAc,QAAU,CAAE,IAAI,SAASA,EAAe,CAAE,KAAK,SAAS,cAAc,SAAWA,CAAO,CACpJ,IAAI,+BAAyC,CAAE,OAAO,KAAK,qBAAsB,CACjF,IAAI,sBAA2C,CAAE,OAAO,WAA6B,CACrF,IAAI,8BAAmD,CAAE,OAAO,mBAAqC,CACrG,IAAI,8BAAmD,CAAE,OAAO,kBAAoC,CAcpG,iBAAiBgqB,EAAIC,EAAI,CACrB,KAAK,OAAO,SAAS,cAAe,CAAE,IAAK,YAAa,MAAO,EAAO,OAAO,KAAK,SAAS,CAAC,EAAE,OAAO,YAAY,CAAE,CAAC,CACxH,CA8CA,iBAAkB,CACV,KAAK,oBAAoB,oCAAsC,IAC/D,KAAK,wCAA0C,GAC/C,KAAK,4CAA8C,GACnD,KAAK,OAAO,SAAS,cAAe,CAAE,IAAK,WAAY,MAAO,KAAK,QAAS,CAAC,EACxE,KAAK,IAAM,CACR,KAAK,gBAAkB,GACvB,KAAK,OAAO,SAAS,iCAAiC,EAAE,KAAK,IAAM,CAC/D,KAAK,gBAAkB,EAC3B,CAAC,CACL,CAAC,EAEb,CAGA,YAAa,CACT,KAAK,YAAc,KAAK,SACxB,QAAQ,IAAI,aAAe,KAAK,QAAQ,CAC5C,CAGA,aAAc,CACV,KAAK,kBAAoB,KAAK,cAClC,CAGA,aAAc,CACV,KAAK,iBAAmB,KAAK,aACjC,CAGA,mBAAoB,CAChB,KAAK,mBAAqB,KAAK,eACnC,CAGA,sBAAuB,CACnB,KAAK,gBAAkB,KAAK,YAChC,CAGA,UAAW,CACP,KAAK,UAAY,KAAK,MAC1B,CAEA,cAAcrc,EAAI,CACd,EAAE,qCAAqC,EAAE,WAAW,eAAe,EACnE,EAAE,yCAAyC,EAAE,WAAW,eAAe,CAC3E,CACA,eAAeA,EAAI,CACf,EAAE,iCAAiC,EAAE,WAAW,eAAe,EAC/D,EAAE,qCAAqC,EAAE,WAAW,eAAe,CACvE,CACA,IAAI,WAAY,CACZ,OAAO,KAAK,SAAS,aAAe1R,GAAgB,OACxD,CAEA,IAAI,cAAuB,CAEvB,IAAIotB,EAAM,EAAO,EAEbC,EAAiB,KAAK,iBAAiB,eACvC,KAAK,SAAS,cAAgB/tB,EAAiB,SAAW,KAAK,iBAAiB,uBAAyB,OACzG+tB,EAAiB,KAAK,iBAAiB,uBAE3C,IAAIC,EAAyB,KAAK,iBAAiB,uBAC/C,KAAK,SAAS,cAAgBhuB,EAAiB,SAAW,KAAK,iBAAiB,+BAAiC,OACjHguB,EAAyB,KAAK,iBAAiB,+BAEnD,IAAI/G,EAAO8G,EAGP5f,EAAiB,KAAK,SAAS,eACnC,GAAIA,GAAkB,kBAAqCA,GAAkB,iBAAoCA,GAAkB,YAC5HA,GAAkB,oBAAsC,CAC3D,IAAIugB,EAAS,MAAW,EACpBjgB,EAAI,MAAW,yBAAyB,EACxCigB,EAASjgB,IACTqf,EAAM,MAAW,yBAAyB,EAAE,MAAM,EAClDE,EAAyBA,EAAyB,GAEtD/G,EAAO+G,CACX,CAGA,OAAAF,EAAI,IAAI7G,EAAM,GAAG,EAGJ6G,EAAI,OAAO,YAAY,EAAI,eAE5C,CAEA,cAAe,CACX,IAAIa,EAAM,EAAO,EACjB,OAAAA,EAAI,IAAI,IAAK,EAAE,EACR,KAAK,UAAUA,CAAG,CAC7B,CAEA,IAAI,6BAAuC,CACvC,GAAI,KAAK,UAAY,MAAQ,KAAK,SAAS,mBACvC,QAASC,KAAe,KAAK,SAAS,kBAClC,GAAIA,EAAY,iBAAmB3tB,EAAoB,iBAAkB,MAAO,GAGxF,MAAO,EACX,CAEA,IAAI,0BAAmC,CACnC,GAAI,KAAK,4BAA6B,CAClC,GAAI,cAAc,WAAW,IAAI,EAC7B,MAAO,wIACX,GACS,cAAc,WAAW,IAAI,EAClC,MAAO,mKAGf,CACA,MAAO,EACX,CAEA,IAAI,kCAA2C,CAC3C,GAAI,CAAC,KAAK,4BAA6B,CACnC,GAAI,cAAc,WAAW,IAAI,EAC7B,MAAO,+EACX,GACS,cAAc,WAAW,IAAI,EAClC,MAAO,0GAEf,CACA,MAAO,EACX,CAEA,IAAI,cAAoB,CACpB,OAAI,KAAK,8BACE,CAAE,MAAO,KAAM,EAEnB,CAAE,MAAO,OAAQ,CAC5B,CAEA,uBAAwB,CAMpB,GALA,QAAQ,IAAI,0BAA0B,EACtC,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,OAAO,EAER,KAAK,SAAS,WAAa,KAAM,CACjC,IAAI4tB,EAAI,EAAO,KAAK,SAAS,SAAS,EAClCf,EAAM,EAAO,KAAK,aAAc,YAAY,EAChD,GAAIe,EAAE,SAASf,CAAG,EAAG,CACjB,IAAIgB,EAAUhB,EAAI,OAAO,YAAY,EACrC,KAAK,OAAO,SAAS,cAAe,CAAE,IAAK,YAAa,MAAOgB,CAAQ,CAAC,EACxE,KAAK,UAAYhB,EAAI,OAAO,CAChC,CACJ,CACI,KAAK,SAAS,gBAAkB,KAAK,8BACrC,KAAK,OAAO,SAAS,cAAe,CAAE,IAAK,kBAAmB,MAAO,CAAE,CAAC,CAEhF,CAEA,wBAAyB,CACrB,QAAQ,IAAI,2BAA2B,EAClC,KAAK,SAAS,iBAAmB7sB,EAAoB,QAAW,KAAK,SAAS,eAAiB,MAAQ,KAAK,SAAS,cAAc,QAAU,KAC9I,KAAK,SAAS,cAAiB,KAAK,SAAS,cAAgBjB,EAAiB,QAAW,KAAK,SAAS,MAAQ,KAAK,QAAQ,MAC5H,KAAK,OAAO,SAAS,cAAe,CAAE,IAAK,gBAAiB,MAAO,KAAK,SAAS,aAAc,CAAC,EAExG,CACA,SAAU,CAEN,IAAI0nB,EADI,EAAO,KAAK,aAAc,YAAY,EACjC,OAAO,MAAM,EAE1B,OADS,SAASA,CAAI,CAE1B,CACA,UAAW,CAEP,IAAID,EADI,EAAO,KAAK,aAAc,YAAY,EAChC,OAAO,GAAG,EAExB,OADS,SAASA,CAAK,EAAI,CAE/B,CACA,QAAS,CAEL,IAAIE,EADI,EAAO,KAAK,aAAc,YAAY,EAClC,OAAO,IAAI,EAEvB,OADS,SAASA,CAAG,CAEzB,CACA,UAAU9Z,EAAM,CACZ,IAAIY,EAAI,EAAOZ,EAAM,YAAY,EAC7B6Z,EAAO,SAASjZ,EAAE,OAAO,MAAM,CAAC,EAChCgZ,EAAQ,SAAShZ,EAAE,OAAO,GAAG,CAAC,EAAI,EAClCkZ,EAAM,SAASlZ,EAAE,OAAO,IAAI,CAAC,EACjC,OAAO,IAAI,KAAKiZ,EAAMD,EAAOE,CAAG,CACpC,CAEA,MAAO,CACH,MAAO,CACH,SAAU,KACV,QAAS,CACL,CAAE,KAAM,KAAK,GAAG,UAAO,EAAG,MAAO,OAAQ,EACzC,CAAE,KAAM,KAAK,GAAG,IAAI,EAAG,MAAO,IAAK,CACvC,EACA,iBAAkB,YACtB,CACJ,CAEA,4BAA4B5C,EAAkB7X,EAAgB,CAC1D,KAAK,UAAY6X,EACjB,KAAK,YAAc7X,EACnB,KAAK,OAAO,SAAS,cAAe,CAAE,IAAK,QAAS,MAAO6X,EAAU,OAAA7X,CAAe,CAAC,EAChF,KAAK,IAAM,CAAE,KAAK,OAAO,SAAS,+BAA+B,CAAG,CAAC,CAC9E,CAEA,4BAA4B8X,EAAgB9X,EAAgB,CACxD,KAAK,YAAc8X,EACnB,KAAK,eAAiB9X,EACtB,KAAK,OAAO,SAAS,cAAe,CAAE,IAAK,WAAY,MAAO8X,EAAQ,OAAA9X,CAAe,CAAC,EACjF,KAAK,IAAM,CAAE,KAAK,OAAO,SAAS,+BAA+B,CAAG,CAAC,CAC9E,CAEA,uBAAuB6X,EAAkB7X,EAAgB,CACrD,KAAK,eAAiB6X,EACtB,KAAK,kBAAoB7X,EACzB,KAAK,OAAO,SAAS,cAAe,CAAE,IAAK,MAAO,MAAO6X,EAAU,OAAA7X,CAAe,CAAC,CACvF,CAEA,uBAAuB8X,EAAgB9X,EAAgB,CACnD,KAAK,kBAAoB8X,EACzB,KAAK,qBAAuB9X,EAC5B,KAAK,OAAO,SAAS,cAAe,CAAE,IAAK,SAAU,MAAO8X,EAAQ,OAAA9X,CAAe,CAAC,CACxF,CAEA,sBAAsB6X,EAAkB7X,EAAgB,CACpD,KAAK,cAAgB6X,EACrB,KAAK,iBAAmB7X,EACxB,KAAK,OAAO,SAAS,cAAe,CAAE,IAAK,aAAc,MAAO6X,EAAU,OAAA7X,CAAe,CAAC,CAC9F,CAEA,sBAAsB8X,EAAgB9X,EAAgB,CAClD,KAAK,iBAAmB8X,EACxB,KAAK,oBAAsB9X,EAC3B,KAAK,OAAO,SAAS,cAAe,CAAE,IAAK,gBAAiB,MAAO8X,EAAQ,OAAA9X,CAAe,CAAC,CAC/F,CAEA,wBAAwB6X,EAAkB7X,EAAgB,CACtD,KAAK,gBAAkB6X,EACvB,KAAK,mBAAqB7X,EAC1B,KAAK,OAAO,SAAS,cAAe,CAAE,IAAK,sBAAuB,MAAO6X,EAAU,OAAA7X,CAAe,CAAC,CACvG,CAEA,wBAAwB8X,EAAgB9X,EAAgB,CACpD,KAAK,mBAAqB8X,EAC1B,KAAK,sBAAwB9X,EAC7B,KAAK,OAAO,SAAS,cAAe,CAAE,IAAK,yBAA0B,MAAO8X,EAAQ,OAAA9X,CAAe,CAAC,CACxG,CAEA,SAAU,CACN,KAAK,iBAAiB,KAAM,IAAI,EAEhC,EAAE,qCAAqC,EAAE,WAAW,eAAe,EACnE,EAAE,uCAAuC,EAAE,WAAW,eAAe,EACrE,EAAE,uBAAuB,EAAE,KAAK,aAAc,sDAAuC,EACrF,EAAE,qCAAqC,EAAE,WAAW,eAAe,EACnE,EAAE,yCAAyC,EAAE,WAAW,eAAe,EACvE,EAAE,iCAAiC,EAAE,WAAW,eAAe,EAC/D,EAAE,qCAAqC,EAAE,WAAW,eAAe,CACvE,CAEJ,EApUW,IADNwM,EAAK,GA3BW6U,GA4BV,gCAWP,IADC3U,EAAM,WAAW,GAtCD2U,GAuCjB,gCAgDA,IADC3U,EAAM,UAAU,GAtFA2U,GAuFjB,+BAeA,IADC3U,EAAM,UAAU,GArGA2U,GAsGjB,0BAMA,IADC3U,EAAM,gBAAgB,GA3GN2U,GA4GjB,2BAKA,IADC3U,EAAM,eAAe,GAhHL2U,GAiHjB,2BAKA,IADC3U,EAAM,iBAAiB,GArHP2U,GAsHjB,iCAKA,IADC3U,EAAM,cAAc,GA1HJ2U,GA2HjB,oCAKA,IADC3U,EAAM,QAAQ,GA/HE2U,GAgIjB,wBAhIiBA,GAArB,IApCC,EAAU,CACP,WAAY,CACR,mBAAkB,GAClB,mBAAkB,GAClB,mBAAkB,GAClB,WAAU,EACd,EACA,KAAAD,GACA,QAAS,CACL,KAAK9pB,EAAO,CACR,IAAIqqB,EAAI,EAAOrqB,CAAK,EACpB,OAAIqqB,EAAE,QAAQ,EACHA,EAAE,OAAO,YAAY,EACzBrqB,CACX,CACJ,EACA,SAAU,CACN,cAAe,UAAY,CACvB,MAAO,CACH,GAAI,IAAI,KAAK,KAAK,QAAQ,EAAG,KAAK,SAAS,EAAG,KAAK,OAAO,CAAC,EAC3D,KAAM,IAAI,KAAK,KAAK,aAAa,CAAC,EAClC,KAAM,CAAC,EAAG,CAAC,EACX,MAAO,KAAK,SAAS,IAAI8L,GAAK,KAAK,UAAU,EAAOA,EAAG,YAAY,CAAC,CAAC,CACzE,CACJ,EACA,mBAAoB,UAAY,CAC5B,GAAI,gBAAkB,KAClB,OAAO,MACX,GACS,gBAAkB,KACvB,OAAO,KAEf,CACJ,CACJ,CAAC,GAEoBie,EAAwB,EClFmH,OAAe,G,uBCA0J,GAAe,KCOpV,MAAY,KACd,GACA,GACA,GACA,GACA,KACA,KACA,IAEF,EAII,OAAO,IAAW,YAAY,GAAO,EAAS,EAElD,OAAe,GAAU,QCtBrB,GAAS,UAAY,CACvB,IAAIpZ,EAAM,KACNC,EAAKD,EAAI,eACTE,EAAKF,EAAI,MAAM,IAAMC,EACzB,OAAOC,EACL,MACA,CAAE,YAAa,KAAM,EACrB,CACEA,EACE,QACA,CAAE,MAAO,CAAE,GAAI,KAAM,GAAI,GAAI,CAAE,EAC/B,CACEA,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,IACjB,iBAAkB,OACpB,CACF,EACA,CACEA,EAAG,QAAS,CAAE,YAAa,uBAAwB,EAAG,CACpDF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,2BAAqB,CAAC,CAAC,CAC9C,CAAC,EACDA,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,aAAa,EAAI;AAAA,aAAgB,EACzDE,EAAG,oBAAqB,CACtB,MAAOF,EAAI,aACX,MAAO,CACL,KAAM,qBACN,GAAI,sBACJ,KAAM,IACR,CACF,CAAC,EACDA,EAAI,GAAG,GAAG,EACVA,EAAI,8BACAE,EACE,YACA,CACE,MAAO,CACL,OAAQ,sBACR,QAAS,UACT,UAAW,QACX,SAAU,OACZ,CACF,EACA,CACEF,EAAI,GACF;AAAA,kBACEA,EAAI,GACFA,EAAI,GACF,sDACF,CACF,EACA;AAAA,aACJ,CACF,CACF,EACAA,EAAI,GAAG,CACb,EACA,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,IACjB,iBAAkB,OACpB,CACF,EACA,CACEA,EAAG,QAAS,CAAE,YAAa,uBAAwB,EAAG,CACpDF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,0BAAoB,CAAC,CAAC,CAC7C,CAAC,EACDA,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,GAAG,MAAM,EAAEA,EAAI,SAAS,SAAS,CAAC,CAAC,CAC7D,CACF,EACAA,EAAI,GAAG,GAAG,EACVA,EAAI,SAAS,uBACTE,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,IACjB,iBAAkB,OACpB,CACF,EACA,CACEA,EAAG,QAAS,CAAE,YAAa,uBAAwB,EAAG,CACpDF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,kBAAkB,CAAC,CAAC,CAC3C,CAAC,EACDA,EAAI,GAAG,GAAG,EACVA,EAAI,SAAS,SAAS,QAAQ,OAC1BE,EAAG,OAAQ,CACTF,EAAI,GACFA,EAAI,GAAGA,EAAI,GAAG,MAAM,CAAC,EACnBA,EAAI,GAAGA,EAAI,SAAS,SAAS,QAAQ,MAAM,CAC/C,EACAE,EAAG,IAAI,CACT,CAAC,EACDF,EAAI,GAAG,EACXA,EAAI,GAAGA,EAAI,GAAGA,EAAI,iBAAiB,CAAC,CACtC,CACF,EACAA,EAAI,GAAG,EACXA,EAAI,GAAG,GAAG,EACVA,EAAI,yBACJA,EAAI,SAAS,yBACbA,EAAI,uBACAE,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,IACjB,iBAAkB,OACpB,CACF,EACA,CACEA,EAAG,QAAS,CAAE,YAAa,uBAAwB,EAAG,CACpDF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,gBAAgB,CAAC,CAAC,CACzC,CAAC,EACDA,EAAI,GAAG,GAAG,EACVA,EAAI,SAAS,iBAAiB,QAAQ,OAClCE,EAAG,OAAQ,CACTF,EAAI,GACFA,EAAI,GAAGA,EAAI,GAAG,MAAM,CAAC,EACnBA,EAAI,GAAGA,EAAI,SAAS,iBAAiB,QAAQ,MAAM,CACvD,EACAE,EAAG,IAAI,CACT,CAAC,EACDF,EAAI,GAAG,EACXA,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,sBAAsB,CAAC,CACjD,CACF,EACAA,EAAI,GAAG,CACb,EACA,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,QACA,CAAE,MAAO,CAAE,GAAI,KAAM,GAAI,GAAI,CAAE,EAC/B,CACEA,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,IACjB,gBAAiB,IACjB,iBAAkB,OACpB,CACF,EACA,CACEA,EAAG,QAAS,CAAE,YAAa,uBAAwB,EAAG,CACpDF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,0BAAoB,CAAC,CAAC,CAC7C,CAAC,EACDA,EAAI,GAAG,GAAG,EACVE,EAAG,OAAQ,CAACF,EAAI,GAAGA,EAAI,GAAGA,EAAI,cAAc,QAAQ,CAAC,CAAC,CAAC,CACzD,CACF,EACAA,EAAI,GAAG,GAAG,EACVA,EAAI,yBAA2BA,EAAI,SAAS,wBACxCE,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,IACjB,gBAAiB,IACjB,iBAAkB,OACpB,CACF,EACA,CACEA,EAAG,QAAS,CAAE,YAAa,uBAAwB,EAAG,CACpDF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,cAAc,CAAC,CAAC,CACvC,CAAC,EACDA,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,qBAAqB,CAAC,CAChD,CACF,EACAA,EAAI,GAAG,EACXA,EAAI,GAAG,GAAG,EACVA,EAAI,SAAS,iBAAmBA,EAAI,oBAAoB,MACpDE,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,IACjB,gBAAiB,GACjB,MAAO,GACP,cAAe,wBACf,iBAAkB,OACpB,CACF,EACA,CAACF,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,SAAS,aAAa,CAAC,CAAC,CACnD,EACAA,EAAI,GAAG,EACXA,EAAI,GAAG,GAAG,EACVA,EAAI,SAAS,iBACbA,EAAI,oBAAoB,gBACpBE,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,IACjB,gBAAiB,IACjB,MAAO,GACP,cAAe,wBACf,iBAAkB,OACpB,CACF,EACA,CAACF,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,8BAA8B,CAAC,CAAC,CAC3D,EACAA,EAAI,GAAG,CACb,EACA,CACF,CACF,EACA,CACF,CACF,EACI,GAAkB,CAAC,EACvB,GAAO,cAAgB,G,qMC5OvB,EAAQ,KAA6B,EAiBrC,cAAQ,IAAO,EACf,UAAY,KAAgB,EAC5B,UAAY,KAAmB,EAE/B,oBAAc,oBAAqB,KAAe,EAkBlD,IAAqB4Z,GAArB,cAA6D,SAAI,CAAjE,kCAUI,mBAAsCxP,GACtC,sBAA4Cvf,EAC5C,yBAAkDiB,CAAA,CAXlD,IAAI,kBAAsC,CAAE,OAAO,KAAK,OAAO,MAAM,gBAAkB,CACvF,IAAI,UAA+B,CAAE,OAAO,KAAK,OAAO,MAAM,QAAU,CACxE,IAAI,eAAyC,CAAE,OAAO,KAAK,SAAS,aAAe,CACnF,IAAI,UAA+B,CAAE,OAAO,KAAK,SAAS,QAAU,CACpE,IAAI,SAA6B,CAAE,OAAO,KAAK,SAAS,OAAS,CACjE,IAAI,yBAAmC,CAAE,OAAO,KAAK,iBAAiB,qBAAuB,CAC7F,IAAI,+BAAyC,CAAE,OAAO,KAAK,SAAS,cAAc,6BAA8B,CAChH,IAAI,iBAA0B,CAAE,OAAO,KAAK,UAAY,KAAK,SAAS,kBAAoB,KAAK,SAAS,iBAAiB,QAAU,KAAK,SAAS,iBAAiB,QAAQ,OAAS,EAAI,CAMvL,IAAI,eAAwB,CACxB,OAAOse,GAAc,eAAe,KAAK,cAAc,OAAO,CAClE,CAEA,IAAI,mBAA4B,CAC5B,OAAQ,KAAK,SAAS,cAAgBvf,EAAiB,QAAWuf,GAAc,eAAe,KAAK,QAAQ,OAAO,EAAIA,GAAc,eAAe,KAAK,SAAS,OAAO,CAC7K,CAEA,IAAI,wBAAiC,CACjC,OAAI,KAAK,SAAS,iBAAiB,mBAAqB,MAAQ,KAAK,SAAS,iBAAiB,mBAAqB,GACzG,KAAK,SAAS,iBAAiB,kBAAoB,KAAOA,GAAc,eAAe,KAAK,SAAS,iBAAiB,OAAO,EAEjIA,GAAc,eAAe,KAAK,SAAS,iBAAiB,OAAO,CAC9E,CAEA,IAAI,uBAAgC,CAChC,OAAOD,GAA+B,KAAK,SAAS,eAAe,CACvE,CAEA,IAAI,gCAAyC,CACzC,OAAI,KAAK,SAAS,iBAAiB,0BAA4B,MAAQ,KAAK,SAAS,iBAAiB,oBAAsB,KACjH,KAAK,SAAS,iBAAiB,wBAA0B,IAAM,KAAK,SAAS,iBAAiB,kBAG9F,EAEf,CAEA,IAAI,cAAuB,CACvB,OAAI,KAAK,8BACE,CAAE,MAAO,KAAM,EAEnB,CAAE,MAAO,OAAQ,CAC5B,CACJ,EAhDqByP,GAArB,IAhBC,EAAU,CACP,WAAY,CACR,gBAAe,GACf,oBAAmB,GACnB,oBAAmB,EACvB,EACA,QAAS,CACL,KAAKvqB,EAAO,CACR,IAAIqqB,EAAI,OAAOrqB,CAAK,EACpB,OAAIqqB,EAAE,QAAQ,EACHA,EAAE,OAAO,YAAY,EACzBrqB,CACX,CACJ,CACJ,CAAC,GAEoBuqB,EAA+B,ECvCoH,OAAe,G,uBCA0J,GAAe,KCO5V,MAAY,KACd,GACA,GACA,GACA,GACA,KACA,KACA,IAEF,EAII,OAAO,IAAW,YAAY,GAAO,EAAS,EAElD,OAAe,GAAU,QCtBrB,GAAS,UAAY,CACvB,IAAI5Z,EAAM,KACNC,EAAKD,EAAI,eACTE,EAAKF,EAAI,MAAM,IAAMC,EACzB,OAAOC,EAAG,MAAO,CACfA,EAAG,MAAO,CAAE,YAAa,mBAAoB,EAAG,CAC9CA,EAAG,MAAO,CAAE,YAAa,2CAA4C,EAAG,CACtEA,EAAG,KAAM,CAAE,YAAa,YAAa,EAAG,CACtCA,EAAG,OAAQ,CACT,YAAa,8CACb,SAAU,CAAE,YAAaF,EAAI,GAAGA,EAAI,MAAM,CAAE,CAC9C,CAAC,EACDA,EAAI,GAAG,GAAG,EACVE,EAAG,OAAQ,CAACF,EAAI,GAAGA,EAAI,GAAGA,EAAI,cAAc,CAAC,CAAC,CAAC,CAAC,CAClD,CAAC,EACDA,EAAI,GAAG,GAAG,EACVA,EAAI,UAAYA,EAAI,YAChBE,EACE,MACA,CAAE,YAAa,cAAe,EAC9B,CACEA,EACE,aACA,CACE,MAAO,CAAE,GAAIF,EAAI,GAAG,CAAC,CAAE,EACvB,MAAO,CACL,MAAOA,EAAI,SACX,SAAU,SAAU4F,EAAK,CACvB5F,EAAI,SAAW4F,CACjB,EACA,WAAY,UACd,CACF,EACA,CAAC5F,EAAI,GAAG,MAAM,CAAC,EACf,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,aACA,CACE,MAAO,CAAE,GAAIF,EAAI,GAAG,CAAC,CAAE,EACvB,MAAO,CACL,MAAOA,EAAI,YACX,SAAU,SAAU4F,EAAK,CACvB5F,EAAI,YAAc4F,CACpB,EACA,WAAY,aACd,CACF,EACA,CAAC5F,EAAI,GAAG,SAAS,CAAC,EAClB,CACF,CACF,EACA,CACF,EACAA,EAAI,GAAG,CACb,CAAC,CACH,CAAC,EACDA,EAAI,GAAG,GAAG,EACVA,EAAI,YACAE,EAAG,MAAO,CAAE,YAAa,gBAAiB,EAAG,CAC3CA,EACE,IACA,CACE,GAAI,CACF,MAAO,SAAUC,EAAQ,CACvB,OAAOH,EAAI,OAAO,CACpB,CACF,CACF,EACA,CACEA,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,SAAS,CAAC,EAAI,GAAG,EACtCE,EAAG,oBAAqB,CAAE,MAAO,CAAE,KAAM,MAAO,CAAE,CAAC,CACrD,EACA,CACF,CACF,CAAC,EACDF,EAAI,GAAG,EACXA,EAAI,GAAG,GAAG,EACVA,EAAI,UAAYA,EAAI,oBAAsBA,EAAI,YAAY,OACtDE,EAAG,MAAO,CAAE,YAAa,gBAAiB,EAAG,CAC3CA,EACE,IACA,CACE,GAAI,CACF,MAAO,SAAUC,EAAQ,CACvB,OAAOH,EAAI,QAAQ,CACrB,CACF,CACF,EACA,CACEA,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,OAAO,CAAC,EAAI,GAAG,EACpCE,EAAG,oBAAqB,CAAE,MAAO,CAAE,KAAM,mBAAoB,CAAE,CAAC,CAClE,EACA,CACF,CACF,CAAC,EACDF,EAAI,GAAG,CACb,CAAC,CACH,EACI,GAAkB,CAAC,EACvB,GAAO,cAAgB,G,qMzGhGvB,UAAY,MAAQ,KAAiB,EACrC,oBAAc,oBAAqB,KAAe,EAE3C,IAAK,IAAAgL,IACRA,EAAAA,EAAA,mBACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,qBAHQA,IAAA,IAAW,IAMX,IAAAC,IACRA,EAAAA,EAAA,mBACAA,EAAAA,EAAA,uBACAA,EAAAA,EAAA,qBAHQA,IAAA,IAAW,IASvB,IAAqB,GAArB,cAAgD,SAAI,CAuBhD,aAAc,CACV,MAAM,EAJV,iBAAkC,GAClC,iBAAkC,EAIlC,CAVA,QAAS,CAAC,CAGV,SAAU,CAAC,CASX,SAAU,CACV,CAEA,eAAwB,CAEpB,OADY,KAAK,MAAM,GAAG,KAAK,KAAK,CAExC,CAEA,IAAI,UAAW,CACX,OAAO,KAAK,MAAQ,CACxB,CACA,IAAI,SAAS5b,EAAW,CAExB,CAEA,IAAI,aAAc,CACd,OAAO,KAAK,MAAQ,CACxB,CACA,IAAI,YAAYA,EAAY,CAE5B,CAEA,GAAGiH,EAAoB,CACnB,MAAO,WAAaA,EAAM,IAAM,KAAK,MACzC,CACJ,EAjDI,IADCiO,EAAK,GAFW,GAGjB,qBAGA,IADCA,EAAK,GALW,GAMjB,sBAGA,IADCA,EAAK,CAAE,QAAS,CAAiB,CAAC,GARlB,GASjB,oBAGA,IADCA,EAAK,CAAE,QAAS,CAAoB,CAAC,GAXrB,GAYjB,kCAGA,IADCU,EAAK,GAdW,GAejB,sBAGA,IADCA,EAAK,GAjBW,GAkBjB,uBAlBiB,GAArB,IAHC,EAAU,CACX,CAAC,GAEoB,EAAkB,E0GvBmH,OAAe,G,uBCAiK,GAAe,KCQrV,MAAY,KACd,GACA,GACA,GACA,GACA,KACA,WACA,IAEF,EAII,OAAO,IAAW,YAAY,GAAO,EAAS,EAElD,OAAe,GAAU,Q,iMpCvBzB,EAAQ,KAA6B,EAkBrC,MAAM,WAAgBkG,EAAe,CACjC,aAAc,CACV,MAAM,EACN,KAAK,WAAa,CACbhT,GAAiCA,EAAS,SAAS,IACnDA,GAAiCA,EAAS,SAAS,UACnDA,GAAiCA,EAAS,SAAS,SACnDA,GAAiCA,EAAS,SAAS,KACxD,EACA,KAAK,cAAgB,CACjB,YACA,WACA,MACA,QACA,QACA,+BACA,8BACA,yBACA,2BACA,2BACA,+BACA,8BACA,yBACA,2BACA,0BACJ,CACJ,CACJ,CAEO,IAAI,GAA6B,IAAI,GAgCvB,GAArB,cAAiD,SAAI,CAgCjD,aAAc,CACV,MAAM,EAhBV,iBAAsB,GACtB,cAAmB,GAEnB,8BAAoC,GAEpC,qBAA2C,KAC3C,4BAAoD,KACpD,qBAAkB,EAUlB,CAjCA,IAAI,kBAAsC,CAAE,OAAO,KAAK,OAAO,MAAM,gBAAkB,CACvF,IAAI,UAA+B,CAAE,OAAO,KAAK,OAAO,MAAM,QAAU,CACxE,IAAI,UAA+B,CAAE,OAAO,KAAK,SAAS,QAAU,CACpE,IAAI,SAA6B,CAAE,OAAO,KAAK,SAAS,OAAS,CACjE,IAAI,8BAAwC,CAAE,OAAO,KAAK,SAAS,4BAA6B,CAChG,IAAI,8BAAwC,CAAE,OAAO,KAAK,OAAO,MAAM,eAAiB,CAExF,IAAI,kBAA8C,CAC9C,IAAI5G,EAAM,CAAC,EACX,YAAK,SAAS,iBAAiB,QAAQ4J,GAAK,CACnCoP,GAAmB,QAAQpP,CAAC,GAC7B5J,EAAI,KAAK4J,CAAC,CAClB,CAAC,EACM5J,CACX,CAeA,qBAAqB+Z,EAAiB,CAAC,CAMvC,qBAAsB,CAClB,GAAI,KAAK,kBAAoB,MAAQ,KAAK,iBAAiB,QAAU,EAAG,CACpE,QAAQ,MAAM,wCAAwC,EACtD,MACJ,CAEA,KAAK,uBAAyB,KAAK,kBAAoB,KACjD,KAAK,MAAM,KAAK,UAAU,KAAK,gBAAgB,CAAC,EAChD,CAAC,EAEP,KAAK,gBAAkB,IAAI1U,GAC3B,KAAK,uBAAuB,KAAK,KAAK,eAAe,EACrD,KAAK,yBAA2B,EACpC,CAEA,sBAAsB+E,EAA0C,CAE5D,IAAIsU,EAAM,KAAK,SAAS,iBAAiB,QAAQtU,CAAe,EAChE,KAAK,uBAAyB,KAAK,MAAM,KAAK,UAAU,KAAK,gBAAgB,CAAC,EAC9E,KAAK,gBAAkB,KAAK,uBAAuBsU,CAAG,EACtD,KAAK,yBAA2B,EACpC,CAEA,sBAAsBtU,EAA0C,CAC5D,QAAQ,IAAI,0BAA0B,EACtC,IAAIsU,EAAM,KAAK,uBAAuB,QAAQtU,CAAe,EAC7D,KAAK,uBAAuB,OAAOsU,EAAK,CAAC,EACzC,KAAK,OAAO,SAAS,sBAAuB,KAAK,sBAAsB,CAC3E,CAEA,MAAMC,EAAW9iB,EAAa,CAC1B,IAAIwQ,EAAO,OAAO,KAAK,IAAIsS,CAAM,EAC7BC,EAAS,CAAC,EACdvS,EAAK,QAASnQ,GAAQ,CAClB0iB,EAAO1iB,CAAG,EAAI,EAClB,CAAC,EACD,QAAS2iB,KAAKhjB,EACNA,EAAI,eAAegjB,CAAC,GAChBD,EAAOC,CAAC,IAAM,SACdhjB,EAAIgjB,CAAC,EAAI,OAIzB,CAEA,kBAAkBzU,EAA0C,CAIxD,KAAK,uBAAuB,QAAQR,GAAK,KAAK,MAAM1E,GAAkB0E,EAAE,OAAO,CAAC,EAChF,IAAIkV,EAAsC5F,GAAW,QAAQ,KAAK,uBAAyBD,GAAO,CAACD,GAAmB,QAAQC,CAAE,CAAC,EAIjI,KAAK,oBAAoB6F,CAAQ,CACrC,CAEA,mBAAmBC,EAAkCC,EAA2B,CAC5E,IAAIvU,EAAW,CACX,CAAE,IAAK,8BAAgCuU,EAAK,MAAOD,EAAQ,SAAU,EACrE,CAAE,IAAK,6BAA+BC,EAAK,MAAOD,EAAQ,QAAS,EACnE,CAAE,IAAK,wBAA0BC,EAAK,MAAOD,EAAQ,GAAI,EACzD,CAAE,IAAK,0BAA4BC,EAAK,MAAOD,EAAQ,KAAM,EAC7D,CAAE,IAAK,0BAA4BC,EAAK,MAAOD,EAAQ,KAAM,EAC7D,CAAE,IAAK,2BAA6BC,EAAK,MAAOD,EAAQ,QAAQ,OAAQ,OAAQA,EAAQ,QAAQ,MAAO,EACvG,CAAE,IAAK,wBAA0BC,EAAK,MAAOD,EAAQ,QAAQ,IAAK,OAAQA,EAAQ,QAAQ,MAAO,CACrG,EACA,OAAO,KAAK,OAAO,SAAS,eAAgBtU,CAAQ,CACxD,CAEA,oBAAoBwU,EAAqC,CACrD,IAAID,EAAM,EACN3R,EAAW,CAAC,EAChB4R,EAAS,QAASrV,GAA+B,CAC7CyD,EAAS,KAAK,KAAK,mBAAmBzD,EAAGoV,CAAG,CAAC,EAC7CA,GACJ,CAAC,EACD,KAAK,gBAAkB,GACvB,QAAQ,IAAI3R,CAAQ,EAAE,KAAK,IAAM,CAC7B,QAAQ,IAAI,gCAAgC,CAChD,CAAC,EAAE,MAAMzN,GAAK,CACV,QAAQ,MAAM,iCAAiC,EAC/C,QAAQ,IAAIA,CAAC,CACjB,CAAC,EAAE,QAAQ,IAAM,CACb,KAAK,gBAAkB,EAC3B,CAAC,CACL,CAEA,cAAe,CACX,IAAIma,EAAS,GAA2B,SAAS,KAAK,QAAQ,EAC9D,KAAK,qBAAqBA,CAAM,CACpC,CAEA,MAAO,CACH,MAAO,CACH,SAAU,KACV,QAAS,CACL,CAAE,MAAO,OAAQ,KAAM,KAAK,GAAG,uBAAuB,EAAG,SAAU,EAAK,EACxE,CAAE,MAAO,QAAS,KAAM,KAAK,GAAG,OAAO,CAAE,EACzC,CAAE,MAAO,QAAS,KAAM,KAAK,GAAG,QAAQ,CAAE,CAE9C,CACJ,CACJ,CACJ,EAjHW,IADN/G,EAAK,GA1BW,GA2BV,gCAGP,IADCU,EAAK,GA7BW,GA8BjB,oCA9BiB,GAArB,IA7BC,EAAU,CACP,WAAY,CACR,mBAAkB,GAClB,kBAAiB,GACjB,gBAAe,GACf,eAAc,GACd,oBAAmB,GACnB,qBAAoB,GACpB,iBAAkB,EACtB,EACA,SAAUvR,GAAS,CACf,iBAA0B,CACtB,IAAI+c,EAAW,KAAK,SAAS,YAI7B,IAHIA,IAAa,MAAQA,IAAa,MAClCA,EAAW,eAEXA,IAAa,KACb,OAAIA,EAAS,WAAW,IAAI,EACxBA,EAAW,QAGXA,EAAW,SAERA,CAEf,CACJ,CAAC,CACL,CAAC,GAEoB,EAAmB,E,qMe/ExC,EAAQ,KAAmC,EAY3C,MAAM,WAAgBtF,EAAe,CACjC,aAAc,CACV,MAAM,EACN,KAAK,WAAa,CACbhT,GAAiCA,EAAS,QAAQ,WAClDA,GAAiCA,EAAS,QAAQ,YAClDA,GAAiCA,EAAS,QAAQ,MAClDA,GAAiCA,EAAS,QAAQ,MAClDA,GAA0CA,EAAS,QAAQ,eAAe,OAAS,EAAIA,EAAS,QAAQ,eAAe,CAAC,EAAE,UAAY,KACtIA,GAA0CA,EAAS,QAAQ,eAAe,OAAS,EAAIA,EAAS,QAAQ,eAAe,CAAC,EAAE,SAAW,KACrIA,GAA0CA,EAAS,QAAQ,eAAe,OAAS,EAAIA,EAAS,QAAQ,eAAe,CAAC,EAAE,MAAQ,KAClIA,GAA0CA,EAAS,QAAQ,eAAe,OAAS,EAAIA,EAAS,QAAQ,eAAe,CAAC,EAAE,MAAQ,KAClIA,GAA0CA,EAAS,QAAQ,eAAe,OAAS,EAAIA,EAAS,QAAQ,eAAe,CAAC,EAAE,kBAAoB,IACnJ,EACA,KAAK,cAAgB,CAAC,aAAc,cAAe,QAAS,eAAgB,4BAA6B,6BAA8B,yBAA0B,wBAAwB,CAC7L,CACJ,CAEO,IAAI,GAA4B,IAAI,GAkCtB,GAArB,cAAgD,SAAI,CAYhD,aAAc,CACV,MAAM,CACV,CAbA,IAAI,UAA+B,CAAE,OAAO,KAAK,OAAO,MAAM,QAAU,CACxE,IAAI,SAA6B,CAAE,OAAO,KAAK,OAAO,MAAM,SAAS,OAAS,CAC9E,IAAI,8BAAwC,CAAE,OAAO,KAAK,SAAS,4BAA6B,CAChG,IAAI,kBAAsC,CAAE,OAAO,KAAK,OAAO,MAAM,gBAAkB,CAMvF,oBAAoBmT,EAAiB,CAAE,CAMvC,cAAe,CACX,IAAI/d,EAAuB,KAAK,QAC5Bid,EAAKjd,EAAE,eAAe,CAAC,EAYvB0iB,EAXS,CACT1iB,EAAE,YACFA,EAAE,WACFA,EAAE,MACFA,EAAE,MACFid,GAAM,KAAOA,EAAG,UAAY,KAC5BA,GAAM,KAAOA,EAAG,SAAW,KAC3BA,GAAM,KAAOA,EAAG,MAAQ,KACxBA,GAAM,KAAOA,EAAG,MAAQ,IAC5B,EAEiB,UAAUrP,GAAKA,GAAK,MAAQA,EAAE,SAAS,EAAE,QAAU,CAAC,EACrE,KAAK,oBAAoB8U,GAAO,EAAE,CAGtC,CACJ,EA5BW,IADN1L,EAAK,GANW,GAOV,gCAGP,IADCU,EAAK,GATW,GAUjB,mCAViB,GAArB,IAhCC,EAAU,CACP,WAAY,CACR,mBAAkB,GAClB,kBAAiB,GACjB,eAAc,EAClB,EACA,SAAUvR,GAAS,CACf,SAAW5G,GAA6BA,EAAM,SAC9C,QAAUA,GAA6BA,EAAM,SAAS,QACtD,uBAAyBA,GACrBA,EAAM,SAAS,QAAQ,gBAAkB,MAAQA,EAAM,SAAS,QAAQ,eAAe,QAAU,EAC3FA,EAAM,SAAS,QAAQ,eAAe,CAAC,EAAE,UACzC,KACV,sBAAwBA,GACpBA,EAAM,SAAS,QAAQ,gBAAkB,MAAQA,EAAM,SAAS,QAAQ,eAAe,QAAU,EAC3FA,EAAM,SAAS,QAAQ,eAAe,CAAC,EAAE,SACzC,KACV,mBAAqBA,GACjBA,EAAM,SAAS,QAAQ,gBAAkB,MAAQA,EAAM,SAAS,QAAQ,eAAe,QAAU,EAC3FA,EAAM,SAAS,QAAQ,eAAe,CAAC,EAAE,MACzC,KACV,mBAAqBA,GACjBA,EAAM,SAAS,QAAQ,gBAAkB,MAAQA,EAAM,SAAS,QAAQ,eAAe,QAAU,EAC3FA,EAAM,SAAS,QAAQ,eAAe,CAAC,EAAE,MACzC,KACV,kBAAoBA,GAChBA,EAAM,SAAS,QAAQ,gBAAkB,MAAQA,EAAM,SAAS,QAAQ,eAAe,QAAU,EAC3FA,EAAM,SAAS,QAAQ,eAAe,CAAC,EAAE,kBACzC,IACd,CAAC,CACL,CAAC,GAEoB,EAAkB,E,qMjF/CvC,MAAM,WAAgBqe,EAAe,CACjC,aAAc,CACV,MAAM,EACN,KAAK,WAAa,CACbhT,GAAiCA,EAAS,cAC/C,EACA,KAAK,cAAgB,CAAC,cAAc,CACxC,CACJ,CAEO,IAAI,GAA6B,IAAI,GAUvB,GAArB,cAAiD,SAAI,CAgCjD,aAAc,CACV,MAAM,EAhCV,sBAA4B,GAwB5B,sBAA4CtN,EAC5C,qBAA0CG,EAC1C,qBAA0C,EAC1C,wBAAgDW,EAChD,uBAA8CgM,GAC9C,uBAA8CK,EAI9C,CA9BA,IAAI,UAA+B,CAAE,OAAO,KAAK,OAAO,MAAM,QAAU,CACxE,IAAI,QAAiB,CAAE,OAAO,KAAK,OAAO,MAAM,SAAS,cAAc,QAAQ,GAAK,CACpF,IAAI,aAA+B,CAAE,OAAO,KAAK,OAAO,MAAM,SAAS,aAAe,CACtF,IAAI,YAAY3I,EAChB,CACI,KAAK,iBAAmB,GACxB,KAAK,OAAO,SAAS,cAAe,CAAE,IAAK,cAAe,MAAAA,EAAc,KAAM6J,GAAiB,UAAW,CAAC,EAAE,QAAQ,IAAM,CACvH,KAAK,iBAAmB,EAC5B,CAAC,CACL,CACA,IAAI,aAA+B,CAAE,OAAO,KAAK,OAAO,MAAM,SAAS,aAAe,CACtF,IAAI,cAAiC,CAAE,OAAO,KAAK,OAAO,MAAM,SAAS,SAAS,EAAI,CACtF,IAAI,cAAmC,CAAE,OAAO,KAAK,OAAO,MAAM,SAAS,cAAgB,CAC3F,IAAI,aAAa7J,EAA2B,CAAE,KAAK,OAAO,SAAS,cAAe,CAAE,IAAK,eAAgB,MAAAA,EAAc,KAAM6J,GAAiB,UAAW,CAAC,CAAG,CAC7J,IAAI,WAAoB,CAAE,OAAO,KAAK,OAAO,MAAM,SAAS,SAAW,CACvE,IAAI,SAAkB,CAAE,OAAO,KAAK,OAAO,MAAM,SAAS,OAAS,CACnE,IAAI,SAAkB,CAAE,OAAO,KAAK,OAAO,MAAM,SAAS,OAAS,CAgBnE,IAAI,wBAAkC,CAClC,OAAO,KAAK,cAAgBvN,EAAmB,eAAiB,KAAK,cAAgBA,EAAmB,WAC5G,CAEA,sBAAuB,CACnB,KAAK,OAAO,MAAM,SAAS,cAAgBX,EAAgB,eAC3D,KAAK,OAAO,MAAM,SAAS,cAAgB,kBAC3C,KAAK,OAAO,MAAM,SAAS,eAAiBW,EAAmB,YAC/D,KAAK,YAAc,kBACnB,KAAK,aAAeA,EAAmB,WAC3C,CAEA,qBAAsB,CAClB,KAAK,OAAO,MAAM,SAAS,cAAgBX,EAAgB,cAC3D,KAAK,OAAO,MAAM,SAAS,cAAgB,cAC3C,KAAK,OAAO,MAAM,SAAS,eAAiBW,EAAmB,YAC/D,KAAK,YAAc,cACnB,KAAK,aAAeA,EAAmB,WAC3C,CAEA,aAAc,CACV,KAAK,OAAO,MAAM,SAAS,cAAgBX,EAAgB,MAC3D,KAAK,OAAO,MAAM,SAAS,cAAgB,cAC3C,KAAK,OAAO,MAAM,SAAS,eAAiBW,EAAmB,cAC/D,KAAK,YAAc,cAGnB,KAAK,aAAeA,EAAmB,WAI3C,CAEA,mBAAoB,CAChB,KAAK,OAAO,MAAM,SAAS,cAAgBX,EAAgB,YAC3D,KAAK,OAAO,MAAM,SAAS,cAAgB,cAC3C,KAAK,OAAO,MAAM,SAAS,eAAiBW,EAAmB,cAC/D,KAAK,YAAc,cAGnB,KAAK,aAAeA,EAAmB,WAI3C,CAEA,eAAgB,CACZ,KAAK,OAAO,MAAM,SAAS,cAAgBX,EAAgB,QAC3D,KAAK,OAAO,MAAM,SAAS,cAAgB,cAC3C,KAAK,OAAO,MAAM,SAAS,eAAiBW,EAAmB,YAC/D,KAAK,YAAc,cACnB,KAAK,aAAeA,EAAmB,WAC3C,CAEA,wBAAyB,CACrB,KAAK,OAAO,MAAM,SAAS,cAAgBX,EAAgB,MAC3D,KAAK,OAAO,MAAM,SAAS,cAAgB,cAC3C,KAAK,OAAO,MAAM,SAAS,eAAiBW,EAAmB,YAC/D,KAAK,YAAc,cACnB,KAAK,aAAeA,EAAmB,WAC3C,CAEA,mBAAoB,CAChB,KAAK,OAAO,MAAM,SAAS,cAAgB,cAC3C,KAAK,YAAc,cACf,KAAK,aAAeX,EAAgB,QACpC,KAAK,aAAeW,EAAmB,cAE/C,CACA,UAAW,CACP,KAAK,OAAO,MAAM,SAAS,cAAgB,kBAC3C,KAAK,YAAc,kBACf,KAAK,aAAeX,EAAgB,QACpC,KAAK,aAAeW,EAAmB,YAE/C,CACA,UAAW,CACP,KAAK,OAAO,MAAM,SAAS,cAAgB,aAC3C,KAAK,YAAc,aACf,KAAK,aAAeX,EAAgB,QACpC,KAAK,aAAeW,EAAmB,YAE/C,CACA,WAAY,CACR,KAAK,OAAO,MAAM,SAAS,cAAgB,MAC3C,KAAK,YAAc,MACf,KAAK,aAAeX,EAAgB,QACpC,KAAK,aAAeW,EAAmB,YAE/C,CACA,aAAc,CACV,KAAK,OAAO,MAAM,SAAS,cAAgB,QAC3C,KAAK,YAAc,QACf,KAAK,aAAeX,EAAgB,QACpC,KAAK,aAAeW,EAAmB,YAE/C,CAEA,kBAAkB+D,EAA+B,CAC7C,OAAOmb,GAA2Bnb,EAAM,KAAK,MAAM,MAAM,CAC7D,CAEA,kBAAkBA,EAA+B,CAC7C,OAAOib,GAA2Bjb,EAAM,KAAK,MAAM,MAAM,CAC7D,CAGA,MAAO,CACH,MAAO,CACH,cAAe,CACX,CAAE,MAAO,OAAQ,KAAM,KAAK,GAAG,qBAAqB,EAAG,SAAU,EAAK,EACtE,CAAE,MAAO/D,EAAmB,YAAa,KAAM,KAAK,GAAG,kBAAY,CAAE,EACrE,CAAE,MAAOA,EAAmB,cAAe,KAAM,KAAK,GAAG,iBAAW,CAAE,CAE1E,EACA,WAAY,CACR,CAAE,MAAO,OAAQ,KAAM,KAAK,GAAG,2BAA2B,EAAG,SAAU,EAAK,EAC5E,CAAE,MAAO,KAAM,KAAM,QAAS,EAC9B,CAAE,MAAO,KAAM,KAAM,UAAW,EAChC,CAAE,MAAO,MAAO,KAAM,WAAY,EAClC,CAAE,MAAO,MAAO,KAAM,WAAY,EAClC,CAAE,MAAO,MAAO,KAAM,QAAS,CACnC,CACJ,CACJ,CAEJ,EA3IW,IADN4Y,EAAK,GAtBW,GAuBV,gCAvBU,GAArB,IARC,EAAU,CACP,WAAY,CACR,mBAAkB,GAClB,kBAAiB,GACjB,mBAAkB,GAClB,iBAAkB,EACtB,CACJ,CAAC,GACoB,EAAmB,E,qMyBvBxC,MAAM,WAAgB4G,EAAe,CACjC,aAAc,CACV,MAAM,EACN,KAAK,aAAe,CACfhT,GAAiCA,EAAS,UAC1CA,GAAiCA,EAAS,WAC/C,EACA,KAAK,cAAgB,CAAC,SAAS,CACnC,CACJ,CACO,IAAI,GAA0B,IAAI,GASpB,GAArB,cAA8C,SAAI,CAsE9C,aAAc,CACV,MAAM,EAbV,qBAA0CnN,EAC1C,uBAA8C2M,GAC9C,wBAAgDhM,EAY5C,KAAK,SAAW,eAChB,KAAK,QAAU,CACX,CAAE,MAAO,cAAe,KAAM,KAAK,GAAG,qFAA4E,CAAa,EAC/H,CAAE,MAAO,eAAgB,KAAM,KAAK,GAAG,0GAAoG,CAAY,EACvJ,CAAE,MAAO,eAAgB,KAAM,KAAK,GAAG,uDAAqC,CAAY,CAC5F,CAEJ,CA9EA,IAAI,UAA+B,CAAE,OAAO,KAAK,OAAO,MAAM,QAAU,CACxE,IAAI,UAAgC,CAAE,OAAO,KAAK,OAAO,MAAM,QAAU,CAEjE,8BAA8BmT,EAAoD,CACtF,IAAImP,EAAoB,KAAK,MAAM,KAAK,UAAUnP,CAAQ,CAAC,EAC3D,OAAAmP,EAAoBA,EAAkB,OAAQzR,GAA+BA,EAAQ,WAAW,KAAKpE,GAAaA,EAAU,SAAS,CAAC,EACtI6V,EAAkB,IAAKzR,IACnBA,EAAQ,WAAaA,EAAQ,WACxB,OAAOpE,GAAaA,EAAU,SAAS,EACvC,KAAK,CAAC8V,EAAGC,IAAMA,EAAE,kBAAoBD,EAAE,iBAAiB,EACtD1R,EACV,EACMyR,CACX,CAEQ,iCAAiCnP,EAAoD,CACzF,IAAIsP,EAAuB,KAAK,MAAM,KAAK,UAAUtP,CAAQ,CAAC,EAC9D,OAAAsP,EAAuBA,EAAqB,OAAQ5R,GAA+BA,EAAQ,WAAW,KAAKpE,GAAa,CAACA,EAAU,SAAS,CAAC,EAC7IgW,EAAqB,IAAK5R,IACtBA,EAAQ,WAAaA,EAAQ,WAAW,OAAOpE,GAAa,CAACA,EAAU,SAAS,EACzEoE,EACV,EACM4R,CACX,CAEA,IAAI,mBAAyC,CAAE,OAAO,KAAK,8BAA8B,KAAK,QAAQ,CAAG,CACzG,IAAI,sBAA4C,CAAE,OAAO,KAAK,iCAAiC,KAAK,QAAQ,CAAG,CAE/G,IAAI,gBAAsC,CACtC,IAAItP,EAEJ,OAAQ,KAAK,SAAU,CACnB,IAAK,cACDA,EAAW,KAAK,kBAChB,MACJ,IAAK,eACDA,EAAW,KAAK,qBAChB,MACJ,IAAK,eACDA,EAAW,KAAK,kBAAkB,OAAO,KAAK,oBAAoB,EAClE,KACR,CAEA,OAAOA,EAAS,KAAK,CAACoP,EAAGC,IAAMD,EAAE,YAAcC,EAAE,WAAW,CAChE,CAEA,IAAI,iBAAqC,CAAE,OAAO,KAAK,OAAO,MAAM,eAAiB,CACrF,IAAI,mBAAyC,CAAE,OAAO,KAAK,OAAO,MAAM,iBAAmB,CAC3F,IAAI,mBAA6B,CAAE,OAAO,KAAK,SAAS,cAAgBtjB,EAAiB,OAAS,CAClG,IAAI,aAAuB,CAAE,OAAO,KAAK,OAAO,MAAM,SAAS,WAAW,SAAW,CACrF,cAAcwF,EAAyE,CAAE,OAAO,KAAK,OAAO,SAAS,gBAAiBA,CAAO,CAAG,CAChJ,IAAI,aAA+B,CAAE,OAAO,KAAK,OAAO,MAAM,SAAS,aAAe,CACtF,IAAI,cAAmC,CAAE,OAAO,KAAK,OAAO,MAAM,SAAS,cAAgB,CAG3F,gBAAgBmM,EAA4BpE,EAAgC,CAAE,CAS9E,IAAI,uBAAiC,CAAE,OAAO,KAAK,UAAY,eAAiB,KAAK,UAAY,cAAe,CAChH,IAAI,0BAAoC,CAAE,OAAO,KAAK,UAAY,gBAAkB,KAAK,UAAY,cAAe,CAEpH,oBAAoBoE,EAAoC,CAAE,MAAO,GAAGA,EAAQ,MAAOA,EAAQ,WAAW,CAAC,EAAE,UAAY,EAAI,GAAK,CAa9H,kBAAkB6R,EAAmC,CACjD,KAAK,cAAc,CAAE,QAASA,EAAgB,QAAS,UAAWA,EAAgB,SAAU,CAAC,EACxF,KAAK,IAAM,KAAK,gBAAgBA,EAAgB,QAASA,EAAgB,SAAS,CAAC,CAC5F,CAEA,WAAW7R,EAA4BpE,EAAgC,CACnE,OAAI,KAAK,iBAAmB,MAAQ,KAAK,mBAAqB,KACnD,KAAK,gBAAgB,IAAMoE,EAAQ,IAAM,KAAK,kBAAkB,IAAMpE,EAAU,GACpF,EACX,CAEA,yBAAyBoE,EAAqC,CAC1D,MAAI,GAAAA,EAAQ,YAAc,MAAQA,EAAQ,WAAW,KAAK8R,GAAMA,EAAG,WAAa,EAAK,EAIzF,CAEA,sBAAsB9R,EAAqC,CACvD,MAAI,GAAAA,EAAQ,YAAc,MAAQA,EAAQ,WAAW,KAAK8R,GAAMA,EAAG,WAAa,EAAI,EAIxF,CACJ,EAjDI,IADCrJ,EAAK,GAvDW,GAwDjB,+BAxDiB,GAArB,IAPC,EAAU,CACP,WAAY,CACR,UAAS,GACT,YAAW,EACf,CACJ,CAAC,GAEoB,EAAgB,E,qMiEhBrC,cAAQ,IAAO,EACf,UAAY,KAAgB,EAC5B,UAAY,KAAmB,EAE/B,oBAAc,oBAAqB,KAAe,EAIlD,MAAM,WAAgBkG,EAAe,CACjC,aAAc,CACV,MAAM,EACN,KAAK,WAAa,CACbhT,GAAiCA,EAAS,cAAc,QAAQ,IAChEA,GAAiCA,EAAS,cAAc,QAAQ,OAChEA,GAAiCA,EAAS,UAC1CA,GAAiCA,EAAS,cAC/C,EACA,KAAK,cAAgB,CAAC,QAAS,WAAY,SAAU,MAAO,gBAAiB,aAAc,YAAa,iBAAkB,kBAAmB,iBAAkB,kBAAmB,eAAgB,0BAA2B,mBAAmB,CACpP,CACJ,CACO,IAAI,GAAkC,IAAI,GAGjD,MAAM,GAAO,IAAI,KAAQ,CACrB,OAAQ,cACR,aAAc,GACd,sBAAuB,EAC3B,CAAC,EAsCD,IAAqB,GAArB,cAAsD,SAAI,CAyEtD,aAAc,CACV,MAAM,EA5CV,qBAA0C5M,GAC1C,wBAAgD,EAChD,sBAA4CV,EAC5C,yBAAkDiB,EAElD,eAAY,KAAK,SAAS,UAmB1B,oBAAyB,KACzB,iBAAsB,KAEtB,0BAA+B,KAC/B,uBAA4B,KAE5B,sBAA2B,KAC3B,yBAA8B,KAE9B,2BAAgC,KAChC,wBAA6B,KAI7B,qBAA2B,GAC3B,6CAAmD,GACnD,iDAAuD,GACvD,2BAAiC,GAI7B,KAAK,YAAc,KAAK,SACxB,KAAK,kBAAoB,KAAK,eAC9B,KAAK,eAAiB,KAAK,YAC3B,KAAK,iBAAmB,KAAK,cAC7B,KAAK,cAAgB,KAAK,WAC1B,KAAK,UAAY,KAAK,OACtB,KAAK,mBAAqB,KAAK,gBAC/B,KAAK,gBAAkB,KAAK,aAC5B,KAAK,kBAAoB,IAAIqsB,GAAqB,KAAK,gBAAgB,CAC3E,CAnFA,IAAI,kBAAsC,CAAE,OAAO,KAAK,OAAO,MAAM,gBAAkB,CACvF,IAAI,qBAA4C,CAAE,OAAO,KAAK,OAAO,MAAM,mBAAqB,CAChG,IAAI,UAAW,CAAE,OAAO,KAAK,OAAO,MAAM,QAAU,CACpD,IAAI,UAA+B,CAAE,OAAO,KAAK,OAAO,MAAM,QAAU,CACxE,IAAI,eAAyC,CAAE,OAAO,KAAK,OAAO,MAAM,SAAS,aAAe,CAChG,IAAI,mBAA0C,CAAE,OAAO,KAAK,OAAO,MAAM,SAAS,iBAAmB,CACrG,IAAI,UAA+B,CAAE,OAAO,KAAK,SAAS,QAAU,CACpE,IAAI,SAA6B,CAAE,OAAO,KAAK,SAAS,OAAS,CACjE,IAAI,UAAmB,CAAE,OAAO,KAAK,SAAS,cAAc,QAAQ,MAAQ,CAC5E,IAAI,gBAAyB,CAAE,OAAO,KAAK,SAAW,KAAK,SAAS,QAAQ,OAAS,EAAI,CACzF,IAAI,aAAsB,CAAE,OAAO,KAAK,SAAW,KAAK,SAAS,QAAQ,IAAM,EAAI,CACnF,IAAI,eAAwB,CAAE,OAAO,KAAK,QAAU,KAAK,QAAQ,QAAQ,OAAS,EAAI,CACtF,IAAI,YAAqB,CAAE,OAAO,KAAK,QAAU,KAAK,QAAQ,QAAQ,IAAM,EAAI,CAChF,IAAI,yBAAmC,CAAE,OAAO,KAAK,iBAAiB,qBAAuB,CAC7F,IAAI,QAAiB,CAAE,OAAO,KAAK,OAAO,MAAM,SAAS,cAAc,QAAQ,GAAK,CACpF,IAAI,iBAA0B,CAAE,OAAO,KAAK,UAAY,KAAK,SAAS,kBAAoB,KAAK,SAAS,iBAAiB,QAAU,KAAK,SAAS,iBAAiB,QAAQ,OAAS,EAAI,CACvL,IAAI,cAAuB,CAAE,OAAO,KAAK,UAAY,KAAK,SAAS,kBAAoB,KAAK,SAAS,iBAAiB,QAAU,KAAK,SAAS,iBAAiB,QAAQ,IAAM,EAAI,CACjL,IAAI,oBAA+B,CAAE,OAAO,KAAK,iBAAiB,kBAAmB,CACrF,IAAI,+BAAyC,CAAE,OAAO,KAAK,SAAS,cAAc,6BAA8B,CAChH,IAAI,mBAA4B,CAAE,OAAO,KAAK,SAAS,cAAc,iBAAmB,CAAE,IAAI,kBAAkB9oB,EAAe,CAAE,KAAK,SAAS,cAAc,kBAAoBA,CAAO,CACxL,IAAI,UAAmB,CAAE,OAAO,KAAK,SAAS,cAAc,QAAU,CAAE,IAAI,SAASA,EAAe,CAAE,KAAK,SAAS,cAAc,SAAWA,CAAO,CACpJ,IAAI,+BAAyC,CAAE,OAAO,KAAK,qBAAsB,CACjF,IAAI,sBAA2C,CAAE,OAAO,WAA6B,CACrF,IAAI,8BAAmD,CAAE,OAAO,mBAAqC,CACrG,IAAI,8BAAmD,CAAE,OAAO,kBAAoC,CAcpG,iBAAiBgqB,EAAIC,EAAI,CACrB,KAAK,OAAO,SAAS,cAAe,CAAE,IAAK,YAAa,MAAO,EAAO,OAAO,KAAK,SAAS,CAAC,EAAE,OAAO,YAAY,CAAE,CAAC,CACxH,CA8CA,iBAAkB,CACV,KAAK,oBAAoB,oCAAsC,IAC/D,KAAK,wCAA0C,GAC/C,KAAK,4CAA8C,GACnD,KAAK,OAAO,SAAS,cAAe,CAAE,IAAK,WAAY,MAAO,KAAK,QAAS,CAAC,EACxE,KAAK,IAAM,CACR,KAAK,gBAAkB,GACvB,KAAK,OAAO,SAAS,iCAAiC,EAAE,KAAK,IAAM,CAC/D,KAAK,gBAAkB,EAC3B,CAAC,CACL,CAAC,EAEb,CAGA,YAAa,CACT,KAAK,YAAc,KAAK,SACxB,QAAQ,IAAI,aAAe,KAAK,QAAQ,CAC5C,CAGA,aAAc,CACV,KAAK,kBAAoB,KAAK,cAClC,CAGA,aAAc,CACV,KAAK,iBAAmB,KAAK,aACjC,CAGA,mBAAoB,CAChB,KAAK,mBAAqB,KAAK,eACnC,CAGA,sBAAuB,CACnB,KAAK,gBAAkB,KAAK,YAChC,CAGA,UAAW,CACP,KAAK,UAAY,KAAK,MAC1B,CAEA,cAAcrc,EAAI,CACd,EAAE,qCAAqC,EAAE,WAAW,eAAe,EACnE,EAAE,yCAAyC,EAAE,WAAW,eAAe,CAC3E,CACA,eAAeA,EAAI,CACf,EAAE,iCAAiC,EAAE,WAAW,eAAe,EAC/D,EAAE,qCAAqC,EAAE,WAAW,eAAe,CACvE,CACA,IAAI,WAAY,CACZ,OAAO,KAAK,SAAS,aAAe1R,GAAgB,OACxD,CAEA,IAAI,cAAuB,CAEvB,IAAIotB,EAAM,EAAO,EAEbC,EAAiB,KAAK,iBAAiB,eACvC,KAAK,SAAS,cAAgB/tB,EAAiB,SAAW,KAAK,iBAAiB,uBAAyB,OACzG+tB,EAAiB,KAAK,iBAAiB,uBAE3C,IAAIC,EAAyB,KAAK,iBAAiB,uBAC/C,KAAK,SAAS,cAAgBhuB,EAAiB,SAAW,KAAK,iBAAiB,+BAAiC,OACjHguB,EAAyB,KAAK,iBAAiB,+BAEnD,IAAI/G,EAAO8G,EAGP5f,EAAiB,KAAK,SAAS,eACnC,GAAIA,GAAkB,kBAAqCA,GAAkB,iBAAoCA,GAAkB,YAC5HA,GAAkB,oBAAsC,CAC3D,IAAIugB,EAAS,MAAW,EACpBjgB,EAAI,MAAW,yBAAyB,EACxCigB,EAASjgB,IACTqf,EAAM,MAAW,yBAAyB,EAAE,MAAM,EAClDE,EAAyBA,EAAyB,GAEtD/G,EAAO+G,CACX,CAGA,OAAAF,EAAI,IAAI7G,EAAM,GAAG,EAGJ6G,EAAI,OAAO,YAAY,EAAI,eAE5C,CAEA,cAAe,CACX,IAAIa,EAAM,EAAO,EACjB,OAAAA,EAAI,IAAI,IAAK,EAAE,EACR,KAAK,UAAUA,CAAG,CAC7B,CAEA,IAAI,6BAAuC,CACvC,GAAI,KAAK,UAAY,MAAQ,KAAK,SAAS,mBACvC,QAASC,KAAe,KAAK,SAAS,kBAClC,GAAIA,EAAY,iBAAmB3tB,EAAoB,iBAAkB,MAAO,GAGxF,MAAO,EACX,CAEA,IAAI,0BAAmC,CACnC,GAAI,KAAK,4BAA6B,CAClC,GAAI,cAAc,WAAW,IAAI,EAC7B,MAAO,wIACX,GACS,cAAc,WAAW,IAAI,EAClC,MAAO,mKAGf,CACA,MAAO,EACX,CAEA,IAAI,kCAA2C,CAC3C,GAAI,CAAC,KAAK,4BAA6B,CACnC,GAAI,cAAc,WAAW,IAAI,EAC7B,MAAO,+EACX,GACS,cAAc,WAAW,IAAI,EAClC,MAAO,0GAEf,CACA,MAAO,EACX,CAEA,IAAI,cAAoB,CACpB,OAAI,KAAK,8BACE,CAAE,MAAO,KAAM,EAEnB,CAAE,MAAO,OAAQ,CAC5B,CAEA,uBAAwB,CAMpB,GALA,QAAQ,IAAI,0BAA0B,EACtC,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,OAAO,EAER,KAAK,SAAS,WAAa,KAAM,CACjC,IAAI4tB,EAAI,EAAO,KAAK,SAAS,SAAS,EAClCf,EAAM,EAAO,KAAK,aAAc,YAAY,EAChD,GAAIe,EAAE,SAASf,CAAG,EAAG,CACjB,IAAIgB,EAAUhB,EAAI,OAAO,YAAY,EACrC,KAAK,OAAO,SAAS,cAAe,CAAE,IAAK,YAAa,MAAOgB,CAAQ,CAAC,EACxE,KAAK,UAAYhB,EAAI,OAAO,CAChC,CACJ,CACI,KAAK,SAAS,gBAAkB,KAAK,8BACrC,KAAK,OAAO,SAAS,cAAe,CAAE,IAAK,kBAAmB,MAAO,CAAE,CAAC,CAEhF,CAEA,wBAAyB,CACrB,QAAQ,IAAI,2BAA2B,EAClC,KAAK,SAAS,iBAAmB7sB,EAAoB,QAAW,KAAK,SAAS,eAAiB,MAAQ,KAAK,SAAS,cAAc,QAAU,KAC9I,KAAK,SAAS,cAAiB,KAAK,SAAS,cAAgBjB,EAAiB,QAAW,KAAK,SAAS,MAAQ,KAAK,QAAQ,MAC5H,KAAK,OAAO,SAAS,cAAe,CAAE,IAAK,gBAAiB,MAAO,KAAK,SAAS,aAAc,CAAC,EAExG,CACA,SAAU,CAEN,IAAI0nB,EADI,EAAO,KAAK,aAAc,YAAY,EACjC,OAAO,MAAM,EAE1B,OADS,SAASA,CAAI,CAE1B,CACA,UAAW,CAEP,IAAID,EADI,EAAO,KAAK,aAAc,YAAY,EAChC,OAAO,GAAG,EAExB,OADS,SAASA,CAAK,EAAI,CAE/B,CACA,QAAS,CAEL,IAAIE,EADI,EAAO,KAAK,aAAc,YAAY,EAClC,OAAO,IAAI,EAEvB,OADS,SAASA,CAAG,CAEzB,CACA,UAAU9Z,EAAM,CACZ,IAAIY,EAAI,EAAOZ,EAAM,YAAY,EAC7B6Z,EAAO,SAASjZ,EAAE,OAAO,MAAM,CAAC,EAChCgZ,EAAQ,SAAShZ,EAAE,OAAO,GAAG,CAAC,EAAI,EAClCkZ,EAAM,SAASlZ,EAAE,OAAO,IAAI,CAAC,EACjC,OAAO,IAAI,KAAKiZ,EAAMD,EAAOE,CAAG,CACpC,CAEA,MAAO,CACH,MAAO,CACH,SAAU,KACV,QAAS,CACL,CAAE,KAAM,KAAK,GAAG,UAAO,EAAG,MAAO,OAAQ,EACzC,CAAE,KAAM,KAAK,GAAG,IAAI,EAAG,MAAO,IAAK,CACvC,EACA,iBAAkB,YACtB,CACJ,CAEA,4BAA4B5C,EAAkB7X,EAAgB,CAC1D,KAAK,UAAY6X,EACjB,KAAK,YAAc7X,EACnB,KAAK,OAAO,SAAS,cAAe,CAAE,IAAK,QAAS,MAAO6X,EAAU,OAAA7X,CAAe,CAAC,EAChF,KAAK,IAAM,CAAE,KAAK,OAAO,SAAS,+BAA+B,CAAG,CAAC,CAC9E,CAEA,4BAA4B8X,EAAgB9X,EAAgB,CACxD,KAAK,YAAc8X,EACnB,KAAK,eAAiB9X,EACtB,KAAK,OAAO,SAAS,cAAe,CAAE,IAAK,WAAY,MAAO8X,EAAQ,OAAA9X,CAAe,CAAC,EACjF,KAAK,IAAM,CAAE,KAAK,OAAO,SAAS,+BAA+B,CAAG,CAAC,CAC9E,CAEA,uBAAuB6X,EAAkB7X,EAAgB,CACrD,KAAK,eAAiB6X,EACtB,KAAK,kBAAoB7X,EACzB,KAAK,OAAO,SAAS,cAAe,CAAE,IAAK,MAAO,MAAO6X,EAAU,OAAA7X,CAAe,CAAC,CACvF,CAEA,uBAAuB8X,EAAgB9X,EAAgB,CACnD,KAAK,kBAAoB8X,EACzB,KAAK,qBAAuB9X,EAC5B,KAAK,OAAO,SAAS,cAAe,CAAE,IAAK,SAAU,MAAO8X,EAAQ,OAAA9X,CAAe,CAAC,CACxF,CAEA,sBAAsB6X,EAAkB7X,EAAgB,CACpD,KAAK,cAAgB6X,EACrB,KAAK,iBAAmB7X,EACxB,KAAK,OAAO,SAAS,cAAe,CAAE,IAAK,aAAc,MAAO6X,EAAU,OAAA7X,CAAe,CAAC,CAC9F,CAEA,sBAAsB8X,EAAgB9X,EAAgB,CAClD,KAAK,iBAAmB8X,EACxB,KAAK,oBAAsB9X,EAC3B,KAAK,OAAO,SAAS,cAAe,CAAE,IAAK,gBAAiB,MAAO8X,EAAQ,OAAA9X,CAAe,CAAC,CAC/F,CAEA,wBAAwB6X,EAAkB7X,EAAgB,CACtD,KAAK,gBAAkB6X,EACvB,KAAK,mBAAqB7X,EAC1B,KAAK,OAAO,SAAS,cAAe,CAAE,IAAK,sBAAuB,MAAO6X,EAAU,OAAA7X,CAAe,CAAC,CACvG,CAEA,wBAAwB8X,EAAgB9X,EAAgB,CACpD,KAAK,mBAAqB8X,EAC1B,KAAK,sBAAwB9X,EAC7B,KAAK,OAAO,SAAS,cAAe,CAAE,IAAK,yBAA0B,MAAO8X,EAAQ,OAAA9X,CAAe,CAAC,CACxG,CAEA,SAAU,CACN,KAAK,iBAAiB,KAAM,IAAI,EAEhC,EAAE,qCAAqC,EAAE,WAAW,eAAe,EACnE,EAAE,uCAAuC,EAAE,WAAW,eAAe,EACrE,EAAE,uBAAuB,EAAE,KAAK,aAAc,sDAAuC,EACrF,EAAE,qCAAqC,EAAE,WAAW,eAAe,EACnE,EAAE,yCAAyC,EAAE,WAAW,eAAe,EACvE,EAAE,iCAAiC,EAAE,WAAW,eAAe,EAC/D,EAAE,qCAAqC,EAAE,WAAW,eAAe,CACvE,CAEJ,EApUW,IADNwM,EAAK,GA3BW,GA4BV,gCAWP,IADCE,EAAM,WAAW,GAtCD,GAuCjB,gCAgDA,IADCA,EAAM,UAAU,GAtFA,GAuFjB,+BAeA,IADCA,EAAM,UAAU,GArGA,GAsGjB,0BAMA,IADCA,EAAM,gBAAgB,GA3GN,GA4GjB,2BAKA,IADCA,EAAM,eAAe,GAhHL,GAiHjB,2BAKA,IADCA,EAAM,iBAAiB,GArHP,GAsHjB,iCAKA,IADCA,EAAM,cAAc,GA1HJ,GA2HjB,oCAKA,IADCA,EAAM,QAAQ,GA/HE,GAgIjB,wBAhIiB,GAArB,IApCC,EAAU,CACP,WAAY,CACR,mBAAkB,GAClB,mBAAkB,GAClB,mBAAkB,GAClB,WAAU,EACd,EACA,KAAI,GACJ,QAAS,CACL,KAAKpV,EAAO,CACR,IAAIqqB,EAAI,EAAOrqB,CAAK,EACpB,OAAIqqB,EAAE,QAAQ,EACHA,EAAE,OAAO,YAAY,EACzBrqB,CACX,CACJ,EACA,SAAU,CACN,cAAe,UAAY,CACvB,MAAO,CACH,GAAI,IAAI,KAAK,KAAK,QAAQ,EAAG,KAAK,SAAS,EAAG,KAAK,OAAO,CAAC,EAC3D,KAAM,IAAI,KAAK,KAAK,aAAa,CAAC,EAClC,KAAM,CAAC,EAAG,CAAC,EACX,MAAO,KAAK,SAAS,IAAI8L,GAAK,KAAK,UAAU,EAAOA,EAAG,YAAY,CAAC,CAAC,CACzE,CACJ,EACA,mBAAoB,UAAY,CAC5B,GAAI,gBAAkB,KAClB,OAAO,MACX,GACS,gBAAkB,KACvB,OAAO,KAEf,CACJ,CACJ,CAAC,GAEoB,EAAwB,E,qMalF7C,EAAQ,KAA0B,EAwClC,UAAY,MAAQ,KAAU,EAC9B,oBAAc,oBAAqB,KAAe,EAmBlD,IAAqB0e,GAArB,cAA8C,SAAI,CAkD9C,aAAc,CA9GlB,MA+GQ,MAAM,EAbV,sBAA4ChvB,EAC5C,iBAAkCmgB,EAClC,iBAAkCC,GAElC,cAMI,KAIA,QAAQ,IAAI,sBAAsB,EAClC,IAAItQ,EAAO,KACX,KAAK,SAAW,CACZ,WAAY,IAAI0Q,GAAa,cAAe,IAAM1Q,EAAK,MAAM,UAAU,EACvE,QAAS,IAAI0Q,GAAa,UAAW,IAAM1Q,EAAK,MAAM,OAAO,EAC7D,SAAU,IAAI0Q,GAAa,WAAY,IAAM1Q,EAAK,MAAM,QAAQ,EAChE,QAAS,IAAI0Q,GAAa,UAAW,IAAM1Q,EAAK,MAAM,OAAO,EAC7D,cAAe,IAAI0Q,GAAa,iBAAkB,IAAM1Q,EAAK,MAAM,aAAa,CACpF,EACA,QAAQ,IAAI,uBAAuB,EACnC0Q,GAAA,UAAuB,KAAK,SAAS,WAAY,KAAK,SAAS,UAAS,OAAK,WAAL,cAAe,eAAgBxgB,EAAiB,QAAU,KAAK,SAAS,QAAU,KAAK,SAAS,SAAU,KAAK,SAAS,aAAa,CACjN,CA7DA,IAAI,UAA+B,CAAE,OAAO,KAAK,OAAO,MAAM,QAAU,CACxE,IAAI,iBAAqC,CAAE,OAAO,KAAK,OAAO,MAAM,eAAiB,CACrF,IAAI,mBAAyC,CAAE,OAAO,KAAK,OAAO,MAAM,iBAAmB,CAC3F,IAAI,2BAAqC,CAAE,OAAO,KAAK,OAAO,MAAM,iBAAmB,QAAU,KAAK,SAAS,eAAiBA,EAAiB,MAAQ,CACzJ,IAAI,cAAiC,CAAE,OAAO,KAAK,SAAS,YAAc,CAC1E,IAAI,oBAA8B,CAAE,OAAO,KAAK,OAAO,MAAM,eAAiB,CAC9E,IAAI,8BAAwC,CAAE,OAAO,KAAK,OAAO,MAAM,eAAiB,CASxF,qBAAsB,CAAC,CAGvB,WAAY,CAAE,CAEd,cAAe,CAEf,CAGA,sBAAsBivB,EAA0BC,EAA0B,CAClED,IAAWjvB,EAAiB,SAC5B,KAAK,SAAS,QAAQ,YAAY,KAAK,SAAS,WAAY,KAAK,SAAS,OAAO,EACjF,KAAK,SAAS,cAAc,YAAY,KAAK,SAAS,QAAS,IAAI,IAGnE,KAAK,SAAS,QAAQ,YAAY,KAAK,SAAS,WAAY,KAAK,SAAS,QAAQ,EAClF,KAAK,SAAS,cAAc,YAAY,KAAK,SAAS,SAAU,IAAI,EAE5E,CA6BA,SAAU,CACN,QAAQ,IAAI,gBAAgB,EAC5ByM,EAAA,4BAA8C,KAAK,gBAAgB,EAC/D,KAAK,OAAO,MAAM,uBAGlB,KAAK,mBAAmB,EAKxBA,EAAA,kCAAoD,KAAK,sBAAsB,CAEvF,CAEA,eAAgB,CACZA,EAAA,+BAAiD,KAAK,gBAAgB,EACtEA,EAAA,qCAAuD,KAAK,sBAAsB,CACtF,CAEA,2BAA4B,CACxB,QAAQ,IAAI,+BAA+B,EAC3C,KAAK,SAAS,WAAW,QAAQ,CACrC,CAEA,gBAAgBkF,EAA4BpE,EAAgC,CACxE,IAAIuC,EAAO,KACX,KAAK,SAAS,QAAQ,QAAQ,CAClC,CAEA,2BAA4B,CACxB,KAAK,SAAS,WAAW,MAAM,CACnC,CAEA,wBAAyB,CACrB,KAAK,SAAS,QAAQ,MAAM,CAChC,CAEA,sBAAuB,CACnB,KAAK,SAAS,WAAW,MAAM,CACnC,CAEA,wBAAyB,CACrB,KAAK,SAAS,QAAQ,QAAQ,CAClC,CAEA,iBAAiB+C,EAA0B,CACvC,KAAK,UAAU,IAAM,CACjB,IAAIsc,EAAa,GACb,aAAqCtc,CAAM,IAC3Csc,EAAa,GACb,KAAK,SAAS,WAAW,YAAY,GAGrC,CAACA,GAAc,aAAkCtc,CAAM,IACvDsc,EAAa,GACb,KAAK,SAAS,QAAQ,YAAY,GAGlC,CAACA,GAAc,aAAqCtc,CAAM,IAC1Dsc,EAAa,GACb,KAAK,SAAS,SAAS,YAAY,GAGnC,CAACA,GAAc,aAAoCtc,CAAM,IACzDsc,EAAa,GACb,KAAK,SAAS,QAAQ,YAAY,GAGlC,CAACA,GAAc,aAA0Ctc,CAAM,IAC/Dsc,EAAa,GACb,KAAK,SAAS,cAAc,YAAY,GAG5C,IAAIC,EAAgBvc,EAAO,WAAW,EAClCwc,EAAW,GACfD,EAAc,QAASzc,GAAO,CACtB0c,IACAA,GAAY,KAChBA,GAAY,wBAA0B1c,EAAK,IAC/C,CAAC,EAED,IAAI2c,EAAW,KAAK,IAAI,iBAAiBD,CAAQ,EAC7CE,EAAW,CAAC,EAChB,QAAS3a,EAAI,EAAGA,EAAI0a,EAAS,OAAQ,EAAE1a,EACnC2a,EAAS,KAAKD,EAAS,KAAK1a,CAAC,CAAC,EAGlC2a,EAAS,KAAK,SAASlM,EAAGC,EAAG,CACzB,OAAID,IAAMC,EAAU,EACfD,EAAE,wBAIHA,EAAE,wBAAwBC,CAAC,EAAI,EAExB,EAEJ,GANID,EAAE,YAAcC,EAAE,WAOjC,CAAC,CAKL,CAAC,CACL,CAEA,qBAAqB7C,EAAiB,CAC9BA,GACA,QAAQ,IAAI,oCAAoC,CAExD,CAEA,oBAAoBA,EAAiB,CAC7BA,GACA,QAAQ,IAAI,mCAAmC,CAEvD,CAEA,eAAeA,EAAiB+O,EAAkC,CAC9D,IAAI5O,EAAOH,EAASN,EAAY,QAAUA,EAAY,KACtD,OAAIqP,GAAuB,MACnB5O,GAAQT,EAAY,MAAQqP,GAAuBrP,EAAY,UAC/DS,EAAOT,EAAY,QAEpBS,CACX,CAEA,oBAAqB,CACjB,IAAI6O,EAAuB,KAAK,SAAS,cAAgBzvB,EAAiB,OAE1E,KAAK,SAAS,WAAW,eAAe,YAAoC,KAAK,QAAQ,EAAGyvB,EAAuBtP,EAAY,QAAUA,EAAY,MAAM,EAC3J,KAAK,SAAS,QAAQ,eAAe,YAAiC,KAAK,QAAQ,CAAC,EAChF,KAAK,SAAS,cAAgBngB,EAAiB,SAC/C,KAAK,SAAS,SAAS,eAAe,YAAoC,KAAK,QAAQ,GAAK,KAAK,SAAS,4BAA4B,EAEjI,KAAK,SAAS,cAAgBA,EAAiB,QACpD,KAAK,SAAS,QAAQ,eAAe,YAAmC,KAAK,QAAQ,CAAC,EAGtF,KAAK,SAAS,SAAS,KAAOmgB,EAAY,OAE9C,KAAK,SAAS,cAAc,eAAe,YAAyC,KAAK,QAAQ,CAAC,EAElG,KAAK,SAAS,WAAW,kBAAkB,CAC/C,CAEA,wBAAyB,CACrB,QAAQ,IAAI,2BAA2B,EAEvC,KAAK,mBAAmB,CAC5B,CAEA,+BAA6C,CACzC,OAAI,KAAK,SAAS,8BAAgC,KAAK,SAAS,6BACrDC,GAAY,QAEhBA,GAAY,MACvB,CACJ,EArNW,IADN1G,EAAK,GAVWsV,GAWV,gCAGA,IADNtV,EAAK,GAbWsV,GAcV,wBAGP,IADC5U,EAAK,GAhBW4U,GAiBjB,mCAGA,IADC5U,EAAK,GAnBW4U,GAoBjB,yBAOA,IADCpV,EAAM,cAAc,GA1BJoV,GA2BjB,qCA3BiBA,GAArB,IAjBC,EAAU,CACP,WAAY,CACR,oBAAmB,GACnB,2BAA0B,GAC1B,iBAAgB,GAChB,wBAAuB,GACvB,eAAc,GACd,oBAAmB,GACnB,2BAA0B,GAC1B,mBAAkB,GAClB,0BAAyB,GACzB,yBAAwB,GACxB,gCAA+B,GAC/B,mBAAkB,EACtB,CACJ,CAAC,GAEoBA,EAAgB,EC5DmH,OAAe,G,uBCAkK,GAAe,KCQpV,MAAY,KACd,GACA9Z,GACAK,GACA,GACA,KACA,WACA,IAEF,EAII,OAAO,IAAW,YAAY,GAAO,EAAS,EAElD,OAAe,GAAU,QCvBrB,GAAS,UAAY,CACvB,IAAIJ,EAAM,KACNC,EAAKD,EAAI,eACTE,EAAKF,EAAI,MAAM,IAAMC,EACzB,OAAOC,EAAG,MAAO,CAAE,YAAa,qBAAsB,EAAG,CACvDA,EACE,MACA,CAAE,YAAa,YAAa,EAC5B,CACEA,EAAG,KAAM,CAAE,YAAa,mCAAoC,EAAG,CAC7DF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,kBAAkB,CAAC,CAAC,CAC3C,CAAC,EACDA,EAAI,GAAG,GAAG,EACVE,EACE,MACA,CAAE,YAAa,KAAM,EACrB,CACEA,EACE,QACA,CAAE,MAAO,CAAE,GAAI,GAAI,CAAE,EACrB,CACEA,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,GACnB,CACF,EACA,CACEA,EAAG,QAAS,CAAE,YAAa,uBAAwB,EAAG,CACpDF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,MAAM,CAAC,CAAC,CAC/B,CAAC,EACDA,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,YAAY,CAAC,CACvC,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,GACnB,CACF,EACA,CACEF,EAAI,SAAS,cAAgB,EACzBE,EAAG,QAAS,CAAE,YAAa,uBAAwB,EAAG,CACpDF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,kBAAe,CAAC,CAAC,CACxC,CAAC,EACDE,EAAG,QAAS,CAAE,YAAa,uBAAwB,EAAG,CACpDF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,UAAU,CAAC,CAAC,CACnC,CAAC,EACLA,EAAI,GACF;AAAA,sBACEA,EAAI,GAAGA,EAAI,kBAAkB,EAC7B;AAAA,iBACJ,CACF,CACF,EACAA,EAAI,GAAG,GAAG,EACVA,EAAI,kBACJ,CAACA,EAAI,SAAS,8BACVE,EACE,MACA,CACEA,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,GACnB,CACF,EACA,CACEA,EACE,QACA,CAAE,YAAa,uBAAwB,EACvC,CAACF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,eAAe,CAAC,CAAC,CAAC,CAC1C,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,uBACA,CACE,MAAO,CACL,gBAAiB,QACjB,oBAAqBF,EAAI,gBAC3B,CACF,EACA,CACEE,EAAG,eAAgB,CACjB,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,MAAO,CACL,KAAM,OACN,KAAM,QACN,MAAOF,EAAI,SAAS,MAChBA,EAAI,SAAS,MACb,MACN,CACF,CAAC,CACH,EACA,CACF,CACF,EACA,CACF,EACAA,EAAI,GAAG,GAAG,EACVA,EAAI,cACAE,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,GACnB,CACF,EACA,CACEA,EACE,QACA,CAAE,YAAa,uBAAwB,EACvC,CAACF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,wBAAkB,CAAC,CAAC,CAAC,CAC7C,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,uBACA,CACE,MAAO,CACL,gBAAiB,QACjB,oBAAqBF,EAAI,gBAC3B,CACF,EACA,CACEE,EAAG,eAAgB,CACjB,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,MAAO,CACL,KAAM,QACN,KAAM,QACN,MAAOF,EAAI,SAAS,KACtB,CACF,CAAC,CACH,EACA,CACF,CACF,EACA,CACF,EACAA,EAAI,GAAG,CACb,EACA,CACF,EACAE,EACE,MACA,CACEF,EAAI,cACAE,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,GACnB,CACF,EACA,CACEA,EACE,QACA,CAAE,YAAa,uBAAwB,EACvC,CAACF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,eAAe,CAAC,CAAC,CAAC,CAC1C,EACAA,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,aAAa,CAAC,CACxC,CACF,EACAA,EAAI,GAAG,EACXA,EAAI,GAAG,GAAG,EACVA,EAAI,cACAE,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,GACnB,CACF,EACA,CACEA,EACE,QACA,CAAE,YAAa,uBAAwB,EACvC,CAACF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,wBAAkB,CAAC,CAAC,CAAC,CAC7C,EACAA,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,aAAa,CAAC,CACxC,CACF,EACAA,EAAI,GAAG,CACb,EACA,CACF,CACN,EACA,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,QACA,CAAE,MAAO,CAAE,GAAI,GAAI,CAAE,EACrB,CACEA,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,GACnB,CACF,EACA,CACEA,EAAG,QAAS,CAAE,YAAa,uBAAwB,EAAG,CACpDF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,kBAAkB,CAAC,CAAC,CAC3C,CAAC,EACDA,EAAI,GAAG,GAAG,EACVA,EAAI,SAAS,wBACbA,EAAI,SAAS,SAAS,QAAQ,OAC1BE,EAAG,OAAQ,CACTF,EAAI,GACFA,EAAI,GAAGA,EAAI,GAAG,MAAM,CAAC,EACnBA,EAAI,GAAGA,EAAI,SAAS,SAAS,QAAQ,MAAM,CAC/C,EACAE,EAAG,IAAI,CACT,CAAC,EACDF,EAAI,GAAG,EACXA,EAAI,GAAGA,EAAI,GAAGA,EAAI,qBAAqB,CAAC,CAC1C,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,GACnB,CACF,EACA,CACEA,EAAG,QAAS,CAAE,YAAa,uBAAwB,EAAG,CACpDF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,2BAAqB,CAAC,CAAC,CAC9C,CAAC,EACDA,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,0BAA0B,CAAC,CACrD,CACF,EACAA,EAAI,GAAG,GAAG,EACVA,EAAI,SAAS,cAAc,SACvBE,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,GACnB,CACF,EACA,CACEA,EAAG,QAAS,CAAE,YAAa,uBAAwB,EAAG,CACpDF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,0BAAoB,CAAC,CAAC,CAC7C,CAAC,EACDA,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,cAAc,QAAQ,CAAC,CACjD,CACF,EACAA,EAAI,GAAG,EACXA,EAAI,GAAG,GAAG,EACVE,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,GACnB,CACF,EACA,CACEA,EAAG,QAAS,CAAE,YAAa,uBAAwB,EAAG,CACpDF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,eAAe,CAAC,CAAC,CACxC,CAAC,EACDA,EAAI,GAAG,GAAG,EACVA,EAAI,SAAS,8BACTE,EAAG,MAAO,CACRF,EAAI,GACF;AAAA,0BACEA,EAAI,GAAGA,EAAI,cAAc,EACzB;AAAA,qBACJ,CACF,CAAC,EACDE,EAAG,MAAO,CACRF,EAAI,SAAS,cACbA,EAAI,iBAAiB,SACjBE,EACE,MACA,CACEA,EACE,uBACA,CACE,MAAO,CACL,gBAAiB,qBACjB,oBACEF,EAAI,gBACR,CACF,EACA,CACEE,EAAG,gBAAiB,CAClB,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,YAAa,OACb,MAAO,CACL,QAASF,EAAI,QACb,KAAM,qBACN,MAAOA,EAAI,SAAS,WACtB,EACA,MAAO,CACL,MACEA,EAAI,SAAS,SAAS,YACxB,SAAU,SAAU4F,EAAK,CACvB5F,EAAI,KACFA,EAAI,SAAS,SACb,cACA4F,CACF,CACF,EACA,WACE,+BACJ,CACF,CAAC,CACH,EACA,CACF,CACF,EACA,CACF,EACA1F,EACE,MACA,CACEA,EACE,uBACA,CACE,MAAO,CACL,gBACE,4BACF,oBACEF,EAAI,gBACR,CACF,EACA,CACEE,EAAG,gBAAiB,CAClB,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,YAAa,OACb,MAAO,CACL,QAASF,EAAI,QACb,KAAM,4BACN,MAAOA,EAAI,QAAQ,WACrB,EACA,MAAO,CACL,MACEA,EAAI,SAAS,QAAQ,YACvB,SAAU,SAAU4F,EAAK,CACvB5F,EAAI,KACFA,EAAI,SAAS,QACb,cACA4F,CACF,CACF,EACA,WACE,8BACJ,CACF,CAAC,CACH,EACA,CACF,CACF,EACA,CACF,CACN,CAAC,CACP,CACF,CACF,EACA,CACF,CACF,EACA,CACF,EACA5F,EAAI,GAAG,GAAG,EACVE,EACE,MACA,CAAE,YAAa,KAAM,EACrBF,EAAI,GAAGA,EAAI,iBAAkB,SAAUrE,EAAiBnF,EAAO,CAC7D,OAAO0J,EACL,MACA,CAAE,YAAa,UAAW,EAC1B,CACEA,EAAG,wBAAyB,CAC1B,MAAO,CACL,MAAOF,EAAI,GAAG,kBAAkB,GAAKxJ,EAAQ,GAC7C,iBAAkBmF,EAClB,SAAU,EACZ,CACF,CAAC,CACH,EACA,CACF,CACF,CAAC,EACD,CACF,EACAqE,EAAI,GAAG,GAAG,EACVE,EAAG,IAAI,EACPF,EAAI,GAAG,GAAG,EACVE,EAAG,KAAM,CAAE,YAAa,mCAAoC,EAAG,CAC7DF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,OAAO,CAAC,CAAC,CAChC,CAAC,EACDA,EAAI,GAAG,GAAG,EACVE,EAAG,oBAAqB,CAACA,EAAG,2BAA2B,CAAC,EAAG,CAAC,EAC5DF,EAAI,GAAG,GAAG,EACVE,EAAG,IAAI,EACPF,EAAI,GAAG,GAAG,EACVE,EAAG,MAAO,CAAE,YAAa,KAAM,EAAG,CAChCA,EACE,MACA,CAAE,YAAa,UAAW,EAC1B,CACEA,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,GACnB,CACF,EACA,CACEA,EAAG,QAAS,CAAE,YAAa,uBAAwB,EAAG,CACpDF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,4BAAsB,CAAC,CAAC,CAC/C,CAAC,EACDA,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,WAAWA,EAAI,SAAS,SAAS,CAAC,CAAC,CAC7D,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,GACnB,CACF,EACA,CACEA,EAAG,QAAS,CAAE,YAAa,uBAAwB,EAAG,CACpDF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,kBAAkB,CAAC,CAAC,CAC3C,CAAC,EACDA,EAAI,GACF,IACEA,EAAI,GAAGA,EAAI,SAAS,cAAc,EAClC,IACAA,EAAI,GAAGA,EAAI,GAAG,KAAK,CAAC,CACxB,CACF,CACF,CACF,EACA,CACF,EACAA,EAAI,GAAG,GAAG,EACVA,EAAI,yBAA2BA,EAAI,SAAS,wBACxCE,EACE,MACA,CAAE,YAAa,UAAW,EAC1B,CACEF,EAAI,uBACAE,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,GACnB,CACF,EACA,CACEA,EACE,QACA,CAAE,YAAa,uBAAwB,EACvC,CAACF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAC3C,EACAA,EAAI,GAAG,GAAG,EACVA,EAAI,SAAS,iBAAiB,QAAQ,OAClCE,EAAG,OAAQ,CACTF,EAAI,GACFA,EAAI,GAAGA,EAAI,GAAG,MAAM,CAAC,EACnBA,EAAI,GACFA,EAAI,SAAS,iBAAiB,QAC3B,MACL,CACJ,EACAE,EAAG,IAAI,CACT,CAAC,EACDF,EAAI,GAAG,EACXA,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,sBAAsB,CAAC,CACjD,CACF,EACAA,EAAI,GAAG,EACXA,EAAI,GAAG,GAAG,EACVE,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,GACnB,CACF,EACA,CACEA,EAAG,QAAS,CAAE,YAAa,uBAAwB,EAAG,CACpDF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,cAAc,CAAC,CAAC,CACvC,CAAC,EACDA,EAAI,GACF,IACEA,EAAI,GACFA,EAAI,sBACFA,EAAI,SAAS,eACf,CACF,CACJ,CACF,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,GACnB,CACF,EACA,CACEF,EAAI,SAAS,iBACbA,EAAI,oBAAoB,MACpBE,EAAG,QAAS,CAAE,YAAa,uBAAwB,CAAC,EACpDF,EAAI,GAAG,EACXA,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,SAAS,aAAa,CAAC,CACjD,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,GACnB,CACF,EACA,CACEF,EAAI,SAAS,iBACbA,EAAI,oBAAoB,gBACpBE,EACE,QACA,CAAE,YAAa,uBAAwB,EACvC,CAACF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAC9C,EACAA,EAAI,GAAG,EACXA,EAAI,GACF,IACEA,EAAI,GACFA,EAAI,SAAS,iBACV,uBACL,CACJ,CACF,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,GACnB,CACF,EACA,CACEF,EAAI,SAAS,iBACbA,EAAI,oBAAoB,gBACpBE,EACE,QACA,CAAE,YAAa,uBAAwB,EACvC,CAACF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,0BAAiB,CAAC,CAAC,CAAC,CAC5C,EACAA,EAAI,GAAG,EACXA,EAAI,GACF,IACEA,EAAI,GACFA,EAAI,SAAS,iBAAiB,iBAChC,CACJ,CACF,CACF,CACF,EACA,CACF,EACAA,EAAI,GAAG,CACb,CAAC,EACDA,EAAI,GAAG,GAAG,EACVE,EAAG,IAAI,EACPF,EAAI,GAAG,GAAG,EACVE,EAAG,MAAO,CAAE,YAAa,mBAAoB,EAAG,CAC9CA,EAAG,MAAO,CAAE,YAAa,WAAY,EAAG,CACtCA,EAAG,KAAM,CAAE,YAAa,mCAAoC,EAAG,CAC7DF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,cAAc,CAAC,CAAC,CACvC,CAAC,EACDA,EAAI,GAAG,GAAG,EACVA,EAAI,cAAc,WAAW,IAAI,EAC7BE,EAAG,IAAK,CACNF,EAAI,GACF;AAAA,sBACEA,EAAI,GAAGA,EAAI,GAAG,iBAAiB,CAAC,EAChC,GACJ,EACAE,EACE,IACA,CACE,MAAO,CACL,KAAM,gEACN,OAAQ,QACV,CACF,EACA,CAACF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAC5C,EACAA,EAAI,GACF;AAAA,sBACEA,EAAI,GACFA,EAAI,GACF,8GACF,CACF,EACA;AAAA,iBACJ,CACF,CAAC,EACDE,EAAG,IAAK,CACNF,EAAI,GACF;AAAA,sBACEA,EAAI,GAAGA,EAAI,GAAG,iBAAiB,CAAC,EAChC,GACJ,EACAE,EACE,IACA,CACE,MAAO,CACL,KAAM,mEACN,OAAQ,QACV,CACF,EACA,CAACF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAC7C,EACAA,EAAI,GACF;AAAA,sBACEA,EAAI,GACFA,EAAI,GACF,2FACF,CACF,EACA;AAAA,iBACJ,CACF,CAAC,EACLA,EAAI,GAAG,GAAG,EACVE,EAAG,IAAK,CACNF,EAAI,GACF;AAAA,sBACEA,EAAI,GAAGA,EAAI,GAAG,0BAA0B,CAAC,EACzC;AAAA,iBACJ,CACF,CAAC,EACDA,EAAI,GAAG,GAAG,EACVE,EACE,QACA,CAAE,YAAa,iBAAkB,EACjC,CACEA,EACE,uBACA,CACE,MAAO,CACL,gBAAiB,cACjB,oBAAqBF,EAAI,gBAC3B,CACF,EACA,CACEE,EAAG,QAAS,CACV,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,MAAO,CACL,KAAM,WACN,KAAM,cACN,aAAc,IACd,cAAe,GACjB,EACA,SAAU,CAAE,MAAOF,EAAI,SAAS,WAAY,CAC9C,CAAC,EACDA,EAAI,GACF;AAAA,0BACEA,EAAI,GAAGA,EAAI,GAAG,0BAAuB,CAAC,EACtC;AAAA,qBACJ,CACF,CACF,CACF,EACA,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EAAG,IAAI,EACPF,EAAI,GAAG,GAAG,EACTA,EAAI,SAAS,8BAmFVA,EAAI,GAAG,EAlFPE,EAAG,MAAO,CACRA,EACE,QACA,CAAE,YAAa,iBAAkB,EACjC,CACEA,EACE,uBACA,CACE,MAAO,CACL,gBACE,uCACF,oBAAqBF,EAAI,gBAC3B,CACF,EACA,CACEE,EAAG,QAAS,CACV,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,MAAO,CACL,KAAM,WACN,KAAM,uCACN,aAAc,IACd,cAAe,GACjB,EACA,SAAU,CACR,MACEF,EAAI,SACD,oCACP,EACA,GAAI,CACF,MAAO,SAAUG,EAAQ,CACvBH,EAAI,SAAS,qCACXG,EAAO,OAAO,KAClB,CACF,CACF,CAAC,EACDH,EAAI,GACF;AAAA,8BACEA,EAAI,GACFA,EAAI,GAAG,8CAAwC,CACjD,EACA;AAAA,yBACJ,CACF,CACF,CACF,EACA,CACF,EACAA,EAAI,GAAG,GAAG,EACVA,EAAI,SAAS,cAAgBA,EAAI,iBAAiB,SAC9CE,EAAG,QAAS,CAAE,YAAa,iBAAkB,EAAG,CAC9CA,EAAG,QAAS,CACV,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,MAAO,CACL,KAAM,WACN,KAAM,kBACN,aAAc,IACd,cAAe,GACjB,EACA,SAAU,CAAE,MAAOF,EAAI,SAAS,eAAgB,CAClD,CAAC,EACDA,EAAI,GACF;AAAA,0BACEA,EAAI,GACFA,EAAI,GACF,sMACF,CACF,EACA;AAAA,qBACJ,CACF,CAAC,EACDA,EAAI,GAAG,CACb,CAAC,CAEP,CAAC,CACH,CAAC,EACDA,EAAI,GAAG,GAAG,EACVE,EAAG,MAAO,CAAE,YAAa,KAAM,EAAG,CAChCA,EACE,MACA,CAAE,YAAa,WAAY,EAC3B,CACEF,EAAI,UACAE,EAAG,oBAAqB,CAAE,YAAa,mBAAoB,CAAC,EAC5DF,EAAI,GAAG,EACXA,EAAI,GAAG,GAAG,EACVE,EACE,OACA,CACE,WAAY,CACV,CACE,KAAM,OACN,QAAS,SACT,MAAO,CAACF,EAAI,UACZ,WAAY,YACd,EACA,CACE,KAAM,wBACN,QAAS,yBACX,CACF,EACA,YAAa,cACb,MAAO,CACL,OAAQ,OACR,OAAQ,gCACV,CACF,EACA,CACEA,EAAI,SAAS,kBACbA,EAAI,SAAS,eAAiBA,EAAI,iBAAiB,QAC/C,CACEE,EACE,SACA,CACE,YAAa,yBACb,MAAO,CAAE,SAAUF,EAAI,SAAU,EACjC,MAAO,CAAE,KAAM,QAAS,CAC1B,EACA,CACEE,EAAG,IAAK,CAAE,YAAa,aAAc,CAAC,EACtCF,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,GAAG,oBAAiB,CAAC,CAAC,CAChD,CACF,CACF,EACAA,EAAI,SAAS,kBACbA,EAAI,SAAS,eACXA,EAAI,iBAAiB,SACvB,CACEE,EACE,SACA,CACE,YAAa,yBACb,MAAO,CAAE,SAAUF,EAAI,SAAU,EACjC,MAAO,CAAE,KAAM,QAAS,EACxB,GAAI,CACF,MAAO,SAAUG,EAAQ,CACvB,OAAOH,EAAI,UAAU,CACvB,CACF,CACF,EACA,CACEE,EAAG,IAAK,CAAE,YAAa,aAAc,CAAC,EACtCF,EAAI,GAAG,GAAG,EACVA,EAAI,SAAS,8BACTE,EAAG,OAAQ,CACTF,EAAI,GACF;AAAA,8BACEA,EAAI,GAAGA,EAAI,GAAG,oBAAiB,CAAC,EAChC;AAAA,yBACJ,CACF,CAAC,EACDE,EAAG,OAAQ,CACTF,EAAI,GACF;AAAA,8BACEA,EAAI,GAAGA,EAAI,GAAG,oBAAiB,CAAC,EAChC;AAAA,yBACJ,CACF,CAAC,CACP,CACF,CACF,EACA,CACEE,EACE,SACA,CACE,YAAa,yBACb,MAAO,CAAE,SAAUF,EAAI,SAAU,EACjC,MAAO,CAAE,KAAM,QAAS,CAC1B,EACA,CACEE,EAAG,IAAK,CAAE,YAAa,aAAc,CAAC,EACtCF,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,GAAG,oBAAiB,CAAC,CAAC,CAChD,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,SACA,CACE,YAAa,uBACb,MAAO,CAAE,SAAUF,EAAI,SAAU,EACjC,MAAO,CAAE,KAAM,QAAS,EACxB,GAAI,CACF,MAAO,SAAUG,EAAQ,CACvB,OAAOH,EAAI,cAAc,CAC3B,CACF,CACF,EACA,CACEE,EAAG,IAAK,CAAE,YAAa,YAAa,CAAC,EACrCF,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,GAAG,mBAAmB,CAAC,CAAC,CAClD,CACF,CACF,CACN,EACA,CACF,CACF,EACA,CACF,CACF,CAAC,CACH,EACA,CACF,CACF,CAAC,CACH,EACI,GAAkB,CAAC,EACvB,GAAO,cAAgB,G,qMC57BnBua,GAAc,GACdC,GAAoB,GACpB,gBAAkB,MAAQ,gBAAkB,KACxC,cAAc,WAAW,IAAI,IAC7BD,GAAc,QACdC,GAAoB,SAEpB,cAAc,WAAW,IAAI,IAC7BD,GAAc,QACdC,GAAoB,WAe5B,IAAqBC,GAArB,cAAuD,SAAI,CAuCvD,aAAc,CACV,MAAM,EAjBV,2BAA+DtQ,GAC/D,yBAAkDre,EAClD,sBAA4CjB,CAgB5C,CAxCA,IAAI,kBAAsC,CAAE,OAAO,KAAK,OAAO,MAAM,gBAAkB,CACvF,IAAI,WAAqB,CAAE,OAAO,KAAK,OAAO,MAAM,eAAgB,CACpE,IAAI,UAA+B,CAAE,OAAO,KAAK,OAAO,MAAM,QAAU,CACxE,IAAI,UAA+B,CAAE,OAAO,KAAK,SAAS,QAAU,CACpE,IAAI,SAA6B,CAAE,OAAO,KAAK,SAAS,OAAS,CACjE,IAAI,cAAuB,CAAE,OAAO,KAAK,OAAO,QAAQ,YAAc,CACtE,IAAI,oBAA6B,CAAE,OAAO,KAAK,OAAO,QAAQ,kBAAoB,CAClF,IAAI,eAAwB,CAAE,OAAO,KAAK,OAAO,QAAQ,aAAe,CACxE,IAAI,eAAwB,CAAE,OAAO,KAAK,OAAO,QAAQ,aAAe,CACxE,IAAI,iBAAqC,CAAE,OAAO,KAAK,OAAO,QAAQ,eAAiB,CACvF,IAAI,yBAAmC,CAAE,OAAO,KAAK,iBAAiB,qBAAuB,CAC7F,IAAI,kBAA4B,CAAE,OAAO,KAAK,SAAS,gBAAiB,CACxE,IAAI,eAAyC,CAAE,OAAO,KAAK,SAAS,aAAe,CACnF,IAAI,kBAA8C,CAC9C,IAAI0G,EAAM,CAAC,EACX,YAAK,SAAS,iBAAiB,QAAQ4J,GAAK,CACnCoP,GAAmB,QAAQpP,CAAC,GAC7B5J,EAAI,KAAK4J,CAAC,CAClB,CAAC,EACM5J,CACX,CAaO,eAAgB,CAAE,CAGzB,WAAY,CAAE,CAMd,SAAU,CACN,GAAI,KAAK,SAAS,SAAS,aAAe,KAAM,CAC5C,IAAImpB,EAAU,qBACV,KAAK,SAAS,cAAgB7vB,EAAiB,UAC/C6vB,EAAU,6BACd,IAAI,QAAc,CAACrpB,EAASC,IAAW,CACnC,KAAK,OAAO,SAAS,cAAe,CAAE,IAAKopB,EAAS,MAAOH,EAAY,CAAC,EAAE,KAAKhpB,GAAOF,EAAQ,CAAC,CACnG,CAAC,CACL,CACA,QAAQ,IAAI,8BAA8B,CAC9C,CAEA,IAAI,uBAAwB,CACxB,OAAO+Y,GAAc,eAAe,KAAK,eAAe,CAC5D,CAEA,IAAI,4BAA6B,CAC7B,IAAIuQ,EAAO,KAAK,SAAS,cAAc,QACvC,OAAOvQ,GAAc,eAAeuQ,CAAI,CAC5C,CAEA,IAAI,wBAAiC,CACjC,OAAI,KAAK,SAAS,iBAAiB,mBAAqB,MAAQ,KAAK,SAAS,iBAAiB,mBAAqB,GACzG,KAAK,SAAS,iBAAiB,kBAAoB,KAAOvQ,GAAc,eAAe,KAAK,SAAS,iBAAiB,OAAO,EAEjIA,GAAc,eAAe,KAAK,SAAS,iBAAiB,OAAO,CAC9E,CAEA,SAAU,CACN,QAAQ,IAAI,UAAU,CAC1B,CAEA,WAAW1R,EAAc,CACrB,OAAO,cAA6BA,CAAI,CAC5C,CAEA,sBAAsBlB,EAA8C,CAChE,OAAO2S,GAA+B3S,EAAiB,KAAK,MAAM,MAAM,CAC5E,CAEA,IAAI,gBAAiB,CACjB,IAAIojB,EAAiB,GACrB,OAAI,gBAAkB,MAAQ,gBAAkB,KACxC,cAAc,WAAW,IAAI,IAC7BA,EAAiB,KAAK,GAAG,OAAO,EAAE,SAAS,GAE3C,cAAc,WAAW,IAAI,IAC7BA,EAAiB,KAAK,GAAG,QAAQ,EAAE,SAAS,IAG7CA,CACX,CAEA,MAAO,CACH,MAAO,CAEH,QAAS,CACL,CAAE,MAAO,OAAQ,KAAM,KAAK,GAAG,uBAAuB,EAAG,SAAU,EAAK,EACxE,CAAE,MAAO,QAAS,KAAM,KAAK,GAAG,OAAO,CAAE,EACzC,CAAE,MAAO,QAAS,KAAM,KAAK,GAAG,QAAQ,CAAE,CAC9C,CACJ,CACJ,CACJ,EA9EW,IADNrW,EAAK,CAAE,QAAS,UAAY,CAAE,OAAO,IAAI9G,EAAmB,CAAE,CAAC,GA3B/Cgd,GA4BV,gCAGA,IADNlW,EAAK,GA9BWkW,GA+BV,6BAGA,IADNxV,EAAK,GAjCWwV,GAkCV,6BAGP,IADCxV,EAAK,GApCWwV,GAqCjB,yBArCiBA,GAArB,IAXC,EAAU,CACP,WAAY,CACR,oBAAmB,GACnB,mBAAkB,GAClB,gBAAe,GACf,oBAAmB,GACnB,wBAAuB,GACvB,iBAAkB,EACtB,CACJ,CAAC,GAEoBA,EAAyB,EC3CmH,OAAe,G,uBCAsJ,GAAe,KCOjV,MAAY,KACd,GACA,GACA,GACA,GACA,KACA,KACA,IAEF,EAII,OAAO,IAAW,YAAY,GAAO,EAAS,EAElD,OAAe,GAAU,QCtBrB,GAAS,UAAY,CACvB,IAAIza,EAAM,KACNC,EAAKD,EAAI,eACTE,EAAKF,EAAI,MAAM,IAAMC,EACzB,OAAOC,EACL,UACA,CACE,MAAO,CACL,OAAQ,GACR,SAAU,GACV,UAAWF,EAAI,aACf,cAAe,kBACjB,EACA,GAAI,CAAE,KAAMA,EAAI,2BAA4B,EAC5C,MAAO,CACL,MAAOA,EAAI,iBACX,SAAU,SAAU4F,EAAK,CACvB5F,EAAI,iBAAmB4F,CACzB,EACA,WAAY,kBACd,CACF,EACA,CAAC1F,EAAG,KAAM,CAAE,SAAU,CAAE,YAAaF,EAAI,GAAGA,EAAI,cAAc,CAAE,CAAE,CAAC,CAAC,CACtE,CACF,EACI,GAAkB,CAAC,EACvB,GAAO,cAAgB,G,qMCnBvB,IAAqB6a,GAArB,cAA+C,SAAI,CAc/C,aAAc,CACV,MAAM,EAgBV,sBAA4B,GAfxB,QAAQ,IAAI,iCAAiC,CACjD,CAEA,SAAU,CACN,QAAQ,IAAI,6BAA6B,CAC7C,CAEA,SAAU,CACNvjB,EAAA,gCAAkD,KAAK,0BAA0B,CACrF,CAEA,eAAgB,CACZA,EAAA,mCAAqD,KAAK,0BAA0B,CACxF,CAIA,uBAAuBwjB,EAAqB,CACxC,QAAQ,IAAI,0BAA0B,EACtC,KAAK,iBAAmBA,CAC5B,CAKA,4BAA4B7sB,EAAmB,CAG3C,OAFA,QAAQ,IAAI,kCAAoCA,CAAG,EACnD,EAAE,QAAQ,CAAE,QAAS,aAAa,CAAC,EAC3BA,EAAK,CACT,IAAK,KAAM,OAAO,SAAS,KAAO,KAAK,cAAe,MACtD,QAAS,OAAO,SAAS,KAAO,KAAK,YAAa,KACtD,CACJ,CAEA,4BAAmC,CAC/B,QAAQ,IAAI,8BAA8B,EACrC,KAAK,mBACN,QAAQ,IAAI,oCAAoC,EAChD,KAAK,uBAAuB,EAAI,EAExC,CAEJ,EAvDI,IADCsW,EAAK,GAFWsW,GAGjB,8BAGA,IADCtW,EAAK,GALWsW,GAMjB,4BAGA,IADCtW,EAAK,GARWsW,GASjB,6BAGA,IADCtW,EAAK,GAXWsW,GAYjB,2BAZiBA,GAArB,IAHC,EAAU,CACX,CAAC,GAEoBA,EAAiB,ECPkH,OAAe,GCOnK,MAAY,KACd,GACA,GACA,GACA,GACA,KACA,KACA,IAEF,EAEA,GAAe,GAAU,QCPzB,cAAQ,MAAY,EAGpB,cAAQ,IAAO,EAWf,MAAM,GAAO,IAAI,KAAQ,CACrB,OAAQ,cACR,aAAc,GACd,sBAAuB,EAC3B,CAAC,EAEM,MAAME,EAAa,CAGtB,YAAYrc,EAAsB,CAuClC,8BAA4BhB,GAAW,KAAK,iBAAiBA,CAAM,EAmDnE,qCAAkC,IAAM,KAAK,wBAAwB,EAzFjE,QAAQ,IAAI,gBAAkBgB,CAAY,EAC1C,IAAI/D,EAAO,KACX,KAAK,YAAc,IAAImD,GAAY,CAC/B,GAAIY,EACJ,OAAQ,CACJ,CAAE,KAAM,qBAAsB,GAAI,CAAE,EACpC,CAAE,KAAM,qBAAsB,GAAI,CAAE,CACxC,EACA,WAAY,CACR,UAAW,kBACX,YAAa,oBACb,aAAc,qBACd,aAAc,qBACd,YAAa,oBACb,YACJ,EACA,gBAEA,MAAO,CACH,WAAY,CAAE,iBAAgB,GAAE,0BAAyB,GAAE,kBAAiB,EAAC,EAC7E,KAAI,GACJ,SAAU,CACN,QAAQ,IAAI,eAAe,EAC3BpH,EAAA,4BAA8CqD,EAAK,wBAAwB,EAC3ErD,EAAA,mCAAqDqD,EAAK,+BAA+B,CAC7F,EACA,eAAgB,CACZ,QAAQ,IAAI,iBAAiB,EAC7BrD,EAAA,+BAAiDqD,EAAK,wBAAwB,EAC9ErD,EAAA,sCAAwDqD,EAAK,+BAA+B,CAChG,CACJ,CACJ,CAAC,CACL,CAOA,iBAAiBtD,EAAoC,CACjD,MAAM6E,EAAgB7E,EAAiB,OAAO,EACxC0c,EAAI,KAAK,YAAY,IAAI,eAEzBrW,EAAS,CAAC,EAChB,QAAS+B,EAAI,EAAGA,EAAIvD,EAAc,OAAQ,EAAEuD,EACxC/B,EAAO,KAAKqW,EAAE,KAAM7X,EAAcuD,CAAC,CAAC,CAAC,EAGzC,MAAMub,EAAYjH,EACd,KACA,CAAE,MAAO,CAAC,KAAK,CAAE,EACjBrW,CACJ,EAEA,GAAI,cAAc,WAAW,IAAI,EAAG,CAChC,MAAMud,EAAclH,EAChB,MACA,CACI,MAAO,CAAC,KAAK,CACjB,EACA,iBACJ,EAEA,KAAK,YAAY,IAAI,SAAS,MAAM,CAACiH,CAAS,EAAG,CAC7C,MAAO,CAACC,CAAW,EACnB,QAAS,SACT,MAAO,GACP,cAAe,GACnB,CAAC,CACL,KACK,CACD,MAAMA,EAAclH,EAChB,MACA,CACI,MAAO,CAAC,KAAK,CACjB,EACA,qBACJ,EAEA,KAAK,YAAY,IAAI,SAAS,MAAM,CAACiH,CAAS,EAAG,CAC7C,MAAO,CAACC,CAAW,EACnB,QAAS,SACT,MAAO,GACP,cAAe,GACnB,CAAC,CACL,CACJ,CAIA,yBAA0B,CACtB,KAAK,YAAY,IAAI,SAAS,MAAM,0CAA2C,CAC3E,MAAO,sBACP,QAAS,UACT,MAAO,GACP,cAAe,GACnB,CAAC,CACL,CACJ,CAEA,IAAIC,GAAO,IAAIH,GAAa,gBAAgB,C,wBCxI5C,IAAIxmB,EAAM,CACT,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,gBAAiB,MACjB,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,UAAW,MACX,aAAc,MACd,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,MACX,aAAc,MACd,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,UAAW,MACX,aAAc,MACd,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,YAAa,MACb,eAAgB,MAChB,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,QAAS,MACT,WAAY,MACZ,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,UAAW,MACX,aAAc,MACd,QAAS,MACT,WAAY,MACZ,OAAQ,MACR,UAAW,MACX,QAAS,MACT,WAAY,MACZ,QAAS,MACT,aAAc,MACd,gBAAiB,MACjB,WAAY,MACZ,UAAW,KACX,aAAc,KACd,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,YAAa,MACb,eAAgB,MAChB,UAAW,KACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,gBAAiB,MACjB,OAAQ,MACR,UAAW,MACX,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,KACf,EAGA,SAAS4mB,EAAeC,EAAK,CAC5B,IAAI5d,EAAK6d,EAAsBD,CAAG,EAClC,OAAOE,EAAoB9d,CAAE,CAC9B,CACA,SAAS6d,EAAsBD,EAAK,CACnC,GAAG,CAACE,EAAoB,EAAE/mB,EAAK6mB,CAAG,EAAG,CACpC,IAAIjqB,EAAI,IAAI,MAAM,uBAAyBiqB,EAAM,GAAG,EACpD,MAAAjqB,EAAE,KAAO,mBACHA,CACP,CACA,OAAOoD,EAAI6mB,CAAG,CACf,CACAD,EAAe,KAAO,UAA8B,CACnD,OAAO,OAAO,KAAK5mB,CAAG,CACvB,EACA4mB,EAAe,QAAUE,EACzBnxB,EAAO,QAAUixB,EACjBA,EAAe,GAAK,K,qECnRpB,IAAIhqB,EAAE,UAAU,CAAC,OAAOA,EAAE,OAAO,QAAQ,SAASA,EAAE,CAAC,QAAQoqB,EAAEC,EAAE,EAAExT,EAAE,UAAU,OAAOwT,EAAExT,EAAEwT,IAAI,QAAQtN,KAAKqN,EAAE,UAAUC,CAAC,EAAE,OAAO,UAAU,eAAe,KAAKD,EAAErN,CAAC,IAAI/c,EAAE+c,CAAC,EAAEqN,EAAErN,CAAC,GAAG,OAAO/c,CAAC,GAAG,MAAM,KAAK,SAAS,CAAC,EAAEoqB,EAAE,CAAC,MAAM,SAAS,UAAU,QAAQ,UAAU,eAAe,EAAE,SAASC,EAAErqB,EAAEoqB,EAAE,CAAC,OAAOA,EAAEA,EAAE,YAAY,EAAE,EAAE,CAAC,SAASvT,EAAE7W,EAAE,CAAC,QAAQ6W,EAAEkG,EAAE,CAAC,EAAE3gB,EAAE,EAAEyY,EAAE7U,EAAE,MAAMoqB,EAAE,SAAS,EAAEhuB,EAAEyY,EAAE,OAAOzY,IAAI,CAAC,IAAIkuB,GAAEzV,EAAEzY,CAAC,EAAE,MAAMguB,EAAE,SAAS,EAAE9b,EAAEgc,GAAE,CAAC,EAAE1Q,EAAE0Q,GAAE,CAAC,GAAGhc,EAAEA,EAAE,KAAK,KAAe,OAAOsL,GAAjB,WAAqBA,EAAEA,EAAE,KAAK,GAAGmD,EAAGlG,EAAEvI,EAAEuI,EAAE,QAAQuT,EAAE,MAAMC,CAAC,CAAE,EAAEzQ,EAAE,CAAC,OAAOmD,CAAC,CAAC,SAASA,GAAG,CAAC,QAAQqN,EAAEC,EAAEtN,EAAE,CAAC,EAAE3gB,EAAE,UAAU,OAAOA,KAAK,QAAQyY,EAAE,EAAEyV,GAAE,OAAO,KAAK,UAAUluB,CAAC,CAAC,EAAEyY,EAAEyV,GAAE,OAAOzV,IAAI,OAAOuV,EAAEE,GAAEzV,CAAC,EAAE,CAAC,IAAI,QAAQ,IAAI,QAAQ,IAAI,aAAa,GAAG,MAAM,QAAQkI,EAAEqN,CAAC,CAAC,IAAIrN,EAAEqN,CAAC,EAAE,CAAC,GAAaA,IAAV,QAAY,CAAC,IAAI9b,EAAE,OAAOA,EAAE,MAAM,QAAQ,UAAUlS,CAAC,EAAE,KAAK,EAAE,UAAUA,CAAC,EAAE,MAAM,CAAC,UAAUA,CAAC,EAAE,KAAK,EAAE,QAAQwd,EAAE,EAAEA,EAAEtL,EAAE,OAAOsL,IAAI,CAAC,IAAI2Q,EAAEjc,EAAEsL,CAAC,EAAY,OAAO2Q,GAAjB,WAAqBjc,EAAEsL,CAAC,EAAE/C,EAAE0T,CAAC,EAAE,CAAC,UAAUnuB,CAAC,EAAE,MAAMkS,CAAC,CAACyO,EAAEqN,CAAC,EAAErN,EAAEqN,CAAC,EAAE,OAAO,UAAUhuB,CAAC,EAAEguB,CAAC,CAAC,EAAE,MAAM,IAAI,cAAc,GAAG,CAAC,UAAUhuB,CAAC,EAAEguB,CAAC,EAAE,MAAerN,EAAEqN,CAAC,IAAZ,SAAgBrN,EAAEqN,CAAC,EAAE,IAAIrN,EAAEqN,CAAC,IAAIrN,EAAEqN,CAAC,GAAG,KAAKrN,EAAEqN,CAAC,GAAG,UAAUhuB,CAAC,EAAEguB,CAAC,EAAE,KAAK,EAAE,MAAM,IAAI,KAAK,IAAI,WAAWrN,EAAEqN,CAAC,IAAIrN,EAAEqN,CAAC,EAAE,CAAC,GAAG,QAAQnL,EAAE,EAAEljB,GAAE,OAAO,KAAK,UAAUK,CAAC,EAAEguB,CAAC,GAAG,CAAC,CAAC,EAAEnL,EAAEljB,GAAE,OAAOkjB,IAAIoL,EAAEtuB,GAAEkjB,CAAC,EAAElC,EAAEqN,CAAC,EAAEC,CAAC,EAAEtN,EAAEqN,CAAC,EAAEC,CAAC,EAAE,CAAC,EAAE,OAAOtN,EAAEqN,CAAC,EAAEC,CAAC,EAAE,UAAUjuB,CAAC,EAAEguB,CAAC,EAAEC,CAAC,CAAC,EAAEtN,EAAEqN,CAAC,EAAEC,CAAC,EAAE,UAAUjuB,CAAC,EAAEguB,CAAC,EAAEC,CAAC,EAAE,MAAM,IAAI,QAAQ,IAAI,QAAQ,IAAI,WAAW,IAAI,cAAc,IAAI,cAAc,IAAI,OAAO,IAAI,aAAatN,EAAEqN,CAAC,IAAIrN,EAAEqN,CAAC,EAAE,CAAC,GAAGrN,EAAEqN,CAAC,EAAEpqB,EAAE,CAAC,EAAE,UAAU5D,CAAC,EAAEguB,CAAC,EAAErN,EAAEqN,CAAC,CAAC,EAAE,MAAM,IAAI,OAAO,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,OAAO,IAAI,YAAY,QAAQrN,EAAEqN,CAAC,IAAIrN,EAAEqN,CAAC,EAAE,UAAUhuB,CAAC,EAAEguB,CAAC,EAAE,CAAC,OAAOrN,CAAC,C,uBCAxgD,SAAS/c,EAAEqqB,EAAE,CAAsDA,EAAEG,CAAO,CAAqG,GAAE,KAAK,SAASxqB,EAAE,CAAC,aAAa,SAASqqB,EAAErqB,EAAEqqB,EAAE,CAAC,QAAQtN,GAAE,EAAEA,GAAEsN,EAAE,OAAOtN,KAAI,CAAC,IAAIuN,EAAED,EAAEtN,EAAC,EAAEuN,EAAE,WAAWA,EAAE,YAAY,GAAGA,EAAE,aAAa,GAAG,UAAUA,IAAIA,EAAE,SAAS,IAAI,OAAO,eAAetqB,EAAEsqB,EAAE,IAAIA,CAAC,CAAC,CAAC,CAAC,IAAIvN,EAAE,UAAU,CAAC,SAAS/c,EAAEqqB,EAAEtN,GAAEuN,GAAEG,GAAE,EAAE,SAASzqB,GAAEqqB,GAAE,CAAC,GAAG,EAAErqB,cAAaqqB,IAAG,MAAM,IAAI,UAAU,mCAAmC,CAAC,GAAE,KAAKrqB,CAAC,EAAE,KAAK,SAASqqB,EAAE,KAAK,OAAOtN,GAAE,KAAK,WAAWuN,GAAE,KAAK,KAAKG,GAAE,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC,IAAI1N,EAAEuN,GAAEG,EAAE,OAAO1N,EAAE/c,GAAGsqB,GAAE,CAAC,CAAC,IAAI,WAAW,IAAI,UAAU,CAAC,OAAO,KAAK,SAAS,EAAE,IAAI,SAAStqB,EAAE,CAAC,GAAa,OAAOA,GAAjB,SAAmB,MAAM,IAAI,UAAU,2BAA2B,EAAE,KAAK,UAAUA,CAAC,CAAC,EAAE,CAAC,IAAI,SAAS,IAAI,UAAU,CAAC,OAAO,KAAK,OAAO,EAAE,IAAI,SAASA,EAAE,CAAC,GAAQA,EAAE,SAAP,GAAc,MAAM,IAAI,WAAW,+BAA+B,OAAO,KAAK,SAAS,WAAW,CAAC,EAAE,KAAK,QAAQA,CAAC,CAAC,EAAE,CAAC,IAAI,aAAa,IAAI,UAAU,CAAC,OAAO,KAAK,WAAW,EAAE,IAAI,SAASA,EAAE,CAAC,GAAQA,EAAE,SAAP,GAAc,MAAM,IAAI,WAAW,2CAA2C,OAAO,KAAK,SAAS,WAAW,CAAC,EAAE,KAAK,YAAYA,CAAC,CAAC,EAAE,CAAC,IAAI,OAAO,IAAI,UAAU,CAAC,OAAO,KAAK,KAAK,EAAE,IAAI,SAASA,EAAE,CAAC,GAAOA,EAAE,SAAN,EAAa,MAAM,IAAI,WAAW,4BAA4B,OAAO,KAAK,SAAS,WAAW,CAAC,EAAE,KAAK,MAAMA,CAAC,CAAC,CAAC,IAAIqqB,EAAEtN,EAAE,UAAUuN,EAAC,EAAEG,GAAGJ,EAAEtN,EAAE0N,CAAC,EAAEzqB,CAAC,EAAE,EAAEsqB,EAAE,IAAIvN,EAAE,YAAY,CAAC,WAAW,YAAY,QAAQ,QAAQ,MAAM,QAAQ,QAAQ,WAAW,YAAY,UAAU,WAAW,UAAU,EAAE,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,EAAE,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE0N,EAAE,IAAI1N,EAAE,SAAS,CAAC,iCAAQ,uCAAS,2BAAO,iCAAQ,2BAAO,iCAAQ,iCAAQ,iCAAQ,uCAAS,uCAAS,uCAAS,sCAAQ,EAAE,CAAC,iCAAQ,uCAAS,2BAAO,iCAAQ,2BAAO,iCAAQ,iCAAQ,iCAAQ,uCAAS,uCAAS,uCAAS,sCAAQ,EAAE,CAAC,qBAAM,iCAAQ,uCAAS,uCAAS,2BAAO,2BAAO,oBAAK,CAAC,EAAE0N,EAAE,IAAI,GAAG,IAAInc,EAAE,IAAIyO,EAAE,YAAY,CAAC,uCAAS,mDAAW,2BAAO,iCAAQ,qBAAM,qBAAM,qBAAM,uCAAS,yDAAY,mDAAW,6CAAU,kDAAU,EAAE,CAAC,eAAK,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,oBAAK,EAAE,CAAC,eAAK,eAAK,eAAK,eAAK,eAAK,eAAK,cAAI,CAAC,EAAEqN,EAAE,IAAIrN,EAAE,UAAU,CAAC,SAAS,UAAU,OAAO,QAAQ,MAAM,OAAO,OAAO,SAAS,YAAY,UAAU,WAAW,UAAU,EAAE,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,EAAE,CAAC,MAAM,MAAM,MAAM,MAAM,WAAM,MAAM,KAAK,CAAC,EAAElI,EAAE,IAAIkI,EAAE,UAAU,CAAC,QAAQ,SAAS,UAAO,QAAQ,OAAO,OAAO,SAAS,QAAQ,WAAW,UAAU,WAAW,UAAU,EAAE,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,EAAE,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAElG,EAAE,IAAIkG,EAAE,QAAQ,CAAC,QAAQ,UAAO,cAAS,QAAQ,cAAS,cAAS,gBAAW,QAAQ,kBAAO,gBAAQ,WAAW,UAAU,EAAE,CAAC,MAAM,SAAM,WAAM,MAAM,WAAM,WAAM,WAAM,MAAM,cAAM,cAAM,MAAM,KAAK,EAAE,CAAC,KAAK,KAAK,QAAK,KAAK,UAAK,QAAK,IAAI,CAAC,EAAE,EAAE,IAAIA,EAAE,SAAS,CAAC,SAAS,UAAU,QAAQ,QAAQ,MAAM,OAAO,OAAO,SAAS,YAAY,UAAU,WAAW,UAAU,EAAE,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,EAAE,CAAC,QAAK,KAAK,KAAK,KAAK,KAAK,KAAK,OAAI,CAAC,EAAEnD,EAAE,IAAImD,EAAE,SAAS,CAAC,SAAS,UAAU,UAAO,QAAQ,MAAM,OAAO,OAAO,SAAS,YAAY,UAAU,WAAW,UAAU,EAAE,CAAC,MAAM,MAAM,SAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,EAAE,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAEwL,GAAE,IAAIxL,EAAE,WAAW,CAAC,UAAU,WAAW,WAAQ,SAAS,MAAM,QAAQ,QAAQ,SAAS,YAAY,WAAW,WAAW,WAAW,EAAE,CAAC,OAAO,QAAQ,WAAQ,MAAM,MAAM,QAAQ,QAAQ,MAAM,OAAO,MAAM,MAAM,MAAM,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE2N,EAAE,IAAI3N,EAAE,QAAQ,CAAC,+DAAa,qEAAc,6CAAU,mDAAW,iCAAQ,6CAAU,6CAAU,yDAAY,qEAAc,yDAAY,yDAAY,8DAAY,EAAE,CAAC,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,2BAAO,2BAAO,qBAAM,qBAAM,qBAAM,qBAAM,oBAAK,EAAE,CAAC,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,oBAAK,CAAC,EAAEkC,EAAE,IAAIlC,EAAE,UAAU,CAAC,UAAU,WAAW,QAAQ,QAAQ,MAAM,OAAO,OAAO,SAAS,YAAY,UAAU,WAAW,UAAU,EAAE,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,EAAE,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE4N,EAAE,IAAI5N,EAAE,UAAU,CAAC,QAAQ,UAAU,QAAQ,QAAQ,OAAO,QAAQ,QAAQ,SAAS,aAAa,UAAU,YAAY,WAAW,EAAE,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,EAAE,CAAC,MAAM,MAAM,MAAM,SAAM,MAAM,MAAM,QAAK,CAAC,EAAE6N,EAAE,IAAI7N,EAAE,UAAU,CAAC,6CAAU,mDAAW,iCAAQ,qBAAM,iCAAQ,uCAAS,qBAAM,2BAAO,qBAAM,eAAK,2BAAO,gCAAO,EAAE,CAAC,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,eAAK,qBAAM,oBAAK,EAAE,CAAC,uCAAS,uCAAS,6CAAU,mDAAW,6CAAU,2BAAO,0BAAM,CAAC,EAAE8N,GAAE,IAAI9N,EAAE,UAAU,CAAC,WAAW,WAAW,YAAY,WAAW,WAAW,aAAU,cAAW,SAAS,UAAU,UAAU,YAAY,UAAU,EAAE,CAAC,QAAQ,QAAQ,SAAS,QAAQ,QAAQ,UAAO,WAAQ,MAAM,OAAO,OAAO,SAAS,OAAO,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE3gB,GAAE,IAAI2gB,EAAE,UAAU,CAAC,SAAS,UAAU,OAAO,WAAQ,MAAM,OAAO,OAAO,SAAS,YAAY,UAAU,WAAW,UAAU,EAAE,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,EAAE,CAAC,MAAM,SAAM,SAAM,MAAM,SAAM,SAAM,KAAK,CAAC,EAAE+N,GAAE,IAAI/N,EAAE,SAAS,CAAC,UAAU,aAAU,OAAO,QAAQ,MAAM,OAAO,UAAU,UAAO,YAAY,UAAU,WAAW,aAAU,EAAE,CAAC,MAAM,SAAM,MAAM,MAAM,MAAM,OAAO,OAAO,UAAO,MAAM,MAAM,MAAM,QAAK,EAAE,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAEvd,GAAE,IAAIud,EAAE,UAAU,CAAC,6CAAU,yDAAY,iCAAQ,uCAAS,iCAAQ,uCAAS,uCAAS,6CAAU,+DAAa,yDAAY,mDAAW,wDAAW,EAAE,CAAC,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,oBAAK,EAAE,CAAC,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,oBAAK,CAAC,EAAE6F,GAAE,IAAI7F,EAAE,WAAW,CAAC,UAAU,WAAW,QAAQ,QAAQ,OAAO,UAAO,QAAQ,SAAS,WAAW,UAAU,WAAW,UAAU,EAAE,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,SAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,EAAE,CAAC,MAAM,MAAM,MAAM,SAAM,MAAM,MAAM,QAAK,CAAC,EAAEhK,GAAE,IAAIgK,EAAE,SAAS,CAAC,iCAAQ,uCAAS,qBAAM,iCAAQ,qBAAM,2BAAO,2BAAO,uCAAS,uCAAS,6CAAU,uCAAS,gCAAO,EAAE,CAAC,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,oBAAK,EAAE,CAAC,SAAI,SAAI,SAAI,SAAI,SAAI,SAAI,QAAG,CAAC,EAAEhK,GAAE,IAAI,GAAG,IAAIgY,GAAE,IAAIhO,EAAE,WAAW,CAAC,gBAAW,eAAU,cAAS,UAAU,UAAU,SAAS,SAAS,UAAU,QAAQ,WAAW,UAAU,UAAU,EAAE,CAAC,MAAM,OAAO,WAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,EAAE,CAAC,MAAM,MAAM,MAAM,MAAM,WAAM,MAAM,KAAK,CAAC,EAAEiO,GAAE,IAAIjO,EAAE,YAAY,CAAC,YAAS,aAAU,aAAU,aAAU,WAAQ,YAAS,YAAS,YAAY,aAAa,aAAU,WAAW,UAAU,EAAE,CAAC,MAAM,OAAO,UAAO,SAAM,SAAM,SAAM,SAAM,MAAM,QAAQ,MAAM,MAAM,KAAK,EAAE,CAAC,MAAM,SAAM,KAAK,MAAM,SAAM,SAAM,KAAK,CAAC,EAAEhhB,GAAE,IAAIghB,EAAE,aAAa,CAAC,UAAU,WAAW,QAAQ,QAAQ,MAAM,OAAO,OAAO,UAAU,YAAY,UAAU,WAAW,UAAU,EAAE,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,EAAE,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAEkO,GAAE,IAAIlO,EAAE,YAAY,CAAC,YAAS,aAAU,OAAO,WAAQ,SAAM,aAAO,aAAO,cAAQ,YAAY,aAAU,cAAW,UAAU,EAAE,CAAC,MAAM,MAAM,OAAO,MAAM,SAAM,SAAM,SAAM,YAAM,MAAM,MAAM,SAAM,KAAK,EAAE,CAAC,MAAM,SAAM,SAAM,SAAM,MAAM,SAAM,KAAK,CAAC,EAAEmO,EAAE,IAAInO,EAAE,UAAU,CAAC,UAAU,WAAW,QAAQ,SAAS,SAAS,SAAS,SAAS,SAAS,YAAY,UAAU,WAAW,UAAU,EAAE,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,EAAE,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAEoO,GAAE,IAAIpO,EAAE,WAAW,CAAC,UAAK,UAAK,UAAK,UAAK,UAAK,UAAK,UAAK,UAAK,UAAK,WAAM,WAAM,UAAK,EAAE,CAAC,UAAK,UAAK,UAAK,UAAK,UAAK,UAAK,UAAK,UAAK,UAAK,WAAM,WAAM,UAAK,EAAE,CAAC,SAAI,SAAI,SAAI,SAAI,SAAI,SAAI,QAAG,CAAC,EAAEoO,GAAE,WAAW,SAAIA,GAAE,IAAI,GAAG,IAAIC,GAAE,IAAIrO,EAAE,SAAS,CAAC,uCAAS,iCAAQ,uCAAS,iCAAQ,iCAAQ,uCAAS,iCAAQ,iCAAQ,mDAAW,iCAAQ,uCAAS,wDAAW,EAAE,CAAC,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,oBAAK,EAAE,CAAC,eAAK,eAAK,eAAK,eAAK,eAAK,eAAK,cAAI,CAAC,EAAE5U,EAAE,IAAI4U,EAAE,SAAS,CAAC,UAAK,UAAK,UAAK,UAAK,UAAK,UAAK,UAAK,UAAK,UAAK,WAAM,WAAM,UAAK,EAAE,CAAC,UAAK,UAAK,UAAK,UAAK,UAAK,UAAK,UAAK,UAAK,UAAK,WAAM,WAAM,UAAK,EAAE,CAAC,SAAI,SAAI,SAAI,SAAI,SAAI,SAAI,QAAG,CAAC,EAAE5U,EAAE,WAAW,SAAIA,EAAE,IAAI,GAAG,IAAIkjB,GAAE,IAAItO,EAAE,gBAAgB,CAAC,SAAS,UAAU,WAAQ,YAAS,MAAM,OAAO,OAAO,SAAS,YAAY,UAAU,WAAW,UAAU,EAAE,CAAC,MAAM,MAAM,SAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,EAAE,CAAC,MAAM,SAAM,SAAM,SAAM,MAAM,MAAM,KAAK,CAAC,EAAEwN,GAAE,IAAIxN,EAAE,aAAa,CAAC,SAAS,UAAU,QAAQ,WAAW,mBAAS,gBAAW,QAAQ,iBAAY,gBAAW,SAAS,YAAY,SAAS,EAAE,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,MAAM,MAAM,KAAK,EAAE,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,eAAK,CAAC,EAAEwN,GAAE,IAAI,GAAG,IAAIe,GAAE,IAAIvO,EAAE,UAAU,CAAC,gBAAW,iBAAY,QAAQ,eAAU,QAAQ,cAAS,cAAS,UAAU,aAAa,WAAW,YAAY,WAAW,EAAE,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,WAAM,WAAM,MAAM,MAAM,MAAM,MAAM,KAAK,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,CAAC,EAAEwO,GAAE,IAAIxO,EAAE,aAAa,CAAC,6CAAU,mDAAW,2BAAO,iCAAQ,qBAAM,2BAAO,2BAAO,uCAAS,yDAAY,mDAAW,6CAAU,kDAAU,EAAE,CAAC,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,oBAAK,EAAE,CAAC,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,oBAAK,CAAC,EAAEyO,GAAE,IAAIzO,EAAE,WAAW,CAAC,4DAAe,4DAAe,4DAAe,4DAAe,4DAAe,4DAAe,4DAAe,4DAAe,4DAAe,6DAAgB,6DAAgB,4DAAe,EAAE,CAAC,8BAAU,8BAAU,8BAAU,8BAAU,8BAAU,8BAAU,8BAAU,8BAAU,8BAAU,+BAAW,+BAAW,8BAAU,EAAE,CAAC,eAAK,eAAK,eAAK,eAAK,eAAK,eAAK,cAAI,CAAC,EAAEyO,GAAE,IAAI,GAAG,IAAIC,GAAE,IAAI1O,EAAE,sBAAmB,CAAC,SAAS,UAAU,OAAO,QAAQ,MAAM,OAAO,OAAO,SAAS,YAAY,UAAU,WAAW,UAAU,EAAE,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,EAAE,CAAC,QAAK,KAAK,KAAK,KAAK,KAAK,KAAK,OAAI,CAAC,EAAE2O,GAAE,IAAI3O,EAAE,QAAQ,CAAC,UAAU,WAAW,QAAQ,QAAQ,MAAM,OAAO,OAAO,WAAW,YAAY,UAAU,WAAW,UAAU,EAAE,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,CAAC,EAAE4O,GAAE,IAAI5O,EAAE,SAAS,CAAC,eAAU,OAAO,SAAS,gBAAW,MAAM,WAAW,SAAS,gBAAW,gBAAW,mBAAc,WAAW,eAAU,EAAE,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,WAAM,MAAM,KAAK,EAAE,CAAC,KAAK,KAAK,KAAK,UAAK,MAAM,KAAK,KAAK,CAAC,EAAE6O,GAAE,IAAI7O,EAAE,YAAY,CAAC,UAAU,YAAY,WAAQ,QAAQ,OAAO,QAAQ,QAAQ,SAAS,WAAW,UAAU,WAAW,UAAU,EAAE,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,EAAE,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,CAAC,EAAE8O,GAAE,IAAI9O,EAAE,WAAW,CAAC,WAAW,YAAY,SAAS,UAAU,MAAM,QAAQ,QAAQ,SAAS,aAAa,YAAY,YAAY,WAAW,EAAE,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,EAAE,CAAC,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE+O,GAAE,IAAI/O,EAAE,UAAU,CAAC,uCAAS,6CAAU,2BAAO,uCAAS,qBAAM,2BAAO,2BAAO,uCAAS,mDAAW,6CAAU,uCAAS,4CAAS,EAAE,CAAC,qBAAM,2BAAO,2BAAO,qBAAM,qBAAM,2BAAO,2BAAO,qBAAM,2BAAO,qBAAM,2BAAO,oBAAK,EAAE,CAAC,eAAK,eAAK,eAAK,eAAK,eAAK,eAAK,cAAI,CAAC,EAAEgP,GAAE,IAAIhP,EAAE,YAAY,CAAC,YAAS,aAAU,QAAQ,WAAQ,SAAM,SAAM,SAAM,SAAS,YAAY,aAAU,WAAW,UAAU,EAAE,CAAC,MAAM,MAAM,MAAM,MAAM,SAAM,SAAM,SAAM,MAAM,MAAM,MAAM,MAAM,KAAK,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,UAAK,KAAK,IAAI,CAAC,EAAE/S,GAAE,IAAI+S,EAAE,WAAW,CAAC,SAAS,UAAU,QAAQ,QAAQ,MAAM,QAAQ,QAAQ,SAAS,YAAY,UAAU,WAAW,UAAU,EAAE,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,EAAE,CAAC,MAAM,MAAM,MAAM,MAAM,WAAM,MAAM,KAAK,CAAC,EAAEiP,GAAE,IAAIjP,EAAE,6BAA6B,CAAC,uCAAS,6CAAU,2BAAO,iCAAQ,qBAAM,qBAAM,qBAAM,uCAAS,yDAAY,6CAAU,mDAAW,kDAAU,EAAE,CAAC,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,oBAAK,EAAE,CAAC,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,qBAAM,oBAAK,CAAC,EAAEkP,EAAE,IAAIlP,EAAE,UAAU,CAAC,SAAS,UAAU,OAAO,QAAQ,MAAM,MAAM,MAAM,SAAS,YAAY,UAAU,WAAW,UAAU,EAAE,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,EAAE,CAAC,MAAM,MAAM,MAAM,MAAM,WAAM,MAAM,KAAK,CAAC,EAAEmP,GAAE,IAAInP,EAAE,UAAU,CAAC,UAAU,WAAW,OAAO,QAAQ,MAAM,OAAO,OAAO,UAAU,YAAY,UAAU,WAAW,UAAU,EAAE,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,EAAE,CAAC,SAAM,SAAM,MAAM,MAAM,MAAM,MAAM,QAAK,CAAC,EAAEoP,GAAE,IAAIpP,EAAE,OAAO,CAAC,uCAAS,+DAAa,uCAAS,uCAAS,6CAAU,mDAAW,6CAAU,6CAAU,6CAAU,uCAAS,yDAAY,4CAAS,EAAE,CAAC,iBAAO,iBAAO,uBAAQ,uBAAQ,iBAAO,uBAAQ,iBAAO,iBAAO,iBAAO,iBAAO,iBAAO,gBAAM,EAAE,CAAC,eAAK,SAAI,SAAI,SAAI,eAAK,SAAI,QAAG,CAAC,EAAEqP,GAAE,IAAIrP,EAAE,UAAU,CAAC,OAAO,aAAQ,OAAO,QAAQ,aAAQ,UAAU,SAAS,eAAU,WAAQ,OAAO,aAAQ,aAAQ,EAAE,CAAC,MAAM,WAAM,MAAM,MAAM,MAAM,MAAM,MAAM,WAAM,MAAM,MAAM,MAAM,KAAK,EAAE,CAAC,MAAM,MAAM,MAAM,SAAM,MAAM,MAAM,KAAK,CAAC,EAAEsP,GAAE,IAAItP,EAAE,UAAU,CAAC,uCAAS,iCAAQ,mDAAW,6CAAU,6CAAU,6CAAU,uCAAS,6CAAU,mDAAW,6CAAU,mDAAW,4CAAS,EAAE,CAAC,qBAAM,qBAAM,qBAAM,2BAAO,2BAAO,qBAAM,qBAAM,2BAAO,qBAAM,2BAAO,2BAAO,0BAAM,EAAE,CAAC,eAAK,eAAK,eAAK,eAAK,eAAK,eAAK,cAAI,CAAC,EAAEuP,GAAE,IAAIvP,EAAE,OAAO,CAAC,iCAAQ,iCAAQ,2BAAO,iCAAQ,qBAAM,qBAAM,uCAAS,2BAAO,uCAAS,uCAAS,iCAAQ,gCAAO,EAAE,CAAC,iCAAQ,iCAAQ,2BAAO,iCAAQ,qBAAM,qBAAM,uCAAS,2BAAO,uCAAS,uCAAS,iCAAQ,gCAAO,EAAE,CAAC,iCAAQ,qBAAM,2BAAO,qBAAM,uCAAS,2BAAO,0BAAM,CAAC,EAAEuP,GAAE,IAAI,GAAG,IAAIC,GAAE,IAAIxP,EAAE,aAAa,CAAC,aAAU,aAAU,aAAU,aAAU,aAAU,aAAU,aAAU,aAAU,aAAU,cAAW,cAAW,aAAU,EAAE,CAAC,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM,EAAE,CAAC,KAAK,aAAQ,aAAQ,aAAQ,aAAQ,aAAQ,YAAO,CAAC,EAAEyP,GAAE,IAAIzP,EAAE,UAAU,CAAC,eAAK,eAAK,eAAK,eAAK,eAAK,eAAK,eAAK,eAAK,eAAK,eAAK,qBAAM,oBAAK,EAAE,CAAC,eAAK,eAAK,eAAK,eAAK,eAAK,eAAK,eAAK,eAAK,eAAK,eAAK,qBAAM,oBAAK,EAAE,CAAC,SAAI,SAAI,SAAI,SAAI,SAAI,SAAI,QAAG,CAAC,EAAEyP,GAAE,WAAW,SAAI,IAAIC,GAAE,IAAI1P,EAAE,aAAa,CAAC,eAAK,eAAK,eAAK,eAAK,eAAK,eAAK,eAAK,eAAK,eAAK,eAAK,qBAAM,oBAAK,EAAE,CAAC,eAAK,eAAK,eAAK,eAAK,eAAK,eAAK,eAAK,eAAK,eAAK,eAAK,qBAAM,oBAAK,EAAE,CAAC,SAAI,SAAI,SAAI,SAAI,SAAI,SAAI,QAAG,CAAC,EAAE0P,GAAE,WAAW,SAAIzsB,EAAE,GAAGsqB,EAAEtqB,EAAE,GAAGyqB,EAAEzqB,EAAE,GAAGsO,EAAEtO,EAAE,GAAGoqB,EAAEpqB,EAAE,GAAG6U,EAAE7U,EAAE,GAAG6W,EAAE7W,EAAE,GAAG,EAAEA,EAAE,GAAG4Z,EAAE5Z,EAAE,GAAGuoB,GAAEvoB,EAAE,GAAG0qB,EAAE1qB,EAAE,GAAGif,EAAEjf,EAAE,GAAG2qB,EAAE3qB,EAAE,GAAG4qB,EAAE5qB,EAAE,GAAG6qB,GAAE7qB,EAAE,GAAG5D,GAAE4D,EAAE,GAAG8qB,GAAE9qB,EAAE,GAAGR,GAAEQ,EAAE,GAAG4iB,GAAE5iB,EAAE,GAAG+S,GAAE/S,EAAE,GAAG+qB,GAAE/qB,EAAE,GAAGgrB,GAAEhrB,EAAE,GAAGjE,GAAEiE,EAAE,GAAGirB,GAAEjrB,EAAE,GAAGkrB,EAAElrB,EAAE,GAAGmrB,GAAEnrB,EAAE,GAAGorB,GAAEprB,EAAE,GAAGmI,EAAEnI,EAAE,GAAGqrB,GAAErrB,EAAE,GAAGuqB,GAAEvqB,EAAE,GAAGsrB,GAAEtrB,EAAE,GAAGurB,GAAEvrB,EAAE,GAAGwrB,GAAExrB,EAAE,KAAKyrB,GAAEzrB,EAAE,GAAG0rB,GAAE1rB,EAAE,GAAG2rB,GAAE3rB,EAAE,KAAK4rB,GAAE5rB,EAAE,GAAG6rB,GAAE7rB,EAAE,GAAG8rB,GAAE9rB,EAAE,GAAG+rB,GAAE/rB,EAAE,KAAKgK,GAAEhK,EAAE,GAAGisB,EAAEjsB,EAAE,OAAOgsB,GAAEhsB,EAAE,GAAGksB,GAAElsB,EAAE,GAAGmsB,GAAEnsB,EAAE,GAAGosB,GAAEpsB,EAAE,GAAGqsB,GAAErsB,EAAE,GAAGssB,GAAEtsB,EAAE,GAAGusB,GAAEvsB,EAAE,GAAGwsB,GAAExsB,EAAE,KAAKysB,GAAE,OAAO,eAAezsB,EAAE,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,C,GCCvlc0sB,GAA2B,CAAC,EAGhC,SAASvC,EAAoBwC,EAAU,CAEtC,IAAIC,EAAeF,GAAyBC,CAAQ,EACpD,GAAIC,IAAiB,OACpB,OAAOA,EAAa,QAGrB,IAAI7zB,EAAS2zB,GAAyBC,CAAQ,EAAI,CACjD,GAAIA,EACJ,OAAQ,GACR,QAAS,CAAC,CACX,EAGA,OAAAE,GAAoBF,CAAQ,EAAE,KAAK5zB,EAAO,QAASA,EAAQA,EAAO,QAASoxB,CAAmB,EAG9FpxB,EAAO,OAAS,GAGTA,EAAO,OACf,CAGAoxB,EAAoB,EAAI0C,G,WC5BxB,IAAIC,EAAW,CAAC,EAChB3C,EAAoB,EAAI,SAASlqB,EAAQ8sB,EAAUvwB,EAAIwwB,EAAU,CAChE,GAAGD,EAAU,CACZC,EAAWA,GAAY,EACvB,QAAQ1e,EAAIwe,EAAS,OAAQxe,EAAI,GAAKwe,EAASxe,EAAI,CAAC,EAAE,CAAC,EAAI0e,EAAU1e,IAAKwe,EAASxe,CAAC,EAAIwe,EAASxe,EAAI,CAAC,EACtGwe,EAASxe,CAAC,EAAI,CAACye,EAAUvwB,EAAIwwB,CAAQ,EACrC,MACD,CAEA,QADIC,EAAe,IACV3e,EAAI,EAAGA,EAAIwe,EAAS,OAAQxe,IAAK,CAKzC,QAJIye,EAAWD,EAASxe,CAAC,EAAE,CAAC,EACxB9R,EAAKswB,EAASxe,CAAC,EAAE,CAAC,EAClB0e,EAAWF,EAASxe,CAAC,EAAE,CAAC,EACxB4e,EAAY,GACP/B,EAAI,EAAGA,EAAI4B,EAAS,OAAQ5B,KAC/B6B,EAAW,IAAWC,GAAgBD,IAAa,OAAO,KAAK7C,EAAoB,CAAC,EAAE,MAAM,SAAS7tB,EAAK,CAAE,OAAO6tB,EAAoB,EAAE7tB,CAAG,EAAEywB,EAAS5B,CAAC,CAAC,CAAG,CAAC,EACjK4B,EAAS,OAAO5B,IAAK,CAAC,GAEtB+B,EAAY,GACTF,EAAWC,IAAcA,EAAeD,IAG7C,GAAGE,EAAW,CACbJ,EAAS,OAAOxe,IAAK,CAAC,EACtB,IAAI+b,EAAI7tB,EAAG,EACP6tB,IAAM,SAAWpqB,EAASoqB,EAC/B,CACD,CACA,OAAOpqB,CACR,C,eC5BAkqB,EAAoB,EAAI,SAASpxB,EAAQ,CACxC,IAAIyH,EAASzH,GAAUA,EAAO,WAC7B,UAAW,CAAE,OAAOA,EAAO,OAAY,EACvC,UAAW,CAAE,OAAOA,CAAQ,EAC7B,OAAAoxB,EAAoB,EAAE3pB,EAAQ,CAAE,EAAGA,CAAO,CAAC,EACpCA,CACR,C,eCNA2pB,EAAoB,EAAI,SAASK,EAAS2C,EAAY,CACrD,QAAQ7wB,KAAO6wB,EACXhD,EAAoB,EAAEgD,EAAY7wB,CAAG,GAAK,CAAC6tB,EAAoB,EAAEK,EAASluB,CAAG,GAC/E,OAAO,eAAekuB,EAASluB,EAAK,CAAE,WAAY,GAAM,IAAK6wB,EAAW7wB,CAAG,CAAE,CAAC,CAGjF,C,eCPA6tB,EAAoB,EAAK,UAAW,CACnC,GAAI,OAAO,YAAe,SAAU,OAAO,WAC3C,GAAI,CACH,OAAO,MAAQ,IAAI,SAAS,aAAa,EAAE,CAC5C,OAASnqB,EAAP,CACD,GAAI,OAAO,QAAW,SAAU,OAAO,MACxC,CACD,EAAG,C,eCPHmqB,EAAoB,EAAI,SAASluB,EAAK4nB,EAAM,CAAE,OAAO,OAAO,UAAU,eAAe,KAAK5nB,EAAK4nB,CAAI,CAAG,C,eCCtGsG,EAAoB,EAAI,SAASK,EAAS,CACtC,OAAO,QAAW,aAAe,OAAO,aAC1C,OAAO,eAAeA,EAAS,OAAO,YAAa,CAAE,MAAO,QAAS,CAAC,EAEvE,OAAO,eAAeA,EAAS,aAAc,CAAE,MAAO,EAAK,CAAC,CAC7D,C,eCNAL,EAAoB,IAAM,SAASpxB,EAAQ,CAC1C,OAAAA,EAAO,MAAQ,CAAC,EACXA,EAAO,WAAUA,EAAO,SAAW,CAAC,GAClCA,CACR,C,eCCA,IAAIq0B,EAAkB,CACrB,IAAK,CACN,EAYAjD,EAAoB,EAAE,EAAI,SAASkD,EAAS,CAAE,OAAOD,EAAgBC,CAAO,IAAM,CAAG,EAGrF,IAAIC,EAAuB,SAASC,EAA4Btc,EAAM,CACrE,IAAI8b,EAAW9b,EAAK,CAAC,EACjBuc,EAAcvc,EAAK,CAAC,EACpB9T,EAAU8T,EAAK,CAAC,EAGhB0b,EAAUU,EAAS/e,EAAI,EAC3B,GAAGye,EAAS,KAAK,SAAS1gB,EAAI,CAAE,OAAO+gB,EAAgB/gB,CAAE,IAAM,CAAG,CAAC,EAAG,CACrE,IAAIsgB,KAAYa,EACZrD,EAAoB,EAAEqD,EAAab,CAAQ,IAC7CxC,EAAoB,EAAEwC,CAAQ,EAAIa,EAAYb,CAAQ,GAGxD,GAAGxvB,EAAS,IAAI8C,EAAS9C,EAAQgtB,CAAmB,CACrD,CAEA,IADGoD,GAA4BA,EAA2Btc,CAAI,EACzD3C,EAAIye,EAAS,OAAQze,IACzB+e,EAAUN,EAASze,CAAC,EACjB6b,EAAoB,EAAEiD,EAAiBC,CAAO,GAAKD,EAAgBC,CAAO,GAC5ED,EAAgBC,CAAO,EAAE,CAAC,EAAE,EAE7BD,EAAgBC,CAAO,EAAI,EAE5B,OAAOlD,EAAoB,EAAElqB,CAAM,CACpC,EAEIwtB,EAAqB,KAAK,oBAAyB,KAAK,qBAA0B,CAAC,EACvFA,EAAmB,QAAQH,EAAqB,KAAK,KAAM,CAAC,CAAC,EAC7DG,EAAmB,KAAOH,EAAqB,KAAK,KAAMG,EAAmB,KAAK,KAAKA,CAAkB,CAAC,C,IC/C1G,IAAIC,GAAsBvD,EAAoB,EAAE,OAAW,CAAC,IAAI,GAAG,EAAG,UAAW,CAAE,OAAOA,EAAoB,KAAK,CAAG,CAAC,EACvHuD,GAAsBvD,EAAoB,EAAEuD,EAAmB,C","sources":["webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/Locales/authentication-locales.json","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/Locales/company-information-locales.json?d80b","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/Locales/company-information-locales.json","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/Locales/contract-confrimation-locales.json","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/Locales/contract-partner-locales.json","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/Locales/contract-partner-locales.json?83fd","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/Locales/customer-information-locales.json?617f","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/Locales/customer-information-locales.json","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/Locales/metering-point-information-locales.json?ba20","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/Locales/metering-point-information-locales.json","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/Locales/new-contract-and-move-out-section-locales.json?0c79","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/Locales/new-contract-and-move-out-section-locales.json?4680","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/Locales/pre-product-selection-locales.json?fb24","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/Locales/pre-product-selection-locales.json","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/Locales/product-selection-locales.json?52a6","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/Locales/product-selection-locales.json?8e68","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/Locales/product-selection-locales.json?d9ed","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/Locales/product-selection-locales.json","webpack://i4u-web/./Scripts/inpulse/CommonEnums.ts","webpack://i4u-web/./node_modules/vuex/dist/vuex.esm.js","webpack://i4u-web/./Scripts/inpulse/I4UViewModels.ts","webpack://i4u-web/./Areas/NewContract/Scripts/new-contract-vue-events.ts","webpack://i4u-web/./Scripts/inpulse/FormatUtils.ts","webpack://i4u-web/./Areas/NewContract/Scripts/new-contract-vuex-store.ts","webpack://i4u-web/./Scripts/vue-directives/publicpath-replacer.ts","webpack://i4u-web/./Areas/NewContract/Scripts/new-contract-vue.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/phases/phase-new-contract.vue?bea1","webpack://i4u-web/./node_modules/vue-class-component/dist/vue-class-component.esm.js","webpack://i4u-web/./node_modules/vue-property-decorator/lib/vue-property-decorator.js","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/pre-product-selection.vue?7663","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/common/validated-form-group.vue?eacf","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/common/validation-message.vue?5eee","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/common/validation-message.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/common/validation-message.ts?a5c5","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/common/validation-message.vue","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/common/validated-form-group.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/common/validated-form-group.ts?0135","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/common/validated-form-group.vue","webpack://i4u-web/./Scripts/vue-components/bootstrap-components/postal-autocomplete.vue?473d","webpack://i4u-web/./node_modules/vue-simple-suggest/dist/es6.js","webpack://i4u-web/./Scripts/vue-components/bootstrap-components/postal-autocomplete.ts","webpack://i4u-web/./Scripts/vue-components/bootstrap-components/postal-autocomplete.ts?012b","webpack://i4u-web/./Scripts/vue-components/bootstrap-components/postal-autocomplete.vue?cc4b","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/common/utils.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/new-contract-section.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/common/section.ts","webpack://i4u-web/./Scripts/vue-components/common/loading.vue?594f","webpack://i4u-web/./Scripts/vue-components/common/loading.component.ts","webpack://i4u-web/./Scripts/vue-components/common/loading.component.ts?3774","webpack://i4u-web/./Scripts/vue-components/common/loading.vue?55f0","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/pre-product-selection.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/pre-product-selection.ts?6ce7","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/Locales/pre-product-selection-locales.json?e678","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/pre-product-selection.vue?84e8","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/pre-product-selection-display.vue?60cb","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/phases/horizontal-form-group.vue?0970","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/phases/horizontal-form-group.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/phases/horizontal-form-group.ts?be35","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/phases/horizontal-form-group.vue","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/pre-product-selection-display.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/pre-product-selection-display.ts?f999","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/Locales/pre-product-selection-locales.json?68ec","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/pre-product-selection-display.vue","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/product-selection.vue?725b","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/components/price-list.vue?5153","webpack://i4u-web/./Scripts/inpulse/PriceListUtils.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/components/price-list.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/components/price-list.ts?172a","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/Locales/product-selection-locales.json?30d7","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/components/price-list.vue","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/components/product-card.vue?335b","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/components/product-card.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/components/product-card.ts?b02a","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/Locales/product-selection-locales.json?72bb","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/components/product-card.vue","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/product-selection.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/product-selection.ts?73bd","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/Locales/product-selection-locales.json?2f3e","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/product-selection.vue","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/product-selection-display.vue?d54d","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/product-selection-display.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/product-selection-display.ts?fdf5","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/Locales/product-selection-locales.json?4e5f","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/product-selection-display.vue","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/authentication.vue?11dd","webpack://i4u-web/./Areas/NewContract/Scripts/Default/common/validated-form-group.vue?d258","webpack://i4u-web/./Areas/NewContract/Scripts/Default/common/validation-message.vue?d137","webpack://i4u-web/./Areas/NewContract/Scripts/Default/common/validation-message.ts","webpack://i4u-web/./Areas/NewContract/Scripts/Default/common/validation-message.ts?a6c2","webpack://i4u-web/./Areas/NewContract/Scripts/Default/common/validation-message.vue","webpack://i4u-web/./Areas/NewContract/Scripts/Default/common/validated-form-group.ts","webpack://i4u-web/./Areas/NewContract/Scripts/Default/common/validated-form-group.ts?2569","webpack://i4u-web/./Areas/NewContract/Scripts/Default/common/validated-form-group.vue","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/authentication.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/authentication.ts?c6a0","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/Locales/authentication-locales.json?9f62","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/authentication.vue","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/customer-information.vue?f24a","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/phases/form-group-static.vue?c64d","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/phases/form-group-static.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/phases/form-group-static.ts?248b","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/phases/form-group-static.vue","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/components/contract-partner-card.vue?11b7","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/components/contract-partner-card.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/components/contract-partner-card.ts?0b2d","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/Locales/contract-partner-locales.json?314b","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/components/contract-partner-card.vue","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/components/contract-partner-modal.vue?4c74","webpack://i4u-web/./Scripts/vue-components/bootstrap-components/street-autocomplete.vue?143c","webpack://i4u-web/./Scripts/vue-components/bootstrap-components/street-autocomplete.ts","webpack://i4u-web/./Scripts/vue-components/bootstrap-components/street-autocomplete.ts?e994","webpack://i4u-web/./Scripts/vue-components/bootstrap-components/street-autocomplete.vue?82a4","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/components/contract-partner-modal.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/components/contract-partner-modal.ts?4cc7","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/Locales/contract-partner-locales.json?58ed","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/components/contract-partner-modal.vue","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/customer-information.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/customer-information.ts?49c2","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/Locales/customer-information-locales.json?aa98","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/customer-information.vue","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/customer-information-display.vue?41b0","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/customer-information-display.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/customer-information-display.ts?21ca","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/Locales/customer-information-locales.json?113e","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/customer-information-display.vue","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/company-information-display.vue?d6e5","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/company-information-display.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/company-information-display.ts?e3bc","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/Locales/company-information-locales.json?cfa9","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/company-information-display.vue","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/company-information.vue?531b","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/company-information.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/company-information.ts?83d6","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/Locales/company-information-locales.json?da91","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/company-information.vue","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/metering-point-information.vue?7c97","webpack://i4u-web/./node_modules/vuejs-datepicker/dist/vuejs-datepicker.esm.js","webpack://i4u-web/./Areas/NewContract/Scripts/Default/Models/new-contract-models.ts","webpack://i4u-web/./Scripts/inpulse/utils/date-time-utils.ts","webpack://i4u-web/./Areas/NewContract/Scripts/new-contract-vue-helper.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/metering-point-information.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/metering-point-information.ts?4464","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/Locales/metering-point-information-locales.json?7cac","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/metering-point-information.vue","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/metering-point-information-display.vue?69f7","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/metering-point-information-display.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/metering-point-information-display.ts?8940","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/Locales/metering-point-information-locales.json?fc53","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/metering-point-information-display.vue","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/new-contract-section.vue?0f89","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/new-contract-section.ts?b00f","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/Locales/new-contract-and-move-out-section-locales.json?0d62","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/new-contract-section.vue?901a","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/phases/phase-new-contract.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/phases/phase-new-contract.ts?37db","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/Locales/new-contract-and-move-out-section-locales.json?9d3d","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/phases/phase-new-contract.vue?8e6e","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/phases/phase-contract-confirmation.vue?e464","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/phases/phase-contract-confirmation.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/phases/phase-contract-confirmation.ts?acca","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/steps/Locales/contract-confrimation-locales.json?6643","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/phases/phase-contract-confirmation.vue","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/common/session-expiration.vue?b8e4","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/common/session-expiration.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/common/session-expiration.ts?d3da","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/common/session-expiration.vue","webpack://i4u-web/./Areas/NewContract/Scripts/PBE/ContractPage/contract-page.ts","webpack://i4u-web/./node_modules/moment/locale/ sync ^\\.\\/.*$","webpack://i4u-web/./node_modules/vue-functional-data-merge/dist/lib.esm.js","webpack://i4u-web/./node_modules/vuejs-datepicker/dist/locale/index.js","webpack://i4u-web/webpack/bootstrap","webpack://i4u-web/webpack/runtime/chunk loaded","webpack://i4u-web/webpack/runtime/compat get default export","webpack://i4u-web/webpack/runtime/define property getters","webpack://i4u-web/webpack/runtime/global","webpack://i4u-web/webpack/runtime/hasOwnProperty shorthand","webpack://i4u-web/webpack/runtime/make namespace object","webpack://i4u-web/webpack/runtime/node module decorator","webpack://i4u-web/webpack/runtime/jsonp chunk loading","webpack://i4u-web/webpack/startup"],"sourcesContent":["module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"fi\":{\"Tunnistaudu pankkitunnuksillasi\":\"Tunnistaudu pankkitunnuksillasi\",\"Testihenkilötunnus\":\"Testihenkilötunnus\",\"Tunnistautumalla verkkopankkitunnuksilla voimme hakea asiakastietosi automaattisesti. Voit tehdä sopimuksen myös ilman tunnistautumista, jos et ole vielä asiakkaamme.\":\"Tunnistautumalla verkkopankkitunnuksilla voimme hakea asiakastietosi automaattisesti. Voit tehdä sopimuksen myös ilman tunnistautumista, jos et ole vielä asiakkaamme.\",\"Tunnistautumalla hyväksyn, että sopimuksen maksutavaksi tulee lasku.\":\"Tunnistautumalla hyväksyn, että sopimuksen maksutavaksi tulee lasku.\",\"Mikäli haluat sopimukselle kumppanin, tee sopimus asiakaspalvelumme kautta.\":\"Mikäli haluat sopimukselle kumppanin, tee sopimus asiakaspalvelumme kautta.\"},\"sv\":{\"Tunnistaudu pankkitunnuksillasi\":\"Identifiera dig med nätbankskoder\",\"Testihenkilötunnus\":\"Testpersonbeteckning\",\"Tunnistautumalla verkkopankkitunnuksilla voimme hakea asiakastietosi automaattisesti. Voit tehdä sopimuksen myös ilman tunnistautumista, jos et ole vielä asiakkaamme.\":\"Då du identifierar dig med Mobilt Bankid, kan vi ta fram dina kontaktuppgifter automatiskt. Eller utan identifiering, om du är inte vårt kund.\",\"Tunnistautumalla hyväksyn, että sopimuksen maksutavaksi tulee lasku.\":\"Genom att identifiera mig, godkänner jag, att avtalets betalningssätt är faktura.\",\"Mikäli haluat sopimukselle kumppanin, tee sopimus asiakaspalvelumme kautta.\":\"Ifall du vill göra ett avtal med avtalspartner, gör avtalet via vår kundservice.\"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"fi\":{\"Y-tunnus\":\"Y-tunnus\",\"Puhelinnumero\":\"Puhelinnumero\",\"Yhteyshenkilön sukunimi\":\"Yhteyshenkilön sukunimi\",\"Yrityksen nimi\":\"Yrityksen nimi\",\"Sähköpostiosoite\":\"Sähköpostiosoite\",\"Yhteyshenkilön etunimi\":\"Yhteyshenkilön etunimi\",\"Yhteyshenkilön puhelinnumero\":\"Yhteyshenkilön puhelinnumero\",\"Yhteyshenkilön sähköpostiosoite\":\"Yhteyshenkilön sähköpostiosoite\"},\"sv\":{\"Y-tunnus\":\"FO-nummer\",\"Puhelinnumero\":\"Telefonnummer\",\"Yhteyshenkilön sukunimi\":\"Kontaktpersonens efternamn\",\"Yrityksen nimi\":\"Företagets namn\",\"Sähköpostiosoite\":\"E-postadress\",\"Yhteyshenkilön etunimi\":\"Kontaktpersonens förnamn\",\"Yhteyshenkilön puhelinnumero\":\"Kontaktpersonens telefonnummer\",\"Yhteyshenkilön sähköpostiosoite\":\"Kontaktpersonens e-postadress\"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"fi\":{\"Y-tunnus\":\"Y-tunnus\",\"Puhelinnumero\":\"Puhelinnumero\",\"Yhteyshenkilön sukunimi\":\"Yhteyshenkilön sukunimi\",\"Yrityksen nimi\":\"Yrityksen nimi\",\"Sähköpostiosoite\":\"Sähköpostiosoite\",\"Yhteyshenkilön etunimi\":\"Yhteyshenkilön etunimi\",\"Yhteyshenkilön puhelinnumero\":\"Yhteyshenkilön puhelinnumero\",\"Yhteyshenkilön sähköpostiosoite\":\"Yhteyshenkilön sähköpostiosoite\"},\"sv\":{\"Y-tunnus\":\"FO-nummer\",\"Puhelinnumero\":\"Telefonnummer\",\"Yhteyshenkilön sukunimi\":\"Kontaktpersonens efternamn\",\"Yrityksen nimi\":\"Företagets namn\",\"Sähköpostiosoite\":\"E-postadress\",\"Yhteyshenkilön etunimi\":\"Kontaktpersonens förnamn\",\"Yhteyshenkilön puhelinnumero\":\"Kontaktpersonens telefonnummer\",\"Yhteyshenkilön sähköpostiosoite\":\"Kontaktpersonens e-postadress\"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"fi\":{\"Asiakkaan tiedot\":\"Asiakkaan tiedot\",\"Yhteyshenkilön tiedot\":\"Yhteyshenkilön tiedot\",\"Nimi\":\"Nimi\",\"Henkilötunnus\":\"Henkilötunnus\",\"Y-tunnus\":\"Y-tunnus\",\"Puhelinnumero\":\"Puhelinnumero\",\"Sähköpostiosoite\":\"Sähköpostiosoite\",\"Asiointikieli\":\"Asiointikieli\",\"Yhteyshenkilön sukunimi\":\"Yhteyshenkilön sukunimi\",\"Yhteyshenkilön etunimi\":\"Yhteyshenkilön etunimi\",\"Yhteyshenkilön puhelinnumero\":\"Yhteyshenkilön puhelinnumero\",\"Yhteyshenkilön sähköpostiosoite\":\"Yhteyshenkilön sähköpostiosoite\",\"Valitse asiointikieli\":\"Valitse asiointikieli\",\"suomi\":\"suomi\",\"ruotsi\":\"ruotsi\",\"Tuote\":\"Tuote\",\"Asiakkaan osoite\":\"Asiakkaan osoite\",\"Käyttöpaikan osoite\":\"Käyttöpaikan osoite\",\"Käyttöpaikkatunnus\":\"Käyttöpaikkatunnus\",\"Sopimuksen alkupäivä\":\"Sopimuksen alkupäivä\",\"Laskuja vuodessa\":\"Laskuja vuodessa\",\"kpl\":\"kpl\",\"Sopimusehdot\":\"Sopimusehdot\",\"Laskutusosoite\":\"Laskutusosoite\",\"Laskutustapa\":\"Laskutustapa\",\"Olen tutustunut\":\"Olen tutustunut\",\"sopimusehtoihin\":\"sopimusehtoihin\",\"sopimusehtoihin.\":\"sopimusehtoihin.\",\"ja hyväksyn ne\":\"ja hyväksyn ne.\",\"Valtuutan Porvoon Energia Oy:n hoitamaan sähkösopimukseen liittyvät toimenpiteet.\":\"Valtuutan Porvoon Energia Oy:n hoitamaan sähkösopimukseen liittyvät toimenpiteet\",\"Minulle saa sähköisesti lähettää ajankohtaista tietoa ja markkinointimateriaalia sähkösopimuksiin liittyen. Tietojani saa käyttää Porvoon Energian suoramarkkinointiin\":\"Minulle saa sähköisesti lähettää ajankohtaista tietoa ja markkinointimateriaalia sähkösopimuksiin liittyen. Tietojani saa käyttää Porvoon Energian suoramarkkinointiin\",\"Hyväksyn sopimusehdot\":\"Hyväksyn sopimusehdot\",\"Hyväksy tarjous\":\"Hyväksy tarjous\",\"Hyväksy sopimus\":\"Hyväksy sopimus\",\"Muokkaa sopimusta\":\"Muokkaa sopimusta\",\"Sopimuskumppani \":\"Sopimuskumppani \",\"Haluan tilausvahvistuksen sähköpostiin\":\"Haluan tilausvahvistuksen sähköpostiin\",\"Maksutapana on laskutus.\":\"Maksutapana on laskutus.\"},\"sv\":{\"Asiakkaan tiedot\":\"Kunduppgifter\",\"Yhteyshenkilön tiedot\":\"Kontaktpersonensuppgifter\",\"Nimi\":\"Namn\",\"Henkilötunnus\":\"Personbeteckning\",\"Y-tunnus\":\"FO-nummer\",\"Puhelinnumero\":\"Telefonnummer\",\"Sähköpostiosoite\":\"E-postadress\",\"Asiointikieli\":\"Betjäningsspråk\",\"Yhteyshenkilön sukunimi\":\"Kontaktpersonens efternamn\",\"Yhteyshenkilön etunimi\":\"Kontaktpersonens förnamn\",\"Yhteyshenkilön puhelinnumero\":\"Kontaktpersonens telefonnummer\",\"Yhteyshenkilön sähköpostiosoite\":\"Kontaktpersonens e-postadress\",\"Valitse asiointikieli\":\"Välj betjäningsspråk\",\"suomi\":\"Finska\",\"ruotsi\":\"Svenska\",\"Tuote\":\"Produkt\",\"Asiakkaan osoite\":\"Kundens adress\",\"Käyttöpaikan osoite\":\"Förbrukningsplatsens adress\",\"Käyttöpaikkatunnus\":\"Förbrukningsplatsens nummer\",\"Sopimuksen alkupäivä\":\"Avtalets begynnelsetid\",\"Laskuja vuodessa\":\"Fakturor per år\",\"kpl\":\"st\",\"Sopimusehdot\":\"Avtalsvillkor\",\"Laskutusosoite\":\"Faktureringsadress\",\"Laskutustapa\":\"Faktureringssätt\",\"Olen tutustunut\":\"Jag har läst och godkänner\",\"sopimusehtoihin\":\"avtalsvillkoren\",\"sopimusehtoihin.\":\"avtalsvillkoren.\",\"Valtuutan Porvoon Energia Oy:n hoitamaan sähkösopimukseen liittyvät toimenpiteet\":\"Jag ger fullmakt åt Borgå Energi Ab att sköta om alla åtgärder som krävs för elavtalet\",\"Minulle saa sähköisesti lähettää ajankohtaista tietoa ja markkinointimateriaalia sähkösopimuksiin liittyen. Tietojani saa käyttää Porvoon Energian suoramarkkinointiin\":\"Man får skicka aktuell information och marknadsföringsmaterial angående elavtal till mig. Mina uppgifter får användas till Borgå Energis direktmarknadsföring\",\"Hyväksyn sopimusehdot\":\"Jag godkänner avtalsvillkoren\",\"Hyväksy tarjous\":\"Godkänn erbjudandet\",\"Hyväksy sopimus\":\"Godkänn avtalet\",\"Muokkaa sopimusta\":\"Bearbeta avtalet\",\"Sopimuskumppani \":\"Avtalspartner \",\"Haluan tilausvahvistuksen sähköpostiin\":\"Jag vill ha avtalsbekräftelsen till e-posten\",\"Maksutapana on laskutus.\":\"Betalningssätt är faktura.\"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"fi\":{\"Etunimi\":\"Etunimi\",\"Sukunimi\":\"Sukunimi\",\"Henkilötunnus\":\"Henkilötunnus\",\"Puhelinnumero\":\"Puhelinnumero\",\"Sähköpostiosoite\":\"Sähköpostiosoite\",\"Katuosoite\":\"Katuosoite\",\"Postinumero\":\"Postinumero\",\"Poista\":\"Poista\",\"Hyväksy\":\"Hyväksy\",\"Muokkaan tietoja\":\"Muokkaan tietoja\",\"Lisää tiedot\":\"Lisää tiedot\"},\"sv\":{\"Etunimi\":\"Förnamn\",\"Sukunimi\":\"Efternamn\",\"Henkilötunnus\":\"Personbeteckning\",\"Puhelinnumero\":\"Telefonnummer\",\"Sähköpostiosoite\":\"E-postadress\",\"Katuosoite\":\"Gatuadress\",\"Postinumero\":\"Postnummer\",\"Poista\":\"Avlägsna\",\"Hyväksy\":\"Godkänn\",\"Muokkaan tietoja\":\"Bearbeta uppgifter\",\"Lisää tiedot\":\"Tillägg uppgifter\"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"fi\":{\"Etunimi\":\"Etunimi\",\"Sukunimi\":\"Sukunimi\",\"Henkilötunnus\":\"Henkilötunnus\",\"Puhelinnumero\":\"Puhelinnumero\",\"Sähköpostiosoite\":\"Sähköpostiosoite\",\"Katuosoite\":\"Katuosoite\",\"Postinumero\":\"Postinumero\",\"Poista\":\"Poista\",\"Hyväksy\":\"Hyväksy\",\"Muokkaan tietoja\":\"Muokkaan tietoja\",\"Lisää tiedot\":\"Lisää tiedot\"},\"sv\":{\"Etunimi\":\"Förnamn\",\"Sukunimi\":\"Efternamn\",\"Henkilötunnus\":\"Personbeteckning\",\"Puhelinnumero\":\"Telefonnummer\",\"Sähköpostiosoite\":\"E-postadress\",\"Katuosoite\":\"Gatuadress\",\"Postinumero\":\"Postnummer\",\"Poista\":\"Avlägsna\",\"Hyväksy\":\"Godkänn\",\"Muokkaan tietoja\":\"Bearbeta uppgifter\",\"Lisää tiedot\":\"Tillägg uppgifter\"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"fi\":{\"Nimi\":\"Nimi\",\"Henkilötunnus\":\"Henkilötunnus\",\"Puhelinnumero\":\"Puhelinnumero\",\"Sähköpostiosoite\":\"Sähköpostiosoite\",\"Valitse asiointikieli\":\"Valitse asiointikieli\",\"Lisää sopimuskumppani\":\"Lisää sopimuskumppani\",\"Sopimuskumppani \":\"Sopimuskumppani \"},\"sv\":{\"Nimi\":\"Namn\",\"Henkilötunnus\":\"Personbeteckning\",\"Puhelinnumero\":\"Telefonnummer\",\"Sähköpostiosoite\":\"E-postadress\",\"Valitse asiointikieli\":\"Välj betjäningsspråk\",\"Lisää sopimuskumppani\":\"Tillägg avtalspartner\",\"Sopimuskumppani \":\"Antalspartner \"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"fi\":{\"Nimi\":\"Nimi\",\"Henkilötunnus\":\"Henkilötunnus\",\"Puhelinnumero\":\"Puhelinnumero\",\"Sähköpostiosoite\":\"Sähköpostiosoite\",\"Valitse asiointikieli\":\"Valitse asiointikieli\",\"Lisää sopimuskumppani\":\"Lisää sopimuskumppani\",\"Sopimuskumppani \":\"Sopimuskumppani \"},\"sv\":{\"Nimi\":\"Namn\",\"Henkilötunnus\":\"Personbeteckning\",\"Puhelinnumero\":\"Telefonnummer\",\"Sähköpostiosoite\":\"E-postadress\",\"Valitse asiointikieli\":\"Välj betjäningsspråk\",\"Lisää sopimuskumppani\":\"Tillägg avtalspartner\",\"Sopimuskumppani \":\"Antalspartner \"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"fi\":{\"Postinumero\":\"Postinumero\",\"Loppulaskun osoite\":\"Loppulaskun osoite\",\"Käyttöpaikan osoite\":\"Käyttöpaikan osoite\",\"Postitoimipaikka\":\"Postitoimipaikka\",\"Käyttöpaikkatunnus\":\"Käyttöpaikkatunnus\",\"Asiakkaan postiosoite on eri kuin käyttöpaikan osoite\":\"Asiakkaan postiosoite on eri kuin käyttöpaikan osoite\",\"Asiakkaan postiosoite\":\"Asiakkaan postiosoite\",\"Mikäli teet sopimusta eri osoitteeseen kuin missä asut (esimerkiksi kesämökille), syötä oma osoitteesi tässä.\":\"Mikäli teet sopimusta eri osoitteeseen kuin missä asut (esimerkiksi kesämökille), syötä oma osoitteesi tässä.\",\"Katuosoite\":\"Katuosoite\",\"c/o Nimi\":\"c/o Nimi\",\"Asiakkaan laskutusosoite on eri kuin oletusosoite / haluan laskun sähköisesti\":\"Asiakkaan laskutusosoite on eri kuin oletusosoite / haluan laskun sähköisesti\",\"Laskutustiedot\":\"Laskutustiedot\",\"Mikäli haluat vaihtaa oletuslaskutustietoja, voit vaihtaa niitä tässä.\":\"Mikäli haluat vaihtaa oletuslaskutustietoja, voit vaihtaa niitä tässä.\",\"Yhteyshenkilö\":\"Yhteyshenkilö\",\"Laskutusosoite\":\"Laskutusosoite\",\"Laskutussähköposti\":\"Laskutussähköposti\",\"Verkkolaskuosoite\":\"Verkkolaskuosoite\",\"Verkkolaskuosoite (OVT-tunnus)\":\"Verkkolaskuosoite (OVT-tunnus)\",\"Välittäjätunnus\":\"Välittäjätunnus\",\"Käyttöpaikan sopimustilanne\":\"Käyttöpaikan sopimustilanne\",\"Kyseessä on muutto tai muuten uusi sopimus\":\"Kyseessä on muutto tai muuten uusi sopimus\",\"Kyseessä on muutto tai sopimus toiseen käyttöpaikkaan\":\"Kyseessä on muutto tai sopimus toiseen käyttöpaikkaan\",\"Myyjän vaihto, minulla on voimassa oleva sopimus toiselta myyjältä\":\"Myyjän vaihto, minulla on voimassa oleva sopimus toiselta myyjältä\",\"Tuotteen vaihto\":\"Tuotteen vaihto\",\"Haluan vaihtaa nykyisen sähkösopimukseni toiseen\":\"Haluan vaihtaa nykyisen sähkösopimukseni toiseen\",\"Oletko kiinteistön omistaja?\":\"Oletko kiinteistön omistaja?\",\"Sähköliittymän siirto koskee kaikkien kiinteistöjen, mm. omakotitalojen, paritalojen ja vapaa-ajan asuntojen omistajanvaihdoksia. Kerros- ja rivitalohuoneistoilla ei ole omia sähköliittymiä, vaan liittymä on kiinteistöjen yhteinen ja taloyhtiön omistama.Jos kiinteistö sijaitsee Porvoon Sähköverkko Oy:n verkkoalueella kiinteistön oston jälkeen uuden omistajan tulee ottaa yhteyttä asiakaspalveluun puh. (019) 6614230 sähköliittymän omistus-ja sopimusoikeuden siirtämiseksi.\":\"Sähköliittymän siirto koskee kaikkien kiinteistöjen, mm. omakotitalojen, paritalojen ja vapaa-ajan asuntojen omistajanvaihdoksia. Kerros- ja rivitalohuoneistoilla ei ole omia sähköliittymiä, vaan liittymä on kiinteistöjen yhteinen ja taloyhtiön omistama.Jos kiinteistö sijaitsee Porvoon Sähköverkko Oy:n verkkoalueella kiinteistön oston jälkeen uuden omistajan tulee ottaa yhteyttä asiakaspalveluun puh. (019) 6614230 sähköliittymän omistus-ja sopimusoikeuden siirtämiseksi.\",\"Mikäli kiinteistö sijaitsee Porvoon Sähköverkon alueella, tarvitsemme kopion kauppakirjasta, jossa näkyy, että liittymä siirtyy kaupan mukana uudelle omistajalle. Kopion voit lähettää\":\"Mikäli kiinteistö sijaitsee Porvoon Sähköverkon alueella, tarvitsemme kopion kauppakirjasta, jossa näkyy, että liittymä siirtyy kaupan mukana uudelle omistajalle. Kopion voit lähettää\",\"asiakaspalvelu@pbe.fi.\":\"asiakaspalvelu@pbe.fi.\",\"Sopimuksen toivottu alkamispäivämäärä\":\"Sopimuksen toivottu alkamispäivämäärä\",\"Pikamuutto? Ota yhteyttä asiakaspalveluumme:\":\"Pikamuutto? Ota yhteyttä asiakaspalveluumme:\",\"Sopimuksen aikaisin aloitusaika ja mahdollinen sähkön kytkentämaksu vaihtelevat paikallisen verkkoyhtiön mukaan. Maksuton kytkentä kaikkialla Suomessa kahden arkipäivän kuluttua tilauksesta.\":\"Sopimuksen aikaisin aloitusaika ja mahdollinen sähkön kytkentämaksu vaihtelevat paikallisen verkkoyhtiön mukaan. Maksuton kytkentä kaikkialla Suomessa kahden arkipäivän kuluttua tilauksesta.\",\"Olen tarkistanut, että sähkön voi kytkeä paloturvallisesti; lieden nappulat ja/tai sauna eivät ole päällä.\":\"Olen tarkistanut, että sähkön voi kytkeä paloturvallisesti; esim. lieden nappulat ja/tai sauna eivät ole päällä.\",\"Laskujen määrä vuodessa\":\"Laskujen määrä vuodessa\",\"Toivottu alkupäivä\":\"Toivottu alkupäivä\",\"Asiakkaan osoite\":\"Asiakkaan osoite\",\"Laskutustapa\":\"Laskutustapa\",\"Kyllä\":\"Kyllä\",\"Ei\":\"Ei\",\"paperilasku\":\"paperilasku\",\"sähköpostilasku\":\"sähköpostilasku\",\"verkkolasku\":\"verkkolasku\",\"e-lasku\":\"e-lasku\",\"kpl\":\"kpl\",\"Vaihdettu automaattisesti käyttöpaikan osoite.\":\"Vaihdettu automaattisesti käyttöpaikan osoite.\",\"Myyjänvaihto on mahdollista vasta \":\"Myyjänvaihto on mahdollista vasta \",\"alkaen, energia-alan yhteisen datahub järjestelmän käyttöönoton vuoksi\":\"alkaen, energia-alan yhteisen datahub järjestelmän käyttöönoton vuoksi\"},\"sv\":{\"Postinumero\":\"Postnummer\",\"Loppulaskun osoite\":\"Adress för slutfaktura\",\"Käyttöpaikan osoite\":\"Förbrukningsplatsens adress\",\"Postitoimipaikka\":\"Postanstalt\",\"Käyttöpaikkatunnus\":\"Förbrukningspaltsens nummer\",\"Asiakkaan postiosoite on eri kuin käyttöpaikan osoite\":\"Kundens postadress är en annan än förbrukningsplatsens adress\",\"Asiakkaan postiosoite\":\"Kundens postadress\",\"Mikäli teet sopimusta eri osoitteeseen kuin missä asut (esimerkiksi kesämökille), syötä oma osoitteesi tässä.\":\"Om du gör ett avtal på annan adress än den du bor på (t.ex sommarstuga) mata in din egen adress här.\",\"Katuosoite\":\"Gatuadress\",\"c/o Nimi\":\"c/o Namn\",\"Asiakkaan laskutusosoite on eri kuin oletusosoite / haluan laskun sähköisesti\":\"Kundens adress är en annan än den antagna adressen / önskar elektronisk faktura\",\"Laskutustiedot\":\"Faktureringsuppgifter\",\"Mikäli haluat vaihtaa oletuslaskutustietoja, voit vaihtaa niitä tässä.\":\"Om du vill ändra på de antagna adresserna, kan du göra det här.\",\"Yhteyshenkilö\":\"Kontaktperson\",\"Laskutusosoite\":\"Faktureringsadress\",\"Laskutussähköposti\":\"Fakturerings e-postadress\",\"Verkkolaskuosoite\":\"Nätfakturans adress\",\"Verkkolaskuosoite (OVT-tunnus)\":\"Nätfakturans adress\",\"Välittäjätunnus\":\"Förmedlarkod\",\"Käyttöpaikan sopimustilanne\":\"Förbrukningsplatsens avtalssituation\",\"Kyseessä on muutto tai muuten uusi sopimus\":\"Gäller flyttning eller nytt avtal\",\"Kyseessä on muutto tai sopimus toiseen käyttöpaikkaan\":\"Gäller flyttning eller avtal till annan förbrukningsplats\",\"Myyjän vaihto, minulla on voimassa oleva sopimus toiselta myyjältä\":\"Byt av försäljare, jag har ikraftvarande avtal med annan försäljare\",\"Tuotteen vaihto\":\"Produktbyte\",\"Haluan vaihtaa nykyisen sähkösopimukseni toiseen\":\"Jag vill byta mitt nuvarande elavtal till ett annat\",\"Oletko kiinteistön omistaja?\":\"Är du fastighetsägare?\",\"Sähköliittymän siirto koskee kaikkien kiinteistöjen, mm. omakotitalojen, paritalojen ja vapaa-ajan asuntojen omistajanvaihdoksia. Kerros- ja rivitalohuoneistoilla ei ole omia sähköliittymiä, vaan liittymä on kiinteistöjen yhteinen ja taloyhtiön omistama. Jos kiinteistö sijaitsee Porvoon Sähköverkko Oy:n verkkoalueella, kiinteistön oston jälkeen uuden omistajan tulee ottaa yhteyttä asiakaspalveluun puh. (019) 661 4230 sähköliittymän omistus- ja sopimusoikeuden siirtämiseksi.\":\"Överföring av anslutningar gäller alla fastigheter bl.a. ägarbyten av egnahemshus-, parhus- och fritidsbostäder. Höghus-, och radhuslägenheter har inte egna elanslutningar utan anslutningen är gemensam för hela fastigheten och ägs av husbolaget. Om fastigheten ligger på Borgå Elnät Ab,s nätområde, bör den nya ägaren vara i kontakt med kundbetjäningen tel.(019) 6614230 för att få elanslutningens ägar- och avtalsöverföringen utförd.\",\"Mikäli kiinteistö sijaitsee Porvoon Sähköverkon alueella, tarvitsemme kopion kauppakirjasta, jossa näkyy, että liittymä siirtyy kaupan mukana uudelle omistajalle. Kopion voit lähettää\":\"Om fastigheten befinner sig på Borgå Elnäts område behöver vi en kopia på köpebrevet där det framgår att anslutningen övergår till den nya ägaren i samband med köpet. Kopian kan sändas till\",\"asiakaspalvelu@pbe.fi.\":\"asiakaspalvelu@pbe.fi.\",\"Sopimuksen toivottu alkamispäivämäärä\":\"Önskat datum för avtalets begynnelse\",\"Pikamuutto? Ota yhteyttä asiakaspalveluumme:\":\"Snabbflyttning ? Tag kontakt med kundbetjäningen:\",\"Sopimuksen aikaisin aloitusaika ja mahdollinen sähkön kytkentämaksu vaihtelevat paikallisen verkkoyhtiön mukaan. Maksuton kytkentä kaikkialla Suomessa kahden arkipäivän kuluttua tilauksesta.\":\"Avtalets tidigaste starttid och eventuell påkopplingsavgift varierar beroende på det lokala nätbolaget. Kostnadsfri påkoppling erbjuds i hela Finland två arbetsdagar efter beställning.\",\"Olen tarkistanut, että sähkön voi kytkeä paloturvallisesti; lieden nappulat ja/tai sauna eivät ole päällä.\":\"Jag har kontrollerat att elen kan påkopplas tryggt utan fara för eldsvåda. Till exempel, spisen och/eller bastun är inte påkopplade.\",\"Laskujen määrä vuodessa\":\"Mängden fakturor per år\",\"Toivottu alkupäivä\":\"Önskat begynnelsedatum\",\"Asiakkaan osoite\":\"Kundens adress\",\"Laskutustapa\":\"Faktureringssätt\",\"Kyllä\":\"Ja\",\"Ei\":\"Nej\",\"paperilasku\":\"pappersfaktura\",\"sähköpostilasku\":\"e-postfaktura\",\"verkkolasku\":\"nätfaktura\",\"e-lasku\":\"e-faktura\",\"kpl\":\"st\",\"Vaihdettu automaattisesti käyttöpaikan osoite.\":\"Ändrat automatiskt platsadress.\",\"Myyjänvaihto on mahdollista vasta \":\"Byte av försäljningsbolag möjligt nästa gång \",\"alkaen, energia-alan yhteisen datahub järjestelmän käyttöönoton vuoksi\":\"eftersom energibolagen i Finland tar i bruk ett nytt datasystem, DataHub\"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"fi\":{\"Postinumero\":\"Postinumero\",\"Loppulaskun osoite\":\"Loppulaskun osoite\",\"Käyttöpaikan osoite\":\"Käyttöpaikan osoite\",\"Postitoimipaikka\":\"Postitoimipaikka\",\"Käyttöpaikkatunnus\":\"Käyttöpaikkatunnus\",\"Asiakkaan postiosoite on eri kuin käyttöpaikan osoite\":\"Asiakkaan postiosoite on eri kuin käyttöpaikan osoite\",\"Asiakkaan postiosoite\":\"Asiakkaan postiosoite\",\"Mikäli teet sopimusta eri osoitteeseen kuin missä asut (esimerkiksi kesämökille), syötä oma osoitteesi tässä.\":\"Mikäli teet sopimusta eri osoitteeseen kuin missä asut (esimerkiksi kesämökille), syötä oma osoitteesi tässä.\",\"Katuosoite\":\"Katuosoite\",\"c/o Nimi\":\"c/o Nimi\",\"Asiakkaan laskutusosoite on eri kuin oletusosoite / haluan laskun sähköisesti\":\"Asiakkaan laskutusosoite on eri kuin oletusosoite / haluan laskun sähköisesti\",\"Laskutustiedot\":\"Laskutustiedot\",\"Mikäli haluat vaihtaa oletuslaskutustietoja, voit vaihtaa niitä tässä.\":\"Mikäli haluat vaihtaa oletuslaskutustietoja, voit vaihtaa niitä tässä.\",\"Yhteyshenkilö\":\"Yhteyshenkilö\",\"Laskutusosoite\":\"Laskutusosoite\",\"Laskutussähköposti\":\"Laskutussähköposti\",\"Verkkolaskuosoite\":\"Verkkolaskuosoite\",\"Verkkolaskuosoite (OVT-tunnus)\":\"Verkkolaskuosoite (OVT-tunnus)\",\"Välittäjätunnus\":\"Välittäjätunnus\",\"Käyttöpaikan sopimustilanne\":\"Käyttöpaikan sopimustilanne\",\"Kyseessä on muutto tai muuten uusi sopimus\":\"Kyseessä on muutto tai muuten uusi sopimus\",\"Kyseessä on muutto tai sopimus toiseen käyttöpaikkaan\":\"Kyseessä on muutto tai sopimus toiseen käyttöpaikkaan\",\"Myyjän vaihto, minulla on voimassa oleva sopimus toiselta myyjältä\":\"Myyjän vaihto, minulla on voimassa oleva sopimus toiselta myyjältä\",\"Tuotteen vaihto\":\"Tuotteen vaihto\",\"Haluan vaihtaa nykyisen sähkösopimukseni toiseen\":\"Haluan vaihtaa nykyisen sähkösopimukseni toiseen\",\"Oletko kiinteistön omistaja?\":\"Oletko kiinteistön omistaja?\",\"Sähköliittymän siirto koskee kaikkien kiinteistöjen, mm. omakotitalojen, paritalojen ja vapaa-ajan asuntojen omistajanvaihdoksia. Kerros- ja rivitalohuoneistoilla ei ole omia sähköliittymiä, vaan liittymä on kiinteistöjen yhteinen ja taloyhtiön omistama.Jos kiinteistö sijaitsee Porvoon Sähköverkko Oy:n verkkoalueella kiinteistön oston jälkeen uuden omistajan tulee ottaa yhteyttä asiakaspalveluun puh. (019) 6614230 sähköliittymän omistus-ja sopimusoikeuden siirtämiseksi.\":\"Sähköliittymän siirto koskee kaikkien kiinteistöjen, mm. omakotitalojen, paritalojen ja vapaa-ajan asuntojen omistajanvaihdoksia. Kerros- ja rivitalohuoneistoilla ei ole omia sähköliittymiä, vaan liittymä on kiinteistöjen yhteinen ja taloyhtiön omistama.Jos kiinteistö sijaitsee Porvoon Sähköverkko Oy:n verkkoalueella kiinteistön oston jälkeen uuden omistajan tulee ottaa yhteyttä asiakaspalveluun puh. (019) 6614230 sähköliittymän omistus-ja sopimusoikeuden siirtämiseksi.\",\"Mikäli kiinteistö sijaitsee Porvoon Sähköverkon alueella, tarvitsemme kopion kauppakirjasta, jossa näkyy, että liittymä siirtyy kaupan mukana uudelle omistajalle. Kopion voit lähettää\":\"Mikäli kiinteistö sijaitsee Porvoon Sähköverkon alueella, tarvitsemme kopion kauppakirjasta, jossa näkyy, että liittymä siirtyy kaupan mukana uudelle omistajalle. Kopion voit lähettää\",\"asiakaspalvelu@pbe.fi.\":\"asiakaspalvelu@pbe.fi.\",\"Sopimuksen toivottu alkamispäivämäärä\":\"Sopimuksen toivottu alkamispäivämäärä\",\"Pikamuutto? Ota yhteyttä asiakaspalveluumme:\":\"Pikamuutto? Ota yhteyttä asiakaspalveluumme:\",\"Sopimuksen aikaisin aloitusaika ja mahdollinen sähkön kytkentämaksu vaihtelevat paikallisen verkkoyhtiön mukaan. Maksuton kytkentä kaikkialla Suomessa kahden arkipäivän kuluttua tilauksesta.\":\"Sopimuksen aikaisin aloitusaika ja mahdollinen sähkön kytkentämaksu vaihtelevat paikallisen verkkoyhtiön mukaan. Maksuton kytkentä kaikkialla Suomessa kahden arkipäivän kuluttua tilauksesta.\",\"Olen tarkistanut, että sähkön voi kytkeä paloturvallisesti; lieden nappulat ja/tai sauna eivät ole päällä.\":\"Olen tarkistanut, että sähkön voi kytkeä paloturvallisesti; esim. lieden nappulat ja/tai sauna eivät ole päällä.\",\"Laskujen määrä vuodessa\":\"Laskujen määrä vuodessa\",\"Toivottu alkupäivä\":\"Toivottu alkupäivä\",\"Asiakkaan osoite\":\"Asiakkaan osoite\",\"Laskutustapa\":\"Laskutustapa\",\"Kyllä\":\"Kyllä\",\"Ei\":\"Ei\",\"paperilasku\":\"paperilasku\",\"sähköpostilasku\":\"sähköpostilasku\",\"verkkolasku\":\"verkkolasku\",\"e-lasku\":\"e-lasku\",\"kpl\":\"kpl\",\"Vaihdettu automaattisesti käyttöpaikan osoite.\":\"Vaihdettu automaattisesti käyttöpaikan osoite.\",\"Myyjänvaihto on mahdollista vasta \":\"Myyjänvaihto on mahdollista vasta \",\"alkaen, energia-alan yhteisen datahub järjestelmän käyttöönoton vuoksi\":\"alkaen, energia-alan yhteisen datahub järjestelmän käyttöönoton vuoksi\"},\"sv\":{\"Postinumero\":\"Postnummer\",\"Loppulaskun osoite\":\"Adress för slutfaktura\",\"Käyttöpaikan osoite\":\"Förbrukningsplatsens adress\",\"Postitoimipaikka\":\"Postanstalt\",\"Käyttöpaikkatunnus\":\"Förbrukningspaltsens nummer\",\"Asiakkaan postiosoite on eri kuin käyttöpaikan osoite\":\"Kundens postadress är en annan än förbrukningsplatsens adress\",\"Asiakkaan postiosoite\":\"Kundens postadress\",\"Mikäli teet sopimusta eri osoitteeseen kuin missä asut (esimerkiksi kesämökille), syötä oma osoitteesi tässä.\":\"Om du gör ett avtal på annan adress än den du bor på (t.ex sommarstuga) mata in din egen adress här.\",\"Katuosoite\":\"Gatuadress\",\"c/o Nimi\":\"c/o Namn\",\"Asiakkaan laskutusosoite on eri kuin oletusosoite / haluan laskun sähköisesti\":\"Kundens adress är en annan än den antagna adressen / önskar elektronisk faktura\",\"Laskutustiedot\":\"Faktureringsuppgifter\",\"Mikäli haluat vaihtaa oletuslaskutustietoja, voit vaihtaa niitä tässä.\":\"Om du vill ändra på de antagna adresserna, kan du göra det här.\",\"Yhteyshenkilö\":\"Kontaktperson\",\"Laskutusosoite\":\"Faktureringsadress\",\"Laskutussähköposti\":\"Fakturerings e-postadress\",\"Verkkolaskuosoite\":\"Nätfakturans adress\",\"Verkkolaskuosoite (OVT-tunnus)\":\"Nätfakturans adress\",\"Välittäjätunnus\":\"Förmedlarkod\",\"Käyttöpaikan sopimustilanne\":\"Förbrukningsplatsens avtalssituation\",\"Kyseessä on muutto tai muuten uusi sopimus\":\"Gäller flyttning eller nytt avtal\",\"Kyseessä on muutto tai sopimus toiseen käyttöpaikkaan\":\"Gäller flyttning eller avtal till annan förbrukningsplats\",\"Myyjän vaihto, minulla on voimassa oleva sopimus toiselta myyjältä\":\"Byt av försäljare, jag har ikraftvarande avtal med annan försäljare\",\"Tuotteen vaihto\":\"Produktbyte\",\"Haluan vaihtaa nykyisen sähkösopimukseni toiseen\":\"Jag vill byta mitt nuvarande elavtal till ett annat\",\"Oletko kiinteistön omistaja?\":\"Är du fastighetsägare?\",\"Sähköliittymän siirto koskee kaikkien kiinteistöjen, mm. omakotitalojen, paritalojen ja vapaa-ajan asuntojen omistajanvaihdoksia. Kerros- ja rivitalohuoneistoilla ei ole omia sähköliittymiä, vaan liittymä on kiinteistöjen yhteinen ja taloyhtiön omistama. Jos kiinteistö sijaitsee Porvoon Sähköverkko Oy:n verkkoalueella, kiinteistön oston jälkeen uuden omistajan tulee ottaa yhteyttä asiakaspalveluun puh. (019) 661 4230 sähköliittymän omistus- ja sopimusoikeuden siirtämiseksi.\":\"Överföring av anslutningar gäller alla fastigheter bl.a. ägarbyten av egnahemshus-, parhus- och fritidsbostäder. Höghus-, och radhuslägenheter har inte egna elanslutningar utan anslutningen är gemensam för hela fastigheten och ägs av husbolaget. Om fastigheten ligger på Borgå Elnät Ab,s nätområde, bör den nya ägaren vara i kontakt med kundbetjäningen tel.(019) 6614230 för att få elanslutningens ägar- och avtalsöverföringen utförd.\",\"Mikäli kiinteistö sijaitsee Porvoon Sähköverkon alueella, tarvitsemme kopion kauppakirjasta, jossa näkyy, että liittymä siirtyy kaupan mukana uudelle omistajalle. Kopion voit lähettää\":\"Om fastigheten befinner sig på Borgå Elnäts område behöver vi en kopia på köpebrevet där det framgår att anslutningen övergår till den nya ägaren i samband med köpet. Kopian kan sändas till\",\"asiakaspalvelu@pbe.fi.\":\"asiakaspalvelu@pbe.fi.\",\"Sopimuksen toivottu alkamispäivämäärä\":\"Önskat datum för avtalets begynnelse\",\"Pikamuutto? Ota yhteyttä asiakaspalveluumme:\":\"Snabbflyttning ? Tag kontakt med kundbetjäningen:\",\"Sopimuksen aikaisin aloitusaika ja mahdollinen sähkön kytkentämaksu vaihtelevat paikallisen verkkoyhtiön mukaan. Maksuton kytkentä kaikkialla Suomessa kahden arkipäivän kuluttua tilauksesta.\":\"Avtalets tidigaste starttid och eventuell påkopplingsavgift varierar beroende på det lokala nätbolaget. Kostnadsfri påkoppling erbjuds i hela Finland två arbetsdagar efter beställning.\",\"Olen tarkistanut, että sähkön voi kytkeä paloturvallisesti; lieden nappulat ja/tai sauna eivät ole päällä.\":\"Jag har kontrollerat att elen kan påkopplas tryggt utan fara för eldsvåda. Till exempel, spisen och/eller bastun är inte påkopplade.\",\"Laskujen määrä vuodessa\":\"Mängden fakturor per år\",\"Toivottu alkupäivä\":\"Önskat begynnelsedatum\",\"Asiakkaan osoite\":\"Kundens adress\",\"Laskutustapa\":\"Faktureringssätt\",\"Kyllä\":\"Ja\",\"Ei\":\"Nej\",\"paperilasku\":\"pappersfaktura\",\"sähköpostilasku\":\"e-postfaktura\",\"verkkolasku\":\"nätfaktura\",\"e-lasku\":\"e-faktura\",\"kpl\":\"st\",\"Vaihdettu automaattisesti käyttöpaikan osoite.\":\"Ändrat automatiskt platsadress.\",\"Myyjänvaihto on mahdollista vasta \":\"Byte av försäljningsbolag möjligt nästa gång \",\"alkaen, energia-alan yhteisen datahub järjestelmän käyttöönoton vuoksi\":\"eftersom energibolagen i Finland tar i bruk ett nytt datasystem, DataHub\"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"fi\":{\"Muokkaa\":\"Muokkaa\",\"Jatka\":\"Jatka\",\"Kohteen tiedot\":\"Kohteen tiedot\",\"Asunnon tiedot\":\"Asunnon tiedot\",\"Tuotevalinta\":\"Tuotevalinta\",\"Asiakkaan tiedot\":\"Asiakkaan tiedot\",\"Osoitetiedot\":\"Osoitetiedot\",\"Muuttoilmoituksen tekijä ja päätettävät sopimukset\":\"Muuttoilmoituksen tekijä ja päätettävät sopimukset\",\"Asiakas- ja yhteystiedot\":\"Asiakas- ja yhteystiedot\",\"Jatka yhteenvetoon\":\"Jatka yhteenvetoon\",\"Haluan tehdä samalla uuden sopimuksen\":\"Haluan tehdä samalla uuden sopimuksen\",\"Henkilöasiakas\":\"Henkilöasiakas\",\"Yritysasiakas\":\"Yritysasiakas\"},\"sv\":{\"Muokkaa\":\"Bearbeta\",\"Jatka\":\"Fortsätt\",\"Kohteen tiedot\":\"Förbrukningsplatsens uppgifter\",\"Asunnon tiedot\":\"Bostadens uppgifter\",\"Tuotevalinta\":\"Produktval\",\"Asiakkaan tiedot\":\"Kunduppgifter\",\"Osoitetiedot\":\"Adressuppgifter\",\"Muuttoilmoituksen tekijä ja päätettävät sopimukset\":\"Flyttningsanmälan utförd av och avtal som avslutas\",\"Asiakas- ja yhteystiedot\":\"Kund-och kontaktuppgifter\",\"Jatka yhteenvetoon\":\"Fortsätt till sammanfattningen\",\"Haluan tehdä samalla uuden sopimuksen\":\"Jag vill också nu göra ett nytt avtal\",\"Henkilöasiakas\":\"Personkund\",\"Yritysasiakas\":\"Företagskund\"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"fi\":{\"Muokkaa\":\"Muokkaa\",\"Jatka\":\"Jatka\",\"Kohteen tiedot\":\"Kohteen tiedot\",\"Asunnon tiedot\":\"Asunnon tiedot\",\"Tuotevalinta\":\"Tuotevalinta\",\"Asiakkaan tiedot\":\"Asiakkaan tiedot\",\"Osoitetiedot\":\"Osoitetiedot\",\"Muuttoilmoituksen tekijä ja päätettävät sopimukset\":\"Muuttoilmoituksen tekijä ja päätettävät sopimukset\",\"Asiakas- ja yhteystiedot\":\"Asiakas- ja yhteystiedot\",\"Jatka yhteenvetoon\":\"Jatka yhteenvetoon\",\"Haluan tehdä samalla uuden sopimuksen\":\"Haluan tehdä samalla uuden sopimuksen\",\"Henkilöasiakas\":\"Henkilöasiakas\",\"Yritysasiakas\":\"Yritysasiakas\"},\"sv\":{\"Muokkaa\":\"Bearbeta\",\"Jatka\":\"Fortsätt\",\"Kohteen tiedot\":\"Förbrukningsplatsens uppgifter\",\"Asunnon tiedot\":\"Bostadens uppgifter\",\"Tuotevalinta\":\"Produktval\",\"Asiakkaan tiedot\":\"Kunduppgifter\",\"Osoitetiedot\":\"Adressuppgifter\",\"Muuttoilmoituksen tekijä ja päätettävät sopimukset\":\"Flyttningsanmälan utförd av och avtal som avslutas\",\"Asiakas- ja yhteystiedot\":\"Kund-och kontaktuppgifter\",\"Jatka yhteenvetoon\":\"Fortsätt till sammanfattningen\",\"Haluan tehdä samalla uuden sopimuksen\":\"Jag vill också nu göra ett nytt avtal\",\"Henkilöasiakas\":\"Personkund\",\"Yritysasiakas\":\"Företagskund\"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"fi\":{\"Asumismuoto\":\"Asumismuoto\",\"Kerrostalo\":\"Kerrostalo\",\"Rivitalo\":\"Rivitalo\",\"Omakotitalo\":\"Omakotitalo\",\"Vapaa-ajan asunto\":\"Vapaa-ajan asunto\",\"Paritalo\":\"Paritalo\",\"Toimiala\":\"Toimiala\",\"Maatalous\":\"Maatalous\",\"Jalostus\":\"Jalostus\",\"Palvelu\":\"Palvelu\",\"Julkinen\":\"Julkinen\",\"Muu\":\"Muu\",\"Lämmitystapa\":\"Lämmitystapa\",\"Sähkö\":\"Sähkö\",\"Kaukolämpö\":\"Kaukolämpö\",\"Maalämpö\":\"Maalämpö\",\"Öljy\":\"Öljy\",\"Mittaustapa\":\"Mittaustapa\",\"Valitse mittaustapa\":\"Valitse mittaustapa\",\"Yksiaika\":\"Yksiaika\",\"Yö-päivä\":\"Yö-päivä\",\"Yleissähkö\":\"Yleissähkö\",\"Aikasähkö\":\"Aikasähkö\",\"Vuodenaikasähkö\":\"Vuodenaikasähkö\",\"Pinta-ala\":\"Pinta-ala\",\"Valitse kohteen pinta-ala\":\"Valitse kohteen pinta-ala\",\"Vuosikulutus\":\"Vuosikulutus\",\"Pääasiallinen lämmitystapa\":\"Pääasiallinen lämmitystapa\",\"Jos et tiedä mittaustapaa, valitse yleissähkö. Mittaustavan voi vaihtaa myöhemmin. Jos haluat valita Spot-tuotetta, valitse aina yleissähkö.\":\"Jos et tiedä mittaustapaa, valitse yleissähkö. Mittaustavan voi vaihtaa myöhemmin. Jos haluat valita Spot-tuotetta, valitse aina yleissähkö.\",\"Kohteen pinta-ala\":\"Kohteen pinta-ala\",\"Vuosikulutus (arvio)\":\"Vuosikulutus (arvio)\",\"Vuosikulutus (arvio) päivä\":\"Vuosikulutus (arvio) päivä\",\"Vuosikulutus (arvio) talviarkipäivä\":\"Vuosikulutus (arvio) talviarkipäivä\",\"Vuosikulutus (arvio) yö\":\"Vuosikulutus (arvio) yö\",\"Vuosikulutus (arvio) muu aika\":\"Vuosikulutus (arvio) muu aika\",\"Ei valittu\":\"Ei valittu\"},\"sv\":{\"Asumismuoto\":\"Bostadstyp\",\"Kerrostalo\":\"Höghus\",\"Rivitalo\":\"Radhus\",\"Omakotitalo\":\"Egnahemshus\",\"Vapaa-ajan asunto\":\"Fritidshus\",\"Paritalo\":\"Parhus\",\"Toimiala\":\"Bransch\",\"Maatalous\":\"Lantbruk\",\"Jalostus\":\"Förädling\",\"Palvelu\":\"Service\",\"Julkinen\":\"Offentlig\",\"Muu\":\"Annan\",\"Lämmitystapa\":\"Uppvärmningssätt\",\"Sähkö\":\"El\",\"Kaukolämpö\":\"Fjärrvärme\",\"Maalämpö\":\"Jordvärme\",\"Öljy\":\"Olja\",\"Mittaustapa\":\"Mätningssätt\",\"Valitse mittaustapa\":\"Välj mätningssätt\",\"Yksiaika\":\"Entid\",\"Yö-päivä\":\"Natt-Dag\",\"Yleissähkö\":\"Allmän el\",\"Aikasähkö\":\"Tidsel\",\"Vuodenaikasähkö\":\"Årstidsel\",\"Pinta-ala\":\"Yta\",\"Valitse kohteen pinta-ala\":\"Välj platsens yta\",\"Vuosikulutus\":\"Årsförbrukning\",\"Pääasiallinen lämmitystapa\":\"Huvudsakligt uppvärmningssätt\",\"Jos et tiedä mittaustapaa, valitse yleissähkö. Mittaustavan voi vaihtaa myöhemmin. Jos haluat valita Spot-tuotetta, valitse aina yleissähkö.\":\"Om du inte känner till mätningssättet, välj allmän el. Mätningssätt kan bytas ut senare. Vid val av Spot-avtal, välj alltid allmän el.\",\"Kohteen pinta-ala\":\"Förbrukningsplatsens yta\",\"Vuosikulutus (arvio)\":\"Årsförbrukning (uppskattning)\",\"Vuosikulutus (arvio) päivä\":\"Årsförbrukning (uppskattning) dag\",\"Vuosikulutus (arvio) talviarkipäivä\":\"Årsförbrukning (uppskattning) vintervardag\",\"Vuosikulutus (arvio) yö\":\"Årsförbrukning (uppskattning) natt\",\"Vuosikulutus (arvio) muu aika\":\"Årsförbrukning (uppskattning) annan tid\",\"Ei valittu\":\"Ej vald\"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"fi\":{\"Asumismuoto\":\"Asumismuoto\",\"Kerrostalo\":\"Kerrostalo\",\"Rivitalo\":\"Rivitalo\",\"Omakotitalo\":\"Omakotitalo\",\"Vapaa-ajan asunto\":\"Vapaa-ajan asunto\",\"Paritalo\":\"Paritalo\",\"Toimiala\":\"Toimiala\",\"Maatalous\":\"Maatalous\",\"Jalostus\":\"Jalostus\",\"Palvelu\":\"Palvelu\",\"Julkinen\":\"Julkinen\",\"Muu\":\"Muu\",\"Lämmitystapa\":\"Lämmitystapa\",\"Sähkö\":\"Sähkö\",\"Kaukolämpö\":\"Kaukolämpö\",\"Maalämpö\":\"Maalämpö\",\"Öljy\":\"Öljy\",\"Mittaustapa\":\"Mittaustapa\",\"Valitse mittaustapa\":\"Valitse mittaustapa\",\"Yksiaika\":\"Yksiaika\",\"Yö-päivä\":\"Yö-päivä\",\"Yleissähkö\":\"Yleissähkö\",\"Aikasähkö\":\"Aikasähkö\",\"Vuodenaikasähkö\":\"Vuodenaikasähkö\",\"Pinta-ala\":\"Pinta-ala\",\"Valitse kohteen pinta-ala\":\"Valitse kohteen pinta-ala\",\"Vuosikulutus\":\"Vuosikulutus\",\"Pääasiallinen lämmitystapa\":\"Pääasiallinen lämmitystapa\",\"Jos et tiedä mittaustapaa, valitse yleissähkö. Mittaustavan voi vaihtaa myöhemmin. Jos haluat valita Spot-tuotetta, valitse aina yleissähkö.\":\"Jos et tiedä mittaustapaa, valitse yleissähkö. Mittaustavan voi vaihtaa myöhemmin. Jos haluat valita Spot-tuotetta, valitse aina yleissähkö.\",\"Kohteen pinta-ala\":\"Kohteen pinta-ala\",\"Vuosikulutus (arvio)\":\"Vuosikulutus (arvio)\",\"Vuosikulutus (arvio) päivä\":\"Vuosikulutus (arvio) päivä\",\"Vuosikulutus (arvio) talviarkipäivä\":\"Vuosikulutus (arvio) talviarkipäivä\",\"Vuosikulutus (arvio) yö\":\"Vuosikulutus (arvio) yö\",\"Vuosikulutus (arvio) muu aika\":\"Vuosikulutus (arvio) muu aika\",\"Ei valittu\":\"Ei valittu\"},\"sv\":{\"Asumismuoto\":\"Bostadstyp\",\"Kerrostalo\":\"Höghus\",\"Rivitalo\":\"Radhus\",\"Omakotitalo\":\"Egnahemshus\",\"Vapaa-ajan asunto\":\"Fritidshus\",\"Paritalo\":\"Parhus\",\"Toimiala\":\"Bransch\",\"Maatalous\":\"Lantbruk\",\"Jalostus\":\"Förädling\",\"Palvelu\":\"Service\",\"Julkinen\":\"Offentlig\",\"Muu\":\"Annan\",\"Lämmitystapa\":\"Uppvärmningssätt\",\"Sähkö\":\"El\",\"Kaukolämpö\":\"Fjärrvärme\",\"Maalämpö\":\"Jordvärme\",\"Öljy\":\"Olja\",\"Mittaustapa\":\"Mätningssätt\",\"Valitse mittaustapa\":\"Välj mätningssätt\",\"Yksiaika\":\"Entid\",\"Yö-päivä\":\"Natt-Dag\",\"Yleissähkö\":\"Allmän el\",\"Aikasähkö\":\"Tidsel\",\"Vuodenaikasähkö\":\"Årstidsel\",\"Pinta-ala\":\"Yta\",\"Valitse kohteen pinta-ala\":\"Välj platsens yta\",\"Vuosikulutus\":\"Årsförbrukning\",\"Pääasiallinen lämmitystapa\":\"Huvudsakligt uppvärmningssätt\",\"Jos et tiedä mittaustapaa, valitse yleissähkö. Mittaustavan voi vaihtaa myöhemmin. Jos haluat valita Spot-tuotetta, valitse aina yleissähkö.\":\"Om du inte känner till mätningssättet, välj allmän el. Mätningssätt kan bytas ut senare. Vid val av Spot-avtal, välj alltid allmän el.\",\"Kohteen pinta-ala\":\"Förbrukningsplatsens yta\",\"Vuosikulutus (arvio)\":\"Årsförbrukning (uppskattning)\",\"Vuosikulutus (arvio) päivä\":\"Årsförbrukning (uppskattning) dag\",\"Vuosikulutus (arvio) talviarkipäivä\":\"Årsförbrukning (uppskattning) vintervardag\",\"Vuosikulutus (arvio) yö\":\"Årsförbrukning (uppskattning) natt\",\"Vuosikulutus (arvio) muu aika\":\"Årsförbrukning (uppskattning) annan tid\",\"Ei valittu\":\"Ej vald\"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"fi\":{\"Tuotetta ei valittu\":\"Tuotetta ei valittu\",\"Mikäli sinulla on kampanjakoodi, syötä se tähän\":\"Mikäli sinulla on kampanjakoodi, syötä se tähän\",\"Kampanjakoodi\":\"Kampanjakoodi\",\"Lisätietoja tuotteesta\":\"Lisätietoja tuotteesta\",\"Miten haluat sähkösopimuksesi hinnan määräytyvän?\":\"Miten haluat sähkösopimuksesi hinnan määräytyvän?\",\"Määräaikainen sopimus (hinta pysyy samana koko sopimuksen voimassaoloajan)\":\"Määräaikainen sopimus (hinta pysyy samana koko sopimuksen voimassaoloajan)\",\"Toistaiseksi voimassa oleva sopimus (hinta voi vaihdella maltillisesti sähkömarkkinahinnan mukaan)\":\"Toistaiseksi voimassa oleva sopimus (hinta voi vaihdella maltillisesti sähkömarkkinahinnan mukaan)\",\"Hinnan määräytymisellä ei ole väliä\":\"Hinnan määräytymisellä ei ole väliä\",\"Ei valittavissa olevia tuotteita\":\"Ei valittavissa olevia tuotteita\",\"(Hinnat alv 0%)\":\"(Hinnat alv 0%)\",\"(Hinnat alv 25,5 %)\":\"(Hinnat alv 25,5 %)\",\"Yleinen arvonlisävero muuttuu 1.9.2024. Nykyinen arvonlisävero on 24% ja uusi on 25,5%. Arvonlisäverollinen hinta muuttuu vastaavasti.\":\"Yleinen arvonlisävero muuttuu 1.9.2024. Nykyinen arvonlisävero on 24% ja uusi on 25,5%. Arvonlisäverollinen hinta muuttuu vastaavasti.\",\"Voimassa\":\"Voimassa\",\"Hinta-arvio\":\"Hinta-arvio\",\"Tuote valittu!\":\"Tuote valittu!\",\"Valitse tämä tuote\":\"Valitse tämä tuote\",\" €/vuosi\":\" €/vuosi\",\"Nimi\":\"Nimi\",\"Hinnasto\":\"Hinnasto\"},\"sv\":{\"Tuotetta ei valittu\":\"Produkt ej vald\",\"Mikäli sinulla on kampanjakoodi, syötä se tähän\":\"Om du har en kampanjkod, mata in den här\",\"Kampanjakoodi\":\"Kampanjkod\",\"Lisätietoja tuotteesta\":\"Närmare uppgifter om produkten\",\"Miten haluat sähkösopimuksesi hinnan määräytyvän?\":\"Hur önskar du att ditt elavtals pris fastställs?\",\"Määräaikainen sopimus (hinta pysyy samana koko sopimuksen voimassaoloajan)\":\"Tidsbundet avtal (priset förblir oförändrat under hela avtalsperioden)\",\"Toistaiseksi voimassa oleva sopimus (hinta voi vaihdella maltillisesti sähkömarkkinahinnan mukaan)\":\"Tillsvidare gällande avtal (priset kan variera måttligt beroende på elmarknadsprisen)\",\"Hinnan määräytymisellä ei ole väliä\":\"Ingen skillnad på vilket sätt priset fastställs\",\"Ei valittavissa olevia tuotteita\":\"Inga produkter att välja\",\"(Hinnat alv 0%)\":\"(Prisen 0% moms)\",\"(Hinnat alv 25,5 %)\":\"(Prisen moms 25,5 %)\",\"Yleinen arvonlisävero muuttuu 1.9.2024. Nykyinen arvonlisävero on 24% ja uusi on 25,5%. Arvonlisäverollinen hinta muuttuu vastaavasti.\":\"Den allmänna mervärdesskatten ändrar den 1.9.2024. Nuvarande är 24% och den nya är 25,5%. Det momsbelagda priset ändrar i motsvarande grad.\",\"Voimassa\":\"I kraft\",\"Hinta-arvio\":\"Prisuppskattning\",\"Tuote valittu!\":\"Produkten vald!\",\"Valitse tämä tuote\":\"Välj denna produkt\",\" €/vuosi\":\" €/år\",\"Nimi\":\"Namn\",\"Hinnasto\":\"Prislistan\"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"fi\":{\"Tuotetta ei valittu\":\"Tuotetta ei valittu\",\"Mikäli sinulla on kampanjakoodi, syötä se tähän\":\"Mikäli sinulla on kampanjakoodi, syötä se tähän\",\"Kampanjakoodi\":\"Kampanjakoodi\",\"Lisätietoja tuotteesta\":\"Lisätietoja tuotteesta\",\"Miten haluat sähkösopimuksesi hinnan määräytyvän?\":\"Miten haluat sähkösopimuksesi hinnan määräytyvän?\",\"Määräaikainen sopimus (hinta pysyy samana koko sopimuksen voimassaoloajan)\":\"Määräaikainen sopimus (hinta pysyy samana koko sopimuksen voimassaoloajan)\",\"Toistaiseksi voimassa oleva sopimus (hinta voi vaihdella maltillisesti sähkömarkkinahinnan mukaan)\":\"Toistaiseksi voimassa oleva sopimus (hinta voi vaihdella maltillisesti sähkömarkkinahinnan mukaan)\",\"Hinnan määräytymisellä ei ole väliä\":\"Hinnan määräytymisellä ei ole väliä\",\"Ei valittavissa olevia tuotteita\":\"Ei valittavissa olevia tuotteita\",\"(Hinnat alv 0%)\":\"(Hinnat alv 0%)\",\"(Hinnat alv 25,5 %)\":\"(Hinnat alv 25,5 %)\",\"Yleinen arvonlisävero muuttuu 1.9.2024. Nykyinen arvonlisävero on 24% ja uusi on 25,5%. Arvonlisäverollinen hinta muuttuu vastaavasti.\":\"Yleinen arvonlisävero muuttuu 1.9.2024. Nykyinen arvonlisävero on 24% ja uusi on 25,5%. Arvonlisäverollinen hinta muuttuu vastaavasti.\",\"Voimassa\":\"Voimassa\",\"Hinta-arvio\":\"Hinta-arvio\",\"Tuote valittu!\":\"Tuote valittu!\",\"Valitse tämä tuote\":\"Valitse tämä tuote\",\" €/vuosi\":\" €/vuosi\",\"Nimi\":\"Nimi\",\"Hinnasto\":\"Hinnasto\"},\"sv\":{\"Tuotetta ei valittu\":\"Produkt ej vald\",\"Mikäli sinulla on kampanjakoodi, syötä se tähän\":\"Om du har en kampanjkod, mata in den här\",\"Kampanjakoodi\":\"Kampanjkod\",\"Lisätietoja tuotteesta\":\"Närmare uppgifter om produkten\",\"Miten haluat sähkösopimuksesi hinnan määräytyvän?\":\"Hur önskar du att ditt elavtals pris fastställs?\",\"Määräaikainen sopimus (hinta pysyy samana koko sopimuksen voimassaoloajan)\":\"Tidsbundet avtal (priset förblir oförändrat under hela avtalsperioden)\",\"Toistaiseksi voimassa oleva sopimus (hinta voi vaihdella maltillisesti sähkömarkkinahinnan mukaan)\":\"Tillsvidare gällande avtal (priset kan variera måttligt beroende på elmarknadsprisen)\",\"Hinnan määräytymisellä ei ole väliä\":\"Ingen skillnad på vilket sätt priset fastställs\",\"Ei valittavissa olevia tuotteita\":\"Inga produkter att välja\",\"(Hinnat alv 0%)\":\"(Prisen 0% moms)\",\"(Hinnat alv 25,5 %)\":\"(Prisen moms 25,5 %)\",\"Yleinen arvonlisävero muuttuu 1.9.2024. Nykyinen arvonlisävero on 24% ja uusi on 25,5%. Arvonlisäverollinen hinta muuttuu vastaavasti.\":\"Den allmänna mervärdesskatten ändrar den 1.9.2024. Nuvarande är 24% och den nya är 25,5%. Det momsbelagda priset ändrar i motsvarande grad.\",\"Voimassa\":\"I kraft\",\"Hinta-arvio\":\"Prisuppskattning\",\"Tuote valittu!\":\"Produkten vald!\",\"Valitse tämä tuote\":\"Välj denna produkt\",\" €/vuosi\":\" €/år\",\"Nimi\":\"Namn\",\"Hinnasto\":\"Prislistan\"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"fi\":{\"Tuotetta ei valittu\":\"Tuotetta ei valittu\",\"Mikäli sinulla on kampanjakoodi, syötä se tähän\":\"Mikäli sinulla on kampanjakoodi, syötä se tähän\",\"Kampanjakoodi\":\"Kampanjakoodi\",\"Lisätietoja tuotteesta\":\"Lisätietoja tuotteesta\",\"Miten haluat sähkösopimuksesi hinnan määräytyvän?\":\"Miten haluat sähkösopimuksesi hinnan määräytyvän?\",\"Määräaikainen sopimus (hinta pysyy samana koko sopimuksen voimassaoloajan)\":\"Määräaikainen sopimus (hinta pysyy samana koko sopimuksen voimassaoloajan)\",\"Toistaiseksi voimassa oleva sopimus (hinta voi vaihdella maltillisesti sähkömarkkinahinnan mukaan)\":\"Toistaiseksi voimassa oleva sopimus (hinta voi vaihdella maltillisesti sähkömarkkinahinnan mukaan)\",\"Hinnan määräytymisellä ei ole väliä\":\"Hinnan määräytymisellä ei ole väliä\",\"Ei valittavissa olevia tuotteita\":\"Ei valittavissa olevia tuotteita\",\"(Hinnat alv 0%)\":\"(Hinnat alv 0%)\",\"(Hinnat alv 25,5 %)\":\"(Hinnat alv 25,5 %)\",\"Yleinen arvonlisävero muuttuu 1.9.2024. Nykyinen arvonlisävero on 24% ja uusi on 25,5%. Arvonlisäverollinen hinta muuttuu vastaavasti.\":\"Yleinen arvonlisävero muuttuu 1.9.2024. Nykyinen arvonlisävero on 24% ja uusi on 25,5%. Arvonlisäverollinen hinta muuttuu vastaavasti.\",\"Voimassa\":\"Voimassa\",\"Hinta-arvio\":\"Hinta-arvio\",\"Tuote valittu!\":\"Tuote valittu!\",\"Valitse tämä tuote\":\"Valitse tämä tuote\",\" €/vuosi\":\" €/vuosi\",\"Nimi\":\"Nimi\",\"Hinnasto\":\"Hinnasto\"},\"sv\":{\"Tuotetta ei valittu\":\"Produkt ej vald\",\"Mikäli sinulla on kampanjakoodi, syötä se tähän\":\"Om du har en kampanjkod, mata in den här\",\"Kampanjakoodi\":\"Kampanjkod\",\"Lisätietoja tuotteesta\":\"Närmare uppgifter om produkten\",\"Miten haluat sähkösopimuksesi hinnan määräytyvän?\":\"Hur önskar du att ditt elavtals pris fastställs?\",\"Määräaikainen sopimus (hinta pysyy samana koko sopimuksen voimassaoloajan)\":\"Tidsbundet avtal (priset förblir oförändrat under hela avtalsperioden)\",\"Toistaiseksi voimassa oleva sopimus (hinta voi vaihdella maltillisesti sähkömarkkinahinnan mukaan)\":\"Tillsvidare gällande avtal (priset kan variera måttligt beroende på elmarknadsprisen)\",\"Hinnan määräytymisellä ei ole väliä\":\"Ingen skillnad på vilket sätt priset fastställs\",\"Ei valittavissa olevia tuotteita\":\"Inga produkter att välja\",\"(Hinnat alv 0%)\":\"(Prisen 0% moms)\",\"(Hinnat alv 25,5 %)\":\"(Prisen moms 25,5 %)\",\"Yleinen arvonlisävero muuttuu 1.9.2024. Nykyinen arvonlisävero on 24% ja uusi on 25,5%. Arvonlisäverollinen hinta muuttuu vastaavasti.\":\"Den allmänna mervärdesskatten ändrar den 1.9.2024. Nuvarande är 24% och den nya är 25,5%. Det momsbelagda priset ändrar i motsvarande grad.\",\"Voimassa\":\"I kraft\",\"Hinta-arvio\":\"Prisuppskattning\",\"Tuote valittu!\":\"Produkten vald!\",\"Valitse tämä tuote\":\"Välj denna produkt\",\" €/vuosi\":\" €/år\",\"Nimi\":\"Namn\",\"Hinnasto\":\"Prislistan\"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"fi\":{\"Tuotetta ei valittu\":\"Tuotetta ei valittu\",\"Mikäli sinulla on kampanjakoodi, syötä se tähän\":\"Mikäli sinulla on kampanjakoodi, syötä se tähän\",\"Kampanjakoodi\":\"Kampanjakoodi\",\"Lisätietoja tuotteesta\":\"Lisätietoja tuotteesta\",\"Miten haluat sähkösopimuksesi hinnan määräytyvän?\":\"Miten haluat sähkösopimuksesi hinnan määräytyvän?\",\"Määräaikainen sopimus (hinta pysyy samana koko sopimuksen voimassaoloajan)\":\"Määräaikainen sopimus (hinta pysyy samana koko sopimuksen voimassaoloajan)\",\"Toistaiseksi voimassa oleva sopimus (hinta voi vaihdella maltillisesti sähkömarkkinahinnan mukaan)\":\"Toistaiseksi voimassa oleva sopimus (hinta voi vaihdella maltillisesti sähkömarkkinahinnan mukaan)\",\"Hinnan määräytymisellä ei ole väliä\":\"Hinnan määräytymisellä ei ole väliä\",\"Ei valittavissa olevia tuotteita\":\"Ei valittavissa olevia tuotteita\",\"(Hinnat alv 0%)\":\"(Hinnat alv 0%)\",\"(Hinnat alv 25,5 %)\":\"(Hinnat alv 25,5 %)\",\"Yleinen arvonlisävero muuttuu 1.9.2024. Nykyinen arvonlisävero on 24% ja uusi on 25,5%. Arvonlisäverollinen hinta muuttuu vastaavasti.\":\"Yleinen arvonlisävero muuttuu 1.9.2024. Nykyinen arvonlisävero on 24% ja uusi on 25,5%. Arvonlisäverollinen hinta muuttuu vastaavasti.\",\"Voimassa\":\"Voimassa\",\"Hinta-arvio\":\"Hinta-arvio\",\"Tuote valittu!\":\"Tuote valittu!\",\"Valitse tämä tuote\":\"Valitse tämä tuote\",\" €/vuosi\":\" €/vuosi\",\"Nimi\":\"Nimi\",\"Hinnasto\":\"Hinnasto\"},\"sv\":{\"Tuotetta ei valittu\":\"Produkt ej vald\",\"Mikäli sinulla on kampanjakoodi, syötä se tähän\":\"Om du har en kampanjkod, mata in den här\",\"Kampanjakoodi\":\"Kampanjkod\",\"Lisätietoja tuotteesta\":\"Närmare uppgifter om produkten\",\"Miten haluat sähkösopimuksesi hinnan määräytyvän?\":\"Hur önskar du att ditt elavtals pris fastställs?\",\"Määräaikainen sopimus (hinta pysyy samana koko sopimuksen voimassaoloajan)\":\"Tidsbundet avtal (priset förblir oförändrat under hela avtalsperioden)\",\"Toistaiseksi voimassa oleva sopimus (hinta voi vaihdella maltillisesti sähkömarkkinahinnan mukaan)\":\"Tillsvidare gällande avtal (priset kan variera måttligt beroende på elmarknadsprisen)\",\"Hinnan määräytymisellä ei ole väliä\":\"Ingen skillnad på vilket sätt priset fastställs\",\"Ei valittavissa olevia tuotteita\":\"Inga produkter att välja\",\"(Hinnat alv 0%)\":\"(Prisen 0% moms)\",\"(Hinnat alv 25,5 %)\":\"(Prisen moms 25,5 %)\",\"Yleinen arvonlisävero muuttuu 1.9.2024. Nykyinen arvonlisävero on 24% ja uusi on 25,5%. Arvonlisäverollinen hinta muuttuu vastaavasti.\":\"Den allmänna mervärdesskatten ändrar den 1.9.2024. Nuvarande är 24% och den nya är 25,5%. Det momsbelagda priset ändrar i motsvarande grad.\",\"Voimassa\":\"I kraft\",\"Hinta-arvio\":\"Prisuppskattning\",\"Tuote valittu!\":\"Produkten vald!\",\"Valitse tämä tuote\":\"Välj denna produkt\",\" €/vuosi\":\" €/år\",\"Nimi\":\"Namn\",\"Hinnasto\":\"Prislistan\"}}')\n delete Component.options._Ctor\n}\n","//A\r\nexport enum AccessLevelEnum {\r\n AccountOwner = 1,\r\n Full = 2,\r\n Read = 4,\r\n None = 8\r\n //[Description(\"Täydet oikeudet\")]\r\n //Full = Write & Read\r\n}\r\n\r\nexport enum AuthenticationBankIdEnum {\r\n NOTSET = 0,\r\n NORDEA = 1,\r\n OSUUSPANKKI = 2,\r\n TAPIOLA = 3,\r\n SPANKKI = 4,\r\n DANSKEBANK = 5,\r\n AKTIA = 6,\r\n HANDELSBANKEN = 7,\r\n ALANDSBANKEN = 8,\r\n POPPankki = 9,\r\n SAASTOPANKKI = 10,\r\n OMASAASTOPANKKI = 11,\r\n KORHOPANKKI = 12,\r\n NORDEA2 = 13,\r\n MOBIILIVARMENNE = 100\r\n}\r\n\r\nexport enum AuthenticationServiceTypeEnum {\r\n NOTDEFINED = 0,\r\n TUPAS = 1,\r\n ElisaTunnistus = 2,\r\n TeliaTunnistus = 3,\r\n OPTunnistus = 4,\r\n SuomiFi = 5\r\n}\r\n//B\r\n//C\r\nexport enum CISContractStatusEnum {\r\n UNKNOWN = 0,\r\n ACTIVE = 1,\r\n EXPIRED = 2,\r\n UNFINISHED = 3,\r\n COMINGTOEND = 4,\r\n FUTURE = 5\r\n}\r\n\r\nexport enum ContactPersonTypeEnum {\r\n UNKNOWN = 0,\r\n DIRECTOR = 1,\r\n WORK_RESPONSIBLE = 2,\r\n WORK_STARTING_PERMIT_RECEIVER = 3,\r\n SECURITY_SUPERVISOR = 4,\r\n SECURITY_SUPERVISOR_ASSISTANT = 5,\r\n SECURITY_GUARD = 6,\r\n READINESS_REPORTER = 7,\r\n NETWORK_CONTACT_PERSON = 8,\r\n ELECTRIC_DESIGNER = 9,\r\n HEATING_DESIGNER = 10,\r\n WATER_DESIGNER = 11\r\n}\r\n\r\nexport enum ContractContactPersonTypeEnum {\r\n Undefined = 0,\r\n Trustee = 1, // inworks AL01\r\n ContractRepresentative = 2, // inworks AL02\r\n InvoicingRepresentative = 3, // inworks AL03\r\n CouplingRepresentative = 4, // inworks AL04\r\n OutageRepresentative = 5, // inworks AL05\r\n Other = 6 // inworks OTHR\r\n}\r\n\r\nexport enum ContractReasonEnum {\r\n NOTDEFINED = 0,\r\n SUPPLIERCHANGE = 1,\r\n MOVEIN = 2,\r\n PRODUCTCHANGE = 3,\r\n NEWCONTRACT = 4,\r\n PRODUCTCHANGE_DH = 11, // DataHub AT01 = Sopimuksen vaihto\r\n SUPPLIERCHANGE_DH = 12, // DataHub AT02 = Myyjän vaihto\r\n MOVEIN_DH = 13, // DataHub AT03 = Sisäänmuutto\r\n NOTKNOWN = 99, // with this status contract start date can be empty (sqlmindate in db)\r\n}\r\n\r\nexport enum ContractTypeEnum {\r\n Unknown = 0,\r\n SalesContract = 1,\r\n NetworkContract = 2,\r\n ServiceContract = 3,\r\n ServiceConnectionContract = 4,\r\n ReconciliationContract = 5,\r\n ConsolidatedContract = 6,\r\n SupplyContract = 7,\r\n WholeSaleContract = 8,\r\n BackingContract = 9,\r\n PriceLimitContract = 10,\r\n PriceGuaranteedContract = 11,\r\n PurchaseContract = 12,\r\n NetworkProductionContract = 13,\r\n DistributionContract = 14\r\n}\r\n\r\nexport enum DocumentTypeEnum {\r\n Invoice = 0,\r\n ContractConfirmation = 1,\r\n UserAttachment=2\r\n}\r\n\r\nexport enum CustomerTypeEnum {\r\n CONSUMER = 1,\r\n COMPANY = 2,\r\n NOTSET = 0\r\n}\r\n//D\r\n//E\r\n//F\r\nexport enum FixedTermDurationUnit {\r\n DAYS = 0,\r\n MONTHS = 1,\r\n YEARS = 2,\r\n}\r\n//G\r\n//H\r\nexport enum HeatingTypeEnum {\r\n ELECTRICITY = 1,\r\n NOELECTRICITY = 2,\r\n GEOTHERMAL = 3,\r\n DISTRICTHEATING = 4,\r\n OIL = 5,\r\n OTHER = 6,\r\n NOTKNOWN = 7,\r\n GAS = 8,\r\n ELECTRICSTORAGEHEATING = 9,\r\n DIRECTELECTRICHEATING = 10,\r\n WOODHEATING = 11,\r\n HEATPUMP = 12,\r\n NOHEATING = 13\r\n}\r\n\r\nexport enum HousingTypeEnum {\r\n UNKNOWN = 0,\r\n APARTMENTHOUSE = 1,\r\n TERRACEDHOUSE = 2,\r\n HOUSE = 3,\r\n COTTAGE = 4,\r\n DOUBLEHOUSE = 5,\r\n OTHER = 6,\r\n INDUSTRIALBUILDING = 7,\r\n COMMERCIALBUILDING = 8,\r\n AGRICULTURALBUILDING = 9,\r\n CONCENTRATIONBUILDING = 10,\r\n SERVICESECTORBUILDING = 11,\r\n PUBLICSECTORBUILDING = 12,\r\n CONSTRUCTION = 13,\r\n RESIDENTIALPROPERTY = 14,\r\n COMMUNITYANDUTILITYSERVICE = 15,\r\n OUTDOORLIGHTNING = 16,\r\n ELECTRICVECHILECHARGING = 17,\r\n TRAFFIC = 18,\r\n INDUSTRIALBUILDING2 = 19,\r\n TERRACEDORDOUBLEHOUSE = 20\r\n}\r\n//I\r\n//J\r\n//K\r\n//L\r\n//M\r\nexport enum MeteringPointSourceEnum {\r\n UNKNOWN = 0,\r\n USER = 1,\r\n CIS = 2,\r\n ADATO = 3,\r\n USERCHANGED = 4,\r\n DATAHUB = 5\r\n}\r\n\r\nexport enum MoveOutReasonEnum {\r\n MOVEOUT = 0, // Ulosmuutto\r\n TERMINATION = 1, // Irtisanominen\r\n CANCELLATION = 2, // Purkaminen\r\n REMOVEDMETER = 3, // Mittarin poisto\r\n NOTKNOWN = 99, // Ulosmuutto\r\n}\r\n//N\r\n//O\r\n//P\r\nexport enum PartTimeHousingTypeEnum {\r\n FULLTIME = 1,\r\n HALFTIME = 2,\r\n SUMMER = 3,\r\n}\r\n\r\nexport enum PhoneNumberTypeEnum {\r\n Home = 0,\r\n Work = 1,\r\n Mobile = 2,\r\n Invoicing = 3\r\n}\r\n\r\n// There's no enum in DataModel for these. However, they are actually fixed and those numbers are used\r\n// everywhere in the code. Let's user an enum here for clarity.\r\nexport enum ProductComponentTypeEnum {\r\n BasicMonthly = 1,\r\n Energy1 = 2,\r\n Energy2 = 3,\r\n Energy3 = 4,\r\n Energy4 = 5,\r\n ProductionMonthly = 6,\r\n ReactiveBasic = 7,\r\n Energy1Bundle = 8,\r\n Energy2Bundle = 9,\r\n BasicYearly = 10,\r\n Other = 11,\r\n Service = 12\r\n}\r\n\r\nexport enum ProcessStatusEnum {\r\n UNKNOWN = 0,\r\n MANUAL = 1,\r\n CUSTOMERCREATED = 2,\r\n PROCESSHANDLED = 3,\r\n OFFER = 4,\r\n OFFERACCEPTED = 5,\r\n MOVEOUTCREATED = 6,\r\n CONTRACTCREATED = 7,\r\n NOTTOCIS = 8,\r\n TOCIS = 9,\r\n OFFERREJECTED = 10,\r\n ERROR = 99,\r\n}\r\n\r\nexport enum ProcessTypeEnum {\r\n UNKNOWN = 0,\r\n CONTRACTPROCESS = 1,\r\n MOVINGPROCESS = 2,\r\n FIXEDTIME = 3,\r\n CONNECTIONPROCESS = 4,\r\n MOVEOUT = 5,\r\n REGISTRATION = 6,\r\n CHANGEUSERNAME = 7,\r\n CUSTOMERINFORMATION = 8,\r\n CONTRACTCHANGEPROCESS = 9,\r\n OTHERCONTRACTPROCESS = 10,\r\n CONTRACTINVOICINGPROCESS = 11,\r\n}\r\n\r\nexport enum ProductTypeEnum {\r\n NORMAL = 0,\r\n BUNDLE = 1,\r\n SERVICE = 2\r\n}\r\n\r\n//Q\r\n//R\r\nexport enum RuleEnum {\r\n GREATER = 1,\r\n LESSER = 2,\r\n SAME = 3,\r\n NOTSAME = 4,\r\n ANY = 5,\r\n}\r\n\r\nexport enum RuleTypeEnum {\r\n CONSUMPTION = 1,\r\n MEMBER = 2,\r\n FUSESIZE = 3,\r\n TARIFICATION = 4,\r\n LOCATION = 5,\r\n VISIBILITY = 6,\r\n CUSTOMERTYPE = 7,\r\n ABSOLUTEDAYS = 11,\r\n RELATIVEDAYS = 12,\r\n}\r\n\r\n//S\r\n//T\r\nexport enum TarificationIdEnum {\r\n UNKNOWN = 0,\r\n SINGLETARIF = 1,\r\n DAYNIGHTTARIF = 2,\r\n SEASONTARIF = 3,\r\n POWERDAYTARIF = 4,\r\n HEATING = 5,\r\n WATER = 6,\r\n GAS = 7,\r\n POWERSEASONTARIF = 8,\r\n DISTRICTCOOLING = 9,\r\n GENERALENERGY = 10\r\n}\r\n\r\nexport enum TariffTimeZoneIdEnum {\r\n SINGLETIME = 1,\r\n NIGHT = 2,\r\n DAY = 3,\r\n WINTERDAY = 4, // Talviarkipäivä 1.11. - 1.4. 07 - 22\r\n OTHER = 5, // Muu aika 1.4. - 1.11. ja 1.11. - 1.4. 22 - 07\r\n POWERDAY = 6, //\r\n WINTEROTHER = 7, //\r\n SUMMEROTHER = 8, //\r\n POWERWINTER = 9, //Talvi,1.11-31.03,00-24\r\n POWERSUMMER = 10, //Kesä,1.4-31.10,00-24\r\n POWERNIGHT = 11,\r\n POWERWORKINGDAY = 12,\r\n SPOT50 = 1001,\r\n FIXED50 = 1002,\r\n SPOTMARGIN = 1003\r\n}\r\n//U\r\nexport enum UserMappingAccessLevelEnum {\r\n None = 0,\r\n Read = 1,\r\n Full = 2\r\n}\r\n\r\nexport enum InvoicingMethodEnum {\r\n Paper = 0,\r\n ConsumerEInvoice = 1,\r\n CompanyEInvoice = 2,\r\n Email = 3,\r\n DirectPayment = 4,\r\n Online = 5,\r\n Print = 6,\r\n MobilePay = 7\r\n}\r\nexport enum UserProfileFeatureTypeEnum {\r\n DefaultReportingMeteringPointCode = 0,\r\n RepresentedCompanyName = 1,\r\n RepresentedCompanyBic = 2,\r\n FacebookUserId = 3,\r\n SourceCompanyCode = 4,\r\n GoogleUserToken = 5,\r\n MarketingPermissionAskedTime = 6,\r\n ContactDetailsChecked = 7,\r\n PID = 8,\r\n}\r\n\r\nexport enum UtilityTypeEnum {\r\n NotDefined = 0,\r\n Electricity = 1,\r\n DistrictHeat = 2,\r\n DistrictCooling = 3,\r\n Gas = 4,\r\n Water = 5,\r\n WasteWater = 6,\r\n StormWater = 7,\r\n Stream = 8,\r\n Other = 9,\r\n SprinklerWater = 10,\r\n ElectricityTax = 11,\r\n ElectricityProduction = 12\r\n}\r\n\r\n//V\r\n//W\r\nexport enum WebModule {\r\n NotSet = 0,\r\n Invoicing = 1,\r\n CustomerInformation = 2,\r\n Contacts = 3,\r\n Contracts = 4,\r\n Outages = 5,\r\n Reports = 6,\r\n /// \r\n /// This webmodule rights cannot be shared so only AccountOwner can access this webmodule\r\n /// \r\n User = 7,\r\n VipCard = 8,\r\n Messages = 9,\r\n ReadingEntry = 10,\r\n Connections = 11\r\n}\r\n\r\n//X\r\n//Y\r\n//Z\r\n\r\n\r\n\r\n\r\n","/*!\n * vuex v3.6.2\n * (c) 2021 Evan You\n * @license MIT\n */\nfunction applyMixin (Vue) {\n var version = Number(Vue.version.split('.')[0]);\n\n if (version >= 2) {\n Vue.mixin({ beforeCreate: vuexInit });\n } else {\n // override init and inject vuex init procedure\n // for 1.x backwards compatibility.\n var _init = Vue.prototype._init;\n Vue.prototype._init = function (options) {\n if ( options === void 0 ) options = {};\n\n options.init = options.init\n ? [vuexInit].concat(options.init)\n : vuexInit;\n _init.call(this, options);\n };\n }\n\n /**\n * Vuex init hook, injected into each instances init hooks list.\n */\n\n function vuexInit () {\n var options = this.$options;\n // store injection\n if (options.store) {\n this.$store = typeof options.store === 'function'\n ? options.store()\n : options.store;\n } else if (options.parent && options.parent.$store) {\n this.$store = options.parent.$store;\n }\n }\n}\n\nvar target = typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\nvar devtoolHook = target.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\nfunction devtoolPlugin (store) {\n if (!devtoolHook) { return }\n\n store._devtoolHook = devtoolHook;\n\n devtoolHook.emit('vuex:init', store);\n\n devtoolHook.on('vuex:travel-to-state', function (targetState) {\n store.replaceState(targetState);\n });\n\n store.subscribe(function (mutation, state) {\n devtoolHook.emit('vuex:mutation', mutation, state);\n }, { prepend: true });\n\n store.subscribeAction(function (action, state) {\n devtoolHook.emit('vuex:action', action, state);\n }, { prepend: true });\n}\n\n/**\n * Get the first item that pass the test\n * by second argument function\n *\n * @param {Array} list\n * @param {Function} f\n * @return {*}\n */\nfunction find (list, f) {\n return list.filter(f)[0]\n}\n\n/**\n * Deep copy the given object considering circular structure.\n * This function caches all nested objects and its copies.\n * If it detects circular structure, use cached copy to avoid infinite loop.\n *\n * @param {*} obj\n * @param {Array} cache\n * @return {*}\n */\nfunction deepCopy (obj, cache) {\n if ( cache === void 0 ) cache = [];\n\n // just return if obj is immutable value\n if (obj === null || typeof obj !== 'object') {\n return obj\n }\n\n // if obj is hit, it is in circular structure\n var hit = find(cache, function (c) { return c.original === obj; });\n if (hit) {\n return hit.copy\n }\n\n var copy = Array.isArray(obj) ? [] : {};\n // put the copy into cache at first\n // because we want to refer it in recursive deepCopy\n cache.push({\n original: obj,\n copy: copy\n });\n\n Object.keys(obj).forEach(function (key) {\n copy[key] = deepCopy(obj[key], cache);\n });\n\n return copy\n}\n\n/**\n * forEach for object\n */\nfunction forEachValue (obj, fn) {\n Object.keys(obj).forEach(function (key) { return fn(obj[key], key); });\n}\n\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\nfunction isPromise (val) {\n return val && typeof val.then === 'function'\n}\n\nfunction assert (condition, msg) {\n if (!condition) { throw new Error((\"[vuex] \" + msg)) }\n}\n\nfunction partial (fn, arg) {\n return function () {\n return fn(arg)\n }\n}\n\n// Base data struct for store's module, package with some attribute and method\nvar Module = function Module (rawModule, runtime) {\n this.runtime = runtime;\n // Store some children item\n this._children = Object.create(null);\n // Store the origin module object which passed by programmer\n this._rawModule = rawModule;\n var rawState = rawModule.state;\n\n // Store the origin module's state\n this.state = (typeof rawState === 'function' ? rawState() : rawState) || {};\n};\n\nvar prototypeAccessors = { namespaced: { configurable: true } };\n\nprototypeAccessors.namespaced.get = function () {\n return !!this._rawModule.namespaced\n};\n\nModule.prototype.addChild = function addChild (key, module) {\n this._children[key] = module;\n};\n\nModule.prototype.removeChild = function removeChild (key) {\n delete this._children[key];\n};\n\nModule.prototype.getChild = function getChild (key) {\n return this._children[key]\n};\n\nModule.prototype.hasChild = function hasChild (key) {\n return key in this._children\n};\n\nModule.prototype.update = function update (rawModule) {\n this._rawModule.namespaced = rawModule.namespaced;\n if (rawModule.actions) {\n this._rawModule.actions = rawModule.actions;\n }\n if (rawModule.mutations) {\n this._rawModule.mutations = rawModule.mutations;\n }\n if (rawModule.getters) {\n this._rawModule.getters = rawModule.getters;\n }\n};\n\nModule.prototype.forEachChild = function forEachChild (fn) {\n forEachValue(this._children, fn);\n};\n\nModule.prototype.forEachGetter = function forEachGetter (fn) {\n if (this._rawModule.getters) {\n forEachValue(this._rawModule.getters, fn);\n }\n};\n\nModule.prototype.forEachAction = function forEachAction (fn) {\n if (this._rawModule.actions) {\n forEachValue(this._rawModule.actions, fn);\n }\n};\n\nModule.prototype.forEachMutation = function forEachMutation (fn) {\n if (this._rawModule.mutations) {\n forEachValue(this._rawModule.mutations, fn);\n }\n};\n\nObject.defineProperties( Module.prototype, prototypeAccessors );\n\nvar ModuleCollection = function ModuleCollection (rawRootModule) {\n // register root module (Vuex.Store options)\n this.register([], rawRootModule, false);\n};\n\nModuleCollection.prototype.get = function get (path) {\n return path.reduce(function (module, key) {\n return module.getChild(key)\n }, this.root)\n};\n\nModuleCollection.prototype.getNamespace = function getNamespace (path) {\n var module = this.root;\n return path.reduce(function (namespace, key) {\n module = module.getChild(key);\n return namespace + (module.namespaced ? key + '/' : '')\n }, '')\n};\n\nModuleCollection.prototype.update = function update$1 (rawRootModule) {\n update([], this.root, rawRootModule);\n};\n\nModuleCollection.prototype.register = function register (path, rawModule, runtime) {\n var this$1 = this;\n if ( runtime === void 0 ) runtime = true;\n\n if ((process.env.NODE_ENV !== 'production')) {\n assertRawModule(path, rawModule);\n }\n\n var newModule = new Module(rawModule, runtime);\n if (path.length === 0) {\n this.root = newModule;\n } else {\n var parent = this.get(path.slice(0, -1));\n parent.addChild(path[path.length - 1], newModule);\n }\n\n // register nested modules\n if (rawModule.modules) {\n forEachValue(rawModule.modules, function (rawChildModule, key) {\n this$1.register(path.concat(key), rawChildModule, runtime);\n });\n }\n};\n\nModuleCollection.prototype.unregister = function unregister (path) {\n var parent = this.get(path.slice(0, -1));\n var key = path[path.length - 1];\n var child = parent.getChild(key);\n\n if (!child) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\n \"[vuex] trying to unregister module '\" + key + \"', which is \" +\n \"not registered\"\n );\n }\n return\n }\n\n if (!child.runtime) {\n return\n }\n\n parent.removeChild(key);\n};\n\nModuleCollection.prototype.isRegistered = function isRegistered (path) {\n var parent = this.get(path.slice(0, -1));\n var key = path[path.length - 1];\n\n if (parent) {\n return parent.hasChild(key)\n }\n\n return false\n};\n\nfunction update (path, targetModule, newModule) {\n if ((process.env.NODE_ENV !== 'production')) {\n assertRawModule(path, newModule);\n }\n\n // update target module\n targetModule.update(newModule);\n\n // update nested modules\n if (newModule.modules) {\n for (var key in newModule.modules) {\n if (!targetModule.getChild(key)) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\n \"[vuex] trying to add a new module '\" + key + \"' on hot reloading, \" +\n 'manual reload is needed'\n );\n }\n return\n }\n update(\n path.concat(key),\n targetModule.getChild(key),\n newModule.modules[key]\n );\n }\n }\n}\n\nvar functionAssert = {\n assert: function (value) { return typeof value === 'function'; },\n expected: 'function'\n};\n\nvar objectAssert = {\n assert: function (value) { return typeof value === 'function' ||\n (typeof value === 'object' && typeof value.handler === 'function'); },\n expected: 'function or object with \"handler\" function'\n};\n\nvar assertTypes = {\n getters: functionAssert,\n mutations: functionAssert,\n actions: objectAssert\n};\n\nfunction assertRawModule (path, rawModule) {\n Object.keys(assertTypes).forEach(function (key) {\n if (!rawModule[key]) { return }\n\n var assertOptions = assertTypes[key];\n\n forEachValue(rawModule[key], function (value, type) {\n assert(\n assertOptions.assert(value),\n makeAssertionMessage(path, key, type, value, assertOptions.expected)\n );\n });\n });\n}\n\nfunction makeAssertionMessage (path, key, type, value, expected) {\n var buf = key + \" should be \" + expected + \" but \\\"\" + key + \".\" + type + \"\\\"\";\n if (path.length > 0) {\n buf += \" in module \\\"\" + (path.join('.')) + \"\\\"\";\n }\n buf += \" is \" + (JSON.stringify(value)) + \".\";\n return buf\n}\n\nvar Vue; // bind on install\n\nvar Store = function Store (options) {\n var this$1 = this;\n if ( options === void 0 ) options = {};\n\n // Auto install if it is not done yet and `window` has `Vue`.\n // To allow users to avoid auto-installation in some cases,\n // this code should be placed here. See #731\n if (!Vue && typeof window !== 'undefined' && window.Vue) {\n install(window.Vue);\n }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(Vue, \"must call Vue.use(Vuex) before creating a store instance.\");\n assert(typeof Promise !== 'undefined', \"vuex requires a Promise polyfill in this browser.\");\n assert(this instanceof Store, \"store must be called with the new operator.\");\n }\n\n var plugins = options.plugins; if ( plugins === void 0 ) plugins = [];\n var strict = options.strict; if ( strict === void 0 ) strict = false;\n\n // store internal state\n this._committing = false;\n this._actions = Object.create(null);\n this._actionSubscribers = [];\n this._mutations = Object.create(null);\n this._wrappedGetters = Object.create(null);\n this._modules = new ModuleCollection(options);\n this._modulesNamespaceMap = Object.create(null);\n this._subscribers = [];\n this._watcherVM = new Vue();\n this._makeLocalGettersCache = Object.create(null);\n\n // bind commit and dispatch to self\n var store = this;\n var ref = this;\n var dispatch = ref.dispatch;\n var commit = ref.commit;\n this.dispatch = function boundDispatch (type, payload) {\n return dispatch.call(store, type, payload)\n };\n this.commit = function boundCommit (type, payload, options) {\n return commit.call(store, type, payload, options)\n };\n\n // strict mode\n this.strict = strict;\n\n var state = this._modules.root.state;\n\n // init root module.\n // this also recursively registers all sub-modules\n // and collects all module getters inside this._wrappedGetters\n installModule(this, state, [], this._modules.root);\n\n // initialize the store vm, which is responsible for the reactivity\n // (also registers _wrappedGetters as computed properties)\n resetStoreVM(this, state);\n\n // apply plugins\n plugins.forEach(function (plugin) { return plugin(this$1); });\n\n var useDevtools = options.devtools !== undefined ? options.devtools : Vue.config.devtools;\n if (useDevtools) {\n devtoolPlugin(this);\n }\n};\n\nvar prototypeAccessors$1 = { state: { configurable: true } };\n\nprototypeAccessors$1.state.get = function () {\n return this._vm._data.$$state\n};\n\nprototypeAccessors$1.state.set = function (v) {\n if ((process.env.NODE_ENV !== 'production')) {\n assert(false, \"use store.replaceState() to explicit replace store state.\");\n }\n};\n\nStore.prototype.commit = function commit (_type, _payload, _options) {\n var this$1 = this;\n\n // check object-style commit\n var ref = unifyObjectStyle(_type, _payload, _options);\n var type = ref.type;\n var payload = ref.payload;\n var options = ref.options;\n\n var mutation = { type: type, payload: payload };\n var entry = this._mutations[type];\n if (!entry) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error((\"[vuex] unknown mutation type: \" + type));\n }\n return\n }\n this._withCommit(function () {\n entry.forEach(function commitIterator (handler) {\n handler(payload);\n });\n });\n\n this._subscribers\n .slice() // shallow copy to prevent iterator invalidation if subscriber synchronously calls unsubscribe\n .forEach(function (sub) { return sub(mutation, this$1.state); });\n\n if (\n (process.env.NODE_ENV !== 'production') &&\n options && options.silent\n ) {\n console.warn(\n \"[vuex] mutation type: \" + type + \". Silent option has been removed. \" +\n 'Use the filter functionality in the vue-devtools'\n );\n }\n};\n\nStore.prototype.dispatch = function dispatch (_type, _payload) {\n var this$1 = this;\n\n // check object-style dispatch\n var ref = unifyObjectStyle(_type, _payload);\n var type = ref.type;\n var payload = ref.payload;\n\n var action = { type: type, payload: payload };\n var entry = this._actions[type];\n if (!entry) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error((\"[vuex] unknown action type: \" + type));\n }\n return\n }\n\n try {\n this._actionSubscribers\n .slice() // shallow copy to prevent iterator invalidation if subscriber synchronously calls unsubscribe\n .filter(function (sub) { return sub.before; })\n .forEach(function (sub) { return sub.before(action, this$1.state); });\n } catch (e) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\"[vuex] error in before action subscribers: \");\n console.error(e);\n }\n }\n\n var result = entry.length > 1\n ? Promise.all(entry.map(function (handler) { return handler(payload); }))\n : entry[0](payload);\n\n return new Promise(function (resolve, reject) {\n result.then(function (res) {\n try {\n this$1._actionSubscribers\n .filter(function (sub) { return sub.after; })\n .forEach(function (sub) { return sub.after(action, this$1.state); });\n } catch (e) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\"[vuex] error in after action subscribers: \");\n console.error(e);\n }\n }\n resolve(res);\n }, function (error) {\n try {\n this$1._actionSubscribers\n .filter(function (sub) { return sub.error; })\n .forEach(function (sub) { return sub.error(action, this$1.state, error); });\n } catch (e) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\"[vuex] error in error action subscribers: \");\n console.error(e);\n }\n }\n reject(error);\n });\n })\n};\n\nStore.prototype.subscribe = function subscribe (fn, options) {\n return genericSubscribe(fn, this._subscribers, options)\n};\n\nStore.prototype.subscribeAction = function subscribeAction (fn, options) {\n var subs = typeof fn === 'function' ? { before: fn } : fn;\n return genericSubscribe(subs, this._actionSubscribers, options)\n};\n\nStore.prototype.watch = function watch (getter, cb, options) {\n var this$1 = this;\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(typeof getter === 'function', \"store.watch only accepts a function.\");\n }\n return this._watcherVM.$watch(function () { return getter(this$1.state, this$1.getters); }, cb, options)\n};\n\nStore.prototype.replaceState = function replaceState (state) {\n var this$1 = this;\n\n this._withCommit(function () {\n this$1._vm._data.$$state = state;\n });\n};\n\nStore.prototype.registerModule = function registerModule (path, rawModule, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof path === 'string') { path = [path]; }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n assert(path.length > 0, 'cannot register the root module by using registerModule.');\n }\n\n this._modules.register(path, rawModule);\n installModule(this, this.state, path, this._modules.get(path), options.preserveState);\n // reset store to update getters...\n resetStoreVM(this, this.state);\n};\n\nStore.prototype.unregisterModule = function unregisterModule (path) {\n var this$1 = this;\n\n if (typeof path === 'string') { path = [path]; }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n }\n\n this._modules.unregister(path);\n this._withCommit(function () {\n var parentState = getNestedState(this$1.state, path.slice(0, -1));\n Vue.delete(parentState, path[path.length - 1]);\n });\n resetStore(this);\n};\n\nStore.prototype.hasModule = function hasModule (path) {\n if (typeof path === 'string') { path = [path]; }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n }\n\n return this._modules.isRegistered(path)\n};\n\nStore.prototype.hotUpdate = function hotUpdate (newOptions) {\n this._modules.update(newOptions);\n resetStore(this, true);\n};\n\nStore.prototype._withCommit = function _withCommit (fn) {\n var committing = this._committing;\n this._committing = true;\n fn();\n this._committing = committing;\n};\n\nObject.defineProperties( Store.prototype, prototypeAccessors$1 );\n\nfunction genericSubscribe (fn, subs, options) {\n if (subs.indexOf(fn) < 0) {\n options && options.prepend\n ? subs.unshift(fn)\n : subs.push(fn);\n }\n return function () {\n var i = subs.indexOf(fn);\n if (i > -1) {\n subs.splice(i, 1);\n }\n }\n}\n\nfunction resetStore (store, hot) {\n store._actions = Object.create(null);\n store._mutations = Object.create(null);\n store._wrappedGetters = Object.create(null);\n store._modulesNamespaceMap = Object.create(null);\n var state = store.state;\n // init all modules\n installModule(store, state, [], store._modules.root, true);\n // reset vm\n resetStoreVM(store, state, hot);\n}\n\nfunction resetStoreVM (store, state, hot) {\n var oldVm = store._vm;\n\n // bind store public getters\n store.getters = {};\n // reset local getters cache\n store._makeLocalGettersCache = Object.create(null);\n var wrappedGetters = store._wrappedGetters;\n var computed = {};\n forEachValue(wrappedGetters, function (fn, key) {\n // use computed to leverage its lazy-caching mechanism\n // direct inline function use will lead to closure preserving oldVm.\n // using partial to return function with only arguments preserved in closure environment.\n computed[key] = partial(fn, store);\n Object.defineProperty(store.getters, key, {\n get: function () { return store._vm[key]; },\n enumerable: true // for local getters\n });\n });\n\n // use a Vue instance to store the state tree\n // suppress warnings just in case the user has added\n // some funky global mixins\n var silent = Vue.config.silent;\n Vue.config.silent = true;\n store._vm = new Vue({\n data: {\n $$state: state\n },\n computed: computed\n });\n Vue.config.silent = silent;\n\n // enable strict mode for new vm\n if (store.strict) {\n enableStrictMode(store);\n }\n\n if (oldVm) {\n if (hot) {\n // dispatch changes in all subscribed watchers\n // to force getter re-evaluation for hot reloading.\n store._withCommit(function () {\n oldVm._data.$$state = null;\n });\n }\n Vue.nextTick(function () { return oldVm.$destroy(); });\n }\n}\n\nfunction installModule (store, rootState, path, module, hot) {\n var isRoot = !path.length;\n var namespace = store._modules.getNamespace(path);\n\n // register in namespace map\n if (module.namespaced) {\n if (store._modulesNamespaceMap[namespace] && (process.env.NODE_ENV !== 'production')) {\n console.error((\"[vuex] duplicate namespace \" + namespace + \" for the namespaced module \" + (path.join('/'))));\n }\n store._modulesNamespaceMap[namespace] = module;\n }\n\n // set state\n if (!isRoot && !hot) {\n var parentState = getNestedState(rootState, path.slice(0, -1));\n var moduleName = path[path.length - 1];\n store._withCommit(function () {\n if ((process.env.NODE_ENV !== 'production')) {\n if (moduleName in parentState) {\n console.warn(\n (\"[vuex] state field \\\"\" + moduleName + \"\\\" was overridden by a module with the same name at \\\"\" + (path.join('.')) + \"\\\"\")\n );\n }\n }\n Vue.set(parentState, moduleName, module.state);\n });\n }\n\n var local = module.context = makeLocalContext(store, namespace, path);\n\n module.forEachMutation(function (mutation, key) {\n var namespacedType = namespace + key;\n registerMutation(store, namespacedType, mutation, local);\n });\n\n module.forEachAction(function (action, key) {\n var type = action.root ? key : namespace + key;\n var handler = action.handler || action;\n registerAction(store, type, handler, local);\n });\n\n module.forEachGetter(function (getter, key) {\n var namespacedType = namespace + key;\n registerGetter(store, namespacedType, getter, local);\n });\n\n module.forEachChild(function (child, key) {\n installModule(store, rootState, path.concat(key), child, hot);\n });\n}\n\n/**\n * make localized dispatch, commit, getters and state\n * if there is no namespace, just use root ones\n */\nfunction makeLocalContext (store, namespace, path) {\n var noNamespace = namespace === '';\n\n var local = {\n dispatch: noNamespace ? store.dispatch : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if ((process.env.NODE_ENV !== 'production') && !store._actions[type]) {\n console.error((\"[vuex] unknown local action type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n return store.dispatch(type, payload)\n },\n\n commit: noNamespace ? store.commit : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if ((process.env.NODE_ENV !== 'production') && !store._mutations[type]) {\n console.error((\"[vuex] unknown local mutation type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n store.commit(type, payload, options);\n }\n };\n\n // getters and state object must be gotten lazily\n // because they will be changed by vm update\n Object.defineProperties(local, {\n getters: {\n get: noNamespace\n ? function () { return store.getters; }\n : function () { return makeLocalGetters(store, namespace); }\n },\n state: {\n get: function () { return getNestedState(store.state, path); }\n }\n });\n\n return local\n}\n\nfunction makeLocalGetters (store, namespace) {\n if (!store._makeLocalGettersCache[namespace]) {\n var gettersProxy = {};\n var splitPos = namespace.length;\n Object.keys(store.getters).forEach(function (type) {\n // skip if the target getter is not match this namespace\n if (type.slice(0, splitPos) !== namespace) { return }\n\n // extract local getter type\n var localType = type.slice(splitPos);\n\n // Add a port to the getters proxy.\n // Define as getter property because\n // we do not want to evaluate the getters in this time.\n Object.defineProperty(gettersProxy, localType, {\n get: function () { return store.getters[type]; },\n enumerable: true\n });\n });\n store._makeLocalGettersCache[namespace] = gettersProxy;\n }\n\n return store._makeLocalGettersCache[namespace]\n}\n\nfunction registerMutation (store, type, handler, local) {\n var entry = store._mutations[type] || (store._mutations[type] = []);\n entry.push(function wrappedMutationHandler (payload) {\n handler.call(store, local.state, payload);\n });\n}\n\nfunction registerAction (store, type, handler, local) {\n var entry = store._actions[type] || (store._actions[type] = []);\n entry.push(function wrappedActionHandler (payload) {\n var res = handler.call(store, {\n dispatch: local.dispatch,\n commit: local.commit,\n getters: local.getters,\n state: local.state,\n rootGetters: store.getters,\n rootState: store.state\n }, payload);\n if (!isPromise(res)) {\n res = Promise.resolve(res);\n }\n if (store._devtoolHook) {\n return res.catch(function (err) {\n store._devtoolHook.emit('vuex:error', err);\n throw err\n })\n } else {\n return res\n }\n });\n}\n\nfunction registerGetter (store, type, rawGetter, local) {\n if (store._wrappedGetters[type]) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error((\"[vuex] duplicate getter key: \" + type));\n }\n return\n }\n store._wrappedGetters[type] = function wrappedGetter (store) {\n return rawGetter(\n local.state, // local state\n local.getters, // local getters\n store.state, // root state\n store.getters // root getters\n )\n };\n}\n\nfunction enableStrictMode (store) {\n store._vm.$watch(function () { return this._data.$$state }, function () {\n if ((process.env.NODE_ENV !== 'production')) {\n assert(store._committing, \"do not mutate vuex store state outside mutation handlers.\");\n }\n }, { deep: true, sync: true });\n}\n\nfunction getNestedState (state, path) {\n return path.reduce(function (state, key) { return state[key]; }, state)\n}\n\nfunction unifyObjectStyle (type, payload, options) {\n if (isObject(type) && type.type) {\n options = payload;\n payload = type;\n type = type.type;\n }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(typeof type === 'string', (\"expects string as the type, but found \" + (typeof type) + \".\"));\n }\n\n return { type: type, payload: payload, options: options }\n}\n\nfunction install (_Vue) {\n if (Vue && _Vue === Vue) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error(\n '[vuex] already installed. Vue.use(Vuex) should be called only once.'\n );\n }\n return\n }\n Vue = _Vue;\n applyMixin(Vue);\n}\n\n/**\n * Reduce the code which written in Vue.js for getting the state.\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} states # Object's item can be a function which accept state and getters for param, you can do something for state and getters in it.\n * @param {Object}\n */\nvar mapState = normalizeNamespace(function (namespace, states) {\n var res = {};\n if ((process.env.NODE_ENV !== 'production') && !isValidMap(states)) {\n console.error('[vuex] mapState: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(states).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedState () {\n var state = this.$store.state;\n var getters = this.$store.getters;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapState', namespace);\n if (!module) {\n return\n }\n state = module.context.state;\n getters = module.context.getters;\n }\n return typeof val === 'function'\n ? val.call(this, state, getters)\n : state[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\n/**\n * Reduce the code which written in Vue.js for committing the mutation\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} mutations # Object's item can be a function which accept `commit` function as the first param, it can accept another params. You can commit mutation and do any other things in this function. specially, You need to pass anthor params from the mapped function.\n * @return {Object}\n */\nvar mapMutations = normalizeNamespace(function (namespace, mutations) {\n var res = {};\n if ((process.env.NODE_ENV !== 'production') && !isValidMap(mutations)) {\n console.error('[vuex] mapMutations: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(mutations).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedMutation () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n // Get the commit method from store\n var commit = this.$store.commit;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapMutations', namespace);\n if (!module) {\n return\n }\n commit = module.context.commit;\n }\n return typeof val === 'function'\n ? val.apply(this, [commit].concat(args))\n : commit.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\n/**\n * Reduce the code which written in Vue.js for getting the getters\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} getters\n * @return {Object}\n */\nvar mapGetters = normalizeNamespace(function (namespace, getters) {\n var res = {};\n if ((process.env.NODE_ENV !== 'production') && !isValidMap(getters)) {\n console.error('[vuex] mapGetters: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(getters).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n // The namespace has been mutated by normalizeNamespace\n val = namespace + val;\n res[key] = function mappedGetter () {\n if (namespace && !getModuleByNamespace(this.$store, 'mapGetters', namespace)) {\n return\n }\n if ((process.env.NODE_ENV !== 'production') && !(val in this.$store.getters)) {\n console.error((\"[vuex] unknown getter: \" + val));\n return\n }\n return this.$store.getters[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\n/**\n * Reduce the code which written in Vue.js for dispatch the action\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} actions # Object's item can be a function which accept `dispatch` function as the first param, it can accept anthor params. You can dispatch action and do any other things in this function. specially, You need to pass anthor params from the mapped function.\n * @return {Object}\n */\nvar mapActions = normalizeNamespace(function (namespace, actions) {\n var res = {};\n if ((process.env.NODE_ENV !== 'production') && !isValidMap(actions)) {\n console.error('[vuex] mapActions: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(actions).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedAction () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n // get dispatch function from store\n var dispatch = this.$store.dispatch;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapActions', namespace);\n if (!module) {\n return\n }\n dispatch = module.context.dispatch;\n }\n return typeof val === 'function'\n ? val.apply(this, [dispatch].concat(args))\n : dispatch.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\n/**\n * Rebinding namespace param for mapXXX function in special scoped, and return them by simple object\n * @param {String} namespace\n * @return {Object}\n */\nvar createNamespacedHelpers = function (namespace) { return ({\n mapState: mapState.bind(null, namespace),\n mapGetters: mapGetters.bind(null, namespace),\n mapMutations: mapMutations.bind(null, namespace),\n mapActions: mapActions.bind(null, namespace)\n}); };\n\n/**\n * Normalize the map\n * normalizeMap([1, 2, 3]) => [ { key: 1, val: 1 }, { key: 2, val: 2 }, { key: 3, val: 3 } ]\n * normalizeMap({a: 1, b: 2, c: 3}) => [ { key: 'a', val: 1 }, { key: 'b', val: 2 }, { key: 'c', val: 3 } ]\n * @param {Array|Object} map\n * @return {Object}\n */\nfunction normalizeMap (map) {\n if (!isValidMap(map)) {\n return []\n }\n return Array.isArray(map)\n ? map.map(function (key) { return ({ key: key, val: key }); })\n : Object.keys(map).map(function (key) { return ({ key: key, val: map[key] }); })\n}\n\n/**\n * Validate whether given map is valid or not\n * @param {*} map\n * @return {Boolean}\n */\nfunction isValidMap (map) {\n return Array.isArray(map) || isObject(map)\n}\n\n/**\n * Return a function expect two param contains namespace and map. it will normalize the namespace and then the param's function will handle the new namespace and the map.\n * @param {Function} fn\n * @return {Function}\n */\nfunction normalizeNamespace (fn) {\n return function (namespace, map) {\n if (typeof namespace !== 'string') {\n map = namespace;\n namespace = '';\n } else if (namespace.charAt(namespace.length - 1) !== '/') {\n namespace += '/';\n }\n return fn(namespace, map)\n }\n}\n\n/**\n * Search a special module from store by namespace. if module not exist, print error message.\n * @param {Object} store\n * @param {String} helper\n * @param {String} namespace\n * @return {Object}\n */\nfunction getModuleByNamespace (store, helper, namespace) {\n var module = store._modulesNamespaceMap[namespace];\n if ((process.env.NODE_ENV !== 'production') && !module) {\n console.error((\"[vuex] module namespace not found in \" + helper + \"(): \" + namespace));\n }\n return module\n}\n\n// Credits: borrowed code from fcomb/redux-logger\n\nfunction createLogger (ref) {\n if ( ref === void 0 ) ref = {};\n var collapsed = ref.collapsed; if ( collapsed === void 0 ) collapsed = true;\n var filter = ref.filter; if ( filter === void 0 ) filter = function (mutation, stateBefore, stateAfter) { return true; };\n var transformer = ref.transformer; if ( transformer === void 0 ) transformer = function (state) { return state; };\n var mutationTransformer = ref.mutationTransformer; if ( mutationTransformer === void 0 ) mutationTransformer = function (mut) { return mut; };\n var actionFilter = ref.actionFilter; if ( actionFilter === void 0 ) actionFilter = function (action, state) { return true; };\n var actionTransformer = ref.actionTransformer; if ( actionTransformer === void 0 ) actionTransformer = function (act) { return act; };\n var logMutations = ref.logMutations; if ( logMutations === void 0 ) logMutations = true;\n var logActions = ref.logActions; if ( logActions === void 0 ) logActions = true;\n var logger = ref.logger; if ( logger === void 0 ) logger = console;\n\n return function (store) {\n var prevState = deepCopy(store.state);\n\n if (typeof logger === 'undefined') {\n return\n }\n\n if (logMutations) {\n store.subscribe(function (mutation, state) {\n var nextState = deepCopy(state);\n\n if (filter(mutation, prevState, nextState)) {\n var formattedTime = getFormattedTime();\n var formattedMutation = mutationTransformer(mutation);\n var message = \"mutation \" + (mutation.type) + formattedTime;\n\n startMessage(logger, message, collapsed);\n logger.log('%c prev state', 'color: #9E9E9E; font-weight: bold', transformer(prevState));\n logger.log('%c mutation', 'color: #03A9F4; font-weight: bold', formattedMutation);\n logger.log('%c next state', 'color: #4CAF50; font-weight: bold', transformer(nextState));\n endMessage(logger);\n }\n\n prevState = nextState;\n });\n }\n\n if (logActions) {\n store.subscribeAction(function (action, state) {\n if (actionFilter(action, state)) {\n var formattedTime = getFormattedTime();\n var formattedAction = actionTransformer(action);\n var message = \"action \" + (action.type) + formattedTime;\n\n startMessage(logger, message, collapsed);\n logger.log('%c action', 'color: #03A9F4; font-weight: bold', formattedAction);\n endMessage(logger);\n }\n });\n }\n }\n}\n\nfunction startMessage (logger, message, collapsed) {\n var startMessage = collapsed\n ? logger.groupCollapsed\n : logger.group;\n\n // render\n try {\n startMessage.call(logger, message);\n } catch (e) {\n logger.log(message);\n }\n}\n\nfunction endMessage (logger) {\n try {\n logger.groupEnd();\n } catch (e) {\n logger.log('—— log end ——');\n }\n}\n\nfunction getFormattedTime () {\n var time = new Date();\n return (\" @ \" + (pad(time.getHours(), 2)) + \":\" + (pad(time.getMinutes(), 2)) + \":\" + (pad(time.getSeconds(), 2)) + \".\" + (pad(time.getMilliseconds(), 3)))\n}\n\nfunction repeat (str, times) {\n return (new Array(times + 1)).join(str)\n}\n\nfunction pad (num, maxLength) {\n return repeat('0', maxLength - num.toString().length) + num\n}\n\nvar index = {\n Store: Store,\n install: install,\n version: '3.6.2',\n mapState: mapState,\n mapMutations: mapMutations,\n mapGetters: mapGetters,\n mapActions: mapActions,\n createNamespacedHelpers: createNamespacedHelpers,\n createLogger: createLogger\n};\n\nexport default index;\nexport { Store, createLogger, createNamespacedHelpers, install, mapActions, mapGetters, mapMutations, mapState };\n","//import enums\r\nimport {\r\n AccessLevelEnum, UtilityTypeEnum, UserMappingAccessLevelEnum, UserProfileFeatureTypeEnum, HeatingTypeEnum, HousingTypeEnum,\r\n TarificationIdEnum, ContractReasonEnum, CustomerTypeEnum, ContactPersonTypeEnum, ProcessTypeEnum, CISContractStatusEnum,\r\n ContractTypeEnum, InvoicingMethodEnum, ProcessStatusEnum, ProductTypeEnum, RuleTypeEnum, RuleEnum, ContractContactPersonTypeEnum\r\n} from \"./CommonEnums\";\r\n\r\n//import DataModels\r\nimport { IAddress, IUserProfileFeature } from \"./I4UDataModels\";\r\n\r\n//A\r\nexport interface IAccountInfoViewModel {\r\n Me: IUserInfoViewModel;\r\n MyCustomers: ICustomershipViewModel[];\r\n MyLinkedUsers: ILinkedUserModel[];\r\n MyConnections: Iterable;//Iterable;ConnectionViewModel[]\r\n ContactPersons: IEnerityContactPersonViewModel[];\r\n}\r\nexport interface IEnerityContactPersonViewModel {\r\n Name: string;\r\n FirstName: string;\r\n LastName: string;\r\n ExternalId: string;\r\n SourceCompanyCode: string;\r\n ContactPersonType: ContactPersonTypeEnum;\r\n ContractCode: string;\r\n UtilityTypeId: number;\r\n}\r\n\r\nexport interface IAdditionalContractViewModel {\r\n Id: number;\r\n Status: ProcessStatusEnum;\r\n ExtraInformation: string;\r\n MeteringPoint: IMeteringPointViewModel;\r\n Utility: UtilityTypeEnum;\r\n}\r\n\r\nexport interface IAdditionalMeteringPointViewModel {\r\n Address: IAddressViewModel;\r\n MeteringPointCode: string;\r\n NetworkCompanyCode: string;\r\n NetworkCompanyName: string;\r\n ContractReason: number;\r\n StartDate : Date;\r\n}\r\n\r\nexport interface IAddressViewModel {\r\n Street: string;\r\n Zip: string;\r\n Place: string;\r\n Country: string;\r\n COName: string;\r\n StreetName: string;\r\n HouseNumber: string;\r\n Staircase: string;\r\n Apartment: string;\r\n Specifier: string;\r\n Locale: string;\r\n}\r\n\r\nexport class AddressViewModel implements IAddressViewModel {\r\n Street: string = null;\r\n Zip: string = null;\r\n Place: string = null;\r\n Country: string = null;\r\n COName: string = null;\r\n StreetName: string = null;\r\n HouseNumber: string = null;\r\n Staircase: string = null;\r\n Apartment: string = null;\r\n Specifier: string = null;\r\n Locale: string = null;\r\n\r\n public static copy(other: IAddressViewModel): AddressViewModel {\r\n return {\r\n Street: other.Street,\r\n Zip: other.Zip,\r\n Place: other.Place,\r\n Country: other.Country,\r\n COName: other.COName,\r\n StreetName: other.StreetName,\r\n HouseNumber: other.HouseNumber,\r\n Staircase: other.Staircase,\r\n Apartment: other.Apartment,\r\n Specifier: other.Specifier,\r\n Locale: other.Locale\r\n }\r\n }\r\n}\r\n\r\nexport interface IAdditionalBasicPriceViewModel {\r\n BasicDescription: string;\r\n BasicPriceUnit: string;\r\n BasicPrice: number;\r\n BasicPriceNoVAT: number;\r\n OrderNumber: number;\r\n}\r\n\r\nexport interface IAlternativePriceViewModel\r\n{\r\n Code: string;\r\n}\r\n\r\n//B\r\n//C\r\nexport interface ICompanyViewModel {\r\n Id: number;\r\n TrustedSource: boolean;\r\n CompanyName: string;\r\n BusinessId: string;\r\n Email: string;\r\n Phone: string;\r\n CustomerCode: string;\r\n CompanySource: number;\r\n CultureCode: string;\r\n SourceCompanyCode: string;\r\n EPaymentCode: string;\r\n EPaymentOperator: string;\r\n EPaymentOperatorId: number;\r\n Address: IAddressViewModel;\r\n InvoicingAddress: IAddressViewModel;\r\n ContactPersons: IContactPersonViewModel[];\r\n Deposit: boolean;\r\n MarketingBanPhone: boolean;\r\n MarketingBanEmail: boolean;\r\n MarketingChannelEmail: boolean;\r\n MarketingChannelSMS: boolean;\r\n MarketingChannelElec: boolean;\r\n DirectMarketing: boolean | null;\r\n ExistingCustomer: boolean;\r\n CustomerIdExternal: number;\r\n ServiceChannelCode: string;\r\n ContractPartners: IContactPersonViewModel[];\r\n HasAcceptedTAC: boolean;\r\n TACAcceptedDate : Date;\r\n}\r\n\r\nexport class CompanyViewModel implements ICompanyViewModel {\r\n Id: number;\r\n TrustedSource: boolean;\r\n CompanyName: string;\r\n BusinessId: string;\r\n Email: string;\r\n Phone: string;\r\n CustomerCode: string;\r\n CompanySource: number;\r\n CultureCode: string;\r\n SourceCompanyCode: string;\r\n EPaymentCode: string;\r\n EPaymentOperator: string;\r\n EPaymentOperatorId: number;\r\n Address: IAddressViewModel = new AddressViewModel();\r\n InvoicingAddress: IAddressViewModel = new AddressViewModel();\r\n ContactPersons: IContactPersonViewModel[] = [];\r\n Deposit: boolean;\r\n MarketingBanPhone: boolean;\r\n MarketingBanEmail: boolean;\r\n MarketingChannelEmail: boolean;\r\n MarketingChannelSMS: boolean;\r\n MarketingChannelElec: boolean;\r\n DirectMarketing: boolean | null;\r\n ExistingCustomer: boolean;\r\n CustomerIdExternal: number;\r\n ServiceChannelCode: string;\r\n ContractPartners: IContactPersonViewModel[] = [];\r\n HasAcceptedTAC: boolean;\r\n TACAcceptedDate: Date;\r\n}\r\n\r\nexport interface IContactPersonViewModel {\r\n Id: number;\r\n FirstName: string;\r\n LastName: string;\r\n Pin: string;\r\n Email: string;\r\n Phone: string;\r\n Type: ContactPersonTypeEnum;\r\n Address: IAddressViewModel;\r\n HasAcceptedTAC: boolean;\r\n TACAcceptedDate: Date;\r\n ContactPersonRole: ContractContactPersonTypeEnum;\r\n ContactPersonRoleInfo: string;\r\n}\r\n\r\nexport class ContactPersonViewModel {\r\n Id: number;\r\n FirstName: string;\r\n LastName: string;\r\n Pin: string;\r\n Email: string;\r\n Phone: string;\r\n Type: ContactPersonTypeEnum;\r\n Address: IAddressViewModel = new AddressViewModel();\r\n HasAcceptedTAC: boolean;\r\n TACAcceptedDate: Date;\r\n ContactPersonRole: ContractContactPersonTypeEnum;\r\n ContactPersonRoleInfo: string;\r\n}\r\n\r\nexport interface IContractOriginInfoViewModel {\r\n Origin: string;\r\n Channel: string;\r\n}\r\n\r\nexport interface IContractsProductViewModel {\r\n ProductName: string;\r\n TarificationName: string;\r\n FixedFeeName: string;\r\n Energy1Name: string;\r\n Energy2Name: string;\r\n FixedFeePrice: number;\r\n FixedFeeUnit: string;\r\n Energy1Price: number;\r\n Energy2Price: number;\r\n TotalPrice: number;\r\n TotalConsumption: number;\r\n}\r\n\r\nexport interface IContractViewModel {\r\n HeatingTypeId: HeatingTypeEnum;\r\n HousingTypeId: HousingTypeEnum;\r\n TarificationId: TarificationIdEnum;\r\n Registers: number;\r\n OldFixedPeriodTime: number;\r\n ValuationId: number;\r\n // 0 = other network\r\n // 1 = home network\r\n // null = not set\r\n ContractLocation: number;\r\n HouseArea: number;\r\n ProductId: number;\r\n PriceListId: number;\r\n //trasanen 9.12.2014 PKSYP-42 Must be able to save n products when asking offer\r\n // public List < ContractProductViewModel > Products { get; set; }\r\n Energy1: number;\r\n Energy2: number;\r\n Reading1: number;\r\n Reading2: number;\r\n ContractSpecificBasicPrice: number;\r\n ContractSpecificEnergy1Price: number;\r\n ContractSpecificEnergy2Price: number;\r\n IsAmr: number;\r\n InvoicingGroup: number;\r\n UsageGroupName: string;\r\n StartDate: Date;\r\n StoredStartDate: Date;\r\n DueDate: number;\r\n OfferValidUntilDate: Date;\r\n AddressValidFrom: Date;\r\n RefundInvoice: boolean;\r\n AcceptTerms: boolean;\r\n EnableSendingNewContractConfirmation: boolean;\r\n PropertyTrade: boolean;\r\n TestMode: boolean;\r\n CreditTransfers: number;\r\n CreditAccount: string;\r\n ConfirmationChannel: number;\r\n ContractReason: ContractReasonEnum;\r\n PaymentMethod: number; // Is this PaymentMethodTypeEnum?\r\n // public List < ProcessInformation > ProcessInformations { get; set; }\r\n ExtraInformation: string;\r\n LoadModel: string;\r\n AnnuityInvoicing: number;\r\n InvoicingMethod: InvoicingMethodEnum\r\n DiscountPercent: number;\r\n MembershipCode: string;\r\n Customer: ICustomerViewModel;\r\n Company: ICompanyViewModel;\r\n MeteringPoint: IMeteringPointViewModel;\r\n AdditionalMeteringPoint: IAdditionalMeteringPointViewModel[];\r\n IsInvoicingAddressInUse: boolean;\r\n IsCustomerAddressInUse: boolean;\r\n DeliveryEmail: string;\r\n InvoicingAddress: IInvoicingAddressViewModel;\r\n CreditInformation: ICreditInformationViewModel;\r\n LastActivity: Date;\r\n TupasAuthId: number;\r\n PermissionToSearchContactData: boolean;\r\n ProductChanged: boolean;\r\n ProductChangeProcess: boolean;\r\n OldContract: boolean;\r\n OldContractCode: string;\r\n ConnectionFee: number;\r\n ConnectionContractTransfers: boolean;\r\n DistrictHeatContractPermission: boolean;\r\n Status: string;\r\n HomeNetwork: string;\r\n HomeNetworkByAddress: string;\r\n Id: number;\r\n CustomerType: CustomerTypeEnum;\r\n HousingType: HousingTypeEnum;\r\n PropertyType: number;\r\n ProcessType: ProcessTypeEnum;\r\n OldContractEndDate: Date;\r\n OldFixedTermContractEndDateByUser: Date;\r\n EndDate: Date;\r\n OldMeteringPoint: IMeteringPointViewModel;\r\n OldSalesCompany: string;\r\n SupplierChangeStatus: number;\r\n CreatedUser: string;\r\n Created: Date;\r\n LockedUser: string;\r\n LockedTime: Date;\r\n OfferId: string;\r\n CustomerContracts: IOtherContractViewModel[];\r\n MeteringPointContracts: IOtherContractViewModel[];\r\n OldMeteringPointContracts: IOtherContractViewModel[];\r\n Phase: number;\r\n MaxPhase: number;\r\n ContinuationContract: string;\r\n ExtranetContract: boolean;\r\n ExternalProductId: string;\r\n Error: string;\r\n MoveOutProcess: IMoveOutProcessViewModel;\r\n ExtraFeatures: IExtraFeatureViewModel[];\r\n // From ContractProcess, values defined in ProcessStatusEnum.\r\n MoveOutStatus: ProcessStatusEnum;\r\n NewContractStatus: ProcessStatusEnum;\r\n IsAcceptingOffer: boolean;\r\n HasAcceptedContract: boolean;\r\n CampaignCode: string;\r\n ConfirmationAddress: IAddressViewModel;\r\n SubProcessType: number; // What is this?\r\n ContractTypes: number; // What is this?\r\n ExistingContracts: number;\r\n OldContractsProduct: IContractsProductViewModel;\r\n PropertyOwnerName: string;\r\n PropertyOwnerContactInformation: string;\r\n DHInvoicingName: string;\r\n DHInvoicingContactInformation: string;\r\n Brand: string;\r\n OfferCreated: Date;\r\n InvoicingMethodSelected: boolean;\r\n PaperInvoiceAllowed: boolean;\r\n OtherAddressSelected: boolean;\r\n DHMeteringPoint: boolean;\r\n GasMeteringPoint: boolean;\r\n IsFollowUpContract: boolean;\r\n ContractDate: Date;\r\n ContractOriginInfo: IContractOriginInfoViewModel;\r\n ExtraServiceOrder: number;\r\n isNewContractBasedOnOld: boolean;\r\n AdditionalContracts: IAdditionalContractViewModel[];\r\n ContractCode: string;\r\n IsSafeToConnect: boolean;\r\n IsConnected: boolean;\r\n DocumentTemplateName: string;\r\n ExternalOfferId: string;\r\n SalesChannel: string;\r\n PreSelectedProductAndPriceList: boolean;\r\n MarketingPermissionEmailCustomer: boolean;\r\n DirectMarketingSelected: boolean;\r\n IsEstateOwner: boolean;\r\n MovingOutContracts: IMovingSelectionViewModel;\r\n StrongContractAuthentication: boolean;\r\n AuthenticateQuestionAccepted: boolean;\r\n InvoicingCycleCode: string;\r\n}\r\n\r\nexport class ContractViewModel implements IContractViewModel {\r\n HeatingTypeId: HeatingTypeEnum;\r\n HousingTypeId: HousingTypeEnum;\r\n TarificationId: TarificationIdEnum;\r\n Registers: number;\r\n OldFixedPeriodTime: number;\r\n ValuationId: number;\r\n ContractLocation: number;\r\n HouseArea: number;\r\n ProductId: number;\r\n PriceListId: number;\r\n Energy1: number;\r\n Energy2: number;\r\n Reading1: number;\r\n Reading2: number;\r\n ContractSpecificBasicPrice: number;\r\n ContractSpecificEnergy1Price: number;\r\n ContractSpecificEnergy2Price: number;\r\n IsAmr: number;\r\n InvoicingGroup: number;\r\n UsageGroupName: string;\r\n StartDate: Date;\r\n StoredStartDate: Date;\r\n DueDate: number;\r\n OfferValidUntilDate: Date;\r\n AddressValidFrom: Date;\r\n RefundInvoice: boolean;\r\n AcceptTerms: boolean;\r\n EnableSendingNewContractConfirmation: boolean;\r\n PropertyTrade: boolean;\r\n TestMode: boolean;\r\n CreditTransfers: number;\r\n CreditAccount: string;\r\n ConfirmationChannel: number;\r\n ContractReason: ContractReasonEnum;\r\n PaymentMethod: InvoicingMethodEnum;\r\n // public List < ProcessInformation > ProcessInformations { get; set; }\r\n ExtraInformation: string;\r\n LoadModel: string;\r\n AnnuityInvoicing: number;\r\n InvoicingMethod: number\r\n DiscountPercent: number;\r\n MembershipCode: string;\r\n Customer: ICustomerViewModel = new CustomerViewModel();\r\n Company: ICompanyViewModel = new CompanyViewModel();\r\n MeteringPoint: IMeteringPointViewModel = new MeteringPointViewModel();\r\n AdditionalMeteringPoint: IAdditionalMeteringPointViewModel[] = [];\r\n IsInvoicingAddressInUse: boolean;\r\n IsCustomerAddressInUse: boolean;\r\n DeliveryEmail: string;\r\n InvoicingAddress: IInvoicingAddressViewModel = new InvoicingAddressViewModel();\r\n CreditInformation: ICreditInformationViewModel = new CreditInformationViewModel();\r\n LastActivity: Date;\r\n TupasAuthId: number;\r\n PermissionToSearchContactData: boolean;\r\n ProductChanged: boolean;\r\n ProductChangeProcess: boolean;\r\n OldContract: boolean;\r\n OldContractCode: string;\r\n ConnectionFee: number;\r\n ConnectionContractTransfers: boolean;\r\n DistrictHeatContractPermission: boolean;\r\n Status: string;\r\n HomeNetwork: string;\r\n HomeNetworkByAddress: string;\r\n Id: number;\r\n CustomerType: CustomerTypeEnum;\r\n HousingType: HousingTypeEnum;\r\n PropertyType: number;\r\n ProcessType: ProcessTypeEnum;\r\n OldContractEndDate: Date;\r\n OldFixedTermContractEndDateByUser: Date;\r\n EndDate: Date;\r\n OldMeteringPoint: IMeteringPointViewModel = new MeteringPointViewModel();\r\n OldSalesCompany: string;\r\n SupplierChangeStatus: number;\r\n CreatedUser: string;\r\n Created: Date;\r\n LockedUser: string;\r\n LockedTime: Date;\r\n OfferId: string;\r\n CustomerContracts: IOtherContractViewModel[] = [];\r\n MeteringPointContracts: IOtherContractViewModel[] = [];\r\n OldMeteringPointContracts: IOtherContractViewModel[] = [];\r\n Phase: number;\r\n MaxPhase: number;\r\n ContinuationContract: string;\r\n ExtranetContract: boolean;\r\n ExternalProductId: string;\r\n Error: string;\r\n MoveOutProcess: IMoveOutProcessViewModel;\r\n ExtraFeatures: IExtraFeatureViewModel[] = [];\r\n MoveOutStatus: ProcessStatusEnum;\r\n NewContractStatus: ProcessStatusEnum;\r\n IsAcceptingOffer: boolean;\r\n HasAcceptedContract: boolean;\r\n CampaignCode: string;\r\n ConfirmationAddress: IAddressViewModel = new AddressViewModel();\r\n SubProcessType: number; // What is this?\r\n ContractTypes: number; // What is this?\r\n ExistingContracts: number;\r\n OldContractsProduct: IContractsProductViewModel;\r\n PropertyOwnerName: string;\r\n PropertyOwnerContactInformation: string;\r\n DHInvoicingName: string;\r\n DHInvoicingContactInformation: string;\r\n Brand: string;\r\n OfferCreated: Date;\r\n InvoicingMethodSelected: boolean;\r\n PaperInvoiceAllowed: boolean;\r\n OtherAddressSelected: boolean;\r\n DHMeteringPoint: boolean;\r\n GasMeteringPoint: boolean;\r\n IsFollowUpContract: boolean;\r\n ContractDate: Date;\r\n ContractOriginInfo: IContractOriginInfoViewModel;\r\n ExtraServiceOrder: number;\r\n isNewContractBasedOnOld: boolean;\r\n AdditionalContracts: IAdditionalContractViewModel[] = [];\r\n ContractCode: string;\r\n IsSafeToConnect: boolean;\r\n IsConnected: boolean;\r\n DocumentTemplateName: string;\r\n ExternalOfferId: string;\r\n SalesChannel: string;\r\n PreSelectedProductAndPriceList: boolean;\r\n MarketingPermissionEmailCustomer: boolean;\r\n DirectMarketingSelected: boolean;\r\n IsEstateOwner: boolean;\r\n MovingOutContracts: IMovingSelectionViewModel;\r\n StrongContractAuthentication: boolean;\r\n AuthenticateQuestionAccepted: boolean;\r\n InvoicingCycleCode: string;\r\n}\r\n\r\nexport interface IMovingSelectionViewModel {\r\n Customers: ICustomerViewModel[];\r\n Companies: ICompanyViewModel[];\r\n Utilities: object[];\r\n MeteringPointAddress: string;\r\n AddressId: string;\r\n}\r\n\r\nexport interface IConsumptionReportSubscriptionViewModel {\r\n ReportSubscriptionId: number;\r\n CustomerCode: string;\r\n SourceCompanyCode: string;\r\n MeteringPointCode: string;\r\n MpSourceCompanyCode: string;\r\n Email: string;\r\n WeeklyReport: boolean;\r\n MonthlyReport: boolean;\r\n Culture: string;\r\n UserName: string;\r\n ConsumptionReportSubscriptionEmails: IConsumptionReportSubscriptionEmailViewModel[];\r\n}\r\n\r\nexport interface IConsumptionReportSubscriptionEmailViewModel {\r\n ConsumptionReportSubscriptionEmailId: number;\r\n Email: string;\r\n WeeklyReportOrdered: boolean;\r\n MonthlyReportOrdered: boolean;\r\n Language: string;\r\n\r\n}\r\n\r\nexport interface ICreditInformationViewModel {\r\n IsCreditOk: boolean;\r\n PaymentDefaults: IPaymentDefaultViewModel[];\r\n ErrorCode: string;\r\n ErrorText: string;\r\n ClassificationCode: string;\r\n ClassificationDescription: string;\r\n LastUpdated : Date;\r\n Id: number;\r\n Source: number;\r\n}\r\n\r\nexport class CreditInformationViewModel implements ICreditInformationViewModel {\r\n IsCreditOk: boolean;\r\n PaymentDefaults: IPaymentDefaultViewModel[] = [];\r\n ErrorCode: string;\r\n ErrorText: string;\r\n ClassificationCode: string;\r\n ClassificationDescription: string;\r\n LastUpdated: Date;\r\n Id: number;\r\n Source: number;\r\n}\r\n\r\nexport interface ICustomerViewModel {\r\n Id: number;\r\n TrustedSource: boolean;\r\n Name: string;\r\n FirstName: string;\r\n LastName: string;\r\n OfferName: string;\r\n Pin: string;\r\n Email: string;\r\n Phone: string;\r\n CustomerCode: string;\r\n CustomerSource: number;\r\n SBonusCode: string;\r\n CultureCode: string;\r\n SourceCompanyCode: string;\r\n EPaymentCode: string;\r\n CustomerType: CustomerTypeEnum;\r\n EPaymentOperator: string;\r\n EPaymentOperatorId: number;\r\n\r\n Address: IAddressViewModel;\r\n InvoicingAddress: IAddressViewModel;\r\n ContractPartners: IContactPersonViewModel[];\r\n\r\n Deposit: boolean;\r\n MarketingBanPhone: boolean;\r\n MarketingBanEmail: boolean;\r\n MarketingChannelEmail: boolean;\r\n MarketingChannelSMS: boolean;\r\n MarketingChannelElec: boolean;\r\n DirectMarketing: boolean | null;\r\n ExistingCustomer: boolean;\r\n CustomerIdExternal: number;\r\n ServiceChannelCode: string;\r\n HasAcceptedTAC: boolean;\r\n TACAcceptedDate: Date;\r\n}\r\n\r\nexport class CustomerViewModel implements ICustomerViewModel {\r\n Id: number;\r\n TrustedSource: boolean;\r\n Name: string;\r\n FirstName: string;\r\n LastName: string;\r\n OfferName: string;\r\n Pin: string;\r\n Email: string;\r\n Phone: string;\r\n CustomerCode: string;\r\n CustomerSource: number;\r\n SBonusCode: string;\r\n CultureCode: string;\r\n SourceCompanyCode: string;\r\n EPaymentCode: string;\r\n CustomerType: CustomerTypeEnum;\r\n EPaymentOperator: string;\r\n EPaymentOperatorId: number;\r\n\r\n Address: IAddressViewModel = new AddressViewModel();\r\n InvoicingAddress: IAddressViewModel = new AddressViewModel;\r\n ContractPartners: IContactPersonViewModel[];\r\n\r\n Deposit: boolean;\r\n MarketingBanPhone: boolean;\r\n MarketingBanEmail: boolean;\r\n MarketingChannelEmail: boolean;\r\n MarketingChannelSMS: boolean;\r\n MarketingChannelElec: boolean;\r\n DirectMarketing: boolean | null;\r\n ExistingCustomer: boolean;\r\n CustomerIdExternal: number;\r\n ServiceChannelCode: string;\r\n HasAcceptedTAC: boolean;\r\n TACAcceptedDate: Date;\r\n}\r\n\r\nexport interface ICustomerMeteringPointViewModel {\r\n MeteringPointCode: string;\r\n SourceCompanyCode: string;\r\n Address: IAddress;\r\n Utility: UtilityTypeEnum;\r\n }\r\n\r\nexport interface ICustomershipViewModel {\r\n CISCustomerId: number;\r\n Name: string;\r\n CustomerCode: string;\r\n SourceCompanyCode: string;\r\n CustomerType: number;\r\n OfficialAddress: IAddress;\r\n Pin: string;\r\n BusinessIdentifier: string;\r\n Phone: string;\r\n Email: string;\r\n MyAccessLevels: Map;//IDictionary;\r\n SharedCustomerRights: ISharedCustomerRightsViewModel[];\r\n MeteringPoints: ICustomerMeteringPointViewModel[];\r\n}\r\n//D\r\n//E\r\nexport interface IExtraFeatureViewModel {\r\n ExtraFeatureId: number;\r\n Name: string;\r\n Amount: number;\r\n Price: number;\r\n Time: Date;\r\n}\r\n//F\r\nexport interface IFinalInvoicingAddressViewModel {\r\n Address: IAddressViewModel;\r\n IBAN: string;\r\n BIC: string;\r\n OVT: string;\r\n Email: string;\r\n}\r\n//G\r\n//H\r\n//I\r\nexport interface IInvoicingAddressViewModel {\r\n Address: IAddressViewModel;\r\n ContactPersonName: string;\r\n Reference: string;\r\n CompanyName: string;\r\n BusinessId: string;\r\n ContactPersonEmail: string;\r\n ContactPersonPhone: string;\r\n InvoicingNetworkAddress: string;\r\n InvoicingOperator: string;\r\n InvoicingDeliverCode: string;\r\n InvoicingFinIbanAddress: string;\r\n InvoicingFinDeliverCode: string;\r\n InvoicingFinOvtCode: string;\r\n}\r\n\r\nexport class InvoicingAddressViewModel implements IInvoicingAddressViewModel {\r\n Address: IAddressViewModel = new AddressViewModel();\r\n ContactPersonName: string;\r\n Reference: string;\r\n CompanyName: string;\r\n BusinessId: string;\r\n ContactPersonEmail: string;\r\n ContactPersonPhone: string;\r\n InvoicingNetworkAddress: string;\r\n InvoicingOperator: string;\r\n InvoicingDeliverCode: string;\r\n InvoicingFinIbanAddress: string;\r\n InvoicingFinDeliverCode: string;\r\n InvoicingFinOvtCode: string;\r\n}\r\n\r\n//J\r\n//K\r\n//L\r\nexport interface ILinkedUserModel {\r\n LinkedUserId: number;\r\n UserName: string;\r\n LinkedUserName: string;\r\n CustomerFullName: string;\r\n Pin: string;\r\n Phone: string;\r\n Removed: boolean;\r\n //public AccessLevelEnum AccessLevel { get; set; }\r\n //public string AccessLevelDescription { get { return this.AccessLevel.GetDescription(); } }\r\n AccessLevelDescription: string;\r\n LinkedUserAuthenticationGuid: string;\r\n LinkedUserAuthenticationEmail: string;\r\n\r\n Invoicing?: AccessLevelEnum;\r\n InvoicingDescription: string;\r\n CustomerInformation?: AccessLevelEnum;\r\n CustomerInformationDescription: string;\r\n Contacts?: AccessLevelEnum;\r\n ContactsDescription: string;\r\n Contracts?: AccessLevelEnum;\r\n ContractsDescription: string;\r\n Outages?: AccessLevelEnum;\r\n OutagesDescription: string;\r\n Reports?: AccessLevelEnum;\r\n ReportsDescription: string;\r\n Messages?: AccessLevelEnum;\r\n MessagesDescription: string;\r\n ReadingEntry?: AccessLevelEnum;\r\n ReadingEntryDescription: string;\r\n\r\n\r\n GetAccessLevel: AccessLevelEnum;\r\n\r\n AccessLevels: Map;//Dictionary < string, AccessLevelEnum >\r\n}\r\n//M\r\nexport interface IMeteringPointViewModel {\r\n Address: IAddressViewModel;\r\n CustomerCode: string;\r\n MeteringPointCode: string;\r\n ExternalMeteringPointCode: string;\r\n NetworkCompanyCode: string;\r\n NetworkCompanyName: string;\r\n FuseTypeId: number;\r\n TrustedSource: boolean;\r\n Id: number;\r\n Source: number;\r\n TarificationId: TarificationIdEnum;\r\n Energy1: number;\r\n Energy2: number;\r\n HousingTypeId: HousingTypeEnum;\r\n SourceCompanyCode: string;\r\n CISMeteringPointId: number;\r\n IsAmr : boolean;\r\n IsConnected: boolean;\r\n DisconnectionReason: string;\r\n DisconnectionDate: Date;\r\n IsSafeToConnect: boolean;\r\n AdditionalAddressToMeteringPointAddress: boolean;\r\n IsItellaAddressDatasConverted: boolean;\r\n GsrnCode: string;\r\n MeteringGridAreaCode: string;\r\n PhysicalStatusType: string;\r\n IsNetted: null | boolean;\r\n EnergyCommunityCode: string;\r\n EnergyCommunityName: string;\r\n RelatedMeteringPoint: string;\r\n}\r\n\r\nexport interface IMultiUtilityMeteringPointViewModel {\r\n Customer: ICustomerViewModel;\r\n Address: IAddressViewModel;\r\n MeteringPoints: MultiUtilityMeteringPoint[];\r\n /// Metering point codes of meteringpoints with valid contract\r\n MeteringPointsWithValidContract: string[];\r\n}\r\n\r\nexport class MultiUtilityMeteringPoint {\r\n Item1: IUtilityType;\r\n Item2: IMeteringPointViewModel;\r\n}\r\n\r\nexport class MeteringPointViewModel implements IMeteringPointViewModel {\r\n Address: IAddressViewModel = new AddressViewModel();\r\n CustomerCode: string;\r\n MeteringPointCode: string;\r\n ExternalMeteringPointCode: string;\r\n NetworkCompanyCode: string;\r\n NetworkCompanyName: string;\r\n FuseTypeId: number;\r\n TrustedSource: boolean;\r\n Id: number;\r\n Source: number;\r\n TarificationId: TarificationIdEnum;\r\n Energy1: number;\r\n Energy2: number;\r\n HousingTypeId: HousingTypeEnum;\r\n SourceCompanyCode: string;\r\n CISMeteringPointId: number;\r\n IsAmr: boolean;\r\n IsConnected: boolean;\r\n DisconnectionReason: string;\r\n DisconnectionDate: Date;\r\n IsSafeToConnect: boolean;\r\n AdditionalAddressToMeteringPointAddress: boolean;\r\n IsItellaAddressDatasConverted: boolean;\r\n GsrnCode: string;\r\n MeteringGridAreaCode: string;\r\n PhysicalStatusType: string;\r\n IsNetted: null | boolean = null;\r\n EnergyCommunityCode: string;\r\n EnergyCommunityName: string;\r\n RelatedMeteringPoint: string;\r\n}\r\n\r\nexport interface IMoveOutConsumptionPointViewModel {\r\n Address: IAddressViewModel;\r\n MeteringPoints: IMoveOutMeteringPointViewModel[];\r\n UtilityTypeId: UtilityTypeEnum;\r\n}\r\n\r\nexport interface IMoveOutContractViewModel {\r\n ContractCode: string;\r\n ContractTypeId: number;\r\n UtilityTypeId: number;\r\n MoveOutDate: Date;\r\n CustomerCode: string;\r\n SourceCompanyCode: string;\r\n}\r\n\r\nexport interface IMoveOutMeteringPointViewModel {\r\n MeteringPointCode: string;\r\n Contracts: IMoveOutContractViewModel[];\r\n MeteringPointAddress: IAddressViewModel;\r\n}\r\n\r\nexport interface IMoveOutProcessViewModel {\r\n MoveOutProcessId: number;\r\n CustomerType: number;\r\n ConsumerCustomer: ICustomerViewModel;\r\n CompanyCustomer: ICompanyViewModel;\r\n MoveOutStatus: number;\r\n MoveOutDate: Date;\r\n ConsumptionPoints: IMoveOutConsumptionPointViewModel[];\r\n FinalInvoicingAddress: IFinalInvoicingAddressViewModel;\r\n}\r\n\r\n//N\r\n//O\r\nexport interface IOtherContractViewModel {\r\n Id: number;\r\n ContractCode: string;\r\n CustomerCode: string;\r\n CustomerName: string;\r\n Pin: string;\r\n StartDate: Date;\r\n EndDate: Date;\r\n FixedTimeUntilDate: Date;\r\n IsFixedTime: boolean;\r\n Status: CISContractStatusEnum;\r\n UtilityTypeId: UtilityTypeEnum;\r\n ContractTypeId: ContractTypeEnum;\r\n MeteringPoint: IMeteringPointViewModel;\r\n InvoiceGroupCode: string;\r\n DueDate: Date;\r\n ExternalProductId: string;\r\n ExternalProductName: string;\r\n SourceCompanyCode: string;\r\n ProductId: number;\r\n PriceListId: number;\r\n InvoicingMethod: InvoicingMethodEnum;\r\n BackgroundContractCode: string;\r\n InvoicingCycleCode: string;\r\n InvoicesPerYear: number;\r\n}\r\n\r\n//P\r\nexport interface IPaymentDefaultViewModel {\r\n Id: number;\r\n PaymentDefaultCode: string;\r\n PaymentDefaultDate: Date;\r\n PaymentDefaultDate2: Date;\r\n AmountOfPaymentDefault: string;\r\n Creditor: string;\r\n DebtType: string;\r\n DebtTypeText: string;\r\n Reference: string;\r\n DebtPayedDate: Date;\r\n PaymentDefaultText: string;\r\n DiaryNumber: string;\r\n GroupIdentifier: string;\r\n}\r\n\r\nexport interface IPriceListAvailabilityViewModel {\r\n Id: number;\r\n RuleType: RuleTypeEnum;\r\n RuleValue: number;\r\n Rule: RuleEnum;\r\n}\r\n\r\nexport interface IPriceListServiceProductViewModel {\r\n ServicePriceList: IPriceListViewModel;\r\n PriceListServiceProductType: number;\r\n}\r\n\r\nexport interface IPriceListViewModel {\r\n Id: number;\r\n Name: string;\r\n ExternalPriceListId: string;\r\n ExternalPriceListId2: string;\r\n Description: string;\r\n FixedTerm: boolean;\r\n FixedTermDuration: number;\r\n FixedTermDurationUnit: number;\r\n FixedTermEndDate: Date;\r\n FixedTermAbsoluteEndDate: Date;\r\n PricingType: number;\r\n ProductComponents: IProductComponentViewModel[];\r\n OrderNumber: number;\r\n CampaignCode: string;\r\n CampaignName: string;\r\n CampaignDescription: string;\r\n CampaignRestricted: boolean;\r\n ShortDescription: string;\r\n InvoicingRule: number;\r\n DeliveryStartDate: Date;\r\n HasWoodWaterProductionManner: boolean;\r\n HasWindProductionManner: boolean;\r\n HasSunProductionManner: boolean;\r\n PriceListAvailabilities: IPriceListAvailabilityViewModel[];\r\n PriceListServiceProducts: IPriceListServiceProductViewModel[];\r\n CountOfMandatoryServiceProducts: number;\r\n CountOfOptionalServiceProducts: number;\r\n}\r\n\r\nexport interface ISelectedServiceProductViewModel {\r\n PriceListId: number;\r\n ServiceProductExternalPriceListId: string;\r\n ServiceProduct: IPriceListServiceProductViewModel;\r\n}\r\n\r\nexport interface IProductAvailabilityViewModel {\r\n Id: string;\r\n RuleType: RuleTypeEnum;\r\n RuleValue: number;\r\n Rule: RuleEnum;\r\n}\r\n\r\nexport interface IProductComponentViewModel {\r\n Id: number;\r\n Name: string;\r\n Description: string;\r\n TarificationId: TarificationIdEnum\r\n TarificationName: string;\r\n PriceStartDate: Date;\r\n BasicDescription: string;\r\n BasicPriceUnit: string;\r\n BasicPrice: number;\r\n BasicPriceNoVAT: number;\r\n FuturePriceStartDate: Date;\r\n FutureBasicPrice: number;\r\n FutureBasicPriceNoVAT: number;\r\n Energy1Price: number;\r\n Energy1PriceNoVAT: number;\r\n Energy1PriceLabel: string;\r\n Energy1Description: string;\r\n Energy1PriceUnit: string;\r\n FutureEnergy1Price: number;\r\n FutureEnergy1PriceNoVAT: number;\r\n Energy2Price: number;\r\n Energy2PriceNoVAT: number;\r\n Energy2PriceLabel: string;\r\n Energy2Description: string;\r\n Energy2PriceUnit: string;\r\n Energy1BundleDescription: string;\r\n Energy2BundleDescription: string;\r\n Energy1BundlePrice: number;\r\n Energy1BundlePriceNoVat: number;\r\n Energy2BundlePrice: number;\r\n Energy2BundlePriceNoVat: number;\r\n FutureEnergy2Price: number;\r\n FutureEnergy2PriceNoVAT: number;\r\n TotalPrice: number;\r\n TotalPriceNoVAT: number;\r\n FutureTotalPrice: number;\r\n FutureTotalPriceNoVAT: number;\r\n TotalConsumption: number;\r\n AlternativePrices: IAlternativePriceViewModel[];\r\n ThisMonthForFuturePrice: string;\r\n NextMonthForFuturePrice: string;\r\n ExternalId: string;\r\n ServiceDescription: string;\r\n ServicePriceUnit: string;\r\n ServicePriceUnitTranslated: string;\r\n ServicePrice: number;\r\n ServicePriceNoVAT: number;\r\n SpotEnergy1MarginalPrice: number;\r\n SpotEnergy1MarginalPriceNoVAT: number;\r\n SpotEnergy1MarginalDescription: string;\r\n SpotEnergy1MarginalPriceUnit: string;\r\n SpotEnergy2MarginalPrice: number;\r\n SpotEnergy2MarginalPriceNoVAT: number;\r\n SpotEnergy2MarginalDescription: string;\r\n SpotEnergy2MarginalPriceUnit: string;\r\n SpotPriceLimitFee: number;\r\n SpotPriceLimitFeeNoVAT: number;\r\n SpotPriceLimitFeeDescription: string;\r\n SpotPriceLimitFeeUnit: string;\r\n AdditionalBasicPrices: IAdditionalBasicPriceViewModel[];\r\n}\r\n\r\nexport interface IProductGroupViewModel {\r\n Id: number;\r\n Name: string;\r\n Description: string;\r\n Code: string;\r\n CSSClass: string;\r\n Products: IProductViewModel[];\r\n\r\n}\r\n\r\nexport interface IProductTypeViewModel {\r\n Id: number;\r\n Name: string;\r\n Description: string;\r\n Code: string;\r\n}\r\n\r\nexport interface ISelectedProduct {\r\n Product: IProductViewModel;\r\n PriceList: IPriceListViewModel;\r\n}\r\n\r\nexport interface IProductViewModel {\r\n Id: number;\r\n Name: string;\r\n Description: string;\r\n MarketingURL: string;\r\n Icon: string;\r\n PriceLists: IPriceListViewModel[];\r\n ProductGroups: IProductGroupViewModel[];\r\n ProductTypes: IProductTypeViewModel[];\r\n ProductAvailabilities: IProductAvailabilityViewModel[];\r\n Rating: number;\r\n OrderNumber: number;\r\n CO2Emission : number;\r\n ShortDescription: string\r\n FeaturedEnergyPrice: number;\r\n FeaturedBasicPrice: number;\r\n Type: ProductTypeEnum;\r\n}\r\n//Q\r\n//R\r\n//S\r\nexport interface ISharedCustomerRightsViewModel {\r\n Id: number;\r\n CustomerCode: string;\r\n SourceCompanyCode: string;\r\n Contacts: UserMappingAccessLevelEnum;\r\n Contracts: UserMappingAccessLevelEnum;\r\n CustomerInformation: UserMappingAccessLevelEnum;\r\n Invoicing: UserMappingAccessLevelEnum;\r\n Messages: UserMappingAccessLevelEnum;\r\n Outages: UserMappingAccessLevelEnum;\r\n Reports: UserMappingAccessLevelEnum;\r\n ReadingEntry: UserMappingAccessLevelEnum;\r\n AccessLevels: Map;//IDictionary;\r\n User: IUserInfoViewModel;\r\n}\r\n//T\r\n//U\r\nexport interface IUserInfoViewModel {\r\n UserInfoId: number;\r\n FirstName: string;\r\n LastName: string;\r\n Email: string;\r\n Username: string\r\n Features: IUserProfileFeatureViewModel[];\r\n}\r\n\r\nexport interface IUserProfileFeatureViewModel {\r\n\r\n UserProfileFeatureId: number;\r\n FeatureTypeId: UserProfileFeatureTypeEnum;\r\n Value: string;\r\n Priority: number;\r\n}\r\n\r\nexport interface IUtilityType {\r\n UtilityTypeId: number;\r\n Name: string;\r\n Name_sv: string;\r\n Name_en: string;\r\n Icon: string;\r\n Type: UtilityTypeEnum;\r\n}\r\n//V\r\n//X\r\n//Y\r\n//Z\r\n","import Vue from \"vue\";\r\nimport { ValidationErrors } from \"./new-contract-vue\";\r\n\r\nclass NewContractEventBus {\r\n private vue: Vue = new Vue();\r\n\r\n removeNewContractInitializedListener(listener: () => void) {\r\n this.vue.$off(\"new-contract-initialized\", listener);\r\n };\r\n\r\n addNewContractInitializedListener(listener: () => void) {\r\n this.vue.$on(\"new-contract-initialized\", listener);\r\n };\r\n\r\n notifyNewContractInitialized() {\r\n this.vue.$emit(\"new-contract-initialized\");\r\n }\r\n\r\n\r\n addValidationFailedListener(listener: (ValidationErrors) => any) {\r\n this.vue.$on(\"validation-failed\", listener);\r\n }\r\n\r\n removeValidationFailedListener(listener: (ValidationErrors) => any) {\r\n this.vue.$off(\"validation-failed\", listener);\r\n }\r\n\r\n notifyValidationFailed(validationErrors: ValidationErrors) {\r\n this.vue.$emit(\"validation-failed\", validationErrors);\r\n }\r\n\r\n addProductSelectionClearedListener(listener: () => any) {\r\n this.vue.$on(\"product-selection-cleared\", listener);\r\n }\r\n\r\n removeProductSelectionClearedListener(listener: () => any) {\r\n this.vue.$off(\"product-selection-cleared\", listener);\r\n }\r\n\r\n notifyProductSelectionCleared() {\r\n this.vue.$emit(\"product-selection-cleared\");\r\n }\r\n\r\n addNotifySessionExpiredListener(listener: () => void) {\r\n this.vue.$on(\"notify-session-exception\", listener);\r\n }\r\n\r\n removeNotifySessionExpiredListener(listener: () => void) {\r\n this.vue.$off(\"notify-session-exception\", listener);\r\n }\r\n\r\n notifySessionExpired() {\r\n this.vue.$emit(\"notify-session-exception\", true);\r\n }\r\n}\r\n\r\nexport const NewContractEvents = new NewContractEventBus();","import { HousingTypeEnum, TarificationIdEnum, HeatingTypeEnum, UtilityTypeEnum, ContractTypeEnum, InvoicingMethodEnum, FixedTermDurationUnit, ContractReasonEnum } from \"./CommonEnums\";\r\nimport { IAddressViewModel, IContactPersonViewModel, IPriceListViewModel, IContractViewModel } from \"./I4UViewModels\";\r\nimport * as moment from \"moment-recent\";\r\nimport VueI18n from \"vue-i18n\";\r\n\r\nexport class InvoicingMethodFormat {\r\n public static toString(invoicingMethod: InvoicingMethodEnum): string {\r\n switch (invoicingMethod) {\r\n case InvoicingMethodEnum.Paper: return \"Paperilasku\";\r\n case InvoicingMethodEnum.ConsumerEInvoice: return \"E-lasku\";\r\n case InvoicingMethodEnum.CompanyEInvoice: return \"Verkkolasku\";\r\n case InvoicingMethodEnum.Email: return \"Sähköpostilasku\";\r\n case InvoicingMethodEnum.DirectPayment: return \"Suoraveloitus\";\r\n case InvoicingMethodEnum.Online:\r\n case InvoicingMethodEnum.Print:\r\n return \"TODO: Lisää teksti\"; // TODO: Add proper texts.\r\n default: return null;\r\n }\r\n }\r\n}\r\n\r\nexport class ContractTypeFormat {\r\n public static toString(contractType: ContractTypeEnum): string {\r\n switch (contractType) {\r\n case ContractTypeEnum.Unknown: return \"Tuntematon\";\r\n case ContractTypeEnum.SalesContract: return \"Myyntisopimus\";\r\n case ContractTypeEnum.NetworkContract: return \"Verkkosopimus\";\r\n case ContractTypeEnum.PurchaseContract: return \"Ostosopimus\"\r\n case ContractTypeEnum.ServiceContract:\r\n case ContractTypeEnum.ServiceConnectionContract:\r\n case ContractTypeEnum.ReconciliationContract:\r\n case ContractTypeEnum.ConsolidatedContract:\r\n case ContractTypeEnum.SupplyContract: return \"Toimitussopimus\";\r\n case ContractTypeEnum.WholeSaleContract:\r\n case ContractTypeEnum.BackingContract:\r\n case ContractTypeEnum.PriceLimitContract:\r\n case ContractTypeEnum.PriceGuaranteedContract:\r\n case ContractTypeEnum.NetworkProductionContract:\r\n return \"TODO: Lisää teksti (\" + contractType.toString()+\")\"; // TODO: Add proper texts.\r\n default: return null;\r\n }\r\n }\r\n}\r\n\r\nexport class UtilityTypeFormat {\r\n public static toString(utilityType: UtilityTypeEnum): string {\r\n switch (utilityType) {\r\n case UtilityTypeEnum.NotDefined: return \"Ei valittu\";\r\n case UtilityTypeEnum.Electricity: return \"Sähkö\";\r\n case UtilityTypeEnum.DistrictHeat: return \"Kaukolämpö\";\r\n case UtilityTypeEnum.DistrictCooling: return \"Kaukojäähdytys\";\r\n case UtilityTypeEnum.Gas: return \"Kaasu\";\r\n case UtilityTypeEnum.Water: return \"Vesi\";\r\n case UtilityTypeEnum.WasteWater: return \"Jätevesi\";\r\n case UtilityTypeEnum.StormWater:\r\n case UtilityTypeEnum.Stream:\r\n case UtilityTypeEnum.Other:\r\n case UtilityTypeEnum.SprinklerWater:\r\n case UtilityTypeEnum.ElectricityTax:\r\n case UtilityTypeEnum.ElectricityProduction:\r\n return \"TODO: Lisää teksti\"; // TODO: Add proper texts.\r\n default: return null;\r\n }\r\n }\r\n}\r\n\r\nexport class HousingTypeFormat {\r\n public static toString(housingType: HousingTypeEnum): string {\r\n switch (housingType) {\r\n case HousingTypeEnum.UNKNOWN: return \"Ei tiedossa\";\r\n case HousingTypeEnum.HOUSE: return \"Omakotitalo\";\r\n case HousingTypeEnum.TERRACEDHOUSE: return \"Rivitalo\";\r\n case HousingTypeEnum.APARTMENTHOUSE: return \"Kerrostalo\";\r\n case HousingTypeEnum.COTTAGE: return \"Vapaa-ajan asunto\";\r\n case HousingTypeEnum.DOUBLEHOUSE: return \"Paritalo\";\r\n case HousingTypeEnum.OTHER: return \"Muu\";\r\n case HousingTypeEnum.INDUSTRIALBUILDING: return \"Teollisuuskiinteistö\";\r\n case HousingTypeEnum.COMMERCIALBUILDING: return \"Liikekiinteistö\";\r\n case HousingTypeEnum.AGRICULTURALBUILDING: return \"Maatalouskiinteistö\";\r\n case HousingTypeEnum.CONCENTRATIONBUILDING: return \"Jalostuskiinteistö\";\r\n case HousingTypeEnum.SERVICESECTORBUILDING: return \"Palvelualan kiinteistö\";\r\n case HousingTypeEnum.PUBLICSECTORBUILDING: return \"Julkisen sektorin kiinteistö\";\r\n case HousingTypeEnum.CONSTRUCTION: return \"Rakennustyömaa\";\r\n case HousingTypeEnum.RESIDENTIALPROPERTY: return \"Asuinkiinteistö\";\r\n case HousingTypeEnum.COMMUNITYANDUTILITYSERVICE: return \"Yhdyskunta- ja hyödykepalvelu\";\r\n case HousingTypeEnum.OUTDOORLIGHTNING: return \"Ulkovalaistus\";\r\n case HousingTypeEnum.ELECTRICVECHILECHARGING: return \"Sähköajoneuvojen lataus\";\r\n case HousingTypeEnum.TRAFFIC: return \"Liikenne\";\r\n case HousingTypeEnum.INDUSTRIALBUILDING2: return \"Teollisuuskiinteistö, tyyppi 2\";\r\n case HousingTypeEnum.TERRACEDORDOUBLEHOUSE: return \"Rivi- tai paritalo\";\r\n default:\r\n return null;\r\n }\r\n }\r\n}\r\n\r\nexport class TarificationFormat {\r\n public static toString(tarification: TarificationIdEnum, locale: string = \"fi\"): string {\r\n // TODO: localization\r\n switch (tarification) {\r\n case TarificationIdEnum.SINGLETARIF: return \"Yksiaika\";\r\n case TarificationIdEnum.DAYNIGHTTARIF: return \"Yö-päivä\";\r\n case TarificationIdEnum.SEASONTARIF: return \"Kausisähkö\";\r\n case TarificationIdEnum.POWERDAYTARIF: return \"Tehoaika\";\r\n case TarificationIdEnum.HEATING: return \"Lämpö\";\r\n case TarificationIdEnum.WATER: return \"Vesi\";\r\n case TarificationIdEnum.GAS: return \"Kaasu\";\r\n case TarificationIdEnum.POWERSEASONTARIF: return \"Tehokausi\";\r\n case TarificationIdEnum.DISTRICTCOOLING: return \"Kaukokylmä\";\r\n default:\r\n return null;\r\n }\r\n }\r\n}\r\n\r\nexport class HeatingTypeFormat {\r\n public static toString(heatingType: HeatingTypeEnum): string {\r\n switch (heatingType) {\r\n case HeatingTypeEnum.ELECTRICITY: return \"Sähkö\";\r\n case HeatingTypeEnum.NOELECTRICITY: return \"\";\r\n case HeatingTypeEnum.GEOTHERMAL: return \"Maalämpö\";\r\n case HeatingTypeEnum.DISTRICTHEATING: return \"Kaukolämpö\";\r\n case HeatingTypeEnum.OIL: return \"Öljy\";\r\n case HeatingTypeEnum.OTHER: return \"Muu\";\r\n case HeatingTypeEnum.NOTKNOWN: return \"Ei tiedossa\";\r\n case HeatingTypeEnum.GAS: return \"Kaasu\";\r\n case HeatingTypeEnum.ELECTRICSTORAGEHEATING: return \"Varaava sähkö\";\r\n case HeatingTypeEnum.DIRECTELECTRICHEATING: return \"Suora sähkö\";\r\n case HeatingTypeEnum.WOODHEATING: return \"Puu\";\r\n case HeatingTypeEnum.HEATPUMP: return \"Lämpöpumppu\";\r\n case HeatingTypeEnum.NOHEATING: return \"Ei lämmitystä\";\r\n default:\r\n return null;\r\n }\r\n }\r\n}\r\n\r\nexport class CommonFormatUtils {\r\n public static formatDuration(contract: IContractViewModel, priceList: IPriceListViewModel, locale: string = \"fi\") {\r\n if (!priceList.FixedTerm) {\r\n if (locale === \"fi\") {\r\n return \"Toistaiseksi\";\r\n }\r\n else if (locale === \"sv\") {\r\n return \"Tillsvidare\";\r\n }\r\n else if (locale === \"da\") {\r\n return \"Until further notice\";\r\n } \r\n else if (locale === \"en\") {\r\n return \"Until further notice\";\r\n } \r\n }\r\n \r\n\r\n let absoluteEndDate = priceList.FixedTermAbsoluteEndDate;\r\n let duration = priceList.FixedTermDuration;\r\n let durationUnit = priceList.FixedTermDurationUnit;\r\n let str = \"\";\r\n\r\n if (absoluteEndDate != null) {\r\n let aed = new Date(absoluteEndDate);\r\n let csd = new Date(contract.StartDate);\r\n if (duration != null && duration != 0) {\r\n if (durationUnit == FixedTermDurationUnit.DAYS) {\r\n if (csd > aed) {\r\n str += duration + \" \";\r\n if (locale === \"fi\") {\r\n str += duration === 1 ? \"päivä\" : \"päivää\";\r\n }\r\n else if (locale === \"sv\") {\r\n str += duration === 1 ? \"dag\" : \"dagar\";\r\n }\r\n else if (locale === \"da\") {\r\n str += duration === 1 ? \"dag\" : \"dagar\";\r\n }\r\n else if (locale === \"en\") {\r\n str += duration === 1 ? \"day\" : \"days\";\r\n }\r\n }\r\n else if (aed > csd.addDays(duration).addDays(-1)) {\r\n //str += this.formatDate(csd.addDays(duration).addDays(-1).toDateString());\r\n str += duration + \" \";\r\n if (locale === \"fi\") {\r\n str += duration === 1 ? \"päivä\" : \"päivää\";\r\n }\r\n else if (locale === \"sv\") {\r\n str += duration === 1 ? \"dag\" : \"dagar\";\r\n }\r\n else if (locale === \"da\") {\r\n str += duration === 1 ? \"dag\" : \"dagar\";\r\n }\r\n else if (locale === \"en\") {\r\n str += duration === 1 ? \"day\" : \"days\";\r\n }\r\n }\r\n else {\r\n if (locale === \"fi\")\r\n str += this.formatDate(aed.toDateString()) + \" saakka\";\r\n else if (locale === \"sv\")\r\n str += this.formatDate(aed.toDateString()) + \" tills\";\r\n else if (locale === \"da\")\r\n str += this.formatDate(aed.toDateString()) + \" tills\";\r\n else if (locale === \"en\")\r\n str += \"until \" + this.formatDate(aed.toDateString());\r\n }\r\n }\r\n else if (durationUnit == FixedTermDurationUnit.MONTHS) {\r\n if (csd > aed) {\r\n str += duration + \" \";\r\n if (locale === \"fi\") {\r\n str += duration === 1 ? \"kuukausi\" : \"kuukautta\";\r\n }\r\n else if (locale == \"sv\") {\r\n str += duration === 1 ? \"månad\" : \"månader\";\r\n }\r\n else if (locale == \"da\") {\r\n str += duration === 1 ? \"månad\" : \"månader\";\r\n }\r\n else if (locale == \"en\") {\r\n str += duration === 1 ? \"month\" : \"months\";\r\n }\r\n }\r\n else if (aed > csd.addMonths(duration)) {\r\n //str += this.formatDate(csd.addMonths(duration).addDays(-1).toDateString());\r\n str += duration + \" \";\r\n if (locale === \"fi\") {\r\n str += duration === 1 ? \"kuukausi\" : \"kuukautta\";\r\n }\r\n else if (locale == \"sv\") {\r\n str += duration === 1 ? \"månad\" : \"månader\";\r\n }\r\n else if (locale == \"da\") {\r\n str += duration === 1 ? \"månad\" : \"månader\";\r\n }\r\n else if (locale == \"en\") {\r\n str += duration === 1 ? \"month\" : \"months\";\r\n }\r\n }\r\n else {\r\n if (locale === \"fi\")\r\n str += this.formatDate(aed.toDateString()) + \" saakka\";\r\n else if (locale === \"sv\")\r\n str += this.formatDate(aed.toDateString()) + \" tills\";\r\n else if (locale === \"da\")\r\n str += this.formatDate(aed.toDateString()) + \" tills\";\r\n else if (locale === \"en\")\r\n str += \"until \" + this.formatDate(aed.toDateString());\r\n }\r\n }\r\n else if (durationUnit == FixedTermDurationUnit.YEARS) {\r\n if (csd > aed) {\r\n str += duration + \" \";\r\n if (locale === \"fi\") {\r\n str += duration === 1 ? \"vuosi\" : \"vuotta\";\r\n }\r\n else if (locale === \"sv\") {\r\n str += duration === 1 ? \"år\" : \"år\";\r\n }\r\n else if (locale === \"da\") {\r\n str += duration === 1 ? \"år\" : \"år\";\r\n }\r\n else if (locale === \"en\") {\r\n str += duration === 1 ? \"year\" : \"years\";\r\n }\r\n }\r\n else if (aed > csd.addYears(duration).addDays(-1)) {\r\n //str += this.formatDate(csd.addYears(duration).addDays(-1).toDateString());\r\n str += duration + \" \";\r\n if (locale === \"fi\") {\r\n str += duration === 1 ? \"vuosi\" : \"vuotta\";\r\n }\r\n else if (locale === \"sv\") {\r\n str += duration === 1 ? \"år\" : \"år\";\r\n }\r\n else if (locale === \"da\") {\r\n str += duration === 1 ? \"år\" : \"år\";\r\n }\r\n else if (locale === \"en\") {\r\n str += duration === 1 ? \"year\" : \"years\";\r\n }\r\n }\r\n else {\r\n if (locale === \"fi\")\r\n str += this.formatDate(aed.toDateString()) + \" saakka\";\r\n else if (locale === \"sv\")\r\n str += this.formatDate(aed.toDateString()) + \" tills\";\r\n else if (locale === \"da\")\r\n str += this.formatDate(aed.toDateString()) + \" tills\";\r\n else if (locale === \"en\")\r\n str += \"until \" + this.formatDate(aed.toDateString());\r\n }\r\n }\r\n }\r\n else {\r\n if (locale === \"fi\")\r\n str += this.formatDate(aed.toDateString()) + \" saakka\";\r\n else if (locale === \"sv\")\r\n str += this.formatDate(aed.toDateString()) + \" tills\";\r\n else if (locale === \"da\")\r\n str += this.formatDate(aed.toDateString()) + \" tills\";\r\n else if (locale === \"en\")\r\n str += \"until \" + this.formatDate(aed.toDateString());\r\n }\r\n }\r\n else {\r\n switch (durationUnit) {\r\n case FixedTermDurationUnit.DAYS:\r\n str += duration + \" \";\r\n if (locale === \"fi\") {\r\n str += duration === 1 ? \"päivä\" : \"päivää\";\r\n }\r\n else if (locale === \"sv\") {\r\n str += duration === 1 ? \"dag\" : \"dagar\";\r\n }\r\n else if (locale === \"da\") {\r\n str += duration === 1 ? \"dag\" : \"dagar\";\r\n }\r\n else if (locale === \"en\") {\r\n str += duration === 1 ? \"day\" : \"days\";\r\n }\r\n break;\r\n case FixedTermDurationUnit.MONTHS:\r\n str += duration + \" \";\r\n if (locale === \"fi\") {\r\n str += duration === 1 ? \"kuukausi\" : \"kuukautta\";\r\n }\r\n else if (locale == \"sv\") {\r\n str += duration === 1 ? \"månad\" : \"månader\";\r\n }\r\n else if (locale == \"da\") {\r\n str += duration === 1 ? \"månad\" : \"månader\";\r\n }\r\n else if (locale == \"en\") {\r\n str += duration === 1 ? \"month\" : \"months\";\r\n }\r\n break;\r\n case FixedTermDurationUnit.YEARS:\r\n str += duration + \" \";\r\n if (locale === \"fi\") {\r\n str += duration === 1 ? \"vuosi\" : \"vuotta\";\r\n }\r\n else if (locale === \"sv\") {\r\n str += duration === 1 ? \"år\" : \"år\";\r\n }\r\n else if (locale === \"da\") {\r\n str += duration === 1 ? \"år\" : \"år\";\r\n }\r\n else if (locale === \"en\") {\r\n str += duration === 1 ? \"year\" : \"years\";\r\n }\r\n break;\r\n }\r\n }\r\n return str;\r\n }\r\n\r\n static formatDate(date: string) {\r\n return moment(date).format(\"DD.MM.YYYY\");\r\n }\r\n\r\n public static localeToCultureCode(locale: string): string {\r\n switch (locale) {\r\n case \"en\":\r\n return \"en-GB\";\r\n case \"sv\":\r\n return \"sv-SE\";\r\n case \"da\":\r\n return \"da-DK\";\r\n case \"fi\":\r\n default:\r\n return \"fi-FI\";\r\n }\r\n return null;\r\n }\r\n}\r\n\r\nexport class GenericTypeFormatTranslator {\r\n public static toString(toStringFunc: (val: T) => string, input: T, translator: VueI18n) {\r\n return translator.t(toStringFunc(input));\r\n }\r\n}\r\n\r\nexport class ContractReasonFormat {\r\n public static toString(contractReason: ContractReasonEnum): string {\r\n switch (contractReason) {\r\n case ContractReasonEnum.NOTDEFINED: return \"Ei määritelty\";\r\n case ContractReasonEnum.SUPPLIERCHANGE:\r\n case ContractReasonEnum.SUPPLIERCHANGE_DH:\r\n return \"Vaihdan sähkönmyyjää\";\r\n case ContractReasonEnum.MOVEIN:\r\n case ContractReasonEnum.MOVEIN_DH:\r\n return \"Muutto\";\r\n case ContractReasonEnum.PRODUCTCHANGE:\r\n case ContractReasonEnum.PRODUCTCHANGE_DH:\r\n return \"Vaihdan nykyisen tai uusin määräaikaisen sopimukseni\";\r\n case ContractReasonEnum.NEWCONTRACT: return \"Teen uuden sopimuksen\";\r\n case ContractReasonEnum.NOTKNOWN: return \"Ei tiedossa\";\r\n default:\r\n return null;\r\n }\r\n }\r\n}","require(\"core-js/features/promise\");\r\nrequire(\"core-js/features/array/for-each\")\r\n\r\nimport Vue from \"vue\"\r\nimport Vuex, { StoreOptions, ActionContext } from \"vuex\"\r\nimport { ContractViewModel, IContractViewModel, IProductViewModel, AddressViewModel, IPriceListViewModel, IContactPersonViewModel, ISelectedServiceProductViewModel } from \"../../../Scripts/inpulse/I4UViewModels\";\r\nimport { CustomerTypeEnum, MoveOutReasonEnum } from \"@/Scripts/inpulse/CommonEnums\";\r\nimport { NewContractEvents } from \"./new-contract-vue-events\";\r\nimport { CommonFormatUtils } from \"@/Scripts/inpulse/FormatUtils\";\r\n\r\nVue.use(Vuex);\r\n\r\ndeclare var $: any;\r\ndeclare let currentLocale: string;\r\n\r\nclass DatepickerMinDates {\r\n MinStartDate: Date;\r\n MinEndDate: Date;\r\n}\r\nexport interface INewContractState {\r\n moveOutUser: string;\r\n validPinFromDb: boolean;\r\n\r\n contract: IContractViewModel;\r\n selectedProduct: IProductViewModel;\r\n selectedPriceList: IPriceListViewModel;\r\n products: IProductViewModel[];\r\n\r\n // If true, refreshing products will clear the selected product IF the selected product is not among the refreshed ones.\r\n autoClearSelectedProduct: boolean;\r\n\r\n // This tells if the New Contract module & data has been initialized (i.e. client side model has been set by initValues call from the Hub etc).\r\n newContractInitialized: boolean;\r\n\r\n contractSettings: IContractSettings;\r\n environmentSettings: IEnvironmentSettings\r\n preSelectedProductPriceListTarification: boolean;\r\n isAuthenticated: boolean;\r\n selectedServiceProducts: string[];\r\n holidays: string[];\r\n loadingNewPhase: boolean;\r\n strongContractAuthentication: boolean;\r\n featureAdjustProductTimePeriod: boolean;\r\n}\r\n\r\nlet state: INewContractState = {\r\n moveOutUser: null,\r\n validPinFromDb: null,\r\n\r\n contract: new ContractViewModel() as IContractViewModel,\r\n selectedProduct: null,\r\n selectedPriceList: null,\r\n products: [] as IProductViewModel[],\r\n autoClearSelectedProduct: true,\r\n newContractInitialized: false,\r\n\r\n contractSettings: null,\r\n environmentSettings: null,\r\n\r\n preSelectedProductPriceListTarification: false,\r\n isAuthenticated: false,\r\n selectedServiceProducts: [] as string[],\r\n holidays: [] as string[],\r\n loadingNewPhase: false,\r\n strongContractAuthentication: false,\r\n featureAdjustProductTimePeriod: false,\r\n}\r\n\r\nexport enum PropertyTypeEnum {\r\n BasicValue,\r\n MeteringPointValue,\r\n ContractValue,\r\n CustomerValue\r\n}\r\nexport interface IDatepickerMinDates {\r\n MinStartDate,\r\n MinEndDate\r\n}\r\n\r\nexport interface IContractSettings {\r\n MovingMinDates: number;\r\n MovingMinDatesCompany: number;\r\n SupplierChangeMinDates: number;\r\n SupplierChangeMinDatesCompany: number;\r\n ProductChangeMinDates: number;\r\n ProductChangeMinDatesCompany: number;\r\n ClosingMinDates: number;\r\n InvoicingMethodsInUse: boolean;\r\n AvailableLanguages: string[];\r\n AllowMakingNewSalesContractWithStartDateGreaterThan90Days: boolean;\r\n FeatureAdjustProductTimePeriodEnabled: boolean;\r\n GetNewContractInvoicingCycleCodeFromNetworkContract: boolean;\r\n}\r\n\r\nexport interface IEnvironmentSettings {\r\n DatahubMeteringPointRestApiVersion: number\r\n}\r\n\r\n// Experimental!\r\nclass PropDesc {\r\n type: PropertyTypeEnum;\r\n propertyNames: string[];\r\n setValue: (contract: IContractViewModel, value: string) => any;\r\n\r\n constructor(type, propertyNames) {\r\n this.type = type;\r\n this.propertyNames = propertyNames;\r\n }\r\n\r\n static basic(setValue: (contract: IContractViewModel, value: string) => any) {\r\n let d = new PropDesc(PropertyTypeEnum.BasicValue, null);\r\n d.setValue = setValue;\r\n return d;\r\n }\r\n static mp(setValue: (contract: IContractViewModel, value: string) => any) {\r\n let d = new PropDesc(PropertyTypeEnum.MeteringPointValue, null);\r\n d.setValue = setValue;\r\n return d;\r\n }\r\n static contract(setValue: (contract: IContractViewModel, value: string) => any) {\r\n let d = new PropDesc(PropertyTypeEnum.ContractValue, null);\r\n d.setValue = setValue;\r\n return d;\r\n }\r\n static customer(setValue: (contract: IContractViewModel, value: string) => any) {\r\n let d = new PropDesc(PropertyTypeEnum.CustomerValue, null);\r\n d.setValue = setValue;\r\n return d;\r\n }\r\n\r\n public changeValue(obj: any, value: string,) {\r\n if (this.setValue != null) {\r\n this.setValue(obj, value);\r\n }\r\n else if (this.propertyNames != null) {\r\n this.propertyNames.forEach(propName => {\r\n PropDesc.changeValueInternal(obj, propName, value);\r\n });\r\n }\r\n }\r\n\r\n private static changeValueInternal(obj: any, propertyChain: string, value: string) {\r\n let parts = propertyChain.split(\".\");\r\n let propName = parts[0];\r\n if (parts.length == 1) {\r\n obj[propName] = value;\r\n }\r\n else {\r\n let newObj = obj[propName];\r\n let newPropChain = propertyChain.substr(propertyChain.indexOf(\".\") + 1);\r\n this.changeValueInternal(newObj, newPropChain, value);\r\n }\r\n }\r\n}\r\n\r\nlet basicValues = {\r\n // SetValue\r\n \"brand\": PropDesc.basic((contract, value) => contract.Brand = value),\r\n \"campaignCode\": PropDesc.basic((contract, value) => contract.CampaignCode = value),\r\n \"contractLocation\": PropDesc.basic((contract, value) => contract.ContractLocation = parseInt(value)),\r\n \"heatingType\": PropDesc.basic((contract, value) => contract.HeatingTypeId = parseInt(value)),\r\n \"housingType\": PropDesc.basic((contract, value) => contract.HousingTypeId = parseInt(value)),\r\n \"tarification\": PropDesc.basic((contract, value) => contract.TarificationId = parseInt(value)),\r\n \"energy1\": PropDesc.basic((contract, value) => contract.Energy1 = parseInt(value)),\r\n \"energy2\": PropDesc.basic((contract, value) => contract.Energy2 = parseInt(value)),\r\n \"reading1\": PropDesc.basic((contract, value) => contract.Reading1 = parseInt(value)),\r\n \"reading2\": PropDesc.basic((contract, value) => contract.Reading2 = parseInt(value)),\r\n \"meteringType\": PropDesc.basic((contract, value) => contract.IsAmr = parseInt(value)),\r\n \"valuation\": PropDesc.basic((contract, value) => contract.ValuationId = parseInt(value)),\r\n \"area\": PropDesc.basic((contract, value) => contract.HouseArea = parseInt(value)),\r\n \"oldFixedPeriodTime\": PropDesc.basic((contract, value) => contract.OldFixedPeriodTime = parseInt(value)),\r\n \"customerType\": PropDesc.basic((contract, value) => contract.CustomerType = parseInt(value)),\r\n \"permissionToSearchContactData\": PropDesc.basic((contract, value) => contract.PermissionToSearchContactData = value != \"0\"),\r\n \"ExtraServiceOrder\": PropDesc.basic((contract, value) => contract.ExtraServiceOrder = parseInt(value)),\r\n}\r\nlet meteringPointValues = {\r\n // SetMeteringPointValue\r\n \"meteringpoint-street-address_Street\": PropDesc.mp((contract, value) => contract.MeteringPoint.Address.Street = value),\r\n \"MPCOName\": PropDesc.mp((contract, value) => contract.MeteringPoint.Address.COName = value),\r\n \"MPStreet\": PropDesc.mp((contract, value) => contract.MeteringPoint.Address.Street = value),\r\n \"MoveOutStreetOnline\": PropDesc.mp((contract, value) => contract.MoveOutProcess.FinalInvoicingAddress.Address.Street = value),\r\n \"MoveOutZipOnline\": PropDesc.mp((contract, value) => contract.MoveOutProcess.FinalInvoicingAddress.Address.Zip = value),\r\n \"MoveOutCONameOnline\": PropDesc.mp((contract, value) => contract.MoveOutProcess.FinalInvoicingAddress.Address.COName = value),\r\n \"MoveOutEmail\": PropDesc.mp((contract, value) => contract.MoveOutProcess.FinalInvoicingAddress.Email = value),\r\n //\"meteringpoint-street-address_StreetName\": PropDesc.mp((contract, value) => contract.MeteringPoint.Address.StreetName = value),\r\n //\"MPStreetName\": PropDesc.mp((contract, value) => contract.MeteringPoint.Address.StreetName = value),\r\n //\"meteringpoint-street-address_StreetQualifier\": PropDesc.mp((contract, value) => contract.MeteringPoint.Address.HouseNumber = value),\r\n //\"meteringpoint-street-address_StairCase\": PropDesc.mp((contract, value) => contract.MeteringPoint.Address.Staircase = value),\r\n //\"meteringpoint-street-address_Apartment\": PropDesc.mp((contract, value) => contract.MeteringPoint.Address.Apartment = value),\r\n \"MPZip\": PropDesc.mp((contract, value) => contract.MeteringPoint.Address.Zip = value),\r\n \"meteringpoint-street-address_PostalCode\": PropDesc.mp((contract, value) => contract.MeteringPoint.Address.Zip = value),\r\n \"MPCode\": PropDesc.mp((contract, value) => contract.MeteringPoint.MeteringPointCode = value),\r\n \"NWCode\": PropDesc.mp((contract, value) => contract.MeteringPoint.NetworkCompanyCode = value),\r\n \"NWName\": PropDesc.mp((contract, value) => contract.MeteringPoint.NetworkCompanyName = value),\r\n //\"StartDate\": PropDesc.mp((contract, value) => contract.StartDate = value),\r\n \"StartDate\": PropDesc.mp(null),\r\n \"MovingMPStreet\": PropDesc.mp((contract, value) => contract.OldMeteringPoint.Address.Street = value),\r\n \"MovingMPZip\": PropDesc.mp((contract, value) => contract.OldMeteringPoint.Address.Zip = value),\r\n \"ResetOldMPAddress\": PropDesc.mp((contract, value) => contract.OldMeteringPoint.Address = new AddressViewModel()),\r\n \"OldMPStreet\": PropDesc.mp((contract, value) => contract.OldMeteringPoint.Address.Street = value),\r\n \"oldmeteringpoint-street-address_Street\": PropDesc.mp((contract, value) => contract.OldMeteringPoint.Address.Street = value),\r\n //\"oldmeteringpoint-street-address_StreetName\": PropDesc.mp((contract, value) => contract.OldMeteringPoint.Address.StreetName = value),\r\n //\"oldmeteringpoint-street-address_StreetQualifier\": PropDesc.mp((contract, value) => contract.OldMeteringPoint.Address.HouseNumber = value),\r\n //\"oldmeteringpoint-street-address_StairCase\": PropDesc.mp((contract, value) => contract.OldMeteringPoint.Address.Staircase = value),\r\n //\"oldmeteringpoint-street-address_Apartment\": PropDesc.mp((contract, value) => contract.OldMeteringPoint.Address.Apartment = value),\r\n \"OldMPZip\": PropDesc.mp((contract, value) => contract.OldMeteringPoint.Address.Zip = value),\r\n \"oldmeteringpoint-street-address_PostalCode\": PropDesc.mp((contract, value) => contract.OldMeteringPoint.Address.Zip = value),\r\n \"OldMPCode\": PropDesc.mp((contract, value) => contract.OldMeteringPoint.MeteringPointCode = value),\r\n \"MPMovingCode\": PropDesc.mp((contract, value) => contract.OldMeteringPoint.MeteringPointCode = value),\r\n //\"MovingDate\": PropDesc.mp((contract, value) => contract.OldContractEndDate = value),\r\n \"MovingDate\": PropDesc.mp(null),\r\n \"MovingMPNetworkCompany\": PropDesc.mp((contract, value) => contract.OldMeteringPoint.NetworkCompanyName = value),\r\n //\"OldContractEndDate\": PropDesc.mp((contract, value) => contract.OldContractEndDate = value),\r\n \"OldContractEndDate\": PropDesc.mp(null),\r\n //\"MoveOutDate\": PropDesc.mp((contract, value) => contract.MoveOutProcess.MoveOutDate = value),\r\n \"MoveOutDate\": PropDesc.mp(null),\r\n \"ContractReason\": PropDesc.mp((contract, value) => contract.ContractReason = parseInt(value)),\r\n \"districtHeatContractPermission\": PropDesc.mp((contract, value) => contract.DistrictHeatContractPermission = parseInt(value) != 0),\r\n \"isConnected\": PropDesc.mp((contract, value) => {\r\n let v = parseInt(value) != 0; // Same than in new contract hub.\r\n contract.MeteringPoint.IsConnected = v;\r\n contract.IsConnected = v;\r\n }),\r\n \"isSafeToConnect\": PropDesc.mp((contract, value) => {\r\n let v = parseInt(value) != 0;\r\n contract.MeteringPoint.IsSafeToConnect = v;\r\n contract.IsSafeToConnect = v;\r\n }),\r\n //\"MPStaircase\": PropDesc.mp((contract, value) => contract.MeteringPoint.Address.Staircase = value),\r\n //\"MPHouseNumber\": PropDesc.mp((contract, value) => contract.MeteringPoint.Address.HouseNumber = value),\r\n //\"MPApartment\": PropDesc.mp((contract, value) => contract.MeteringPoint.Address.Apartment = value),\r\n \"GsrnCode\": PropDesc.mp((contract, value) => contract.MeteringPoint.GsrnCode = value),\r\n \"IsNetted\": PropDesc.mp(null),\r\n}\r\n\r\nconst contractValues = {\r\n // SetContractValue\r\n \"MoveOut\": PropDesc.contract((contract, value) => contract.MoveOutProcess = null),\r\n \"ProcessType\": PropDesc.contract((contract, value) => contract.ProcessType = parseInt(value)),\r\n \"SubProcessType\": PropDesc.contract((contract, value) => contract.SubProcessType = parseInt(value)),\r\n \"ContractTypes\": PropDesc.contract((contract, value) => contract.ContractTypes = parseInt(value)),\r\n \"ExistingContracts\": PropDesc.contract((contract, value) => contract.ExistingContracts = parseInt(value)),\r\n \"InvoicingGroup\": PropDesc.contract((contract, value) => contract.InvoicingGroup = parseInt(value)),\r\n \"invoicingCycleCodeVal\": PropDesc.contract((contract, value) => contract.InvoicingCycleCode = value),\r\n\r\n \"DueDate\": PropDesc.contract((contract, value) => contract.DueDate = parseInt(value)),\r\n \"PaymentMethod\": PropDesc.contract((contract, value) => contract.PaymentMethod = parseInt(value)),\r\n \"RefundInvoice\": PropDesc.contract((contract, value) => contract.RefundInvoice = value != null && value.length != 0),\r\n \"ExtraInformation\": PropDesc.contract((contract, value) => contract.ExtraInformation = value),\r\n \"InvoicingNetworkAddress\": PropDesc.contract((contract, value) => contract.InvoicingAddress.InvoicingNetworkAddress = value),\r\n \"InvoicingOperator\": PropDesc.contract((contract, value) => contract.InvoicingAddress.InvoicingOperator = value),\r\n \"InvoicingDeliverCode\": PropDesc.contract((contract, value) => contract.InvoicingAddress.InvoicingDeliverCode = value),\r\n \"InvoicingFinIbanAddress\": PropDesc.contract((contract, value) => contract.InvoicingAddress.InvoicingFinIbanAddress = value),\r\n \"InvoicingFinDeliverCode\": PropDesc.contract((contract, value) => contract.InvoicingAddress.InvoicingFinDeliverCode = value),\r\n \"InvoicingFinOvtCode\": PropDesc.contract((contract, value) => contract.InvoicingAddress.InvoicingFinOvtCode = value),\r\n \"InvoicingStreetCompany\": PropDesc.contract((contract, value) => contract.InvoicingAddress.Address.Street = value),\r\n \"InvoicingZipCompany\": PropDesc.contract((contract, value) => contract.InvoicingAddress.Address.Zip = value),\r\n \"InvoicingPlaceCompany\": PropDesc.contract((contract, value) => contract.InvoicingAddress.Address.Place = value),\r\n \"InvoicingContactPersonCompany\": PropDesc.contract((contract, value) => contract.InvoicingAddress.ContactPersonName = value),\r\n \"DeliveryEmail\": PropDesc.contract((contract, value) => contract.DeliveryEmail = value),\r\n \"ExternalProductId\": PropDesc.contract((contract, value) => contract.ExternalProductId = value),\r\n \"SupplierChangeStatus\": PropDesc.contract((contract, value) => contract.SupplierChangeStatus = parseInt(value)),\r\n \"acceptTerms\": PropDesc.contract((contract, value) => contract.AcceptTerms = value == \"1\"),\r\n \"EnableSendingNewContractConfirmation\": PropDesc.contract((contract, value) => contract.EnableSendingNewContractConfirmation = value == \"1\"),\r\n \"PropertyTrade\": PropDesc.contract((contract, value) => contract.PropertyTrade = value == \"1\" || value == \"true\"),\r\n \"CreditTransfers\": PropDesc.contract((contract, value) => contract.CreditTransfers = parseInt(value)),\r\n \"ConfirmationChannel\": PropDesc.contract((contract, value) => contract.ConfirmationChannel = parseInt(value)),\r\n \"Registers\": PropDesc.contract((contract, value) => contract.Registers = parseInt(value)),\r\n \"CreditAccount\": PropDesc.contract((contract, value) => contract.CreditAccount = value),\r\n \"AnnuityInvoicing\": PropDesc.contract((contract, value) => contract.AnnuityInvoicing = parseInt(value)),\r\n \"InvoicingMethod\": PropDesc.contract((contract, value) => {\r\n contract.InvoicingMethod == parseInt(value);\r\n contract.InvoicingMethodSelected = true\r\n }),\r\n \"Phase\": PropDesc.contract((contract, value) => contract.Phase = parseInt(value)),\r\n \"MaxPhase\": PropDesc.contract((contract, value) => contract.MaxPhase = parseInt(value)),\r\n \"LoadModel\": PropDesc.contract((contract, value) => contract.LoadModel = value),\r\n \"DiscountPercent\": PropDesc.contract((contract, value) => contract.DiscountPercent = parseInt(value)),\r\n \"MembershipCode\": PropDesc.contract((contract, value) => contract.MembershipCode = value),\r\n \"PropertyOwnerName\": PropDesc.contract((contract, value) => contract.PropertyOwnerName = value),\r\n \"PropertyOwnerContactInformation\": PropDesc.contract((contract, value) => contract.PropertyOwnerContactInformation = value),\r\n \"DHInvoicingName\": PropDesc.contract((contract, value) => contract.DHInvoicingName = value),\r\n \"DHInvoicingContactInformation\": PropDesc.contract((contract, value) => contract.DHInvoicingContactInformation = value),\r\n //\"StartDate\": PropDesc.contract((contract, value) => contract.StartDate = value),\r\n \"StartDate\": PropDesc.contract(null),\r\n //\"FixedTermEndDate\": PropDesc.contract((contract, value) => contract.FixedTermEndDate = value),\r\n \"FixedTermEndDate\": PropDesc.contract(null),\r\n \"MovingMPStreet\": PropDesc.contract((contract, value) => contract.OldMeteringPoint.Address.Street = value),\r\n \"MovingMPZip\": PropDesc.contract((contract, value) => contract.OldMeteringPoint.Address.Zip = value),\r\n \"MPMovingCode\": PropDesc.contract((contract, value) => contract.OldMeteringPoint.MeteringPointCode = value),\r\n //\"MovingDate\": PropDesc.contract((contract, value) => contract.OldContractEndDate = value),\r\n \"MovingDate\": PropDesc.contract(null),\r\n //\"OldFixedTermContractEndDateByUser\": PropDesc.contract((contract, value) => contract.OldFixedTermContractEndDateByUser = value), // TODO: Check this!\r\n \"OldFixedTermContractEndDateByUser\": PropDesc.contract(null), // TODO: Check this!\r\n \"NewCalculatedStartDate\": PropDesc.contract((contract, value) => { }), // TODO: Check this\r\n \"OldSalesCompany\": PropDesc.contract((contract, value) => contract.OldSalesCompany = value),\r\n \"ContractReason\": PropDesc.contract((contract, value) => contract.ContractReason = parseInt(value)),\r\n \"ConnectionFee\": PropDesc.contract((contract, value) => contract.ConnectionFee = value == \"\" ? 0 : parseFloat(value)),\r\n \"ContractSpecificBasicPrice\": PropDesc.contract((contract, value) => contract.ContractSpecificBasicPrice = value == \"\" ? null : parseFloat(value)),\r\n \"ContractSpecificEnergy1Price\": PropDesc.contract((contract, value) => contract.ContractSpecificEnergy1Price = value == \"\" ? null : parseFloat(value)),\r\n \"ContractSpecificEnergy2Price\": PropDesc.contract((contract, value) => contract.ContractSpecificEnergy2Price = value == \"\" ? null : parseFloat(value)),\r\n \"OldContractCode\": PropDesc.contract((contract, value) => contract.OldContractCode = value),\r\n \"OldContract\": PropDesc.contract((contract, value) => contract.OldContract = parseInt(value) != 0),\r\n \"ExtranetContract\": PropDesc.contract((contract, value) => contract.ExtranetContract = parseInt(value) != 0),\r\n \"connectionContractTransfers\": PropDesc.contract((contract, value) => contract.ConnectionContractTransfers = parseInt(value) != 0),\r\n \"ContinuationContract\": PropDesc.contract((contract, value) => contract.ContinuationContract = value),\r\n \"ProductChangeProcess\": PropDesc.contract((contract, value) => contract.ProductChangeProcess = value != null && (value == \"1\" || value.toLowerCase() == \"true\")),\r\n \"ConfirmationCOName\": PropDesc.contract((contract, value) => contract.ConfirmationAddress.COName = value),\r\n \"ConfirmationStreet\": PropDesc.contract((contract, value) => contract.ConfirmationAddress.Street = value),\r\n \"ConfirmationZip\": PropDesc.contract((contract, value) => contract.ConfirmationAddress.Zip = value), // TODO: Figure out post office\r\n \"MPTarificationId\": PropDesc.contract((contract, value) => contract.TarificationId = parseInt(value)),\r\n //\"ContractDate\": PropDesc.contract((contract, value) => contract.ContractDate = value), // TODO: check this\r\n \"ContractDate\": PropDesc.contract(null), // TODO: check this\r\n \"ContractOrigin\": PropDesc.contract((contract, value) => {\r\n if (value != null && value.length == 6) {\r\n contract.ContractOriginInfo.Origin = value.substr(0, 4);\r\n contract.ContractOriginInfo.Channel = value.substr(4);\r\n }\r\n }),\r\n \"ContractOriginInfo\": PropDesc.contract((contract, value) => {\r\n if (value != null && value.length == 4)\r\n contract.ContractOriginInfo.Origin = value\r\n }),\r\n \"ContractOriginChannel\": PropDesc.contract((contract, value) => {\r\n if (value != null && value.length == 2)\r\n contract.ContractOriginInfo.Channel = value\r\n }),\r\n \"InvoicingMethodSelected\": PropDesc.contract((contract, value) => contract.InvoicingMethodSelected = value != null && (value == \"1\" || value.toLowerCase() == \"true\")),\r\n \"PaperInvoiceAllowed\": PropDesc.contract((contract, value) => contract.PaperInvoiceAllowed = value != null && (value == \"1\" || value.toLowerCase() == \"true\")),\r\n // Already as basic value.\r\n // \"ExtraServiceOrder\": PropDesc.contract((contract, value) => contract.ExtraServiceOrder = parseInt(value))\r\n \"DocumentTemplateName\": PropDesc.contract((contract, value) => contract.DocumentTemplateName = value),\r\n \"MarketingPermissionEmailCustomer\": PropDesc.contract((contract, value) => contract.MarketingPermissionEmailCustomer = value != null && (value == \"1\" || value.toLowerCase() == \"true\")),\r\n \"DirectMarketingSelected\": PropDesc.contract((contract, value) => contract.DirectMarketingSelected = value != null && (value == \"1\" || value.toLowerCase() == \"true\")),\r\n \"ServiceProduct\": PropDesc.contract(null),\r\n \"IsEstateOwner\": PropDesc.contract((contract, value) => contract.IsEstateOwner = Boolean(value)),\r\n \"IsNetted\": PropDesc.contract(null),\r\n}\r\n\r\nconst customerValues = {\r\n // SetCustomerValue\r\n \"AddressValidFrom\": PropDesc.customer(null),\r\n \"ExistingCustomer\": PropDesc.customer(null),\r\n \"CustomerCode\": PropDesc.customer(null),\r\n \"SourceCompanyCode\": PropDesc.customer(null),\r\n \"FirstName\": PropDesc.customer(null),\r\n \"LastName\": PropDesc.customer(null),\r\n \"Pin\": PropDesc.customer(null),\r\n \"COName\": PropDesc.customer(null),\r\n \"Street\": PropDesc.customer(null),\r\n \"street-address_Street\": PropDesc.customer(null),\r\n \"StreetName\": PropDesc.customer(null),\r\n \"street-address_StreetName\": PropDesc.customer(null),\r\n \"street-address_StreetQualifier\": PropDesc.customer(null),\r\n \"street-address_StairCase\": PropDesc.customer(null),\r\n \"street-address_Apartment\": PropDesc.customer(null),\r\n \"Zip\": PropDesc.customer(null),\r\n \"street-address_PostalCode\": PropDesc.customer(null),\r\n \"Place\": PropDesc.customer(null),\r\n \"street-address_City\": PropDesc.customer(null),\r\n \"Country\": PropDesc.customer(null),\r\n \"street-address_Country\": PropDesc.customer(null),\r\n \"Email\": PropDesc.customer(null),\r\n \"Phone\": PropDesc.customer(null),\r\n \"SBonusCode\": PropDesc.customer(null),\r\n \"MarketingChannelSMS\": PropDesc.customer(null),\r\n \"MarketingChannelEmail\": PropDesc.customer(null),\r\n \"MarketingChannelElec\": PropDesc.customer(null),\r\n \"MarketingChannelSMSAndEmail\": PropDesc.customer(null),\r\n \"DirectMarketing\": PropDesc.customer(null),\r\n \"HasMarketingBan\": PropDesc.customer(null),\r\n \"HasMarketingBanPhoneFromContractProcess\": PropDesc.customer(null),\r\n \"HasMarketingBanEmailFromContractProcess\": PropDesc.customer(null),\r\n \"MarketingEmail\": PropDesc.customer(null),\r\n \"MarketingPhone\": PropDesc.customer(null),\r\n \"Staircase\": PropDesc.customer(null),\r\n \"HouseNumber\": PropDesc.customer(null),\r\n \"Apartment\": PropDesc.customer(null),\r\n \"EPaymentCode\": PropDesc.customer(null),\r\n \"EPaymentOperator\": PropDesc.customer(null),\r\n \"FirstName__contractpartner-1\": PropDesc.customer(null),\r\n \"LastName__contractpartner-1\": PropDesc.customer(null),\r\n \"Pin__contractpartner-1\": PropDesc.customer(null),\r\n \"Street__contractpartner-1\": PropDesc.customer(null),\r\n \"contractpartner1-street-address_Street\": PropDesc.customer(null),\r\n \"contractpartner1-street-address_StreetName\": PropDesc.customer(null),\r\n \"contractpartner1-street-address_StreetQualifier\": PropDesc.customer(null),\r\n \"contractpartner1-street-address_StairCase\": PropDesc.customer(null),\r\n \"contractpartner1-street-address_Apartment\": PropDesc.customer(null),\r\n \"Zip__contractpartner-1\": PropDesc.customer(null),\r\n \"contractpartner1-street-address_PostalCode\": PropDesc.customer(null),\r\n \"Email__contractpartner-1\": PropDesc.customer(null),\r\n \"Phone__contractpartner-1\": PropDesc.customer(null),\r\n \"FirstName__contractpartner-2\": PropDesc.customer(null),\r\n \"LastName__contractpartner-2\": PropDesc.customer(null),\r\n \"Pin__contractpartner-2\": PropDesc.customer(null),\r\n \"Street__contractpartner-2\": PropDesc.customer(null),\r\n \"contractpartner2-street-address_Street\": PropDesc.customer(null),\r\n \"contractpartner2-street-address_StreetName\": PropDesc.customer(null),\r\n \"contractpartner2-street-address_StreetQualifier\": PropDesc.customer(null),\r\n \"contractpartner2-street-address_StairCase\": PropDesc.customer(null),\r\n \"contractpartner2-street-address_Apartment\": PropDesc.customer(null),\r\n \"Zip__contractpartner-2\": PropDesc.customer(null),\r\n \"contractpartner2-street-address_PostalCode\": PropDesc.customer(null),\r\n \"Email__contractpartner-2\": PropDesc.customer(null),\r\n \"Phone__contractpartner-2\": PropDesc.customer(null),\r\n \"FirstName__contractpartner-3\": PropDesc.customer(null),\r\n \"LastName__contractpartner-3\": PropDesc.customer(null),\r\n \"Pin__contractpartner-3\": PropDesc.customer(null),\r\n \"Street__contractpartner-3\": PropDesc.customer(null),\r\n \"contractpartner3-street-address_Street\": PropDesc.customer(null),\r\n \"contractpartner3-street-address_StreetName\": PropDesc.customer(null),\r\n \"contractpartner3-street-address_StreetQualifier\": PropDesc.customer(null),\r\n \"contractpartner3-street-address_StairCase\": PropDesc.customer(null),\r\n \"contractpartner3-street-address_Apartment\": PropDesc.customer(null),\r\n \"Zip__contractpartner-3\": PropDesc.customer(null),\r\n \"contractpartner3-street-address_PostalCode\": PropDesc.customer(null),\r\n \"Email__contractpartner-3\": PropDesc.customer(null),\r\n \"Phone__contractpartner-3\": PropDesc.customer(null),\r\n \"FirstName__contractpartner-4\": PropDesc.customer(null),\r\n \"LastName__contractpartner-4\": PropDesc.customer(null),\r\n \"Pin__contractpartner-4\": PropDesc.customer(null),\r\n \"Street__contractpartner-4\": PropDesc.customer(null),\r\n \"contractpartner4-street-address_Street\": PropDesc.customer(null),\r\n \"contractpartner4-street-address_StreetName\": PropDesc.customer(null),\r\n \"contractpartner4-street-address_StreetQualifier\": PropDesc.customer(null),\r\n \"contractpartner4-street-address_StairCase\": PropDesc.customer(null),\r\n \"contractpartner4-street-address_Apartment\": PropDesc.customer(null),\r\n \"Zip__contractpartner-4\": PropDesc.customer(null),\r\n \"contractpartner4-street-address_PostalCode\": PropDesc.customer(null),\r\n \"Email__contractpartner-4\": PropDesc.customer(null),\r\n \"Phone__contractpartner-4\": PropDesc.customer(null),\r\n \"FirstName__contractpartner-5\": PropDesc.customer(null),\r\n \"LastName__contractpartner-5\": PropDesc.customer(null),\r\n \"Pin__contractpartner-5\": PropDesc.customer(null),\r\n \"Street__contractpartner-5\": PropDesc.customer(null),\r\n \"contractpartner5-street-address_Street\": PropDesc.customer(null),\r\n \"contractpartner5-street-address_StreetName\": PropDesc.customer(null),\r\n \"contractpartner5-street-address_StreetQualifier\": PropDesc.customer(null),\r\n \"contractpartner5-street-address_StairCase\": PropDesc.customer(null),\r\n \"contractpartner5-street-address_Apartment\": PropDesc.customer(null),\r\n \"Zip__contractpartner-5\": PropDesc.customer(null),\r\n \"contractpartner5-street-address_PostalCode\": PropDesc.customer(null),\r\n \"Email__contractpartner-5\": PropDesc.customer(null),\r\n \"Phone__contractpartner-5\": PropDesc.customer(null),\r\n \"CompanyName\": PropDesc.customer(null),\r\n \"BusinessId\": PropDesc.customer(null),\r\n \"CompanyCOName\": PropDesc.customer(null),\r\n \"CompanyStreet\": PropDesc.customer(null),\r\n \"companystreet-address_Street\": PropDesc.customer(null),\r\n \"CompanyStreetName\": PropDesc.customer(null),\r\n \"companystreet-address_StreetName\": PropDesc.customer(null),\r\n \"CompanyZip\": PropDesc.customer(null),\r\n \"companystreet-address_PostalCode\": PropDesc.customer(null),\r\n \"CompanyPlace\": PropDesc.customer(null),\r\n \"companystreet-address_City\": PropDesc.customer(null),\r\n \"CompanyCountry\": PropDesc.customer(null),\r\n \"companystreet-address_Country\": PropDesc.customer(null),\r\n \"companystreet-address_StreetQualifier\": PropDesc.customer(null),\r\n \"companystreet-address_StairCase\": PropDesc.customer(null),\r\n \"companystreet-address_Apartment\": PropDesc.customer(null),\r\n \"CompanyEmail\": PropDesc.customer(null),\r\n \"CompanyPhone\": PropDesc.customer(null),\r\n \"CompanyMarketingChannelSMS\": PropDesc.customer(null),\r\n \"CompanyMarketingChannelEmail\": PropDesc.customer(null),\r\n \"CompanyHasMarketingBanPhoneFromContractProcess\": PropDesc.customer(null),\r\n \"CompanyHasMarketingBanEmailFromContractProcess\": PropDesc.customer(null),\r\n \"CompanyMarketingEmail\": PropDesc.customer(null),\r\n \"CompanyMarketingPhone\": PropDesc.customer(null),\r\n \"CompanyStaircase\": PropDesc.customer(null),\r\n \"CompanyHouseNumber\": PropDesc.customer(null),\r\n \"CompanyApartment\": PropDesc.customer(null),\r\n \"CompanyEPaymentCode\": PropDesc.customer(null),\r\n \"CompanyEPaymentOperator\": PropDesc.customer(null),\r\n \"FirstName__contactperson-1\": PropDesc.customer(null),\r\n \"LastName__contactperson-1\": PropDesc.customer(null),\r\n \"Pin__contactperson-1\": PropDesc.customer(null),\r\n \"Street__contactperson-1\": PropDesc.customer(null),\r\n \"Zip__contactperson-1\": PropDesc.customer(null),\r\n \"Email__contactperson-1\": PropDesc.customer(null),\r\n \"Phone__contactperson-1\": PropDesc.customer(null),\r\n \"FirstName__contactperson-2\": PropDesc.customer(null),\r\n \"LastName__contactperson-2\": PropDesc.customer(null),\r\n \"Pin__contactperson-2\": PropDesc.customer(null),\r\n \"Street__contactperson-2\": PropDesc.customer(null),\r\n \"Zip__contactperson-2\": PropDesc.customer(null),\r\n \"Email__contactperson-2\": PropDesc.customer(null),\r\n \"Phone__contactperson-2\": PropDesc.customer(null),\r\n \"IsInvoicingAddressInUse\": PropDesc.customer(null),\r\n \"IsCustomerAddressInUse\": PropDesc.customer(null),\r\n \"InvoicingContactPerson\": PropDesc.customer(null),\r\n \"InvoicingContactPersonEmail\": PropDesc.customer(null),\r\n \"InvoicingStreet\": PropDesc.customer(null),\r\n \"inv-address_Street\": PropDesc.customer(null),\r\n \"MPStreetName\": PropDesc.customer(null),\r\n \"inv-address_StreetName\": PropDesc.customer(null),\r\n \"inv-address_StreetQualifier\": PropDesc.customer(null),\r\n \"inv-address_StairCase\": PropDesc.customer(null),\r\n \"inv-address_Apartment\": PropDesc.customer(null),\r\n \"InvoicingZip\": PropDesc.customer(null),\r\n \"inv-address_PostalCode\": PropDesc.customer(null),\r\n \"InvoicingPlace\": PropDesc.customer(null),\r\n \"inv-address_City\": PropDesc.customer(null),\r\n \"InvoicingCountry\": PropDesc.customer(null),\r\n \"InvoicingCOName\": PropDesc.customer(null),\r\n \"OtherAddressSelected\": PropDesc.customer(null),\r\n \"ServiceChannelCode\": PropDesc.customer(null),\r\n \"CompanyServiceChannelCode\": PropDesc.customer(null),\r\n \"language-selection\": PropDesc.customer(null),\r\n \"companylanguage-selection\": PropDesc.customer(null),\r\n \"authenticationAccepted\": PropDesc.customer(null)\r\n}\r\n\r\nconst server = $.connection.newContractHub.server;\r\n\r\nclass ServerApi {\r\n static setMeteringPointValue(key: string, value: string, locale?: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n console.log(\"SetMeteringPointValue: \" + key + \": \" + value);\r\n try {\r\n server.setMeteringPointValue(key, value, locale).done((msg: string) => {\r\n if (msg && msg.indexOf(\"Error:\") == 0) {\r\n reject(msg);\r\n return;\r\n }\r\n resolve(msg);\r\n }).fail(() => reject(\"Error calling NewContractHub!\"));\r\n }\r\n catch (ex) {\r\n console.log(\"error: \" + ex);\r\n NewContractEvents.notifySessionExpired();\r\n }\r\n });\r\n }\r\n static setValue(key: string, value: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n console.log(\"SetValue: \" + key + \": \" + value);\r\n try {\r\n server.setValue(key, value).done((msg: string) => {\r\n if (msg && msg.indexOf(\"Error:\") == 0) {\r\n reject(msg);\r\n return;\r\n }\r\n resolve(msg);\r\n }).fail(() => reject(\"Error calling NewContractHub!\"));\r\n }\r\n catch (ex) {\r\n console.log(\"error: \" + ex);\r\n NewContractEvents.notifySessionExpired();\r\n }\r\n });\r\n }\r\n static setContractValue(key: string, value: string, locale?: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n console.log(\"SetContractValue: \" + key + \": \" + value);\r\n try {\r\n server.setContractValue(key, value, locale).done((msg: string) => {\r\n if (msg && msg.indexOf(\"Error:\") == 0) {\r\n reject(msg);\r\n return;\r\n }\r\n resolve(msg);\r\n }).fail(() => reject(\"Error calling NewContractHub!\"));\r\n }\r\n catch (ex) {\r\n console.log(\"error: \" + ex);\r\n NewContractEvents.notifySessionExpired();\r\n }\r\n });\r\n }\r\n static setCustomerValue(key: string, value: string, locale?: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n console.log(\"SetCustomerValue: \" + key + \": \" + value);\r\n try {\r\n server.setCustomerValue(key, value, locale).done((msg: string) => {\r\n if (msg && msg.indexOf(\"Error:\") == 0) {\r\n reject(msg);\r\n return;\r\n }\r\n resolve(msg);\r\n }).fail(() => reject(\"Error calling NewContractHub!\"));\r\n }\r\n catch (ex) {\r\n console.log(\"error: \" + ex);\r\n NewContractEvents.notifySessionExpired();\r\n }\r\n });\r\n }\r\n static getContractData(): Promise {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n server.getContractData().done((contract: IContractViewModel) => {\r\n resolve(contract);\r\n }).fail(() => {\r\n reject(\"Failed to get contract data!\");\r\n });\r\n }\r\n catch (ex) {\r\n console.log(\"error: \" + ex);\r\n NewContractEvents.notifySessionExpired();\r\n }\r\n });\r\n }\r\n\r\n static setProduct(productId: number, priceListId: number): Promise {\r\n return new Promise((resolve, reject) => {\r\n let val = \"p-\" + productId + \"-\" + priceListId;\r\n try {\r\n server.setProduct(val).done((msg: string) => {\r\n if (msg && msg.indexOf(\"Error:\") == 0) {\r\n reject(msg);\r\n return;\r\n }\r\n console.log(msg);\r\n resolve(msg);\r\n }).fail(() => {\r\n reject(\"Failed to set product!\");\r\n });\r\n }\r\n catch (ex) {\r\n console.log(\"error: \" + ex);\r\n NewContractEvents.notifySessionExpired();\r\n }\r\n });\r\n }\r\n\r\n static getSelectedProduct(): Promise {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n server.getSelectedProduct().done(function (productViewModel: IProductViewModel) {\r\n resolve(productViewModel);\r\n }).fail(() => {\r\n reject(\"Failed to get selected product!\");\r\n });\r\n }\r\n catch (ex)\r\n {\r\n console.log(\"error: \" + ex);\r\n NewContractEvents.notifySessionExpired();\r\n }\r\n });\r\n }\r\n static setContractPartners(contractPartners: IContactPersonViewModel[]): Promise {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n server.setContractPartners(contractPartners).done(() => {\r\n resolve();\r\n }).fail(() => reject());\r\n }\r\n catch (ex)\r\n {\r\n console.log(\"error: \" + ex);\r\n NewContractEvents.notifySessionExpired();\r\n }\r\n });\r\n }\r\n static addMeteringPointToMoveOut(mp: string, utility: number, moveoutReason: MoveOutReasonEnum, moveoutDate: string): Promise {\r\n let self = this;\r\n return new Promise((resolve, reject) => {\r\n console.log(`server addMeteringPointToMoveOut - mp: ${mp}, utility: ${utility}, moveoutReason: ${moveoutReason}, moveoutDate: ${moveoutDate}`);\r\n try {\r\n server.addMeteringPointToMoveOutProcess(mp, utility, moveoutReason, moveoutDate)\r\n .done((msg: string) => {\r\n console.log(msg);\r\n if (msg && msg.indexOf(\"Error:\") == 0) {\r\n reject(msg);\r\n return;\r\n }\r\n resolve(msg);\r\n }).fail(() => reject(\"Error calling NewContractHub!\"));\r\n }\r\n catch (ex)\r\n {\r\n console.log(\"error: \" + ex);\r\n NewContractEvents.notifySessionExpired();\r\n }\r\n });\r\n }\r\n static removeMeteringPointFromMoveOut(mp: string, utility: number): Promise {\r\n return new Promise((resolve, reject) => {\r\n console.log(\"server removeMeteringPointFromMoveOut: \" + mp + \" \" + utility);\r\n try {\r\n server.removeMeteringPointFromMoveOutProcess(mp, utility).done((msg: string) => {\r\n console.log(msg);\r\n if (msg && msg.indexOf(\"Error:\") == 0) {\r\n reject(msg);\r\n return;\r\n }\r\n resolve(msg);\r\n }).fail(() => reject(\"Error calling NewContractHub!\"));\r\n }\r\n catch (ex) {\r\n console.log(\"error: \" + ex);\r\n NewContractEvents.notifySessionExpired();\r\n }\r\n });\r\n }\r\n static setMoveOutDate(movingDate: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n console.log(\"server setMoveOutDate: \" + movingDate);\r\n try {\r\n server.setMeteringPointValue(\"MoveOutDate\", movingDate).done((msg: string) => {\r\n console.log(msg);\r\n if (msg && msg.indexOf(\"Error:\") == 0) {\r\n reject(msg);\r\n return;\r\n }\r\n resolve(msg);\r\n }).fail(() => reject(\"Error calling NewContractHub!\"));\r\n }\r\n catch (ex) {\r\n console.log(\"error: \" + ex);\r\n NewContractEvents.notifySessionExpired();\r\n }\r\n });\r\n }\r\n static hasCustomerValidPin(pin: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n console.log(\"server hasCustomerValidPin: \" + pin);\r\n try {\r\n server.hasCustomerValidPin(\"pin\", pin).done((msg: string) => {\r\n console.log(msg);\r\n if (msg && msg.indexOf(\"Error:\") == 0) {\r\n reject(msg);\r\n return;\r\n }\r\n\r\n resolve(msg);\r\n }).fail(() => reject(\"Error calling NewContractHub!\"));\r\n }\r\n catch (ex) {\r\n console.log(\"error: \" + ex);\r\n NewContractEvents.notifySessionExpired();\r\n }\r\n });\r\n }\r\n static isCustomerInCIS(pin: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n console.log(\"server isCustomerInCIS\");\r\n try {\r\n server.isCustomerInCIS(pin).done((retVal: boolean) => {\r\n console.log(\"result: \" + retVal);\r\n resolve(retVal);\r\n }).fail(() => reject(\"Error calling NewContractHub!\"));\r\n }\r\n catch (ex) {\r\n console.log(\"error: \" + ex);\r\n NewContractEvents.notifySessionExpired();\r\n }\r\n });\r\n }\r\n\r\n static getSelectedServiceProducts(): Promise {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n server.getSelectedServiceProducts().done((retVal: ISelectedServiceProductViewModel[]) => {\r\n console.log(\"server getSelectedServiceProducts done, length: \" + retVal.length);\r\n resolve(retVal);\r\n }).fail(() => reject(\"Error calling NewContractHub!\"));\r\n }\r\n catch (ex) {\r\n console.log(\"error: \" + ex);\r\n NewContractEvents.notifySessionExpired();\r\n }\r\n });\r\n }\r\n\r\n static checkMeteringPointAndContract(streetAddress: string, zipCode: string, externalMP: boolean, customerType: CustomerTypeEnum, pin: string) {\r\n return new Promise((resolve, reject) => {\r\n console.log(\"CheckMeteringPointAndContract: \" + streetAddress + \", \" + zipCode);\r\n try {\r\n server.checkMeteringPointAndContract(streetAddress, zipCode, externalMP, customerType, pin).done(retVal => {\r\n resolve(retVal);\r\n }).fail((x) => reject(\"Error calling NewContractHub!: \" + x));\r\n }\r\n catch (ex) {\r\n console.log(\"error: \" + ex);\r\n NewContractEvents.notifySessionExpired();\r\n }\r\n });\r\n }\r\n\r\n static checkMeteringPointAndContractV2(streetAddress: string, zipCode: string, externalMP: boolean, customerType: CustomerTypeEnum, pin: string, gsrn: string) {\r\n return new Promise((resolve, reject) => {\r\n console.log(`CheckMeteringPointAndContract: streetAddress: ${streetAddress}, zipCode: ${zipCode}, gsrn: ${gsrn}`);\r\n try {\r\n server.checkMeteringPointAndContract(streetAddress, zipCode, externalMP, customerType, pin, gsrn)\r\n .done(retVal => {\r\n resolve(retVal);\r\n console.debug(\"CheckMeteringPointAndContract returned: \", retVal);\r\n })\r\n .fail((x) => reject(\"Error calling NewContractHub!: \" + x));\r\n }\r\n catch (ex) {\r\n console.log(\"error: \" + ex);\r\n NewContractEvents.notifySessionExpired();\r\n }\r\n });\r\n }\r\n static getHolidays(years: number): Promise {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n server.getHolidays(years).done(res => {\r\n resolve(res.Data);\r\n }).fail(ex => {\r\n reject(\"error getting holidays from hub: \" + ex);\r\n });\r\n }\r\n catch (ex) {\r\n console.log(\"error: \" + ex);\r\n NewContractEvents.notifySessionExpired();\r\n }\r\n }); \r\n }\r\n}\r\n\r\nfunction getValueSetter(type: PropertyTypeEnum): Function {\r\n switch (type) {\r\n case PropertyTypeEnum.BasicValue:\r\n return ServerApi.setValue;\r\n case PropertyTypeEnum.ContractValue:\r\n return ServerApi.setContractValue;\r\n case PropertyTypeEnum.CustomerValue:\r\n return ServerApi.setCustomerValue;\r\n case PropertyTypeEnum.MeteringPointValue:\r\n return ServerApi.setMeteringPointValue;\r\n }\r\n return null;\r\n}\r\n\r\nfunction findPropertyDescriptor(key: string): PropDesc {\r\n let d = basicValues[key];\r\n if (d == null)\r\n d = contractValues[key];\r\n if (d == null)\r\n d = meteringPointValues[key];\r\n if (d == null)\r\n d = customerValues[key];\r\n return d;\r\n}\r\n\r\nconst store: StoreOptions = {\r\n state: state,\r\n getters: {\r\n // Returns company name for company customer and for consumer customer.\r\n customerName: (state: INewContractState) => {\r\n switch (state.contract.CustomerType) {\r\n case CustomerTypeEnum.COMPANY: return state.contract.Company.CompanyName;\r\n case CustomerTypeEnum.CONSUMER: {\r\n let str = \"\";\r\n [state.contract.Customer.FirstName, state.contract.Customer.LastName].forEach((x) => {\r\n if (x) {\r\n if (str)\r\n str += \" \";\r\n str += x;\r\n }\r\n })\r\n return str;\r\n }\r\n default:\r\n return null;\r\n }\r\n },\r\n customerIdentifier: (state: INewContractState) => {\r\n switch (state.contract.CustomerType) {\r\n case CustomerTypeEnum.COMPANY: return state.contract.Company.BusinessId;\r\n case CustomerTypeEnum.CONSUMER: return state.contract.Customer.Pin;\r\n default:\r\n return null;\r\n }\r\n },\r\n customerPhone: (state: INewContractState) => {\r\n switch (state.contract.CustomerType) {\r\n case CustomerTypeEnum.COMPANY: return state.contract.Company.Phone;\r\n case CustomerTypeEnum.CONSUMER: return state.contract.Customer.Phone;\r\n default:\r\n return null;\r\n }\r\n },\r\n customerEmail: (state: INewContractState) => {\r\n switch (state.contract.CustomerType) {\r\n case CustomerTypeEnum.COMPANY: return state.contract.Company.Email;\r\n case CustomerTypeEnum.CONSUMER: return state.contract.Customer.Email;\r\n default:\r\n return null;\r\n }\r\n },\r\n customerAddress: (state: INewContractState) => {\r\n switch (state.contract.CustomerType) {\r\n case CustomerTypeEnum.COMPANY: return state.contract.Company.Address;\r\n case CustomerTypeEnum.CONSUMER: return state.contract.Customer.Address;\r\n default:\r\n return null;\r\n }\r\n },\r\n customerCulture: (state: INewContractState): string => {\r\n let culture = null;\r\n switch (state.contract.CustomerType) {\r\n case CustomerTypeEnum.COMPANY:\r\n culture = state.contract.Company.CultureCode;\r\n break;\r\n case CustomerTypeEnum.CONSUMER:\r\n culture = state.contract.Customer.CultureCode;\r\n break;\r\n }\r\n if (culture == null || culture == \"\")\r\n culture = currentLocale;\r\n\r\n return CommonFormatUtils.localeToCultureCode(culture)\r\n },\r\n loadingNewPhase(state: INewContractState, loadingNewPhase: boolean) {\r\n return state.loadingNewPhase;\r\n },\r\n strongContractAuthentication: (state: INewContractState) => {\r\n return state.contract.StrongContractAuthentication;\r\n },\r\n },\r\n\r\n mutations: {\r\n setNewContractInitialized(state: INewContractState) {\r\n state.newContractInitialized = true;\r\n },\r\n setAutoClearSelectedProduct(state: INewContractState, autoClear: boolean) {\r\n state.autoClearSelectedProduct = autoClear;\r\n },\r\n updateContract(state: INewContractState, contract: IContractViewModel) {\r\n state.contract = contract;\r\n },\r\n updateProducts(state: INewContractState, payload: { products: IProductViewModel[] }) {\r\n state.products = payload.products;\r\n },\r\n changeValue(state: INewContractState, payload: { propertyDescriptor: PropDesc, value: string }) {\r\n payload.propertyDescriptor.changeValue(state.contract, payload.value);\r\n },\r\n consumptionUpdated(state: INewContractState, payload: { energy1: number, energy2: number }) {\r\n state.contract.Energy1 = payload.energy1;\r\n state.contract.Energy2 = payload.energy2;\r\n },\r\n setSelectedProduct(state: INewContractState, payload: { product: IProductViewModel, priceList: IPriceListViewModel }) {\r\n state.selectedProduct = payload.product;\r\n state.selectedPriceList = payload.priceList;\r\n state.contract.ProductId = payload.product != null ? payload.product.Id : 0;\r\n state.contract.PriceListId = payload.priceList != null ? payload.priceList.Id : 0;\r\n },\r\n setSelectedServiceProducts(state: INewContractState, payload: { selectedServiceProducts: string[] }) {\r\n state.selectedServiceProducts = payload.selectedServiceProducts;\r\n },\r\n addContractPartner(state: INewContractState, contractPartner: IContactPersonViewModel) {\r\n switch (state.contract.CustomerType) {\r\n case CustomerTypeEnum.CONSUMER:\r\n state.contract.Customer.ContractPartners.push(contractPartner);\r\n }\r\n },\r\n setPreSelectedProductPriceListTarification(state: INewContractState, preSelected: boolean) {\r\n state.preSelectedProductPriceListTarification = preSelected;\r\n },\r\n isAuthenticated(state: INewContractState, isAuthenticated: boolean) {\r\n state.isAuthenticated = isAuthenticated;\r\n },\r\n setHolidays(state: INewContractState, holidays: string[]) {\r\n state.holidays = holidays;\r\n },\r\n setloadingNewPhase(state: INewContractState, loadingNewPhase: boolean) {\r\n state.loadingNewPhase = loadingNewPhase;\r\n }\r\n },\r\n actions: {\r\n refreshContract(ctx) {\r\n return ServerApi.getContractData().then((contract: IContractViewModel) => {\r\n ctx.commit(\"updateContract\", contract);\r\n });\r\n },\r\n changeValue(ctx, payload: { key: string, value: string; type: PropertyTypeEnum }) {\r\n return ctx.dispatch(\"changeValues\", [payload]);\r\n },\r\n // Call change value for given key-value pairs, and then refresh contract from the server.\r\n changeValues(ctx, payloads: { key: string, value: string, locale?: string, type?: PropertyTypeEnum }[]) {\r\n console.log(\"NewContractStore.actions.changeValues\");\r\n return new Promise((resolve, reject) => {\r\n let deferredUpdates: Promise[] = [];\r\n let errorMessages: string[] = [];\r\n // Track if server data has been updated.\r\n let dirty = false;\r\n payloads.forEach((payload) => {\r\n let type = payload.type;\r\n\r\n let propDesc = findPropertyDescriptor(payload.key);\r\n if (propDesc == null && type == null) {\r\n errorMessages.push(\"Could not find property descriptor for [\" + payload.key + \"]\");\r\n return;\r\n }\r\n\r\n if (type == null)\r\n type = propDesc.type;\r\n\r\n // Get the correct setter method based on type (i.e. whether we should call SetValue, SetContractValue etc.).\r\n let func = getValueSetter(type);\r\n if (func != null) {\r\n // Call the server and store the Promise it returns.\r\n let setterPromise = func(payload.key, payload.value, payload.locale)\r\n .then((msg: string) => {\r\n console.log(msg);\r\n // At least one server call managed to update data successfully.\r\n dirty = true;\r\n // TODO: Instead of refreshing the contract from the server, it could be possible to update client side model here.\r\n // ctx.commit(\"changeValue\", { propertyDescriptor: propDesc, value: payload.value });\r\n })\r\n // If the returned promise is rejected, let's catch that rejection here and store possible error message.\r\n .catch((error: string) => {\r\n errorMessages.push(error);\r\n });\r\n deferredUpdates.push(setterPromise);\r\n }\r\n else {\r\n errorMessages.push(\"Unknown property type!\");\r\n }\r\n });\r\n\r\n Promise.all(deferredUpdates)\r\n .then(() => {\r\n if (dirty) {\r\n ctx.dispatch(\"refreshContract\").catch((errorMsg: string) => {\r\n errorMessages.push(\"Failed to refresh contract from the server after value change.\");\r\n }).then(() => {\r\n if (errorMessages.length != 0)\r\n reject(errorMessages.join(\"\\n\"))\r\n else\r\n resolve();\r\n });\r\n }\r\n else {\r\n if (errorMessages.length != 0)\r\n reject(errorMessages.join(\"\\n\"))\r\n else\r\n resolve();\r\n }\r\n })\r\n .catch((msg) => {\r\n reject(\"Unexptected error!\");\r\n });\r\n });\r\n },\r\n updateProducts(ctx, payload: { products: IProductViewModel[] }) {\r\n let state: INewContractState = ctx.state;\r\n\r\n if (state.autoClearSelectedProduct) {\r\n // Clear selected product if it does not exist in refreshed products.\r\n if (state.contract.ProductId != 0 && state.contract.PriceListId != 0) {\r\n let product = find(payload.products, x => x.Id == state.contract.ProductId);\r\n let priceList = product != null && product.PriceLists != null\r\n ? find(product.PriceLists, x => x.Id == state.contract.PriceListId)\r\n : null;\r\n\r\n if (product == null || priceList == null) {\r\n // Currently selected product not found from updated products, let's clear the selection.\r\n ctx.dispatch(\"selectProduct\", { product: null, priceList: null })\r\n .then(() => {\r\n NewContractEvents.notifyProductSelectionCleared();\r\n });\r\n }\r\n else {\r\n ctx.commit(\"setSelectedProduct\", { product: product, priceList: priceList });\r\n }\r\n }\r\n }\r\n ctx.commit(\"updateProducts\", { products: payload.products });\r\n },\r\n selectProductById(ctx, payload: { productId: number, priceListId: number }) {\r\n console.log(\"Store: selectProductById\");\r\n return ServerApi.setProduct(payload.productId, payload.priceListId)\r\n .then(ServerApi.getSelectedProduct)\r\n .then((productViewModel: IProductViewModel) => {\r\n let product = productViewModel;\r\n let priceList = productViewModel.PriceLists[0];\r\n ctx.commit(\"setSelectedProduct\", { product: product, priceList: priceList });\r\n });\r\n },\r\n selectProductByIdAndTarification(ctx, payload: { productId: number, priceListId: number, tarificationId: string }) {\r\n console.log(\"Store: selectProductByIdAndTarification\");\r\n return ServerApi.setValue(\"tarification\", payload.tarificationId)\r\n .then(() => {\r\n ServerApi.setProduct(payload.productId, payload.priceListId)\r\n .then(() => {\r\n ServerApi.getSelectedProduct()\r\n .then((productViewModel: IProductViewModel) => {\r\n let product = productViewModel;\r\n let priceList = productViewModel.PriceLists[0];\r\n ctx.commit(\"setSelectedProduct\", { product: product, priceList: priceList });\r\n })\r\n })\r\n })\r\n },\r\n selectProduct(ctx, payload: { product: IProductViewModel, priceList: IPriceListViewModel }) {\r\n let productId = payload.product != null ? payload.product.Id : 0;\r\n let priceListId = payload.priceList != null ? payload.priceList.Id : 0;\r\n return ServerApi.setProduct(productId, priceListId)\r\n .then(() => {\r\n ctx.commit(\"setSelectedProduct\", payload);\r\n });\r\n },\r\n setContractPartners(ctx, contractPartners: IContactPersonViewModel[]) {\r\n return ServerApi.setContractPartners(contractPartners)\r\n .then(() => {\r\n ctx.dispatch(\"refreshContract\");\r\n });\r\n },\r\n setMoveOutDate(ctx, payload: { moveOutDate: string }) {\r\n console.log(\"Store: setMoveOutDate: \" + payload.moveOutDate);\r\n return ServerApi.setMoveOutDate(payload.moveOutDate)\r\n .then(() => {\r\n ctx.dispatch(\"refreshContract\");\r\n //ctx.state.contract.MoveOutProcess.MoveOutDate = payload.moveOutDate;\r\n });\r\n },\r\n updateUserName(ctx, payload: { userName: string }) {\r\n console.log(\"updateUserName: \" + payload.userName);\r\n ctx.state.moveOutUser = payload.userName;\r\n },\r\n isPinSetInDb(ctx, payload: { pinSet: string}) {\r\n console.log(\"isPinSetInDb: \" +payload.pinSet);\r\n },\r\n /*showActiveContracts(ctx, payload: { contracts: IContractViewModel[] }) {\r\n console.log(\"showActiveContracts: \" + payload.contracts);\r\n for (let i = 0; i < payload.contracts.length; i++) {\r\n console.log(payload.contracts[i]);\r\n }\r\n ctx.state.moveOutContracts = payload.contracts;\r\n },*/\r\n addMeteringPointToMoveOut(ctx, payload: { mp: string, utility: number, moveoutReason: MoveOutReasonEnum, moveoutDate: string }) {\r\n console.log(`addMeteringPointToMoveOut: ${payload.mp} ${payload.utility}`);\r\n return ServerApi.addMeteringPointToMoveOut(payload.mp, payload.utility, payload.moveoutReason, payload.moveoutDate)\r\n .then(() => {\r\n ctx.dispatch(\"refreshContract\");\r\n });\r\n },\r\n removeMeteringPointFromMoveOut(ctx, payload: { mp: string, utility: number }) {\r\n console.log(\"removeMeteringPointFromMoveOut: \" + payload.mp + \" \" + payload.utility);\r\n return ServerApi.removeMeteringPointFromMoveOut(payload.mp, payload.utility)\r\n .then(() => {\r\n ctx.dispatch(\"refreshContract\");\r\n });\r\n },\r\n checkMeteringPointAndContract(ctx) {\r\n if (!ctx.state.contract.MeteringPoint.Address.Street || !ctx.state.contract.MeteringPoint.Address.Zip) {\r\n var mp = ctx.state.contract.MeteringPoint;\r\n if (mp.GsrnCode) {\r\n ctx.dispatch(\"changeValue\", { key: \"GsrnCode\", value: null });\r\n } \r\n }\r\n if (ctx.state.contract.MeteringPoint.Address.Street && ctx.state.contract.MeteringPoint.Address.Zip) {\r\n var mp = ctx.state.contract.MeteringPoint;\r\n var streetAddress = mp.Address.Street;\r\n var zipCode = mp.Address.Zip;\r\n var isExternalMP = true;\r\n var customerType = ctx.state.contract.CustomerType;\r\n var identifier = customerType == CustomerTypeEnum.COMPANY\r\n ? ctx.state.contract.Company.BusinessId\r\n : ctx.state.contract.Customer.Pin;\r\n\r\n return new Promise((resolve, reject) => {\r\n ServerApi.checkMeteringPointAndContract(streetAddress, zipCode, isExternalMP, customerType, identifier).then((retVal: any) => {\r\n // Data might have changed, let's refresh contract on the client side.\r\n ctx.dispatch(\"refreshContract\").then(() => {\r\n resolve();\r\n });\r\n });\r\n });\r\n }\r\n return Promise.resolve();\r\n },\r\n checkMeteringPointAndContractV2(ctx) {\r\n var mp = ctx.state.contract.MeteringPoint;\r\n var isExternalMP = true;\r\n var customerType = ctx.state.contract.CustomerType;\r\n var identifier = customerType == CustomerTypeEnum.COMPANY\r\n ? ctx.state.contract.Company.BusinessId\r\n : ctx.state.contract.Customer.Pin;\r\n var streetAddress = null;\r\n var zipCode = null;\r\n var gsrn = null;\r\n\r\n mp.IsNetted = null;\r\n mp.EnergyCommunityName = null;\r\n mp.EnergyCommunityCode = null;\r\n mp.RelatedMeteringPoint = null;\r\n \r\n if (mp.GsrnCode) {\r\n gsrn = mp.GsrnCode;\r\n }\r\n else if (mp.Address.Street || mp.Address.Zip) {\r\n streetAddress = mp.Address.Street;\r\n zipCode = mp.Address.Zip;\r\n }\r\n if (streetAddress || zipCode || gsrn) {\r\n return new Promise((resolve, reject) => {\r\n ServerApi.checkMeteringPointAndContractV2(streetAddress, zipCode, isExternalMP, customerType, identifier, gsrn).then((retVal: any) => {\r\n // Data might have changed, let's refresh contract on the client side.\r\n ctx.dispatch(\"refreshContract\").then(() => {\r\n resolve();\r\n });\r\n });\r\n });\r\n }\r\n },\r\n checkMeteringPointAndContractV3(ctx: any, payload: { streetAddress: string, zipCode: string, gsrnCode: string }): Promise {\r\n const isExternalMP = true;\r\n const customerType = ctx.state.contract.CustomerType;\r\n const identifier = customerType == CustomerTypeEnum.COMPANY\r\n ? ctx.state.contract.Company.BusinessId\r\n : ctx.state.contract.Customer.Pin;\r\n const { streetAddress, zipCode, gsrnCode } = payload\r\n\r\n if (streetAddress == null && zipCode == null && gsrnCode == null) {\r\n console.error(`checkMeteringPointAndContractV3 called with invalid parameters streetAddress: ${streetAddress}, zipCode: ${zipCode}, gsrnCode: ${gsrnCode}`);\r\n return;\r\n }\r\n\r\n return new Promise((resolve, reject) => {\r\n ServerApi.checkMeteringPointAndContractV2(streetAddress, zipCode, isExternalMP, customerType, identifier, gsrnCode)\r\n .then((retVal: any) => {\r\n // Data might have changed, let's refresh contract on the client side.\r\n ctx.dispatch(\"refreshContract\").then(() => {\r\n resolve();\r\n });\r\n });\r\n });\r\n },\r\n isCustomerInCIS(ctx, payload: { pin: string }) {\r\n console.log(\"isCustomerInCIS\");\r\n return ServerApi.isCustomerInCIS(payload.pin);\r\n },\r\n getSelectedServiceProducts(ctx) {\r\n return ServerApi.getSelectedServiceProducts();\r\n },\r\n getHolidays(ctx, payload: { years: number }) {\r\n console.log(\"getHolidays: \" + payload.years);\r\n return ServerApi.getHolidays(payload.years).then((holidays: string[]) => {\r\n ctx.commit(\"setHolidays\", holidays);\r\n return holidays;\r\n });\r\n },\r\n setSelectedServiceProducts(ctx, payload: { selectedServiceProducts: string[] }) {\r\n ctx.state.selectedServiceProducts = payload.selectedServiceProducts;\r\n },\r\n setloadingNewPhase(ctx, payload: { loadingNewPhase: boolean }) {\r\n ctx.commit(\"setloadingNewPhase\", payload.loadingNewPhase);\r\n }\r\n }\r\n}\r\n\r\n// With IE 9, arrays received from SignalR might actuallty be of type object (and not Array).\r\n// That's why we cant use Array.find, but need to implement our own.\r\n function find(obj, cond: (item) => boolean) {\r\n let count = obj.length;\r\n for (let i = 0; i < count; ++i) {\r\n let item = obj[i];\r\n if (cond(item))\r\n return item;\r\n }\r\n return null;\r\n}\r\n\r\nexport default new Vuex.Store(store);","import { DirectiveOptions } from \"vue\";\r\n\r\n/// declare variable which is defined in DefinePlugin definition in webpack.config.js\r\ndeclare const PUBLIC_PATH: string;\r\n\r\nconst PUBLIC_PATH_STRING = \"PUBLIC_PATH\";\r\n\r\n/* This directive allows developer to use PUBLIC_PATH variable in vue templates in cases where i4U\r\n * is not installed in the root folder of public domain (eg. https://this.is.domain/not-root/). \r\n * Usage:\r\n * \r\n * Register this directive to Vue in entrypoint:\r\n * import { PublicPathReplacerDirective } from \"@/Scripts/vue-directives/publicpath-replacer\"\r\n * \r\n * Vue.directive(\"public-path-replacer\", PublicPathReplacerDirective);\r\n * \r\n * Use in Vue template:\r\n *
\r\n */\r\nexport const PublicPathReplacerDirective: DirectiveOptions = {\r\n inserted(el, binding, vnode, prevVnode) {\r\n if (el != null) {\r\n const newValue = binding.value.replace(PUBLIC_PATH_STRING, PUBLIC_PATH);\r\n\r\n el.setAttribute(binding.arg, newValue);\r\n }\r\n }\r\n}","/**\r\n * Common module for implementing NewContract functionality.\r\n * \r\n * USAGE\r\n * \r\n * Create theme specific view and script file for it. Create NewContract module instance in it, and give root element as parameter.\r\n * NewContract functionality applies inside that root element:\r\n * \r\n * export class ContractPage {\r\n * // Instance of common NewContract module.\r\n * newContract: NewContract;\r\n * \r\n * constructor(rootSelector: string) {\r\n * this.newContract = new NewContract({\r\n * el: rootSelector,\r\n * phases: [\r\n * { name: \"phase-new-contract\", id: 1 },\r\n * { name: \"phase-confirmation\", id: 2 },\r\n * ],\r\n * preselects: { ... },\r\n * // Add Vue stuff specific to theme.\r\n * mixin: {\r\n * components: { PhaseNewContract, PhaseContractConfirmation }\r\n * }\r\n * });\r\n * }\r\n * \r\n * validationFailed(validationErrors: ValidationErrors) { ... }\r\n * }\r\n * \r\n * var page = new ContractPage(\"#rootContainer\");\r\n * \r\n * VUEX STORE\r\n * \r\n * \r\n * DIRECTIVES\r\n * \r\n * v-new-contract-value:\r\n * \r\n * This directive makes HTML element to call NewContractHub to update given value whenever change is triggered from the element.\r\n * Value key is determined from element's name attribute and the value from the element's value. For example:\r\n * \r\n * \r\n * \r\n * Above automatically calls NewContractHub's SetCustomerValue(\"Phone\", value).\r\n * \r\n * If there are ambiguity in key (e.g. key \"MPStreetName\" is handled both in SetCustomerValue and SetMeteringPointValue), it is possible to\r\n * force the \"type\" of the key with directive modifier, for example:\r\n * \r\n * \r\n * \r\n * Above calls the SetMeteringPointValue with key \"MPStreetName\".\r\n * \r\n * Possible modifiers are:\r\n * mp: SetMeteringPointValue\r\n * contract: SetContractValue\r\n * customer: SetCustomerValue\r\n * basic: SetValue\r\n */\r\n\r\nrequire(\"core-js/features/array/find\");\r\nrequire(\"core-js/features/promise\");\r\nimport Vue from \"vue\"\r\nimport { VNodeDirective, VNode } from \"vue/types/vnode\";\r\nimport { VueConstructor } from \"vue/types/vue\";\r\nimport { ComponentOptions } from \"vue/types/options\";\r\nimport { CustomerTypeEnum, TarificationIdEnum, HousingTypeEnum, ProcessTypeEnum } from \"../../../Scripts/inpulse/CommonEnums\";\r\nimport { IContractViewModel, IProductViewModel } from \"../../../Scripts/inpulse/I4UViewModels\";\r\nimport NewContractStore, { PropertyTypeEnum, INewContractState, IContractSettings, IEnvironmentSettings } from \"./new-contract-vuex-store\";\r\nimport { NewContractEvents } from \"./new-contract-vue-events\"\r\nimport { PublicPathReplacerDirective } from \"@/Scripts/vue-directives/publicpath-replacer\"\r\n\r\nexport class PhaseDescriptor {\r\n name: string;\r\n id: number;\r\n constructor(name: string, id: number) {\r\n this.name = name;\r\n this.id = id;\r\n }\r\n}\r\n\r\nexport class ValidationErrors {\r\n errors: { [key: string]: string } = {}\r\n count: number = 0;\r\n has(key: string): boolean {\r\n return this.errors[key] != null;\r\n }\r\n get(key: string): string {\r\n return this.errors[key];\r\n }\r\n getAllKeys(): string[] {\r\n let arr: string[] = [];\r\n for (let key in this.errors)\r\n arr.push(key);\r\n return arr;\r\n }\r\n getAll(): string[] {\r\n let arr: string[] = [];\r\n for (let key in this.errors) {\r\n arr.push(this.errors[key]);\r\n }\r\n return arr;\r\n }\r\n hasAny(...keys: string[]) {\r\n let foundKey = keys.find(x => this.has(x));\r\n return foundKey != null;\r\n }\r\n size(): number {\r\n return this.count;\r\n }\r\n constructor(errors: { [key: string]: string } = null) {\r\n if (errors != null) {\r\n for (let key in errors) {\r\n if (errors.hasOwnProperty(key)) {\r\n this.errors[key] = errors[key];\r\n this.count++;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\nclass PageModel {\r\n currentPhase: PhaseDescriptor = new PhaseDescriptor(null, null);\r\n validationErrors: ValidationErrors = new ValidationErrors();\r\n}\r\n\r\nexport interface INewContractOptions {\r\n // Id of root container of the page, i.e. container element that holds all the functionality.\r\n el: string,\r\n\r\n initialPhaseId?: number,\r\n\r\n // List of supported phases.\r\n phases: PhaseDescriptor[],\r\n\r\n // Vue mixin object to be added into new contract's Vue viewmodel. This can be used to included theme specific Vue components, methods etc.\r\n mixin?: VueConstructor | ComponentOptions,\r\n\r\n autoClearSelectedProduct?: boolean,\r\n\r\n // Username of logged in user.\r\n moveOutUser?: string,\r\n\r\n isAuthenticated?: boolean,\r\n\r\n validPinFromDb?: boolean,\r\n\r\n // Preselected values that are set when page is initialized.\r\n preselects?: {\r\n //moveOutUser: string,\r\n productId?: number,\r\n priceListId?: number,\r\n customerType: CustomerTypeEnum,\r\n tarification: TarificationIdEnum,\r\n housingType: HousingTypeEnum,\r\n campaignCode: string,\r\n }\r\n}\r\n\r\nexport class NewContract {\r\n private hubStarted: boolean = false;\r\n private server: any;\r\n private client: any;\r\n private options: INewContractOptions;\r\n private pageModel: PageModel;\r\n\r\n // Vue view model instance. This is public to theme specific implementations,\r\n // so that they can call functionality possibly added by them selves.\r\n vue: Vue;\r\n\r\n constructor(options: INewContractOptions) {\r\n console.log(\"NewContractVue.constructor()\");\r\n this.server = $.connection.newContractHub.server;\r\n this.client = $.connection.newContractHub.client;\r\n this.options = options;\r\n this.pageModel = new PageModel();\r\n this.init(options.el, options.mixin);\r\n }\r\n\r\n getPropertyName(el: HTMLElement, forcedName: string) {\r\n let name = el.getAttribute(\"name\");\r\n let propertyName = name;\r\n if (forcedName != null)\r\n propertyName = forcedName;\r\n return propertyName;\r\n }\r\n\r\n getValidationId(el: HTMLElement, name: string): string {\r\n var validationId = el.getAttribute(\"validation-id\");\r\n if (!validationId) { \r\n validationId = name ? name : el.getAttribute(\"name\");\r\n }\r\n return validationId;\r\n }\r\n\r\n private directiveEventHandlerMp = (event: Event) => this.directiveEventHandler(event, PropertyTypeEnum.MeteringPointValue);\r\n private directiveEventHandlerContract = (event: Event) => this.directiveEventHandler(event, PropertyTypeEnum.ContractValue);\r\n private directiveEventHandlerCustomer = (event: Event) => this.directiveEventHandler(event, PropertyTypeEnum.CustomerValue);\r\n private directiveEventHandlerBasic = (event: Event) => this.directiveEventHandler(event, PropertyTypeEnum.BasicValue);\r\n private directiveEventHandlerPlain = (event: Event) => this.directiveEventHandler(event, null);\r\n\r\n private directiveEventHandler = (event: Event, type) => {\r\n if (event.target instanceof HTMLElement) {\r\n console.log(\"v-new-contract-value\");\r\n let el = event.currentTarget as HTMLElement;\r\n let key = this.getPropertyName(el, null);\r\n \r\n let value = null;\r\n let elAny = el as any;\r\n if (elAny.value !== undefined)\r\n value = elAny.value;\r\n\r\n if (el instanceof HTMLInputElement && el.type == \"checkbox\") {\r\n // If Vue's true-value and false-value attributes are set, use those when sending data to server.\r\n let trueValue = el.getAttribute(\"true-value\");\r\n let falseValue = el.getAttribute(\"false-value\");\r\n if (el.checked) {\r\n value = trueValue != null ? trueValue : true;\r\n }\r\n else {\r\n value = falseValue != null ? falseValue : false;\r\n }\r\n }\r\n\r\n NewContractStore.dispatch(\"changeValue\", { key: key, value: value, type: type })\r\n .then(() => {\r\n this.onChangeValueEvent(key, value);\r\n\r\n // Trigger custom event that value has been updated. This is triggered on the element.\r\n let ev = this.createEvent(\"value-updated\", {\r\n detail: {\r\n name: key,\r\n value: value,\r\n }\r\n });\r\n el.dispatchEvent(ev);\r\n })\r\n .catch((msg) => {\r\n console.error(msg);\r\n });\r\n }\r\n }\r\n\r\n private validationErrorEventHandler = (event: Event) => this.validationErrorHandler(event);\r\n\r\n private validationErrorHandler = (event: Event) => {\r\n let el = event.currentTarget as HTMLElement;\r\n let validationId = this.getValidationId(el, null);\r\n this.removeValidationError(validationId);\r\n }\r\n\r\n removeValidationError(validationId: string): void {\r\n if (this.pageModel.validationErrors.has(validationId)) {\r\n console.log(`Removing validationError ${validationId}`);\r\n Vue.delete(this.pageModel.validationErrors.errors, validationId)\r\n }\r\n }\r\n\r\n onChangeValueEvent(key: string, value?: string) {\r\n // TODO: Not very convenient to refer keys with hardcoded strings here, but no time to figure out better way to do this.\r\n if (key == \"MPStreet\" || key == \"MPZip\") {\r\n // Trigger check for metering point. This may update metering point code automatically from CIS/Fingrid.\r\n NewContractStore.dispatch(\"checkMeteringPointAndContract\");\r\n }\r\n }\r\n\r\n private getEventType(el: HTMLElement, binding: VNodeDirective) {\r\n let eventType = binding.modifiers.input ? \"input\" : \"change\";\r\n if (el instanceof HTMLButtonElement || binding.modifiers.click)\r\n eventType = \"click\";\r\n return eventType;\r\n }\r\n\r\n private getDirectiveEventHandler(modifiers: { [key: string]: boolean }) {\r\n let eh = this.directiveEventHandlerPlain;\r\n if (modifiers.basic == true) {\r\n eh = this.directiveEventHandlerBasic;\r\n }\r\n else if (modifiers.contract == true) {\r\n eh = this.directiveEventHandlerContract;\r\n }\r\n else if (modifiers.mp == true) {\r\n eh = this.directiveEventHandlerMp;\r\n }\r\n else if (modifiers.customer == true) {\r\n eh = this.directiveEventHandlerCustomer;\r\n }\r\n return eh;\r\n }\r\n\r\n formSubmitEventHandler = (event: Event) => this.formSubmitHandler(event);\r\n\r\n formSubmitHandler(ev: Event) {\r\n ev.preventDefault();\r\n console.log(\"SUBMIT\");\r\n NewContractStore.dispatch(\"setloadingNewPhase\", { loadingNewPhase: true })\r\n this.validateContract().then((validationErrors: ValidationErrors) => {\r\n if (validationErrors.count == 0) {\r\n let el: any = ev.target;\r\n el.submit();\r\n }\r\n else {\r\n NewContractStore.dispatch(\"setloadingNewPhase\", { loadingNewPhase: false })\r\n }\r\n }).catch(e => {\r\n console.log(\"validateContract failed\");\r\n console.log(e);\r\n NewContractStore.dispatch(\"setloadingNewPhase\", { loadingNewPhase: false })\r\n });\r\n }\r\n\r\n initializeStore() {\r\n console.log(\"Initialize store!\");\r\n if (this.options.autoClearSelectedProduct != null) {\r\n NewContractStore.commit(\"setAutoClearSelectedProduct\", this.options.autoClearSelectedProduct);\r\n }\r\n }\r\n\r\n init(rootSelector: string, mixin) {\r\n let self = this;\r\n\r\n Vue.directive(\"new-contract-value\", {\r\n bind(el: HTMLElement, binding: VNodeDirective, vnode: VNode) {\r\n if (el.id == \"mp-address-zip\") {\r\n }\r\n let eventType = self.getEventType(el, binding);\r\n let eh = self.getDirectiveEventHandler(binding.modifiers);\r\n el.addEventListener(eventType, eh);\r\n },\r\n unbind(el: HTMLElement, binding: VNodeDirective) {\r\n let eventType = self.getEventType(el, binding);\r\n let eh = self.getDirectiveEventHandler(binding.modifiers);\r\n el.removeEventListener(eventType, eh);\r\n }\r\n });\r\n\r\n Vue.directive(\"new-contract-validate\", {\r\n bind(el: HTMLElement) {\r\n el.addEventListener(\"submit\", self.formSubmitEventHandler);\r\n },\r\n unbind(el: HTMLElement) {\r\n el.removeEventListener(\"submit\", self.formSubmitEventHandler);\r\n }\r\n });\r\n\r\n Vue.directive(\"public-path-replacer\", PublicPathReplacerDirective);\r\n\r\n Vue.directive(\"validation-error-handler\", {\r\n bind(el: HTMLElement, binding: VNodeDirective, vnode: VNode) {\r\n let eventType = self.getEventType(el, binding);\r\n el.addEventListener(eventType, self.validationErrorEventHandler);\r\n },\r\n unbind(el: HTMLElement, binding: VNodeDirective, vnode: VNode) {\r\n let eventType = self.getEventType(el, binding);\r\n el.removeEventListener(eventType, self.validationErrorEventHandler);\r\n }\r\n });\r\n\r\n this.initializeStore();\r\n\r\n this.vue = new Vue({\r\n el: rootSelector,\r\n store: NewContractStore,\r\n data: self.pageModel,\r\n mixins: mixin != null ? [mixin] : null,\r\n mounted() {\r\n self.client.initValues = function (contract: IContractViewModel) {\r\n let promises = [];\r\n promises.push(self.initValues(contract).then(() =>\r\n self.refreshProducts()\r\n ));\r\n promises.push(self.getMoveOutUser());\r\n promises.push(self.isPinSetInDb());\r\n Promise.all(promises).then(() => {\r\n console.log(\"commit setNewContractInitialized\");\r\n NewContractStore.commit(\"setNewContractInitialized\");\r\n NewContractEvents.notifyNewContractInitialized();\r\n }).catch(e => {\r\n console.log(\"Promises failed\");\r\n console.log(e);\r\n });\r\n };\r\n\r\n self.client.showConsumption = function (tuple) {\r\n self.consumptionUpdated(tuple.Item1, tuple.Item2);\r\n }\r\n\r\n self.client.showProducts = function(products: IProductViewModel[]) {\r\n console.log(\"Show products called from hub!\");\r\n NewContractStore.dispatch(\"updateProducts\", { products: products });\r\n }\r\n\r\n self.client.showUserName = function(userName: string) {\r\n console.log(\"Show user name called from hub!\");\r\n NewContractStore.dispatch(\"updateUserName\", { userName: userName });\r\n }\r\n\r\n self.client.isPinSetInDb = function (pinSet: string) {\r\n console.log(\"isPinSetInDb called from hub!\");\r\n NewContractStore.dispatch(\"isPinSetInDb\", { pinSet: pinSet });\r\n }\r\n\r\n $.connection.hub.start().done(function() {\r\n console.log(\"Hub started!\");\r\n self.hubStarted = true;\r\n self.initSettings().then(function () {\r\n if (self.isMoving()) {\r\n self.initMoving();\r\n } else {\r\n self.initContract();\r\n }\r\n });\r\n NewContractStore.dispatch(\"getHolidays\", { years: 1 });\r\n });\r\n },\r\n methods: {\r\n setPhase(phaseName: string, phaseId: number) {\r\n console.log(\"Set phase! \" + phaseName + \" \" + phaseId);\r\n let currPhaseNdx = self.options.phases.findIndex(x => x.id == self.pageModel.currentPhase.id);\r\n let newPhaseNdx = self.options.phases.findIndex(x => x.id == phaseId);\r\n\r\n this.$store.dispatch(\"setloadingNewPhase\", { loadingNewPhase: true })\r\n // Perform validation only if we are moving forward.\r\n if (currPhaseNdx < newPhaseNdx) {\r\n self.validateContract().then((validationErrors: ValidationErrors) => {\r\n if (validationErrors.count == 0) {\r\n self.setNewContractValue(\"Phase\", \"\" + phaseId).then(() => {\r\n self.pageModel.currentPhase.name = phaseName;\r\n self.pageModel.currentPhase.id = phaseId;\r\n }).catch(e => {\r\n console.log(\"setNewContractValue failed\");\r\n console.log(e);\r\n });\r\n }\r\n }).catch(e => {\r\n console.log(\"setNewContractValue failed - 1\");\r\n console.log(e);\r\n }).finally(() => {\r\n this.$store.dispatch(\"setloadingNewPhase\", { loadingNewPhase: false })\r\n });\r\n }\r\n else {\r\n self.setNewContractValue(\"Phase\", \"\" + phaseId).then(() => {\r\n self.pageModel.currentPhase.name = phaseName;\r\n self.pageModel.currentPhase.id = phaseId;\r\n }).catch(e => {\r\n console.log(\"setNewContractValue failed - 2\");\r\n console.log(e);\r\n }).finally(() => {\r\n this.$store.dispatch(\"setloadingNewPhase\", { loadingNewPhase: false })\r\n });\r\n }\r\n },\r\n notifyCustomError(errors: ValidationErrors) {\r\n self.pageModel.validationErrors = errors;\r\n self.notifyValidationFailed(errors);\r\n }\r\n }\r\n });\r\n }\r\n\r\n validateContract(): Promise {\r\n let self = this;\r\n return new Promise((resolve, reject) => {\r\n let contract: IContractViewModel = self.vue.$store.state.contract;\r\n let phase: number = contract.Phase;\r\n console.log(\"Validating phase [\" + phase + \"], isMoving: \" + this.isMoving() + \", isMovingProcess: \" + this.isMovingProcess());\r\n try {\r\n if (this.isMoving()) {\r\n this.server.validateMoving(phase, this.isMovingProcess()).done(function (validationErrors) {\r\n console.log(\"Move out validation result:\");\r\n console.log(validationErrors);\r\n\r\n let errors: { [key: string]: string } = validationErrors.Errors;\r\n self.pageModel.validationErrors = new ValidationErrors(errors);\r\n\r\n if (self.pageModel.validationErrors.count != 0) {\r\n self.notifyValidationFailed(self.pageModel.validationErrors);\r\n }\r\n resolve(self.pageModel.validationErrors);\r\n }).fail(() => reject(\"Error while performing move out validation!\"));\r\n\r\n } else {\r\n this.server.validateNewContract(phase).done(function (validationErrors) {\r\n console.log(\"New contract validation result:\");\r\n console.log(validationErrors);\r\n\r\n let errors: { [key: string]: string } = validationErrors.Errors;\r\n self.pageModel.validationErrors = new ValidationErrors(errors);\r\n if (self.pageModel.validationErrors.count != 0) {\r\n self.notifyValidationFailed(self.pageModel.validationErrors);\r\n }\r\n resolve(self.pageModel.validationErrors);\r\n }).fail(() => reject(\"Error while performing new contract validation!\"));\r\n }\r\n }\r\n catch\r\n {\r\n NewContractEvents.notifySessionExpired();\r\n }\r\n });\r\n \r\n }\r\n\r\n setNewContractValue(key: string, value: string) {\r\n return this.vue.$store.dispatch(\"changeValue\", { key: key, value: value });\r\n }\r\n\r\n // store settings initialzations\r\n initSettings() {\r\n let promises = [];\r\n promises.push(this.initContractSettings());\r\n promises.push(this.initEnvironmentSettings());\r\n return Promise.all(promises);\r\n }\r\n\r\n initContractSettings() {\r\n let self = this;\r\n return new Promise((resolve, reject) => {\r\n return this.server.contractSettings().done((settings: IContractSettings) => {\r\n self.vue.$store.state.contractSettings = settings;\r\n resolve();\r\n }).fail(() => reject());\r\n });\r\n }\r\n\r\n\r\n initEnvironmentSettings() {\r\n let self = this;\r\n return new Promise((resolve, reject) => {\r\n return this.server.environmentSettings().done((settings: IEnvironmentSettings) => {\r\n self.vue.$store.state.environmentSettings = settings;\r\n resolve();\r\n }).fail(() => reject());\r\n });\r\n }\r\n // store settings initialzations\r\n\r\n private initContract() {\r\n return new Promise((resolve, reject) => {\r\n // Trigger new contract hub to call initValues on client side.\r\n this.server.initContract().done(() => {\r\n console.log(\"initContract() done\");\r\n resolve();\r\n }).fail(() => reject());\r\n });\r\n }\r\n\r\n private initMoving() {\r\n return new Promise((resolve, reject) => {\r\n // Trigger new contract hub to call initMoving on client side.\r\n this.server.initMoving().done(() => {\r\n console.log(\"initMoving() done\");\r\n resolve();\r\n }).fail(() => reject());\r\n });\r\n }\r\n\r\n private refreshProducts(): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.server.refreshProducts(null).done(() => {\r\n console.log(\"refreshProducts()\");\r\n resolve();\r\n }).fail(e => {\r\n console.log(\"refreshProducts() failed\");\r\n console.log(e);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n private getMoveOutUser(): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.server.getUserName().done(() => {\r\n console.log(\"getMoveOutUser()\");\r\n resolve();\r\n }).fail(() => reject());\r\n });\r\n }\r\n\r\n private isPinSetInDb(): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.server.hasCustomerValidPin(\"\").done(() => {\r\n console.log(\"HasCustomerValidPin()\");\r\n resolve();\r\n }).fail(() => reject());\r\n });\r\n }\r\n\r\n /*getActiveContracts(): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.server.getActiveContracts().done(() => {\r\n console.log(\"getActiveContracts()\");\r\n resolve();\r\n }).fail(() => reject());\r\n });\r\n }*/\r\n\r\n private isMoving(): boolean {\r\n return this.options.phases[0].name.indexOf(\"move-out\") > -1;\r\n }\r\n\r\n private isMovingProcess(): boolean {\r\n return this.isMoving() && this.vue.$store.state.contract.ProcessType == ProcessTypeEnum.MOVINGPROCESS;\r\n }\r\n\r\n initPreSelectedValues(): Promise {\r\n let self = this;\r\n let contract: IContractViewModel = this.vue.$store.state.contract;\r\n let preselects = this.options.preselects;\r\n\r\n let promises: Promise[] = [];\r\n\r\n let payloads: { key: string, value: string, type?: PropertyTypeEnum }[] = [];\r\n\r\n if (this.options.initialPhaseId != null) {\r\n payloads.push({ key: \"Phase\", value: this.options.initialPhaseId.toString() });\r\n }\r\n if (this.options.isAuthenticated !== undefined && this.options.isAuthenticated !== null) {\r\n NewContractStore.commit(\"isAuthenticated\", this.options.isAuthenticated);\r\n }\r\n\r\n let productId = contract.ProductId;\r\n let priceListId = contract.PriceListId;\r\n let tarificationId;\r\n\r\n if (preselects != null) {\r\n if (contract.CustomerType == CustomerTypeEnum.NOTSET && preselects.customerType != null && preselects.customerType != CustomerTypeEnum.NOTSET) {\r\n payloads.push({ key: \"customerType\", value: preselects.customerType.toString() });\r\n }\r\n if (preselects.tarification != null && preselects.tarification != 0) {\r\n payloads.push({ key: \"tarification\", value: preselects.tarification.toString() });\r\n }\r\n if (contract.HousingTypeId == HousingTypeEnum.UNKNOWN && preselects.housingType != null && preselects.housingType != HousingTypeEnum.UNKNOWN) {\r\n payloads.push({ key: \"housingType\", value: preselects.housingType.toString() });\r\n }\r\n if (!contract.CampaignCode && preselects.campaignCode)\r\n payloads.push({ key: \"campaignCode\", value: preselects.campaignCode });\r\n\r\n if (preselects.productId != null && preselects.productId != 0 && preselects.priceListId != null && preselects.priceListId != 0) {\r\n productId = preselects.productId;\r\n priceListId = preselects.priceListId;\r\n }\r\n if (preselects.productId != null && preselects.productId != 0 && preselects.priceListId != null && preselects.priceListId != 0 && preselects.tarification != null && preselects.tarification != 0) {\r\n tarificationId = preselects.tarification.toString();\r\n NewContractStore.commit(\"setPreSelectedProductPriceListTarification\", true);\r\n }\r\n }\r\n\r\n if (productId && priceListId && tarificationId)\r\n promises.push(this.vue.$store.dispatch(\"selectProductByIdAndTarification\", { productId: productId, priceListId: priceListId, tarificationId: tarificationId }));\r\n else if (productId && priceListId)\r\n promises.push(this.vue.$store.dispatch(\"selectProductById\", { productId: productId, priceListId: priceListId }));\r\n\r\n if (payloads.length != 0)\r\n promises.push(this.vue.$store.dispatch(\"changeValues\", payloads));\r\n\r\n return Promise.all(promises).then(() => {\r\n return Promise.resolve();\r\n });\r\n }\r\n\r\n initValues(contract: IContractViewModel): Promise {\r\n return new Promise((resolve, reject) => {\r\n\r\n let state: INewContractState = this.vue.$store.state;\r\n state.contract = contract;\r\n for (var i = 0; i < contract.ExtraFeatures.length; i++) {\r\n let ef = contract.ExtraFeatures[i].Name.split(';');\r\n if (ef[0].toLowerCase() == \"serviceproduct\") {\r\n state.selectedServiceProducts.push(ef[1] + \";\" + ef[2]);\r\n }\r\n }\r\n\r\n this.initPreSelectedValues().then(() => {\r\n console.log(\"Preselected values initialized!\");\r\n //console.log(this.options.phases);\r\n // Set phase on the client side to match what is stored on the server.\r\n let phase = this.options.phases.find(x => x.id == state.contract.Phase);\r\n //console.log(phase);\r\n if (phase == null) {\r\n console.error(\"Phase [\" + contract.Phase + \"] not found!\");\r\n // Phase not found (it's a bug), let's just go to first phase.\r\n phase = this.options.phases[0];\r\n }\r\n console.log(phase);\r\n this.pageModel.currentPhase = phase;\r\n console.log(this.pageModel);\r\n resolve();\r\n\r\n }).catch((msg) => {\r\n\r\n console.error(\"Preselect initialization failed: \" + msg);\r\n reject();\r\n\r\n });\r\n });\r\n }\r\n\r\n consumptionUpdated(energy1: number, energy2: number) {\r\n console.log(\"Consumption updated!\");\r\n this.vue.$store.commit(\"consumptionUpdated\", { energy1: energy1, energy2: energy2 });\r\n }\r\n\r\n notifyValidationFailed(validationErrors: ValidationErrors) {\r\n NewContractEvents.notifyValidationFailed(validationErrors);\r\n }\r\n\r\n private createEvent(ev: string, params: { bubbles?: boolean, cancelable?: boolean, detail: any }) {\r\n params = params || { bubbles: false, cancelable: false, detail: undefined };\r\n var evt = document.createEvent('CustomEvent');\r\n evt.initCustomEvent(ev, params.bubbles, params.cancelable, params.detail);\r\n return evt;\r\n }\r\n}\r\n","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n [\n _c(\"div\", { staticClass: \"row section card\" }, [\n _c(\n \"div\",\n { staticClass: \"col-md-11 col-lg-offset-1 col-md-offset-1\" },\n [\n _c(\n \"div\",\n { staticClass: \"card-body text-center\" },\n [\n _c(\n \"b-button\",\n {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n class: {\n active:\n _vm.contract.CustomerType ==\n _vm.CustomerTypeEnum.CONSUMER,\n },\n attrs: {\n type: \"button\",\n variant: \"outline-primary\",\n disabled: _vm.customerSelectionDisabled,\n value: _vm.CustomerTypeEnum.CONSUMER,\n name: \"customerType\",\n },\n on: { \"value-updated\": _vm.customerTypeSelected },\n },\n [\n _c(\"font-awesome-icon\", { attrs: { icon: \"user\" } }),\n _vm._v(\" \" + _vm._s(_vm.$t(\"Henkilöasiakas\")) + \" \"),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-button\",\n {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n class: {\n active:\n _vm.contract.CustomerType ==\n _vm.CustomerTypeEnum.COMPANY,\n },\n attrs: {\n type: \"button\",\n variant: \"outline-primary\",\n disabled: _vm.customerSelectionDisabled,\n value: _vm.CustomerTypeEnum.COMPANY,\n name: \"customerType\",\n },\n on: { \"value-updated\": _vm.customerTypeSelected },\n },\n [\n _c(\"font-awesome-icon\", { attrs: { icon: \"building\" } }),\n _vm._v(\" \" + _vm._s(_vm.$t(\"Yritysasiakas\"))),\n ],\n 1\n ),\n ],\n 1\n ),\n ]\n ),\n ]),\n _vm._v(\" \"),\n _c(\n \"new-contract-section\",\n {\n ref: \"preProduct\",\n attrs: {\n number: \"1\",\n title: \"Kohteen tiedot\",\n mode: _vm.sections.preProduct.mode,\n \"proceed-action-state\":\n _vm.sections.preProduct.proceedActionState(),\n },\n on: {\n modify: function ($event) {\n return _vm.sections.preProduct.enterModify()\n },\n proceed: function ($event) {\n return _vm.sections.preProduct.proceed()\n },\n },\n },\n [\n _c(\"pre-product-selection\", {\n ref: \"preProductSelection\",\n attrs: {\n slot: \"edit\",\n contract: _vm.contract,\n \"validation-errors\": _vm.validationErrors,\n },\n slot: \"edit\",\n }),\n _vm._v(\" \"),\n _c(\"pre-product-selection-display\", {\n attrs: { slot: \"display\", contract: _vm.contract },\n slot: \"display\",\n }),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"new-contract-section\",\n {\n ref: \"product\",\n attrs: {\n number: \"2\",\n title: \"Tuotevalinta\",\n mode: _vm.sections.product.mode,\n \"proceed-action-state\": _vm.sections.product.proceedActionState(),\n },\n on: {\n modify: function ($event) {\n return _vm.sections.product.enterModify()\n },\n proceed: function ($event) {\n return _vm.sections.product.proceed()\n },\n },\n },\n [\n _c(\"product-selection\", {\n attrs: { slot: \"edit\" },\n on: {\n \"product-selected\": function ($event) {\n return _vm.sections.product.proceed()\n },\n },\n slot: \"edit\",\n }),\n _vm._v(\" \"),\n _c(\"product-selection-display\", {\n attrs: { slot: \"display\" },\n slot: \"display\",\n }),\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.contract.CustomerType !== _vm.CustomerTypeEnum.COMPANY\n ? _c(\n \"new-contract-section\",\n {\n ref: \"customer\",\n attrs: {\n number: \"3\",\n title: \"Asiakkaan tiedot\",\n mode: _vm.sections.customer.mode,\n \"proceed-action-state\": _vm.getCustomerProceedActionState(),\n },\n on: {\n modify: function ($event) {\n return _vm.sections.customer.enterModify()\n },\n proceed: function ($event) {\n return _vm.sections.customer.proceed()\n },\n },\n },\n [\n _vm.contract.CustomerType == _vm.CustomerTypeEnum.CONSUMER\n ? _c(\"customer-information\", {\n ref: \"customerInformation\",\n attrs: {\n slot: \"edit\",\n validationErrors: _vm.validationErrors,\n \"show-authentication\": _vm.showAuthentication,\n \"hide-authentication-forced-text\":\n _vm.hideAuthenticationForcedText,\n \"proceed-action-state\": _vm.ActionState.Hidden,\n },\n on: { \"customer-value-updated\": _vm.customerValueUpdated },\n slot: \"edit\",\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.contract.CustomerType == _vm.CustomerTypeEnum.CONSUMER\n ? _c(\"customer-information-display\", {\n attrs: { slot: \"display\" },\n slot: \"display\",\n })\n : _vm._e(),\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.contract.CustomerType == _vm.CustomerTypeEnum.COMPANY\n ? _c(\n \"new-contract-section\",\n {\n ref: \"company\",\n attrs: {\n number: \"3\",\n title: \"Asiakkaan tiedot\",\n mode: _vm.sections.company.mode,\n },\n on: {\n modify: function ($event) {\n return _vm.sections.company.enterModify()\n },\n proceed: function ($event) {\n return _vm.sections.company.proceed()\n },\n },\n },\n [\n _vm.contract.CustomerType == _vm.CustomerTypeEnum.COMPANY\n ? _c(\"company-information\", {\n ref: \"companyInformation\",\n attrs: {\n slot: \"edit\",\n validationErrors: _vm.validationErrors,\n },\n on: { \"company-value-updated\": _vm.companyValueUpdated },\n slot: \"edit\",\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.contract.CustomerType == _vm.CustomerTypeEnum.COMPANY\n ? _c(\"company-information-display\", {\n attrs: { slot: \"display\" },\n slot: \"display\",\n })\n : _vm._e(),\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"new-contract-section\",\n {\n ref: \"meteringPoint\",\n attrs: {\n number: \"4\",\n title: \"Osoitetiedot\",\n mode: _vm.sections.meteringPoint.mode,\n \"proceed-action-state\": _vm.ActionState.Hidden,\n },\n on: {\n modify: function ($event) {\n return _vm.sections.meteringPoint.enterModify()\n },\n },\n },\n [\n _c(\"metering-point-information\", {\n ref: \"meteringPointInfo\",\n attrs: {\n slot: \"edit\",\n contract: _vm.contract,\n validationErrors: _vm.validationErrors,\n },\n slot: \"edit\",\n }),\n _vm._v(\" \"),\n _c(\"metering-point-information-display\", {\n attrs: { slot: \"display\" },\n slot: \"display\",\n }),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"div\",\n { staticClass: \"col-md-12 card text-center\" },\n [\n _c(\n \"b-button\",\n {\n attrs: {\n type: \"button\",\n variant: \"outline-primary\",\n disabled:\n _vm.contract.CustomerType === _vm.CustomerTypeEnum.NOTSET,\n },\n on: {\n click: function ($event) {\n return _vm.nextPhase()\n },\n },\n },\n [_vm._v(_vm._s(_vm.$t(\"Jatka yhteenvetoon\")))]\n ),\n ],\n 1\n ),\n ]),\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","/**\n * vue-class-component v7.2.6\n * (c) 2015-present Evan You\n * @license MIT\n */\nimport Vue from 'vue';\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\n// The rational behind the verbose Reflect-feature check below is the fact that there are polyfills\n// which add an implementation for Reflect.defineMetadata but not for Reflect.getOwnMetadataKeys.\n// Without this check consumers will encounter hard to track down runtime errors.\nfunction reflectionIsSupported() {\n return typeof Reflect !== 'undefined' && Reflect.defineMetadata && Reflect.getOwnMetadataKeys;\n}\nfunction copyReflectionMetadata(to, from) {\n forwardMetadata(to, from);\n Object.getOwnPropertyNames(from.prototype).forEach(function (key) {\n forwardMetadata(to.prototype, from.prototype, key);\n });\n Object.getOwnPropertyNames(from).forEach(function (key) {\n forwardMetadata(to, from, key);\n });\n}\n\nfunction forwardMetadata(to, from, propertyKey) {\n var metaKeys = propertyKey ? Reflect.getOwnMetadataKeys(from, propertyKey) : Reflect.getOwnMetadataKeys(from);\n metaKeys.forEach(function (metaKey) {\n var metadata = propertyKey ? Reflect.getOwnMetadata(metaKey, from, propertyKey) : Reflect.getOwnMetadata(metaKey, from);\n\n if (propertyKey) {\n Reflect.defineMetadata(metaKey, metadata, to, propertyKey);\n } else {\n Reflect.defineMetadata(metaKey, metadata, to);\n }\n });\n}\n\nvar fakeArray = {\n __proto__: []\n};\nvar hasProto = fakeArray instanceof Array;\nfunction createDecorator(factory) {\n return function (target, key, index) {\n var Ctor = typeof target === 'function' ? target : target.constructor;\n\n if (!Ctor.__decorators__) {\n Ctor.__decorators__ = [];\n }\n\n if (typeof index !== 'number') {\n index = undefined;\n }\n\n Ctor.__decorators__.push(function (options) {\n return factory(options, key, index);\n });\n };\n}\nfunction mixins() {\n for (var _len = arguments.length, Ctors = new Array(_len), _key = 0; _key < _len; _key++) {\n Ctors[_key] = arguments[_key];\n }\n\n return Vue.extend({\n mixins: Ctors\n });\n}\nfunction isPrimitive(value) {\n var type = _typeof(value);\n\n return value == null || type !== 'object' && type !== 'function';\n}\nfunction warn(message) {\n if (typeof console !== 'undefined') {\n console.warn('[vue-class-component] ' + message);\n }\n}\n\nfunction collectDataFromConstructor(vm, Component) {\n // override _init to prevent to init as Vue instance\n var originalInit = Component.prototype._init;\n\n Component.prototype._init = function () {\n var _this = this;\n\n // proxy to actual vm\n var keys = Object.getOwnPropertyNames(vm); // 2.2.0 compat (props are no longer exposed as self properties)\n\n if (vm.$options.props) {\n for (var key in vm.$options.props) {\n if (!vm.hasOwnProperty(key)) {\n keys.push(key);\n }\n }\n }\n\n keys.forEach(function (key) {\n Object.defineProperty(_this, key, {\n get: function get() {\n return vm[key];\n },\n set: function set(value) {\n vm[key] = value;\n },\n configurable: true\n });\n });\n }; // should be acquired class property values\n\n\n var data = new Component(); // restore original _init to avoid memory leak (#209)\n\n Component.prototype._init = originalInit; // create plain data object\n\n var plainData = {};\n Object.keys(data).forEach(function (key) {\n if (data[key] !== undefined) {\n plainData[key] = data[key];\n }\n });\n\n if (process.env.NODE_ENV !== 'production') {\n if (!(Component.prototype instanceof Vue) && Object.keys(plainData).length > 0) {\n warn('Component class must inherit Vue or its descendant class ' + 'when class property is used.');\n }\n }\n\n return plainData;\n}\n\nvar $internalHooks = ['data', 'beforeCreate', 'created', 'beforeMount', 'mounted', 'beforeDestroy', 'destroyed', 'beforeUpdate', 'updated', 'activated', 'deactivated', 'render', 'errorCaptured', 'serverPrefetch' // 2.6\n];\nfunction componentFactory(Component) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n options.name = options.name || Component._componentTag || Component.name; // prototype props.\n\n var proto = Component.prototype;\n Object.getOwnPropertyNames(proto).forEach(function (key) {\n if (key === 'constructor') {\n return;\n } // hooks\n\n\n if ($internalHooks.indexOf(key) > -1) {\n options[key] = proto[key];\n return;\n }\n\n var descriptor = Object.getOwnPropertyDescriptor(proto, key);\n\n if (descriptor.value !== void 0) {\n // methods\n if (typeof descriptor.value === 'function') {\n (options.methods || (options.methods = {}))[key] = descriptor.value;\n } else {\n // typescript decorated data\n (options.mixins || (options.mixins = [])).push({\n data: function data() {\n return _defineProperty({}, key, descriptor.value);\n }\n });\n }\n } else if (descriptor.get || descriptor.set) {\n // computed properties\n (options.computed || (options.computed = {}))[key] = {\n get: descriptor.get,\n set: descriptor.set\n };\n }\n });\n (options.mixins || (options.mixins = [])).push({\n data: function data() {\n return collectDataFromConstructor(this, Component);\n }\n }); // decorate options\n\n var decorators = Component.__decorators__;\n\n if (decorators) {\n decorators.forEach(function (fn) {\n return fn(options);\n });\n delete Component.__decorators__;\n } // find super\n\n\n var superProto = Object.getPrototypeOf(Component.prototype);\n var Super = superProto instanceof Vue ? superProto.constructor : Vue;\n var Extended = Super.extend(options);\n forwardStaticMembers(Extended, Component, Super);\n\n if (reflectionIsSupported()) {\n copyReflectionMetadata(Extended, Component);\n }\n\n return Extended;\n}\nvar reservedPropertyNames = [// Unique id\n'cid', // Super Vue constructor\n'super', // Component options that will be used by the component\n'options', 'superOptions', 'extendOptions', 'sealedOptions', // Private assets\n'component', 'directive', 'filter'];\nvar shouldIgnore = {\n prototype: true,\n arguments: true,\n callee: true,\n caller: true\n};\n\nfunction forwardStaticMembers(Extended, Original, Super) {\n // We have to use getOwnPropertyNames since Babel registers methods as non-enumerable\n Object.getOwnPropertyNames(Original).forEach(function (key) {\n // Skip the properties that should not be overwritten\n if (shouldIgnore[key]) {\n return;\n } // Some browsers does not allow reconfigure built-in properties\n\n\n var extendedDescriptor = Object.getOwnPropertyDescriptor(Extended, key);\n\n if (extendedDescriptor && !extendedDescriptor.configurable) {\n return;\n }\n\n var descriptor = Object.getOwnPropertyDescriptor(Original, key); // If the user agent does not support `__proto__` or its family (IE <= 10),\n // the sub class properties may be inherited properties from the super class in TypeScript.\n // We need to exclude such properties to prevent to overwrite\n // the component options object which stored on the extended constructor (See #192).\n // If the value is a referenced value (object or function),\n // we can check equality of them and exclude it if they have the same reference.\n // If it is a primitive value, it will be forwarded for safety.\n\n if (!hasProto) {\n // Only `cid` is explicitly exluded from property forwarding\n // because we cannot detect whether it is a inherited property or not\n // on the no `__proto__` environment even though the property is reserved.\n if (key === 'cid') {\n return;\n }\n\n var superDescriptor = Object.getOwnPropertyDescriptor(Super, key);\n\n if (!isPrimitive(descriptor.value) && superDescriptor && superDescriptor.value === descriptor.value) {\n return;\n }\n } // Warn if the users manually declare reserved properties\n\n\n if (process.env.NODE_ENV !== 'production' && reservedPropertyNames.indexOf(key) >= 0) {\n warn(\"Static property name '\".concat(key, \"' declared on class '\").concat(Original.name, \"' \") + 'conflicts with reserved property name of Vue internal. ' + 'It may cause unexpected behavior of the component. Consider renaming the property.');\n }\n\n Object.defineProperty(Extended, key, descriptor);\n });\n}\n\nfunction Component(options) {\n if (typeof options === 'function') {\n return componentFactory(options);\n }\n\n return function (Component) {\n return componentFactory(Component, options);\n };\n}\n\nComponent.registerHooks = function registerHooks(keys) {\n $internalHooks.push.apply($internalHooks, _toConsumableArray(keys));\n};\n\nexport default Component;\nexport { createDecorator, mixins };\n","/** vue-property-decorator verson 8.4.2 MIT LICENSE copyright 2019 kaorun343 */\n/// \n'use strict';\nimport Vue from 'vue';\nimport Component, { createDecorator, mixins } from 'vue-class-component';\nexport { Component, Vue, mixins as Mixins };\n/** Used for keying reactive provide/inject properties */\nvar reactiveInjectKey = '__reactiveInject__';\n/**\n * decorator of an inject\n * @param from key\n * @return PropertyDecorator\n */\nexport function Inject(options) {\n return createDecorator(function (componentOptions, key) {\n if (typeof componentOptions.inject === 'undefined') {\n componentOptions.inject = {};\n }\n if (!Array.isArray(componentOptions.inject)) {\n componentOptions.inject[key] = options || key;\n }\n });\n}\n/**\n * decorator of a reactive inject\n * @param from key\n * @return PropertyDecorator\n */\nexport function InjectReactive(options) {\n return createDecorator(function (componentOptions, key) {\n if (typeof componentOptions.inject === 'undefined') {\n componentOptions.inject = {};\n }\n if (!Array.isArray(componentOptions.inject)) {\n var fromKey_1 = !!options ? options.from || options : key;\n var defaultVal_1 = (!!options && options.default) || undefined;\n if (!componentOptions.computed)\n componentOptions.computed = {};\n componentOptions.computed[key] = function () {\n var obj = this[reactiveInjectKey];\n return obj ? obj[fromKey_1] : defaultVal_1;\n };\n componentOptions.inject[reactiveInjectKey] = reactiveInjectKey;\n }\n });\n}\nfunction produceProvide(original) {\n var provide = function () {\n var _this = this;\n var rv = typeof original === 'function' ? original.call(this) : original;\n rv = Object.create(rv || null);\n // set reactive services (propagates previous services if necessary)\n rv[reactiveInjectKey] = this[reactiveInjectKey] || {};\n for (var i in provide.managed) {\n rv[provide.managed[i]] = this[i];\n }\n var _loop_1 = function (i) {\n rv[provide.managedReactive[i]] = this_1[i]; // Duplicates the behavior of `@Provide`\n if (!rv[reactiveInjectKey].hasOwnProperty(provide.managedReactive[i])) {\n Object.defineProperty(rv[reactiveInjectKey], provide.managedReactive[i], {\n enumerable: true,\n get: function () { return _this[i]; },\n });\n }\n };\n var this_1 = this;\n for (var i in provide.managedReactive) {\n _loop_1(i);\n }\n return rv;\n };\n provide.managed = {};\n provide.managedReactive = {};\n return provide;\n}\nfunction needToProduceProvide(original) {\n return (typeof original !== 'function' ||\n (!original.managed && !original.managedReactive));\n}\n/**\n * decorator of a provide\n * @param key key\n * @return PropertyDecorator | void\n */\nexport function Provide(key) {\n return createDecorator(function (componentOptions, k) {\n var provide = componentOptions.provide;\n if (needToProduceProvide(provide)) {\n provide = componentOptions.provide = produceProvide(provide);\n }\n provide.managed[k] = key || k;\n });\n}\n/**\n * decorator of a reactive provide\n * @param key key\n * @return PropertyDecorator | void\n */\nexport function ProvideReactive(key) {\n return createDecorator(function (componentOptions, k) {\n var provide = componentOptions.provide;\n // inject parent reactive services (if any)\n if (!Array.isArray(componentOptions.inject)) {\n componentOptions.inject = componentOptions.inject || {};\n componentOptions.inject[reactiveInjectKey] = {\n from: reactiveInjectKey,\n default: {},\n };\n }\n if (needToProduceProvide(provide)) {\n provide = componentOptions.provide = produceProvide(provide);\n }\n provide.managedReactive[k] = key || k;\n });\n}\n/** @see {@link https://github.com/vuejs/vue-class-component/blob/master/src/reflect.ts} */\nvar reflectMetadataIsSupported = typeof Reflect !== 'undefined' && typeof Reflect.getMetadata !== 'undefined';\nfunction applyMetadata(options, target, key) {\n if (reflectMetadataIsSupported) {\n if (!Array.isArray(options) &&\n typeof options !== 'function' &&\n typeof options.type === 'undefined') {\n var type = Reflect.getMetadata('design:type', target, key);\n if (type !== Object) {\n options.type = type;\n }\n }\n }\n}\n/**\n * decorator of model\n * @param event event name\n * @param options options\n * @return PropertyDecorator\n */\nexport function Model(event, options) {\n if (options === void 0) { options = {}; }\n return function (target, key) {\n applyMetadata(options, target, key);\n createDecorator(function (componentOptions, k) {\n ;\n (componentOptions.props || (componentOptions.props = {}))[k] = options;\n componentOptions.model = { prop: k, event: event || k };\n })(target, key);\n };\n}\n/**\n * decorator of a prop\n * @param options the options for the prop\n * @return PropertyDecorator | void\n */\nexport function Prop(options) {\n if (options === void 0) { options = {}; }\n return function (target, key) {\n applyMetadata(options, target, key);\n createDecorator(function (componentOptions, k) {\n ;\n (componentOptions.props || (componentOptions.props = {}))[k] = options;\n })(target, key);\n };\n}\n/**\n * decorator of a synced prop\n * @param propName the name to interface with from outside, must be different from decorated property\n * @param options the options for the synced prop\n * @return PropertyDecorator | void\n */\nexport function PropSync(propName, options) {\n if (options === void 0) { options = {}; }\n // @ts-ignore\n return function (target, key) {\n applyMetadata(options, target, key);\n createDecorator(function (componentOptions, k) {\n ;\n (componentOptions.props || (componentOptions.props = {}))[propName] = options;\n (componentOptions.computed || (componentOptions.computed = {}))[k] = {\n get: function () {\n return this[propName];\n },\n set: function (value) {\n // @ts-ignore\n this.$emit(\"update:\" + propName, value);\n },\n };\n })(target, key);\n };\n}\n/**\n * decorator of a watch function\n * @param path the path or the expression to observe\n * @param WatchOption\n * @return MethodDecorator\n */\nexport function Watch(path, options) {\n if (options === void 0) { options = {}; }\n var _a = options.deep, deep = _a === void 0 ? false : _a, _b = options.immediate, immediate = _b === void 0 ? false : _b;\n return createDecorator(function (componentOptions, handler) {\n if (typeof componentOptions.watch !== 'object') {\n componentOptions.watch = Object.create(null);\n }\n var watch = componentOptions.watch;\n if (typeof watch[path] === 'object' && !Array.isArray(watch[path])) {\n watch[path] = [watch[path]];\n }\n else if (typeof watch[path] === 'undefined') {\n watch[path] = [];\n }\n watch[path].push({ handler: handler, deep: deep, immediate: immediate });\n });\n}\n// Code copied from Vue/src/shared/util.js\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = function (str) { return str.replace(hyphenateRE, '-$1').toLowerCase(); };\n/**\n * decorator of an event-emitter function\n * @param event The name of the event\n * @return MethodDecorator\n */\nexport function Emit(event) {\n return function (_target, propertyKey, descriptor) {\n var key = hyphenate(propertyKey);\n var original = descriptor.value;\n descriptor.value = function emitter() {\n var _this = this;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var emit = function (returnValue) {\n var emitName = event || key;\n if (returnValue === undefined) {\n if (args.length === 0) {\n _this.$emit(emitName);\n }\n else if (args.length === 1) {\n _this.$emit(emitName, args[0]);\n }\n else {\n _this.$emit.apply(_this, [emitName].concat(args));\n }\n }\n else {\n if (args.length === 0) {\n _this.$emit(emitName, returnValue);\n }\n else if (args.length === 1) {\n _this.$emit(emitName, returnValue, args[0]);\n }\n else {\n _this.$emit.apply(_this, [emitName, returnValue].concat(args));\n }\n }\n };\n var returnValue = original.apply(this, args);\n if (isPromise(returnValue)) {\n returnValue.then(function (returnValue) {\n emit(returnValue);\n });\n }\n else {\n emit(returnValue);\n }\n return returnValue;\n };\n };\n}\n/**\n * decorator of a ref prop\n * @param refKey the ref key defined in template\n */\nexport function Ref(refKey) {\n return createDecorator(function (options, key) {\n options.computed = options.computed || {};\n options.computed[key] = {\n cache: false,\n get: function () {\n return this.$refs[refKey || key];\n },\n };\n });\n}\nfunction isPromise(obj) {\n return obj instanceof Promise || (obj && typeof obj.then === 'function');\n}\n","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n [\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"HousingType\",\n \"validation-errors\": _vm.validationErrors,\n },\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"form-group basic-info\",\n attrs: { \"data-validation-id\": \"HousingType\" },\n },\n [\n _vm.loadingIndicator\n ? _c(\"loading-indicator\", { staticClass: \"loading-indicator\" })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"b-form-group\", {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\",\n },\n }),\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Asumismuoto\"))),\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n [\n _c(\n \"b-button\",\n {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n class: {\n active:\n _vm.housingType == _vm.HousingTypeEnum.APARTMENTHOUSE,\n },\n attrs: {\n disabled: _vm.loadingIndicator,\n value: _vm.HousingTypeEnum.APARTMENTHOUSE,\n variant: \"outline-primary\",\n name: \"housingType\",\n },\n on: { click: _vm.handleApartmentHouse },\n },\n [\n _c(\n \"div\",\n [\n _c(\"b-img\", {\n staticClass: \"small\",\n attrs: {\n src: \"/Content/PBE/images/kerrostalo.png\",\n },\n }),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"span\", {\n staticClass: \"title\",\n domProps: {\n textContent: _vm._s(\n _vm.housingTypeString(\n _vm.HousingTypeEnum.APARTMENTHOUSE\n )\n ),\n },\n }),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-button\",\n {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n class: {\n active:\n _vm.housingType == _vm.HousingTypeEnum.TERRACEDHOUSE,\n },\n attrs: {\n disabled: _vm.loadingIndicator,\n value: _vm.HousingTypeEnum.TERRACEDHOUSE,\n variant: \"outline-primary\",\n name: \"housingType\",\n },\n on: { click: _vm.handleTerracedHouse },\n },\n [\n _c(\n \"div\",\n [\n _c(\"b-img\", {\n staticClass: \"small\",\n attrs: { src: \"/Content/PBE/images/rivitalo.png\" },\n }),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"span\", {\n staticClass: \"title\",\n domProps: {\n textContent: _vm._s(\n _vm.housingTypeString(\n _vm.HousingTypeEnum.TERRACEDHOUSE\n )\n ),\n },\n }),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-button\",\n {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n class: {\n active: _vm.housingType == _vm.HousingTypeEnum.HOUSE,\n },\n attrs: {\n disabled: _vm.loadingIndicator,\n value: _vm.HousingTypeEnum.HOUSE,\n variant: \"outline-primary\",\n name: \"housingType\",\n },\n on: { click: _vm.handleHouse },\n },\n [\n _c(\n \"div\",\n [\n _c(\"b-img\", {\n staticClass: \"small\",\n attrs: {\n src: \"/Content/PBE/images/omakotitalo.png\",\n },\n }),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"span\", {\n staticClass: \"title\",\n domProps: {\n textContent: _vm._s(\n _vm.housingTypeString(_vm.HousingTypeEnum.HOUSE)\n ),\n },\n }),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-button\",\n {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n class: {\n active: _vm.housingType == _vm.HousingTypeEnum.COTTAGE,\n },\n attrs: {\n disabled: _vm.loadingIndicator,\n value: _vm.HousingTypeEnum.COTTAGE,\n variant: \"outline-primary\",\n name: \"housingType\",\n },\n on: { click: _vm.handleCottage },\n },\n [\n _c(\n \"div\",\n [\n _c(\"b-img\", {\n staticClass: \"small\",\n attrs: {\n src: \"/Content/PBE/images/vapaaajanasunto.png\",\n },\n }),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"span\", {\n staticClass: \"title\",\n domProps: {\n textContent: _vm._s(\n _vm.housingTypeString(_vm.HousingTypeEnum.COTTAGE)\n ),\n },\n }),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-button\",\n {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n class: {\n active:\n _vm.housingType == _vm.HousingTypeEnum.DOUBLEHOUSE,\n },\n attrs: {\n disabled: _vm.loadingIndicator,\n value: _vm.HousingTypeEnum.DOUBLEHOUSE,\n variant: \"outline-primary\",\n name: \"housingType\",\n },\n on: { click: _vm.handleDoubleHouse },\n },\n [\n _c(\n \"div\",\n [\n _c(\"b-img\", {\n staticClass: \"small\",\n attrs: { src: \"/Content/PBE/images/paritalo.png\" },\n }),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"span\", {\n staticClass: \"title\",\n domProps: {\n textContent: _vm._s(\n _vm.housingTypeString(\n _vm.HousingTypeEnum.DOUBLEHOUSE\n )\n ),\n },\n }),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-button\",\n {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n class: {\n active: _vm.housingType == _vm.HousingTypeEnum.OTHER,\n },\n attrs: {\n disabled: _vm.loadingIndicator,\n value: _vm.HousingTypeEnum.OTHER,\n variant: \"outline-primary\",\n name: \"housingType\",\n },\n on: { click: _vm.handleHousingTypeOther },\n },\n [\n _c(\n \"div\",\n [\n _c(\"b-img\", {\n staticClass: \"small\",\n attrs: {\n src: \"/Content/PBE/images/muuasumismuoto.png\",\n },\n }),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"span\", {\n staticClass: \"title\",\n domProps: {\n textContent: _vm._s(\n _vm.housingTypeString(_vm.HousingTypeEnum.OTHER)\n ),\n },\n }),\n ]\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n [\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"HeatingType\",\n \"validation-errors\": _vm.validationErrors,\n },\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"col-xs-12 form-group basic-info\",\n attrs: { \"data-validation-id\": \"HeatingType\" },\n },\n [\n _c(\"b-form-group\", {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\",\n },\n }),\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Pääasiallinen lämmitystapa\"))),\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n [\n _c(\n \"b-button\",\n {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n class: {\n active:\n _vm.heatingType ==\n _vm.HeatingTypeEnum.ELECTRICITY,\n },\n attrs: {\n disabled: _vm.loadingIndicator,\n value: _vm.HeatingTypeEnum.ELECTRICITY,\n variant: \"outline-primary\",\n name: \"heatingType\",\n },\n on: { click: _vm.handleElectricity },\n },\n [\n _c(\n \"div\",\n [\n _c(\"b-img\", {\n staticClass: \"small\",\n attrs: { src: \"/Content/PBE/images/sahko.png\" },\n }),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"span\", {\n staticClass: \"title\",\n domProps: {\n textContent: _vm._s(\n _vm.heatingTypeString(\n _vm.HeatingTypeEnum.ELECTRICITY\n )\n ),\n },\n }),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-button\",\n {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n class: {\n active:\n _vm.heatingType ==\n _vm.HeatingTypeEnum.DISTRICTHEATING,\n },\n attrs: {\n disabled: _vm.loadingIndicator,\n value: _vm.HeatingTypeEnum.DISTRICTHEATING,\n variant: \"outline-primary\",\n name: \"heatingType\",\n },\n on: { click: _vm.handleDH },\n },\n [\n _c(\n \"div\",\n [\n _c(\"b-img\", {\n staticClass: \"small\",\n attrs: {\n src: \"/Content/PBE/images/kaukolampo.png\",\n },\n }),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"span\", {\n staticClass: \"title\",\n domProps: {\n textContent: _vm._s(\n _vm.heatingTypeString(\n _vm.HeatingTypeEnum.DISTRICTHEATING\n )\n ),\n },\n }),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-button\",\n {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n class: {\n active:\n _vm.heatingType == _vm.HeatingTypeEnum.GEOTHERMAL,\n },\n attrs: {\n disabled: _vm.loadingIndicator,\n value: _vm.HeatingTypeEnum.GEOTHERMAL,\n variant: \"outline-primary\",\n name: \"heatingType\",\n },\n on: { click: _vm.handleML },\n },\n [\n _c(\n \"div\",\n [\n _c(\"b-img\", {\n staticClass: \"small\",\n attrs: {\n src: \"/Content/PBE/images/maalampo.png\",\n },\n }),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"span\", {\n staticClass: \"title\",\n domProps: {\n textContent: _vm._s(\n _vm.heatingTypeString(\n _vm.HeatingTypeEnum.GEOTHERMAL\n )\n ),\n },\n }),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-button\",\n {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n class: {\n active: _vm.heatingType == _vm.HeatingTypeEnum.OIL,\n },\n attrs: {\n disabled: _vm.loadingIndicator,\n value: _vm.HeatingTypeEnum.OIL,\n variant: \"outline-primary\",\n name: \"heatingType\",\n },\n on: { click: _vm.handleOIL },\n },\n [\n _c(\n \"div\",\n [\n _c(\"b-img\", {\n staticClass: \"small\",\n attrs: { src: \"/Content/PBE/images/oljy.png\" },\n }),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"span\", {\n staticClass: \"title\",\n domProps: {\n textContent: _vm._s(\n _vm.heatingTypeString(_vm.HeatingTypeEnum.OIL)\n ),\n },\n }),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-button\",\n {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n class: {\n active:\n _vm.heatingType == _vm.HeatingTypeEnum.OTHER,\n },\n attrs: {\n disabled: _vm.loadingIndicator,\n value: _vm.HeatingTypeEnum.OTHER,\n variant: \"outline-primary\",\n name: \"heatingType\",\n },\n on: { click: _vm.handleOTHER },\n },\n [\n _c(\n \"div\",\n [\n _c(\"b-img\", {\n staticClass: \"small\",\n attrs: {\n src: \"/Content/PBE/images/muulammitysmuoto.png\",\n },\n }),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"span\", {\n staticClass: \"title\",\n domProps: {\n textContent: _vm._s(\n _vm.heatingTypeString(_vm.HeatingTypeEnum.OTHER)\n ),\n },\n }),\n ]\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ]\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-container\",\n [\n _c(\n \"b-row\",\n [\n _c(\n \"b-col\",\n { attrs: { md: \"6\", lg: \"4\" } },\n [\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"Tarification\",\n \"validation-errors\": _vm.validationErrors,\n },\n },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\",\n },\n },\n [\n _c(\n \"label\",\n { staticClass: \"font-weight-bold pt-0\" },\n [_vm._v(_vm._s(_vm.$t(\"Mittaustapa\")))]\n ),\n _vm._v(\" \"),\n _vm.contract.CustomerType ==\n _vm.CustomerTypeEnum.CONSUMER\n ? _c(\"b-form-select\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n staticClass: \"form-control no-select-caret\",\n attrs: {\n disabled: _vm.loadingIndicator,\n \"bootstrap-styling\": true,\n \"aria-describedby\": \"tariff-help-block\",\n name: \"tarification\",\n value: _vm.tarification,\n options: _vm.tarifications,\n },\n })\n : _c(\"b-form-select\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n staticClass: \"form-control no-select-caret\",\n attrs: {\n \"bootstrap-styling\": true,\n \"aria-describedby\": \"tariff-help-block\",\n name: \"tarification\",\n value: _vm.tarification,\n options: _vm.tarifications,\n },\n }),\n _vm._v(\" \"),\n _c(\n \"b-form-text\",\n {\n attrs: {\n id: \"tariff-help-block\",\n \"text-variant\": \"danger\",\n },\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.$t(\n \"Jos et tiedä mittaustapaa, valitse yleissähkö. Mittaustavan voi vaihtaa myöhemmin. Jos haluat valita Spot-tuotetta, valitse aina yleissähkö.\"\n )\n ) +\n \"\\n \"\n ),\n ]\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-row\",\n [\n _c(\n \"b-col\",\n { attrs: { md: \"6\", lg: \"4\" } },\n [\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"HouseArea\",\n \"validation-errors\": _vm.validationErrors,\n },\n },\n [\n _c(\"b-form-group\", {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\",\n },\n }),\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Kohteen pinta-ala\"))),\n ]),\n _vm._v(\" \"),\n _c(\n \"b-input-group\",\n { attrs: { append: \"m²\" } },\n [\n _c(\"b-form-select\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n staticClass: \"no-select-caret\",\n attrs: {\n name: \"area\",\n value: _vm.houseArea,\n options: _vm.houseAreas,\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-container\",\n [\n _c(\n \"b-row\",\n [\n _c(\n \"b-col\",\n { attrs: { md: \"6\", lg: \"4\" } },\n [\n _vm.tarification == 0 || _vm.tarification == 1\n ? _c(\n \"div\",\n [\n _c(\"b-form-group\", {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\",\n },\n }),\n _c(\n \"label\",\n { staticClass: \"font-weight-bold pt-0\" },\n [_vm._v(_vm._s(_vm.$t(\"Vuosikulutus (arvio)\")))]\n ),\n ],\n 1\n )\n : _c(\n \"div\",\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\",\n },\n },\n [\n _vm.tarification == 2\n ? _c(\n \"label\",\n { staticClass: \"font-weight-bold pt-0\" },\n [\n _vm._v(\n _vm._s(\n _vm.$t(\"Vuosikulutus (arvio) päivä\")\n )\n ),\n ]\n )\n : _c(\n \"label\",\n { staticClass: \"font-weight-bold pt-0\" },\n [\n _vm._v(\n _vm._s(\n _vm.$t(\n \"Vuosikulutus (arvio) talviarkipäivä\"\n )\n )\n ),\n ]\n ),\n ]\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-input-group\",\n { attrs: { append: \"kWh\" } },\n [\n _c(\"b-form-input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n attrs: {\n type: \"text\",\n name: \"energy1\",\n id: \"energy1\",\n value: _vm.energy1,\n },\n }),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"b-form-input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n attrs: {\n type: \"range\",\n min: \"500\",\n max: \"40000\",\n value: _vm.energy1,\n name: \"energy1\",\n id: \"energy1\",\n },\n }),\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.showEnergy2Consumption\n ? _c(\n \"b-col\",\n { attrs: { md: \"5\" } },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\",\n },\n },\n [\n _vm.tarification == 2\n ? _c(\n \"label\",\n { staticClass: \"font-weight-bold pt-0\" },\n [\n _vm._v(\n _vm._s(_vm.$t(\"Vuosikulutus (arvio) yö\"))\n ),\n ]\n )\n : _c(\n \"label\",\n { staticClass: \"font-weight-bold pt-0\" },\n [\n _vm._v(\n _vm._s(\n _vm.$t(\"Vuosikulutus (arvio) muu aika\")\n )\n ),\n ]\n ),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-input-group\",\n { attrs: { append: \"kWh\" } },\n [\n _c(\"b-form-input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n attrs: {\n type: \"text\",\n name: \"energy2\",\n id: \"energy2\",\n value: _vm.energy2,\n },\n }),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"b-form-input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n attrs: {\n type: \"range\",\n min: \"500\",\n max: \"40000\",\n value: _vm.energy2,\n name: \"energy2\",\n id: \"energy2\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n class: {\n \"has-error\": _vm.validationErrors.has(_vm.validationId),\n \"form-group\": true,\n },\n attrs: { \"data-validation-id\": _vm.validationId },\n },\n [\n _vm._t(\"default\"),\n _vm._v(\" \"),\n _vm._t(\"validation-message\", function () {\n return [\n _vm.validationErrors.has(_vm.validationId)\n ? _c(\"validation-message\", {\n staticClass: \"help-block\",\n attrs: {\n \"validation-id\": _vm.validationId,\n \"validation-errors\": _vm.validationErrors,\n },\n })\n : _vm._e(),\n ]\n }),\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"span\", [_vm._v(\"\\n \" + _vm._s(_vm.message) + \"\\n\")])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import Vue from \"vue\"\r\nimport { Component, Prop, Emit } from \"vue-property-decorator\"\r\nimport { ValidationErrors } from \"../../new-contract-vue\";\r\n\r\n@Component({\r\n})\r\n\r\nexport default class ValidationMessage extends Vue {\r\n @Prop()\r\n public validationErrors: ValidationErrors;\r\n @Prop()\r\n public validationId: string;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n get message(): string {\r\n if (this.validationErrors != null && this.validationErrors.has(this.validationId))\r\n return this.validationErrors.get(this.validationId);\r\n return null;\r\n }\r\n}","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./validation-message.ts?vue&type=script&lang=js&external\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./validation-message.ts?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"./validation-message.vue?vue&type=template&id=42e270c0\"\nimport script from \"./validation-message.ts?vue&type=script&lang=js&external\"\nexport * from \"./validation-message.ts?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\r\nimport { Component, Prop, Emit } from \"vue-property-decorator\";\r\nimport ValidationMessage from \"./validation-message.vue\";\r\nimport { ValidationErrors } from \"../../new-contract-vue\";\r\n\r\n@Component({\r\n components: { ValidationMessage }\r\n})\r\n\r\nexport default class ValidatedFormGroup extends Vue {\r\n @Prop()\r\n public validationErrors: ValidationErrors;\r\n @Prop()\r\n public validationId: string;\r\n\r\n constructor() {\r\n super();\r\n\r\n if (this.validationErrors == null)\r\n console.error(\"Property validationErrors not set!\");\r\n }\r\n}","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./validated-form-group.ts?vue&type=script&lang=js&external\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./validated-form-group.ts?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"./validated-form-group.vue?vue&type=template&id=dd9932ee\"\nimport script from \"./validated-form-group.ts?vue&type=script&lang=js&external\"\nexport * from \"./validated-form-group.ts?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"vue-simple-suggest\",\n {\n attrs: {\n \"value-attribute\": \"option_value\",\n \"display-attribute\": \"postal\",\n list: _vm.searchForPostalCodes,\n \"max-suggestions\": 8,\n styles: _vm.autoCompleteStyle,\n destyled: true,\n debounce: 100,\n mode: \"select\",\n },\n on: { select: _vm.itemSelected, blur: _vm.onBlur, focus: _vm.onFocus },\n model: {\n value: _vm.selectedItem,\n callback: function ($$v) {\n _vm.selectedItem = $$v\n },\n expression: \"selectedItem\",\n },\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.query,\n expression: \"query\",\n },\n ],\n staticClass: \"form-control\",\n attrs: {\n \"aria-label\": \"Postinumero\",\n type: \"text\",\n maxlength: \"20\",\n disabled: _vm.disabled,\n },\n domProps: { value: _vm.query },\n on: {\n input: function ($event) {\n if ($event.target.composing) {\n return\n }\n _vm.query = $event.target.value\n },\n },\n }),\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","const defaultControls = {\n selectionUp: [38],\n selectionDown: [40],\n select: [13],\n hideList: [27],\n showList: [40],\n autocomplete: [32, 13]\n};\n\nconst modes = {\n input: String,\n select: Object\n};\n\nfunction fromPath(obj, path) {\n return path.split('.').reduce((o, i) => o === Object(o) ? o[i] : o, obj);\n}\n\nfunction hasKeyCode(arr, event) {\n return hasKeyCodeByCode(arr, event.keyCode);\n}\n\nfunction hasKeyCodeByCode(arr, keyCode) {\n if (arr.length <= 0) return false;\n\n const has = arr => arr.some(code => code === keyCode);\n if (Array.isArray(arr[0])) {\n return arr.some(array => has(array));\n } else {\n return has(arr);\n }\n}\n\nfunction _await(value, then, direct) {\n if (direct) {\n return then ? then(value) : value;\n }if (!value || !value.then) {\n value = Promise.resolve(value);\n }return then ? value.then(then) : value;\n}function _async(f) {\n return function () {\n for (var args = [], i = 0; i < arguments.length; i++) {\n args[i] = arguments[i];\n }try {\n return Promise.resolve(f.apply(this, args));\n } catch (e) {\n return Promise.reject(e);\n }\n };\n}function _empty() {}function _awaitIgnored(value, direct) {\n if (!direct) {\n return value && value.then ? value.then(_empty) : Promise.resolve();\n }\n}function _invoke(body, then) {\n var result = body();if (result && result.then) {\n return result.then(then);\n }return then(result);\n}function _invokeIgnored(body) {\n var result = body();if (result && result.then) {\n return result.then(_empty);\n }\n}function _catch(body, recover) {\n try {\n var result = body();\n } catch (e) {\n return recover(e);\n }\n if (result && result.then) {\n return result.then(void 0, recover);\n }\n return result;\n}function _finally(body, finalizer) {\n try {\n var result = body();\n } catch (e) {\n return finalizer();\n }if (result && result.then) {\n return result.then(finalizer, finalizer);\n }return finalizer();\n}var VueSimpleSuggest = {\n render: function () {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"vue-simple-suggest\", class: [_vm.styles.vueSimpleSuggest, { designed: !_vm.destyled, focus: _vm.isInFocus }], on: { \"keydown\": function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"tab\", 9, $event.key, \"Tab\")) {\n return null;\n }_vm.isTabbed = true;\n } } }, [_c('div', { ref: \"inputSlot\", staticClass: \"input-wrapper\", class: _vm.styles.inputWrapper, attrs: { \"role\": \"combobox\", \"aria-haspopup\": \"listbox\", \"aria-owns\": _vm.listId, \"aria-expanded\": !!_vm.listShown && !_vm.removeList ? 'true' : 'false' } }, [_vm._t(\"default\", [_c('input', _vm._b({ staticClass: \"default-input\", class: _vm.styles.defaultInput, domProps: { \"value\": _vm.text || '' } }, 'input', _vm.$attrs, false))])], 2), _vm._v(\" \"), _c('transition', { attrs: { \"name\": \"vue-simple-suggest\" } }, [!!_vm.listShown && !_vm.removeList ? _c('ul', { staticClass: \"suggestions\", class: _vm.styles.suggestions, attrs: { \"id\": _vm.listId, \"role\": \"listbox\", \"aria-labelledby\": _vm.listId } }, [!!this.$scopedSlots['misc-item-above'] ? _c('li', [_vm._t(\"misc-item-above\", null, { \"suggestions\": _vm.suggestions, \"query\": _vm.text })], 2) : _vm._e(), _vm._v(\" \"), _vm._l(_vm.suggestions, function (suggestion, index) {\n return _c('li', { key: _vm.getId(suggestion, index), staticClass: \"suggest-item\", class: [_vm.styles.suggestItem, {\n selected: _vm.isSelected(suggestion),\n hover: _vm.isHovered(suggestion)\n }], attrs: { \"role\": \"option\", \"aria-selected\": _vm.isHovered(suggestion) || _vm.isSelected(suggestion) ? 'true' : 'false', \"id\": _vm.getId(suggestion, index) }, on: { \"mouseenter\": function ($event) {\n return _vm.hover(suggestion, $event.target);\n }, \"mouseleave\": function ($event) {\n return _vm.hover(undefined);\n }, \"click\": function ($event) {\n return _vm.suggestionClick(suggestion, $event);\n } } }, [_vm._t(\"suggestion-item\", [_c('span', [_vm._v(_vm._s(_vm.displayProperty(suggestion)))])], { \"autocomplete\": function () {\n return _vm.autocompleteText(suggestion);\n }, \"suggestion\": suggestion, \"query\": _vm.text })], 2);\n }), _vm._v(\" \"), !!this.$scopedSlots['misc-item-below'] ? _c('li', [_vm._t(\"misc-item-below\", null, { \"suggestions\": _vm.suggestions, \"query\": _vm.text })], 2) : _vm._e()], 2) : _vm._e()])], 1);\n },\n staticRenderFns: [],\n name: 'vue-simple-suggest',\n inheritAttrs: false,\n model: {\n prop: 'value',\n event: 'input'\n },\n props: {\n styles: {\n type: Object,\n default: () => ({})\n },\n controls: {\n type: Object,\n default: () => defaultControls\n },\n minLength: {\n type: Number,\n default: 1\n },\n maxSuggestions: {\n type: Number,\n default: 10\n },\n displayAttribute: {\n type: String,\n default: 'title'\n },\n valueAttribute: {\n type: String,\n default: 'id'\n },\n list: {\n type: [Function, Array],\n default: () => []\n },\n removeList: {\n type: Boolean,\n default: false\n },\n destyled: {\n type: Boolean,\n default: false\n },\n filterByQuery: {\n type: Boolean,\n default: false\n },\n filter: {\n type: Function,\n default(el, value) {\n return value ? ~this.displayProperty(el).toLowerCase().indexOf(value.toLowerCase()) : true;\n }\n },\n debounce: {\n type: Number,\n default: 0\n },\n nullableSelect: {\n type: Boolean,\n default: false\n },\n value: {},\n mode: {\n type: String,\n default: 'input',\n validator: value => !!~Object.keys(modes).indexOf(value.toLowerCase())\n }\n },\n // Handle run-time mode changes (now working):\n watch: {\n mode: {\n handler(current, old) {\n this.constructor.options.model.event = current;\n\n // Can be null if the component is root\n this.$parent && this.$parent.$forceUpdate();\n\n this.$nextTick(() => {\n if (current === 'input') {\n this.$emit('input', this.text);\n } else {\n this.$emit('select', this.selected);\n }\n });\n },\n immediate: true\n },\n value: {\n handler(current) {\n if (typeof current !== 'string') {\n current = this.displayProperty(current);\n }\n this.updateTextOutside(current);\n },\n immediate: true\n }\n },\n //\n data() {\n return {\n selected: null,\n hovered: null,\n suggestions: [],\n listShown: false,\n inputElement: null,\n canSend: true,\n timeoutInstance: null,\n text: this.value,\n isPlainSuggestion: false,\n isClicking: false,\n isInFocus: false,\n isFalseFocus: false,\n isTabbed: false,\n controlScheme: {},\n listId: `${this._uid}-suggestions`\n };\n },\n computed: {\n listIsRequest() {\n return typeof this.list === 'function';\n },\n inputIsComponent() {\n return this.$slots.default && this.$slots.default.length > 0 && !!this.$slots.default[0].componentInstance;\n },\n input() {\n return this.inputIsComponent ? this.$slots.default[0].componentInstance : this.inputElement;\n },\n on() {\n return this.inputIsComponent ? '$on' : 'addEventListener';\n },\n off() {\n return this.inputIsComponent ? '$off' : 'removeEventListener';\n },\n hoveredIndex() {\n for (let i = 0; i < this.suggestions.length; i++) {\n const el = this.suggestions[i];\n if (this.hovered && this.valueProperty(this.hovered) == this.valueProperty(el)) {\n return i;\n }\n }\n return -1;\n },\n textLength() {\n return this.text && this.text.length || this.inputElement.value.length || 0;\n },\n isSelectedUpToDate() {\n return !!this.selected && this.displayProperty(this.selected) === this.text;\n }\n },\n created() {\n this.controlScheme = Object.assign({}, defaultControls, this.controls);\n },\n mounted: _async(function () {\n const _this = this;\n\n return _await(_this.$slots.default, function () {\n\n _this.inputElement = _this.$refs['inputSlot'].querySelector('input');\n\n if (_this.inputElement) {\n _this.setInputAriaAttributes();\n _this.prepareEventHandlers(true);\n } else {\n console.error('No input element found');\n }\n });\n }),\n\n beforeDestroy() {\n this.prepareEventHandlers(false);\n },\n methods: {\n isEqual(suggestion, item) {\n return item && this.valueProperty(suggestion) == this.valueProperty(item);\n },\n isSelected(suggestion) {\n return this.isEqual(suggestion, this.selected);\n },\n isHovered(suggestion) {\n return this.isEqual(suggestion, this.hovered);\n },\n setInputAriaAttributes() {\n this.inputElement.setAttribute('aria-activedescendant', '');\n this.inputElement.setAttribute('aria-autocomplete', 'list');\n this.inputElement.setAttribute('aria-controls', this.listId);\n },\n prepareEventHandlers(enable) {\n const binder = this[enable ? 'on' : 'off'];\n const keyEventsList = {\n click: this.showSuggestions,\n keydown: this.onKeyDown,\n keyup: this.onListKeyUp\n };\n const eventsList = Object.assign({\n blur: this.onBlur,\n focus: this.onFocus,\n input: this.onInput\n }, keyEventsList);\n\n for (const event in eventsList) {\n this.input[binder](event, eventsList[event]);\n }\n\n const listenerBinder = enable ? 'addEventListener' : 'removeEventListener';\n\n for (const event in keyEventsList) {\n this.inputElement[listenerBinder](event, keyEventsList[event]);\n }\n },\n isScopedSlotEmpty(slot) {\n if (slot) {\n const vNode = slot(this);\n return !(Array.isArray(vNode) || vNode && (vNode.tag || vNode.context || vNode.text || vNode.children));\n }\n\n return true;\n },\n miscSlotsAreEmpty() {\n const slots = ['misc-item-above', 'misc-item-below'].map(s => this.$scopedSlots[s]);\n\n if (slots.every(s => !!s)) {\n return slots.every(this.isScopedSlotEmpty.bind(this));\n }\n\n const slot = slots.find(s => !!s);\n\n return this.isScopedSlotEmpty.call(this, slot);\n },\n getPropertyByAttribute(obj, attr) {\n return this.isPlainSuggestion ? obj : typeof obj !== undefined ? fromPath(obj, attr) : obj;\n },\n displayProperty(obj) {\n if (this.isPlainSuggestion) {\n return obj;\n }\n\n let display = this.getPropertyByAttribute(obj, this.displayAttribute);\n\n if (typeof display === 'undefined') {\n display = JSON.stringify(obj);\n\n if (process && ~process.env.NODE_ENV.indexOf('dev')) {\n console.warn('[vue-simple-suggest]: Please, provide `display-attribute` as a key or a dotted path for a property from your object.');\n }\n }\n\n return String(display || '');\n },\n valueProperty(obj) {\n if (this.isPlainSuggestion) {\n return obj;\n }\n\n const value = this.getPropertyByAttribute(obj, this.valueAttribute);\n\n if (typeof value === 'undefined') {\n console.error(`[vue-simple-suggest]: Please, check if you passed 'value-attribute' (default is 'id') and 'display-attribute' (default is 'title') props correctly.\n Your list objects should always contain a unique identifier.`);\n }\n\n return value;\n },\n\n autocompleteText(suggestion) {\n this.setText(this.displayProperty(suggestion));\n },\n setText(text) {\n this.$nextTick(() => {\n this.inputElement.value = text;\n this.text = text;\n this.$emit('input', text);\n });\n },\n select(item) {\n if (this.selected !== item || this.nullableSelect && !item) {\n this.selected = item;\n this.$emit('select', item);\n\n if (item) {\n this.autocompleteText(item);\n }\n }\n\n this.hover(null);\n },\n hover(item, elem) {\n const elemId = !!item ? this.getId(item, this.hoveredIndex) : '';\n\n this.inputElement.setAttribute('aria-activedescendant', elemId);\n\n if (item && item !== this.hovered) {\n this.$emit('hover', item, elem);\n }\n\n this.hovered = item;\n },\n hideList() {\n if (this.listShown) {\n this.listShown = false;\n this.hover(null);\n this.$emit('hide-list');\n }\n },\n showList() {\n if (!this.listShown) {\n if (this.textLength >= this.minLength && (this.suggestions.length > 0 || !this.miscSlotsAreEmpty())) {\n this.listShown = true;\n this.$emit('show-list');\n }\n }\n },\n showSuggestions: _async(function () {\n const _this2 = this;\n\n return _invoke(function () {\n if (_this2.suggestions.length === 0 && _this2.minLength <= _this2.textLength) {\n // try show misc slots while researching\n _this2.showList();\n return _awaitIgnored(_this2.research());\n }\n }, function () {\n\n _this2.showList();\n });\n }),\n\n onShowList(e) {\n if (hasKeyCode(this.controlScheme.showList, e)) {\n this.showSuggestions();\n }\n },\n moveSelection(e) {\n if (!this.listShown || !this.suggestions.length) return;\n if (hasKeyCode([this.controlScheme.selectionUp, this.controlScheme.selectionDown], e)) {\n e.preventDefault();\n\n const isMovingDown = hasKeyCode(this.controlScheme.selectionDown, e);\n const direction = isMovingDown * 2 - 1;\n const listEdge = isMovingDown ? 0 : this.suggestions.length - 1;\n const hoversBetweenEdges = isMovingDown ? this.hoveredIndex < this.suggestions.length - 1 : this.hoveredIndex > 0;\n\n let item = null;\n\n if (!this.hovered) {\n item = this.selected || this.suggestions[listEdge];\n } else if (hoversBetweenEdges) {\n item = this.suggestions[this.hoveredIndex + direction];\n } else /* if hovers on edge */{\n item = this.suggestions[listEdge];\n }\n this.hover(item);\n }\n },\n onKeyDown(e) {\n const select = this.controlScheme.select,\n hideList = this.controlScheme.hideList;\n\n // prevent form submit on keydown if Enter key registered in the keyup list\n if (e.key === 'Enter' && this.listShown && hasKeyCodeByCode([select, hideList], 13)) {\n e.preventDefault();\n }\n\n if (e.key === 'Tab' && this.hovered) {\n this.select(this.hovered);\n }\n\n this.onShowList(e);\n this.moveSelection(e);\n this.onAutocomplete(e);\n },\n onListKeyUp(e) {\n const select = this.controlScheme.select,\n hideList = this.controlScheme.hideList;\n\n if (this.listShown && hasKeyCode([select, hideList], e)) {\n e.preventDefault();\n if (hasKeyCode(select, e)) {\n this.select(this.hovered);\n }\n\n this.hideList();\n }\n },\n onAutocomplete(e) {\n if (hasKeyCode(this.controlScheme.autocomplete, e) && (e.ctrlKey || e.shiftKey) && this.suggestions.length > 0 && this.suggestions[0] && this.listShown) {\n e.preventDefault();\n this.hover(this.suggestions[0]);\n this.autocompleteText(this.suggestions[0]);\n }\n },\n suggestionClick(suggestion, e) {\n this.$emit('suggestion-click', suggestion, e);\n this.select(suggestion);\n this.hideList();\n\n /// Ensure, that all needed flags are off before finishing the click.\n this.isClicking = false;\n },\n onBlur(e) {\n if (this.isInFocus) {\n\n /// Clicking starts here, because input's blur occurs before the suggestionClick\n /// and exactly when the user clicks the mouse button or taps the screen.\n this.isClicking = this.hovered && !this.isTabbed;\n\n if (!this.isClicking) {\n this.isInFocus = false;\n this.hideList();\n\n this.$emit('blur', e);\n } else if (e && e.isTrusted && !this.isTabbed) {\n this.isFalseFocus = true;\n setTimeout(() => {\n this.inputElement.focus();\n }, 0);\n }\n } else {\n this.inputElement.blur();\n console.error(`This should never happen!\n If you encountered this error, please make sure that your input component emits 'focus' events properly.\n For more info see https://github.com/KazanExpress/vue-simple-suggest#custom-input.\n\n If your 'vue-simple-suggest' setup does not include a custom input component - please,\n report to https://github.com/KazanExpress/vue-simple-suggest/issues/new`);\n }\n\n this.isTabbed = false;\n },\n onFocus(e) {\n this.isInFocus = true;\n\n // Only emit, if it was a native input focus\n if (e && !this.isFalseFocus) {\n this.$emit('focus', e);\n }\n\n // Show list only if the item has not been clicked (isFalseFocus indicates that click was made earlier)\n if (!this.isClicking && !this.isFalseFocus) {\n this.showSuggestions();\n }\n\n this.isFalseFocus = false;\n },\n onInput(inputEvent) {\n const value = !inputEvent.target ? inputEvent : inputEvent.target.value;\n\n this.updateTextOutside(value);\n this.$emit('input', value);\n },\n updateTextOutside(value) {\n if (this.text === value) {\n return;\n }\n\n this.text = value;\n if (this.hovered) this.hover(null);\n\n if (this.text.length < this.minLength) {\n this.hideList();\n return;\n }\n\n if (this.debounce) {\n clearTimeout(this.timeoutInstance);\n this.timeoutInstance = setTimeout(this.research, this.debounce);\n } else {\n this.research();\n }\n },\n research: _async(function () {\n const _this3 = this;\n\n return _finally(function () {\n return _catch(function () {\n return _invokeIgnored(function () {\n if (_this3.canSend) {\n _this3.canSend = false;\n // @TODO: fix when promises will be cancelable (never :D)\n let textBeforeRequest = _this3.text;\n return _await(_this3.getSuggestions(_this3.text), function (newList) {\n if (textBeforeRequest === _this3.text) {\n _this3.$set(_this3, 'suggestions', newList);\n }\n });\n }\n });\n }, function (e) {\n _this3.clearSuggestions();\n throw e;\n });\n }, function () {\n _this3.canSend = true;\n\n if (_this3.suggestions.length === 0 && _this3.miscSlotsAreEmpty()) {\n _this3.hideList();\n } else if (_this3.isInFocus) {\n _this3.showList();\n }\n\n return _this3.suggestions;\n });\n }),\n getSuggestions: _async(function (value) {\n const _this4 = this;\n\n value = value || '';\n\n if (value.length < _this4.minLength) {\n return [];\n }\n\n _this4.selected = null;\n\n // Start request if can\n if (_this4.listIsRequest) {\n _this4.$emit('request-start', value);\n }\n\n let result = [];\n return _finally(function () {\n return _catch(function () {\n return _invoke(function () {\n if (_this4.listIsRequest) {\n return _await(_this4.list(value), function (_this4$list) {\n result = _this4$list || [];\n });\n } else {\n result = _this4.list;\n }\n }, function () {\n\n // IFF the result is not an array (just in case!) - make it an array\n if (!Array.isArray(result)) {\n result = [result];\n }\n\n _this4.isPlainSuggestion = typeof result[0] !== 'object' || Array.isArray(result[0]);\n\n if (_this4.filterByQuery) {\n result = result.filter(el => _this4.filter(el, value));\n }\n\n if (_this4.listIsRequest) {\n _this4.$emit('request-done', result);\n }\n });\n }, function (e) {\n if (_this4.listIsRequest) {\n _this4.$emit('request-failed', e);\n } else {\n throw e;\n }\n });\n }, function () {\n if (_this4.maxSuggestions) {\n result.splice(_this4.maxSuggestions);\n }\n\n return result;\n });\n }),\n\n clearSuggestions() {\n this.suggestions.splice(0);\n },\n getId(value, i) {\n return `${this.listId}-suggestion-${this.isPlainSuggestion ? i : this.valueProperty(value) || i}`;\n }\n }\n};\n\nexport default VueSimpleSuggest;\n","// Street autocomplete component for vue. Depends on vue-simple-suggest library.\r\nrequire(\"custom-event-polyfill\");\r\n\r\nimport Vue from \"vue\";\r\nimport { Component, Prop, Emit, Watch } from \"vue-property-decorator\";\r\nimport VueSimpleSuggest from 'vue-simple-suggest'\r\nimport 'vue-simple-suggest/dist/styles.css'\r\n\r\n// Internal\r\nclass Addr {\r\n // \r\n option_value: string;\r\n postal: string;\r\n postalCode: string;\r\n postOffice: string;\r\n locale: string\r\n constructor(postalCode: string, postOffice: string, locale: string) {\r\n\r\n this.option_value = postalCode + locale ?? \"\";\r\n this.postalCode = postalCode;\r\n this.postOffice = postOffice;\r\n this.postal = postalCode + \" \" + postOffice;\r\n this.locale = locale;\r\n }\r\n}\r\n\r\n@Component({\r\n components: {\r\n VueSimpleSuggest\r\n }\r\n})\r\n\r\nexport default class PostalAutocomplete extends Vue {\r\n \r\n @Prop({ required: true })\r\n value: string;\r\n @Prop()\r\n place: string;\r\n\r\n @Prop()\r\n streetLocale: string;\r\n\r\n @Prop({ default: false })\r\n disabled: boolean;\r\n\r\n @Watch(\"value\")\r\n valueChanged(newValue: string) {\r\n this.query = newValue;\r\n }\r\n\r\n private query = \"\";\r\n private office = \"\";\r\n selectedItem: Addr = new Addr(\"\", \"\", \"\");\r\n selectedLocale: string;\r\n\r\n autoCompleteStyle = {\r\n vueSimpleSuggest: \"position-relative\",\r\n inputWrapper: \"\",\r\n defaultInput: \"form-control\",\r\n suggestions: \"position-absolute list-group z-1000\",\r\n suggestItem: \"list-group-item\"\r\n }\r\n\r\n @Emit()\r\n postalCodeSelected(_postalCode: string, _locale: string) {\r\n }\r\n\r\n @Emit()\r\n postOfficeSelected(_postalOffice: string) {\r\n }\r\n\r\n mounted() {\r\n this.query = this.value;\r\n this.office = this.place;\r\n }\r\n \r\n searchForPostalCodes(query: string): Promise | Addr[] { \r\n return new Promise((resolve, reject) => {\r\n const hub = $.connection.commonHub.server;\r\n const locale = this.streetLocale;\r\n hub.searchZipCode(query, locale).done(function (data) {\r\n const addrs = [];\r\n for (let i = 0; i < data.length; ++i) {\r\n const searchItem = data[i];\r\n addrs.push(new Addr(searchItem.Item1, searchItem.Item2, searchItem.Item3));\r\n }\r\n resolve(addrs);\r\n });\r\n });\r\n }\r\n\r\n onBlur() {\r\n // this makes sure that postal code is emitted even when no item is selected\r\n if (this.query == null || this.query == \"\") {\r\n this.selectedLocale = null;\r\n }\r\n this.postalCodeSelected(this.query, this.selectedLocale);\r\n // post office is set to null if item isn't selected from the list\r\n //this.postOfficeSelected(this.office);\r\n }\r\n\r\n onFocus() {\r\n if (this.selectedItem) {\r\n this.selectedItem.postal = `${this.selectedItem.postalCode} ${this.selectedItem.postOffice}`;\r\n }\r\n }\r\n\r\n //itemSelected(item: string | Addr) {\r\n itemSelected(selected: Addr) {\r\n let postalCode = \"\";\r\n let postOffice = \"\";\r\n let locale = null;\r\n if (!selected) {\r\n postalCode = this.query;\r\n // When re-opening the modal, post office would set to an empty string, and thus the post office would be removed from the contract process.\r\n // This hack is to prevent removing selected office when initially loading modal with existing data.\r\n postOffice = this.office;\r\n this.office = \"\";\r\n }\r\n else {\r\n postalCode = selected.postalCode;\r\n postOffice = selected.postOffice;\r\n locale = selected.locale;\r\n // query is the string which user has typed so it might be something\r\n // like 701 so we need to autocomplete it with the selected value to\r\n // make sure that onBlur doesn't emit wrong value\r\n this.query = postalCode;\r\n this.office = postOffice;\r\n // change postal to be same as postalCode. without this the field\r\n // content would be \"70100 KUOPIO\" not \"70100\"\r\n this.selectedItem.postal = postalCode;\r\n this.selectedItem.locale = locale;\r\n }\r\n this.selectedLocale = locale;\r\n this.postalCodeSelected(postalCode, locale);\r\n this.postOfficeSelected(postOffice);\r\n }\r\n}","import mod from \"-!../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./postal-autocomplete.ts?vue&type=script&lang=ts&external\"; export default mod; export * from \"-!../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./postal-autocomplete.ts?vue&type=script&lang=ts&external\"","import { render, staticRenderFns } from \"./postal-autocomplete.vue?vue&type=template&id=a4426574\"\nimport script from \"./postal-autocomplete.ts?vue&type=script&lang=ts&external\"\nexport * from \"./postal-autocomplete.ts?vue&type=script&lang=ts&external\"\nimport style0 from \"./postal-autocomplete.vue?vue&type=style&index=0&id=a4426574&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","require(\"core-js/features/array/find-index\");\r\n\r\nimport { TarificationFormat, InvoicingMethodFormat, UtilityTypeFormat, ContractTypeFormat } from \"../../../../../Scripts/inpulse/FormatUtils\";\r\nimport { HousingTypeEnum, TarificationIdEnum, HeatingTypeEnum, InvoicingMethodEnum, FixedTermDurationUnit, UtilityTypeEnum, ContractTypeEnum } from \"../../../../../Scripts/inpulse/CommonEnums\";\r\nimport { IAddressViewModel, IContactPersonViewModel, IPriceListViewModel } from \"../../../../../Scripts/inpulse/I4UViewModels\";\r\nimport * as moment from \"moment-recent\";\r\n\r\nexport class TarificationFormatPBE {\r\n public static toString(tarification: TarificationIdEnum, locale: string = \"fi\"): string {\r\n let str = ((tarif: TarificationIdEnum): string => { \r\n switch (tarif) {\r\n case TarificationIdEnum.SINGLETARIF: return \"Yleissähkö\";\r\n case TarificationIdEnum.DAYNIGHTTARIF: return \"Aikasähkö\";\r\n default:\r\n return TarificationFormat.toString(tarif);\r\n }\r\n })(tarification);\r\n if (str === null) {\r\n if (locale === \"fi\") {\r\n return \"Ei valittu\";\r\n }\r\n else if (locale === \"sv\") {\r\n return \"Ej vald\";\r\n }\r\n }\r\n if (str !== null && locale === \"sv\") {\r\n switch (str) {\r\n case \"Yksiaika\": return \"Entid\";\r\n case \"Yö-päivä\": return \"Natt-Dag\";\r\n case \"Yleissähkö\": return \"Allmän el\";\r\n case \"Aikasähkö\": return \"Tidsel\";\r\n case \"Vuodenaikasähkö\": return \"Årstidsel\";\r\n }\r\n }\r\n return str;\r\n }\r\n}\r\n\r\nexport function UtilityTypeEnumDescription(utilityType: UtilityTypeEnum, locale: string = \"fi\"): string {\r\n let str = UtilityTypeFormat.toString(utilityType);\r\n switch (utilityType) {\r\n case UtilityTypeEnum.Electricity: {\r\n if (locale == \"fi\") {\r\n return \"Sähkö\";\r\n }\r\n else if (locale == \"sv\") {\r\n return \"El\";\r\n }\r\n break;\r\n }\r\n }\r\n return str;\r\n}\r\n\r\nexport function ContractTypeEnumDescription(contractType: ContractTypeEnum, locale: string = \"fi\"): string {\r\n let str = ContractTypeFormat.toString(contractType);\r\n switch (contractType) {\r\n case ContractTypeEnum.SalesContract: {\r\n if (locale == \"fi\") {\r\n return \"Myyntisopimus\";\r\n }\r\n else if (locale == \"sv\") {\r\n return \"Försäljningsavtal\";\r\n }\r\n break;\r\n }\r\n case ContractTypeEnum.NetworkContract: {\r\n if (locale == \"fi\") {\r\n return \"Verkkosopimus\";\r\n }\r\n else if (locale == \"sv\") {\r\n return \"Överföringavtal\";\r\n }\r\n break;\r\n }\r\n case ContractTypeEnum.ServiceContract: {\r\n if (locale == \"fi\") {\r\n return \"Palvelusopimus\";\r\n }\r\n else if (locale == \"sv\") {\r\n return \"Serviceavtal\";\r\n }\r\n break;\r\n }\r\n case ContractTypeEnum.SupplyContract: {\r\n if (locale == \"fi\") {\r\n return \"Toimitussopimus\";\r\n }\r\n else if (locale == \"sv\") {\r\n return \"Leveransavtal\";\r\n }\r\n break;\r\n }\r\n case ContractTypeEnum.PurchaseContract: {\r\n if (locale == \"fi\") {\r\n return \"Ostosopimus\";\r\n }\r\n else if (locale == \"sv\") {\r\n return \"Köpeavtal\";\r\n }\r\n break;\r\n }\r\n }\r\n return str;\r\n}\r\n\r\nexport function InvoicingMethodEnumDescription(invoicingMethod: InvoicingMethodEnum, locale: string = \"fi\"): string {\r\n let str = InvoicingMethodFormat.toString(invoicingMethod);\r\n switch (invoicingMethod) {\r\n case InvoicingMethodEnum.Paper: {\r\n if (locale == \"fi\") {\r\n return \"Paperilasku\";\r\n }\r\n else if (locale == \"sv\") {\r\n return \"Pappersfaktura\";\r\n }\r\n break;\r\n }\r\n case InvoicingMethodEnum.Email: {\r\n if (locale == \"fi\") {\r\n return \"Sähköpostilasku\";\r\n }\r\n else if (locale == \"sv\") {\r\n return \"E-postfaktura\";\r\n }\r\n break;\r\n }\r\n case InvoicingMethodEnum.ConsumerEInvoice: {\r\n if (locale == \"fi\") {\r\n return \"E-lasku\";\r\n }\r\n else if (locale == \"sv\") {\r\n return \"E-faktura\";\r\n }\r\n break;\r\n }\r\n case InvoicingMethodEnum.CompanyEInvoice: {\r\n if (locale == \"fi\") {\r\n return \"Verkkolasku\";\r\n }\r\n else if (locale == \"sv\") {\r\n return \"Nätfaktura\";\r\n }\r\n break;\r\n }\r\n }\r\n return str;\r\n}\r\n\r\nexport class AddressFormat {\r\n\r\n public static toSingleString(\r\n address: IAddressViewModel,\r\n options?: {\r\n country?: boolean,\r\n }) {\r\n if (address == null)\r\n return \"\";\r\n\r\n let str = \"\";\r\n let commaNext = false;\r\n if (address.Street) {\r\n str += address.Street;\r\n commaNext = true;\r\n }\r\n\r\n if (address.Zip) {\r\n if (str)\r\n str += \", \";\r\n str += address.Zip;\r\n commaNext = false;\r\n }\r\n if (address.Place) {\r\n if (str)\r\n str += commaNext ? \", \" : \" \";\r\n str += address.Place;\r\n commaNext = false;\r\n }\r\n\r\n if (options && options.country) {\r\n if (address.Country) {\r\n if (str)\r\n str += commaNext ? \", \" : \" \";\r\n str += address.Country;\r\n }\r\n }\r\n\r\n return str;\r\n }\r\n}\r\n\r\nexport class CommonFormatUtils {\r\n static formatDuration(priceList: IPriceListViewModel, locale: string = \"fi\"): string {\r\n //if (!priceList.FixedTerm)\r\n // return \"Toistaiseksi\";\r\n if (!priceList.FixedTerm) {\r\n if (locale === \"fi\") {\r\n return \"Toistaiseksi\";\r\n }\r\n else if (locale === \"sv\") {\r\n return \" Tillsvidare\";\r\n }\r\n }\r\n\r\n let duration = priceList.FixedTermDuration;\r\n let durationUnit = priceList.FixedTermDurationUnit;\r\n let str = \"\" + duration + \" \";\r\n switch (durationUnit) {\r\n case FixedTermDurationUnit.DAYS:\r\n if (locale === \"fi\") {\r\n str += duration === 1 ? \"päivä\" : \"päivää\"; \r\n }\r\n else if (locale === \"sv\") {\r\n str += duration === 1 ? \"dag\" : \"dagar\";\r\n }\r\n break;\r\n case FixedTermDurationUnit.MONTHS:\r\n if (locale === \"fi\") {\r\n str += duration === 1 ? \"kuukausi\" : \"kuukautta\";\r\n }\r\n else if (locale == \"sv\") {\r\n str += duration === 1 ? \"månad\" : \"månader\";\r\n } \r\n break;\r\n case FixedTermDurationUnit.YEARS:\r\n if (locale === \"fi\") {\r\n str += duration === 1 ? \"vuosi\" : \"vuotta\";\r\n }\r\n else if (locale === \"sv\") {\r\n str += duration === 1 ? \"år\" : \"år\";\r\n } \r\n break;\r\n }\r\n return str;\r\n }\r\n\r\n static formatDate(date: string) {\r\n return moment(date).format(\"DD.MM.YYYY\");\r\n }\r\n}\r\n\r\n\r\nexport class ContactPersonUtils {\r\n /**\r\n * Check if given contact person can be considered empty (or not set).\r\n * @param cp\r\n */\r\n static isEmpty(cp: IContactPersonViewModel) {\r\n let arr = [cp.FirstName, cp.LastName, cp.Pin, cp.Phone, cp.Email];\r\n if (cp.Address != null) {\r\n arr.push(cp.Address.Street, cp.Address.Zip, cp.Address.Place);\r\n }\r\n for (let i = 0; i < arr.length; ++i) {\r\n if (arr[i])\r\n return false;\r\n }\r\n return true;\r\n }\r\n}\r\n\r\nexport class ArrayUtils {\r\n static findAll(arr: any, cond: (item) => boolean): any[] {\r\n let count = arr.length;\r\n let result = [];\r\n for (let i = 0; i < count; ++i) {\r\n let item = arr[i];\r\n if (cond(item))\r\n result.push(item);\r\n }\r\n return result;\r\n }\r\n}\r\n\r\nexport class ObjectUtils {\r\n static isAllSet(...args: any[]): boolean {\r\n let ndx = args.findIndex(x => x == null || x.toString().length == 0);\r\n return ndx == -1;\r\n }\r\n static isSet(arg: any) {\r\n return arg != null && arg.toString().length != 0;\r\n }\r\n static isSetNonZero(arg: any) {\r\n if (typeof arg === \"number\")\r\n return this.isSet(arg) && arg !== 0;\r\n else\r\n return this.isSet(arg);\r\n }\r\n}\r\n\r\n\r\nexport function HousingTypeEnumDescription(ht: HousingTypeEnum, locale: string = \"fi\"): string {\r\n switch (ht) {\r\n case HousingTypeEnum.UNKNOWN: {\r\n if (locale == \"fi\") {\r\n return \"Ei valittu\";\r\n }\r\n else if (locale == \"sv\") {\r\n return \"Ej vald\";\r\n }\r\n break;\r\n }\r\n case HousingTypeEnum.APARTMENTHOUSE: {\r\n if (locale == \"fi\") {\r\n return \"Kerrostalo\";\r\n }\r\n else if (locale == \"sv\") {\r\n return \"Höghus\";\r\n }\r\n break;\r\n }\r\n case HousingTypeEnum.TERRACEDHOUSE: {\r\n if (locale == \"fi\") {\r\n return \"Rivitalo\";\r\n }\r\n else if (locale == \"sv\") {\r\n return \"Radhus\";\r\n }\r\n break;\r\n }\r\n case HousingTypeEnum.HOUSE: {\r\n if (locale == \"fi\") {\r\n return \"Omakotitalo\";\r\n }\r\n else if (locale == \"sv\") {\r\n return \"Egnahemshus\";\r\n }\r\n break;\r\n }\r\n case HousingTypeEnum.COTTAGE: {\r\n if (locale == \"fi\") {\r\n return \"Vapaa-ajan asunto\";\r\n }\r\n else if (locale == \"sv\") {\r\n return \"Fritidshus\";\r\n }\r\n break;\r\n }\r\n case HousingTypeEnum.DOUBLEHOUSE: {\r\n if (locale == \"fi\") {\r\n return \"Paritalo\";\r\n }\r\n else if (locale == \"sv\") {\r\n return \"Parhus\";\r\n }\r\n break;\r\n }\r\n case HousingTypeEnum.OTHER: {\r\n if (locale == \"fi\") {\r\n return \"Muu\";\r\n }\r\n else if (locale == \"sv\") {\r\n return \"Annan\";\r\n }\r\n break;\r\n }\r\n case HousingTypeEnum.AGRICULTURALBUILDING: {\r\n if (locale == \"fi\") {\r\n return \"Maatalous\";\r\n }\r\n else if (locale == \"sv\") {\r\n return \"Lantbruk\";\r\n }\r\n break;\r\n }\r\n case HousingTypeEnum.CONCENTRATIONBUILDING: {\r\n if (locale == \"fi\") {\r\n return \"Jalostus\";\r\n }\r\n else if (locale == \"sv\") {\r\n return \"Förädling\";\r\n }\r\n break;\r\n }\r\n case HousingTypeEnum.SERVICESECTORBUILDING: {\r\n if (locale == \"fi\") {\r\n return \"Palvelu\";\r\n }\r\n else if (locale == \"sv\") {\r\n return \"Service\";\r\n }\r\n break;\r\n }\r\n case HousingTypeEnum.PUBLICSECTORBUILDING: {\r\n if (locale == \"fi\") {\r\n return \"Julkinen\";\r\n }\r\n else if (locale == \"sv\") {\r\n return \"Offentlig\";\r\n }\r\n break;\r\n }\r\n }\r\n return \"\";\r\n}\r\n\r\nexport function HeatingTypeEnumDescription(ht: HeatingTypeEnum, locale: string = \"fi\"): string {\r\n var retVal = \"\";\r\n switch (ht) {\r\n case HeatingTypeEnum.ELECTRICITY: {\r\n if (locale == \"fi\") {\r\n return \"Sähkö\";\r\n }\r\n else if (locale == \"sv\") {\r\n return \"El\";\r\n }\r\n break;\r\n }\r\n case HeatingTypeEnum.GEOTHERMAL: {\r\n if (locale == \"fi\") {\r\n return \"Maalämpö\";\r\n }\r\n else if (locale == \"sv\") {\r\n return \"Jordvärme\";\r\n }\r\n break;\r\n }\r\n case HeatingTypeEnum.DISTRICTHEATING: {\r\n if (locale == \"fi\") {\r\n return \"Kaukolämpö\";\r\n }\r\n else if (locale == \"sv\") {\r\n return \"Fjärrvärme\";\r\n }\r\n break;\r\n }\r\n case HeatingTypeEnum.OIL: {\r\n if (locale == \"fi\") {\r\n return \"Öljy\";\r\n }\r\n else if (locale == \"sv\") {\r\n return \"Olja\";\r\n }\r\n break;\r\n }\r\n case HeatingTypeEnum.OTHER: {\r\n if (locale == \"fi\") {\r\n return \"Muu\";\r\n }\r\n else if (locale == \"sv\") {\r\n return \"Annan\";\r\n }\r\n break;\r\n }\r\n }\r\n if (retVal == \"\") {\r\n if (locale == \"fi\") {\r\n return \"Ei valittu\"\r\n }\r\n else if (locale == \"sv\") {\r\n return \"Ej vald\"\r\n }\r\n }\r\n return retVal;\r\n}\r\nexport function GetHeatingTypeEnumObject(): IEnumObject[] {\r\n return Object.keys(HeatingTypeEnum)\r\n .map(key => ({ id: HeatingTypeEnum[key], name: key, description: HeatingTypeEnumDescription(HeatingTypeEnum[key]) }))\r\n .filter(l => isNaN(Number(l.name)));\r\n}\r\n\r\nexport interface IEnumObject {\r\n id: number;\r\n name: string;\r\n description: string;\r\n}\r\n","import Vue from \"vue\"\r\nimport { Component, Prop, Emit } from \"vue-property-decorator\"\r\nimport { library } from '@fortawesome/fontawesome-svg-core'\r\nimport { faEdit, faAngleDoubleDown } from '@fortawesome/free-solid-svg-icons'\r\nimport { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'\r\nlibrary.add(faEdit, faAngleDoubleDown)\r\nVue.component('font-awesome-icon', FontAwesomeIcon)\r\n\r\nexport enum SectionMode {\r\n Hidden,\r\n Edit,\r\n Display\r\n}\r\n\r\nexport enum ActionState {\r\n Hidden, // Action is not available at all.\r\n Disabled, // Action is visible, but it is disabled.\r\n Enabled, // Action is visible and can be triggered.\r\n}\r\n\r\n@Component({\r\n})\r\n\r\nexport default class NewContractSection extends Vue {\r\n\r\n @Prop()\r\n title: string;\r\n\r\n @Prop()\r\n number: number;\r\n\r\n @Prop({ default: SectionMode.Edit })\r\n mode: SectionMode;\r\n\r\n @Prop({ default: ActionState.Enabled })\r\n proceedActionState: ActionState;\r\n\r\n @Emit()\r\n modify() {}\r\n\r\n @Emit()\r\n proceed() {}\r\n\r\n SectionMode: typeof SectionMode = SectionMode;\r\n ActionState: typeof ActionState = ActionState;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n mounted() {\r\n }\r\n\r\n titleToString(): string {\r\n let title = this.$i18n.tc(this.title);\r\n return title;\r\n }\r\n\r\n get showEdit() {\r\n return this.mode == SectionMode.Edit;\r\n }\r\n set showEdit(value:any) {\r\n \r\n }\r\n\r\n get showDisplay() {\r\n return this.mode == SectionMode.Display;\r\n }\r\n set showDisplay(value: any) {\r\n\r\n }\r\n\r\n iD(num:string): string {\r\n return \"collapse\" + num + \"-\" + this.number;\r\n }\r\n}","import Vue from \"vue\"\r\nimport VueScrollTo from \"vue-scrollto\";\r\nimport { SectionMode, ActionState } from \"../steps/new-contract-section\";\r\nimport { IContractViewModel } from \"../../../../../Scripts/inpulse/I4UViewModels\";\r\nimport { ValidationErrors } from \"../../new-contract-vue\";\r\nimport { ObjectUtils } from \"./utils\";\r\n\r\n/**\r\n * Interface for checking section-related stuff.\r\n */\r\nexport interface ISectionChecker {\r\n /**\r\n * Checks if all the contract data related to this section has been set.\r\n * \r\n * @param contract\r\n * Contract view model object that is checked.\r\n */\r\n isAllSet(contract: IContractViewModel): boolean;\r\n\r\n /**\r\n * Checks if given validation errors collection has any error that is related to this section.\r\n * \r\n * @param validationErrors\r\n */\r\n hasErrors(validationErrors: ValidationErrors): boolean;\r\n}\r\n\r\n/**\r\n * Abstract SectionChecker class for convenience. With this it is possible to define list of\r\n * property accessors and list of validation ids that 'belongs' to a section. Generic checker methods handle the rest.\r\n */\r\nexport class SectionChecker implements ISectionChecker {\r\n properties: ((contract: IContractViewModel) => any)[];\r\n idProperties: ((contract: IContractViewModel) => any)[];\r\n validationIds: string[];\r\n\r\n public isAllSet(contract: IContractViewModel): boolean {\r\n if (this.properties != null) {\r\n let len = this.properties.length;\r\n for (let i = 0; i < len; ++i) {\r\n let propertyAccessor = this.properties[i];\r\n let val = propertyAccessor(contract);\r\n if (!ObjectUtils.isSetNonZero(val))\r\n return false;\r\n }\r\n }\r\n\r\n if (this.idProperties != null) {\r\n let len = this.idProperties.length;\r\n for (let i = 0; i < len; ++i) {\r\n let propertyAccessor = this.idProperties[i];\r\n let val = propertyAccessor(contract);\r\n if (val == null || val == 0)\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n public hasErrors(validationErrors: ValidationErrors): boolean {\r\n if (this.validationIds == null)\r\n return false;\r\n let len = this.validationIds.length;\r\n for (let i = 0; i < len; ++i) {\r\n let id = this.validationIds[i];\r\n if (validationErrors.has(id))\r\n return true;\r\n }\r\n return false;\r\n }\r\n}\r\n\r\n\r\n/**\r\n * Helper class for easing state management of new contract sections.\r\n */\r\nexport class SectionState {\r\n name: string;\r\n previous: SectionState = null;\r\n next: SectionState = null;\r\n openEnabled: boolean = false;\r\n mode: SectionMode = SectionMode.Hidden;\r\n ref: () => any;\r\n\r\n /**\r\n * @param name\r\n * Name of this section, used only for logging purposes at the moment.\r\n * \r\n * @param ref\r\n * Function to get Vue ref for this section. This is used to scroll view to correct section when page is reloaded (e.g. in Tupas return). \r\n */\r\n constructor(name: string, ref: () => any) {\r\n this.name = name;\r\n this.ref = ref;\r\n }\r\n\r\n /**\r\n * Method that initializes this section's mode based on wheter all required data is set. Previous section's mode\r\n * affects this also. This is used to decide correct section states on page reload.\r\n * \r\n * @param allSet\r\n * Boolean value which tells if all of the required section data has been set.\r\n * \r\n * @param previousMode\r\n * Forced value to be used as previous section's mode. Used in cases when there is no \"real previous section\" for this section.\r\n */\r\n initializeMode(allSet: boolean, previousMode?: SectionMode) {\r\n // If section has no real previous sections, it might have \"logical\" previous section (e.g. customer type selection is\r\n // \"logical previous section\" for pre - product selection). Parameter prevousMode can be used to force previous section's mode\r\n // to be used when deciding this section's mode.\r\n let prevMode = previousMode == null && this.previous != null\r\n ? this.previous.mode\r\n : previousMode;\r\n // First let's check if this section should be in edit or display mode (i.e. is the data completed for it).\r\n let mode = allSet\r\n // All data is set, section can be left in display mode.\r\n ? SectionMode.Display\r\n // Data is incomplete, let's leave this in edit mode.\r\n : SectionMode.Edit;\r\n\r\n if (prevMode != null) {\r\n // If the section was decided to be in edit mode based on its data, BUT its previous state is not completed\r\n // (i.e. it is in hidden or in edit mode), we will leave this section hidden.\r\n if (mode == SectionMode.Edit && prevMode != SectionMode.Display)\r\n mode = SectionMode.Hidden;\r\n }\r\n\r\n this.mode = mode;\r\n }\r\n\r\n scrollTo() {\r\n console.log(\"Scrolling to [\" + this.name + \"]\");\r\n let ref = this.ref();\r\n VueScrollTo.scrollTo(ref.$el);\r\n }\r\n\r\n /**\r\n * Scrolls view to first section that is in edit mode.\r\n */\r\n scrollToFirstEdit() {\r\n let s: SectionState = this;\r\n if (s.mode == SectionMode.Edit) {\r\n s.scrollTo();\r\n return;\r\n }\r\n while (s.next) {\r\n s = s.next;\r\n if (s.mode == SectionMode.Edit) {\r\n s.scrollTo();\r\n break;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Builds 'chain' between given sections, i.e. set's sections' previous and next properties.\r\n * @param sectionStates\r\n */\r\n static formChain(...sectionStates: SectionState[]) {\r\n let len = sectionStates.length;\r\n for (let i = 0; i < len; ++i) {\r\n let curr = sectionStates[i];\r\n let prev = i > 0 ? sectionStates[i - 1] : null;\r\n let next = i < len - 1 ? sectionStates[i + 1] : null;\r\n curr.setSiblings(prev, next);\r\n }\r\n }\r\n\r\n setSiblings(previous: SectionState, next: SectionState) {\r\n this.previous = previous;\r\n this.next = next;\r\n }\r\n\r\n proceedActionState() {\r\n if (this.next != null) {\r\n return ActionState.Enabled;\r\n //if (this.next.mode == SectionMode.Hidden)\r\n // return ActionState.Enabled;\r\n }\r\n return ActionState.Hidden;\r\n }\r\n\r\n enterModify(scrollPixels = null) {\r\n if (this.mode != SectionMode.Edit) {\r\n console.log(\"Opening section [\" + this.name + \"]\");\r\n this.mode = SectionMode.Edit;\r\n }\r\n if (this.name == 'move-out-contracts') {\r\n this.next.mode = SectionMode.Display;\r\n this.next.next.mode = SectionMode.Display;\r\n this.next.next.next.mode = SectionMode.Display;\r\n this.next.next.next.next.mode = SectionMode.Display;\r\n this.next.next.next.next.next.mode = SectionMode.Display;\r\n }\r\n else if (this.name == 'move-out-customer') {\r\n this.previous.mode = SectionMode.Display;\r\n this.next.mode = SectionMode.Display;\r\n this.next.next.mode = SectionMode.Display;\r\n this.next.next.next.mode = SectionMode.Display;\r\n this.next.next.next.next.mode = SectionMode.Display;\r\n }\r\n else if (this.name == 'pre-product') { \r\n if (this.previous != null) {\r\n this.previous.mode = SectionMode.Display;\r\n if (this.previous.previous != null) {\r\n this.previous.previous.mode = SectionMode.Display;\r\n }\r\n }\r\n this.next.mode = SectionMode.Display;\r\n this.next.next.mode = SectionMode.Display;\r\n this.next.next.next.mode = SectionMode.Display;\r\n }\r\n else if (this.name == 'product') {\r\n this.previous.mode = SectionMode.Display;\r\n if (this.previous.previous != null) {\r\n this.previous.previous.mode = SectionMode.Display;\r\n if (this.previous.previous.previous != null) {\r\n this.previous.previous.previous.mode = SectionMode.Display;\r\n }\r\n }\r\n this.next.mode = SectionMode.Display;\r\n if (this.next.next != null) {\r\n this.next.next.mode = SectionMode.Display;\r\n } \r\n }\r\n else if (this.name === 'customer' || this.name === 'company') { \r\n if (this.previous != null) {\r\n this.previous.mode = SectionMode.Display;\r\n this.previous.previous.mode = SectionMode.Display; \r\n if (this.previous.previous.previous != null) {\r\n this.previous.previous.previous.mode = SectionMode.Display;\r\n }\r\n if (this.previous.previous.previous != null) {\r\n this.previous.previous.previous.previous.mode = SectionMode.Display;\r\n } \r\n }\r\n if (this.next != null) {\r\n this.next.mode = SectionMode.Display;\r\n } \r\n }\r\n else if (this.name == 'metering-point') { \r\n this.previous.mode = SectionMode.Display;\r\n this.previous.previous.mode = SectionMode.Display;\r\n this.previous.previous.previous.mode = SectionMode.Display;\r\n }\r\n else if (this.name == 'move-out-metering-point') {\r\n this.previous.mode = SectionMode.Display;\r\n this.previous.previous.mode = SectionMode.Display;\r\n this.previous.previous.previous.mode = SectionMode.Display;\r\n this.previous.previous.previous.previous.mode = SectionMode.Display;\r\n this.previous.previous.previous.previous.previous.mode = SectionMode.Display;\r\n }\r\n if (scrollPixels == null) {\r\n VueScrollTo.scrollTo(this.ref().$el);\r\n } else {\r\n VueScrollTo.scrollTo(this.ref().$el, scrollPixels);\r\n } \r\n }\r\n\r\n enter() {\r\n if (this.mode != SectionMode.Edit) {\r\n console.log(\"Opening section [\" + this.name + \"]\");\r\n this.mode = SectionMode.Edit;\r\n //if (this.name == 'move-out-contracts') {\r\n // this.next.mode = SectionMode.Display;\r\n // this.next.next.mode = SectionMode.Display;\r\n // this.next.next.next.mode = SectionMode.Display;\r\n // this.next.next.next.next.mode = SectionMode.Display;\r\n //}\r\n //else if (this.name == 'move-out-customer') {\r\n // this.previous.mode = SectionMode.Display;\r\n // this.next.mode = SectionMode.Display;\r\n // this.next.next.mode = SectionMode.Display;\r\n // this.next.next.next.mode = SectionMode.Display;\r\n // this.next.next.next.next.mode = SectionMode.Display;\r\n //}\r\n //else if (this.name == 'pre-product') { \r\n // this.next.next.mode = SectionMode.Display;\r\n // this.next.next.next.mode = SectionMode.Display;\r\n //}\r\n //else if (this.name == 'product') {\r\n // this.previous.mode = SectionMode.Display; \r\n // this.next.next.mode = SectionMode.Display;\r\n //}\r\n //else if (this.name == 'customer') {\r\n // this.previous.mode = SectionMode.Display;\r\n // this.previous.previous.mode = SectionMode.Display;\r\n //}\r\n } \r\n VueScrollTo.scrollTo(this.ref().$el);\r\n } \r\n\r\n close() {\r\n if (this.mode == SectionMode.Edit) {\r\n console.log(\"Closing section [\" + this.name + \"]\");\r\n this.mode = SectionMode.Display; \r\n $(\"#collapse1-1\").removeClass(\"show\");\r\n $(\"#collapse1-2\").removeClass(\"show\");\r\n $(\"#collapse1-3\").removeClass(\"show\");\r\n }\r\n }\r\n\r\n proceed() {\r\n this.close();\r\n if (this.next == null) {\r\n console.log(\"Nothing to proceed to!\");\r\n return;\r\n }\r\n //if (this.next.mode == SectionMode.Hidden) {\r\n this.next.enter();\r\n //}\r\n }\r\n}\r\n","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", [\n _vm.isThreeBounceNoMargin\n ? _c(\n \"div\",\n {\n staticClass: \"sk-three-bounce\",\n staticStyle: { margin: \"0px auto\" },\n },\n [\n _c(\"div\", { staticClass: \"sk-child sk-bounce1\" }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"sk-child sk-bounce2\" }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"sk-child sk-bounce3\" }),\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.isThreeBounce\n ? _c(\"div\", { staticClass: \"sk-three-bounce\" }, [\n _c(\"div\", { staticClass: \"sk-child sk-bounce1\" }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"sk-child sk-bounce2\" }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"sk-child sk-bounce3\" }),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.isFoldingCube\n ? _c(\"div\", { staticClass: \"sk-folding-cube\" }, [\n _c(\"div\", { staticClass: \"sk-cube1 sk-cube\" }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"sk-cube2 sk-cube\" }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"sk-cube4 sk-cube\" }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"sk-cube3 sk-cube\" }),\n ])\n : _vm._e(),\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import Vue from \"vue\";\r\nimport { Component, Prop } from \"vue-property-decorator\";\r\n\r\n@Component\r\n\r\nexport default class LoadingComponent extends Vue {\r\n @Prop()\r\n name: string;\r\n\r\n isFoldingCube: boolean = false;\r\n isThreeBounce: boolean = false;\r\n isThreeBounceNoMargin: boolean = false;\r\n\r\n created(): void {\r\n if (this.name == \"folding-cube\")\r\n this.isFoldingCube = true;\r\n else if (this.name == \"three-bounce\")\r\n this.isThreeBounce = true;\r\n else if (this.name == \"three-bounce-no-margin\") {\r\n this.isThreeBounceNoMargin = true;\r\n }\r\n else\r\n this.isThreeBounce = true;\r\n }\r\n}","import mod from \"-!../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./loading.component.ts?vue&type=script&lang=ts&external\"; export default mod; export * from \"-!../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./loading.component.ts?vue&type=script&lang=ts&external\"","import { render, staticRenderFns } from \"./loading.vue?vue&type=template&id=1fd5eefc&scoped=true\"\nimport script from \"./loading.component.ts?vue&type=script&lang=ts&external\"\nexport * from \"./loading.component.ts?vue&type=script&lang=ts&external\"\nimport style0 from \"./loading.vue?vue&type=style&index=0&id=1fd5eefc&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1fd5eefc\",\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\r\nimport BootstrapVue from 'bootstrap-vue'\r\nimport { Component, Prop, Emit, Watch } from \"vue-property-decorator\";\r\nimport { CustomerTypeEnum, HousingTypeEnum, HeatingTypeEnum, TarificationIdEnum } from \"../../../../../Scripts/inpulse/CommonEnums\";\r\nimport ValidatedFormGroup from \"../common/validated-form-group.vue\";\r\nimport ValidationMessage from \"../common/validation-message.vue\";\r\nimport PostalAutocomplete from \"@/Scripts/vue-components/bootstrap-components/postal-autocomplete.vue\";\r\nimport { HousingTypeFormat } from \"../../../../../Scripts/inpulse/FormatUtils\";\r\nimport { HeatingTypeFormat } from \"../../../../../Scripts/inpulse/FormatUtils\";\r\nimport { ValidationErrors } from \"../../new-contract-vue\";\r\nimport { mapState } from \"vuex\";\r\nimport { INewContractState, PropertyTypeEnum } from \"../../new-contract-vuex-store\";\r\nimport { ObjectUtils, HeatingTypeEnumDescription, HousingTypeEnumDescription } from \"../common/utils\";\r\nimport { IContractViewModel } from \"../../../../../Scripts/inpulse/I4UViewModels\";\r\nimport { SectionChecker } from \"../common/section\";\r\nimport LoadingComponent from \"../../../../../Scripts/vue-components/common/loading.vue\";\r\n\r\nclass Checker extends SectionChecker {\r\n constructor() {\r\n super();\r\n this.properties = [\r\n (contract: IContractViewModel) => contract.TarificationId,\r\n ];\r\n this.validationIds = [\"Tarification\"];\r\n }\r\n}\r\n\r\nexport let PreProductSelectionChecker = new Checker();\r\n\r\n@Component({\r\n components: {\r\n ValidatedFormGroup,\r\n ValidationMessage,\r\n PostalAutocomplete,\r\n LoadingIndicator: LoadingComponent\r\n },\r\n})\r\nexport default class PreProductSelection extends Vue {\r\n loadingIndicator: boolean = false;\r\n\r\n // Map store data to computed properties.\r\n get contract(): IContractViewModel { return this.$store.state.contract; }\r\n get postal(): string { return this.$store.state.contract.MeteringPoint.Address.Zip; }\r\n get heatingType(): HeatingTypeEnum { return this.$store.state.contract.HeatingTypeId; } \r\n set heatingType(value: HeatingTypeEnum)\r\n {\r\n this.loadingIndicator = true;\r\n this.$store.dispatch(\"changeValue\", { key: \"heatingType\", value: value, type: PropertyTypeEnum.BasicValue }).finally(() => {\r\n this.loadingIndicator = false;\r\n });\r\n }\r\n get housingType(): HousingTypeEnum { return this.$store.state.contract.HousingTypeId; }\r\n get customerType(): CustomerTypeEnum { return this.$store.state.contract.Customer.Id; }\r\n get tarification(): TarificationIdEnum { return this.$store.state.contract.TarificationId; }\r\n set tarification(value: TarificationIdEnum) { this.$store.dispatch(\"changeValue\", { key: \"tarification\", value: value, type: PropertyTypeEnum.BasicValue }); }\r\n get houseArea(): number { return this.$store.state.contract.HouseArea; }\r\n get energy1(): number { return this.$store.state.contract.Energy1; }\r\n get energy2(): number { return this.$store.state.contract.Energy2; }\r\n\r\n @Prop()\r\n public validationErrors: ValidationErrors;\r\n\r\n CustomerTypeEnum: typeof CustomerTypeEnum = CustomerTypeEnum;\r\n HousingTypeEnum: typeof HousingTypeEnum = HousingTypeEnum;\r\n HeatingTypeEnum: typeof HeatingTypeEnum = HeatingTypeEnum;\r\n TarificationIdEnum: typeof TarificationIdEnum = TarificationIdEnum;\r\n HousingTypeFormat: typeof HousingTypeFormat = HousingTypeFormat;\r\n HeatingTypeFormat: typeof HeatingTypeFormat = HeatingTypeFormat;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n get showEnergy2Consumption(): boolean {\r\n return this.tarification == TarificationIdEnum.DAYNIGHTTARIF || this.tarification == TarificationIdEnum.SEASONTARIF;\r\n }\r\n\r\n handleApartmentHouse() {\r\n this.$store.state.contract.HousingTypeId = HousingTypeEnum.APARTMENTHOUSE;\r\n this.$store.state.contract.HeatingTypeId = HeatingTypeEnum.DISTRICTHEATING;\r\n this.$store.state.contract.TarificationId = TarificationIdEnum.SINGLETARIF;\r\n this.heatingType = HeatingTypeEnum.DISTRICTHEATING;\r\n this.tarification = TarificationIdEnum.SINGLETARIF;\r\n }\r\n\r\n handleTerracedHouse() {\r\n this.$store.state.contract.HousingTypeId = HousingTypeEnum.TERRACEDHOUSE;\r\n this.$store.state.contract.HeatingTypeId = HeatingTypeEnum.ELECTRICITY;\r\n this.$store.state.contract.TarificationId = TarificationIdEnum.SINGLETARIF;\r\n this.heatingType = HeatingTypeEnum.ELECTRICITY;\r\n this.tarification = TarificationIdEnum.SINGLETARIF;\r\n }\r\n\r\n handleHouse() {\r\n this.$store.state.contract.HousingTypeId = HousingTypeEnum.HOUSE;\r\n this.$store.state.contract.HeatingTypeId = HeatingTypeEnum.ELECTRICITY;\r\n this.$store.state.contract.TarificationId = TarificationIdEnum.DAYNIGHTTARIF;\r\n this.heatingType = HeatingTypeEnum.ELECTRICITY;\r\n\r\n //SQPBEIWYP-1074 according to the PBE request:\r\n this.tarification = TarificationIdEnum.SINGLETARIF;\r\n\r\n //prior value:\r\n //this.tarification = TarificationIdEnum.DAYNIGHTTARIF;\r\n }\r\n\r\n handleDoubleHouse() {\r\n this.$store.state.contract.HousingTypeId = HousingTypeEnum.DOUBLEHOUSE;\r\n this.$store.state.contract.HeatingTypeId = HeatingTypeEnum.ELECTRICITY;\r\n this.$store.state.contract.TarificationId = TarificationIdEnum.DAYNIGHTTARIF;\r\n this.heatingType = HeatingTypeEnum.ELECTRICITY;\r\n\r\n //SQPBEIWYP-1074 according to the PBE request:\r\n this.tarification = TarificationIdEnum.SINGLETARIF;\r\n\r\n //prior value:\r\n //this.tarification = TarificationIdEnum.DAYNIGHTTARIF;\r\n }\r\n\r\n handleCottage() {\r\n this.$store.state.contract.HousingTypeId = HousingTypeEnum.COTTAGE;\r\n this.$store.state.contract.HeatingTypeId = HeatingTypeEnum.ELECTRICITY;\r\n this.$store.state.contract.TarificationId = TarificationIdEnum.SINGLETARIF;\r\n this.heatingType = HeatingTypeEnum.ELECTRICITY;\r\n this.tarification = TarificationIdEnum.SINGLETARIF;\r\n }\r\n\r\n handleHousingTypeOther() {\r\n this.$store.state.contract.HousingTypeId = HousingTypeEnum.OTHER;\r\n this.$store.state.contract.HeatingTypeId = HeatingTypeEnum.ELECTRICITY;\r\n this.$store.state.contract.TarificationId = TarificationIdEnum.SINGLETARIF;\r\n this.heatingType = HeatingTypeEnum.ELECTRICITY;\r\n this.tarification = TarificationIdEnum.SINGLETARIF;\r\n }\r\n\r\n handleElectricity() {\r\n this.$store.state.contract.HeatingTypeId = HeatingTypeEnum.ELECTRICITY;\r\n this.heatingType = HeatingTypeEnum.ELECTRICITY;\r\n if (this.housingType == HousingTypeEnum.HOUSE) {\r\n this.tarification = TarificationIdEnum.DAYNIGHTTARIF;\r\n }\r\n }\r\n handleDH() {\r\n this.$store.state.contract.HeatingTypeId = HeatingTypeEnum.DISTRICTHEATING;\r\n this.heatingType = HeatingTypeEnum.DISTRICTHEATING;\r\n if (this.housingType == HousingTypeEnum.HOUSE) {\r\n this.tarification = TarificationIdEnum.SINGLETARIF;\r\n }\r\n }\r\n handleML() {\r\n this.$store.state.contract.HeatingTypeId = HeatingTypeEnum.GEOTHERMAL;\r\n this.heatingType = HeatingTypeEnum.GEOTHERMAL;\r\n if (this.housingType == HousingTypeEnum.HOUSE) {\r\n this.tarification = TarificationIdEnum.SINGLETARIF;\r\n }\r\n }\r\n handleOIL() {\r\n this.$store.state.contract.HeatingTypeId = HeatingTypeEnum.OIL;\r\n this.heatingType = HeatingTypeEnum.OIL;\r\n if (this.housingType == HousingTypeEnum.HOUSE) {\r\n this.tarification = TarificationIdEnum.SINGLETARIF;\r\n }\r\n }\r\n handleOTHER() {\r\n this.$store.state.contract.HeatingTypeId = HeatingTypeEnum.OTHER;\r\n this.heatingType = HeatingTypeEnum.OTHER;\r\n if (this.housingType == HousingTypeEnum.HOUSE) {\r\n this.tarification = TarificationIdEnum.SINGLETARIF;\r\n }\r\n }\r\n\r\n heatingTypeString(type: HeatingTypeEnum): string {\r\n return HeatingTypeEnumDescription(type, this.$i18n.locale);\r\n }\r\n\r\n housingTypeString(type: HousingTypeEnum): string {\r\n return HousingTypeEnumDescription(type, this.$i18n.locale);\r\n }\r\n\r\n\r\n data() {\r\n return {\r\n tarifications: [\r\n { value: 'null', text: this.$t('Valitse mittaustapa'), disabled: true },\r\n { value: TarificationIdEnum.SINGLETARIF, text: this.$t('Yleissähkö') },\r\n { value: TarificationIdEnum.DAYNIGHTTARIF, text: this.$t('Aikasähkö') },\r\n //{ value: TarificationIdEnum.SEASONTARIF, text: this.$t('Vuodenaikasähkö') } \r\n ],\r\n houseAreas: [\r\n { value: 'null', text: this.$t('Valitse kohteen pinta-ala'), disabled: true },\r\n { value: '25', text: '1 - 50' },\r\n { value: '75', text: '50 - 100' },\r\n { value: '125', text: '100 - 150' }, \r\n { value: '175', text: '150 - 200' },\r\n { value: '225', text: '200 - ' } \r\n ]\r\n }\r\n }\r\n\r\n}\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./pre-product-selection.ts?vue&type=script&lang=js&external\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./pre-product-selection.ts?vue&type=script&lang=js&external\"","import mod from \"-!../../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./pre-product-selection-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Cpre-product-selection.vue&external\"; export default mod; export * from \"-!../../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./pre-product-selection-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Cpre-product-selection.vue&external\"","import { render, staticRenderFns } from \"./pre-product-selection.vue?vue&type=template&id=3854b1f6\"\nimport script from \"./pre-product-selection.ts?vue&type=script&lang=js&external\"\nexport * from \"./pre-product-selection.ts?vue&type=script&lang=js&external\"\nimport style0 from \"./pre-product-selection.vue?vue&type=style&index=0&id=3854b1f6&prod&module=true&lang=css\"\n\n\n\n\nfunction injectStyles (context) {\n \n this[\"$style\"] = (style0.locals || style0)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n injectStyles,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./Locales/pre-product-selection-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Cpre-product-selection.vue&external\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"row\" },\n [\n _c(\n \"b-col\",\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"2\",\n \"label-align-lg\": \"right\",\n },\n },\n [\n _vm.contract.CustomerType == _vm.CustomerTypeEnum.CONSUMER\n ? _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Asumismuoto\"))),\n ])\n : _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Toimiala\"))),\n ]),\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.housingTypeString(_vm.contract.HousingTypeId)) +\n \"\\n \"\n ),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"2\",\n \"label-align-lg\": \"right\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Lämmitystapa\"))),\n ]),\n _vm._v(\n \" \" + _vm._s(_vm.heatingTypeString(_vm.contract.HeatingTypeId))\n ),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"2\",\n \"label-align-lg\": \"right\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Mittaustapa\"))),\n ]),\n _vm._v(\n \" \" +\n _vm._s(\n _vm.tarificationTypeString(_vm.contract.TarificationId)\n ) +\n \" \"\n ),\n ]\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-col\",\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"2\",\n \"label-align-lg\": \"right\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Pinta-ala\"))),\n ]),\n _vm._v(\" \" + _vm._s(_vm.houseAreaString()) + \" m²\"),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"2\",\n \"label-align-lg\": \"right\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Vuosikulutus\"))),\n ]),\n _vm._v(\n \" \" +\n _vm._s(_vm.contract.Energy1) +\n _vm._s(\n _vm.showEnergy2Consumption\n ? \" / \" + _vm.contract.Energy2\n : \"\"\n ) +\n \" kWh \"\n ),\n ]\n ),\n ],\n 1\n ),\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"label\", {\n staticClass: \"control-label\",\n class: _vm.labelClass,\n domProps: { textContent: _vm._s(_vm.title) },\n }),\n _vm._v(\" \"),\n _c(\"div\", { class: _vm.divClass }, [\n _c(\"p\", { staticClass: \"form-control-static\" }, [_vm._t(\"default\")], 2),\n ]),\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import Vue from \"vue\"\r\nimport { Component, Prop, Emit } from \"vue-property-decorator\"\r\n\r\n@Component({\r\n})\r\n\r\nexport default class HorizontalFormGroup extends Vue {\r\n @Prop()\r\n public title: string;\r\n @Prop()\r\n public value: string;\r\n\r\n @Prop({ default: \"col-sm-2\" })\r\n public labelClass: string;\r\n @Prop({ default: \"col-sm-10\" })\r\n public divClass: string;\r\n\r\n constructor() {\r\n super();\r\n }\r\n}","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./horizontal-form-group.ts?vue&type=script&lang=js&external\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./horizontal-form-group.ts?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"./horizontal-form-group.vue?vue&type=template&id=387f0444\"\nimport script from \"./horizontal-form-group.ts?vue&type=script&lang=js&external\"\nexport * from \"./horizontal-form-group.ts?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\"\r\nimport { Component, Prop, Emit } from \"vue-property-decorator\"\r\nimport { HousingTypeEnum, HeatingTypeEnum, TarificationIdEnum, CustomerTypeEnum } from \"../../../../../Scripts/inpulse/CommonEnums\";\r\nimport { TarificationFormatPBE, HeatingTypeEnumDescription, HousingTypeEnumDescription } from \"../common/utils\";\r\nimport HorizontalFormGroup from \"../phases/horizontal-form-group.vue\"\r\nimport { IContractModel } from \"../../../../../Scripts/vue-components/mycontracts/ContractApiService\";\r\n\r\n@Component({\r\n components: { HorizontalFormGroup }\r\n})\r\n\r\nexport default class PreProductSelectionDisplay extends Vue {\r\n @Prop()\r\n public contract: any;\r\n\r\n HousingTypeEnum: typeof HousingTypeEnum = HousingTypeEnum;\r\n HeatingTypeEnum: typeof HeatingTypeEnum = HeatingTypeEnum;\r\n TarificationIdEnum: typeof TarificationIdEnum = TarificationIdEnum;\r\n CustomerTypeEnum: typeof CustomerTypeEnum = CustomerTypeEnum;\r\n TarificationFormat: typeof TarificationFormatPBE = TarificationFormatPBE;\r\n get houseArea(): number { return this.$store.state.contract.HouseArea; }\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n get showEnergy2Consumption(): boolean {\r\n return this.$store.state.contract.TarificationId == TarificationIdEnum.DAYNIGHTTARIF || this.$store.state.contract.TarificationId == TarificationIdEnum.SEASONTARIF;\r\n }\r\n\r\n join(separator: string, strs: string[]) {\r\n let arr = [];\r\n strs.forEach(s => {\r\n if (s != null && s.length != 0)\r\n arr.push(s);\r\n });\r\n return arr.join(separator);\r\n }\r\n\r\n formatPostal(postalCode: string, postOffice: string) {\r\n let str = this.join(\", \", [postalCode, postOffice]);\r\n return str;\r\n }\r\n\r\n heatingTypeString(type: HeatingTypeEnum): string {\r\n return HeatingTypeEnumDescription(type, this.$i18n.locale);\r\n }\r\n\r\n housingTypeString(type: HousingTypeEnum): string {\r\n return HousingTypeEnumDescription(type, this.$i18n.locale);\r\n }\r\n\r\n tarificationTypeString(type: TarificationIdEnum): string {\r\n return this.TarificationFormat.toString(type, this.$i18n.locale);\r\n }\r\n\r\n houseAreaString(): string {\r\n var retVal = \"\";\r\n switch (this.houseArea) {\r\n case 25:\r\n retVal = \"1 - 50\"\r\n break;\r\n case 75:\r\n retVal = \"50 - 100\"\r\n break;\r\n case 125:\r\n retVal = \"100 - 150\"\r\n break;\r\n case 175:\r\n retVal = \"150 - 200\"\r\n break;\r\n case 225:\r\n retVal = \"200 - \"\r\n break;\r\n }\r\n return retVal;\r\n }\r\n}","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./pre-product-selection-display.ts?vue&type=script&lang=js&external\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./pre-product-selection-display.ts?vue&type=script&lang=js&external\"","import mod from \"-!../../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./pre-product-selection-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Cpre-product-selection-display.vue&external\"; export default mod; export * from \"-!../../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./pre-product-selection-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Cpre-product-selection-display.vue&external\"","import { render, staticRenderFns } from \"./pre-product-selection-display.vue?vue&type=template&id=777f11f6\"\nimport script from \"./pre-product-selection-display.ts?vue&type=script&lang=js&external\"\nexport * from \"./pre-product-selection-display.ts?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./Locales/pre-product-selection-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Cpre-product-selection-display.vue&external\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"b-container\",\n [\n _c(\n \"b-row\",\n [\n _c(\n \"b-col\",\n { attrs: { md: \"6\" } },\n [\n _c(\"label\", [\n _vm._v(\n _vm._s(\n _vm.$t(\"Mikäli sinulla on kampanjakoodi, syötä se tähän\")\n )\n ),\n ]),\n _vm._v(\" \"),\n _c(\"b-form-input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n attrs: {\n type: \"text\",\n placeholder: _vm.$t(\"Kampanjakoodi\"),\n name: \"campaignCode\",\n value: _vm.contract.CampaignCode,\n },\n }),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-col\",\n { attrs: { md: \"12\" } },\n [\n _vm._l(_vm.products, function (product) {\n return _c(\"div\", { staticClass: \"product panel-default\" }, [\n product.PriceLists[0].CampaignCode\n ? _c(\n \"div\",\n [\n _c(\"product-card\", {\n attrs: { product: product },\n on: { priceListSelected: _vm.priceListSelected },\n }),\n ],\n 1\n )\n : _vm._e(),\n ])\n }),\n ],\n 2\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-row\",\n [\n _c(\n \"b-col\",\n [\n _c(\n \"b-form-group\",\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(\n _vm._s(\n _vm.$t(\n \"Miten haluat sähkösopimuksesi hinnan määräytyvän?\"\n )\n )\n ),\n ]),\n _vm._v(\" \"),\n _c(\"b-form-radio-group\", {\n attrs: {\n options: _vm.options,\n name: \"radios-stacked\",\n stacked: \"\",\n },\n model: {\n value: _vm.selected,\n callback: function ($$v) {\n _vm.selected = $$v\n },\n expression: \"selected\",\n },\n }),\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.products == null || _vm.products.length == 0\n ? _c(\"div\", [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.$t(\"Ei valittavissa olevia tuotteita\")) +\n \"\\n \"\n ),\n ])\n : _vm._l(_vm.productsSorted, function (product) {\n return _c(\n \"div\",\n { staticClass: \"product panel-default\" },\n [\n _c(\"product-card\", {\n attrs: { product: product },\n on: { priceListSelected: _vm.priceListSelected },\n }),\n ],\n 1\n )\n }),\n ],\n 2\n ),\n ],\n 1\n ),\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"offset-sm-3 pl-2 offset-lg-0 col-12 price-list\" },\n [\n _vm.priceList.ProductComponents[0].Energy1Description\n ? _c(\n \"div\",\n { staticClass: \"product-component-detail highlight price\" },\n [\n _c(\"div\", { staticClass: \"title\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.priceList.ProductComponents[0].Energy1Description\n ) +\n \"\\n \"\n ),\n ]),\n _vm._v(\" \"),\n _vm.showVat\n ? _c(\"div\", { staticClass: \"value\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.priceList.ProductComponents[0].Energy1Price.toFixed(\n 2\n )\n ) +\n \"\\n \" +\n _vm._s(\n _vm.priceList.ProductComponents[0].Energy1PriceUnit\n ) +\n \"\\n \"\n ),\n ])\n : _c(\"div\", { staticClass: \"value\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.priceList.ProductComponents[0].Energy1PriceNoVAT.toFixed(\n 2\n )\n ) +\n \"\\n \" +\n _vm._s(\n _vm.priceList.ProductComponents[0].Energy1PriceUnit\n ) +\n \"\\n \"\n ),\n ]),\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.priceList.ProductComponents[0].Energy2Description\n ? _c(\n \"div\",\n { staticClass: \"product-component-detail highlight price\" },\n [\n _c(\"div\", { staticClass: \"title\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.priceList.ProductComponents[0].Energy2Description\n ) +\n \"\\n \"\n ),\n ]),\n _vm._v(\" \"),\n _vm.showVat\n ? _c(\"div\", { staticClass: \"value\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.priceList.ProductComponents[0].Energy2Price.toFixed(\n 2\n )\n ) +\n \"\\n \" +\n _vm._s(\n _vm.priceList.ProductComponents[0].Energy2PriceUnit\n ) +\n \"\\n \"\n ),\n ])\n : _c(\"div\", { staticClass: \"value\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.priceList.ProductComponents[0].Energy2PriceNoVAT.toFixed(\n 2\n )\n ) +\n \"\\n \" +\n _vm._s(\n _vm.priceList.ProductComponents[0].Energy2PriceUnit\n ) +\n \"\\n \"\n ),\n ]),\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"product-component-detail price\" }, [\n _c(\"div\", { staticClass: \"title\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.priceList.ProductComponents[0].BasicDescription) +\n \"\\n \"\n ),\n ]),\n _vm._v(\" \"),\n _vm.showVat\n ? _c(\"div\", { staticClass: \"value\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.priceList.ProductComponents[0].BasicPrice.toFixed(2)\n ) +\n \"\\n \" +\n _vm._s(_vm.priceList.ProductComponents[0].BasicPriceUnit) +\n \"\\n \"\n ),\n ])\n : _c(\"div\", { staticClass: \"value\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.priceList.ProductComponents[0].BasicPriceNoVAT.toFixed(\n 2\n )\n ) +\n \"\\n \" +\n _vm._s(_vm.priceList.ProductComponents[0].BasicPriceUnit) +\n \"\\n \"\n ),\n ]),\n ]),\n _vm._v(\" \"),\n !_vm.showVat\n ? _c(\"div\", [\n _vm._v(\"\\n \" + _vm._s(_vm.$t(\"(Hinnat alv 0%)\")) + \"\\n \"),\n ])\n : _c(\"div\", [\n _vm._v(\n \"\\n \" + _vm._s(_vm.$t(\"(Hinnat alv 25,5 %)\")) + \"\\n \"\n ),\n ]),\n _vm._v(\" \"),\n _vm.showVatNotification()\n ? _c(\"div\", [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.$t(\n \"Yleinen arvonlisävero muuttuu 1.9.2024. Nykyinen arvonlisävero on 24% ja uusi on 25,5%. Arvonlisäverollinen hinta muuttuu vastaavasti.\"\n )\n ) +\n \"\\n \"\n ),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.noShowPriceDuration\n ? _c(\"div\", { staticClass: \"product-component-detail\" }, [\n _c(\"div\", { staticClass: \"title\" }, [\n _vm._v(\n \"\\n \" + _vm._s(_vm.$t(\"Voimassa\")) + \"\\n \"\n ),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"value\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.formatDuration(_vm.priceList)) +\n \"\\n \"\n ),\n ]),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.actions\n ? _c(\"div\", { staticClass: \"product-actions\" }, [\n _c(\n \"button\",\n {\n staticClass:\n \"btn btn-lg btn-primary pricelist next-section mt-1\",\n attrs: { type: \"button\" },\n on: {\n click: function ($event) {\n return _vm.selected(_vm.priceList)\n },\n },\n },\n [\n _vm.isSelected\n ? [\n _c(\"font-awesome-icon\", { attrs: { icon: \"check\" } }),\n _vm._v(\n \" \" +\n _vm._s(_vm.$t(\"Tuote valittu!\")) +\n \"\\n \"\n ),\n ]\n : [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.$t(\"Valitse tämä tuote\")) +\n \"\\n \"\n ),\n ],\n ],\n 2\n ),\n ])\n : _vm._e(),\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import { TarificationIdEnum } from \"./CommonEnums\";\r\nimport { IPriceListViewModel, IProductComponentViewModel } from \"./I4UViewModels\";\r\n\r\nexport class PriceListUtils {\r\n public static showPriceEstimate(priceList: IPriceListViewModel) {\r\n //Cost estimate is not shown for SPOT products (energy1 productComponent's Code = SPOT_PRICE_MARGIN_CODE)\r\n if (priceList.ProductComponents[0].SpotEnergy1MarginalDescription !== null) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n\r\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString\r\n // Esim\r\n // getFixedPrice(0.123, 2) => 0.12\r\n // getFixedPrice(0.125, 2) => 0.13\r\n // getFixedPrice(42, 2, 0) => 42\r\n // getFixedPrice(42, 2) => 42.00\r\n // getFixedPrice(0.123, 3, 2) => 0.123\r\n // getFixedPrice(0.1, 3, 2) => 0.10\r\n // localessa toimii joissakin tapauksissa lyhyt että pitkä tunnus esim \"fi\" ja \"Fi-FI\"\r\n public static getFixedPrice(price: number, maximumFractionDigits: number, minimumFractionDigits?: number, locale?: string) {\r\n if (price == null) {\r\n price = 0;\r\n }\r\n locale = locale != null ? locale : \"fi-FI\";\r\n minimumFractionDigits = minimumFractionDigits != null ? minimumFractionDigits : 2;\r\n return price.toLocaleString(locale, { maximumFractionDigits: maximumFractionDigits, minimumFractionDigits: minimumFractionDigits});\r\n }\r\n\r\n public static calculatePriceEstimate(priceList: IPriceListViewModel, showVat: boolean, tarification: number, energy1: number, energy2: number) {\r\n //Calculates price estimate including mandatory service products\r\n let cost = 0;\r\n let basicPrice = 0;\r\n let energy1Price = 0;\r\n let energy2Price = 0;\r\n if (showVat) {\r\n basicPrice = priceList.ProductComponents[0].BasicPrice;\r\n energy1Price = priceList.ProductComponents[0].Energy1Price;\r\n energy2Price = priceList.ProductComponents[0].Energy2Price;\r\n }\r\n else {\r\n basicPrice = priceList.ProductComponents[0].BasicPriceNoVAT;\r\n energy1Price = priceList.ProductComponents[0].Energy1PriceNoVAT;\r\n energy2Price = priceList.ProductComponents[0].Energy2PriceNoVAT;\r\n }\r\n if (tarification === TarificationIdEnum.SINGLETARIF) {\r\n cost = (basicPrice * 12) + ((energy1Price * energy1) / 100);\r\n }\r\n else {\r\n cost = (basicPrice * 12) + ((energy1Price * energy1) / 100) + ((energy2Price * energy2) / 100);\r\n }\r\n if (priceList.CountOfMandatoryServiceProducts > 0) {\r\n for (let i = 0; i < priceList.PriceListServiceProducts.length; i++) {\r\n if (priceList.PriceListServiceProducts[i].PriceListServiceProductType === 2) {\r\n cost += this.calculateServiceProductPrice(priceList.PriceListServiceProducts[i].ServicePriceList.ProductComponents[0], showVat, tarification, energy1, energy2);\r\n }\r\n }\r\n }\r\n if (priceList.ProductComponents[0].AdditionalBasicPrices && priceList.ProductComponents[0].AdditionalBasicPrices.length > 0) {\r\n for (let additionalBasicPrice of priceList.ProductComponents[0].AdditionalBasicPrices) {\r\n // this assumes all basic prices have a unit of €/mo\r\n if (showVat) {\r\n cost += (additionalBasicPrice.BasicPrice * 12)\r\n }\r\n else {\r\n cost += (additionalBasicPrice.BasicPriceNoVAT + 12)\r\n }\r\n }\r\n }\r\n return cost;\r\n }\r\n public static calculateServiceProductPrice(serviceProductComponent: IProductComponentViewModel, showVat: boolean, tarification: number, energy1: number, energy2: number) {\r\n let cost = 0;\r\n //ServicePriceUnit is not translated while ServicePriceUnitTranslated is\r\n const priceUnit = serviceProductComponent.ServicePriceUnit.toLowerCase();\r\n let energy = energy1;\r\n if (tarification !== TarificationIdEnum.SINGLETARIF) {\r\n energy += energy2;\r\n }\r\n let servicePrice = serviceProductComponent.ServicePrice;\r\n if (!showVat) {\r\n servicePrice = serviceProductComponent.ServicePriceNoVAT;\r\n }\r\n switch (priceUnit) {\r\n //Piece or year based price\r\n case \"eur/pcs\":\r\n case \"sek/pcs\":\r\n case \"eur/a\":\r\n case \"sek/a\":\r\n cost = servicePrice;\r\n break;\r\n //Monthly based price\r\n case \"eur/mo\":\r\n case \"sek/mo\":\r\n case \"eur/m\":\r\n case \"sek/m\":\r\n cost = servicePrice * 12;\r\n break;\r\n //Consumption based price\r\n case \"snt/kwh\":\r\n case \"öre/kwh\":\r\n case \"eur/mwh\":\r\n case \"sek/mwh\":\r\n cost = ((servicePrice * energy) / 100);\r\n break;\r\n }\r\n return cost;\r\n }\r\n\r\n public static showVatNotification(showVat: boolean) {\r\n if (showVat) {\r\n const now = new Date(Date.now());\r\n const vatChangeDate = new Date(2024, 8, 1, 0, 0, 0);\r\n if (now < vatChangeDate) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n}\r\n\r\n","import Vue from \"vue\"\r\nimport { Component, Prop, Emit } from \"vue-property-decorator\"\r\nimport { IPriceListViewModel, IProductGroupViewModel } from \"@/Scripts/inpulse/I4UViewModels\";\r\nimport { CommonFormatUtils } from \"../../common/utils\";\r\nimport { TarificationIdEnum } from \"@/Scripts/inpulse/CommonEnums\";\r\nimport { TarificationFormat } from \"@/Scripts/inpulse/FormatUtils\";\r\nimport { library } from '@fortawesome/fontawesome-svg-core'\r\nimport { faCheck } from '@fortawesome/free-solid-svg-icons'\r\nimport { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'\r\nimport { PriceListUtils } from \"../../../../../../Scripts/inpulse/PriceListUtils\";\r\nlibrary.add(faCheck)\r\nVue.component('font-awesome-icon', FontAwesomeIcon)\r\n\r\n@Component({\r\n\r\n})\r\n\r\nexport default class PriceList extends Vue {\r\n @Prop()\r\n priceList: IPriceListViewModel;\r\n @Prop({ default: true })\r\n actions: boolean;\r\n @Prop()\r\n isSelected: boolean;\r\n @Prop()\r\n showVat: boolean;\r\n @Prop()\r\n productGroups: IProductGroupViewModel[];\r\n @Prop()\r\n noShowPriceDuration: boolean;\r\n @Emit()\r\n selected(priceList: IPriceListViewModel) { }\r\n\r\n TarificationIdEnum: typeof TarificationIdEnum = TarificationIdEnum;\r\n get isFollowUpContract(): boolean { return this.$store.state.contract.IsFollowUpContract; }\r\n get tarification(): TarificationIdEnum { return this.$store.state.contract.TarificationId; }\r\n get energy1(): number { return this.$store.state.contract.Energy1; }\r\n get energy2(): number { return this.$store.state.contract.Energy2; }\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n formatDuration(priceList: IPriceListViewModel) {\r\n return CommonFormatUtils.formatDuration(priceList, this.$i18n.locale);\r\n }\r\n\r\n priceEstimate(priceLists: IPriceListViewModel) {\r\n var ha;\r\n if (this.tarification == 1) {\r\n return ((priceLists.ProductComponents[0].BasicPrice * 12) + ((priceLists.ProductComponents[0].Energy1Price * this.energy1) / 100)).toFixed(2)\r\n }\r\n else {\r\n return ((priceLists.ProductComponents[0].BasicPrice * 12) + ((priceLists.ProductComponents[0].Energy1Price * this.energy1) / 100) + ((priceLists.ProductComponents[0].Energy2Price * this.energy2) / 100)).toFixed(2)\r\n }\r\n }\r\n\r\n showEstimate(): boolean {\r\n if (this.isFollowUpContract || (this.productGroups != null && this.productGroups.find(pg => pg.Code == \"SPOT\"))) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n showVatNotification() {\r\n return PriceListUtils.showVatNotification(this.showVat);\r\n }\r\n}","import mod from \"-!../../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./price-list.ts?vue&type=script&lang=js&external\"; export default mod; export * from \"-!../../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./price-list.ts?vue&type=script&lang=js&external\"","import mod from \"-!../../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./product-selection-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Ccomponents%5Cprice-list.vue&external\"; export default mod; export * from \"-!../../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./product-selection-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Ccomponents%5Cprice-list.vue&external\"","import { render, staticRenderFns } from \"./price-list.vue?vue&type=template&id=65a5a865\"\nimport script from \"./price-list.ts?vue&type=script&lang=js&external\"\nexport * from \"./price-list.ts?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"../Locales/product-selection-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Ccomponents%5Cprice-list.vue&external\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"panel panel-body\" }, [\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\"div\", { staticClass: \"col-12 col-sm-3 col-lg-3 text-center\" }, [\n _c(\"span\", { staticClass: \"product-name\" }, [\n _vm._v(\n \"\\n \" + _vm._s(_vm.product.Name) + \"\\n \"\n ),\n ]),\n _vm._v(\" \"),\n _vm.product.Icon\n ? _c(\"div\", { staticClass: \"p-1 pt-2 text-center\" }, [\n _c(\"img\", {\n staticClass: \"product-icon\",\n attrs: {\n alt: _vm.product.Name,\n src: \"/Content/PBE/images/\" + _vm.product.Icon,\n },\n }),\n ])\n : _vm._e(),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-12 col-sm-9 col-lg-5\" }, [\n _c(\"div\", { staticClass: \"mt-2 product-description\" }, [\n _vm.product.ShortDescription\n ? _c(\"p\", [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.product.ShortDescription) +\n \"\\n \"\n ),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.activePriceListShortDescription\n ? _c(\"p\", [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.activePriceListShortDescription) +\n \"\\n \"\n ),\n ])\n : _vm._e(),\n ]),\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-12 col-lg-4\" },\n [\n _vm.product.PriceLists.length > 1\n ? [\n _c(\n \"b-tabs\",\n {\n staticClass: \"price-list-tabs\",\n model: {\n value: _vm.activePriceListTab,\n callback: function ($$v) {\n _vm.activePriceListTab = $$v\n },\n expression: \"activePriceListTab\",\n },\n },\n _vm._l(_vm.product.PriceLists, function (priceList) {\n return _c(\n \"b-tab\",\n {\n key: priceList.Id,\n attrs: { data: priceList },\n scopedSlots: _vm._u(\n [\n {\n key: \"title\",\n fn: function () {\n return [\n _c(\"b\", [_vm._v(_vm._s(priceList.Name))]),\n ]\n },\n proxy: true,\n },\n ],\n null,\n true\n ),\n },\n [\n _vm._v(\" \"),\n _c(\"price-list\", {\n attrs: {\n \"price-list\": priceList,\n showVat: _vm.showPricesWithVat,\n \"is-selected\": _vm.isSelected(\n _vm.product,\n priceList\n ),\n \"product-groups\": _vm.product.ProductGroups,\n },\n on: {\n selected: function ($event) {\n return _vm.priceListSelected(\n _vm.product,\n priceList\n )\n },\n },\n }),\n ],\n 1\n )\n }),\n 1\n ),\n ]\n : _vm._e(),\n _vm._v(\" \"),\n _vm.product.PriceLists.length == 1\n ? [\n _c(\"price-list\", {\n attrs: {\n \"price-list\": _vm.product.PriceLists[0],\n showVat: _vm.showPricesWithVat,\n \"is-selected\": _vm.isSelected(\n _vm.product,\n _vm.product.PriceLists[0]\n ),\n \"product-groups\": _vm.product.ProductGroups,\n },\n on: {\n selected: function ($event) {\n return _vm.priceListSelected(\n _vm.product,\n _vm.product.PriceLists[0]\n )\n },\n },\n }),\n ]\n : _vm._e(),\n ],\n 2\n ),\n ]),\n _vm._v(\" \"),\n _vm.product.Description || _vm.activePriceListDescription\n ? _c(\"div\", { staticClass: \"row\" }, [\n _c(\"div\", { staticClass: \"col-12\" }, [\n _c(\"div\", { staticClass: \"panel panel-default product-details\" }, [\n _c(\n \"div\",\n { staticClass: \"panel-heading\", attrs: { role: \"tab\" } },\n [\n _c(\"h4\", { staticClass: \"panel-title text-center\" }, [\n _c(\n \"a\",\n {\n attrs: {\n role: \"button\",\n \"data-toggle\": \"collapse\",\n href: \"#\" + _vm.productDetailsKey,\n \"aria-expanded\": \"true\",\n \"aria-controls\": \"collapseOne\",\n },\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.$t(\"Lisätietoja tuotteesta\")) +\n \"\\n \"\n ),\n ]\n ),\n ]),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"panel-collapse collapse\",\n attrs: {\n id: _vm.productDetailsKey,\n role: \"tabpanel\",\n \"aria-labelledby\": \"headingOne\",\n },\n },\n [\n _c(\"div\", { staticClass: \"panel-body\" }, [\n _vm.product.Description\n ? _c(\"p\", [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.product.Description) +\n \"\\n \"\n ),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.activePriceListDescription\n ? _c(\"p\", [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.activePriceListDescription) +\n \"\\n \"\n ),\n ])\n : _vm._e(),\n ]),\n ]\n ),\n ]),\n ]),\n ])\n : _vm._e(),\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import Vue from \"vue\"\r\nimport { Component, Prop, Emit } from \"vue-property-decorator\"\r\nimport { IPriceListViewModel, IProductViewModel, ISelectedProduct } from \"@/Scripts/inpulse/I4UViewModels\";\r\nimport { CustomerTypeEnum } from \"@/Scripts/inpulse/CommonEnums\";\r\nimport PriceList from \"./price-list.vue\";\r\n\r\n@Component({\r\n components: {\r\n PriceList\r\n }\r\n})\r\nexport default class ProductCard extends Vue {\r\n @Prop()\r\n private product: IProductViewModel;\r\n\r\n private get showPricesWithVat(): boolean { return this.$store.state.contract.CustomerType != CustomerTypeEnum.COMPANY; }\r\n private get selectedProduct(): IProductViewModel { return this.$store.state.selectedProduct; }\r\n private get selectedPriceList(): IPriceListViewModel { return this.$store.state.selectedPriceList; }\r\n\r\n private get activePriceList(): IPriceListViewModel { return this.product.PriceLists[this.activePriceListTab]; }\r\n private get productDetailsKey(): string { return `product-details-${this.product.Id}-${this.activePriceList.FixedTerm ? 1 : 0}`; }\r\n private get activePriceListDescription(): string { return this.activePriceList.Description; }\r\n private get activePriceListShortDescription(): string { return this.activePriceList.ShortDescription; }\r\n\r\n private activePriceListTab: number = 0;\r\n\r\n private isSelected(product: IProductViewModel, priceList: IPriceListViewModel) {\r\n if (this.selectedProduct != null && this.selectedPriceList != null)\r\n return this.selectedProduct.Id == product.Id && this.selectedPriceList.Id == priceList.Id;\r\n return false;\r\n }\r\n\r\n @Emit(\"priceListSelected\")\r\n private priceListSelected(product: IProductViewModel, priceList: IPriceListViewModel): ISelectedProduct { return { Product: product, PriceList: priceList} }\r\n}","import mod from \"-!../../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./product-card.ts?vue&type=script&lang=js&external\"; export default mod; export * from \"-!../../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./product-card.ts?vue&type=script&lang=js&external\"","import mod from \"-!../../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./product-selection-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Ccomponents%5Cproduct-card.vue&external\"; export default mod; export * from \"-!../../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./product-selection-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Ccomponents%5Cproduct-card.vue&external\"","import { render, staticRenderFns } from \"./product-card.vue?vue&type=template&id=7386a850\"\nimport script from \"./product-card.ts?vue&type=script&lang=js&external\"\nexport * from \"./product-card.ts?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"../Locales/product-selection-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Ccomponents%5Cproduct-card.vue&external\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","import Vue from \"vue\";\r\nimport { Component, Prop, Emit } from \"vue-property-decorator\";\r\nimport { IProductViewModel, IPriceListViewModel, IContractViewModel, ISelectedProduct } from \"@/Scripts/inpulse/I4UViewModels\";\r\nimport { CustomerTypeEnum, HousingTypeEnum, TarificationIdEnum } from \"@/Scripts/inpulse/CommonEnums\";\r\nimport { HousingTypeFormat } from \"@/Scripts/inpulse/FormatUtils\";\r\nimport PriceList from \"./components/price-list.vue\";\r\nimport ProductCard from \"./components/product-card.vue\";\r\nimport { SectionChecker } from \"../common/section\";\r\n\r\ninterface IPriceTypeOption {\r\n value: \"isFixedTerm\" | \"notFixedTerm\" | \"showAllProds\";\r\n text: string;\r\n}\r\n\r\nclass Checker extends SectionChecker {\r\n constructor() {\r\n super();\r\n this.idProperties = [\r\n (contract: IContractViewModel) => contract.ProductId,\r\n (contract: IContractViewModel) => contract.PriceListId,\r\n ];\r\n this.validationIds = [\"Product\"];\r\n }\r\n}\r\nexport let ProductSelectionChecker = new Checker();\r\n\r\n@Component({\r\n components: {\r\n PriceList,\r\n ProductCard\r\n },\r\n})\r\n\r\nexport default class ProductSelection extends Vue {\r\n get contract(): IContractViewModel { return this.$store.state.contract; }\r\n get products(): IProductViewModel[] { return this.$store.state.products; }\r\n\r\n private getProductFixedTermPriceLists(products: IProductViewModel[]): IProductViewModel[] {\r\n let fixedTermProducts = JSON.parse(JSON.stringify(products)) as IProductViewModel[];\r\n fixedTermProducts = fixedTermProducts.filter((product: IProductViewModel) => product.PriceLists.some(priceList => priceList.FixedTerm));\r\n fixedTermProducts.map((product: IProductViewModel): IProductViewModel => {\r\n product.PriceLists = product.PriceLists\r\n .filter(priceList => priceList.FixedTerm)\r\n .sort((a, b) => b.FixedTermDuration - a.FixedTermDuration);\r\n return product;\r\n });\r\n return fixedTermProducts;\r\n }\r\n\r\n private getProductNonFixedTermPriceLists(products: IProductViewModel[]): IProductViewModel[] {\r\n let nonFixedTermProducts = JSON.parse(JSON.stringify(products)) as IProductViewModel[];\r\n nonFixedTermProducts = nonFixedTermProducts.filter((product: IProductViewModel) => product.PriceLists.some(priceList => !priceList.FixedTerm));\r\n nonFixedTermProducts.map((product: IProductViewModel): IProductViewModel => {\r\n product.PriceLists = product.PriceLists.filter(priceList => !priceList.FixedTerm);\r\n return product;\r\n });\r\n return nonFixedTermProducts;\r\n }\r\n\r\n get fixedTermProducts(): IProductViewModel[] { return this.getProductFixedTermPriceLists(this.products); }\r\n get nonFixedTermProducts(): IProductViewModel[] { return this.getProductNonFixedTermPriceLists(this.products); }\r\n\r\n get productsSorted(): IProductViewModel[] {\r\n let products: IProductViewModel[];\r\n\r\n switch (this.selected) {\r\n case \"isFixedTerm\":\r\n products = this.fixedTermProducts;\r\n break;\r\n case \"notFixedTerm\":\r\n products = this.nonFixedTermProducts;\r\n break;\r\n case \"showAllProds\":\r\n products = this.fixedTermProducts.concat(this.nonFixedTermProducts);\r\n break;\r\n }\r\n\r\n return products.sort((a, b) => a.OrderNumber - b.OrderNumber);\r\n }\r\n\r\n get selectedProduct(): IProductViewModel { return this.$store.state.selectedProduct; }\r\n get selectedPriceList(): IPriceListViewModel { return this.$store.state.selectedPriceList; }\r\n get showPricesWithVat(): boolean { return this.contract.CustomerType != CustomerTypeEnum.COMPANY; }\r\n get isFixedTerm(): boolean { return this.$store.state.products.PriceLists.FixedTerm; }\r\n selectProduct(payload: { product: IProductViewModel, priceList: IPriceListViewModel }) { return this.$store.dispatch(\"selectProduct\", payload); }\r\n get housingType(): HousingTypeEnum { return this.$store.state.contract.HousingTypeId; }\r\n get tarification(): TarificationIdEnum { return this.$store.state.contract.TarificationId; }\r\n\r\n @Emit()\r\n productSelected(product: IProductViewModel, priceList: IPriceListViewModel) { }\r\n\r\n HousingTypeEnum: typeof HousingTypeEnum = HousingTypeEnum;\r\n HousingTypeFormat: typeof HousingTypeFormat = HousingTypeFormat;\r\n TarificationIdEnum: typeof TarificationIdEnum = TarificationIdEnum;\r\n\r\n selected: \"isFixedTerm\" | \"notFixedTerm\" | \"showAllProds\"; \r\n options: IPriceTypeOption[];\r\n\r\n get showFixedTermProducts(): boolean { return this.selected == \"isFixedTerm\" || this.selected == \"showAllProds\" }\r\n get showNonFixedTermProducts(): boolean { return this.selected == \"notFixedTerm\" || this.selected == \"showAllProds\" }\r\n\r\n getProductKeyForMap(product: IProductViewModel): string { return `${product.Id}_${(product.PriceLists[0].FixedTerm ? 1 : 0)}` }\r\n\r\n constructor() {\r\n super();\r\n this.selected = 'showAllProds';\r\n this.options = [\r\n { value: 'isFixedTerm', text: this.$t('Määräaikainen sopimus (hinta pysyy samana koko sopimuksen voimassaoloajan)') as string, },\r\n { value: 'notFixedTerm', text: this.$t('Toistaiseksi voimassa oleva sopimus (hinta voi vaihdella maltillisesti sähkömarkkinahinnan mukaan)') as string },\r\n { value: 'showAllProds', text: this.$t('Hinnan määräytymisellä ei ole väliä') as string }\r\n ];\r\n\r\n }\r\n\r\n priceListSelected(selectedProduct: ISelectedProduct) {\r\n this.selectProduct({ product: selectedProduct.Product, priceList: selectedProduct.PriceList })\r\n .then(() => this.productSelected(selectedProduct.Product, selectedProduct.PriceList));\r\n }\r\n\r\n isSelected(product: IProductViewModel, priceList: IPriceListViewModel) {\r\n if (this.selectedProduct != null && this.selectedPriceList != null)\r\n return this.selectedProduct.Id == product.Id && this.selectedPriceList.Id == priceList.Id;\r\n return false;\r\n }\r\n\r\n hasNotFixedTermPriceList(product: IProductViewModel): boolean {\r\n if (product.PriceLists != null && product.PriceLists.find(pl => pl.FixedTerm == false)) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n hasFixedTermPriceList(product: IProductViewModel): boolean {\r\n if (product.PriceLists != null && product.PriceLists.find(pl => pl.FixedTerm == true)) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n}","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./product-selection.ts?vue&type=script&lang=js&external\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./product-selection.ts?vue&type=script&lang=js&external\"","import mod from \"-!../../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./product-selection-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Cproduct-selection.vue&external\"; export default mod; export * from \"-!../../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./product-selection-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Cproduct-selection.vue&external\"","import { render, staticRenderFns } from \"./product-selection.vue?vue&type=template&id=66e8bc29\"\nimport script from \"./product-selection.ts?vue&type=script&lang=js&external\"\nexport * from \"./product-selection.ts?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./Locales/product-selection-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Cproduct-selection.vue&external\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"b-container\",\n { staticClass: \"display-mode-content\" },\n [\n _vm.product != null\n ? _c(\n \"b-row\",\n { attrs: { \"aling-h\": \"center\" } },\n [\n _c(\"div\", { staticClass: \"mr-4 pr-5\" }),\n _vm._v(\" \"),\n _c(\"b-col\", { attrs: { md: \"5\" } }, [\n _c(\"div\", { staticClass: \"product-component-detail\" }, [\n _c(\"div\", { staticClass: \"title\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.$t(\"Nimi\")) +\n \"\\n \"\n ),\n ]),\n _vm._v(\" \"),\n _c(\"div\", [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.product.Name) +\n \"\\n \"\n ),\n ]),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"product-component-detail\" }, [\n _c(\"div\", { staticClass: \"title\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.$t(\"Hinnasto\")) +\n \"\\n \"\n ),\n ]),\n _vm._v(\" \"),\n _c(\"div\", [_vm._v(_vm._s(_vm.priceList.Name))]),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"product-component-detail\" }, [\n _c(\"div\", { staticClass: \"title\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.$t(\"Voimassa\")) +\n \"\\n \"\n ),\n ]),\n _vm._v(\" \"),\n _c(\"div\", [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.formatDuration(_vm.priceList)) +\n \"\\n \"\n ),\n ]),\n ]),\n ]),\n _vm._v(\" \"),\n _c(\n \"b-col\",\n { attrs: { md: \"4\" } },\n [\n _c(\"price-list\", {\n attrs: {\n \"price-list\": _vm.priceList,\n actions: false,\n showVat: _vm.showPricesWithVat,\n \"product-groups\": _vm.product.ProductGroups,\n noShowPriceDuration: true,\n },\n }),\n ],\n 1\n ),\n ],\n 1\n )\n : _c(\n \"b-row\",\n [\n _c(\"b-col\", [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.$t(\"Tuotetta ei valittu\")) +\n \"\\n \"\n ),\n ]),\n ],\n 1\n ),\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import Vue from \"vue\"\r\nimport { Component, Prop, Emit } from \"vue-property-decorator\"\r\nimport { mapState } from \"vuex\";\r\nimport { INewContractState } from \"../../new-contract-vuex-store\";\r\nimport { CommonFormatUtils } from \"../common/utils\";\r\nimport { FixedTermDurationUnit, CustomerTypeEnum } from \"../../../../../Scripts/inpulse/CommonEnums\";\r\nimport { IPriceListViewModel } from \"../../../../../Scripts/inpulse/I4UViewModels\";\r\nimport PriceList from \"./components/price-list.vue\";\r\n\r\n@Component({\r\n components: {\r\n PriceList\r\n },\r\n computed: mapState({\r\n product: (state: INewContractState) => state.selectedProduct,\r\n priceList: (state: INewContractState) => state.selectedPriceList,\r\n productComponent: (state: INewContractState) => {\r\n // For some reason price list/product component view models' class structure differs from the data model.\r\n if (state.selectedPriceList != null && state.selectedPriceList.ProductComponents != null)\r\n return state.selectedPriceList.ProductComponents[0];\r\n return null;\r\n }\r\n })\r\n})\r\n\r\nexport default class ProductSelectionDisplay extends Vue {\r\n get showPricesWithVat(): boolean { return this.$store.state.contract.CustomerType != CustomerTypeEnum.COMPANY; }\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n formatDuration(priceList: IPriceListViewModel) {\r\n return CommonFormatUtils.formatDuration(priceList, this.$i18n.locale);\r\n }\r\n}","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./product-selection-display.ts?vue&type=script&lang=js&external\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./product-selection-display.ts?vue&type=script&lang=js&external\"","import mod from \"-!../../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./product-selection-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Cproduct-selection-display.vue&external\"; export default mod; export * from \"-!../../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./product-selection-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Cproduct-selection-display.vue&external\"","import { render, staticRenderFns } from \"./product-selection-display.vue?vue&type=template&id=470ee237\"\nimport script from \"./product-selection-display.ts?vue&type=script&lang=js&external\"\nexport * from \"./product-selection-display.ts?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./Locales/product-selection-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Cproduct-selection-display.vue&external\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"authentication\" } }, [\n !_vm.authenticateQuestionAccepted\n ? _c(\"div\", { staticClass: \"col-md-8\" }, [\n _c(\n \"label\",\n { staticClass: \"checkbox-inline\" },\n [\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"authenticationAccepted\",\n \"validation-errors\": _vm.validationErrors,\n },\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n attrs: {\n type: \"checkbox\",\n name: \"authenticationAccepted\",\n \"true-value\": \"1\",\n \"false-value\": \"0\",\n },\n domProps: { value: _vm.contract.AuthenticationAccepted },\n }),\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.$t(\n \"Tunnistautumalla hyväksyn, että sopimuksen maksutavaksi tulee lasku.\"\n )\n ) +\n \"\\n \"\n ),\n ]\n ),\n ],\n 1\n ),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-md-12\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.$t(\n \"Mikäli haluat sopimukselle kumppanin, tee sopimus asiakaspalvelumme kautta.\"\n )\n ) +\n \"\\n \"\n ),\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"row\" },\n [\n _vm.authenticateQuestionAccepted\n ? [\n _vm.testMode\n ? _c(\"div\", [\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\"div\", { staticClass: \"col-md-12 ml-3\" }, [\n _c(\n \"div\",\n { staticClass: \"form-group\" },\n [\n _c(\"b-form-group\", { staticClass: \"mb-0\" }, [\n _c(\n \"label\",\n {\n staticClass: \"font-weight-bold pt-0\",\n attrs: { for: \"test-pin\" },\n },\n [_vm._v(_vm._s(_vm.$t(\"Testihenkilötunnus\")))]\n ),\n ]),\n _vm._v(\" \"),\n _c(\"b-form-input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n attrs: {\n id: \"test-pin\",\n type: \"text\",\n name: \"Pin\",\n value: _vm.customer.Pin,\n },\n }),\n ],\n 1\n ),\n ]),\n ]),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", [\n _c(\"div\", { staticClass: \"bank\" }, [\n _c(\n \"a\",\n {\n attrs: {\n href: \"#\",\n \"data-service\": \"teliatunnistus\",\n id: \"bank_1\",\n },\n on: { click: _vm.handleBankEvent },\n },\n [\n _c(\"img\", {\n staticClass: \"banks nordea\",\n attrs: {\n alt: \"Nordea\",\n id: \"bank_1\",\n src: \"/Content/PBE/images/banks/logo_nordea.png\",\n },\n }),\n ]\n ),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"bank\" }, [\n _c(\n \"a\",\n {\n attrs: {\n href: \"#\",\n \"data-service\": \"teliatunnistus\",\n id: \"bank_2\",\n },\n on: { click: _vm.handleBankEvent },\n },\n [\n _c(\"img\", {\n staticClass: \"banks osuuspankki\",\n attrs: {\n alt: \"Osuuspankki\",\n id: \"bank_2\",\n src: \"/Content/PBE/images/banks/logo_op.png\",\n },\n }),\n ]\n ),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"bank\" }, [\n _c(\n \"a\",\n {\n attrs: {\n href: \"#\",\n \"data-service\": \"teliatunnistus\",\n id: \"bank_4\",\n },\n on: { click: _vm.handleBankEvent },\n },\n [\n _c(\"img\", {\n staticClass: \"banks s-pankki\",\n attrs: {\n alt: \"S-Pankki\",\n id: \"bank_4\",\n src: \"/Content/PBE/images/banks/logo_s_pankki.png\",\n },\n }),\n ]\n ),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"bank\" }, [\n _c(\n \"a\",\n {\n attrs: {\n href: \"#\",\n \"data-service\": \"teliatunnistus\",\n id: \"bank_5\",\n },\n on: { click: _vm.handleBankEvent },\n },\n [\n _c(\"img\", {\n staticClass: \"banks danskebank\",\n attrs: {\n alt: \"Danske Bank\",\n id: \"bank_5\",\n src: \"/Content/Default/images/banks/logo_danskebank.gif\",\n },\n }),\n ]\n ),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"bank\" }, [\n _c(\n \"a\",\n {\n attrs: {\n href: \"#\",\n \"data-service\": \"teliatunnistus\",\n id: \"bank_10\",\n },\n on: { click: _vm.handleBankEvent },\n },\n [\n _c(\"img\", {\n staticClass: \"banks sp\",\n attrs: {\n alt: \"Säästöpankki\",\n id: \"bank_10\",\n src: \"/Content/Default/images/banks/Spmaksunappi.png\",\n },\n }),\n ]\n ),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"bank\" }, [\n _c(\n \"a\",\n {\n attrs: {\n href: \"#\",\n \"data-service\": \"teliatunnistus\",\n id: \"bank_9\",\n },\n on: { click: _vm.handleBankEvent },\n },\n [\n _c(\"img\", {\n staticClass: \"banks pop\",\n attrs: {\n alt: \"POP Pankki\",\n id: \"bank_9\",\n src: \"/Content/Default/images/banks/POPmaksunappi.png\",\n },\n }),\n ]\n ),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"bank\" }, [\n _c(\n \"a\",\n {\n attrs: {\n href: \"#\",\n \"data-service\": \"teliatunnistus\",\n id: \"bank_6\",\n },\n on: { click: _vm.handleBankEvent },\n },\n [\n _c(\"img\", {\n staticClass: \"banks aktia\",\n attrs: {\n alt: \"Aktia\",\n id: \"bank_6\",\n src: \"/Content/Default/images/banks/Aktiamaksunappi.png\",\n },\n }),\n ]\n ),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"bank\" }, [\n _c(\n \"a\",\n {\n attrs: {\n href: \"#\",\n \"data-service\": \"teliatunnistus\",\n id: \"bank_7\",\n },\n on: { click: _vm.handleBankEvent },\n },\n [\n _c(\"img\", {\n staticClass: \"banks handelsbanken\",\n attrs: {\n alt: \"Handelsbanken\",\n id: \"bank_7\",\n src: \"/Content/PBE/images/banks/logo_handelsbanken.png\",\n },\n }),\n ]\n ),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"bank\" }, [\n _c(\n \"a\",\n {\n attrs: {\n href: \"#\",\n \"data-service\": \"teliatunnistus\",\n id: \"bank_11\",\n },\n on: { click: _vm.handleBankEvent },\n },\n [\n _c(\"img\", {\n staticClass: \"banks omasaastopankki\",\n attrs: {\n alt: \"Oma Säästöpankki\",\n id: \"bank_11\",\n src: \"/Content/Default/images/banks/OmaSp-painike-2.png\",\n },\n }),\n ]\n ),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"bank\" }, [\n _c(\n \"a\",\n {\n attrs: {\n href: \"#\",\n \"data-service\": \"teliatunnistus\",\n id: \"bank_8\",\n },\n on: { click: _vm.handleBankEvent },\n },\n [\n _c(\"img\", {\n staticClass: \"banks ålandsbanken\",\n attrs: {\n alt: \"Ålandsbanken\",\n src: \"/Content/Default/images/banks/logo_alandsbanken.png\",\n },\n }),\n ]\n ),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"bank\" }, [\n _c(\n \"a\",\n {\n attrs: {\n href: \"#\",\n \"data-service\": \"teliatunnistus\",\n id: \"bank_100\",\n },\n on: { click: _vm.handleBankEvent },\n },\n [\n _c(\"img\", {\n staticClass: \"banks mobiilivarmenne\",\n attrs: {\n alt: \"Mobiilivarmenne\",\n src: \"/Content/Default/images/banks/Mobiilivarmenne_logo_rgb.png\",\n },\n }),\n ]\n ),\n ]),\n ]),\n ]\n : _vm._e(),\n ],\n 2\n ),\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"form-group\",\n class: { \"has-error\": _vm.validationErrors.has(_vm.validationId) },\n attrs: { \"data-validation-id\": _vm.validationId },\n },\n [\n _vm._t(\"default\"),\n _vm._v(\" \"),\n _vm._t(\"validation-message\", function () {\n return [\n _vm.validationErrors.has(_vm.validationId)\n ? _c(\"validation-message\", {\n staticClass: \"help-block\",\n attrs: {\n \"validation-id\": _vm.validationId,\n \"validation-errors\": _vm.validationErrors,\n },\n })\n : _vm._e(),\n ]\n }),\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"span\", [_vm._v(\"\\n \" + _vm._s(_vm.message) + \"\\n\")])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import Vue from \"vue\"\r\nimport { Component, Prop, Emit } from \"vue-property-decorator\"\r\nimport { ValidationErrors } from \"../../new-contract-vue\";\r\n\r\n@Component({\r\n})\r\n\r\nexport default class ValidationMessage extends Vue {\r\n @Prop()\r\n public validationErrors: ValidationErrors;\r\n @Prop()\r\n public validationId: string;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n get message(): string {\r\n if (this.validationErrors != null && this.validationErrors.has(this.validationId))\r\n return this.validationErrors.get(this.validationId);\r\n return null;\r\n }\r\n}","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./validation-message.ts?vue&type=script&lang=js&external\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./validation-message.ts?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"./validation-message.vue?vue&type=template&id=50106b72\"\nimport script from \"./validation-message.ts?vue&type=script&lang=js&external\"\nexport * from \"./validation-message.ts?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\r\nimport { Component, Prop, Emit } from \"vue-property-decorator\";\r\nimport ValidationMessage from \"./validation-message.vue\";\r\nimport { ValidationErrors } from \"../../new-contract-vue\";\r\n\r\n@Component({\r\n components: { ValidationMessage }\r\n})\r\n\r\nexport default class ValidatedFormGroup extends Vue {\r\n @Prop()\r\n public validationErrors: ValidationErrors;\r\n @Prop()\r\n public validationId: string;\r\n\r\n constructor() {\r\n super();\r\n\r\n if (this.validationErrors == null)\r\n console.error(\"Property validationErrors not set!\");\r\n }\r\n}","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./validated-form-group.ts?vue&type=script&lang=js&external\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./validated-form-group.ts?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"./validated-form-group.vue?vue&type=template&id=7693f2fc\"\nimport script from \"./validated-form-group.ts?vue&type=script&lang=js&external\"\nexport * from \"./validated-form-group.ts?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\"\r\nimport { Component, Prop, Emit } from \"vue-property-decorator\"\r\nimport { mapState } from \"vuex\";\r\nimport { INewContractState } from \"../../new-contract-vuex-store\";\r\nimport { ICustomerViewModel } from \"../../../../../Scripts/inpulse/I4UViewModels\";\r\nimport { IContractViewModel } from \"../../../../../Scripts/inpulse/I4UViewModels\";\r\nimport ValidatedFormGroup from \"../../Default/common/validated-form-group.vue\";\r\nimport ValidationMessage from \"../../Default/common/validation-message.vue\";\r\nimport { ValidationErrors } from \"../../new-contract-vue\";\r\n\r\n@Component({\r\n computed: mapState({\r\n contract: (state: INewContractState) => state.contract,\r\n customer: (state: INewContractState) => state.contract.Customer,\r\n company: (state: INewContractState) => state.contract.Company\r\n }),\r\n components: {\r\n ValidatedFormGroup,\r\n ValidationMessage\r\n },\r\n})\r\n\r\nexport default class Authentication extends Vue {\r\n get contract(): IContractViewModel { return this.$store.state.contract; }\r\n get customer(): ICustomerViewModel { return this.$store.state.contract.Customer; }\r\n //@Prop()\r\n //public contract: any;\r\n get authenticateQuestionAccepted(): boolean { return this.contract.AuthenticateQuestionAccepted }\r\n validationErrors: ValidationErrors = new ValidationErrors();\r\n\r\n @Prop()\r\n public testMode: boolean;\r\n\r\n @Prop()\r\n public showAuthentication: boolean;\r\n\r\n @Prop()\r\n public hideAuthenticationForcedText: boolean;\r\n\r\n @Prop({ default: false })\r\n public moving: boolean;\r\n\r\n @Prop({ default: null })\r\n public redirectUrl: string;\r\n\r\n @Prop({ default:\"/NewContract/Contract/AuthenticationStart\"})\r\n public newcontractAuthentication: boolean;\r\n\r\n @Prop({ default: \"/MovingContract/MovingContract/AuthenticationStart\" })\r\n public movingAuthentication: boolean;\r\n\r\n @Prop({ default: false })\r\n public saveAndFinishProcess: boolean;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n @Emit()\r\n authenticate() {\r\n event.preventDefault()\r\n const service = \"Signicat\";\r\n let baseUrl = this.newcontractAuthentication;\r\n if (this.moving) {\r\n baseUrl = this.movingAuthentication;\r\n }\r\n let url = baseUrl + \"?external=false\";\r\n if (this.testMode) {\r\n const testPin = this.customer.Pin;\r\n //if (testPin != null && testPin !== \"\") {\r\n // url += \"&testPin=\" + testPin;\r\n const testPinInputValue = (document.getElementById('test-pin') as HTMLInputElement).value\r\n\r\n console.log(\"testpin \", testPin)\r\n console.log(\"testPinInputValue \", testPinInputValue)\r\n\r\n if (testPin != null) {\r\n url += \"&testPin=\" + testPinInputValue;\r\n }\r\n }\r\n if (service !== null) {\r\n url += \"&service=\" + service;\r\n }\r\n if (this.redirectUrl !== null) {\r\n url += \"&redirectUrl=\" + this.redirectUrl;\r\n }\r\n if (this.saveAndFinishProcess) {\r\n url += \"&finish=true\";\r\n }\r\n window.location.href = url;\r\n return false;\r\n\r\n }\r\n\r\n handleBankEvent(event: any) {\r\n event.preventDefault()\r\n let bank = event.currentTarget.getAttribute(\"id\");\r\n let service = event.currentTarget.getAttribute(\"data-service\");\r\n let baseUrl = this.newcontractAuthentication;\r\n if (this.moving)\r\n {\r\n baseUrl = this.movingAuthentication;\r\n }\r\n let url = baseUrl+\"?bank=\" + bank + \"&external=false\";\r\n if (this.testMode)\r\n {\r\n console.log(\"testmode \" + this.testMode);\r\n let testPin = this.customer.Pin;\r\n if (testPin != null && testPin != \"\") {\r\n url += \"&testPin=\" + testPin;\r\n }\r\n }\r\n if (service !== null)\r\n {\r\n url += \"&service=\" + service;\r\n }\r\n if (this.redirectUrl !== null) {\r\n url += \"&redirectUrl=\" + this.redirectUrl;\r\n }\r\n if (this.saveAndFinishProcess) {\r\n url += \"&finish=true\";\r\n }\r\n window.location.href = url;\r\n return false;\r\n }\r\n}","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./authentication.ts?vue&type=script&lang=js&external\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./authentication.ts?vue&type=script&lang=js&external\"","import mod from \"-!../../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./authentication-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Cauthentication.vue&external\"; export default mod; export * from \"-!../../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./authentication-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Cauthentication.vue&external\"","import { render, staticRenderFns } from \"./authentication.vue?vue&type=template&id=d4d0b610\"\nimport script from \"./authentication.ts?vue&type=script&lang=js&external\"\nexport * from \"./authentication.ts?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"../steps/Locales/authentication-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Cauthentication.vue&external\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n [\n !_vm.strongContractAuthentication\n ? _c(\"authentication\", {\n attrs: {\n \"test-mode\": _vm.contract.TestMode,\n \"show-authentication\": _vm.strongContractAuthentication,\n \"hide-authentication-forced-text\":\n _vm.hideAuthenticationForcedText,\n },\n })\n : _vm._e(),\n _vm._v(\" \"),\n [\n _vm.contract.Customer.TrustedSource && _vm.strongContractAuthentication\n ? _c(\n \"div\",\n { staticClass: \"row\" },\n [\n _c(\n \"b-col\",\n { attrs: { sm: \"6\", md: \"6\", lg: \"4\" } },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Nimi\"))),\n ]),\n _c(\"p\", { staticClass: \"form-control-static\" }, [\n _vm._v(\n _vm._s(_vm.customer.FirstName) +\n \" \" +\n _vm._s(_vm.customer.LastName)\n ),\n ]),\n ]\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-col\",\n { attrs: { sm: \"6\", md: \"6\", lg: \"4\" } },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Henkilötunnus\"))),\n ]),\n _vm._v(\" \"),\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"Pin\",\n \"validation-errors\": _vm.validationErrors,\n },\n },\n [\n _c(\"p\", { staticClass: \"form-control-static\" }, [\n _vm._v(_vm._s(_vm.customer.Pin)),\n ]),\n ]\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.strongContractAuthentication\n ? _c(\n \"div\",\n { staticClass: \"row\" },\n [\n _c(\n \"b-col\",\n { attrs: { sm: \"6\", md: \"6\", lg: \"4\" } },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Puhelinnumero\"))),\n ]),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"Phone\",\n \"validation-errors\": _vm.validationErrors,\n },\n },\n [\n _c(\"b-form-input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n attrs: {\n type: \"text\",\n name: \"Phone\",\n value: _vm.customer.Phone\n ? _vm.customer.Phone\n : \"+358\",\n },\n on: { \"value-updated\": _vm.valueUpdated },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-col\",\n { attrs: { sm: \"6\", md: \"6\", lg: \"4\" } },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Sähköpostiosoite\"))),\n ]),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"Email\",\n \"validation-errors\": _vm.validationErrors,\n },\n },\n [\n _c(\"b-form-input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n attrs: {\n type: \"email\",\n name: \"Email\",\n value: _vm.customer.Email,\n },\n on: { \"value-updated\": _vm.valueUpdated },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.strongContractAuthentication\n ? _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"div\",\n { staticClass: \"col-md-12\" },\n [\n _vm.contractPartners.length < 2\n ? _c(\n \"b-button\",\n {\n attrs: { variant: \"outline-primary\" },\n on: {\n click: function ($event) {\n return _vm.addContractPartners()\n },\n },\n },\n [\n _c(\"i\", { staticClass: \"fa fa-user\" }),\n _vm._v(\" \" + _vm._s(_vm.$t(\"Lisää sopimuskumppani\"))),\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"contract-partner-modal\", {\n attrs: { \"contact-person\": _vm.contractPartner },\n on: {\n ok: _vm.contractPartnerOk,\n \"remove-contact-person\": function ($event) {\n return _vm.removeContractPartner(_vm.contractPartner)\n },\n },\n model: {\n value: _vm.contractPartnerModalShow,\n callback: function ($$v) {\n _vm.contractPartnerModalShow = $$v\n },\n expression: \"contractPartnerModalShow\",\n },\n }),\n ],\n 1\n ),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"loading-indicator\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.loadingPartners,\n expression: \"loadingPartners\",\n },\n ],\n staticClass: \"loading-indicator\",\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: !_vm.loadingPartners,\n expression: \"!loadingPartners\",\n },\n ],\n staticClass: \"row contract-partner-row\",\n },\n _vm._l(_vm.contractPartners, function (contractPartner, index) {\n return _c(\n \"div\",\n { staticClass: \"col-sm-12 col-md-12 col-lg-6\" },\n [\n _c(\"contract-partner-card\", {\n attrs: {\n title: _vm.$t(\"Sopimuskumppani \") + (index + 1),\n \"contact-person\": contractPartner,\n },\n on: {\n modify: function ($event) {\n return _vm.modifyContractPartner(contractPartner)\n },\n },\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n [\n _vm.validationErrors.has(\n \"FirstName__contractpartner-\" + (index + 1)\n )\n ? _c(\"validation-message\", {\n staticClass: \"help-block\",\n attrs: {\n \"validation-id\":\n \"FirstName__contractpartner-\" + (index + 1),\n \"validation-errors\": _vm.validationErrors,\n },\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.validationErrors.has(\n \"LastName__contractpartner-\" + (index + 1)\n )\n ? _c(\"validation-message\", {\n staticClass: \"help-block\",\n attrs: {\n \"validation-id\":\n \"LastName__contractpartner-\" + (index + 1),\n \"validation-errors\": _vm.validationErrors,\n },\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.validationErrors.has(\n \"Pin__contractpartner-\" + (index + 1)\n )\n ? _c(\"validation-message\", {\n staticClass: \"help-block\",\n attrs: {\n \"validation-id\":\n \"Pin__contractpartner-\" + (index + 1),\n \"validation-errors\": _vm.validationErrors,\n },\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.validationErrors.has(\n \"Email__contractpartner-\" + (index + 1)\n )\n ? _c(\"validation-message\", {\n staticClass: \"help-block\",\n attrs: {\n \"validation-id\":\n \"Email__contractpartner-\" + (index + 1),\n \"validation-errors\": _vm.validationErrors,\n },\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.validationErrors.has(\n \"Phone__contractpartner-\" + (index + 1)\n )\n ? _c(\"validation-message\", {\n staticClass: \"help-block\",\n attrs: {\n \"validation-id\":\n \"Phone__contractpartner-\" + (index + 1),\n \"validation-errors\": _vm.validationErrors,\n },\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.validationErrors.has(\n \"Street__contractpartner-\" + (index + 1)\n )\n ? _c(\"validation-message\", {\n staticClass: \"help-block\",\n attrs: {\n \"validation-id\":\n \"Street__contractpartner-\" + (index + 1),\n \"validation-errors\": _vm.validationErrors,\n },\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.validationErrors.has(\n \"Zip__contractpartner-\" + (index + 1)\n )\n ? _c(\"validation-message\", {\n staticClass: \"help-block\",\n attrs: {\n \"validation-id\":\n \"Zip__contractpartner-\" + (index + 1),\n \"validation-errors\": _vm.validationErrors,\n },\n })\n : _vm._e(),\n ],\n 1\n ),\n ],\n 1\n )\n }),\n 0\n ),\n ],\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"form-group\" }, [\n _vm.title\n ? _c(\"label\", {\n staticClass: \"labelTitle\",\n domProps: { textContent: _vm._s(_vm.title) },\n })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"p\", { staticClass: \"form-control-static\" }, [_vm._t(\"default\")], 2),\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import Vue from \"vue\"\r\nimport { Component, Prop, Emit } from \"vue-property-decorator\"\r\n\r\n@Component({\r\n})\r\n\r\nexport default class FormGroupStatic extends Vue {\r\n @Prop()\r\n public title: string;\r\n @Prop()\r\n public value: string;\r\n\r\n constructor() {\r\n super();\r\n }\r\n}","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./form-group-static.ts?vue&type=script&lang=js&external\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./form-group-static.ts?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"./form-group-static.vue?vue&type=template&id=e64e237a\"\nimport script from \"./form-group-static.ts?vue&type=script&lang=js&external\"\nexport * from \"./form-group-static.ts?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"card2 contact-person\" }, [\n !_vm.isEmpty && _vm.editable\n ? _c(\"div\", { staticClass: \"pull-right\" }, [\n _c(\n \"a\",\n {\n staticClass: \"modify-button bg-primary\",\n attrs: { href: \"#\", title: \"Muokkaan tietoja\" },\n on: {\n click: function ($event) {\n $event.preventDefault()\n return _vm.modify()\n },\n },\n },\n [_c(\"i\", { staticClass: \"fa fa-pencil\" })]\n ),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"label\", {\n staticClass: \"labelTitle\",\n domProps: { textContent: _vm._s(_vm.title) },\n }),\n _vm._v(\" \"),\n _vm.isEmpty && _vm.editable\n ? _c(\n \"div\",\n [\n _c(\n \"b-button\",\n {\n attrs: { type: \"button\", variant: \"outline-primary\" },\n on: {\n click: function ($event) {\n return _vm.modify()\n },\n },\n },\n [_vm._v('\"Lisää tiedot\"')]\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.isEmpty\n ? _c(\"div\", [\n _c(\"div\", { domProps: { textContent: _vm._s(_vm.name) } }),\n _vm._v(\" \"),\n _c(\"div\", {\n domProps: { textContent: _vm._s(_vm.contactPerson.Phone) },\n }),\n _vm._v(\" \"),\n _c(\"div\", {\n domProps: { textContent: _vm._s(_vm.contactPerson.Email) },\n }),\n _vm._v(\" \"),\n _c(\"div\", { domProps: { textContent: _vm._s(_vm.addressString) } }),\n ])\n : _vm._e(),\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import Vue from \"vue\"\r\nimport { Component, Prop, Emit } from \"vue-property-decorator\"\r\nimport { IContactPersonViewModel } from \"../../../../../../Scripts/inpulse/I4UViewModels\";\r\nimport { AddressFormat, ContactPersonUtils } from \"../../common/utils\";\r\n\r\n@Component({\r\n\r\n})\r\n\r\nexport default class ContactPersonCard extends Vue {\r\n @Prop()\r\n title: string;\r\n @Prop()\r\n contactPerson: IContactPersonViewModel;\r\n @Prop({ default: true })\r\n editable: boolean;\r\n\r\n @Emit()\r\n modify() {}\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n get name(): string {\r\n let str = \"\";\r\n if (this.contactPerson.FirstName)\r\n str += this.contactPerson.FirstName;\r\n if (this.contactPerson.LastName) {\r\n if (str)\r\n str += \" \";\r\n str += this.contactPerson.LastName\r\n }\r\n if (this.contactPerson.Pin) {\r\n if (str)\r\n str += \", \";\r\n str += this.contactPerson.Pin;\r\n }\r\n return str;\r\n }\r\n\r\n get addressString(): string {\r\n return AddressFormat.toSingleString(this.contactPerson.Address);\r\n }\r\n\r\n get isEmpty(): boolean {\r\n return ContactPersonUtils.isEmpty(this.contactPerson);\r\n }\r\n}","import mod from \"-!../../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./contract-partner-card.ts?vue&type=script&lang=js&external\"; export default mod; export * from \"-!../../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./contract-partner-card.ts?vue&type=script&lang=js&external\"","import mod from \"-!../../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./contract-partner-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Ccomponents%5Ccontract-partner-card.vue&external\"; export default mod; export * from \"-!../../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./contract-partner-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Ccomponents%5Ccontract-partner-card.vue&external\"","import { render, staticRenderFns } from \"./contract-partner-card.vue?vue&type=template&id=7bec4d12\"\nimport script from \"./contract-partner-card.ts?vue&type=script&lang=js&external\"\nexport * from \"./contract-partner-card.ts?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"../Locales/contract-partner-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Ccomponents%5Ccontract-partner-card.vue&external\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"b-modal\",\n {\n attrs: {\n title: \"Sopimuskumppanin tiedot\",\n \"header-text-variant\": _vm.headerTextVariant,\n \"body-text-variant\": _vm.bodyTextVariant,\n \"header-bg-variant\": _vm.headerBgVariant,\n \"no-close-on-backdrop\": \"\",\n \"hide-backdrop\": \"\",\n \"content-class\": \"shadow\",\n },\n on: { hide: _vm.hide },\n scopedSlots: _vm._u([\n {\n key: \"modal-footer\",\n fn: function (ref) {\n var ok = ref.ok\n var cancel = ref.cancel\n return [\n _c(\n \"b-button\",\n {\n attrs: { size: \"sm\", variant: \"danger\" },\n on: {\n click: function ($event) {\n return cancel()\n },\n },\n },\n [_vm._v(\"\\n \" + _vm._s(_vm.$t(\"Poista\")) + \"\\n \")]\n ),\n _vm._v(\" \"),\n _c(\n \"b-button\",\n {\n attrs: { size: \"sm\", variant: \"primary\" },\n on: {\n click: function ($event) {\n return ok()\n },\n },\n },\n [\n _vm._v(\n \"\\n \" + _vm._s(_vm.$t(\"Hyväksy\")) + \"\\n \"\n ),\n ]\n ),\n ]\n },\n },\n ]),\n model: {\n value: _vm.show,\n callback: function ($$v) {\n _vm.show = $$v\n },\n expression: \"show\",\n },\n },\n [\n _vm.contactPerson\n ? [\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\"div\", { staticClass: \"form-group col-md-6\" }, [\n _c(\"label\", [_vm._v(_vm._s(_vm.$t(\"Etunimi\")))]),\n _vm._v(\" \"),\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.contactPerson.FirstName,\n expression: \"contactPerson.FirstName\",\n },\n ],\n staticClass: \"form-control\",\n domProps: { value: _vm.contactPerson.FirstName },\n on: {\n input: function ($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(\n _vm.contactPerson,\n \"FirstName\",\n $event.target.value\n )\n },\n },\n }),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group col-md-6\" }, [\n _c(\"label\", [_vm._v(_vm._s(_vm.$t(\"Sukunimi\")))]),\n _vm._v(\" \"),\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.contactPerson.LastName,\n expression: \"contactPerson.LastName\",\n },\n ],\n staticClass: \"form-control\",\n domProps: { value: _vm.contactPerson.LastName },\n on: {\n input: function ($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(\n _vm.contactPerson,\n \"LastName\",\n $event.target.value\n )\n },\n },\n }),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group col-md-6\" }, [\n _c(\"label\", [_vm._v(_vm._s(_vm.$t(\"Henkilötunnus\")))]),\n _vm._v(\" \"),\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.contactPerson.Pin,\n expression: \"contactPerson.Pin\",\n },\n ],\n staticClass: \"form-control\",\n domProps: { value: _vm.contactPerson.Pin },\n on: {\n input: function ($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(_vm.contactPerson, \"Pin\", $event.target.value)\n },\n },\n }),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group col-md-6\" }, [\n _c(\"label\", [_vm._v(_vm._s(_vm.$t(\"Puhelinnumero\")))]),\n _vm._v(\" \"),\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.contactPerson.Phone,\n expression: \"contactPerson.Phone\",\n },\n ],\n staticClass: \"form-control\",\n domProps: { value: _vm.contactPerson.Phone },\n on: {\n input: function ($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(_vm.contactPerson, \"Phone\", $event.target.value)\n },\n },\n }),\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"form-group col-md-12\" },\n [\n _c(\"label\", [_vm._v(_vm._s(_vm.$t(\"Sähköpostiosoite\")))]),\n _vm._v(\" \"),\n _c(\"font-awesome-icon\", {\n directives: [\n {\n name: \"b-tooltip\",\n rawName: \"v-b-tooltip\",\n value: _vm.emailToolTipString,\n expression: \"emailToolTipString\",\n },\n ],\n attrs: { icon: \"exclamation-circle\", size: \"lg\" },\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.contactPerson.Email,\n expression: \"contactPerson.Email\",\n },\n ],\n staticClass: \"form-control\",\n domProps: { value: _vm.contactPerson.Email },\n on: {\n input: function ($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(\n _vm.contactPerson,\n \"Email\",\n $event.target.value\n )\n },\n },\n }),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"form-group col-md-7\" },\n [\n _c(\"label\", [_vm._v(_vm._s(_vm.$t(\"Katuosoite\")))]),\n _vm._v(\" \"),\n _c(\"street-autocomplete\", {\n attrs: {\n id: \"contactPerson_street\",\n \"postal-filter\": _vm.contactPerson.Address.Zip,\n locale: _vm.locale,\n \"show-full-address\": true,\n },\n on: {\n \"street-selected\": _vm.streetSelected,\n \"street-address-selected\": _vm.addressSelected,\n },\n model: {\n value: _vm.street,\n callback: function ($$v) {\n _vm.street = $$v\n },\n expression: \"street\",\n },\n }),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"form-group col-md-5\" },\n [\n _c(\"label\", [_vm._v(_vm._s(_vm.$t(\"Postinumero\")))]),\n _vm._v(\" \"),\n _c(\"postal-autocomplete\", {\n attrs: {\n id: \"contactPerson_pastalcode\",\n place: _vm.contactPerson.Address.Place,\n \"street-locale\": _vm.locale,\n },\n on: {\n \"postal-code-selected\": _vm.postalSelected,\n \"post-office-selected\": _vm.postOfficeSelected,\n },\n model: {\n value: _vm.contactPerson.Address.Zip,\n callback: function ($$v) {\n _vm.$set(_vm.contactPerson.Address, \"Zip\", $$v)\n },\n expression: \"contactPerson.Address.Zip\",\n },\n }),\n _vm._v(\" \"),\n _c(\"p\", {\n domProps: {\n textContent: _vm._s(_vm.contactPerson.Address.Place),\n },\n }),\n ],\n 1\n ),\n ]),\n ]\n : _vm._e(),\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"vue-simple-suggest\",\n {\n attrs: {\n \"value-attribute\": \"address\",\n \"display-attribute\": \"streetAddress\",\n list: _vm.searchForStreets,\n \"max-suggestions\": 8,\n styles: _vm.autoCompleteStyle,\n destyled: true,\n debounce: 100,\n mode: \"select\",\n },\n on: { select: _vm.itemSelected, blur: _vm.onBlur },\n scopedSlots: _vm._u([\n {\n key: \"suggestion-item\",\n fn: function (scope) {\n return _c(\"div\", {}, [\n _vm.showFullAddress\n ? _c(\"span\", [_vm._v(_vm._s(scope.suggestion.address))])\n : _c(\"span\", [_vm._v(_vm._s(scope.suggestion.streetAddress))]),\n ])\n },\n },\n ]),\n model: {\n value: _vm.selectedItem,\n callback: function ($$v) {\n _vm.selectedItem = $$v\n },\n expression: \"selectedItem\",\n },\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.query,\n expression: \"query\",\n },\n ],\n staticClass: \"form-control\",\n attrs: {\n \"aria-label\": \"Katuosoite\",\n type: \"text\",\n maxlength: \"70\",\n disabled: _vm.disabled,\n },\n domProps: { value: _vm.query },\n on: {\n input: function ($event) {\n if ($event.target.composing) {\n return\n }\n _vm.query = $event.target.value\n },\n },\n }),\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","// Street autocomplete component for vue. Depends on bootstrap-vue library.\r\nrequire(\"custom-event-polyfill\");\r\n\r\nimport Vue from \"vue\";\r\nimport { Component, Prop, Emit, Watch } from \"vue-property-decorator\";\r\nimport VueSimpleSuggest from 'vue-simple-suggest'\r\n\r\n// Internal\r\nclass Addr {\r\n address: string;\r\n streetAddress: string;\r\n postalCode: string;\r\n postOffice: string;\r\n locale: string;\r\n constructor(streetAddress: string, postalCode: string, postOffice: string, locale?: string) {\r\n this.streetAddress = streetAddress;\r\n this.postalCode = postalCode;\r\n this.postOffice = postOffice;\r\n this.address = streetAddress + \", \" + postalCode + \" \" + postOffice;\r\n this.locale = locale;\r\n }\r\n}\r\n\r\n@Component({\r\n components: {\r\n VueSimpleSuggest\r\n }\r\n})\r\n\r\nexport default class StreetAutocomplete extends Vue {\r\n @Prop({ required: true })\r\n value: string;\r\n\r\n @Prop({ default: false })\r\n showFullAddress: boolean;\r\n\r\n @Prop()\r\n locale: string;\r\n\r\n @Prop()\r\n zipLocale: string;\r\n\r\n @Prop({ default: false })\r\n disabled: boolean;\r\n\r\n get displayValueField() {\r\n return this.showFullAddress ? \"address\" : \"streetAddress\";\r\n }\r\n\r\n query = \"\";\r\n selectedItem: Addr = new Addr(\"\", \"\", \"\");\r\n selectedLocale: string;\r\n\r\n autoCompleteStyle = {\r\n vueSimpleSuggest: \"position-relative\",\r\n inputWrapper: \"\",\r\n defaultInput: \"form-control\",\r\n suggestions: \"position-absolute list-group z-1000\",\r\n suggestItem: \"list-group-item\"\r\n }\r\n\r\n @Prop({ default: \"\" })\r\n postalFilter: string;\r\n\r\n @Emit()\r\n streetSelected(_street: string, _locale: string) { \r\n }\r\n\r\n @Emit()\r\n streetAddressSelected(_streetName: string, _postalCode: string, _postOffice: string,_locale: string) {\r\n }\r\n\r\n @Watch(\"value\")\r\n keepValueSync(oldValue, newValue) {\r\n this.query = this.value; \r\n }\r\n\r\n mounted() {\r\n this.query = this.value;\r\n }\r\n\r\n searchForStreets(query: string): Promise { \r\n return new Promise((resolve, reject) => {\r\n if (query.length > 1) {\r\n const hub = $.connection.commonHub.server;\r\n const postalFilter = this.postalFilter || \"\";\r\n const locale = this.zipLocale;\r\n hub.searchStreetAddressFilter(query, postalFilter, locale).done(function (data) {\r\n const arr: Addr[] = [];\r\n for (let i = 0; i < data.length; ++i) {\r\n const searchItem = data[i];\r\n arr.push(new Addr(searchItem.Item1, searchItem.Item2, searchItem.Item3, searchItem.Item4));\r\n }\r\n resolve(arr);\r\n });\r\n }\r\n else {\r\n resolve([]);\r\n }\r\n });\r\n }\r\n\r\n onBlur() {\r\n // this makes sure that street is emitted even when no item is selected\r\n if (this.query == null || this.query == \"\") {\r\n this.selectedLocale = null;\r\n }\r\n this.streetSelected(this.query, this.selectedLocale);\r\n }\r\n\r\n itemSelected(selected: Addr) {\r\n console.log(selected);\r\n let streetAddress = \"\";\r\n let locale = selected ? selected.locale : null;\r\n this.selectedLocale = locale;\r\n if (!selected) {\r\n streetAddress = this.query;\r\n this.streetSelected(streetAddress, locale);\r\n }\r\n else {\r\n streetAddress = selected.streetAddress;\r\n\r\n // query is the string which user has typed so it might be something\r\n // like Kauppaka so we need to autocomplete it with the selected value to\r\n // make sure that onBlur doesn't emit wrong value\r\n this.query = selected.streetAddress\r\n\r\n // street address selected can only be triggered here when address is selected not just typed\r\n this.streetAddressSelected(selected.streetAddress, selected.postalCode, selected.postOffice, selected.locale);\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./street-autocomplete.ts?vue&type=script&lang=ts&external\"; export default mod; export * from \"-!../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./street-autocomplete.ts?vue&type=script&lang=ts&external\"","import { render, staticRenderFns } from \"./street-autocomplete.vue?vue&type=template&id=9a101850\"\nimport script from \"./street-autocomplete.ts?vue&type=script&lang=ts&external\"\nexport * from \"./street-autocomplete.ts?vue&type=script&lang=ts&external\"\nimport style0 from \"./street-autocomplete.vue?vue&type=style&index=0&id=9a101850&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\"\r\nimport { Component, Prop, Emit, Watch } from \"vue-property-decorator\"\r\nimport { IContactPersonViewModel, ContactPersonViewModel } from \"@/Scripts/inpulse/I4UViewModels\";\r\nimport StreetAutocomplete from \"@/Scripts/vue-components/bootstrap-components/street-autocomplete.vue\";\r\nimport PostalAutocomplete from \"@/Scripts/vue-components/bootstrap-components/postal-autocomplete.vue\";\r\nimport BootstrapVue, { BvModalEvent } from 'bootstrap-vue'\r\nVue.use(BootstrapVue)\r\n\r\n@Component({\r\n components: {\r\n StreetAutocomplete,\r\n PostalAutocomplete\r\n }\r\n})\r\n\r\nexport default class ContactPersonModal extends Vue {\r\n get street(): string { return this.contactPerson.Address.Street; }\r\n set street(val: string) { this.contactPerson.Address.Street = val; }\r\n\r\n @Prop()\r\n value;\r\n\r\n @Watch(\"value\")\r\n valueChanged(val: boolean) {\r\n this.show = this.value;\r\n }\r\n\r\n private show: boolean = false;\r\n private locale: string = null;\r\n\r\n @Watch(\"show\")\r\n showChanged(val: boolean) {\r\n this.$emit(\"input\", val);\r\n }\r\n\r\n @Prop()\r\n contactPerson: IContactPersonViewModel;\r\n\r\n @Emit()\r\n removeContactPerson(contactPerson: IContactPersonViewModel) { }\r\n\r\n @Emit()\r\n cancel() { }\r\n\r\n @Emit()\r\n ok(contactPerson: IContactPersonViewModel) { }\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n beforeClose(msg) {\r\n if (msg == \"cancel\") {\r\n this.removeContactPerson(this.contactPerson);\r\n }\r\n return true;\r\n }\r\n\r\n hide(msg: BvModalEvent) {\r\n if (msg.trigger == \"cancel\") {\r\n this.cancel();\r\n this.removeContactPerson(this.contactPerson);\r\n }\r\n else if (msg.trigger == \"ok\")\r\n this.ok(this.contactPerson);\r\n }\r\n\r\n postOfficeSelected(postOffice: string) {\r\n this.contactPerson.Address.Place = postOffice;\r\n }\r\n\r\n postalSelected(postCode: string, locale: string) {\r\n this.locale = locale;\r\n this.contactPerson.Address.Zip = postCode;\r\n this.contactPerson.Address.Locale = locale;\r\n }\r\n\r\n streetSelected(street: string, locale: string) {\r\n this.locale = locale;\r\n //this.contactPerson.Address.StreetName = street;\r\n this.contactPerson.Address.Street = street;\r\n this.contactPerson.Address.Locale = locale;\r\n }\r\n\r\n addressSelected(streetName: string, postalCode: string, postOffice: string, locale: string) {\r\n //this.contactPerson.Address.StreetName = streetName;\r\n this.contactPerson.Address.Street = streetName;\r\n this.contactPerson.Address.Zip = postalCode;\r\n this.contactPerson.Address.Place = postOffice;\r\n this.contactPerson.Address.Locale = locale;\r\n this.locale = locale;\r\n }\r\n\r\n get emailToolTipString(): string {\r\n return this.$t('Sähköposti on pakollinen tieto sopimuskumppanin vahvaa tunnistautumista varten.').toString();\r\n }\r\n \r\n data() {\r\n return {\r\n show: false,\r\n variants: ['primary', 'secondary', 'success', 'warning', 'danger', 'info', 'light', 'dark'],\r\n headerBgVariant: 'light',\r\n headerTextVariant: 'dark', \r\n bodyTextVariant: 'dark',\r\n footerBgVariant: 'light'\r\n }\r\n }\r\n}","import mod from \"-!../../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./contract-partner-modal.ts?vue&type=script&lang=js&external\"; export default mod; export * from \"-!../../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./contract-partner-modal.ts?vue&type=script&lang=js&external\"","import mod from \"-!../../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./contract-partner-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Ccomponents%5Ccontract-partner-modal.vue&external\"; export default mod; export * from \"-!../../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./contract-partner-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Ccomponents%5Ccontract-partner-modal.vue&external\"","import { render, staticRenderFns } from \"./contract-partner-modal.vue?vue&type=template&id=5fb4c660\"\nimport script from \"./contract-partner-modal.ts?vue&type=script&lang=js&external\"\nexport * from \"./contract-partner-modal.ts?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"../Locales/contract-partner-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Ccomponents%5Ccontract-partner-modal.vue&external\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","require(\"core-js/features/array/find\");\r\n\r\nimport Vue from \"vue\";\r\nimport { Component, Prop, Emit, Watch } from \"vue-property-decorator\";\r\nimport ValidatedFormGroup from \"../common/validated-form-group.vue\";\r\nimport ValidationMessage from \"../common/validation-message.vue\";\r\nimport FormGroupStatic from \"../phases/form-group-static.vue\";\r\nimport Authentication from \"./authentication.vue\";\r\nimport ContractPartnerCard from \"./components/contract-partner-card.vue\";\r\nimport ContractPartnerModal from \"./components/contract-partner-modal.vue\";\r\nimport { mapState } from \"vuex\";\r\nimport { INewContractState, IContractSettings } from \"../../new-contract-vuex-store\";\r\nimport { ContactPersonViewModel, IContactPersonViewModel, IAddressViewModel, AddressViewModel, ICustomerViewModel, ICompanyViewModel, IContractViewModel } from \"../../../../../Scripts/inpulse/I4UViewModels\";\r\nimport { ContactPersonUtils, ArrayUtils, ObjectUtils } from \"../common/utils\";\r\nimport { ValidationErrors } from \"../../new-contract-vue\";\r\nimport { SectionChecker } from \"../common/section\";\r\nimport LoadingComponent from \"@/Scripts/vue-components/common/loading.vue\";\r\n\r\nclass Checker extends SectionChecker {\r\n constructor() {\r\n super();\r\n this.properties = [\r\n (contract: IContractViewModel) => contract.Customer.Pin,\r\n (contract: IContractViewModel) => contract.Customer.FirstName,\r\n (contract: IContractViewModel) => contract.Customer.LastName,\r\n (contract: IContractViewModel) => contract.Customer.Phone\r\n ];\r\n this.validationIds = [\r\n \"FirstName\",\r\n \"LastName\",\r\n \"Pin\",\r\n \"Phone\",\r\n \"Email\",\r\n \"FirstName__contractpartner-1\", \r\n \"LastName__contractpartner-1\",\r\n \"Pin__contractpartner-1\",\r\n \"Email__contractpartner-1\",\r\n \"Phone__contractpartner-1\",\r\n \"FirstName__contractpartner-2\",\r\n \"LastName__contractpartner-2\",\r\n \"Pin__contractpartner-2\",\r\n \"Email__contractpartner-2\",\r\n \"Phone__contractpartner-2\",\r\n ];\r\n }\r\n}\r\n\r\nexport let CustomerInformationChecker = new Checker();\r\n\r\ndeclare var currentLocale: string;\r\n@Component({\r\n components: {\r\n ValidatedFormGroup,\r\n ValidationMessage,\r\n FormGroupStatic,\r\n Authentication,\r\n ContractPartnerCard,\r\n ContractPartnerModal,\r\n LoadingIndicator: LoadingComponent\r\n },\r\n computed: mapState({\r\n customerCulture(): string {\r\n let custCult = this.customer.CultureCode;\r\n if (custCult === null || custCult === '') {\r\n custCult = currentLocale;\r\n }\r\n if (custCult !== null) {\r\n if (custCult.startsWith('fi')) {\r\n custCult = 'suomi'\r\n }\r\n else {\r\n custCult = 'ruotsi'\r\n }\r\n return custCult;\r\n }\r\n }\r\n }),\r\n})\r\n\r\nexport default class CustomerInformation extends Vue {\r\n get contractSettings(): IContractSettings { return this.$store.state.contractSettings; }\r\n get contract(): IContractViewModel { return this.$store.state.contract; }\r\n get customer(): ICustomerViewModel { return this.contract.Customer; }\r\n get company(): ICompanyViewModel { return this.contract.Company; }\r\n get strongContractAuthentication(): boolean { return this.contract.StrongContractAuthentication }\r\n get hideAuthenticationForcedText(): boolean { return this.$store.state.isAuthenticated; } \r\n\r\n get contractPartners(): IContactPersonViewModel[] {\r\n let res = [];\r\n this.customer.ContractPartners.forEach(x => {\r\n if (!ContactPersonUtils.isEmpty(x))\r\n res.push(x);\r\n });\r\n return res;\r\n }\r\n\r\n streetModel: string = \"\";\r\n zipModel: string = \"\";\r\n\r\n contractPartnerModalShow: boolean = false;\r\n\r\n contractPartner: IContactPersonViewModel = null;\r\n cachedContractPartners: IContactPersonViewModel[] = null;\r\n loadingPartners = false;\r\n\r\n @Prop()\r\n public validationErrors: any;\r\n\r\n @Emit()\r\n customerValueUpdated(allSet: boolean) {}\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n addContractPartners() {\r\n if (this.contractPartners != null && this.contractPartners.length >= 2) {\r\n console.error(\"Only 2 contract partners can be added!\");\r\n return;\r\n }\r\n\r\n this.cachedContractPartners = this.contractPartners != null\r\n ? JSON.parse(JSON.stringify(this.contractPartners))\r\n : [];\r\n\r\n this.contractPartner = new ContactPersonViewModel();\r\n this.cachedContractPartners.push(this.contractPartner);\r\n this.contractPartnerModalShow = true;\r\n }\r\n\r\n modifyContractPartner(contractPartner: IContactPersonViewModel) {\r\n // When modify is called, there MUST be contract partners. It's a bug if none is found.\r\n let ndx = this.customer.ContractPartners.indexOf(contractPartner);\r\n this.cachedContractPartners = JSON.parse(JSON.stringify(this.contractPartners));\r\n this.contractPartner = this.cachedContractPartners[ndx];\r\n this.contractPartnerModalShow = true;\r\n }\r\n\r\n removeContractPartner(contractPartner: IContactPersonViewModel) {\r\n console.log(\"Remove contract partner!\");\r\n let ndx = this.cachedContractPartners.indexOf(contractPartner)\r\n this.cachedContractPartners.splice(ndx, 1);\r\n this.$store.dispatch(\"setContractPartners\", this.cachedContractPartners);\r\n }\r\n\r\n strip(ctor: any, obj: object) {\r\n let keys = Object.keys(new ctor());\r\n let keyMap = {};\r\n keys.forEach((key) => {\r\n keyMap[key] = true;\r\n });\r\n for (let p in obj) {\r\n if (obj.hasOwnProperty(p)) {\r\n if (keyMap[p] === undefined) {\r\n obj[p] = undefined;\r\n }\r\n }\r\n }\r\n }\r\n\r\n contractPartnerOk(contractPartner: IContactPersonViewModel) {\r\n // We are handling an object we got from the server. Its Address contains all the properties declared in the server side (C#) view model.\r\n // We must get rid of those properties that do not exist in the client side view model. Without doing so, the address parsing scheme\r\n // would not work, since SignalR creates the AddressViewModel object and sets all of its properties, and that would mess up the result.\r\n this.cachedContractPartners.forEach(x => this.strip(AddressViewModel, x.Address));\r\n let nonEmpty: IContactPersonViewModel[] = ArrayUtils.findAll(this.cachedContractPartners, (cp) => !ContactPersonUtils.isEmpty(cp));\r\n // Saving the entire model is problematic, as the addressviewmodel will launch every address component setter. \r\n // As the model only has StreetName set, the model will en up having entire street address on StreetName fields, wheares the rest (e.g HouseNumber, Apartment, etc) would end up empty.\r\n //this.$store.dispatch(\"setContractPartners\", nonEmpty);\r\n this.setContractPartners(nonEmpty);\r\n }\r\n\r\n setContractPartner(partner: IContactPersonViewModel, idx: number): Promise {\r\n let payloads = [\r\n { key: \"FirstName__contractpartner-\" + idx, value: partner.FirstName },\r\n { key: \"LastName__contractpartner-\" + idx, value: partner.LastName },\r\n { key: \"Pin__contractpartner-\" + idx, value: partner.Pin },\r\n { key: \"Phone__contractpartner-\" + idx, value: partner.Phone },\r\n { key: \"Email__contractpartner-\" + idx, value: partner.Email },\r\n { key: \"Street__contractpartner-\" + idx, value: partner.Address.Street, locale: partner.Address.Locale },\r\n { key: \"Zip__contractpartner-\" + idx, value: partner.Address.Zip, locale: partner.Address.Locale }\r\n ];\r\n return this.$store.dispatch(\"changeValues\", payloads);\r\n }\r\n\r\n setContractPartners(partners: IContactPersonViewModel[]) {\r\n let idx = 1;\r\n let promises = [];\r\n partners.forEach((x: IContactPersonViewModel) => {\r\n promises.push(this.setContractPartner(x, idx));\r\n idx++;\r\n });\r\n this.loadingPartners = true;\r\n Promise.all(promises).then(() => {\r\n console.log(\"ContractPartners saved to hub.\");\r\n }).catch(e => {\r\n console.error(\"Saving contractPartners failed.\");\r\n console.log(e);\r\n }).finally(() => {\r\n this.loadingPartners = false;\r\n });\r\n };\r\n\r\n valueUpdated() {\r\n let allSet = CustomerInformationChecker.isAllSet(this.contract);\r\n this.customerValueUpdated(allSet);\r\n }\r\n\r\n data() {\r\n return {\r\n selected: null,\r\n options: [\r\n { value: 'null', text: this.$t('Valitse asiointikieli'), disabled: true },\r\n { value: 'fi-FI', text: this.$t('suomi') },\r\n { value: 'se-SV', text: this.$t('ruotsi') },\r\n\r\n ]\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./customer-information.ts?vue&type=script&lang=js&external\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./customer-information.ts?vue&type=script&lang=js&external\"","import mod from \"-!../../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./customer-information-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Ccustomer-information.vue&external\"; export default mod; export * from \"-!../../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./customer-information-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Ccustomer-information.vue&external\"","import { render, staticRenderFns } from \"./customer-information.vue?vue&type=template&id=11f97cab\"\nimport script from \"./customer-information.ts?vue&type=script&lang=js&external\"\nexport * from \"./customer-information.ts?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./Locales/customer-information-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Ccustomer-information.vue&external\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", [\n _vm.contract.strongContractAuthentication\n ? _c(\n \"div\",\n { staticClass: \"row\" },\n [\n _c(\n \"b-col\",\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: { \"label-cols-sm\": \"12\", \"label-cols-lg\": \"2\" },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Nimi\"))),\n ]),\n _vm._v(\n \" \" +\n _vm._s(_vm.customer.FirstName) +\n \" \" +\n _vm._s(_vm.customer.LastName)\n ),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: { \"label-cols-sm\": \"12\", \"label-cols-lg\": \"2\" },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Puhelinnumero\"))),\n ]),\n _vm._v(\" \" + _vm._s(_vm.customer.Phone)),\n ]\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-col\",\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: { \"label-cols-sm\": \"12\", \"label-cols-lg\": \"2\" },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Henkilötunnus\"))),\n ]),\n _vm._v(\" \" + _vm._s(_vm.customer.Pin)),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: { \"label-cols-sm\": \"12\", \"label-cols-lg\": \"2\" },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Sähköpostiosoite\"))),\n ]),\n _vm._v(\" \" + _vm._s(_vm.customer.Email)),\n ]\n ),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"row contract-partner-row\" },\n [\n _c(\n \"b-col\",\n { attrs: { md: \"6\" } },\n [\n _vm.contractPartners.length > 0\n ? _c(\"contract-partner-card\", {\n attrs: {\n \"contact-person\": _vm.contractPartners[0],\n title: _vm.$t(\"Sopimuskumppani \") + 1,\n editable: false,\n },\n })\n : _vm._e(),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-col\",\n { attrs: { md: \"6\" } },\n [\n _vm.contractPartners.length > 1\n ? _c(\"contract-partner-card\", {\n attrs: {\n \"contact-person\": _vm.contractPartners[1],\n title: _vm.$t(\"Sopimuskumppani \") + 2,\n editable: false,\n },\n })\n : _vm._e(),\n ],\n 1\n ),\n ],\n 1\n ),\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","require(\"core-js/features/array/find\");\r\n\r\nimport Vue from \"vue\";\r\nimport { mapState } from \"vuex\";\r\nimport { Component, Prop, Emit, Watch } from \"vue-property-decorator\";\r\nimport { INewContractState } from \"../../new-contract-vuex-store\";\r\nimport { ContactPersonUtils } from \"../common/utils\";\r\nimport FormGroupStatic from \"../phases/form-group-static.vue\";\r\nimport HorizontalFormGroup from \"../phases/horizontal-form-group.vue\";\r\nimport ContractPartnerCard from \"./components/contract-partner-card.vue\";\r\nimport { ICustomerViewModel } from \"../../../../../Scripts/inpulse/I4UViewModels\";\r\n\r\n@Component({\r\n components: {\r\n FormGroupStatic,\r\n HorizontalFormGroup,\r\n ContractPartnerCard\r\n },\r\n computed: mapState({\r\n customer: (state: INewContractState) => state.contract.Customer,\r\n contract: (state: INewContractState) => state.contract,\r\n contractPartners: (state: INewContractState) => {\r\n let res = [];\r\n state.contract.Customer.ContractPartners.forEach(x => {\r\n if (!ContactPersonUtils.isEmpty(x))\r\n res.push(x);\r\n });\r\n return res;\r\n }\r\n }),\r\n})\r\n\r\nexport default class CustomerInformationDisplay extends Vue {\r\n}","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./customer-information-display.ts?vue&type=script&lang=js&external\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./customer-information-display.ts?vue&type=script&lang=js&external\"","import mod from \"-!../../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./customer-information-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Ccustomer-information-display.vue&external\"; export default mod; export * from \"-!../../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./customer-information-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Ccustomer-information-display.vue&external\"","import { render, staticRenderFns } from \"./customer-information-display.vue?vue&type=template&id=467668eb\"\nimport script from \"./customer-information-display.ts?vue&type=script&lang=js&external\"\nexport * from \"./customer-information-display.ts?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./Locales/customer-information-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Ccustomer-information-display.vue&external\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", [\n _vm.strongContractAuthentication\n ? _c(\n \"div\",\n { staticClass: \"row\" },\n [\n _c(\n \"b-col\",\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"2\",\n \"label-align-lg\": \"right\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Y-tunnus\"))),\n ]),\n _vm._v(\n \" \\n \" +\n _vm._s(_vm.company.BusinessId) +\n \"\\n \"\n ),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"2\",\n \"label-align-lg\": \"right\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Puhelinnumero\"))),\n ]),\n _vm._v(\n \" \\n \" +\n _vm._s(_vm.company.Phone) +\n \"\\n \"\n ),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"2\",\n \"label-align-lg\": \"right\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Yhteyshenkilön sukunimi\"))),\n ]),\n _vm._v(\" \"),\n _vm.contactPersons.length > 0\n ? _c(\"span\", [\n _vm._v(_vm._s(_vm.contactPersons[0].LastName)),\n ])\n : _vm._e(),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"2\",\n \"label-align-lg\": \"right\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Yhteyshenkilön puhelinnumero\"))),\n ]),\n _vm._v(\" \"),\n _vm.contactPersons.length > 0\n ? _c(\"span\", [\n _vm._v(_vm._s(_vm.contactPersons[0].Phone)),\n ])\n : _vm._e(),\n ]\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-col\",\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"2\",\n \"label-align-lg\": \"right\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Yrityksen nimi\"))),\n ]),\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.company.CompanyName) +\n \"\\n \"\n ),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"2\",\n \"label-align-lg\": \"right\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Sähköpostiosoite\"))),\n ]),\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.company.Email) +\n \"\\n \"\n ),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"2\",\n \"label-align-lg\": \"right\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Yhteyshenkilön etunimi\"))),\n ]),\n _vm._v(\" \"),\n _vm.contactPersons.length > 0\n ? _c(\"span\", [\n _vm._v(_vm._s(_vm.contactPersons[0].FirstName)),\n ])\n : _vm._e(),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"2\",\n \"label-align-lg\": \"right\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Yhteyshenkilön sähköpostiosoite\"))),\n ]),\n _vm._v(\" \"),\n _vm.contactPersons.length > 0\n ? _c(\"span\", [\n _vm._v(_vm._s(_vm.contactPersons[0].Email)),\n ])\n : _vm._e(),\n ]\n ),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","require(\"core-js/features/array/find\");\r\n\r\nimport Vue from \"vue\";\r\nimport { mapState } from \"vuex\";\r\nimport { Component, Prop, Emit, Watch } from \"vue-property-decorator\";\r\nimport { INewContractState } from \"../../new-contract-vuex-store\";\r\nimport { ContactPersonUtils } from \"../common/utils\";\r\nimport FormGroupStatic from \"../phases/form-group-static.vue\";\r\nimport HorizontalFormGroup from \"../phases/horizontal-form-group.vue\";\r\nimport { ICompanyViewModel } from \"../../../../../Scripts/inpulse/I4UViewModels\";\r\n\r\n@Component({\r\n components: {\r\n FormGroupStatic,\r\n HorizontalFormGroup\r\n },\r\n computed: mapState({\r\n company: (state: INewContractState) => state.contract.Company,\r\n contract: (state: INewContractState) => state.contract,\r\n contactPersons: (state: INewContractState) => {\r\n let res = [];\r\n state.contract.Company.ContactPersons.forEach(x => {\r\n if (!ContactPersonUtils.isEmpty(x))\r\n res.push(x);\r\n });\r\n return res;\r\n },\r\n strongContractAuthentication: (state: INewContractState) => state.contract.StrongContractAuthentication \r\n }),\r\n})\r\n\r\nexport default class CompanyInformationDisplay extends Vue { \r\n}","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./company-information-display.ts?vue&type=script&lang=js&external\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./company-information-display.ts?vue&type=script&lang=js&external\"","import mod from \"-!../../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./company-information-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Ccompany-information-display.vue&external\"; export default mod; export * from \"-!../../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./company-information-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Ccompany-information-display.vue&external\"","import { render, staticRenderFns } from \"./company-information-display.vue?vue&type=template&id=f5de55ae\"\nimport script from \"./company-information-display.ts?vue&type=script&lang=js&external\"\nexport * from \"./company-information-display.ts?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./Locales/company-information-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Ccompany-information-display.vue&external\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n [\n !_vm.strongContractAuthentication\n ? _c(\"authentication\", {\n attrs: {\n \"test-mode\": _vm.contract.TestMode,\n \"show-authentication\": _vm.strongContractAuthentication,\n },\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.contract.Company.TrustedSource && _vm.strongContractAuthentication\n ? [\n _c(\n \"div\",\n { staticClass: \"row\" },\n [\n _c(\n \"b-col\",\n { attrs: { sm: \"6\", md: \"4\" } },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Y-tunnus\"))),\n ]),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"BusinessId\",\n \"validation-errors\": _vm.validationErrors,\n },\n },\n [\n _c(\"b-form-input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n staticClass: \"form-control contract-field\",\n attrs: {\n type: \"text\",\n name: \"BusinessId\",\n maxlength: \"20\",\n value: _vm.company.BusinessId,\n },\n on: { \"value-updated\": _vm.valueUpdated },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-col\",\n { attrs: { sm: \"6\", md: \"4\" } },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Yrityksen nimi\"))),\n ]),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"CompanyName\",\n \"validation-errors\": _vm.validationErrors,\n },\n },\n [\n _c(\"b-form-input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n staticClass: \"form-control contract-field\",\n attrs: {\n type: \"text\",\n name: \"CompanyName\",\n maxlength: \"80\",\n value: _vm.company.CompanyName,\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"row\" },\n [\n _c(\n \"b-col\",\n { attrs: { sm: \"6\", md: \"4\" } },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Puhelinnumero\"))),\n ]),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"CompanyPhone\",\n \"validation-errors\": _vm.validationErrors,\n },\n },\n [\n _c(\"b-form-input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n attrs: {\n type: \"text\",\n name: \"CompanyPhone\",\n value: _vm.company.Phone\n ? _vm.company.Phone\n : \"+358\",\n },\n on: { \"value-updated\": _vm.valueUpdated },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-col\",\n { attrs: { sm: \"6\", md: \"4\" } },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Sähköpostiosoite\"))),\n ]),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"CompanyEmail\",\n \"validation-errors\": _vm.validationErrors,\n },\n },\n [\n _c(\"b-form-input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n attrs: {\n type: \"email\",\n name: \"CompanyEmail\",\n value: _vm.company.Email,\n },\n on: { \"value-updated\": _vm.valueUpdated },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"row\" },\n [\n _c(\n \"b-col\",\n { attrs: { sm: \"6\", md: \"4\" } },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Yhteyshenkilön sukunimi\"))),\n ]),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"LastName__contactperson-1\",\n \"validation-errors\": _vm.validationErrors,\n },\n },\n [\n _c(\"b-form-input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n attrs: {\n type: \"text\",\n name: \"LastName__contactperson-1\",\n maxlength: \"50\",\n value: _vm.contactPersonLastName,\n },\n on: { \"value-updated\": _vm.valueUpdated },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-col\",\n { attrs: { sm: \"6\", md: \"4\" } },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Yhteyshenkilön etunimi\"))),\n ]),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"FirstName__contactperson-1\",\n \"validation-errors\": _vm.validationErrors,\n },\n },\n [\n _c(\"b-form-input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n attrs: {\n type: \"text\",\n name: \"FirstName__contactperson-1\",\n maxlength: \"50\",\n value: _vm.contactPersonFirstName,\n },\n on: { \"value-updated\": _vm.valueUpdated },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"row\" },\n [\n _c(\n \"b-col\",\n { attrs: { sm: \"6\", md: \"4\" } },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(\n _vm._s(_vm.$t(\"Yhteyshenkilön puhelinnumero\"))\n ),\n ]),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"Phone__contactperson-1\",\n \"validation-errors\": _vm.validationErrors,\n },\n },\n [\n _c(\"b-form-input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n attrs: {\n type: \"text\",\n name: \"Phone__contactperson-1\",\n maxlength: \"50\",\n value: _vm.contactPersonPhone,\n },\n on: { \"value-updated\": _vm.valueUpdated },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-col\",\n { attrs: { sm: \"6\", md: \"4\" } },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(\n _vm._s(_vm.$t(\"Yhteyshenkilön sähköpostiosoite\"))\n ),\n ]),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"Email__contactperson-1\",\n \"validation-errors\": _vm.validationErrors,\n },\n },\n [\n _c(\"b-form-input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n attrs: {\n type: \"text\",\n name: \"Email__contactperson-1\",\n maxlength: \"100\",\n value: _vm.contactPersonEmail,\n },\n on: { \"value-updated\": _vm.valueUpdated },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ]\n : _vm._e(),\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","require(\"core-js/features/array/find-index\");\r\n\r\nimport Vue from \"vue\"\r\nimport { Component, Prop, Emit } from \"vue-property-decorator\"\r\nimport { mapState } from \"vuex\";\r\nimport { INewContractState, IContractSettings } from \"../../new-contract-vuex-store\";\r\nimport { ICompanyViewModel, IContractViewModel } from \"../../../../../Scripts/inpulse/I4UViewModels\";\r\nimport Authentication from \"./authentication.vue\";\r\nimport { SectionChecker } from \"../common/section\";\r\nimport ValidatedFormGroup from \"../common/validated-form-group.vue\";\r\nimport ValidationMessage from \"../common/validation-message.vue\";\r\n\r\nclass Checker extends SectionChecker {\r\n constructor() {\r\n super();\r\n this.properties = [\r\n (contract: IContractViewModel) => contract.Company.BusinessId,\r\n (contract: IContractViewModel) => contract.Company.CompanyName,\r\n (contract: IContractViewModel) => contract.Company.Phone,\r\n (contract: IContractViewModel) => contract.Company.Email,\r\n (contract: IContractViewModel) => { return contract.Company.ContactPersons.length > 0 ? contract.Company.ContactPersons[0].FirstName : null },\r\n (contract: IContractViewModel) => { return contract.Company.ContactPersons.length > 0 ? contract.Company.ContactPersons[0].LastName : null },\r\n (contract: IContractViewModel) => { return contract.Company.ContactPersons.length > 0 ? contract.Company.ContactPersons[0].Phone : null },\r\n (contract: IContractViewModel) => { return contract.Company.ContactPersons.length > 0 ? contract.Company.ContactPersons[0].Email : null },\r\n (contract: IContractViewModel) => { return contract.Company.ContactPersons.length > 0 ? contract.Company.ContactPersons[0].ContactPersonRole : null }\r\n ];\r\n this.validationIds = [\"BusinessId\", \"CompanyName\", \"Phone\", \"CompanyEmail\", \"LastName__contactperson-1\", \"FirstName__contactperson-1\", \"Phone__contactperson-1\", \"Email__contactperson-1\"];\r\n }\r\n}\r\n\r\nexport let CompanyInformationChecker = new Checker();\r\n\r\n@Component({\r\n components: {\r\n ValidatedFormGroup,\r\n ValidationMessage,\r\n Authentication\r\n },\r\n computed: mapState({\r\n contract: (state: INewContractState) => state.contract,\r\n company: (state: INewContractState) => state.contract.Company,\r\n contactPersonFirstName: (state: INewContractState) =>\r\n state.contract.Company.ContactPersons != null && state.contract.Company.ContactPersons.length != 0\r\n ? state.contract.Company.ContactPersons[0].FirstName\r\n : null,\r\n contactPersonLastName: (state: INewContractState) =>\r\n state.contract.Company.ContactPersons != null && state.contract.Company.ContactPersons.length != 0\r\n ? state.contract.Company.ContactPersons[0].LastName\r\n : null,\r\n contactPersonPhone: (state: INewContractState) =>\r\n state.contract.Company.ContactPersons != null && state.contract.Company.ContactPersons.length != 0\r\n ? state.contract.Company.ContactPersons[0].Phone\r\n : null,\r\n contactPersonEmail: (state: INewContractState) =>\r\n state.contract.Company.ContactPersons != null && state.contract.Company.ContactPersons.length != 0\r\n ? state.contract.Company.ContactPersons[0].Email\r\n : null,\r\n contactPersonRole: (state: INewContractState) =>\r\n state.contract.Company.ContactPersons != null && state.contract.Company.ContactPersons.length != 0\r\n ? state.contract.Company.ContactPersons[0].ContactPersonRole\r\n : null,\r\n })\r\n})\r\n\r\nexport default class CompanyInformation extends Vue {\r\n get contract(): IContractViewModel { return this.$store.state.contract; }\r\n get company(): ICompanyViewModel { return this.$store.state.contract.Company; }\r\n get strongContractAuthentication(): boolean { return this.contract.StrongContractAuthentication }\r\n get contractSettings(): IContractSettings { return this.$store.state.contractSettings; }\r\n\r\n @Prop()\r\n public validationErrors: any;\r\n\r\n @Emit()\r\n companyValueUpdated(allSet: boolean) { }\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n valueUpdated() {\r\n let c: ICompanyViewModel = this.company;\r\n let cp = c.ContactPersons[0];\r\n let values = [\r\n c.CompanyName,\r\n c.BusinessId,\r\n c.Phone,\r\n c.Email, \r\n cp != null ? cp.FirstName : null,\r\n cp != null ? cp.LastName : null,\r\n cp != null ? cp.Phone : null,\r\n cp != null ? cp.Email : null,\r\n ];\r\n\r\n let ndx = values.findIndex(x => x == null || x.toString().length == 0)\r\n this.companyValueUpdated(ndx == -1);\r\n //let allSet = CompanyInformationChecker.isAllSet(this.contract);\r\n //this.companyValueUpdated(allSet);\r\n }\r\n}","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./company-information.ts?vue&type=script&lang=js&external\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./company-information.ts?vue&type=script&lang=js&external\"","import mod from \"-!../../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./company-information-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Ccompany-information.vue&external\"; export default mod; export * from \"-!../../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./company-information-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Ccompany-information.vue&external\"","import { render, staticRenderFns } from \"./company-information.vue?vue&type=template&id=7708c518\"\nimport script from \"./company-information.ts?vue&type=script&lang=js&external\"\nexport * from \"./company-information.ts?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./Locales/company-information-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Ccompany-information.vue&external\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n [\n _c(\n \"div\",\n { staticClass: \"row\" },\n [\n _c(\n \"b-col\",\n { attrs: { md: \"12\" } },\n [\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-errors\": _vm.validationErrors,\n \"validation-id\": \"MPZip\",\n },\n },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Postinumero\"))),\n ]),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-row\",\n [\n _c(\n \"b-col\",\n { attrs: { xs: \"12\", sm: \"12\", md: \"3\", lg: \"3\" } },\n [\n _c(\"postal-autocomplete\", {\n attrs: {\n id: \"mpinformation_postalcode_field\",\n \"street-locale\": _vm.mpStreetLocale,\n },\n on: {\n \"postal-code-selected\":\n _vm.meteringPointPostalSelected,\n },\n model: {\n value: _vm.postalStr,\n callback: function ($$v) {\n _vm.postalStr = $$v\n },\n expression: \"postalStr\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"div\",\n { staticClass: \"col-xs-12 col-sm-12 col-md-8 col-lg-4\" },\n [\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"MPStreet\",\n \"validation-errors\": _vm.validationErrors,\n },\n },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: { \"label-cols-sm\": \"12\", \"label-cols-md\": \"12\" },\n },\n [\n _vm.isMoveOut\n ? _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Loppulaskun osoite\"))),\n ])\n : _c(\n \"label\",\n { staticClass: \"font-weight-bold pt-0\" },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.$t(\"Käyttöpaikan osoite\")) +\n \"\\n \"\n ),\n _vm.isItellaAddressDatasConverted\n ? _c(\"font-awesome-icon\", {\n style: _vm.tooltipStyle,\n attrs: {\n icon: \"exclamation-circle\",\n id: \"tooltip-mp-street\",\n size: \"lg\",\n },\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.isItellaAddressDatasConverted\n ? _c(\n \"b-tooltip\",\n {\n attrs: {\n target: \"tooltip-mp-street\",\n variant: \"primary\",\n placement: \"right\",\n triggers: \"hover\",\n },\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.$t(\n \"Vaihdettu automaattisesti käyttöpaikan osoite.\"\n )\n ) +\n \"\\n \"\n ),\n ]\n )\n : _vm._e(),\n ],\n 1\n ),\n ]\n ),\n _vm._v(\" \"),\n _c(\"street-autocomplete\", {\n attrs: {\n id: \"mpinformation_mpstreet_field\",\n \"postal-filter\": _vm.contract.MeteringPoint.Address.Zip,\n \"zip-locale\": _vm.mpZipLocale,\n },\n on: { \"street-selected\": _vm.meteringPointStreetSelected },\n model: {\n value: _vm.mpStreetStr,\n callback: function ($$v) {\n _vm.mpStreetStr = $$v\n },\n expression: \"mpStreetStr\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-6 col-sm-6 col-md-3\" }, [\n _c(\n \"div\",\n {\n staticClass: \"form-group required metering-point-info\",\n attrs: { \"data-validation-id\": \"MPZip\" },\n },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\",\n },\n },\n [\n _vm.contract.MeteringPoint.Address.Zip\n ? _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Postinumero\"))),\n ])\n : _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"\"))),\n ]),\n ]\n ),\n _vm._v(\" \"),\n _c(\"p\", {\n staticClass: \"form-control-static vertical\",\n attrs: { name: \"MPZip\" },\n domProps: {\n textContent: _vm._s(_vm.contract.MeteringPoint.Address.Zip),\n },\n }),\n ],\n 1\n ),\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-xs-12 col-sm-6 col-md-3\" },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\",\n },\n },\n [\n _vm.contract.MeteringPoint.Address.Place\n ? _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Postitoimipaikka\"))),\n ])\n : _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"\"))),\n ]),\n ]\n ),\n _vm._v(\" \"),\n _c(\"p\", {\n staticClass: \"form-control-static vertical\",\n domProps: {\n textContent: _vm._s(_vm.contract.MeteringPoint.Address.Place),\n },\n }),\n ],\n 1\n ),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\"div\", { staticClass: \"col-xs-6 col-sm-6 col-md-4 col-lg-3\" }, [\n _c(\n \"div\",\n { staticClass: \"form-group\" },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Käyttöpaikkatunnus\"))),\n ]),\n ]\n ),\n _vm._v(\" \"),\n _c(\"b-form-input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n attrs: {\n id: \"mp-code\",\n type: \"text\",\n name: \"GsrnCode\",\n maxlength: \"18\",\n disabled: _vm.disableMeteringPointcodeField,\n },\n model: {\n value: _vm.gsrnCode,\n callback: function ($$v) {\n _vm.gsrnCode = $$v\n },\n expression: \"gsrnCode\",\n },\n }),\n ],\n 1\n ),\n ]),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\"div\", { staticClass: \"col-md-12\" }, [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"label\", { staticClass: \"checkbox-inline\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n attrs: {\n type: \"checkbox\",\n name: \"IsCustomerAddressInUse\",\n \"true-value\": \"1\",\n \"false-value\": \"0\",\n },\n domProps: { checked: _vm.contract.IsCustomerAddressInUse },\n }),\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.$t(\n \"Asiakkaan postiosoite on eri kuin käyttöpaikan osoite\"\n )\n ) +\n \"\\n \"\n ),\n ]),\n ]),\n ]),\n ]),\n _vm._v(\" \"),\n _vm.contract.IsCustomerAddressInUse\n ? [\n _c(\"div\", { staticClass: \"panel panel-default\" }, [\n _c(\"div\", { staticClass: \"panel-heading\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.$t(\"Asiakkaan postiosoite\")) +\n \"\\n \"\n ),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"panel-body\" }, [\n _c(\"p\", [\n _vm._v(\n _vm._s(\n _vm.$t(\n \"Mikäli teet sopimusta eri osoitteeseen kuin missä asut (esimerkiksi kesämökille), syötä oma osoitteesi tässä.\"\n )\n )\n ),\n ]),\n _vm._v(\" \"),\n _vm.contract.CustomerType == _vm.CustomerTypeEnum.CONSUMER\n ? _c(\"div\", [\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"div\",\n { staticClass: \"col-xs-12 col-sm-6 col-md-5\" },\n [\n _c(\n \"div\",\n { staticClass: \"form-group no-margin-bottom\" },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\",\n },\n },\n [\n _c(\n \"label\",\n { staticClass: \"font-weight-bold pt-0\" },\n [_vm._v(_vm._s(_vm.$t(\"c/o Nimi\")))]\n ),\n ]\n ),\n _vm._v(\" \"),\n _c(\"b-form-input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n attrs: {\n type: \"text\",\n name: \"COName\",\n maxlength: \"70\",\n value: _vm.contract.Customer.Address.COName,\n },\n }),\n ],\n 1\n ),\n ]\n ),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"div\",\n { staticClass: \"col-sm-6 col-md-5\" },\n [\n _c(\n \"validated-form-group\",\n {\n staticClass: \"no-margin-bottom\",\n attrs: {\n \"validation-id\": \"Street\",\n \"validation-errors\": _vm.validationErrors,\n },\n },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\",\n },\n },\n [\n _c(\n \"label\",\n { staticClass: \"font-weight-bold pt-0\" },\n [_vm._v(_vm._s(_vm.$t(\"Katuosoite\")))]\n ),\n ]\n ),\n _vm._v(\" \"),\n _c(\"street-autocomplete\", {\n attrs: {\n id: \"meteringpointStreetStr_field\",\n \"postal-filter\":\n _vm.contract.Customer.Address.Zip,\n \"zip-locale\": _vm.customerZipLocale,\n },\n on: {\n \"street-selected\":\n _vm.customerStreetSelected,\n },\n model: {\n value: _vm.customerStreetStr,\n callback: function ($$v) {\n _vm.customerStreetStr = $$v\n },\n expression: \"customerStreetStr\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-xs-6 col-sm-6 col-md-3\" },\n [\n _c(\n \"validated-form-group\",\n {\n staticClass: \"no-margin-bottom\",\n attrs: {\n \"validation-id\": \"Zip\",\n \"validation-errors\": _vm.validationErrors,\n },\n },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\",\n },\n },\n [\n _c(\n \"label\",\n { staticClass: \"font-weight-bold pt-0\" },\n [_vm._v(_vm._s(_vm.$t(\"Postinumero\")))]\n ),\n ]\n ),\n _vm._v(\" \"),\n _c(\"postal-autocomplete\", {\n attrs: {\n id: \"meteringpointPostalCodeStr_field\",\n \"post-office-target\":\n \"#customer-post-office\",\n \"street-locale\": _vm.customerStreetLocale,\n },\n on: {\n \"postal-code-selected\":\n _vm.customerPostalSelected,\n },\n model: {\n value: _vm.customerZipStr,\n callback: function ($$v) {\n _vm.customerZipStr = $$v\n },\n expression: \"customerZipStr\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-xs-12 col-sm-6 col-md-3\" },\n [\n _c(\n \"div\",\n { staticClass: \"form-group no-margin-bottom\" },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\",\n },\n },\n [\n _vm.customer.Address.Place\n ? _c(\n \"label\",\n {\n staticClass:\n \"font-weight-bold pt-0\",\n },\n [\n _vm._v(\n _vm._s(_vm.$t(\"Postitoimipaikka\"))\n ),\n ]\n )\n : _c(\n \"label\",\n {\n staticClass:\n \"font-weight-bold pt-0\",\n },\n [_vm._v(_vm._s(_vm.$t(\"\")))]\n ),\n ]\n ),\n _vm._v(\" \"),\n _c(\"p\", {\n staticClass: \"form-control-static vertical\",\n attrs: { id: \"customer-post-office\" },\n domProps: {\n textContent: _vm._s(\n _vm.customer.Address.Place\n ),\n },\n }),\n ],\n 1\n ),\n ]\n ),\n ]),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.contract.CustomerType == _vm.CustomerTypeEnum.COMPANY\n ? _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"div\",\n { staticClass: \"col-sm-6 col-md-5\" },\n [\n _c(\n \"validated-form-group\",\n {\n staticClass: \"no-margin-bottom\",\n attrs: {\n \"validation-id\": \"CompanyStreet\",\n \"validation-errors\": _vm.validationErrors,\n },\n },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\",\n },\n },\n [\n _c(\n \"label\",\n { staticClass: \"font-weight-bold pt-0\" },\n [_vm._v(_vm._s(_vm.$t(\"Katuosoite\")))]\n ),\n ]\n ),\n _vm._v(\" \"),\n _c(\"street-autocomplete\", {\n attrs: {\n id: \"meteringpointStreetStr_field\",\n \"postal-filter\":\n _vm.contract.MeteringPoint.Address.Zip,\n \"zip-locale\": _vm.companyZipLocale,\n },\n on: {\n \"street-selected\": _vm.companyStreetSelected,\n },\n model: {\n value: _vm.companyStreetStr,\n callback: function ($$v) {\n _vm.companyStreetStr = $$v\n },\n expression: \"companyStreetStr\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-xs-6 col-sm-6 col-md-3\" },\n [\n _c(\n \"validated-form-group\",\n {\n staticClass: \"no-margin-bottom\",\n attrs: {\n \"validation-id\": \"CompanyZip\",\n \"validation-errors\": _vm.validationErrors,\n },\n },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\",\n },\n },\n [\n _c(\n \"label\",\n { staticClass: \"font-weight-bold pt-0\" },\n [_vm._v(_vm._s(_vm.$t(\"Postinumero\")))]\n ),\n ]\n ),\n _vm._v(\" \"),\n _c(\"postal-autocomplete\", {\n attrs: {\n id: \"meteringpointPostalCodeStr_field\",\n \"post-office-target\": \"#company-post-office\",\n \"street-locale\": _vm.companyStreetLocale,\n },\n on: {\n \"postal-code-selected\":\n _vm.companyPostalSelected,\n },\n model: {\n value: _vm.companyZipStr,\n callback: function ($$v) {\n _vm.companyZipStr = $$v\n },\n expression: \"companyZipStr\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-xs-12 col-sm-6 col-md-3\" },\n [\n _c(\n \"div\",\n { staticClass: \"form-group no-margin-bottom\" },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\",\n },\n },\n [\n _vm.company.Address.Place\n ? _c(\n \"label\",\n {\n staticClass: \"font-weight-bold pt-0\",\n },\n [\n _vm._v(\n _vm._s(_vm.$t(\"Postitoimipaikka\"))\n ),\n ]\n )\n : _c(\n \"label\",\n {\n staticClass: \"font-weight-bold pt-0\",\n },\n [_vm._v(_vm._s(_vm.$t(\"\")))]\n ),\n ]\n ),\n _vm._v(\" \"),\n _c(\"p\", {\n staticStyle: { \"margin-top\": \"8px\" },\n attrs: { id: \"company-post-office\" },\n domProps: {\n textContent: _vm._s(\n _vm.company.Address.Place\n ),\n },\n }),\n ],\n 1\n ),\n ]\n ),\n ])\n : _vm._e(),\n ]),\n ]),\n ]\n : _vm._e(),\n _vm._v(\" \"),\n _vm.isInvoicingMethodsInUse\n ? [\n _c(\n \"div\",\n { staticClass: \"row\" },\n [\n _c(\"b-col\", { attrs: { md: \"12\" } }, [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"label\", { staticClass: \"checkbox-inline\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n attrs: {\n type: \"checkbox\",\n name: \"IsInvoicingAddressInUse\",\n \"true-value\": \"1\",\n \"false-value\": \"0\",\n },\n domProps: {\n checked: _vm.contract.IsInvoicingAddressInUse,\n },\n }),\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.$t(\n \"Asiakkaan laskutusosoite on eri kuin oletusosoite / haluan laskun sähköisesti\"\n )\n ) +\n \"\\n \"\n ),\n ]),\n ]),\n ]),\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.contract.IsInvoicingAddressInUse\n ? _c(\"div\", { staticClass: \"panel panel-default\" }, [\n _c(\"div\", { staticClass: \"panel-heading\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.$t(\"Laskutustiedot\")) +\n \"\\n \"\n ),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"panel-body\" }, [\n _c(\"p\", [\n _vm._v(\n _vm._s(\n _vm.$t(\n \"Mikäli haluat vaihtaa oletuslaskutustietoja, voit vaihtaa niitä tässä.\"\n )\n )\n ),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"div\",\n { staticClass: \"col-xs-12 col-sm-12 col-md-12\" },\n [\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"b-tooltip\",\n rawName: \"v-b-tooltip\",\n value: _vm.invoicingMethodELaskuStr,\n expression: \"invoicingMethodELaskuStr\",\n },\n ],\n staticClass: \"form-group\",\n },\n [\n _c(\n \"validated-form-group\",\n {\n staticClass: \"no-margin-bottom\",\n attrs: {\n \"validation-id\": \"InvoicingMethod\",\n \"validation-errors\": _vm.validationErrors,\n },\n },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\",\n },\n },\n [\n _c(\n \"label\",\n {\n staticClass: \"font-weight-bold pt-0\",\n },\n [_vm._v(_vm._s(_vm.$t(\"Laskutustapa\")))]\n ),\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", [\n _c(\n \"label\",\n { staticClass: \"radio-inline\" },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n attrs: {\n type: \"radio\",\n name: \"InvoicingMethod\",\n disabled:\n _vm.hasConsumerEInvoiceContract,\n },\n domProps: {\n value:\n _vm.InvoicingMethodEnum.Paper,\n checked:\n _vm.contract\n .InvoicingMethodSelected &&\n _vm.contract.InvoicingMethod ==\n _vm.InvoicingMethodEnum.Paper,\n },\n on: {\n \"value-updated\":\n _vm.invoicingMethodChanged,\n },\n }),\n _vm._v(\n \" \" +\n _vm._s(_vm.$t(\"paperilasku\")) +\n \"\\n \"\n ),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n { staticClass: \"radio-inline\" },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n attrs: {\n type: \"radio\",\n name: \"InvoicingMethod\",\n disabled:\n _vm.hasConsumerEInvoiceContract,\n },\n domProps: {\n value:\n _vm.InvoicingMethodEnum.Email,\n checked:\n _vm.contract\n .InvoicingMethodSelected &&\n _vm.contract.InvoicingMethod ==\n _vm.InvoicingMethodEnum.Email,\n },\n on: {\n \"value-updated\":\n _vm.invoicingMethodChanged,\n },\n }),\n _vm._v(\n \" \" +\n _vm._s(_vm.$t(\"sähköpostilasku\")) +\n \"\\n \"\n ),\n ]\n ),\n _vm._v(\" \"),\n _vm.contract.CustomerType ==\n _vm.CustomerTypeEnum.CONSUMER\n ? _c(\n \"label\",\n {\n directives: [\n {\n name: \"b-tooltip\",\n rawName: \"v-b-tooltip\",\n value:\n _vm.invoicingMethodELaskuStrDisabled,\n expression:\n \"invoicingMethodELaskuStrDisabled\",\n },\n ],\n staticClass: \"radio-inline\",\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName:\n \"v-new-contract-value\",\n },\n ],\n attrs: {\n type: \"radio\",\n name: \"InvoicingMethod\",\n disabled:\n !_vm.hasConsumerEInvoiceContract,\n },\n domProps: {\n value:\n _vm.InvoicingMethodEnum\n .ConsumerEInvoice,\n checked:\n _vm.hasConsumerEInvoiceContract,\n },\n on: {\n \"value-updated\":\n _vm.invoicingMethodChanged,\n },\n }),\n _vm._v(\n \" \" +\n _vm._s(_vm.$t(\"e-lasku\")) +\n \"\\n \"\n ),\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.contract.CustomerType ==\n _vm.CustomerTypeEnum.COMPANY\n ? _c(\n \"label\",\n { staticClass: \"radio-inline\" },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName:\n \"v-new-contract-value\",\n },\n ],\n attrs: {\n type: \"radio\",\n name: \"InvoicingMethod\",\n },\n domProps: {\n value:\n _vm.InvoicingMethodEnum\n .CompanyEInvoice,\n checked:\n _vm.contract\n .InvoicingMethodSelected &&\n _vm.contract\n .InvoicingMethod ==\n _vm.InvoicingMethodEnum\n .CompanyEInvoice,\n },\n on: {\n \"value-updated\":\n _vm.invoicingMethodChanged,\n },\n }),\n _vm._v(\n \" \" +\n _vm._s(_vm.$t(\"verkkolasku\")) +\n \"\\n \"\n ),\n ]\n )\n : _vm._e(),\n ]),\n ],\n 1\n ),\n ],\n 1\n ),\n ]\n ),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"div\",\n { staticClass: \"col-xs-12 col-sm-12 col-md-5\" },\n [\n _c(\n \"div\",\n { staticClass: \"form-group\" },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\",\n },\n },\n [\n _c(\n \"label\",\n { staticClass: \"font-weight-bold pt-0\" },\n [_vm._v(_vm._s(_vm.$t(\"c/o Nimi\")))]\n ),\n ]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value:\n _vm.contract.InvoicingAddress.Address\n .COName,\n expression:\n \"contract.InvoicingAddress.Address.COName\",\n },\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n staticClass: \"form-control contract-field\",\n attrs: {\n type: \"text\",\n name: \"InvoicingCOName\",\n maxlength: \"100\",\n },\n domProps: {\n value:\n _vm.contract.InvoicingAddress.Address\n .COName,\n },\n on: {\n input: function ($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(\n _vm.contract.InvoicingAddress.Address,\n \"COName\",\n $event.target.value\n )\n },\n },\n }),\n ],\n 1\n ),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-12 col-md-5\" },\n [\n _c(\n \"validated-form-group\",\n {\n staticClass: \"no-margin-bottom\",\n attrs: {\n \"validation-id\": \"InvoicingStreet\",\n \"validation-errors\": _vm.validationErrors,\n },\n },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\",\n },\n },\n [\n _c(\n \"label\",\n { staticClass: \"font-weight-bold pt-0\" },\n [_vm._v(_vm._s(_vm.$t(\"Laskutusosoite\")))]\n ),\n ]\n ),\n _vm._v(\" \"),\n _c(\"street-autocomplete\", {\n attrs: {\n id: \"invoicingStreetStr_field\",\n \"postal-filter\":\n _vm.contract.InvoicingAddress.Address.Zip,\n \"zip-locale\": _vm.invoicingZipLocale,\n },\n on: {\n \"street-selected\":\n _vm.invoicingStreetSelected,\n },\n model: {\n value: _vm.invoicingStreetStr,\n callback: function ($$v) {\n _vm.invoicingStreetStr = $$v\n },\n expression: \"invoicingStreetStr\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-xs-12 col-sm-12 col-md-3\" },\n [\n _c(\n \"validated-form-group\",\n {\n staticClass: \"no-margin-bottom\",\n attrs: {\n \"validation-id\": \"InvoicingZip\",\n \"validation-errors\": _vm.validationErrors,\n },\n },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\",\n },\n },\n [\n _c(\n \"label\",\n { staticClass: \"font-weight-bold pt-0\" },\n [_vm._v(_vm._s(_vm.$t(\"Postinumero\")))]\n ),\n ]\n ),\n _vm._v(\" \"),\n _c(\"postal-autocomplete\", {\n attrs: {\n id: \"invoicingPostalCodeStr_field\",\n \"post-office-target\":\n \"#invoicing-post-office\",\n \"street-locale\": _vm.invoicingStreetLocale,\n },\n on: {\n \"postal-code-selected\":\n _vm.invoicingPostalSelected,\n },\n model: {\n value: _vm.invoicingZipStr,\n callback: function ($$v) {\n _vm.invoicingZipStr = $$v\n },\n expression: \"invoicingZipStr\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-xs-12 col-sm-12 col-md-3\" },\n [\n _c(\n \"div\",\n { staticClass: \"form-group no-margin-bottom\" },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\",\n },\n },\n [\n _vm.contract.InvoicingAddress.Address.Place\n ? _c(\n \"label\",\n {\n staticClass: \"font-weight-bold pt-0\",\n },\n [\n _vm._v(\n _vm._s(_vm.$t(\"Postitoimipaikka\"))\n ),\n ]\n )\n : _c(\n \"label\",\n {\n staticClass: \"font-weight-bold pt-0\",\n },\n [_vm._v(_vm._s(_vm.$t(\"\")))]\n ),\n ]\n ),\n _vm._v(\" \"),\n _c(\"p\", {\n staticClass: \"form-control-static vertical\",\n attrs: { id: \"invoicing-post-office\" },\n domProps: {\n textContent: _vm._s(\n _vm.contract.InvoicingAddress.Address.Place\n ),\n },\n }),\n ],\n 1\n ),\n ]\n ),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row\" }, [\n _vm.contract.InvoicingMethod ==\n _vm.InvoicingMethodEnum.Email\n ? _c(\n \"div\",\n { staticClass: \"col-xs-12 col-sm-12 col-md-4\" },\n [\n _c(\n \"div\",\n { staticClass: \"form-group\" },\n [\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"DeliveryEmail\",\n \"validation-errors\":\n _vm.validationErrors,\n },\n },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\",\n },\n },\n [\n _c(\n \"label\",\n {\n staticClass:\n \"font-weight-bold pt-0\",\n },\n [\n _vm._v(\n _vm._s(\n _vm.$t(\"Laskutussähköposti\")\n )\n ),\n ]\n ),\n ]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.contract.DeliveryEmail,\n expression:\n \"contract.DeliveryEmail\",\n },\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n staticClass:\n \"form-control contract-field\",\n attrs: {\n type: \"email\",\n name: \"DeliveryEmail\",\n maxlength: \"100\",\n },\n domProps: {\n value: _vm.contract.DeliveryEmail,\n },\n on: {\n input: function ($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(\n _vm.contract,\n \"DeliveryEmail\",\n $event.target.value\n )\n },\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ]\n )\n : _vm._e(),\n ]),\n _vm._v(\" \"),\n _vm.contract.InvoicingMethod ==\n _vm.InvoicingMethodEnum.CompanyEInvoice\n ? _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"div\",\n { staticClass: \"col-xs-12 col-sm-6 col-md-5\" },\n [\n _c(\n \"div\",\n { staticClass: \"form-group\" },\n [\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\":\n \"InvoicingNetworkAddress\",\n \"validation-errors\":\n _vm.validationErrors,\n },\n },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\",\n },\n },\n [\n _c(\n \"label\",\n {\n staticClass:\n \"font-weight-bold pt-0\",\n },\n [\n _vm._v(\n _vm._s(\n _vm.$t(\n \"Verkkolaskuosoite (OVT-tunnus)\"\n )\n )\n ),\n ]\n ),\n ]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value:\n _vm.contract.InvoicingAddress\n .InvoicingNetworkAddress,\n expression:\n \"contract.InvoicingAddress.InvoicingNetworkAddress\",\n },\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n staticClass:\n \"form-control contract-field\",\n attrs: {\n type: \"text\",\n name: \"InvoicingNetworkAddress\",\n maxlength: \"50\",\n },\n domProps: {\n value:\n _vm.contract.InvoicingAddress\n .InvoicingNetworkAddress,\n },\n on: {\n input: function ($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(\n _vm.contract.InvoicingAddress,\n \"InvoicingNetworkAddress\",\n $event.target.value\n )\n },\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"form-group\" },\n [\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"InvoicingOperator\",\n \"validation-errors\":\n _vm.validationErrors,\n },\n },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\",\n },\n },\n [\n _c(\n \"label\",\n {\n staticClass:\n \"font-weight-bold pt-0\",\n },\n [\n _vm._v(\n _vm._s(\n _vm.$t(\"Välittäjätunnus\")\n )\n ),\n ]\n ),\n ]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value:\n _vm.contract.InvoicingAddress\n .InvoicingOperator,\n expression:\n \"contract.InvoicingAddress.InvoicingOperator\",\n },\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n staticClass:\n \"form-control contract-field\",\n attrs: {\n type: \"text\",\n name: \"InvoicingOperator\",\n maxlength: \"50\",\n },\n domProps: {\n value:\n _vm.contract.InvoicingAddress\n .InvoicingOperator,\n },\n on: {\n input: function ($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(\n _vm.contract.InvoicingAddress,\n \"InvoicingOperator\",\n $event.target.value\n )\n },\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ]\n ),\n ])\n : _vm._e(),\n ]),\n ])\n : _vm._e(),\n ]\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\"div\", { staticClass: \"col-md-12\" }, [\n _c(\n \"div\",\n { staticClass: \"form-group\" },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Käyttöpaikan sopimustilanne\"))),\n ]),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"ContractReason\",\n \"validation-errors\": _vm.validationErrors,\n },\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"radio\",\n staticStyle: { \"margin-top\": \"0\" },\n },\n [\n _c(\"label\", [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.contract.ContractReason,\n expression: \"contract.ContractReason\",\n },\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n attrs: { type: \"radio\", name: \"ContractReason\" },\n domProps: {\n value: _vm.contractReasonMoveIn,\n checked: _vm._q(\n _vm.contract.ContractReason,\n _vm.contractReasonMoveIn\n ),\n },\n on: {\n \"value-updated\": _vm.contractReasonChanged,\n change: function ($event) {\n return _vm.$set(\n _vm.contract,\n \"ContractReason\",\n _vm.contractReasonMoveIn\n )\n },\n },\n }),\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.$t(\n \"Kyseessä on muutto tai sopimus toiseen käyttöpaikkaan\"\n )\n ) +\n \"\\n \"\n ),\n ]),\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"radio\" }, [\n _c(\"label\", [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.contract.ContractReason,\n expression: \"contract.ContractReason\",\n },\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n attrs: { type: \"radio\", name: \"ContractReason\" },\n domProps: {\n value: _vm.contractReasonSupplierChange,\n checked: _vm._q(\n _vm.contract.ContractReason,\n _vm.contractReasonSupplierChange\n ),\n },\n on: {\n \"value-updated\": _vm.contractReasonChanged,\n change: function ($event) {\n return _vm.$set(\n _vm.contract,\n \"ContractReason\",\n _vm.contractReasonSupplierChange\n )\n },\n },\n }),\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.$t(\n \"Myyjän vaihto, minulla on voimassa oleva sopimus toiselta myyjältä\"\n )\n ) +\n \"\\n \"\n ),\n ]),\n ]),\n _vm._v(\" \"),\n _vm.customer.TrustedSource &&\n (_vm.customerContracts == null ||\n _vm.customerContracts.length != 0)\n ? _c(\"div\", { staticClass: \"radio\" }, [\n _c(\"label\", [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.contract.ContractReason,\n expression: \"contract.ContractReason\",\n },\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n attrs: { type: \"radio\", name: \"ContractReason\" },\n domProps: {\n value: _vm.contractReasonContractChange,\n checked: _vm._q(\n _vm.contract.ContractReason,\n _vm.contractReasonContractChange\n ),\n },\n on: {\n \"value-updated\": _vm.contractReasonChanged,\n change: function ($event) {\n return _vm.$set(\n _vm.contract,\n \"ContractReason\",\n _vm.contractReasonContractChange\n )\n },\n },\n }),\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.$t(\n \"Haluan vaihtaa nykyisen sähkösopimukseni toiseen\"\n )\n ) +\n \"\\n \"\n ),\n ]),\n ])\n : _vm._e(),\n ]\n ),\n ],\n 1\n ),\n ]),\n ]),\n _vm._v(\" \"),\n _vm.contract.ContractReason != _vm.ContractReasonEnum.SUPPLIERCHANGE &&\n _vm.contract.ContractReason != _vm.ContractReasonEnum.PRODUCTCHANGE\n ? _c(\n \"div\",\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Oletko kiinteistön omistaja?\"))),\n ]),\n _vm._v(\" \"),\n _c(\n \"b-form-radio-group\",\n {\n attrs: { options: _vm.options, name: \"radio-inline\" },\n model: {\n value: _vm.selected,\n callback: function ($$v) {\n _vm.selected = $$v\n },\n expression: \"selected\",\n },\n },\n [\n _c(\"font-awesome-icon\", {\n style: { color: \"#00A34E\" },\n attrs: {\n icon: \"question-circle\",\n id: \"tooltip-button-variant\",\n size: \"lg\",\n },\n }),\n _vm._v(\" \"),\n _c(\n \"b-tooltip\",\n {\n attrs: {\n target: \"tooltip-button-variant\",\n variant: \"primary\",\n placement: \"right\",\n triggers: \"hover\",\n },\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.$t(\n \"Sähköliittymän siirto koskee kaikkien kiinteistöjen, mm. omakotitalojen, paritalojen ja vapaa-ajan asuntojen omistajanvaihdoksia. Kerros- ja rivitalohuoneistoilla ei ole omia sähköliittymiä, vaan liittymä on kiinteistöjen yhteinen ja taloyhtiön omistama. Jos kiinteistö sijaitsee Porvoon Sähköverkko Oy:n verkkoalueella, kiinteistön oston jälkeen uuden omistajan tulee ottaa yhteyttä asiakaspalveluun puh. (019) 661 4230 sähköliittymän omistus- ja sopimusoikeuden siirtämiseksi.\"\n )\n ) +\n \"\\n \"\n ),\n ]\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.selected == \"kylla\"\n ? [\n _c(\"div\", { staticClass: \"panel panel-default\" }, [\n _c(\"div\", { staticClass: \"panel-heading\" }, [\n _c(\"p\", [\n _vm._v(\n _vm._s(\n _vm.$t(\n \"Mikäli kiinteistö sijaitsee Porvoon Sähköverkon alueella, tarvitsemme kopion kauppakirjasta, jossa näkyy, että liittymä siirtyy kaupan mukana uudelle omistajalle. Kopion voit lähettää\"\n )\n ) + \" \"\n ),\n _c(\n \"a\",\n {\n attrs: {\n href: \"mailto:asiakaspalvelu@pbe.fi\",\n target: \"_blank\",\n },\n },\n [_vm._v(\"asiakaspalvelu@pbe.fi.\")]\n ),\n ]),\n ]),\n ]),\n ]\n : _vm._e(),\n ],\n 2\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"row\" },\n [\n _c(\n \"b-col\",\n { attrs: { md: \"12\" } },\n [\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"StartDate\",\n \"validation-errors\": _vm.validationErrors,\n },\n },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(\n _vm._s(\n _vm.$t(\"Sopimuksen toivottu alkamispäivämäärä\")\n )\n ),\n ]),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"row\" },\n [\n _c(\n \"b-col\",\n { attrs: { xs: \"12\", sm: \"12\", md: \"6\", lg: \"4\" } },\n [\n _c(\"datepicker\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n attrs: {\n \"bootstrap-styling\": true,\n \"monday-first\": true,\n name: \"StartDate\",\n format: _vm.DatePickerFormat,\n disabledDates: _vm.disabledDates,\n language: _vm.datePickerlanguage,\n \"calendar-button\": true,\n \"calendar-button-icon\": \"fa fa-calendar\",\n \"clear-button\": true,\n \"clear-button-icon\": \"fa fa-times\",\n },\n model: {\n value: _vm.startDate,\n callback: function ($$v) {\n _vm.startDate = $$v\n },\n expression: \"startDate\",\n },\n }),\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.contract.ContractReason ==\n _vm.ContractReasonEnum.MOVEIN ||\n _vm.contract.ContractReason ==\n _vm.ContractReasonEnum.MOVEIN_DH\n ? _c(\"b-col\", [\n _c(\"span\", [\n _vm._v(\n _vm._s(\n _vm.$t(\n \"Sopimuksen aikaisin aloitusaika ja mahdollinen sähkön kytkentämaksu vaihtelevat paikallisen verkkoyhtiön mukaan. Maksuton kytkentä kaikkialla Suomessa kahden arkipäivän kuluttua tilauksesta.\"\n )\n ) + \" \"\n ),\n ]),\n ])\n : _vm._e(),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.contract.ContractReason != _vm.ContractReasonEnum.SUPPLIERCHANGE &&\n _vm.contract.ContractReason != _vm.ContractReasonEnum.PRODUCTCHANGE\n ? _c(\n \"b-row\",\n [\n _c(\n \"b-col\",\n [\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"isSafeToConnect\",\n \"validation-errors\": _vm.validationErrors,\n },\n },\n [\n _c(\"label\", { staticClass: \"checkbox-inline\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n attrs: {\n type: \"checkbox\",\n name: \"isSafeToConnect\",\n \"true-value\": \"1\",\n \"false-value\": \"0\",\n },\n domProps: {\n checked: _vm.contract.MeteringPoint.IsSafeToConnect,\n value: _vm.contract.MeteringPoint.IsSafeToConnect,\n },\n }),\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.$t(\n \"Olen tarkistanut, että sähkön voi kytkeä paloturvallisesti; lieden nappulat ja/tai sauna eivät ole päällä.\"\n )\n ) +\n \"\\n \"\n ),\n ]),\n ]\n ),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\"div\", { staticClass: \"col-md-12\" }, [\n _c(\n \"div\",\n { staticClass: \"form-group\" },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Laskujen määrä vuodessa\"))),\n ]),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n [\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"InvoicingGroup\",\n \"validation-errors\": _vm.validationErrors,\n },\n },\n [\n _c(\"label\", { staticClass: \"radio-inline\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n attrs: { type: \"radio\", name: \"InvoicingGroup\" },\n domProps: {\n value: 6,\n checked: _vm.contract.InvoicingGroup == 6,\n },\n }),\n _vm._v(\n \" 6 \" +\n _vm._s(_vm.$t(\"kpl\")) +\n \"\\n \"\n ),\n ]),\n _vm._v(\" \"),\n _c(\"label\", { staticClass: \"radio-inline\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n attrs: { type: \"radio\", name: \"InvoicingGroup\" },\n domProps: {\n value: 12,\n checked: _vm.contract.InvoicingGroup == 12,\n },\n }),\n _vm._v(\n \" 12 \" +\n _vm._s(_vm.$t(\"kpl\")) +\n \"\\n \"\n ),\n ]),\n ]\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ]),\n ]),\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nvar Language =\n/*#__PURE__*/\nfunction () {\n function Language(language, months, monthsAbbr, days) {\n _classCallCheck(this, Language);\n\n this.language = language;\n this.months = months;\n this.monthsAbbr = monthsAbbr;\n this.days = days;\n this.rtl = false;\n this.ymd = false;\n this.yearSuffix = '';\n }\n\n _createClass(Language, [{\n key: \"language\",\n get: function get() {\n return this._language;\n },\n set: function set(language) {\n if (typeof language !== 'string') {\n throw new TypeError('Language must be a string');\n }\n\n this._language = language;\n }\n }, {\n key: \"months\",\n get: function get() {\n return this._months;\n },\n set: function set(months) {\n if (months.length !== 12) {\n throw new RangeError(\"There must be 12 months for \".concat(this.language, \" language\"));\n }\n\n this._months = months;\n }\n }, {\n key: \"monthsAbbr\",\n get: function get() {\n return this._monthsAbbr;\n },\n set: function set(monthsAbbr) {\n if (monthsAbbr.length !== 12) {\n throw new RangeError(\"There must be 12 abbreviated months for \".concat(this.language, \" language\"));\n }\n\n this._monthsAbbr = monthsAbbr;\n }\n }, {\n key: \"days\",\n get: function get() {\n return this._days;\n },\n set: function set(days) {\n if (days.length !== 7) {\n throw new RangeError(\"There must be 7 days for \".concat(this.language, \" language\"));\n }\n\n this._days = days;\n }\n }]);\n\n return Language;\n}(); // eslint-disable-next-line\n\nvar en = new Language('English', ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']) // eslint-disable-next-line\n;\n\nvar utils = {\n /**\n * @type {Boolean}\n */\n useUtc: false,\n\n /**\n * Returns the full year, using UTC or not\n * @param {Date} date\n */\n getFullYear: function getFullYear(date) {\n return this.useUtc ? date.getUTCFullYear() : date.getFullYear();\n },\n\n /**\n * Returns the month, using UTC or not\n * @param {Date} date\n */\n getMonth: function getMonth(date) {\n return this.useUtc ? date.getUTCMonth() : date.getMonth();\n },\n\n /**\n * Returns the date, using UTC or not\n * @param {Date} date\n */\n getDate: function getDate(date) {\n return this.useUtc ? date.getUTCDate() : date.getDate();\n },\n\n /**\n * Returns the day, using UTC or not\n * @param {Date} date\n */\n getDay: function getDay(date) {\n return this.useUtc ? date.getUTCDay() : date.getDay();\n },\n\n /**\n * Returns the hours, using UTC or not\n * @param {Date} date\n */\n getHours: function getHours(date) {\n return this.useUtc ? date.getUTCHours() : date.getHours();\n },\n\n /**\n * Returns the minutes, using UTC or not\n * @param {Date} date\n */\n getMinutes: function getMinutes(date) {\n return this.useUtc ? date.getUTCMinutes() : date.getMinutes();\n },\n\n /**\n * Sets the full year, using UTC or not\n * @param {Date} date\n */\n setFullYear: function setFullYear(date, value, useUtc) {\n return this.useUtc ? date.setUTCFullYear(value) : date.setFullYear(value);\n },\n\n /**\n * Sets the month, using UTC or not\n * @param {Date} date\n */\n setMonth: function setMonth(date, value, useUtc) {\n return this.useUtc ? date.setUTCMonth(value) : date.setMonth(value);\n },\n\n /**\n * Sets the date, using UTC or not\n * @param {Date} date\n * @param {Number} value\n */\n setDate: function setDate(date, value, useUtc) {\n return this.useUtc ? date.setUTCDate(value) : date.setDate(value);\n },\n\n /**\n * Check if date1 is equivalent to date2, without comparing the time\n * @see https://stackoverflow.com/a/6202196/4455925\n * @param {Date} date1\n * @param {Date} date2\n */\n compareDates: function compareDates(date1, date2) {\n var d1 = new Date(date1.getTime());\n var d2 = new Date(date2.getTime());\n\n if (this.useUtc) {\n d1.setUTCHours(0, 0, 0, 0);\n d2.setUTCHours(0, 0, 0, 0);\n } else {\n d1.setHours(0, 0, 0, 0);\n d2.setHours(0, 0, 0, 0);\n }\n\n return d1.getTime() === d2.getTime();\n },\n\n /**\n * Validates a date object\n * @param {Date} date - an object instantiated with the new Date constructor\n * @return {Boolean}\n */\n isValidDate: function isValidDate(date) {\n if (Object.prototype.toString.call(date) !== '[object Date]') {\n return false;\n }\n\n return !isNaN(date.getTime());\n },\n\n /**\n * Return abbreviated week day name\n * @param {Date}\n * @param {Array}\n * @return {String}\n */\n getDayNameAbbr: function getDayNameAbbr(date, days) {\n if (_typeof(date) !== 'object') {\n throw TypeError('Invalid Type');\n }\n\n return days[this.getDay(date)];\n },\n\n /**\n * Return name of the month\n * @param {Number|Date}\n * @param {Array}\n * @return {String}\n */\n getMonthName: function getMonthName(month, months) {\n if (!months) {\n throw Error('missing 2nd parameter Months array');\n }\n\n if (_typeof(month) === 'object') {\n return months[this.getMonth(month)];\n }\n\n if (typeof month === 'number') {\n return months[month];\n }\n\n throw TypeError('Invalid type');\n },\n\n /**\n * Return an abbreviated version of the month\n * @param {Number|Date}\n * @return {String}\n */\n getMonthNameAbbr: function getMonthNameAbbr(month, monthsAbbr) {\n if (!monthsAbbr) {\n throw Error('missing 2nd paramter Months array');\n }\n\n if (_typeof(month) === 'object') {\n return monthsAbbr[this.getMonth(month)];\n }\n\n if (typeof month === 'number') {\n return monthsAbbr[month];\n }\n\n throw TypeError('Invalid type');\n },\n\n /**\n * Alternative get total number of days in month\n * @param {Number} year\n * @param {Number} m\n * @return {Number}\n */\n daysInMonth: function daysInMonth(year, month) {\n return /8|3|5|10/.test(month) ? 30 : month === 1 ? !(year % 4) && year % 100 || !(year % 400) ? 29 : 28 : 31;\n },\n\n /**\n * Get nth suffix for date\n * @param {Number} day\n * @return {String}\n */\n getNthSuffix: function getNthSuffix(day) {\n switch (day) {\n case 1:\n case 21:\n case 31:\n return 'st';\n\n case 2:\n case 22:\n return 'nd';\n\n case 3:\n case 23:\n return 'rd';\n\n default:\n return 'th';\n }\n },\n\n /**\n * Formats date object\n * @param {Date}\n * @param {String}\n * @param {Object}\n * @return {String}\n */\n formatDate: function formatDate(date, format, translation) {\n translation = !translation ? en : translation;\n var year = this.getFullYear(date);\n var month = this.getMonth(date) + 1;\n var day = this.getDate(date);\n var str = format.replace(/dd/, ('0' + day).slice(-2)).replace(/d/, day).replace(/yyyy/, year).replace(/yy/, String(year).slice(2)).replace(/MMMM/, this.getMonthName(this.getMonth(date), translation.months)).replace(/MMM/, this.getMonthNameAbbr(this.getMonth(date), translation.monthsAbbr)).replace(/MM/, ('0' + month).slice(-2)).replace(/M(?!a|ä|e)/, month).replace(/su/, this.getNthSuffix(this.getDate(date))).replace(/D(?!e|é|i)/, this.getDayNameAbbr(date, translation.days));\n return str;\n },\n\n /**\n * Creates an array of dates for each day in between two dates.\n * @param {Date} start\n * @param {Date} end\n * @return {Array}\n */\n createDateArray: function createDateArray(start, end) {\n var dates = [];\n\n while (start <= end) {\n dates.push(new Date(start));\n start = this.setDate(new Date(start), this.getDate(new Date(start)) + 1);\n }\n\n return dates;\n },\n\n /**\n * method used as a prop validator for input values\n * @param {*} val\n * @return {Boolean}\n */\n validateDateInput: function validateDateInput(val) {\n return val === null || val instanceof Date || typeof val === 'string' || typeof val === 'number';\n }\n};\nvar makeDateUtils = function makeDateUtils(useUtc) {\n return _objectSpread({}, utils, {\n useUtc: useUtc\n });\n};\nvar utils$1 = _objectSpread({}, utils) // eslint-disable-next-line\n;\n\nvar script = {\n props: {\n selectedDate: Date,\n resetTypedDate: [Date],\n format: [String, Function],\n translation: Object,\n inline: Boolean,\n id: String,\n name: String,\n refName: String,\n openDate: Date,\n placeholder: String,\n inputClass: [String, Object, Array],\n clearButton: Boolean,\n clearButtonIcon: String,\n calendarButton: Boolean,\n calendarButtonIcon: String,\n calendarButtonIconContent: String,\n disabled: Boolean,\n required: Boolean,\n typeable: Boolean,\n bootstrapStyling: Boolean,\n useUtc: Boolean\n },\n data: function data() {\n var constructedDateUtils = makeDateUtils(this.useUtc);\n return {\n input: null,\n typedDate: false,\n utils: constructedDateUtils\n };\n },\n computed: {\n formattedValue: function formattedValue() {\n if (!this.selectedDate) {\n return null;\n }\n\n if (this.typedDate) {\n return this.typedDate;\n }\n\n return typeof this.format === 'function' ? this.format(this.selectedDate) : this.utils.formatDate(new Date(this.selectedDate), this.format, this.translation);\n },\n computedInputClass: function computedInputClass() {\n if (this.bootstrapStyling) {\n if (typeof this.inputClass === 'string') {\n return [this.inputClass, 'form-control'].join(' ');\n }\n\n return _objectSpread({\n 'form-control': true\n }, this.inputClass);\n }\n\n return this.inputClass;\n }\n },\n watch: {\n resetTypedDate: function resetTypedDate() {\n this.typedDate = false;\n }\n },\n methods: {\n showCalendar: function showCalendar() {\n this.$emit('showCalendar');\n },\n\n /**\n * Attempt to parse a typed date\n * @param {Event} event\n */\n parseTypedDate: function parseTypedDate(event) {\n // close calendar if escape or enter are pressed\n if ([27, // escape\n 13 // enter\n ].includes(event.keyCode)) {\n this.input.blur();\n }\n\n if (this.typeable) {\n var typedDate = Date.parse(this.input.value);\n\n if (!isNaN(typedDate)) {\n this.typedDate = this.input.value;\n this.$emit('typedDate', new Date(this.typedDate));\n }\n }\n },\n\n /**\n * nullify the typed date to defer to regular formatting\n * called once the input is blurred\n */\n inputBlurred: function inputBlurred() {\n if (this.typeable && isNaN(Date.parse(this.input.value))) {\n this.clearDate();\n this.input.value = null;\n this.typedDate = null;\n }\n\n this.$emit('closeCalendar');\n },\n\n /**\n * emit a clearDate event\n */\n clearDate: function clearDate() {\n this.$emit('clearDate');\n }\n },\n mounted: function mounted() {\n this.input = this.$el.querySelector('input');\n }\n} // eslint-disable-next-line\n;\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier\n/* server only */\n, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\n if (typeof shadowMode !== 'boolean') {\n createInjectorSSR = createInjector;\n createInjector = shadowMode;\n shadowMode = false;\n } // Vue.extend constructor export interop.\n\n\n var options = typeof script === 'function' ? script.options : script; // render functions\n\n if (template && template.render) {\n options.render = template.render;\n options.staticRenderFns = template.staticRenderFns;\n options._compiled = true; // functional template\n\n if (isFunctionalTemplate) {\n options.functional = true;\n }\n } // scopedId\n\n\n if (scopeId) {\n options._scopeId = scopeId;\n }\n\n var hook;\n\n if (moduleIdentifier) {\n // server build\n hook = function hook(context) {\n // 2.3 injection\n context = context || // cached call\n this.$vnode && this.$vnode.ssrContext || // stateful\n this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional\n // 2.2 with runInNewContext: true\n\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__;\n } // inject component styles\n\n\n if (style) {\n style.call(this, createInjectorSSR(context));\n } // register component module identifier for async chunk inference\n\n\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n }; // used by ssr in case component is cached and beforeCreate\n // never gets called\n\n\n options._ssrRegister = hook;\n } else if (style) {\n hook = shadowMode ? function () {\n style.call(this, createInjectorShadow(this.$root.$options.shadowRoot));\n } : function (context) {\n style.call(this, createInjector(context));\n };\n }\n\n if (hook) {\n if (options.functional) {\n // register for functional component in vue file\n var originalRender = options.render;\n\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate;\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n\n return script;\n}\n\nvar normalizeComponent_1 = normalizeComponent;\n\n/* script */\nconst __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function() {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"div\",\n { class: { \"input-group\": _vm.bootstrapStyling } },\n [\n _vm.calendarButton\n ? _c(\n \"span\",\n {\n staticClass: \"vdp-datepicker__calendar-button\",\n class: { \"input-group-prepend\": _vm.bootstrapStyling },\n style: { \"cursor:not-allowed;\": _vm.disabled },\n on: { click: _vm.showCalendar }\n },\n [\n _c(\n \"span\",\n { class: { \"input-group-text\": _vm.bootstrapStyling } },\n [\n _c(\"i\", { class: _vm.calendarButtonIcon }, [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.calendarButtonIconContent) +\n \"\\n \"\n ),\n !_vm.calendarButtonIcon\n ? _c(\"span\", [_vm._v(\"…\")])\n : _vm._e()\n ])\n ]\n )\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"input\", {\n ref: _vm.refName,\n class: _vm.computedInputClass,\n attrs: {\n type: _vm.inline ? \"hidden\" : \"text\",\n name: _vm.name,\n id: _vm.id,\n \"open-date\": _vm.openDate,\n placeholder: _vm.placeholder,\n \"clear-button\": _vm.clearButton,\n disabled: _vm.disabled,\n required: _vm.required,\n readonly: !_vm.typeable,\n autocomplete: \"off\"\n },\n domProps: { value: _vm.formattedValue },\n on: {\n click: _vm.showCalendar,\n keyup: _vm.parseTypedDate,\n blur: _vm.inputBlurred\n }\n }),\n _vm._v(\" \"),\n _vm.clearButton && _vm.selectedDate\n ? _c(\n \"span\",\n {\n staticClass: \"vdp-datepicker__clear-button\",\n class: { \"input-group-append\": _vm.bootstrapStyling },\n on: {\n click: function($event) {\n return _vm.clearDate()\n }\n }\n },\n [\n _c(\n \"span\",\n { class: { \"input-group-text\": _vm.bootstrapStyling } },\n [\n _c(\"i\", { class: _vm.clearButtonIcon }, [\n !_vm.clearButtonIcon ? _c(\"span\", [_vm._v(\"×\")]) : _vm._e()\n ])\n ]\n )\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm._t(\"afterDateInput\")\n ],\n 2\n )\n};\nvar __vue_staticRenderFns__ = [];\n__vue_render__._withStripped = true;\n\n /* style */\n const __vue_inject_styles__ = undefined;\n /* scoped */\n const __vue_scope_id__ = undefined;\n /* module identifier */\n const __vue_module_identifier__ = undefined;\n /* functional template */\n const __vue_is_functional_template__ = false;\n /* style inject */\n \n /* style inject SSR */\n \n\n \n var DateInput = normalizeComponent_1(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n undefined,\n undefined\n );\n\n//\nvar script$1 = {\n props: {\n showDayView: Boolean,\n selectedDate: Date,\n pageDate: Date,\n pageTimestamp: Number,\n fullMonthName: Boolean,\n allowedToShowView: Function,\n dayCellContent: {\n type: Function,\n \"default\": function _default(day) {\n return day.date;\n }\n },\n disabledDates: Object,\n highlighted: Object,\n calendarClass: [String, Object, Array],\n calendarStyle: Object,\n translation: Object,\n isRtl: Boolean,\n mondayFirst: Boolean,\n useUtc: Boolean\n },\n data: function data() {\n var constructedDateUtils = makeDateUtils(this.useUtc);\n return {\n utils: constructedDateUtils\n };\n },\n computed: {\n /**\n * Returns an array of day names\n * @return {String[]}\n */\n daysOfWeek: function daysOfWeek() {\n if (this.mondayFirst) {\n var tempDays = this.translation.days.slice();\n tempDays.push(tempDays.shift());\n return tempDays;\n }\n\n return this.translation.days;\n },\n\n /**\n * Returns the day number of the week less one for the first of the current month\n * Used to show amount of empty cells before the first in the day calendar layout\n * @return {Number}\n */\n blankDays: function blankDays() {\n var d = this.pageDate;\n var dObj = this.useUtc ? new Date(Date.UTC(d.getUTCFullYear(), d.getUTCMonth(), 1)) : new Date(d.getFullYear(), d.getMonth(), 1, d.getHours(), d.getMinutes());\n\n if (this.mondayFirst) {\n return this.utils.getDay(dObj) > 0 ? this.utils.getDay(dObj) - 1 : 6;\n }\n\n return this.utils.getDay(dObj);\n },\n\n /**\n * @return {Object[]}\n */\n days: function days() {\n var d = this.pageDate;\n var days = []; // set up a new date object to the beginning of the current 'page'\n\n var dObj = this.useUtc ? new Date(Date.UTC(d.getUTCFullYear(), d.getUTCMonth(), 1)) : new Date(d.getFullYear(), d.getMonth(), 1, d.getHours(), d.getMinutes());\n var daysInMonth = this.utils.daysInMonth(this.utils.getFullYear(dObj), this.utils.getMonth(dObj));\n\n for (var i = 0; i < daysInMonth; i++) {\n days.push({\n date: this.utils.getDate(dObj),\n timestamp: dObj.getTime(),\n isSelected: this.isSelectedDate(dObj),\n isDisabled: this.isDisabledDate(dObj),\n isHighlighted: this.isHighlightedDate(dObj),\n isHighlightStart: this.isHighlightStart(dObj),\n isHighlightEnd: this.isHighlightEnd(dObj),\n isToday: this.utils.compareDates(dObj, new Date()),\n isWeekend: this.utils.getDay(dObj) === 0 || this.utils.getDay(dObj) === 6,\n isSaturday: this.utils.getDay(dObj) === 6,\n isSunday: this.utils.getDay(dObj) === 0\n });\n this.utils.setDate(dObj, this.utils.getDate(dObj) + 1);\n }\n\n return days;\n },\n\n /**\n * Gets the name of the month the current page is on\n * @return {String}\n */\n currMonthName: function currMonthName() {\n var monthName = this.fullMonthName ? this.translation.months : this.translation.monthsAbbr;\n return this.utils.getMonthNameAbbr(this.utils.getMonth(this.pageDate), monthName);\n },\n\n /**\n * Gets the name of the year that current page is on\n * @return {Number}\n */\n currYearName: function currYearName() {\n var yearSuffix = this.translation.yearSuffix;\n return \"\".concat(this.utils.getFullYear(this.pageDate)).concat(yearSuffix);\n },\n\n /**\n * Is this translation using year/month/day format?\n * @return {Boolean}\n */\n isYmd: function isYmd() {\n return this.translation.ymd && this.translation.ymd === true;\n },\n\n /**\n * Is the left hand navigation button disabled?\n * @return {Boolean}\n */\n isLeftNavDisabled: function isLeftNavDisabled() {\n return this.isRtl ? this.isNextMonthDisabled(this.pageTimestamp) : this.isPreviousMonthDisabled(this.pageTimestamp);\n },\n\n /**\n * Is the right hand navigation button disabled?\n * @return {Boolean}\n */\n isRightNavDisabled: function isRightNavDisabled() {\n return this.isRtl ? this.isPreviousMonthDisabled(this.pageTimestamp) : this.isNextMonthDisabled(this.pageTimestamp);\n }\n },\n methods: {\n selectDate: function selectDate(date) {\n if (date.isDisabled) {\n this.$emit('selectedDisabled', date);\n return false;\n }\n\n this.$emit('selectDate', date);\n },\n\n /**\n * @return {Number}\n */\n getPageMonth: function getPageMonth() {\n return this.utils.getMonth(this.pageDate);\n },\n\n /**\n * Emit an event to show the month picker\n */\n showMonthCalendar: function showMonthCalendar() {\n this.$emit('showMonthCalendar');\n },\n\n /**\n * Change the page month\n * @param {Number} incrementBy\n */\n changeMonth: function changeMonth(incrementBy) {\n var date = this.pageDate;\n this.utils.setMonth(date, this.utils.getMonth(date) + incrementBy);\n this.$emit('changedMonth', date);\n },\n\n /**\n * Decrement the page month\n */\n previousMonth: function previousMonth() {\n if (!this.isPreviousMonthDisabled()) {\n this.changeMonth(-1);\n }\n },\n\n /**\n * Is the previous month disabled?\n * @return {Boolean}\n */\n isPreviousMonthDisabled: function isPreviousMonthDisabled() {\n if (!this.disabledDates || !this.disabledDates.to) {\n return false;\n }\n\n var d = this.pageDate;\n return this.utils.getMonth(this.disabledDates.to) >= this.utils.getMonth(d) && this.utils.getFullYear(this.disabledDates.to) >= this.utils.getFullYear(d);\n },\n\n /**\n * Increment the current page month\n */\n nextMonth: function nextMonth() {\n if (!this.isNextMonthDisabled()) {\n this.changeMonth(+1);\n }\n },\n\n /**\n * Is the next month disabled?\n * @return {Boolean}\n */\n isNextMonthDisabled: function isNextMonthDisabled() {\n if (!this.disabledDates || !this.disabledDates.from) {\n return false;\n }\n\n var d = this.pageDate;\n return this.utils.getMonth(this.disabledDates.from) <= this.utils.getMonth(d) && this.utils.getFullYear(this.disabledDates.from) <= this.utils.getFullYear(d);\n },\n\n /**\n * Whether a day is selected\n * @param {Date}\n * @return {Boolean}\n */\n isSelectedDate: function isSelectedDate(dObj) {\n return this.selectedDate && this.utils.compareDates(this.selectedDate, dObj);\n },\n\n /**\n * Whether a day is disabled\n * @param {Date}\n * @return {Boolean}\n */\n isDisabledDate: function isDisabledDate(date) {\n var _this = this;\n\n var disabledDates = false;\n\n if (typeof this.disabledDates === 'undefined') {\n return false;\n }\n\n if (typeof this.disabledDates.dates !== 'undefined') {\n this.disabledDates.dates.forEach(function (d) {\n if (_this.utils.compareDates(date, d)) {\n disabledDates = true;\n return true;\n }\n });\n }\n\n if (typeof this.disabledDates.to !== 'undefined' && this.disabledDates.to && date < this.disabledDates.to) {\n disabledDates = true;\n }\n\n if (typeof this.disabledDates.from !== 'undefined' && this.disabledDates.from && date > this.disabledDates.from) {\n disabledDates = true;\n }\n\n if (typeof this.disabledDates.ranges !== 'undefined') {\n this.disabledDates.ranges.forEach(function (range) {\n if (typeof range.from !== 'undefined' && range.from && typeof range.to !== 'undefined' && range.to) {\n if (date < range.to && date > range.from) {\n disabledDates = true;\n return true;\n }\n }\n });\n }\n\n if (typeof this.disabledDates.days !== 'undefined' && this.disabledDates.days.indexOf(this.utils.getDay(date)) !== -1) {\n disabledDates = true;\n }\n\n if (typeof this.disabledDates.daysOfMonth !== 'undefined' && this.disabledDates.daysOfMonth.indexOf(this.utils.getDate(date)) !== -1) {\n disabledDates = true;\n }\n\n if (typeof this.disabledDates.customPredictor === 'function' && this.disabledDates.customPredictor(date)) {\n disabledDates = true;\n }\n\n return disabledDates;\n },\n\n /**\n * Whether a day is highlighted (only if it is not disabled already except when highlighted.includeDisabled is true)\n * @param {Date}\n * @return {Boolean}\n */\n isHighlightedDate: function isHighlightedDate(date) {\n var _this2 = this;\n\n if (!(this.highlighted && this.highlighted.includeDisabled) && this.isDisabledDate(date)) {\n return false;\n }\n\n var highlighted = false;\n\n if (typeof this.highlighted === 'undefined') {\n return false;\n }\n\n if (typeof this.highlighted.dates !== 'undefined') {\n this.highlighted.dates.forEach(function (d) {\n if (_this2.utils.compareDates(date, d)) {\n highlighted = true;\n return true;\n }\n });\n }\n\n if (this.isDefined(this.highlighted.from) && this.isDefined(this.highlighted.to)) {\n highlighted = date >= this.highlighted.from && date <= this.highlighted.to;\n }\n\n if (typeof this.highlighted.days !== 'undefined' && this.highlighted.days.indexOf(this.utils.getDay(date)) !== -1) {\n highlighted = true;\n }\n\n if (typeof this.highlighted.daysOfMonth !== 'undefined' && this.highlighted.daysOfMonth.indexOf(this.utils.getDate(date)) !== -1) {\n highlighted = true;\n }\n\n if (typeof this.highlighted.customPredictor === 'function' && this.highlighted.customPredictor(date)) {\n highlighted = true;\n }\n\n return highlighted;\n },\n dayClasses: function dayClasses(day) {\n return {\n 'selected': day.isSelected,\n 'disabled': day.isDisabled,\n 'highlighted': day.isHighlighted,\n 'today': day.isToday,\n 'weekend': day.isWeekend,\n 'sat': day.isSaturday,\n 'sun': day.isSunday,\n 'highlight-start': day.isHighlightStart,\n 'highlight-end': day.isHighlightEnd\n };\n },\n\n /**\n * Whether a day is highlighted and it is the first date\n * in the highlighted range of dates\n * @param {Date}\n * @return {Boolean}\n */\n isHighlightStart: function isHighlightStart(date) {\n return this.isHighlightedDate(date) && this.highlighted.from instanceof Date && this.utils.getFullYear(this.highlighted.from) === this.utils.getFullYear(date) && this.utils.getMonth(this.highlighted.from) === this.utils.getMonth(date) && this.utils.getDate(this.highlighted.from) === this.utils.getDate(date);\n },\n\n /**\n * Whether a day is highlighted and it is the first date\n * in the highlighted range of dates\n * @param {Date}\n * @return {Boolean}\n */\n isHighlightEnd: function isHighlightEnd(date) {\n return this.isHighlightedDate(date) && this.highlighted.to instanceof Date && this.utils.getFullYear(this.highlighted.to) === this.utils.getFullYear(date) && this.utils.getMonth(this.highlighted.to) === this.utils.getMonth(date) && this.utils.getDate(this.highlighted.to) === this.utils.getDate(date);\n },\n\n /**\n * Helper\n * @param {mixed} prop\n * @return {Boolean}\n */\n isDefined: function isDefined(prop) {\n return typeof prop !== 'undefined' && prop;\n }\n } // eslint-disable-next-line\n\n};\n\n/* script */\nconst __vue_script__$1 = script$1;\n\n/* template */\nvar __vue_render__$1 = function() {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.showDayView,\n expression: \"showDayView\"\n }\n ],\n class: [_vm.calendarClass, \"vdp-datepicker__calendar\"],\n style: _vm.calendarStyle,\n on: {\n mousedown: function($event) {\n $event.preventDefault();\n }\n }\n },\n [\n _vm._t(\"beforeCalendarHeader\"),\n _vm._v(\" \"),\n _c(\"header\", [\n _c(\n \"span\",\n {\n staticClass: \"prev\",\n class: { disabled: _vm.isLeftNavDisabled },\n on: {\n click: function($event) {\n _vm.isRtl ? _vm.nextMonth() : _vm.previousMonth();\n }\n }\n },\n [_vm._v(\"<\")]\n ),\n _vm._v(\" \"),\n _c(\n \"span\",\n {\n staticClass: \"day__month_btn\",\n class: _vm.allowedToShowView(\"month\") ? \"up\" : \"\",\n on: { click: _vm.showMonthCalendar }\n },\n [\n _vm._v(\n _vm._s(_vm.isYmd ? _vm.currYearName : _vm.currMonthName) +\n \" \" +\n _vm._s(_vm.isYmd ? _vm.currMonthName : _vm.currYearName)\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"span\",\n {\n staticClass: \"next\",\n class: { disabled: _vm.isRightNavDisabled },\n on: {\n click: function($event) {\n _vm.isRtl ? _vm.previousMonth() : _vm.nextMonth();\n }\n }\n },\n [_vm._v(\">\")]\n )\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { class: _vm.isRtl ? \"flex-rtl\" : \"\" },\n [\n _vm._l(_vm.daysOfWeek, function(d) {\n return _c(\n \"span\",\n { key: d.timestamp, staticClass: \"cell day-header\" },\n [_vm._v(_vm._s(d))]\n )\n }),\n _vm._v(\" \"),\n _vm.blankDays > 0\n ? _vm._l(_vm.blankDays, function(d) {\n return _c(\"span\", {\n key: d.timestamp,\n staticClass: \"cell day blank\"\n })\n })\n : _vm._e(),\n _vm._l(_vm.days, function(day) {\n return _c(\"span\", {\n key: day.timestamp,\n staticClass: \"cell day\",\n class: _vm.dayClasses(day),\n domProps: { innerHTML: _vm._s(_vm.dayCellContent(day)) },\n on: {\n click: function($event) {\n return _vm.selectDate(day)\n }\n }\n })\n })\n ],\n 2\n )\n ],\n 2\n )\n};\nvar __vue_staticRenderFns__$1 = [];\n__vue_render__$1._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$1 = undefined;\n /* scoped */\n const __vue_scope_id__$1 = undefined;\n /* module identifier */\n const __vue_module_identifier__$1 = undefined;\n /* functional template */\n const __vue_is_functional_template__$1 = false;\n /* style inject */\n \n /* style inject SSR */\n \n\n \n var PickerDay = normalizeComponent_1(\n { render: __vue_render__$1, staticRenderFns: __vue_staticRenderFns__$1 },\n __vue_inject_styles__$1,\n __vue_script__$1,\n __vue_scope_id__$1,\n __vue_is_functional_template__$1,\n __vue_module_identifier__$1,\n undefined,\n undefined\n );\n\n//\nvar script$2 = {\n props: {\n showMonthView: Boolean,\n selectedDate: Date,\n pageDate: Date,\n pageTimestamp: Number,\n disabledDates: Object,\n calendarClass: [String, Object, Array],\n calendarStyle: Object,\n translation: Object,\n isRtl: Boolean,\n allowedToShowView: Function,\n useUtc: Boolean\n },\n data: function data() {\n var constructedDateUtils = makeDateUtils(this.useUtc);\n return {\n utils: constructedDateUtils\n };\n },\n computed: {\n months: function months() {\n var d = this.pageDate;\n var months = []; // set up a new date object to the beginning of the current 'page'\n\n var dObj = this.useUtc ? new Date(Date.UTC(d.getUTCFullYear(), 0, d.getUTCDate())) : new Date(d.getFullYear(), 0, d.getDate(), d.getHours(), d.getMinutes());\n\n for (var i = 0; i < 12; i++) {\n months.push({\n month: this.utils.getMonthName(i, this.translation.months),\n timestamp: dObj.getTime(),\n isSelected: this.isSelectedMonth(dObj),\n isDisabled: this.isDisabledMonth(dObj)\n });\n this.utils.setMonth(dObj, this.utils.getMonth(dObj) + 1);\n }\n\n return months;\n },\n\n /**\n * Get year name on current page.\n * @return {String}\n */\n pageYearName: function pageYearName() {\n var yearSuffix = this.translation.yearSuffix;\n return \"\".concat(this.utils.getFullYear(this.pageDate)).concat(yearSuffix);\n },\n\n /**\n * Is the left hand navigation disabled\n * @return {Boolean}\n */\n isLeftNavDisabled: function isLeftNavDisabled() {\n return this.isRtl ? this.isNextYearDisabled(this.pageTimestamp) : this.isPreviousYearDisabled(this.pageTimestamp);\n },\n\n /**\n * Is the right hand navigation disabled\n * @return {Boolean}\n */\n isRightNavDisabled: function isRightNavDisabled() {\n return this.isRtl ? this.isPreviousYearDisabled(this.pageTimestamp) : this.isNextYearDisabled(this.pageTimestamp);\n }\n },\n methods: {\n /**\n * Emits a selectMonth event\n * @param {Object} month\n */\n selectMonth: function selectMonth(month) {\n if (month.isDisabled) {\n return false;\n }\n\n this.$emit('selectMonth', month);\n },\n\n /**\n * Changes the year up or down\n * @param {Number} incrementBy\n */\n changeYear: function changeYear(incrementBy) {\n var date = this.pageDate;\n this.utils.setFullYear(date, this.utils.getFullYear(date) + incrementBy);\n this.$emit('changedYear', date);\n },\n\n /**\n * Decrements the year\n */\n previousYear: function previousYear() {\n if (!this.isPreviousYearDisabled()) {\n this.changeYear(-1);\n }\n },\n\n /**\n * Checks if the previous year is disabled or not\n * @return {Boolean}\n */\n isPreviousYearDisabled: function isPreviousYearDisabled() {\n if (!this.disabledDates || !this.disabledDates.to) {\n return false;\n }\n\n return this.utils.getFullYear(this.disabledDates.to) >= this.utils.getFullYear(this.pageDate);\n },\n\n /**\n * Increments the year\n */\n nextYear: function nextYear() {\n if (!this.isNextYearDisabled()) {\n this.changeYear(1);\n }\n },\n\n /**\n * Checks if the next year is disabled or not\n * @return {Boolean}\n */\n isNextYearDisabled: function isNextYearDisabled() {\n if (!this.disabledDates || !this.disabledDates.from) {\n return false;\n }\n\n return this.utils.getFullYear(this.disabledDates.from) <= this.utils.getFullYear(this.pageDate);\n },\n\n /**\n * Emits an event that shows the year calendar\n */\n showYearCalendar: function showYearCalendar() {\n this.$emit('showYearCalendar');\n },\n\n /**\n * Whether the selected date is in this month\n * @param {Date}\n * @return {Boolean}\n */\n isSelectedMonth: function isSelectedMonth(date) {\n return this.selectedDate && this.utils.getFullYear(this.selectedDate) === this.utils.getFullYear(date) && this.utils.getMonth(this.selectedDate) === this.utils.getMonth(date);\n },\n\n /**\n * Whether a month is disabled\n * @param {Date}\n * @return {Boolean}\n */\n isDisabledMonth: function isDisabledMonth(date) {\n var disabledDates = false;\n\n if (typeof this.disabledDates === 'undefined') {\n return false;\n }\n\n if (typeof this.disabledDates.to !== 'undefined' && this.disabledDates.to) {\n if (this.utils.getMonth(date) < this.utils.getMonth(this.disabledDates.to) && this.utils.getFullYear(date) <= this.utils.getFullYear(this.disabledDates.to) || this.utils.getFullYear(date) < this.utils.getFullYear(this.disabledDates.to)) {\n disabledDates = true;\n }\n }\n\n if (typeof this.disabledDates.from !== 'undefined' && this.disabledDates.from) {\n if (this.utils.getMonth(date) > this.utils.getMonth(this.disabledDates.from) && this.utils.getFullYear(date) >= this.utils.getFullYear(this.disabledDates.from) || this.utils.getFullYear(date) > this.utils.getFullYear(this.disabledDates.from)) {\n disabledDates = true;\n }\n }\n\n if (typeof this.disabledDates.customPredictor === 'function' && this.disabledDates.customPredictor(date)) {\n disabledDates = true;\n }\n\n return disabledDates;\n }\n } // eslint-disable-next-line\n\n};\n\n/* script */\nconst __vue_script__$2 = script$2;\n\n/* template */\nvar __vue_render__$2 = function() {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.showMonthView,\n expression: \"showMonthView\"\n }\n ],\n class: [_vm.calendarClass, \"vdp-datepicker__calendar\"],\n style: _vm.calendarStyle,\n on: {\n mousedown: function($event) {\n $event.preventDefault();\n }\n }\n },\n [\n _vm._t(\"beforeCalendarHeader\"),\n _vm._v(\" \"),\n _c(\"header\", [\n _c(\n \"span\",\n {\n staticClass: \"prev\",\n class: { disabled: _vm.isLeftNavDisabled },\n on: {\n click: function($event) {\n _vm.isRtl ? _vm.nextYear() : _vm.previousYear();\n }\n }\n },\n [_vm._v(\"<\")]\n ),\n _vm._v(\" \"),\n _c(\n \"span\",\n {\n staticClass: \"month__year_btn\",\n class: _vm.allowedToShowView(\"year\") ? \"up\" : \"\",\n on: { click: _vm.showYearCalendar }\n },\n [_vm._v(_vm._s(_vm.pageYearName))]\n ),\n _vm._v(\" \"),\n _c(\n \"span\",\n {\n staticClass: \"next\",\n class: { disabled: _vm.isRightNavDisabled },\n on: {\n click: function($event) {\n _vm.isRtl ? _vm.previousYear() : _vm.nextYear();\n }\n }\n },\n [_vm._v(\">\")]\n )\n ]),\n _vm._v(\" \"),\n _vm._l(_vm.months, function(month) {\n return _c(\n \"span\",\n {\n key: month.timestamp,\n staticClass: \"cell month\",\n class: { selected: month.isSelected, disabled: month.isDisabled },\n on: {\n click: function($event) {\n $event.stopPropagation();\n return _vm.selectMonth(month)\n }\n }\n },\n [_vm._v(_vm._s(month.month))]\n )\n })\n ],\n 2\n )\n};\nvar __vue_staticRenderFns__$2 = [];\n__vue_render__$2._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$2 = undefined;\n /* scoped */\n const __vue_scope_id__$2 = undefined;\n /* module identifier */\n const __vue_module_identifier__$2 = undefined;\n /* functional template */\n const __vue_is_functional_template__$2 = false;\n /* style inject */\n \n /* style inject SSR */\n \n\n \n var PickerMonth = normalizeComponent_1(\n { render: __vue_render__$2, staticRenderFns: __vue_staticRenderFns__$2 },\n __vue_inject_styles__$2,\n __vue_script__$2,\n __vue_scope_id__$2,\n __vue_is_functional_template__$2,\n __vue_module_identifier__$2,\n undefined,\n undefined\n );\n\n//\nvar script$3 = {\n props: {\n showYearView: Boolean,\n selectedDate: Date,\n pageDate: Date,\n pageTimestamp: Number,\n disabledDates: Object,\n highlighted: Object,\n calendarClass: [String, Object, Array],\n calendarStyle: Object,\n translation: Object,\n isRtl: Boolean,\n allowedToShowView: Function,\n useUtc: Boolean\n },\n computed: {\n years: function years() {\n var d = this.pageDate;\n var years = []; // set up a new date object to the beginning of the current 'page'7\n\n var dObj = this.useUtc ? new Date(Date.UTC(Math.floor(d.getUTCFullYear() / 10) * 10, d.getUTCMonth(), d.getUTCDate())) : new Date(Math.floor(d.getFullYear() / 10) * 10, d.getMonth(), d.getDate(), d.getHours(), d.getMinutes());\n\n for (var i = 0; i < 10; i++) {\n years.push({\n year: this.utils.getFullYear(dObj),\n timestamp: dObj.getTime(),\n isSelected: this.isSelectedYear(dObj),\n isDisabled: this.isDisabledYear(dObj)\n });\n this.utils.setFullYear(dObj, this.utils.getFullYear(dObj) + 1);\n }\n\n return years;\n },\n\n /**\n * @return {String}\n */\n getPageDecade: function getPageDecade() {\n var decadeStart = Math.floor(this.utils.getFullYear(this.pageDate) / 10) * 10;\n var decadeEnd = decadeStart + 9;\n var yearSuffix = this.translation.yearSuffix;\n return \"\".concat(decadeStart, \" - \").concat(decadeEnd).concat(yearSuffix);\n },\n\n /**\n * Is the left hand navigation button disabled?\n * @return {Boolean}\n */\n isLeftNavDisabled: function isLeftNavDisabled() {\n return this.isRtl ? this.isNextDecadeDisabled(this.pageTimestamp) : this.isPreviousDecadeDisabled(this.pageTimestamp);\n },\n\n /**\n * Is the right hand navigation button disabled?\n * @return {Boolean}\n */\n isRightNavDisabled: function isRightNavDisabled() {\n return this.isRtl ? this.isPreviousDecadeDisabled(this.pageTimestamp) : this.isNextDecadeDisabled(this.pageTimestamp);\n }\n },\n data: function data() {\n var constructedDateUtils = makeDateUtils(this.useUtc);\n return {\n utils: constructedDateUtils\n };\n },\n methods: {\n selectYear: function selectYear(year) {\n if (year.isDisabled) {\n return false;\n }\n\n this.$emit('selectYear', year);\n },\n changeYear: function changeYear(incrementBy) {\n var date = this.pageDate;\n this.utils.setFullYear(date, this.utils.getFullYear(date) + incrementBy);\n this.$emit('changedDecade', date);\n },\n previousDecade: function previousDecade() {\n if (this.isPreviousDecadeDisabled()) {\n return false;\n }\n\n this.changeYear(-10);\n },\n isPreviousDecadeDisabled: function isPreviousDecadeDisabled() {\n if (!this.disabledDates || !this.disabledDates.to) {\n return false;\n }\n\n var disabledYear = this.utils.getFullYear(this.disabledDates.to);\n var lastYearInPreviousPage = Math.floor(this.utils.getFullYear(this.pageDate) / 10) * 10 - 1;\n return disabledYear > lastYearInPreviousPage;\n },\n nextDecade: function nextDecade() {\n if (this.isNextDecadeDisabled()) {\n return false;\n }\n\n this.changeYear(10);\n },\n isNextDecadeDisabled: function isNextDecadeDisabled() {\n if (!this.disabledDates || !this.disabledDates.from) {\n return false;\n }\n\n var disabledYear = this.utils.getFullYear(this.disabledDates.from);\n var firstYearInNextPage = Math.ceil(this.utils.getFullYear(this.pageDate) / 10) * 10;\n return disabledYear < firstYearInNextPage;\n },\n\n /**\n * Whether the selected date is in this year\n * @param {Date}\n * @return {Boolean}\n */\n isSelectedYear: function isSelectedYear(date) {\n return this.selectedDate && this.utils.getFullYear(this.selectedDate) === this.utils.getFullYear(date);\n },\n\n /**\n * Whether a year is disabled\n * @param {Date}\n * @return {Boolean}\n */\n isDisabledYear: function isDisabledYear(date) {\n var disabledDates = false;\n\n if (typeof this.disabledDates === 'undefined' || !this.disabledDates) {\n return false;\n }\n\n if (typeof this.disabledDates.to !== 'undefined' && this.disabledDates.to) {\n if (this.utils.getFullYear(date) < this.utils.getFullYear(this.disabledDates.to)) {\n disabledDates = true;\n }\n }\n\n if (typeof this.disabledDates.from !== 'undefined' && this.disabledDates.from) {\n if (this.utils.getFullYear(date) > this.utils.getFullYear(this.disabledDates.from)) {\n disabledDates = true;\n }\n }\n\n if (typeof this.disabledDates.customPredictor === 'function' && this.disabledDates.customPredictor(date)) {\n disabledDates = true;\n }\n\n return disabledDates;\n }\n } // eslint-disable-next-line\n\n};\n\n/* script */\nconst __vue_script__$3 = script$3;\n\n/* template */\nvar __vue_render__$3 = function() {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.showYearView,\n expression: \"showYearView\"\n }\n ],\n class: [_vm.calendarClass, \"vdp-datepicker__calendar\"],\n style: _vm.calendarStyle,\n on: {\n mousedown: function($event) {\n $event.preventDefault();\n }\n }\n },\n [\n _vm._t(\"beforeCalendarHeader\"),\n _vm._v(\" \"),\n _c(\"header\", [\n _c(\n \"span\",\n {\n staticClass: \"prev\",\n class: { disabled: _vm.isLeftNavDisabled },\n on: {\n click: function($event) {\n _vm.isRtl ? _vm.nextDecade() : _vm.previousDecade();\n }\n }\n },\n [_vm._v(\"<\")]\n ),\n _vm._v(\" \"),\n _c(\"span\", [_vm._v(_vm._s(_vm.getPageDecade))]),\n _vm._v(\" \"),\n _c(\n \"span\",\n {\n staticClass: \"next\",\n class: { disabled: _vm.isRightNavDisabled },\n on: {\n click: function($event) {\n _vm.isRtl ? _vm.previousDecade() : _vm.nextDecade();\n }\n }\n },\n [_vm._v(\">\")]\n )\n ]),\n _vm._v(\" \"),\n _vm._l(_vm.years, function(year) {\n return _c(\n \"span\",\n {\n key: year.timestamp,\n staticClass: \"cell year\",\n class: { selected: year.isSelected, disabled: year.isDisabled },\n on: {\n click: function($event) {\n $event.stopPropagation();\n return _vm.selectYear(year)\n }\n }\n },\n [_vm._v(_vm._s(year.year))]\n )\n })\n ],\n 2\n )\n};\nvar __vue_staticRenderFns__$3 = [];\n__vue_render__$3._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$3 = undefined;\n /* scoped */\n const __vue_scope_id__$3 = undefined;\n /* module identifier */\n const __vue_module_identifier__$3 = undefined;\n /* functional template */\n const __vue_is_functional_template__$3 = false;\n /* style inject */\n \n /* style inject SSR */\n \n\n \n var PickerYear = normalizeComponent_1(\n { render: __vue_render__$3, staticRenderFns: __vue_staticRenderFns__$3 },\n __vue_inject_styles__$3,\n __vue_script__$3,\n __vue_scope_id__$3,\n __vue_is_functional_template__$3,\n __vue_module_identifier__$3,\n undefined,\n undefined\n );\n\n//\nvar script$4 = {\n components: {\n DateInput: DateInput,\n PickerDay: PickerDay,\n PickerMonth: PickerMonth,\n PickerYear: PickerYear\n },\n props: {\n value: {\n validator: function validator(val) {\n return utils$1.validateDateInput(val);\n }\n },\n name: String,\n refName: String,\n id: String,\n format: {\n type: [String, Function],\n \"default\": 'dd MMM yyyy'\n },\n language: {\n type: Object,\n \"default\": function _default() {\n return en;\n }\n },\n openDate: {\n validator: function validator(val) {\n return utils$1.validateDateInput(val);\n }\n },\n dayCellContent: Function,\n fullMonthName: Boolean,\n disabledDates: Object,\n highlighted: Object,\n placeholder: String,\n inline: Boolean,\n calendarClass: [String, Object, Array],\n inputClass: [String, Object, Array],\n wrapperClass: [String, Object, Array],\n mondayFirst: Boolean,\n clearButton: Boolean,\n clearButtonIcon: String,\n calendarButton: Boolean,\n calendarButtonIcon: String,\n calendarButtonIconContent: String,\n bootstrapStyling: Boolean,\n initialView: String,\n disabled: Boolean,\n required: Boolean,\n typeable: Boolean,\n useUtc: Boolean,\n minimumView: {\n type: String,\n \"default\": 'day'\n },\n maximumView: {\n type: String,\n \"default\": 'year'\n }\n },\n data: function data() {\n var startDate = this.openDate ? new Date(this.openDate) : new Date();\n var constructedDateUtils = makeDateUtils(this.useUtc);\n var pageTimestamp = constructedDateUtils.setDate(startDate, 1);\n return {\n /*\n * Vue cannot observe changes to a Date Object so date must be stored as a timestamp\n * This represents the first day of the current viewing month\n * {Number}\n */\n pageTimestamp: pageTimestamp,\n\n /*\n * Selected Date\n * {Date}\n */\n selectedDate: null,\n\n /*\n * Flags to show calendar views\n * {Boolean}\n */\n showDayView: false,\n showMonthView: false,\n showYearView: false,\n\n /*\n * Positioning\n */\n calendarHeight: 0,\n resetTypedDate: new Date(),\n utils: constructedDateUtils\n };\n },\n watch: {\n value: function value(_value) {\n this.setValue(_value);\n },\n openDate: function openDate() {\n this.setPageDate();\n },\n initialView: function initialView() {\n this.setInitialView();\n }\n },\n computed: {\n computedInitialView: function computedInitialView() {\n if (!this.initialView) {\n return this.minimumView;\n }\n\n return this.initialView;\n },\n pageDate: function pageDate() {\n return new Date(this.pageTimestamp);\n },\n translation: function translation() {\n return this.language;\n },\n calendarStyle: function calendarStyle() {\n return {\n position: this.isInline ? 'static' : undefined\n };\n },\n isOpen: function isOpen() {\n return this.showDayView || this.showMonthView || this.showYearView;\n },\n isInline: function isInline() {\n return !!this.inline;\n },\n isRtl: function isRtl() {\n return this.translation.rtl === true;\n }\n },\n methods: {\n /**\n * Called in the event that the user navigates to date pages and\n * closes the picker without selecting a date.\n */\n resetDefaultPageDate: function resetDefaultPageDate() {\n if (this.selectedDate === null) {\n this.setPageDate();\n return;\n }\n\n this.setPageDate(this.selectedDate);\n },\n\n /**\n * Effectively a toggle to show/hide the calendar\n * @return {mixed}\n */\n showCalendar: function showCalendar() {\n if (this.disabled || this.isInline) {\n return false;\n }\n\n if (this.isOpen) {\n return this.close(true);\n }\n\n this.setInitialView();\n },\n\n /**\n * Sets the initial picker page view: day, month or year\n */\n setInitialView: function setInitialView() {\n var initialView = this.computedInitialView;\n\n if (!this.allowedToShowView(initialView)) {\n throw new Error(\"initialView '\".concat(this.initialView, \"' cannot be rendered based on minimum '\").concat(this.minimumView, \"' and maximum '\").concat(this.maximumView, \"'\"));\n }\n\n switch (initialView) {\n case 'year':\n this.showYearCalendar();\n break;\n\n case 'month':\n this.showMonthCalendar();\n break;\n\n default:\n this.showDayCalendar();\n break;\n }\n },\n\n /**\n * Are we allowed to show a specific picker view?\n * @param {String} view\n * @return {Boolean}\n */\n allowedToShowView: function allowedToShowView(view) {\n var views = ['day', 'month', 'year'];\n var minimumViewIndex = views.indexOf(this.minimumView);\n var maximumViewIndex = views.indexOf(this.maximumView);\n var viewIndex = views.indexOf(view);\n return viewIndex >= minimumViewIndex && viewIndex <= maximumViewIndex;\n },\n\n /**\n * Show the day picker\n * @return {Boolean}\n */\n showDayCalendar: function showDayCalendar() {\n if (!this.allowedToShowView('day')) {\n return false;\n }\n\n this.close();\n this.showDayView = true;\n return true;\n },\n\n /**\n * Show the month picker\n * @return {Boolean}\n */\n showMonthCalendar: function showMonthCalendar() {\n if (!this.allowedToShowView('month')) {\n return false;\n }\n\n this.close();\n this.showMonthView = true;\n return true;\n },\n\n /**\n * Show the year picker\n * @return {Boolean}\n */\n showYearCalendar: function showYearCalendar() {\n if (!this.allowedToShowView('year')) {\n return false;\n }\n\n this.close();\n this.showYearView = true;\n return true;\n },\n\n /**\n * Set the selected date\n * @param {Number} timestamp\n */\n setDate: function setDate(timestamp) {\n var date = new Date(timestamp);\n this.selectedDate = date;\n this.setPageDate(date);\n this.$emit('selected', date);\n this.$emit('input', date);\n },\n\n /**\n * Clear the selected date\n */\n clearDate: function clearDate() {\n this.selectedDate = null;\n this.setPageDate();\n this.$emit('selected', null);\n this.$emit('input', null);\n this.$emit('cleared');\n },\n\n /**\n * @param {Object} date\n */\n selectDate: function selectDate(date) {\n this.setDate(date.timestamp);\n\n if (!this.isInline) {\n this.close(true);\n }\n\n this.resetTypedDate = new Date();\n },\n\n /**\n * @param {Object} date\n */\n selectDisabledDate: function selectDisabledDate(date) {\n this.$emit('selectedDisabled', date);\n },\n\n /**\n * @param {Object} month\n */\n selectMonth: function selectMonth(month) {\n var date = new Date(month.timestamp);\n\n if (this.allowedToShowView('day')) {\n this.setPageDate(date);\n this.$emit('changedMonth', month);\n this.showDayCalendar();\n } else {\n this.selectDate(month);\n }\n },\n\n /**\n * @param {Object} year\n */\n selectYear: function selectYear(year) {\n var date = new Date(year.timestamp);\n\n if (this.allowedToShowView('month')) {\n this.setPageDate(date);\n this.$emit('changedYear', year);\n this.showMonthCalendar();\n } else {\n this.selectDate(year);\n }\n },\n\n /**\n * Set the datepicker value\n * @param {Date|String|Number|null} date\n */\n setValue: function setValue(date) {\n if (typeof date === 'string' || typeof date === 'number') {\n var parsed = new Date(date);\n date = isNaN(parsed.valueOf()) ? null : parsed;\n }\n\n if (!date) {\n this.setPageDate();\n this.selectedDate = null;\n return;\n }\n\n this.selectedDate = date;\n this.setPageDate(date);\n },\n\n /**\n * Sets the date that the calendar should open on\n */\n setPageDate: function setPageDate(date) {\n if (!date) {\n if (this.openDate) {\n date = new Date(this.openDate);\n } else {\n date = new Date();\n }\n }\n\n this.pageTimestamp = this.utils.setDate(new Date(date), 1);\n },\n\n /**\n * Handles a month change from the day picker\n */\n handleChangedMonthFromDayPicker: function handleChangedMonthFromDayPicker(date) {\n this.setPageDate(date);\n this.$emit('changedMonth', date);\n },\n\n /**\n * Set the date from a typedDate event\n */\n setTypedDate: function setTypedDate(date) {\n this.setDate(date.getTime());\n },\n\n /**\n * Close all calendar layers\n * @param {Boolean} emitEvent - emit close event\n */\n close: function close(emitEvent) {\n this.showDayView = this.showMonthView = this.showYearView = false;\n\n if (!this.isInline) {\n if (emitEvent) {\n this.$emit('closed');\n }\n\n document.removeEventListener('click', this.clickOutside, false);\n }\n },\n\n /**\n * Initiate the component\n */\n init: function init() {\n if (this.value) {\n this.setValue(this.value);\n }\n\n if (this.isInline) {\n this.setInitialView();\n }\n }\n },\n mounted: function mounted() {\n this.init();\n }\n} // eslint-disable-next-line\n;\n\nvar isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\\\\b/.test(navigator.userAgent.toLowerCase());\nfunction createInjector(context) {\n return function (id, style) {\n return addStyle(id, style);\n };\n}\nvar HEAD = document.head || document.getElementsByTagName('head')[0];\nvar styles = {};\n\nfunction addStyle(id, css) {\n var group = isOldIE ? css.media || 'default' : id;\n var style = styles[group] || (styles[group] = {\n ids: new Set(),\n styles: []\n });\n\n if (!style.ids.has(id)) {\n style.ids.add(id);\n var code = css.source;\n\n if (css.map) {\n // https://developer.chrome.com/devtools/docs/javascript-debugging\n // this makes source maps inside style tags work properly in Chrome\n code += '\\n/*# sourceURL=' + css.map.sources[0] + ' */'; // http://stackoverflow.com/a/26603875\n\n code += '\\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(css.map)))) + ' */';\n }\n\n if (!style.element) {\n style.element = document.createElement('style');\n style.element.type = 'text/css';\n if (css.media) style.element.setAttribute('media', css.media);\n HEAD.appendChild(style.element);\n }\n\n if ('styleSheet' in style.element) {\n style.styles.push(code);\n style.element.styleSheet.cssText = style.styles.filter(Boolean).join('\\n');\n } else {\n var index = style.ids.size - 1;\n var textNode = document.createTextNode(code);\n var nodes = style.element.childNodes;\n if (nodes[index]) style.element.removeChild(nodes[index]);\n if (nodes.length) style.element.insertBefore(textNode, nodes[index]);else style.element.appendChild(textNode);\n }\n }\n}\n\nvar browser = createInjector;\n\n/* script */\nconst __vue_script__$4 = script$4;\n\n/* template */\nvar __vue_render__$4 = function() {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"div\",\n {\n staticClass: \"vdp-datepicker\",\n class: [_vm.wrapperClass, _vm.isRtl ? \"rtl\" : \"\"]\n },\n [\n _c(\n \"date-input\",\n {\n attrs: {\n selectedDate: _vm.selectedDate,\n resetTypedDate: _vm.resetTypedDate,\n format: _vm.format,\n translation: _vm.translation,\n inline: _vm.inline,\n id: _vm.id,\n name: _vm.name,\n refName: _vm.refName,\n openDate: _vm.openDate,\n placeholder: _vm.placeholder,\n inputClass: _vm.inputClass,\n typeable: _vm.typeable,\n clearButton: _vm.clearButton,\n clearButtonIcon: _vm.clearButtonIcon,\n calendarButton: _vm.calendarButton,\n calendarButtonIcon: _vm.calendarButtonIcon,\n calendarButtonIconContent: _vm.calendarButtonIconContent,\n disabled: _vm.disabled,\n required: _vm.required,\n bootstrapStyling: _vm.bootstrapStyling,\n \"use-utc\": _vm.useUtc\n },\n on: {\n showCalendar: _vm.showCalendar,\n closeCalendar: _vm.close,\n typedDate: _vm.setTypedDate,\n clearDate: _vm.clearDate\n }\n },\n [_vm._t(\"afterDateInput\", null, { slot: \"afterDateInput\" })],\n 2\n ),\n _vm._v(\" \"),\n _vm.allowedToShowView(\"day\")\n ? _c(\n \"picker-day\",\n {\n attrs: {\n pageDate: _vm.pageDate,\n selectedDate: _vm.selectedDate,\n showDayView: _vm.showDayView,\n fullMonthName: _vm.fullMonthName,\n allowedToShowView: _vm.allowedToShowView,\n disabledDates: _vm.disabledDates,\n highlighted: _vm.highlighted,\n calendarClass: _vm.calendarClass,\n calendarStyle: _vm.calendarStyle,\n translation: _vm.translation,\n pageTimestamp: _vm.pageTimestamp,\n isRtl: _vm.isRtl,\n mondayFirst: _vm.mondayFirst,\n dayCellContent: _vm.dayCellContent,\n \"use-utc\": _vm.useUtc\n },\n on: {\n changedMonth: _vm.handleChangedMonthFromDayPicker,\n selectDate: _vm.selectDate,\n showMonthCalendar: _vm.showMonthCalendar,\n selectedDisabled: _vm.selectDisabledDate\n }\n },\n [\n _vm._t(\"beforeCalendarHeader\", null, {\n slot: \"beforeCalendarHeader\"\n })\n ],\n 2\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.allowedToShowView(\"month\")\n ? _c(\n \"picker-month\",\n {\n attrs: {\n pageDate: _vm.pageDate,\n selectedDate: _vm.selectedDate,\n showMonthView: _vm.showMonthView,\n allowedToShowView: _vm.allowedToShowView,\n disabledDates: _vm.disabledDates,\n calendarClass: _vm.calendarClass,\n calendarStyle: _vm.calendarStyle,\n translation: _vm.translation,\n isRtl: _vm.isRtl,\n \"use-utc\": _vm.useUtc\n },\n on: {\n selectMonth: _vm.selectMonth,\n showYearCalendar: _vm.showYearCalendar,\n changedYear: _vm.setPageDate\n }\n },\n [\n _vm._t(\"beforeCalendarHeader\", null, {\n slot: \"beforeCalendarHeader\"\n })\n ],\n 2\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.allowedToShowView(\"year\")\n ? _c(\n \"picker-year\",\n {\n attrs: {\n pageDate: _vm.pageDate,\n selectedDate: _vm.selectedDate,\n showYearView: _vm.showYearView,\n allowedToShowView: _vm.allowedToShowView,\n disabledDates: _vm.disabledDates,\n calendarClass: _vm.calendarClass,\n calendarStyle: _vm.calendarStyle,\n translation: _vm.translation,\n isRtl: _vm.isRtl,\n \"use-utc\": _vm.useUtc\n },\n on: { selectYear: _vm.selectYear, changedDecade: _vm.setPageDate }\n },\n [\n _vm._t(\"beforeCalendarHeader\", null, {\n slot: \"beforeCalendarHeader\"\n })\n ],\n 2\n )\n : _vm._e()\n ],\n 1\n )\n};\nvar __vue_staticRenderFns__$4 = [];\n__vue_render__$4._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$4 = function (inject) {\n if (!inject) return\n inject(\"data-v-64ca2bb5_0\", { source: \".rtl {\\n direction: rtl;\\n}\\n.vdp-datepicker {\\n position: relative;\\n text-align: left;\\n}\\n.vdp-datepicker * {\\n box-sizing: border-box;\\n}\\n.vdp-datepicker__calendar {\\n position: absolute;\\n z-index: 100;\\n background: #fff;\\n width: 300px;\\n border: 1px solid #ccc;\\n}\\n.vdp-datepicker__calendar header {\\n display: block;\\n line-height: 40px;\\n}\\n.vdp-datepicker__calendar header span {\\n display: inline-block;\\n text-align: center;\\n width: 71.42857142857143%;\\n float: left;\\n}\\n.vdp-datepicker__calendar header .prev,\\n.vdp-datepicker__calendar header .next {\\n width: 14.285714285714286%;\\n float: left;\\n text-indent: -10000px;\\n position: relative;\\n}\\n.vdp-datepicker__calendar header .prev:after,\\n.vdp-datepicker__calendar header .next:after {\\n content: '';\\n position: absolute;\\n left: 50%;\\n top: 50%;\\n transform: translateX(-50%) translateY(-50%);\\n border: 6px solid transparent;\\n}\\n.vdp-datepicker__calendar header .prev:after {\\n border-right: 10px solid #000;\\n margin-left: -5px;\\n}\\n.vdp-datepicker__calendar header .prev.disabled:after {\\n border-right: 10px solid #ddd;\\n}\\n.vdp-datepicker__calendar header .next:after {\\n border-left: 10px solid #000;\\n margin-left: 5px;\\n}\\n.vdp-datepicker__calendar header .next.disabled:after {\\n border-left: 10px solid #ddd;\\n}\\n.vdp-datepicker__calendar header .prev:not(.disabled),\\n.vdp-datepicker__calendar header .next:not(.disabled),\\n.vdp-datepicker__calendar header .up:not(.disabled) {\\n cursor: pointer;\\n}\\n.vdp-datepicker__calendar header .prev:not(.disabled):hover,\\n.vdp-datepicker__calendar header .next:not(.disabled):hover,\\n.vdp-datepicker__calendar header .up:not(.disabled):hover {\\n background: #eee;\\n}\\n.vdp-datepicker__calendar .disabled {\\n color: #ddd;\\n cursor: default;\\n}\\n.vdp-datepicker__calendar .flex-rtl {\\n display: flex;\\n width: inherit;\\n flex-wrap: wrap;\\n}\\n.vdp-datepicker__calendar .cell {\\n display: inline-block;\\n padding: 0 5px;\\n width: 14.285714285714286%;\\n height: 40px;\\n line-height: 40px;\\n text-align: center;\\n vertical-align: middle;\\n border: 1px solid transparent;\\n}\\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).day,\\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).month,\\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).year {\\n cursor: pointer;\\n}\\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).day:hover,\\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).month:hover,\\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).year:hover {\\n border: 1px solid #4bd;\\n}\\n.vdp-datepicker__calendar .cell.selected {\\n background: #4bd;\\n}\\n.vdp-datepicker__calendar .cell.selected:hover {\\n background: #4bd;\\n}\\n.vdp-datepicker__calendar .cell.selected.highlighted {\\n background: #4bd;\\n}\\n.vdp-datepicker__calendar .cell.highlighted {\\n background: #cae5ed;\\n}\\n.vdp-datepicker__calendar .cell.highlighted.disabled {\\n color: #a3a3a3;\\n}\\n.vdp-datepicker__calendar .cell.grey {\\n color: #888;\\n}\\n.vdp-datepicker__calendar .cell.grey:hover {\\n background: inherit;\\n}\\n.vdp-datepicker__calendar .cell.day-header {\\n font-size: 75%;\\n white-space: nowrap;\\n cursor: inherit;\\n}\\n.vdp-datepicker__calendar .cell.day-header:hover {\\n background: inherit;\\n}\\n.vdp-datepicker__calendar .month,\\n.vdp-datepicker__calendar .year {\\n width: 33.333%;\\n}\\n.vdp-datepicker__clear-button,\\n.vdp-datepicker__calendar-button {\\n cursor: pointer;\\n font-style: normal;\\n}\\n.vdp-datepicker__clear-button.disabled,\\n.vdp-datepicker__calendar-button.disabled {\\n color: #999;\\n cursor: default;\\n}\\n\", map: {\"version\":3,\"sources\":[\"Datepicker.vue\"],\"names\":[],\"mappings\":\"AAAA;EACE,cAAc;AAChB;AACA;EACE,kBAAkB;EAClB,gBAAgB;AAClB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,kBAAkB;EAClB,YAAY;EACZ,gBAAgB;EAChB,YAAY;EACZ,sBAAsB;AACxB;AACA;EACE,cAAc;EACd,iBAAiB;AACnB;AACA;EACE,qBAAqB;EACrB,kBAAkB;EAClB,yBAAyB;EACzB,WAAW;AACb;AACA;;EAEE,0BAA0B;EAC1B,WAAW;EACX,qBAAqB;EACrB,kBAAkB;AACpB;AACA;;EAEE,WAAW;EACX,kBAAkB;EAClB,SAAS;EACT,QAAQ;EACR,4CAA4C;EAC5C,6BAA6B;AAC/B;AACA;EACE,6BAA6B;EAC7B,iBAAiB;AACnB;AACA;EACE,6BAA6B;AAC/B;AACA;EACE,4BAA4B;EAC5B,gBAAgB;AAClB;AACA;EACE,4BAA4B;AAC9B;AACA;;;EAGE,eAAe;AACjB;AACA;;;EAGE,gBAAgB;AAClB;AACA;EACE,WAAW;EACX,eAAe;AACjB;AACA;EACE,aAAa;EACb,cAAc;EACd,eAAe;AACjB;AACA;EACE,qBAAqB;EACrB,cAAc;EACd,0BAA0B;EAC1B,YAAY;EACZ,iBAAiB;EACjB,kBAAkB;EAClB,sBAAsB;EACtB,6BAA6B;AAC/B;AACA;;;EAGE,eAAe;AACjB;AACA;;;EAGE,sBAAsB;AACxB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,cAAc;AAChB;AACA;EACE,WAAW;AACb;AACA;EACE,mBAAmB;AACrB;AACA;EACE,cAAc;EACd,mBAAmB;EACnB,eAAe;AACjB;AACA;EACE,mBAAmB;AACrB;AACA;;EAEE,cAAc;AAChB;AACA;;EAEE,eAAe;EACf,kBAAkB;AACpB;AACA;;EAEE,WAAW;EACX,eAAe;AACjB\",\"file\":\"Datepicker.vue\",\"sourcesContent\":[\".rtl {\\n direction: rtl;\\n}\\n.vdp-datepicker {\\n position: relative;\\n text-align: left;\\n}\\n.vdp-datepicker * {\\n box-sizing: border-box;\\n}\\n.vdp-datepicker__calendar {\\n position: absolute;\\n z-index: 100;\\n background: #fff;\\n width: 300px;\\n border: 1px solid #ccc;\\n}\\n.vdp-datepicker__calendar header {\\n display: block;\\n line-height: 40px;\\n}\\n.vdp-datepicker__calendar header span {\\n display: inline-block;\\n text-align: center;\\n width: 71.42857142857143%;\\n float: left;\\n}\\n.vdp-datepicker__calendar header .prev,\\n.vdp-datepicker__calendar header .next {\\n width: 14.285714285714286%;\\n float: left;\\n text-indent: -10000px;\\n position: relative;\\n}\\n.vdp-datepicker__calendar header .prev:after,\\n.vdp-datepicker__calendar header .next:after {\\n content: '';\\n position: absolute;\\n left: 50%;\\n top: 50%;\\n transform: translateX(-50%) translateY(-50%);\\n border: 6px solid transparent;\\n}\\n.vdp-datepicker__calendar header .prev:after {\\n border-right: 10px solid #000;\\n margin-left: -5px;\\n}\\n.vdp-datepicker__calendar header .prev.disabled:after {\\n border-right: 10px solid #ddd;\\n}\\n.vdp-datepicker__calendar header .next:after {\\n border-left: 10px solid #000;\\n margin-left: 5px;\\n}\\n.vdp-datepicker__calendar header .next.disabled:after {\\n border-left: 10px solid #ddd;\\n}\\n.vdp-datepicker__calendar header .prev:not(.disabled),\\n.vdp-datepicker__calendar header .next:not(.disabled),\\n.vdp-datepicker__calendar header .up:not(.disabled) {\\n cursor: pointer;\\n}\\n.vdp-datepicker__calendar header .prev:not(.disabled):hover,\\n.vdp-datepicker__calendar header .next:not(.disabled):hover,\\n.vdp-datepicker__calendar header .up:not(.disabled):hover {\\n background: #eee;\\n}\\n.vdp-datepicker__calendar .disabled {\\n color: #ddd;\\n cursor: default;\\n}\\n.vdp-datepicker__calendar .flex-rtl {\\n display: flex;\\n width: inherit;\\n flex-wrap: wrap;\\n}\\n.vdp-datepicker__calendar .cell {\\n display: inline-block;\\n padding: 0 5px;\\n width: 14.285714285714286%;\\n height: 40px;\\n line-height: 40px;\\n text-align: center;\\n vertical-align: middle;\\n border: 1px solid transparent;\\n}\\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).day,\\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).month,\\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).year {\\n cursor: pointer;\\n}\\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).day:hover,\\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).month:hover,\\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).year:hover {\\n border: 1px solid #4bd;\\n}\\n.vdp-datepicker__calendar .cell.selected {\\n background: #4bd;\\n}\\n.vdp-datepicker__calendar .cell.selected:hover {\\n background: #4bd;\\n}\\n.vdp-datepicker__calendar .cell.selected.highlighted {\\n background: #4bd;\\n}\\n.vdp-datepicker__calendar .cell.highlighted {\\n background: #cae5ed;\\n}\\n.vdp-datepicker__calendar .cell.highlighted.disabled {\\n color: #a3a3a3;\\n}\\n.vdp-datepicker__calendar .cell.grey {\\n color: #888;\\n}\\n.vdp-datepicker__calendar .cell.grey:hover {\\n background: inherit;\\n}\\n.vdp-datepicker__calendar .cell.day-header {\\n font-size: 75%;\\n white-space: nowrap;\\n cursor: inherit;\\n}\\n.vdp-datepicker__calendar .cell.day-header:hover {\\n background: inherit;\\n}\\n.vdp-datepicker__calendar .month,\\n.vdp-datepicker__calendar .year {\\n width: 33.333%;\\n}\\n.vdp-datepicker__clear-button,\\n.vdp-datepicker__calendar-button {\\n cursor: pointer;\\n font-style: normal;\\n}\\n.vdp-datepicker__clear-button.disabled,\\n.vdp-datepicker__calendar-button.disabled {\\n color: #999;\\n cursor: default;\\n}\\n\"]}, media: undefined });\n\n };\n /* scoped */\n const __vue_scope_id__$4 = undefined;\n /* module identifier */\n const __vue_module_identifier__$4 = undefined;\n /* functional template */\n const __vue_is_functional_template__$4 = false;\n /* style inject SSR */\n \n\n \n var Datepicker = normalizeComponent_1(\n { render: __vue_render__$4, staticRenderFns: __vue_staticRenderFns__$4 },\n __vue_inject_styles__$4,\n __vue_script__$4,\n __vue_scope_id__$4,\n __vue_is_functional_template__$4,\n __vue_module_identifier__$4,\n browser,\n undefined\n );\n\nexport default Datepicker;\n","export interface IDateRange {\r\n Start: Date;\r\n End: Date;\r\n}\r\nexport class DateRange implements IDateRange {\r\n public Start: Date;\r\n public End: Date;\r\n constructor(start: Date = null, end: Date = null) {\r\n this.Start = start;\r\n this.End = end;\r\n }\r\n}\r\n","\r\nexport function getEarliestDate(...dates: Date[]) {\r\n return new Date(Math.min.apply(null, dates));\r\n}\r\n\r\nexport function getLatestDate(...dates: Date[]) { \r\n return new Date(Math.max.apply(null, dates));\r\n}\r\nexport function dateWithoutTime(date: Date): Date {\r\n return new Date(date);\r\n}","import * as moment from \"moment-recent\";\r\nimport { IContractViewModel, IProductViewModel, IProductAvailabilityViewModel } from \"@/Scripts/inpulse/I4UViewModels\";\r\nimport { ContractReasonEnum, CustomerTypeEnum, RuleEnum, RuleTypeEnum } from \"@/Scripts/inpulse/CommonEnums\";\r\nimport { DateRange } from \"@/Areas/NewContract/Scripts/Default/Models/new-contract-models\";\r\nimport { IContractSettings } from \"./new-contract-vuex-store\";\r\nimport { getEarliestDate, getLatestDate, dateWithoutTime } from \"@/Scripts/inpulse/utils/date-time-utils\";\r\n\r\n// moving some methods from (te) vue components here, instead of duplicating in several components...\r\n\r\nclass NewContractVueHelper {\r\n\r\n private contractSettings: IContractSettings;\r\n public contractReasonMinDates: Map> = new Map();\r\n\r\n constructor(contractSettings: IContractSettings = null) {\r\n this.contractSettings = contractSettings;\r\n this.contractReasonMinDates = this.getContractReasonMinDates();\r\n }\r\n\r\n private getContractReasonMinDates(): Map> {\r\n return new Map([\r\n [ContractReasonEnum.PRODUCTCHANGE_DH, new Map([\r\n [CustomerTypeEnum.CONSUMER, dateWithoutTime(new Date().addDays(this.contractSettings.ProductChangeMinDates))],\r\n [CustomerTypeEnum.COMPANY, dateWithoutTime(new Date().addDays(this.contractSettings.ProductChangeMinDatesCompany))]\r\n ])],\r\n [ContractReasonEnum.SUPPLIERCHANGE_DH, new Map([\r\n [CustomerTypeEnum.CONSUMER, dateWithoutTime(new Date().addDays(this.contractSettings.SupplierChangeMinDates))],\r\n [CustomerTypeEnum.COMPANY, dateWithoutTime(new Date().addDays(this.contractSettings.SupplierChangeMinDatesCompany))]\r\n ])],\r\n [ContractReasonEnum.MOVEIN_DH, new Map([\r\n [CustomerTypeEnum.CONSUMER, dateWithoutTime(new Date().addDays(this.contractSettings.MovingMinDates))],\r\n [CustomerTypeEnum.COMPANY, dateWithoutTime(new Date().addDays(this.contractSettings.MovingMinDatesCompany))]\r\n ])],\r\n ]);\r\n }\r\n\r\n getDisabledContractReasons(productDateRange: DateRange, customerType: CustomerTypeEnum): Map {\r\n return new Map([\r\n [ContractReasonEnum.PRODUCTCHANGE_DH, this.isContractReasonDisabled(productDateRange, ContractReasonEnum.PRODUCTCHANGE_DH, customerType)],\r\n [ContractReasonEnum.SUPPLIERCHANGE_DH, this.isContractReasonDisabled(productDateRange, ContractReasonEnum.SUPPLIERCHANGE_DH, customerType)],\r\n [ContractReasonEnum.MOVEIN_DH, this.isContractReasonDisabled(productDateRange, ContractReasonEnum.MOVEIN_DH, customerType)]\r\n ]);\r\n }\r\n\r\n isContractReasonDisabled(productDateRange: DateRange, contractReason: ContractReasonEnum, customerType: CustomerTypeEnum): boolean {\r\n return productDateRange.End != null && this.getContractReasonMinDate(contractReason, customerType) > productDateRange.End\r\n }\r\n\r\n getContractReasonMinDate(contractReason: ContractReasonEnum, customerType: CustomerTypeEnum): Date {\r\n return this.contractReasonMinDates?.get(contractReason)?.get(customerType) ?? new Date();\r\n }\r\n\r\n productHasDateRange(product: IProductViewModel): boolean {\r\n return this.contractSettings.FeatureAdjustProductTimePeriodEnabled\r\n && product?.ProductAvailabilities != null\r\n && product?.ProductAvailabilities.some(pa => pa.RuleType == RuleTypeEnum.ABSOLUTEDAYS || pa.RuleType == RuleTypeEnum.RELATIVEDAYS);\r\n }\r\n\r\n getProductDateRange(product: IProductViewModel): DateRange {\r\n let dateRange = new DateRange();\r\n if (!this.productHasDateRange(product)) {\r\n return dateRange;\r\n }\r\n\r\n const absolutePeriod: IProductAvailabilityViewModel[] = product.ProductAvailabilities?.filter(pa => pa.RuleType == RuleTypeEnum.ABSOLUTEDAYS) ?? [];\r\n const relativePeriod: IProductAvailabilityViewModel[] = product.ProductAvailabilities?.filter(pa => pa.RuleType == RuleTypeEnum.RELATIVEDAYS) ?? [];\r\n const period = absolutePeriod.length > 0 ? absolutePeriod : relativePeriod;\r\n if (period.length > 2 || period.find(pa => pa.Rule != RuleEnum.LESSER && pa.Rule != RuleEnum.GREATER) != undefined) {\r\n console.error(`Invalid product date ranges in availabilities ${period}`);\r\n return dateRange\r\n }\r\n\r\n period.forEach((pa: IProductAvailabilityViewModel) => {\r\n const key: string = pa.Rule == RuleEnum.GREATER ? \"Start\" : \"End\"\r\n if (pa.RuleType == RuleTypeEnum.ABSOLUTEDAYS && pa.RuleValue != null) {\r\n dateRange[key] = new Date(pa.RuleValue * 1000);\r\n }\r\n else if (pa.RuleType == RuleTypeEnum.RELATIVEDAYS && pa.RuleValue != null) {\r\n dateRange[key] = new Date().addDays(pa.RuleValue);\r\n }\r\n });\r\n if (dateRange.Start === null) {\r\n dateRange.Start = dateWithoutTime(new Date());\r\n }\r\n\r\n return dateRange;\r\n }\r\n\r\n startDateMin(contract: IContractViewModel, contractSettings: IContractSettings): string {\r\n // This logic is copied from old newcontract script (newContract-common.js), added with some logic that handles weirdnes of Uiv's date picker limit.\r\n let min = moment();\r\n\r\n let movingMinDates = contractSettings.MovingMinDates;\r\n if (contract.CustomerType == CustomerTypeEnum.COMPANY && contractSettings.MovingMinDatesCompany != null)\r\n movingMinDates = contractSettings.MovingMinDatesCompany;\r\n\r\n let supplierChangeMinDates = contractSettings.SupplierChangeMinDates;\r\n if (contract.CustomerType == CustomerTypeEnum.COMPANY && contractSettings.SupplierChangeMinDatesCompany != null)\r\n supplierChangeMinDates = contractSettings.SupplierChangeMinDatesCompany;\r\n\r\n let productChangeMinDates = contractSettings.ProductChangeMinDates;\r\n if (contract.CustomerType == CustomerTypeEnum.COMPANY && contractSettings.ProductChangeMinDatesCompany != null)\r\n productChangeMinDates = contractSettings.ProductChangeMinDatesCompany;\r\n\r\n let days = movingMinDates;\r\n\r\n // If supplier change or product change, then SupplierChangeMinDates is used.\r\n let contractReason = contract.ContractReason;\r\n if (contractReason == ContractReasonEnum.PRODUCTCHANGE_DH) {\r\n days = productChangeMinDates;\r\n }\r\n else if (contractReason == ContractReasonEnum.SUPPLIERCHANGE_DH || contractReason == ContractReasonEnum.NOTKNOWN) {\r\n days = supplierChangeMinDates;\r\n }\r\n\r\n // Add days to current date.\r\n min.add(days, \"d\");\r\n\r\n // This crap is for UIV's date picker limit handling.\r\n let minStr = min.format(\"DD.MM.YYYY\") + \" 00:00:00 GMT\";\r\n return minStr;\r\n }\r\n\r\n getYear(date: Date): number {\r\n let m = moment(date, \"DD.MM.YYYY\");\r\n let year = m.format('YYYY');\r\n let yy = parseInt(year);\r\n return yy\r\n }\r\n\r\n getMonth(date: Date): number {\r\n let m = moment(date, \"DD.MM.YYYY\");\r\n let month = m.format('M');\r\n let mm = parseInt(month) - 1;\r\n return mm\r\n }\r\n\r\n getDay(date: Date): number {\r\n let m = moment(date, \"DD.MM.YYYY\");\r\n let day = m.format('DD');\r\n let dd = parseInt(day);\r\n return dd\r\n }\r\n\r\n getDate(date: Date): Date {\r\n return new Date(this.getYear(date), this.getMonth(date), this.getDay(date));\r\n }\r\n\r\n // returns true for dates to disable\r\n // date: The date as a Date object\r\n // weekDaysToDisable ex. [0,6], to disable weekends\r\n // datesToDisable - list of dates in D.M.YYYY format\r\n disableDates(date: Date, weekDaysToDisable: number[], datesToDisable: string[]): boolean { \r\n let momentDate = moment(date, \"DD.MM.YYYY\").format(\"D.M.YYYY\");\r\n if (weekDaysToDisable.indexOf(date.getDay()) !== -1)\r\n return true;\r\n if (datesToDisable !== null)\r\n return datesToDisable.indexOf(momentDate) !== -1;\r\n }\r\n}\r\n\r\nexport {\r\n NewContractVueHelper\r\n};","import Vue from \"vue\";\r\nimport { Component, Prop, Emit, Watch } from \"vue-property-decorator\";\r\nimport ValidatedFormGroup from \"../common/validated-form-group.vue\";\r\nimport StreetAutocomplete from \"../../../../../Scripts/vue-components/bootstrap-components/street-autocomplete.vue\";\r\nimport PostalAutocomplete from \"../../../../../Scripts/vue-components/bootstrap-components/postal-autocomplete.vue\";\r\nimport { ProcessTypeEnum, ContractReasonEnum, CustomerTypeEnum, InvoicingMethodEnum } from \"../../../../../Scripts/inpulse/CommonEnums\";\r\nimport { INewContractState, IContractSettings, IEnvironmentSettings } from \"../../new-contract-vuex-store\";\r\nimport { IMeteringPointViewModel, IContractViewModel, ICustomerViewModel, ICompanyViewModel } from \"../../../../../Scripts/inpulse/I4UViewModels\";\r\nimport { ObjectUtils } from \"../common/utils\";\r\nimport { ValidationErrors } from \"../../new-contract-vue\";\r\nimport { SectionChecker } from \"../common/section\";\r\nimport Datepicker from \"vuejs-datepicker\";\r\nimport { fi, sv } from 'vuejs-datepicker/dist/locale'\r\nimport { library } from '@fortawesome/fontawesome-svg-core'\r\nimport { faQuestionCircle, faExclamationCircle } from '@fortawesome/free-solid-svg-icons'\r\nimport { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'\r\nimport VueI18n from 'vue-i18n'\r\nVue.use(VueI18n);\r\nlibrary.add(faQuestionCircle)\r\nlibrary.add(faExclamationCircle)\r\n\r\nVue.component('font-awesome-icon', FontAwesomeIcon)\r\nimport * as moment from \"moment-recent\";\r\nimport { NewContractVueHelper } from \"../../new-contract-vue-helper\";\r\n\r\nclass Checker extends SectionChecker {\r\n constructor() {\r\n super();\r\n this.properties = [\r\n (contract: IContractViewModel) => contract.MeteringPoint.Address.Zip,\r\n (contract: IContractViewModel) => contract.MeteringPoint.Address.Street,\r\n (contract: IContractViewModel) => contract.StartDate,\r\n (contract: IContractViewModel) => contract.ContractReason,\r\n ];\r\n this.validationIds = [\"MPZip\", \"MPStreet\", \"Street\", \"Zip\", \"CompanyStreet\", \"CompanyZip\", \"StartDate\", \"ContractReason\", \"isSafeToConnect\", \"InvoicingGroup\", \"InvoicingStreet\", \"InvoicingZip\", \"InvoicingNetworkAddress\", \"InvoicingOperator\"];\r\n }\r\n}\r\nexport let MeteringPointInformationChecker = new Checker();\r\n\r\ndeclare var currentLocale: string;\r\nconst i18n = new VueI18n({\r\n locale: currentLocale,\r\n fallbackRoot: true,\r\n silentTranslationWarn: true\r\n});\r\n\r\n@Component({\r\n components: {\r\n ValidatedFormGroup,\r\n StreetAutocomplete,\r\n PostalAutocomplete,\r\n Datepicker,\r\n },\r\n i18n,\r\n filters: {\r\n date(value) {\r\n let m = moment(value);\r\n if (m.isValid())\r\n return m.format(\"DD.MM.YYYY\");\r\n return value;\r\n }\r\n },\r\n computed: {\r\n disabledDates: function () {\r\n return {\r\n to: new Date(this.getYear(), this.getMonth(), this.getDay()),\r\n from: new Date(this.startDateMax()),\r\n days: [6, 0],\r\n dates: this.holidays.map(x => this.parseDate(moment(x, \"DD.MM.YYYY\")))\r\n }\r\n },\r\n datePickerlanguage: function () {\r\n if (currentLocale === \"fi\") {\r\n return fi;\r\n }\r\n else if (currentLocale === \"sv\") {\r\n return sv;\r\n }\r\n }\r\n },\r\n})\r\n\r\nexport default class MeteringPointInformation extends Vue {\r\n get contractSettings(): IContractSettings { return this.$store.state.contractSettings; }\r\n get environmentSettings(): IEnvironmentSettings { return this.$store.state.environmentSettings; }\r\n get holidays() { return this.$store.state.holidays; }\r\n get contract(): IContractViewModel { return this.$store.state.contract; }\r\n get meteringPoint(): IMeteringPointViewModel { return this.$store.state.contract.MeteringPoint; }\r\n get customerContracts(): IContractViewModel[] { return this.$store.state.contract.CustomerContracts; }\r\n get customer(): ICustomerViewModel { return this.contract.Customer; }\r\n get company(): ICompanyViewModel { return this.contract.Company; }\r\n get mpStreet(): string { return this.contract.MeteringPoint.Address.Street; }\r\n get customerStreet(): string { return this.customer ? this.customer.Address.Street : \"\"; }\r\n get customerZip(): string { return this.customer ? this.customer.Address.Zip : \"\"; }\r\n get companyStreet(): string { return this.company ? this.company.Address.Street : \"\"; }\r\n get companyZip(): string { return this.company ? this.company.Address.Zip : \"\"; }\r\n get isInvoicingMethodsInUse(): boolean { return this.contractSettings.InvoicingMethodsInUse; }\r\n get postal(): string { return this.$store.state.contract.MeteringPoint.Address.Zip; }\r\n get invoicingStreet(): string { return this.contract && this.contract.InvoicingAddress && this.contract.InvoicingAddress.Address ? this.contract.InvoicingAddress.Address.Street : \"\"; }\r\n get invoicingZip(): string { return this.contract && this.contract.InvoicingAddress && this.contract.InvoicingAddress.Address ? this.contract.InvoicingAddress.Address.Zip : \"\"; }\r\n get availableLanguages(): string[] { return this.contractSettings.AvailableLanguages }\r\n get isItellaAddressDatasConverted(): boolean { return this.contract.MeteringPoint.IsItellaAddressDatasConverted }\r\n get meteringPointCode(): string { return this.contract.MeteringPoint.MeteringPointCode; } set meteringPointCode(value: string) { this.contract.MeteringPoint.MeteringPointCode = value; }\r\n get gsrnCode(): string { return this.contract.MeteringPoint.GsrnCode; } set gsrnCode(value: string) { this.contract.MeteringPoint.GsrnCode = value; }\r\n get disableMeteringPointcodeField(): boolean { return this.disabledGsrnCodeField }\r\n get contractReasonMoveIn(): ContractReasonEnum { return ContractReasonEnum.MOVEIN_DH }\r\n get contractReasonSupplierChange(): ContractReasonEnum { return ContractReasonEnum.SUPPLIERCHANGE_DH }\r\n get contractReasonContractChange(): ContractReasonEnum { return ContractReasonEnum.PRODUCTCHANGE_DH }\r\n\r\n @Prop()\r\n public validationErrors: any;\r\n\r\n ProcessTypeEnum: typeof ProcessTypeEnum = ProcessTypeEnum;\r\n ContractReasonEnum: typeof ContractReasonEnum = ContractReasonEnum;\r\n CustomerTypeEnum: typeof CustomerTypeEnum = CustomerTypeEnum;\r\n InvoicingMethodEnum: typeof InvoicingMethodEnum = InvoicingMethodEnum;\r\n\r\n startDate = this.contract.StartDate;\r\n postalStr: string;\r\n\r\n @Watch(\"startDate\")\r\n startDateChanged(v1, v2) {\r\n this.$store.dispatch(\"changeValue\", { key: \"StartDate\", value: moment(String(this.startDate)).format('DD.MM.YYYY') });\r\n }\r\n\r\n mpStreetStr: string;\r\n\r\n customerZipStr: string;\r\n customerStreetStr: string;\r\n\r\n companyZipStr: string;\r\n companyStreetStr: string;\r\n\r\n invoicingStreetStr: string;\r\n invoicingZipStr: string;\r\n\r\n mpStreetLocale: string = null;\r\n mpZipLocale: string = null;\r\n\r\n customerStreetLocale: string = null;\r\n customerZipLocale: string = null;\r\n\r\n companyZipLocale: string = null;\r\n companyStreetLocale: string = null;\r\n\r\n invoicingStreetLocale: string = null;\r\n invoicingZipLocale: string = null;\r\n\r\n newContractHelper: NewContractVueHelper;\r\n\r\n showGSRNloading: boolean = false;\r\n disabledMeteringpointStreetAutoComplete: boolean = false;\r\n disabledMeteringpointPostalCodeAutoComplete: boolean = false;\r\n disabledGsrnCodeField: boolean = false;\r\n\r\n constructor() {\r\n super();\r\n this.mpStreetStr = this.mpStreet;\r\n this.customerStreetStr = this.customerStreet;\r\n this.customerZipStr = this.customerZip;\r\n this.companyStreetStr = this.companyStreet;\r\n this.companyZipStr = this.companyZip;\r\n this.postalStr = this.postal;\r\n this.invoicingStreetStr = this.invoicingStreet;\r\n this.invoicingZipStr = this.invoicingZip;\r\n this.newContractHelper = new NewContractVueHelper(this.contractSettings);\r\n }\r\n\r\n @Watch(\"gsrnCode\")\r\n gsrnCodeChanged() {\r\n if (this.environmentSettings.DatahubMeteringPointRestApiVersion == 2) {\r\n this.disabledMeteringpointStreetAutoComplete = false;\r\n this.disabledMeteringpointPostalCodeAutoComplete = false;\r\n this.$store.dispatch(\"changeValue\", { key: \"GsrnCode\", value: this.gsrnCode })\r\n .then(() => {\r\n this.showGSRNloading = true;\r\n this.$store.dispatch(\"checkMeteringPointAndContractV2\").then(() => {\r\n this.showGSRNloading = false;\r\n });\r\n });\r\n }\r\n }\r\n\r\n @Watch(\"mpStreet\")\r\n keepMpSync() {\r\n this.mpStreetStr = this.mpStreet;\r\n console.log(\"mpStreet: \" + this.mpStreet);\r\n }\r\n\r\n @Watch(\"customerStreet\")\r\n keepCusSync() {\r\n this.customerStreetStr = this.customerStreet;\r\n }\r\n\r\n @Watch(\"companyStreet\")\r\n keepComSync() {\r\n this.companyStreetStr = this.companyStreet;\r\n }\r\n\r\n @Watch(\"invoicingStreet\")\r\n keepinvoicingSync() {\r\n this.invoicingStreetStr = this.invoicingStreet;\r\n }\r\n\r\n @Watch(\"invoicingZip\")\r\n keepinvoicingZipSync() {\r\n this.invoicingZipStr = this.invoicingZip;\r\n }\r\n\r\n @Watch(\"postal\")\r\n keepSync() {\r\n this.postalStr = this.postal;\r\n }\r\n\r\n afterEnter_mp(el) {\r\n $(\"#meteringpointStreetStr_field input\").removeAttr(\"aria-controls\");\r\n $(\"#meteringpointPostalCodeStr_field input\").removeAttr(\"aria-controls\");\r\n }\r\n afterEnter_inv(el) {\r\n $(\"#invoicingStreetStr_field input\").removeAttr(\"aria-controls\");\r\n $(\"#invoicingPostalCodeStr_field input\").removeAttr(\"aria-controls\");\r\n }\r\n get isMoveOut() {\r\n return this.contract.ProcessType == ProcessTypeEnum.MOVEOUT;\r\n }\r\n\r\n get startDateMin(): string {\r\n // This logic is copied from old newcontract script (newContract-common.js), added with some logic that handles weirdnes of Uiv's date picker limit.\r\n let min = moment();\r\n\r\n let movingMinDates = this.contractSettings.MovingMinDates;\r\n if (this.contract.CustomerType == CustomerTypeEnum.COMPANY && this.contractSettings.MovingMinDatesCompany != null)\r\n movingMinDates = this.contractSettings.MovingMinDatesCompany;\r\n\r\n let supplierChangeMinDates = this.contractSettings.SupplierChangeMinDates;\r\n if (this.contract.CustomerType == CustomerTypeEnum.COMPANY && this.contractSettings.SupplierChangeMinDatesCompany != null)\r\n supplierChangeMinDates = this.contractSettings.SupplierChangeMinDatesCompany;\r\n\r\n let days = movingMinDates;\r\n\r\n // If supplier change or product change, then SupplierChangeMinDates is used.\r\n let contractReason = this.contract.ContractReason;\r\n if (contractReason == ContractReasonEnum.SUPPLIERCHANGE || contractReason == ContractReasonEnum.PRODUCTCHANGE || contractReason == ContractReasonEnum.NOTKNOWN\r\n || contractReason == ContractReasonEnum.SUPPLIERCHANGE_DH) {\r\n let utcNow = moment.utc();\r\n let d = moment.utc(\"2022-02-28 22:00:00.000\");//01.03\r\n if (utcNow < d) {\r\n min = moment.utc(\"2022-02-21 22:00:00.000\").local();\r\n supplierChangeMinDates = supplierChangeMinDates + 6; \r\n } \r\n days = supplierChangeMinDates;\r\n }\r\n\r\n // Add days to current date.\r\n min.add(days, \"d\");\r\n\r\n // This crap is for UIV's date picker limit handling.\r\n let minStr = min.format(\"DD.MM.YYYY\") + \" 00:00:00 GMT\";\r\n return minStr;\r\n }\r\n\r\n startDateMax() {\r\n let max = moment();\r\n max.add(\"d\", 90);\r\n return this.parseDate(max);\r\n }\r\n\r\n get hasConsumerEInvoiceContract(): boolean {\r\n if (this.contract != null && this.contract.CustomerContracts) {\r\n for (let cisContract of this.contract.CustomerContracts) {\r\n if (cisContract.InvoicingMethod == InvoicingMethodEnum.ConsumerEInvoice) return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n get invoicingMethodELaskuStr(): string {\r\n if (this.hasConsumerEInvoiceContract) {\r\n if (currentLocale.startsWith(\"fi\")) {\r\n return \"Sinulla on käytössä pankin e-laskutus. Et voi valita toista laskutustapaa ennen kun olet peruuttanut e-laskutuksen pankista.\";\r\n }\r\n else if (currentLocale.startsWith(\"sv\")) {\r\n return \"Du har aktiverat e-fakturering via bank. Du kan inte välja någon annan faktureringsmetod förrän du har annullerat din e-fakturering från din bank.\";\r\n }\r\n \r\n }\r\n return \"\";\r\n }\r\n\r\n get invoicingMethodELaskuStrDisabled(): string {\r\n if (!this.hasConsumerEInvoiceContract) {\r\n if (currentLocale.startsWith(\"fi\")) {\r\n return \"E-laskun voit tilata omasta verkkopankistasi saatuasi ensimmäisen laskun.\";\r\n }\r\n else if (currentLocale.startsWith(\"sv\")) {\r\n return \"Du kan beställa en e-faktura från din egen nätbank efter att ha fått den första fakturan.\";\r\n } \r\n }\r\n return \"\";\r\n }\r\n\r\n get tooltipStyle(): any {\r\n if (this.isItellaAddressDatasConverted) {\r\n return { color: 'red' };\r\n }\r\n return { color: 'white' };\r\n }\r\n\r\n contractReasonChanged() {\r\n console.log(\"Contract reason changed!\");\r\n this.getYear();\r\n this.getMonth();\r\n this.getDay();\r\n\r\n if (this.contract.StartDate != null) {\r\n let m = moment(this.contract.StartDate);\r\n let min = moment(this.startDateMin, \"DD.MM.YYYY\");\r\n if (m.isBefore(min)) {\r\n let newDate = min.format(\"DD.MM.YYYY\");\r\n this.$store.dispatch(\"changeValue\", { key: \"StartDate\", value: newDate });\r\n this.startDate = min.toDate();\r\n }\r\n }\r\n if (this.contract.ContractReason == this.contractReasonSupplierChange) {\r\n this.$store.dispatch(\"changeValue\", { key: \"isSafeToConnect\", value: 0 });\r\n }\r\n }\r\n\r\n invoicingMethodChanged() {\r\n console.log(\"Invoicing method changed!\");\r\n if ((this.contract.InvoicingMethod == InvoicingMethodEnum.Email) && (this.contract.DeliveryEmail == null || this.contract.DeliveryEmail.length == 0)) {\r\n this.contract.DeliveryEmail = (this.contract.CustomerType != CustomerTypeEnum.COMPANY) ? this.customer.Email : this.company.Email;\r\n this.$store.dispatch(\"changeValue\", { key: \"DeliveryEmail\", value: this.contract.DeliveryEmail });\r\n }\r\n }\r\n getYear() {\r\n let m = moment(this.startDateMin, \"DD.MM.YYYY\"); \r\n let year = m.format('YYYY');\r\n let yy = parseInt(year);\r\n return yy\r\n }\r\n getMonth() {\r\n let m = moment(this.startDateMin, \"DD.MM.YYYY\");\r\n let month = m.format('M');\r\n let mm = parseInt(month) - 1;\r\n return mm\r\n }\r\n getDay() {\r\n let m = moment(this.startDateMin, \"DD.MM.YYYY\");\r\n let day = m.format('DD');\r\n let dd = parseInt(day);\r\n return dd\r\n }\r\n parseDate(date) {\r\n let d = moment(date, \"DD.MM.YYYY\");\r\n let year = parseInt(d.format(\"YYYY\"));\r\n let month = parseInt(d.format(\"M\")) - 1;\r\n let day = parseInt(d.format(\"DD\"));\r\n return new Date(year, month, day);\r\n }\r\n\r\n data() {\r\n return {\r\n selected: 'ei',\r\n options: [\r\n { text: this.$t('Kyllä'), value: 'kylla' },\r\n { text: this.$t('Ei'), value: 'ei' }\r\n ],\r\n DatePickerFormat: \"dd.MM.yyyy\"\r\n };\r\n }\r\n\r\n meteringPointPostalSelected(postCode: string, locale: string) {\r\n this.postalStr = postCode;\r\n this.mpZipLocale = locale;\r\n this.$store.dispatch(\"changeValue\", { key: \"MPZip\", value: postCode, locale: locale })\r\n .then(() => { this.$store.dispatch(\"checkMeteringPointAndContract\"); });\r\n }\r\n\r\n meteringPointStreetSelected(street: string, locale: string) {\r\n this.mpStreetStr = street;\r\n this.mpStreetLocale = locale;\r\n this.$store.dispatch(\"changeValue\", { key: \"MPStreet\", value: street, locale: locale })\r\n .then(() => { this.$store.dispatch(\"checkMeteringPointAndContract\"); });\r\n }\r\n\r\n customerPostalSelected(postCode: string, locale: string) {\r\n this.customerZipStr = postCode;\r\n this.customerZipLocale = locale;\r\n this.$store.dispatch(\"changeValue\", { key: \"Zip\", value: postCode, locale: locale });\r\n }\r\n\r\n customerStreetSelected(street: string, locale: string) {\r\n this.customerStreetStr = street;\r\n this.customerStreetLocale = locale;\r\n this.$store.dispatch(\"changeValue\", { key: \"Street\", value: street, locale: locale });\r\n }\r\n\r\n companyPostalSelected(postCode: string, locale: string) {\r\n this.companyZipStr = postCode;\r\n this.companyZipLocale = locale;\r\n this.$store.dispatch(\"changeValue\", { key: \"CompanyZip\", value: postCode, locale: locale });\r\n }\r\n\r\n companyStreetSelected(street: string, locale: string) {\r\n this.companyStreetStr = street;\r\n this.companyStreetLocale = locale;\r\n this.$store.dispatch(\"changeValue\", { key: \"CompanyStreet\", value: street, locale: locale });\r\n }\r\n\r\n invoicingPostalSelected(postCode: string, locale: string) {\r\n this.invoicingZipStr = postCode;\r\n this.invoicingZipLocale = locale;\r\n this.$store.dispatch(\"changeValue\", { key: \"InvoicingZipCompany\", value: postCode, locale: locale });\r\n }\r\n\r\n invoicingStreetSelected(street: string, locale: string) {\r\n this.invoicingStreetStr = street;\r\n this.invoicingStreetLocale = locale;\r\n this.$store.dispatch(\"changeValue\", { key: \"InvoicingStreetCompany\", value: street, locale: locale });\r\n }\r\n\r\n mounted() {\r\n this.startDateChanged(null, null); // trigger startDate change event when initially loading component, so that date is set with time at 00:00 utc\r\n\r\n $(\"#mpinformation_mpstreet_field input\").removeAttr(\"aria-controls\");\r\n $(\"#mpinformation_postalcode_field input\").removeAttr(\"aria-controls\");\r\n $(\"#startdate-datepicker\").attr(\"aria-label\", \"Sopimuksen toivottu alkamispäivämäärä\");\r\n $(\"#meteringpointStreetStr_field input\").removeAttr(\"aria-controls\");\r\n $(\"#meteringpointPostalCodeStr_field input\").removeAttr(\"aria-controls\");\r\n $(\"#invoicingStreetStr_field input\").removeAttr(\"aria-controls\");\r\n $(\"#invoicingPostalCodeStr_field input\").removeAttr(\"aria-controls\");\r\n }\r\n\r\n}","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./metering-point-information.ts?vue&type=script&lang=js&external\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./metering-point-information.ts?vue&type=script&lang=js&external\"","import mod from \"-!../../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./metering-point-information-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Cmetering-point-information.vue&external\"; export default mod; export * from \"-!../../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./metering-point-information-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Cmetering-point-information.vue&external\"","import { render, staticRenderFns } from \"./metering-point-information.vue?vue&type=template&id=77b223c0\"\nimport script from \"./metering-point-information.ts?vue&type=script&lang=js&external\"\nexport * from \"./metering-point-information.ts?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./Locales/metering-point-information-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Cmetering-point-information.vue&external\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"row\" },\n [\n _c(\n \"b-col\",\n { attrs: { sm: \"12\", md: \"6\" } },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"2\",\n \"label-align-md\": \"right\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Käyttöpaikan osoite\"))),\n ]),\n _vm._v(\" \" + _vm._s(_vm.addressString) + \"\\n \"),\n _c(\"font-awesome-icon\", {\n style: _vm.tooltipStyle,\n attrs: {\n icon: \"exclamation-circle\",\n id: \"tooltip-mp-street-d\",\n size: \"lg\",\n },\n }),\n _vm._v(\" \"),\n _vm.isItellaAddressDatasConverted\n ? _c(\n \"b-tooltip\",\n {\n attrs: {\n target: \"tooltip-mp-street-d\",\n variant: \"primary\",\n placement: \"right\",\n triggers: \"hover\",\n },\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.$t(\n \"Vaihdettu automaattisesti käyttöpaikan osoite.\"\n )\n ) +\n \"\\n \"\n ),\n ]\n )\n : _vm._e(),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"2\",\n \"label-align-md\": \"right\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Toivottu alkupäivä\"))),\n ]),\n _vm._v(\" \" + _vm._s(_vm._f(\"date\")(_vm.contract.StartDate))),\n ]\n ),\n _vm._v(\" \"),\n _vm.contract.IsCustomerAddressInUse\n ? _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"2\",\n \"label-align-md\": \"right\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Asiakkaan osoite\"))),\n ]),\n _vm._v(\" \"),\n _vm.contract.Customer.Address.COName\n ? _c(\"span\", [\n _vm._v(\n _vm._s(_vm.$t(\"c/o \")) +\n _vm._s(_vm.contract.Customer.Address.COName)\n ),\n _c(\"br\"),\n ])\n : _vm._e(),\n _vm._v(_vm._s(_vm.homeAddressString)),\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.isInvoicingMethodsInUse &&\n _vm.contract.IsInvoicingAddressInUse &&\n _vm.invoicingAddressString\n ? _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"2\",\n \"label-align-md\": \"right\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Laskutusosoite\"))),\n ]),\n _vm._v(\" \"),\n _vm.contract.InvoicingAddress.Address.COName\n ? _c(\"span\", [\n _vm._v(\n _vm._s(_vm.$t(\"c/o \")) +\n _vm._s(_vm.contract.InvoicingAddress.Address.COName)\n ),\n _c(\"br\"),\n ])\n : _vm._e(),\n _vm._v(\" \" + _vm._s(_vm.invoicingAddressString)),\n ]\n )\n : _vm._e(),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-col\",\n { attrs: { sm: \"12\", md: \"6\" } },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"8\",\n \"label-cols-lg\": \"2\",\n \"label-align-md\": \"right\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Käyttöpaikkatunnus\"))),\n ]),\n _vm._v(\" \"),\n _c(\"span\", [_vm._v(_vm._s(_vm.meteringPoint.GsrnCode))]),\n ]\n ),\n _vm._v(\" \"),\n _vm.isInvoicingMethodsInUse && _vm.contract.IsInvoicingAddressInUse\n ? _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"6\",\n \"label-cols-lg\": \"2\",\n \"label-align-md\": \"right\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Laskutustapa\"))),\n ]),\n _vm._v(\" \" + _vm._s(_vm.invoicingMethodString)),\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.contract.InvoicingMethod == _vm.InvoicingMethodEnum.Email\n ? _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"2\",\n \"label-cols-md\": \"\",\n label: \"\",\n \"label-class\": \"font-weight-bold pt-0\",\n \"label-align-md\": \"right\",\n },\n },\n [_vm._v(\" \" + _vm._s(_vm.contract.DeliveryEmail))]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.contract.InvoicingMethod ==\n _vm.InvoicingMethodEnum.CompanyEInvoice\n ? _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"6\",\n \"label-cols-lg\": \"2\",\n label: \"\",\n \"label-class\": \"font-weight-bold pt-0\",\n \"label-align-md\": \"right\",\n },\n },\n [_vm._v(\" \" + _vm._s(_vm.invoicingECompanyAddressString))]\n )\n : _vm._e(),\n ],\n 1\n ),\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","require(\"core-js/features/array/find\");\r\n\r\nimport Vue from \"vue\";\r\nimport { mapState } from \"vuex\";\r\nimport { Component, Prop, Emit, Watch } from \"vue-property-decorator\";\r\nimport { INewContractState, IContractSettings } from \"../../new-contract-vuex-store\";\r\nimport { ContactPersonUtils, AddressFormat, InvoicingMethodEnumDescription } from \"../common/utils\";\r\nimport FormGroupStatic from \"../phases/form-group-static.vue\";\r\nimport HorizontalFormGroup from \"../phases/horizontal-form-group.vue\";\r\nimport ContractPartnerCard from \"./components/contract-partner-card.vue\";\r\nimport { IMeteringPointViewModel, IContractViewModel, ICustomerViewModel, ICompanyViewModel } from \"../../../../../Scripts/inpulse/I4UViewModels\";\r\nimport { CustomerTypeEnum, InvoicingMethodEnum } from \"../../../../../Scripts/inpulse/CommonEnums\";\r\nimport { Styles } from \"@fortawesome/fontawesome-svg-core\";\r\nimport { library } from '@fortawesome/fontawesome-svg-core'\r\nimport { faQuestionCircle, faExclamationCircle } from '@fortawesome/free-solid-svg-icons'\r\nimport { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'\r\nimport VueI18n from 'vue-i18n'\r\nVue.use(VueI18n);\r\nlibrary.add(faQuestionCircle)\r\nlibrary.add(faExclamationCircle)\r\n\r\nVue.component('font-awesome-icon', FontAwesomeIcon)\r\n\r\n@Component({\r\n components: {\r\n FormGroupStatic,\r\n HorizontalFormGroup,\r\n ContractPartnerCard\r\n },\r\n filters: {\r\n date(value) {\r\n let m = moment(value);\r\n if (m.isValid())\r\n return m.format(\"DD.MM.YYYY\");\r\n return value;\r\n }\r\n }\r\n})\r\n\r\nexport default class MeteringPointInformationDisplay extends Vue {\r\n get contractSettings(): IContractSettings { return this.$store.state.contractSettings; }\r\n get contract(): IContractViewModel { return this.$store.state.contract; }\r\n get meteringPoint(): IMeteringPointViewModel { return this.contract.MeteringPoint; }\r\n get customer(): ICustomerViewModel { return this.contract.Customer; }\r\n get company(): ICompanyViewModel { return this.contract.Company; }\r\n get isInvoicingMethodsInUse(): boolean { return this.contractSettings.InvoicingMethodsInUse; }\r\n get isItellaAddressDatasConverted(): boolean { return this.contract.MeteringPoint.IsItellaAddressDatasConverted }\r\n get invoicingStreet(): string { return this.contract && this.contract.InvoicingAddress && this.contract.InvoicingAddress.Address ? this.contract.InvoicingAddress.Address.Street : \"\"; }\r\n\r\n AddressFormat: typeof AddressFormat = AddressFormat;\r\n CustomerTypeEnum: typeof CustomerTypeEnum = CustomerTypeEnum;\r\n InvoicingMethodEnum: typeof InvoicingMethodEnum = InvoicingMethodEnum;\r\n\r\n get addressString(): string {\r\n return AddressFormat.toSingleString(this.meteringPoint.Address);\r\n }\r\n\r\n get homeAddressString(): string {\r\n return (this.contract.CustomerType == CustomerTypeEnum.COMPANY) ? AddressFormat.toSingleString(this.company.Address) : AddressFormat.toSingleString(this.customer.Address);\r\n }\r\n\r\n get invoicingAddressString(): string {\r\n if (this.contract.InvoicingAddress.ContactPersonName != null && this.contract.InvoicingAddress.ContactPersonName != \"\") {\r\n return this.contract.InvoicingAddress.ContactPersonName + \", \" + AddressFormat.toSingleString(this.contract.InvoicingAddress.Address);\r\n }\r\n return AddressFormat.toSingleString(this.contract.InvoicingAddress.Address);\r\n }\r\n\r\n get invoicingMethodString(): string {\r\n return InvoicingMethodEnumDescription(this.contract.InvoicingMethod);\r\n }\r\n\r\n get invoicingECompanyAddressString(): string {\r\n if (this.contract.InvoicingAddress.InvoicingNetworkAddress !== null && this.contract.InvoicingAddress.InvoicingOperator !== null) {\r\n return this.contract.InvoicingAddress.InvoicingNetworkAddress + \" \" + this.contract.InvoicingAddress.InvoicingOperator;\r\n }\r\n else {\r\n return \"\";\r\n }\r\n }\r\n\r\n get tooltipStyle(): Styles {\r\n if (this.isItellaAddressDatasConverted) {\r\n return { color: 'red' };\r\n }\r\n return { color: 'white' };\r\n }\r\n}","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./metering-point-information-display.ts?vue&type=script&lang=js&external\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./metering-point-information-display.ts?vue&type=script&lang=js&external\"","import mod from \"-!../../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./metering-point-information-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Cmetering-point-information-display.vue&external\"; export default mod; export * from \"-!../../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./metering-point-information-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Cmetering-point-information-display.vue&external\"","import { render, staticRenderFns } from \"./metering-point-information-display.vue?vue&type=template&id=d00d52f4\"\nimport script from \"./metering-point-information-display.ts?vue&type=script&lang=js&external\"\nexport * from \"./metering-point-information-display.ts?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./Locales/metering-point-information-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Cmetering-point-information-display.vue&external\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", [\n _c(\"div\", { staticClass: \"row section card2\" }, [\n _c(\"div\", { staticClass: \"col-md-11 col-lg-offset-1 col-md-offset-1\" }, [\n _c(\"h2\", { staticClass: \"card-title\" }, [\n _c(\"span\", {\n staticClass: \"heading-number heading-number-lg bg-primary\",\n domProps: { textContent: _vm._s(_vm.number) },\n }),\n _vm._v(\" \"),\n _c(\"span\", [_vm._v(_vm._s(_vm.titleToString()))]),\n ]),\n _vm._v(\" \"),\n _vm.showEdit || _vm.showDisplay\n ? _c(\n \"div\",\n { staticClass: \"card-content\" },\n [\n _c(\n \"b-collapse\",\n {\n attrs: { id: _vm.iD(1) },\n model: {\n value: _vm.showEdit,\n callback: function ($$v) {\n _vm.showEdit = $$v\n },\n expression: \"showEdit\",\n },\n },\n [_vm._t(\"edit\")],\n 2\n ),\n _vm._v(\" \"),\n _c(\n \"b-collapse\",\n {\n attrs: { id: _vm.iD(2) },\n model: {\n value: _vm.showDisplay,\n callback: function ($$v) {\n _vm.showDisplay = $$v\n },\n expression: \"showDisplay\",\n },\n },\n [_vm._t(\"display\")],\n 2\n ),\n ],\n 1\n )\n : _vm._e(),\n ]),\n ]),\n _vm._v(\" \"),\n _vm.showDisplay\n ? _c(\"div\", { staticClass: \"section-modify\" }, [\n _c(\n \"a\",\n {\n on: {\n click: function ($event) {\n return _vm.modify()\n },\n },\n },\n [\n _vm._v(_vm._s(_vm.$t(\"Muokkaa\")) + \" \"),\n _c(\"font-awesome-icon\", { attrs: { icon: \"edit\" } }),\n ],\n 1\n ),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showEdit && _vm.proceedActionState != _vm.ActionState.Hidden\n ? _c(\"div\", { staticClass: \"section-modify\" }, [\n _c(\n \"a\",\n {\n on: {\n click: function ($event) {\n return _vm.proceed()\n },\n },\n },\n [\n _vm._v(_vm._s(_vm.$t(\"Jatka\")) + \" \"),\n _c(\"font-awesome-icon\", { attrs: { icon: \"angle-double-down\" } }),\n ],\n 1\n ),\n ])\n : _vm._e(),\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./new-contract-section.ts?vue&type=script&lang=js&external\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./new-contract-section.ts?vue&type=script&lang=js&external\"","import mod from \"-!../../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./new-contract-and-move-out-section-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Cnew-contract-section.vue&external\"; export default mod; export * from \"-!../../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./new-contract-and-move-out-section-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Cnew-contract-section.vue&external\"","import { render, staticRenderFns } from \"./new-contract-section.vue?vue&type=template&id=44eb674d&scoped=true\"\nimport script from \"./new-contract-section.ts?vue&type=script&lang=js&external\"\nexport * from \"./new-contract-section.ts?vue&type=script&lang=js&external\"\nimport style0 from \"./new-contract-section.vue?vue&type=style&index=0&id=44eb674d&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"44eb674d\",\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./Locales/new-contract-and-move-out-section-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Csteps%5Cnew-contract-section.vue&external\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","require(\"core-js/features/promise\");\r\n// Note: About IE9 support, if we would need to support IE9, following is needed:\r\n// * Different promise polyfill needed\r\n// require(\"promise/polyfill\");\r\n// * Polyfill for VueScrollTo to work.\r\n// require(\"raf/polyfill\");\r\n\r\n\r\nimport Vue from \"vue\"\r\nimport { Component, Prop, Emit, Watch } from \"vue-property-decorator\"\r\nimport PreProductSelection from \"../steps/pre-product-selection.vue\"\r\nimport PreProductSelectionDisplay from \"../steps/pre-product-selection-display.vue\"\r\nimport ProductSelection from \"../steps/product-selection.vue\"\r\nimport ProductSelectionDisplay from \"../steps/product-selection-display.vue\"\r\nimport Authentication from \"../steps/authentication.vue\"\r\nimport CustomerInformation from \"../steps/customer-information.vue\"\r\nimport CustomerInformationDisplay from \"../steps/customer-information-display.vue\";\r\nimport CompanyInformationDisplay from \"../steps/company-information-display.vue\";\r\nimport CompanyInformation from \"../steps/company-information.vue\"\r\nimport MeteringPointInformation from \"../steps/metering-point-information.vue\"\r\nimport MeteringPointInformationDisplay from \"../steps/metering-point-information-display.vue\"\r\nimport NewContractSection from \"../steps/new-contract-section.vue\"\r\nimport { SectionMode, ActionState } from \"../steps/new-contract-section\"\r\nimport { ValidationErrors } from \"../../new-contract-vue\";\r\nimport { CustomerTypeEnum } from \"../../../../../Scripts/inpulse/CommonEnums\"\r\nimport { INewContractState } from \"../../new-contract-vuex-store\";\r\nimport { mapState } from \"vuex\";\r\nimport { IProductViewModel, IPriceListViewModel, IContractViewModel } from \"../../../../../Scripts/inpulse/I4UViewModels\";\r\nimport { NewContractEvents } from \"../../new-contract-vue-events\";\r\n\r\nimport VueScrollTo from \"vue-scrollto\";\r\nimport { SectionState } from \"../common/section\";\r\nimport { CustomerInformationChecker } from \"../steps/customer-information\";\r\nimport { CompanyInformationChecker } from \"../steps/company-information\";\r\nimport { PreProductSelectionChecker } from \"../steps/pre-product-selection\";\r\nimport { ProductSelectionChecker } from \"../steps/product-selection\";\r\nimport { MeteringPointInformationChecker } from \"../steps/metering-point-information\";\r\nimport { library } from '@fortawesome/fontawesome-svg-core'\r\nimport { faUser, faBuilding } from '@fortawesome/free-solid-svg-icons'\r\nimport { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'\r\nlibrary.add(faUser, faBuilding)\r\nVue.component('font-awesome-icon', FontAwesomeIcon)\r\n\r\n@Component({\r\n components: {\r\n PreProductSelection,\r\n PreProductSelectionDisplay,\r\n ProductSelection,\r\n ProductSelectionDisplay,\r\n Authentication,\r\n CustomerInformation,\r\n CustomerInformationDisplay,\r\n CompanyInformation,\r\n CompanyInformationDisplay,\r\n MeteringPointInformation,\r\n MeteringPointInformationDisplay,\r\n NewContractSection,\r\n },\r\n})\r\n\r\nexport default class PhaseNewContract extends Vue {\r\n // Map store state's properties to computed properties.\r\n get contract(): IContractViewModel { return this.$store.state.contract; }\r\n get selectedProduct(): IProductViewModel { return this.$store.state.selectedProduct; }\r\n get selectedPriceList(): IPriceListViewModel { return this.$store.state.selectedPriceList; }\r\n get customerSelectionDisabled(): boolean { return this.$store.state.isAuthenticated == \"true\" && this.contract.CustomerType !== CustomerTypeEnum.NOTSET; }\r\n get customerType(): CustomerTypeEnum { return this.contract.CustomerType; } \r\n get showAuthentication(): boolean { return this.$store.state.isAuthenticated; }\r\n get hideAuthenticationForcedText(): boolean { return this.$store.state.isAuthenticated; } \r\n\r\n @Prop()\r\n public validationErrors: ValidationErrors;\r\n\r\n @Prop()\r\n public testMode: boolean;\r\n\r\n @Emit()\r\n productsInvalidated() {}\r\n\r\n @Emit()\r\n nextPhase() { }\r\n\r\n authenticate() {\r\n //used in emit thingy so needs to be here\r\n }\r\n\r\n @Watch('customerType')\r\n onCustomerTypeChanged(newVal: CustomerTypeEnum, oldVal: CustomerTypeEnum) {\r\n if (newVal === CustomerTypeEnum.COMPANY) {\r\n this.sections.product.setSiblings(this.sections.preProduct, this.sections.company);\r\n this.sections.meteringPoint.setSiblings(this.sections.company, null);\r\n }\r\n else {\r\n this.sections.product.setSiblings(this.sections.preProduct, this.sections.customer);\r\n this.sections.meteringPoint.setSiblings(this.sections.customer, null);\r\n }\r\n }\r\n\r\n CustomerTypeEnum: typeof CustomerTypeEnum = CustomerTypeEnum;\r\n SectionMode: typeof SectionMode = SectionMode;\r\n ActionState: typeof ActionState = ActionState;\r\n\r\n sections: {\r\n preProduct: SectionState;\r\n product: SectionState;\r\n customer: SectionState;\r\n company: SectionState;\r\n meteringPoint: SectionState;\r\n } = null;\r\n\r\n constructor() {\r\n super();\r\n console.log(\"Starting constructor\");\r\n let self = this;\r\n this.sections = {\r\n preProduct: new SectionState(\"pre-product\", () => self.$refs.preProduct),\r\n product: new SectionState(\"product\", () => self.$refs.product),\r\n customer: new SectionState(\"customer\", () => self.$refs.customer),\r\n company: new SectionState(\"company\", () => self.$refs.company),\r\n meteringPoint: new SectionState(\"metering-point\", () => self.$refs.meteringPoint),\r\n };\r\n console.log(\"Forming section chain\");\r\n SectionState.formChain(this.sections.preProduct, this.sections.product, this.contract?.CustomerType == CustomerTypeEnum.COMPANY ? this.sections.company : this.sections.customer, this.sections.meteringPoint);\r\n }\r\n\r\n mounted() {\r\n console.log(\"Phase mounted!\");\r\n NewContractEvents.addValidationFailedListener(this.validationFailed);\r\n if (this.$store.state.newContractInitialized) {\r\n // New contract has already been initialized (i.e. we are coming back from confirmation phase to modify our contract.)\r\n // In this case we just initialize the sections' states (or the UI).\r\n this.initializeSections();\r\n }\r\n else {\r\n // New contract has not been initialize, let's register listener for initialization. That listener takes care of\r\n // sections' initialization after module is initialized.\r\n NewContractEvents.addNewContractInitializedListener(this.newContractInitialized);\r\n }\r\n }\r\n\r\n beforeDestroy() {\r\n NewContractEvents.removeValidationFailedListener(this.validationFailed);\r\n NewContractEvents.removeNewContractInitializedListener(this.newContractInitialized);\r\n }\r\n\r\n proceedToProductSelection() {\r\n console.log(\"Proceed to product selection!\");\r\n this.sections.preProduct.proceed();\r\n }\r\n\r\n productSelected(product: IProductViewModel, priceList: IPriceListViewModel) {\r\n let self = this;\r\n this.sections.product.proceed();\r\n }\r\n\r\n modifyPreProductSelection() {\r\n this.sections.preProduct.enter();\r\n }\r\n\r\n modifyProductSelection() {\r\n this.sections.product.enter();\r\n }\r\n\r\n customerTypeSelected() {\r\n this.sections.preProduct.enter();\r\n }\r\n\r\n proceedToMeteringPoint() {\r\n this.sections.product.proceed();\r\n }\r\n\r\n validationFailed(errors: ValidationErrors) {\r\n this.$nextTick(() => {\r\n let errorFound = false;\r\n if (PreProductSelectionChecker.hasErrors(errors)) {\r\n errorFound = true;\r\n this.sections.preProduct.enterModify();\r\n }\r\n\r\n if (!errorFound && ProductSelectionChecker.hasErrors(errors)) {\r\n errorFound = true;\r\n this.sections.product.enterModify();\r\n }\r\n\r\n if (!errorFound && CustomerInformationChecker.hasErrors(errors)) {\r\n errorFound = true;\r\n this.sections.customer.enterModify();\r\n }\r\n\r\n if (!errorFound && CompanyInformationChecker.hasErrors(errors)) {\r\n errorFound = true;\r\n this.sections.company.enterModify();\r\n }\r\n\r\n if (!errorFound && MeteringPointInformationChecker.hasErrors(errors)) {\r\n errorFound = true;\r\n this.sections.meteringPoint.enterModify();\r\n }\r\n\r\n let validationIds = errors.getAllKeys();\r\n let selector = \"\";\r\n validationIds.forEach((id) => {\r\n if (selector)\r\n selector += \",\";\r\n selector += \"[data-validation-id='\" + id + \"']\";\r\n });\r\n\r\n let nodeList = this.$el.querySelectorAll(selector);\r\n let elements = [];\r\n for (let i = 0; i < nodeList.length; ++i) {\r\n elements.push(nodeList.item(i));\r\n }\r\n\r\n elements.sort(function(a, b) {\r\n if (a === b) return 0;\r\n if (!a.compareDocumentPosition) {\r\n // support for IE8 and below\r\n return a.sourceIndex - b.sourceIndex;\r\n }\r\n if (a.compareDocumentPosition(b) & 2) {\r\n // b comes before a\r\n return 1;\r\n }\r\n return -1;\r\n });\r\n\r\n //if (elements.length != 0) {\r\n // VueScrollTo.scrollTo(elements[0]);\r\n //}\r\n });\r\n }\r\n\r\n customerValueUpdated(allSet: boolean) {\r\n if (allSet) {\r\n console.log(\"All customer values have been set!\");\r\n }\r\n }\r\n\r\n companyValueUpdated(allSet: boolean) {\r\n if (allSet) {\r\n console.log(\"All company values have been set!\");\r\n }\r\n }\r\n\r\n getSectionMode(allSet: boolean, previousSectionMode: SectionMode) {\r\n let mode = allSet ? SectionMode.Display : SectionMode.Edit;\r\n if (previousSectionMode != null) {\r\n if (mode == SectionMode.Edit && previousSectionMode != SectionMode.Display)\r\n mode = SectionMode.Hidden;\r\n }\r\n return mode;\r\n }\r\n\r\n initializeSections() {\r\n let customerTypeSelected = this.contract.CustomerType != CustomerTypeEnum.NOTSET;\r\n\r\n this.sections.preProduct.initializeMode(PreProductSelectionChecker.isAllSet(this.contract), customerTypeSelected ? SectionMode.Display : SectionMode.Hidden);\r\n this.sections.product.initializeMode(ProductSelectionChecker.isAllSet(this.contract));\r\n if (this.contract.CustomerType == CustomerTypeEnum.CONSUMER) {\r\n this.sections.customer.initializeMode(CustomerInformationChecker.isAllSet(this.contract) && this.contract.AuthenticateQuestionAccepted);\r\n }\r\n else if (this.contract.CustomerType == CustomerTypeEnum.COMPANY) {\r\n this.sections.company.initializeMode(CompanyInformationChecker.isAllSet(this.contract));\r\n }\r\n else {\r\n this.sections.customer.mode = SectionMode.Hidden;\r\n }\r\n this.sections.meteringPoint.initializeMode(MeteringPointInformationChecker.isAllSet(this.contract));\r\n\r\n this.sections.preProduct.scrollToFirstEdit();\r\n }\r\n\r\n newContractInitialized() {\r\n console.log(\"New contract initialized!\");\r\n\r\n this.initializeSections();\r\n }\r\n\r\n getCustomerProceedActionState(): ActionState {\r\n if (this.contract.AuthenticateQuestionAccepted && this.contract.StrongContractAuthentication) {\r\n return ActionState.Enabled;;\r\n }\r\n return ActionState.Hidden;\r\n }\r\n}\r\n","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./phase-new-contract.ts?vue&type=script&lang=js&external\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./phase-new-contract.ts?vue&type=script&lang=js&external\"","import mod from \"-!../../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./new-contract-and-move-out-section-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Cphases%5Cphase-new-contract.vue&external\"; export default mod; export * from \"-!../../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./new-contract-and-move-out-section-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Cphases%5Cphase-new-contract.vue&external\"","import { render, staticRenderFns } from \"./phase-new-contract.vue?vue&type=template&id=ca81dc42&scoped=true\"\nimport script from \"./phase-new-contract.ts?vue&type=script&lang=js&external\"\nexport * from \"./phase-new-contract.ts?vue&type=script&lang=js&external\"\nimport style0 from \"./phase-new-contract.vue?vue&type=style&index=0&id=ca81dc42&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ca81dc42\",\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"../steps/Locales/new-contract-and-move-out-section-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Cphases%5Cphase-new-contract.vue&external\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"panel panel-default\" }, [\n _c(\n \"div\",\n { staticClass: \"panel-body\" },\n [\n _c(\"h3\", { staticClass: \"panel-title confirmation-subtitle\" }, [\n _vm._v(_vm._s(_vm.$t(\"Asiakkaan tiedot\"))),\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"row\" },\n [\n _c(\n \"b-col\",\n { attrs: { md: \"4\" } },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"3\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Nimi\"))),\n ]),\n _vm._v(\" \" + _vm._s(_vm.customerName)),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"3\",\n },\n },\n [\n _vm.contract.CustomerType == 1\n ? _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Henkilötunnus\"))),\n ])\n : _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Y-tunnus\"))),\n ]),\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.customerIdentifier) +\n \"\\n \"\n ),\n ]\n ),\n _vm._v(\" \"),\n _vm.isAcceptingOffer &&\n !_vm.contract.IsPartnerStrongAuthentication\n ? _c(\n \"div\",\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"3\",\n },\n },\n [\n _c(\n \"label\",\n { staticClass: \"font-weight-bold pt-0\" },\n [_vm._v(_vm._s(_vm.$t(\"Puhelinnumero\")))]\n ),\n _vm._v(\" \"),\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"Phone\",\n \"validation-errors\": _vm.validationErrors,\n },\n },\n [\n _c(\"b-form-input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n attrs: {\n type: \"text\",\n name: \"Phone\",\n value: _vm.customer.Phone\n ? _vm.customer.Phone\n : \"+358\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.customerEmail\n ? _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"3\",\n },\n },\n [\n _c(\n \"label\",\n { staticClass: \"font-weight-bold pt-0\" },\n [_vm._v(_vm._s(_vm.$t(\"Sähköpostiosoite\")))]\n ),\n _vm._v(\" \"),\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"Email\",\n \"validation-errors\": _vm.validationErrors,\n },\n },\n [\n _c(\"b-form-input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n attrs: {\n type: \"email\",\n name: \"Email\",\n value: _vm.customer.Email,\n },\n }),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n ],\n 1\n )\n : _c(\n \"div\",\n [\n _vm.customerPhone\n ? _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"3\",\n },\n },\n [\n _c(\n \"label\",\n { staticClass: \"font-weight-bold pt-0\" },\n [_vm._v(_vm._s(_vm.$t(\"Puhelinnumero\")))]\n ),\n _vm._v(\" \" + _vm._s(_vm.customerPhone)),\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.customerEmail\n ? _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"3\",\n },\n },\n [\n _c(\n \"label\",\n { staticClass: \"font-weight-bold pt-0\" },\n [_vm._v(_vm._s(_vm.$t(\"Sähköpostiosoite\")))]\n ),\n _vm._v(\" \" + _vm._s(_vm.customerEmail)),\n ]\n )\n : _vm._e(),\n ],\n 1\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-col\",\n { attrs: { md: \"4\" } },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"2\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Asiakkaan osoite\"))),\n ]),\n _vm._v(\" \"),\n _vm.contract.IsCustomerAddressInUse &&\n _vm.contract.Customer.Address.COName\n ? _c(\"span\", [\n _vm._v(\n _vm._s(_vm.$t(\"c/o \")) +\n _vm._s(_vm.contract.Customer.Address.COName)\n ),\n _c(\"br\"),\n ])\n : _vm._e(),\n _vm._v(_vm._s(_vm.customerAddressString)),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"2\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Käyttöpaikan osoite\"))),\n ]),\n _vm._v(\" \" + _vm._s(_vm.meteringPointAddressString)),\n ]\n ),\n _vm._v(\" \"),\n _vm.contract.MeteringPoint.GsrnCode\n ? _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"2\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Käyttöpaikkatunnus\"))),\n ]),\n _vm._v(\" \" + _vm._s(_vm.meteringPoint.GsrnCode)),\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"2\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Asiointikieli\"))),\n ]),\n _vm._v(\" \"),\n _vm.contract.IsPartnerStrongAuthentication\n ? _c(\"div\", [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.cultureCodeStr) +\n \"\\n \"\n ),\n ])\n : _c(\"div\", [\n _vm.contract.CustomerType ==\n _vm.CustomerTypeEnum.CONSUMER\n ? _c(\n \"div\",\n [\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"language-selection\",\n \"validation-errors\":\n _vm.validationErrors,\n },\n },\n [\n _c(\"b-form-select\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n staticClass: \"mb-3\",\n attrs: {\n options: _vm.options,\n name: \"language-selection\",\n value: _vm.customer.CultureCode,\n },\n model: {\n value:\n _vm.contract.Customer.CultureCode,\n callback: function ($$v) {\n _vm.$set(\n _vm.contract.Customer,\n \"CultureCode\",\n $$v\n )\n },\n expression:\n \"contract.Customer.CultureCode\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n )\n : _c(\n \"div\",\n [\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\":\n \"companylanguage-selection\",\n \"validation-errors\":\n _vm.validationErrors,\n },\n },\n [\n _c(\"b-form-select\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n staticClass: \"mb-3\",\n attrs: {\n options: _vm.options,\n name: \"companylanguage-selection\",\n value: _vm.company.CultureCode,\n },\n model: {\n value:\n _vm.contract.Company.CultureCode,\n callback: function ($$v) {\n _vm.$set(\n _vm.contract.Company,\n \"CultureCode\",\n $$v\n )\n },\n expression:\n \"contract.Company.CultureCode\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ]),\n ]\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"row\" },\n _vm._l(_vm.contractPartners, function (contractPartner, index) {\n return _c(\n \"div\",\n { staticClass: \"col-md-4\" },\n [\n _c(\"contract-partner-card\", {\n attrs: {\n title: _vm.$t(\"Sopimuskumppani \") + (index + 1),\n \"contact-person\": contractPartner,\n editable: false,\n },\n }),\n ],\n 1\n )\n }),\n 0\n ),\n _vm._v(\" \"),\n _c(\"hr\"),\n _vm._v(\" \"),\n _c(\"h3\", { staticClass: \"panel-title confirmation-subtitle\" }, [\n _vm._v(_vm._s(_vm.$t(\"Tuote\"))),\n ]),\n _vm._v(\" \"),\n _c(\"form-group-static\", [_c(\"product-selection-display\")], 1),\n _vm._v(\" \"),\n _c(\"hr\"),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"div\",\n { staticClass: \"col-md-4\" },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"3\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Sopimuksen alkupäivä\"))),\n ]),\n _vm._v(\" \" + _vm._s(_vm.formatDate(_vm.contract.StartDate))),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"3\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Laskuja vuodessa\"))),\n ]),\n _vm._v(\n \" \" +\n _vm._s(_vm.contract.InvoicingGroup) +\n \" \" +\n _vm._s(_vm.$t(\"kpl\"))\n ),\n ]\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.isInvoicingMethodsInUse && _vm.contract.IsInvoicingAddressInUse\n ? _c(\n \"div\",\n { staticClass: \"col-md-4\" },\n [\n _vm.invoicingAddressString\n ? _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"2\",\n },\n },\n [\n _c(\n \"label\",\n { staticClass: \"font-weight-bold pt-0\" },\n [_vm._v(_vm._s(_vm.$t(\"Laskutusosoite\")))]\n ),\n _vm._v(\" \"),\n _vm.contract.InvoicingAddress.Address.COName\n ? _c(\"span\", [\n _vm._v(\n _vm._s(_vm.$t(\"c/o \")) +\n _vm._s(\n _vm.contract.InvoicingAddress.Address\n .COName\n )\n ),\n _c(\"br\"),\n ])\n : _vm._e(),\n _vm._v(\" \" + _vm._s(_vm.invoicingAddressString)),\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"2\",\n },\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Laskutustapa\"))),\n ]),\n _vm._v(\n \" \" +\n _vm._s(\n _vm.invoicingMethodString(\n _vm.contract.InvoicingMethod\n )\n )\n ),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"2\",\n },\n },\n [\n _vm.contract.InvoicingMethod ==\n _vm.InvoicingMethodEnum.Email\n ? _c(\"label\", { staticClass: \"font-weight-bold pt-0\" })\n : _vm._e(),\n _vm._v(\" \" + _vm._s(_vm.contract.DeliveryEmail)),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"2\",\n },\n },\n [\n _vm.contract.InvoicingMethod ==\n _vm.InvoicingMethodEnum.CompanyEInvoice\n ? _c(\n \"label\",\n { staticClass: \"font-weight-bold pt-0\" },\n [_vm._v(_vm._s(_vm.$t(\"Verkkolaskuosoite\")))]\n )\n : _vm._e(),\n _vm._v(\n \" \" +\n _vm._s(\n _vm.contract.InvoicingAddress\n .InvoicingNetworkAddress\n )\n ),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"2\",\n },\n },\n [\n _vm.contract.InvoicingMethod ==\n _vm.InvoicingMethodEnum.CompanyEInvoice\n ? _c(\n \"label\",\n { staticClass: \"font-weight-bold pt-0\" },\n [_vm._v(_vm._s(_vm.$t(\"Välittäjätunnus\")))]\n )\n : _vm._e(),\n _vm._v(\n \" \" +\n _vm._s(\n _vm.contract.InvoicingAddress.InvoicingOperator\n )\n ),\n ]\n ),\n ],\n 1\n )\n : _vm._e(),\n ]),\n _vm._v(\" \"),\n _c(\"hr\"),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row margin-bottom\" }, [\n _c(\"div\", { staticClass: \"col-md-12\" }, [\n _c(\"h3\", { staticClass: \"panel-title confirmation-subtitle\" }, [\n _vm._v(_vm._s(_vm.$t(\"Sopimusehdot\"))),\n ]),\n _vm._v(\" \"),\n _vm.currentLocale.startsWith(\"fi\")\n ? _c(\"p\", [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.$t(\"Olen tutustunut\")) +\n \" \"\n ),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://porvoonenergia.fi/fi/yritys/sopimusehdotjarekisterit/\",\n target: \"_blank\",\n },\n },\n [_vm._v(_vm._s(_vm.$t(\"sopimusehtoihin\")))]\n ),\n _vm._v(\n \",\\n \" +\n _vm._s(\n _vm.$t(\n \"ja hyväksyn ne. Valtuutan Porvoon Energia Oy:n hoitamaan sähkösopimukseen liittyvät toimenpiteet\"\n )\n ) +\n \"\\n \"\n ),\n ])\n : _c(\"p\", [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.$t(\"Olen tutustunut\")) +\n \" \"\n ),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://porvoonenergia.fi/sv/foretaget/avtalsvillkorochregister/\",\n target: \"_blank\",\n },\n },\n [_vm._v(_vm._s(_vm.$t(\"sopimusehtoihin.\")))]\n ),\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.$t(\n \"Valtuutan Porvoon Energia Oy:n hoitamaan sähkösopimukseen liittyvät toimenpiteet\"\n )\n ) +\n \"\\n \"\n ),\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.$t(\"Maksutapana on laskutus.\")) +\n \"\\n \"\n ),\n ]),\n _vm._v(\" \"),\n _c(\n \"label\",\n { staticClass: \"checkbox-inline\" },\n [\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"acceptTerms\",\n \"validation-errors\": _vm.validationErrors,\n },\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n attrs: {\n type: \"checkbox\",\n name: \"acceptTerms\",\n \"true-value\": \"1\",\n \"false-value\": \"0\",\n },\n domProps: { value: _vm.contract.AcceptTerms },\n }),\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.$t(\"Hyväksyn sopimusehdot\")) +\n \"\\n \"\n ),\n ]\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"br\"),\n _vm._v(\" \"),\n !_vm.contract.IsPartnerStrongAuthentication\n ? _c(\"div\", [\n _c(\n \"label\",\n { staticClass: \"checkbox-inline\" },\n [\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\":\n \"EnableSendingNewContractConfirmation\",\n \"validation-errors\": _vm.validationErrors,\n },\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n attrs: {\n type: \"checkbox\",\n name: \"EnableSendingNewContractConfirmation\",\n \"true-value\": \"1\",\n \"false-value\": \"0\",\n },\n domProps: {\n value:\n _vm.contract\n .EnableSendingNewContractConfirmation,\n },\n on: {\n input: function ($event) {\n _vm.contract.EnableSendingNewContractConfirmation =\n $event.target.value\n },\n },\n }),\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.$t(\"Haluan tilausvahvistuksen sähköpostiin\")\n ) +\n \"\\n \"\n ),\n ]\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.contract.CustomerType == _vm.CustomerTypeEnum.CONSUMER\n ? _c(\"label\", { staticClass: \"checkbox-inline\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\",\n },\n ],\n attrs: {\n type: \"checkbox\",\n name: \"DirectMarketing\",\n \"true-value\": \"1\",\n \"false-value\": \"0\",\n },\n domProps: { value: _vm.customer.DirectMarketing },\n }),\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.$t(\n \"Minulle saa sähköisesti lähettää ajankohtaista tietoa ja markkinointimateriaalia sähkösopimuksiin liittyen. Tietojani saa käyttää Porvoon Energian suoramarkkinointiin\"\n )\n ) +\n \"\\n \"\n ),\n ])\n : _vm._e(),\n ])\n : _vm._e(),\n ]),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"div\",\n { staticClass: \"col-md-12\" },\n [\n _vm.isLoading\n ? _c(\"loading-indicator\", { staticClass: \"loading-indicator\" })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"form\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: !_vm.isLoading,\n expression: \"!isLoading\",\n },\n {\n name: \"new-contract-validate\",\n rawName: \"v-new-contract-validate\",\n },\n ],\n staticClass: \"text-center\",\n attrs: {\n method: \"post\",\n action: \"/NewContract/Contract/Contract\",\n },\n },\n [\n _vm.contract.IsAcceptingOffer &&\n _vm.contract.CustomerType === _vm.CustomerTypeEnum.COMPANY\n ? [\n _c(\n \"button\",\n {\n staticClass: \"btn btn-lg btn-primary\",\n class: { disabled: _vm.isLoading },\n attrs: { type: \"submit\" },\n },\n [\n _c(\"i\", { staticClass: \"fa fa-check\" }),\n _vm._v(\" \" + _vm._s(_vm.$t(\"Hyväksy tarjous\"))),\n ]\n ),\n ]\n : _vm.contract.IsAcceptingOffer &&\n _vm.contract.CustomerType ===\n _vm.CustomerTypeEnum.CONSUMER\n ? [\n _c(\n \"button\",\n {\n staticClass: \"btn btn-lg btn-primary\",\n class: { disabled: _vm.isLoading },\n attrs: { type: \"button\" },\n on: {\n click: function ($event) {\n return _vm.nextPhase()\n },\n },\n },\n [\n _c(\"i\", { staticClass: \"fa fa-check\" }),\n _vm._v(\" \"),\n _vm.contract.IsPartnerStrongAuthentication\n ? _c(\"span\", [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.$t(\"Hyväksy sopimus\")) +\n \"\\n \"\n ),\n ])\n : _c(\"span\", [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.$t(\"Hyväksy tarjous\")) +\n \"\\n \"\n ),\n ]),\n ]\n ),\n ]\n : [\n _c(\n \"button\",\n {\n staticClass: \"btn btn-lg btn-primary\",\n class: { disabled: _vm.isLoading },\n attrs: { type: \"submit\" },\n },\n [\n _c(\"i\", { staticClass: \"fa fa-check\" }),\n _vm._v(\" \" + _vm._s(_vm.$t(\"Hyväksy sopimus\"))),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"button\",\n {\n staticClass: \"btn btn-lg btn-light\",\n class: { disabled: _vm.isLoading },\n attrs: { type: \"button\" },\n on: {\n click: function ($event) {\n return _vm.previousPhase()\n },\n },\n },\n [\n _c(\"i\", { staticClass: \"fa fa-undo\" }),\n _vm._v(\" \" + _vm._s(_vm.$t(\"Muokkaa sopimusta\"))),\n ]\n ),\n ],\n ],\n 2\n ),\n ],\n 1\n ),\n ]),\n ],\n 1\n ),\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import Vue from \"vue\"\r\nimport { Component, Prop, Emit } from \"vue-property-decorator\"\r\nimport HorizontalFormGroup from \"./horizontal-form-group.vue\"\r\nimport ValidatedFormGroup from \"../common/validated-form-group.vue\"\r\nimport FormGroupStatic from \"./form-group-static.vue\"\r\nimport ProductSelectionDisplay from \"../steps/product-selection-display.vue\"\r\nimport { mapState, mapGetters } from \"vuex\";\r\nimport { INewContractState, IContractSettings } from \"../../new-contract-vuex-store\";\r\nimport { IContractViewModel, IAddressViewModel } from \"../../../../../Scripts/inpulse/I4UViewModels\";\r\nimport { ContactPersonViewModel, IContactPersonViewModel, ICustomerViewModel, ICompanyViewModel, IMeteringPointViewModel } from \"../../../../../Scripts/inpulse/I4UViewModels\";\r\nimport { AddressFormat, CommonFormatUtils, InvoicingMethodEnumDescription } from \"../common/utils\";\r\nimport { InvoicingMethodEnum, CustomerTypeEnum } from \"../../../../../Scripts/inpulse/CommonEnums\";\r\nimport { ContactPersonUtils, ArrayUtils, ObjectUtils } from \"../common/utils\";\r\nimport { ValidationErrors } from \"../../new-contract-vue\";\r\nimport ContractPartnerCard from \"../steps/components/contract-partner-card.vue\";\r\nimport LoadingComponent from \"../../../../../Scripts/vue-components/common/loading.vue\";\r\n\r\n\r\ndeclare var currentLocale: string;\r\nvar cultureCode = \"\";\r\nvar cultureCodeString = \"\";\r\nif (currentLocale !== null && currentLocale !== \"\") {\r\n if (currentLocale.startsWith(\"fi\")) {\r\n cultureCode = \"fi-FI\";\r\n cultureCodeString = \"suomi\"\r\n }\r\n if (currentLocale.startsWith(\"sv\")) {\r\n cultureCode = \"sv-SE\";\r\n cultureCodeString = \"ruotsi\"\r\n }\r\n}\r\n\r\n@Component({\r\n components: {\r\n HorizontalFormGroup,\r\n ValidatedFormGroup,\r\n FormGroupStatic,\r\n ContractPartnerCard,\r\n ProductSelectionDisplay,\r\n LoadingIndicator: LoadingComponent\r\n },\r\n})\r\n\r\nexport default class PhaseContractConfirmation extends Vue {\r\n get contractSettings(): IContractSettings { return this.$store.state.contractSettings; }\r\n get isLoading(): boolean { return this.$store.state.loadingNewPhase }\r\n get contract(): IContractViewModel { return this.$store.state.contract; }\r\n get customer(): ICustomerViewModel { return this.contract.Customer; }\r\n get company(): ICompanyViewModel { return this.contract.Company; }\r\n get customerName(): string { return this.$store.getters.customerName; }\r\n get customerIdentifier(): string { return this.$store.getters.customerIdentifier; }\r\n get customerPhone(): string { return this.$store.getters.customerPhone; }\r\n get customerEmail(): string { return this.$store.getters.customerEmail; }\r\n get customerAddress(): IAddressViewModel { return this.$store.getters.customerAddress; }\r\n get isInvoicingMethodsInUse(): boolean { return this.contractSettings.InvoicingMethodsInUse; }\r\n get isAcceptingOffer(): boolean { return this.contract.IsAcceptingOffer }\r\n get meteringPoint(): IMeteringPointViewModel { return this.contract.MeteringPoint; }\r\n get contractPartners(): IContactPersonViewModel[] {\r\n let res = [];\r\n this.customer.ContractPartners.forEach(x => {\r\n if (!ContactPersonUtils.isEmpty(x))\r\n res.push(x);\r\n });\r\n return res;\r\n }\r\n\r\n InvoicingMethodFormat: typeof InvoicingMethodEnumDescription = InvoicingMethodEnumDescription;\r\n InvoicingMethodEnum: typeof InvoicingMethodEnum = InvoicingMethodEnum;\r\n CustomerTypeEnum: typeof CustomerTypeEnum = CustomerTypeEnum;\r\n\r\n @Prop({ default: function () { return new ValidationErrors() } })//Default value to initialize new since there won't be ValidationErrors with new offer and validation-id=\"acceptTerms\" needs it to be shown in UI\r\n public validationErrors: ValidationErrors;\r\n\r\n @Prop()\r\n public currentLocale: string;\r\n\r\n @Emit()\r\n public previousPhase() { }\r\n\r\n @Emit()\r\n nextPhase() { }\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n mounted() {\r\n if (this.contract.Customer.CultureCode == null) {\r\n let langKey = \"language-selection\";\r\n if (this.contract.CustomerType == CustomerTypeEnum.COMPANY)\r\n langKey = \"companylanguage-selection\";\r\n new Promise((resolve, reject) => {\r\n this.$store.dispatch(\"changeValue\", { key: langKey, value: cultureCode }).then(res => resolve())\r\n });\r\n }\r\n console.log(\"Phase contract confirmation!\");\r\n }\r\n\r\n get customerAddressString() {\r\n return AddressFormat.toSingleString(this.customerAddress);\r\n }\r\n\r\n get meteringPointAddressString() {\r\n let addr = this.contract.MeteringPoint.Address;\r\n return AddressFormat.toSingleString(addr);\r\n }\r\n\r\n get invoicingAddressString(): string {\r\n if (this.contract.InvoicingAddress.ContactPersonName != null && this.contract.InvoicingAddress.ContactPersonName != \"\") {\r\n return this.contract.InvoicingAddress.ContactPersonName + \", \" + AddressFormat.toSingleString(this.contract.InvoicingAddress.Address);\r\n }\r\n return AddressFormat.toSingleString(this.contract.InvoicingAddress.Address);\r\n }\r\n\r\n confirm() {\r\n console.log(\"Confirm!\");\r\n }\r\n\r\n formatDate(date: string) {\r\n return CommonFormatUtils.formatDate(date);\r\n }\r\n\r\n invoicingMethodString(invoicingMethod: InvoicingMethodEnum): string {\r\n return InvoicingMethodEnumDescription(invoicingMethod, this.$i18n.locale);\r\n }\r\n\r\n get cultureCodeStr() {\r\n let cultureCodeStr = \"\";\r\n if (currentLocale !== null && currentLocale !== \"\") {\r\n if (currentLocale.startsWith(\"fi\")) {\r\n cultureCodeStr = this.$t('suomi').toString();\r\n }\r\n if (currentLocale.startsWith(\"sv\")) {\r\n cultureCodeStr = this.$t('ruotsi').toString();\r\n }\r\n }\r\n return cultureCodeStr;\r\n }\r\n\r\n data() {\r\n return {\r\n //selected: cultureCode,\r\n options: [\r\n { value: 'null', text: this.$t('Valitse asiointikieli'), disabled: true }, \r\n { value: 'fi-FI', text: this.$t('suomi') },\r\n { value: 'sv-SE', text: this.$t('ruotsi') },\r\n ]\r\n }\r\n }\r\n}","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./phase-contract-confirmation.ts?vue&type=script&lang=js&external\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./phase-contract-confirmation.ts?vue&type=script&lang=js&external\"","import mod from \"-!../../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./contract-confrimation-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Cphases%5Cphase-contract-confirmation.vue&external\"; export default mod; export * from \"-!../../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./contract-confrimation-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Cphases%5Cphase-contract-confirmation.vue&external\"","import { render, staticRenderFns } from \"./phase-contract-confirmation.vue?vue&type=template&id=591c5ca4\"\nimport script from \"./phase-contract-confirmation.ts?vue&type=script&lang=js&external\"\nexport * from \"./phase-contract-confirmation.ts?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"../steps/Locales/contract-confrimation-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPBE%5Cphases%5Cphase-contract-confirmation.vue&external\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"b-modal\",\n {\n attrs: {\n header: false,\n backdrop: false,\n \"ok-text\": _vm.okButtonText,\n \"cancel-text\": \"Palaa etusivulle\",\n },\n on: { hide: _vm.handleSessionExceptionClose },\n model: {\n value: _vm.sessionException,\n callback: function ($$v) {\n _vm.sessionException = $$v\n },\n expression: \"sessionException\",\n },\n },\n [_c(\"h3\", { domProps: { textContent: _vm._s(_vm.exceptionTitle) } })]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import Vue from \"vue\"\r\nimport { Component, Prop, Emit } from \"vue-property-decorator\"\r\nimport { NewContractEvents } from \"../../new-contract-vue-events\"\r\n\r\n@Component({\r\n})\r\n\r\nexport default class SessionExpiration extends Vue {\r\n\r\n @Prop()\r\n exceptionTitle: string;\r\n\r\n @Prop()\r\n okButtonText: string;\r\n\r\n @Prop()\r\n urlStartAgain: string;\r\n\r\n @Prop()\r\n urlMainPage: string;\r\n\r\n constructor() {\r\n super();\r\n console.log(\"SessionExpiration constructor()\");\r\n }\r\n\r\n created() {\r\n console.log(\"SessionExpiration created()\");\r\n }\r\n\r\n mounted() {\r\n NewContractEvents.addNotifySessionExpiredListener(this.sessionExpirationTriggered);\r\n }\r\n\r\n beforeDestroy() {\r\n NewContractEvents.removeNotifySessionExpiredListener(this.sessionExpirationTriggered);\r\n }\r\n\r\n sessionException: boolean = false;\r\n\r\n handleSessionException(show: boolean): void {\r\n console.log(\"handleSessionException()\");\r\n this.sessionException = show;\r\n }\r\n\r\n // parameters:\r\n // \"cancel\": go to main page\r\n // \"ok\": start moving again\r\n handleSessionExceptionClose(msg: string): void {\r\n console.log(\"handleSessionExceptionClose(): \" + msg);\r\n $.blockUI({ message: \"Ladataan...\"});\r\n switch (msg) {\r\n case \"ok\": window.location.href = this.urlStartAgain; break;\r\n default: window.location.href = this.urlMainPage; break;\r\n }\r\n }\r\n\r\n sessionExpirationTriggered(): void {\r\n console.log(\"sessionExpirationTriggered()\");\r\n if (!this.sessionException) {\r\n console.log(\"this.handleSessionException(true);\");\r\n this.handleSessionException(true);\r\n }\r\n }\r\n\r\n}","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./session-expiration.ts?vue&type=script&lang=js&external\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./session-expiration.ts?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"./session-expiration.vue?vue&type=template&id=045ab303\"\nimport script from \"./session-expiration.ts?vue&type=script&lang=js&external\"\nexport * from \"./session-expiration.ts?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\"\r\nimport { NewContract, PhaseDescriptor, ValidationErrors } from \"../../new-contract-vue\"\r\nimport PhaseNewContract from \"../phases/phase-new-contract.vue\"\r\nimport PhaseContractConfirmation from \"../phases/phase-contract-confirmation.vue\"\r\nimport { NewContractEvents } from \"../../new-contract-vue-events\"\r\n\r\nimport SessionExpiration from \"../common/session-expiration.vue\";\r\n\r\nimport BootstrapVue from 'bootstrap-vue';\r\nimport VueI18n from 'vue-i18n'\r\n\r\nVue.use(BootstrapVue)\r\nimport 'bootstrap-vue/dist/bootstrap-vue.css'\r\n\r\nVue.use(VueI18n);\r\n\r\ndeclare var selectedProductId;\r\ndeclare var selectedPriceListId;\r\ndeclare var selectedCustomerType;\r\ndeclare var selectedTarification;\r\ndeclare var selectedHousingType;\r\ndeclare var campaignCode;\r\ndeclare var isAuthenticated;\r\n\r\ndeclare var currentLocale: string;\r\nconst i18n = new VueI18n({\r\n locale: currentLocale,\r\n fallbackRoot: true,\r\n silentTranslationWarn: true\r\n});\r\n\r\nexport class ContractPage {\r\n newContract: NewContract;\r\n\r\n constructor(rootSelector: string) {\r\n console.log(\"constructor: \" + rootSelector);\r\n let self = this;\r\n this.newContract = new NewContract({\r\n el: rootSelector,\r\n phases: [\r\n { name: \"phase-new-contract\", id: 1 },\r\n { name: \"phase-confirmation\", id: 2 },\r\n ],\r\n preselects: {\r\n productId: selectedProductId,\r\n priceListId: selectedPriceListId,\r\n customerType: selectedCustomerType,\r\n tarification: selectedTarification,\r\n housingType: selectedHousingType,\r\n campaignCode: campaignCode,\r\n },\r\n isAuthenticated: isAuthenticated,\r\n // Add Vue stuff specific to PBE.\r\n mixin: {\r\n components: { PhaseNewContract, PhaseContractConfirmation, SessionExpiration },\r\n i18n,\r\n mounted() {\r\n console.log(\"Page mounted!\");\r\n NewContractEvents.addValidationFailedListener(self.validationFailedListener);\r\n NewContractEvents.addProductSelectionClearedListener(self.productSelectionClearedListener);\r\n },\r\n beforeDestroy() {\r\n console.log(\"Page unmounted!\");\r\n NewContractEvents.removeValidationFailedListener(self.validationFailedListener);\r\n NewContractEvents.removeProductSelectionClearedListener(self.productSelectionClearedListener);\r\n }\r\n }\r\n });\r\n }\r\n\r\n // With this extra declaration we can declare validationFailedListener, which calls validationFailed method\r\n // with 'this' context being instance of ContractPage. If validationFailed was used directly as event handler, it's\r\n // 'this' would be something else, and it would not be possible to access ContractPage instance properties.\r\n validationFailedListener = (errors) => this.validationFailed(errors);\r\n\r\n validationFailed(validationErrors: ValidationErrors) {\r\n const errorMessages = validationErrors.getAll();\r\n const h = this.newContract.vue.$createElement;\r\n \r\n const errors = [];\r\n for (let i = 0; i < errorMessages.length; ++i) {\r\n errors.push(h(\"li\", errorMessages[i]));\r\n }\r\n \r\n const vNodesMsg = h(\r\n 'ul',\r\n { class: ['m-2'] },\r\n errors\r\n );\r\n\r\n if (currentLocale.startsWith(\"fi\")) {\r\n const vNodesTitle = h(\r\n 'div',\r\n {\r\n class: [\"m-1\"]\r\n },\r\n \"Tarkista tiedot\"\r\n );\r\n\r\n this.newContract.vue.$bvToast.toast([vNodesMsg], {\r\n title: [vNodesTitle],\r\n variant: \"danger\",\r\n solid: true,\r\n autoHideDelay: 10000\r\n });\r\n }\r\n else {\r\n const vNodesTitle = h(\r\n 'div',\r\n {\r\n class: [\"m-1\"]\r\n },\r\n \"Kolla informationen\"\r\n );\r\n\r\n this.newContract.vue.$bvToast.toast([vNodesMsg], {\r\n title: [vNodesTitle],\r\n variant: \"danger\",\r\n solid: true,\r\n autoHideDelay: 10000\r\n });\r\n }\r\n }\r\n\r\n productSelectionClearedListener = () => this.productSelectionCleared();\r\n\r\n productSelectionCleared() {\r\n this.newContract.vue.$bvToast.toast(\"Valittavissa olevat tuotteet muuttuivat\", {\r\n title: \"Tuotteet muuttuneet\",\r\n variant: \"warning\",\r\n solid: true,\r\n autoHideDelay: 10000\r\n });\r\n }\r\n}\r\n\r\nvar page = new ContractPage(\"#rootContainer\");","var map = {\n\t\"./af\": 42786,\n\t\"./af.js\": 42786,\n\t\"./ar\": 30867,\n\t\"./ar-dz\": 14130,\n\t\"./ar-dz.js\": 14130,\n\t\"./ar-kw\": 96135,\n\t\"./ar-kw.js\": 96135,\n\t\"./ar-ly\": 56440,\n\t\"./ar-ly.js\": 56440,\n\t\"./ar-ma\": 47702,\n\t\"./ar-ma.js\": 47702,\n\t\"./ar-sa\": 16040,\n\t\"./ar-sa.js\": 16040,\n\t\"./ar-tn\": 37100,\n\t\"./ar-tn.js\": 37100,\n\t\"./ar.js\": 30867,\n\t\"./az\": 31083,\n\t\"./az.js\": 31083,\n\t\"./be\": 9808,\n\t\"./be.js\": 9808,\n\t\"./bg\": 68338,\n\t\"./bg.js\": 68338,\n\t\"./bm\": 67438,\n\t\"./bm.js\": 67438,\n\t\"./bn\": 8905,\n\t\"./bn.js\": 8905,\n\t\"./bo\": 11560,\n\t\"./bo.js\": 11560,\n\t\"./br\": 1278,\n\t\"./br.js\": 1278,\n\t\"./bs\": 80622,\n\t\"./bs.js\": 80622,\n\t\"./ca\": 2468,\n\t\"./ca.js\": 2468,\n\t\"./cs\": 5822,\n\t\"./cs.js\": 5822,\n\t\"./cv\": 50877,\n\t\"./cv.js\": 50877,\n\t\"./cy\": 47373,\n\t\"./cy.js\": 47373,\n\t\"./da\": 24780,\n\t\"./da.js\": 24780,\n\t\"./de\": 59740,\n\t\"./de-at\": 60217,\n\t\"./de-at.js\": 60217,\n\t\"./de-ch\": 60894,\n\t\"./de-ch.js\": 60894,\n\t\"./de.js\": 59740,\n\t\"./dv\": 5300,\n\t\"./dv.js\": 5300,\n\t\"./el\": 50837,\n\t\"./el.js\": 50837,\n\t\"./en-SG\": 85383,\n\t\"./en-SG.js\": 85383,\n\t\"./en-au\": 78348,\n\t\"./en-au.js\": 78348,\n\t\"./en-ca\": 77925,\n\t\"./en-ca.js\": 77925,\n\t\"./en-gb\": 22243,\n\t\"./en-gb.js\": 22243,\n\t\"./en-ie\": 46436,\n\t\"./en-ie.js\": 46436,\n\t\"./en-il\": 47207,\n\t\"./en-il.js\": 47207,\n\t\"./en-nz\": 76319,\n\t\"./en-nz.js\": 76319,\n\t\"./eo\": 92915,\n\t\"./eo.js\": 92915,\n\t\"./es\": 55655,\n\t\"./es-do\": 55251,\n\t\"./es-do.js\": 55251,\n\t\"./es-us\": 71146,\n\t\"./es-us.js\": 71146,\n\t\"./es.js\": 55655,\n\t\"./et\": 5603,\n\t\"./et.js\": 5603,\n\t\"./eu\": 77763,\n\t\"./eu.js\": 77763,\n\t\"./fa\": 76959,\n\t\"./fa.js\": 76959,\n\t\"./fi\": 11897,\n\t\"./fi.js\": 11897,\n\t\"./fo\": 94694,\n\t\"./fo.js\": 94694,\n\t\"./fr\": 94470,\n\t\"./fr-ca\": 63049,\n\t\"./fr-ca.js\": 63049,\n\t\"./fr-ch\": 52330,\n\t\"./fr-ch.js\": 52330,\n\t\"./fr.js\": 94470,\n\t\"./fy\": 5044,\n\t\"./fy.js\": 5044,\n\t\"./ga\": 29295,\n\t\"./ga.js\": 29295,\n\t\"./gd\": 2101,\n\t\"./gd.js\": 2101,\n\t\"./gl\": 38794,\n\t\"./gl.js\": 38794,\n\t\"./gom-latn\": 23168,\n\t\"./gom-latn.js\": 23168,\n\t\"./gu\": 95349,\n\t\"./gu.js\": 95349,\n\t\"./he\": 24206,\n\t\"./he.js\": 24206,\n\t\"./hi\": 30094,\n\t\"./hi.js\": 30094,\n\t\"./hr\": 30316,\n\t\"./hr.js\": 30316,\n\t\"./hu\": 22138,\n\t\"./hu.js\": 22138,\n\t\"./hy-am\": 11423,\n\t\"./hy-am.js\": 11423,\n\t\"./id\": 29218,\n\t\"./id.js\": 29218,\n\t\"./is\": 90135,\n\t\"./is.js\": 90135,\n\t\"./it\": 90626,\n\t\"./it-ch\": 10150,\n\t\"./it-ch.js\": 10150,\n\t\"./it.js\": 90626,\n\t\"./ja\": 39183,\n\t\"./ja.js\": 39183,\n\t\"./jv\": 24286,\n\t\"./jv.js\": 24286,\n\t\"./ka\": 12105,\n\t\"./ka.js\": 12105,\n\t\"./kk\": 47772,\n\t\"./kk.js\": 47772,\n\t\"./km\": 18758,\n\t\"./km.js\": 18758,\n\t\"./kn\": 79282,\n\t\"./kn.js\": 79282,\n\t\"./ko\": 33730,\n\t\"./ko.js\": 33730,\n\t\"./ku\": 1408,\n\t\"./ku.js\": 1408,\n\t\"./ky\": 33291,\n\t\"./ky.js\": 33291,\n\t\"./lb\": 36841,\n\t\"./lb.js\": 36841,\n\t\"./lo\": 55466,\n\t\"./lo.js\": 55466,\n\t\"./lt\": 57010,\n\t\"./lt.js\": 57010,\n\t\"./lv\": 37595,\n\t\"./lv.js\": 37595,\n\t\"./me\": 39861,\n\t\"./me.js\": 39861,\n\t\"./mi\": 35493,\n\t\"./mi.js\": 35493,\n\t\"./mk\": 95966,\n\t\"./mk.js\": 95966,\n\t\"./ml\": 87341,\n\t\"./ml.js\": 87341,\n\t\"./mn\": 5115,\n\t\"./mn.js\": 5115,\n\t\"./mr\": 10370,\n\t\"./mr.js\": 10370,\n\t\"./ms\": 9847,\n\t\"./ms-my\": 41237,\n\t\"./ms-my.js\": 41237,\n\t\"./ms.js\": 9847,\n\t\"./mt\": 72126,\n\t\"./mt.js\": 72126,\n\t\"./my\": 56165,\n\t\"./my.js\": 56165,\n\t\"./nb\": 64924,\n\t\"./nb.js\": 64924,\n\t\"./ne\": 16744,\n\t\"./ne.js\": 16744,\n\t\"./nl\": 93901,\n\t\"./nl-be\": 59814,\n\t\"./nl-be.js\": 59814,\n\t\"./nl.js\": 93901,\n\t\"./nn\": 83877,\n\t\"./nn.js\": 83877,\n\t\"./pa-in\": 15858,\n\t\"./pa-in.js\": 15858,\n\t\"./pl\": 64495,\n\t\"./pl.js\": 64495,\n\t\"./pt\": 89520,\n\t\"./pt-br\": 57971,\n\t\"./pt-br.js\": 57971,\n\t\"./pt.js\": 89520,\n\t\"./ro\": 96459,\n\t\"./ro.js\": 96459,\n\t\"./ru\": 21793,\n\t\"./ru.js\": 21793,\n\t\"./sd\": 40950,\n\t\"./sd.js\": 40950,\n\t\"./se\": 10490,\n\t\"./se.js\": 10490,\n\t\"./si\": 90124,\n\t\"./si.js\": 90124,\n\t\"./sk\": 64249,\n\t\"./sk.js\": 64249,\n\t\"./sl\": 14985,\n\t\"./sl.js\": 14985,\n\t\"./sq\": 51104,\n\t\"./sq.js\": 51104,\n\t\"./sr\": 49131,\n\t\"./sr-cyrl\": 79915,\n\t\"./sr-cyrl.js\": 79915,\n\t\"./sr.js\": 49131,\n\t\"./ss\": 85893,\n\t\"./ss.js\": 85893,\n\t\"./sv\": 98760,\n\t\"./sv.js\": 98760,\n\t\"./sw\": 91172,\n\t\"./sw.js\": 91172,\n\t\"./ta\": 27333,\n\t\"./ta.js\": 27333,\n\t\"./te\": 23110,\n\t\"./te.js\": 23110,\n\t\"./tet\": 52095,\n\t\"./tet.js\": 52095,\n\t\"./tg\": 27321,\n\t\"./tg.js\": 27321,\n\t\"./th\": 9041,\n\t\"./th.js\": 9041,\n\t\"./tl-ph\": 75768,\n\t\"./tl-ph.js\": 75768,\n\t\"./tlh\": 89444,\n\t\"./tlh.js\": 89444,\n\t\"./tr\": 72397,\n\t\"./tr.js\": 72397,\n\t\"./tzl\": 28254,\n\t\"./tzl.js\": 28254,\n\t\"./tzm\": 51106,\n\t\"./tzm-latn\": 30699,\n\t\"./tzm-latn.js\": 30699,\n\t\"./tzm.js\": 51106,\n\t\"./ug-cn\": 9288,\n\t\"./ug-cn.js\": 9288,\n\t\"./uk\": 67691,\n\t\"./uk.js\": 67691,\n\t\"./ur\": 13795,\n\t\"./ur.js\": 13795,\n\t\"./uz\": 6791,\n\t\"./uz-latn\": 60588,\n\t\"./uz-latn.js\": 60588,\n\t\"./uz.js\": 6791,\n\t\"./vi\": 65666,\n\t\"./vi.js\": 65666,\n\t\"./x-pseudo\": 14378,\n\t\"./x-pseudo.js\": 14378,\n\t\"./yo\": 75805,\n\t\"./yo.js\": 75805,\n\t\"./zh-cn\": 83839,\n\t\"./zh-cn.js\": 83839,\n\t\"./zh-hk\": 55726,\n\t\"./zh-hk.js\": 55726,\n\t\"./zh-tw\": 74152,\n\t\"./zh-tw.js\": 74152\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 = 46700;","var e=function(){return(e=Object.assign||function(e){for(var t,r=1,s=arguments.length;r 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 = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\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(function(key) { return __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};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(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 = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(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 = function(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\t480: 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 = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\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(function(id) { return 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[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunki4u_web\"] = self[\"webpackChunki4u_web\"] || [];\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, [708,254], function() { return __webpack_require__(43612); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["module","Component","AccessLevelEnum","AuthenticationBankIdEnum","AuthenticationServiceTypeEnum","CISContractStatusEnum","ContactPersonTypeEnum","ContractContactPersonTypeEnum","ContractReasonEnum","ContractTypeEnum","DocumentTypeEnum","CustomerTypeEnum","FixedTermDurationUnit","HeatingTypeEnum","HousingTypeEnum","MeteringPointSourceEnum","MoveOutReasonEnum","PartTimeHousingTypeEnum","PhoneNumberTypeEnum","ProductComponentTypeEnum","ProcessStatusEnum","ProcessTypeEnum","ProductTypeEnum","RuleEnum","RuleTypeEnum","TarificationIdEnum","TariffTimeZoneIdEnum","UserMappingAccessLevelEnum","InvoicingMethodEnum","UserProfileFeatureTypeEnum","UtilityTypeEnum","WebModule","applyMixin","Vue","version","vuexInit","_init","options","target","devtoolHook","devtoolPlugin","store","targetState","mutation","state","action","find","list","f","deepCopy","obj","cache","hit","c","copy","key","forEachValue","fn","isObject","isPromise","val","assert","condition","msg","partial","arg","Module","rawModule","runtime","rawState","prototypeAccessors","ModuleCollection","rawRootModule","path","namespace","update","this$1","newModule","parent","rawChildModule","child","targetModule","functionAssert","value","objectAssert","assertTypes","assertRawModule","assertOptions","type","makeAssertionMessage","expected","buf","Store","install","plugins","strict","ref","dispatch","commit","payload","installModule","resetStoreVM","plugin","useDevtools","prototypeAccessors$1","v","_type","_payload","_options","unifyObjectStyle","entry","handler","sub","e","result","resolve","reject","res","error","genericSubscribe","subs","getter","cb","parentState","getNestedState","resetStore","newOptions","committing","hot","oldVm","wrappedGetters","computed","silent","enableStrictMode","rootState","isRoot","moduleName","local","makeLocalContext","namespacedType","registerMutation","registerAction","registerGetter","noNamespace","args","makeLocalGetters","gettersProxy","splitPos","localType","err","rawGetter","_Vue","mapState","normalizeNamespace","states","normalizeMap","getters","getModuleByNamespace","mapMutations","mutations","len","mapGetters","mapActions","actions","createNamespacedHelpers","map","isValidMap","helper","createLogger","collapsed","filter","stateBefore","stateAfter","transformer","mutationTransformer","mut","actionFilter","actionTransformer","act","logMutations","logActions","logger","prevState","nextState","formattedTime","getFormattedTime","formattedMutation","message","startMessage","endMessage","formattedAction","time","pad","repeat","str","times","num","maxLength","index","AddressViewModel","other","CompanyViewModel","ContactPersonViewModel","ContractViewModel","CustomerViewModel","MeteringPointViewModel","InvoicingAddressViewModel","CreditInformationViewModel","MultiUtilityMeteringPoint","NewContractEventBus","listener","validationErrors","NewContractEvents","InvoicingMethodFormat","invoicingMethod","contractType","utilityType","HousingTypeFormat","housingType","TarificationFormat","tarification","locale","HeatingTypeFormat","heatingType","CommonFormatUtils","contract","priceList","absoluteEndDate","duration","durationUnit","aed","csd","date","GenericTypeFormatTranslator","toStringFunc","input","translator","ContractReasonFormat","contractReason","DatepickerMinDates","PropertyTypeEnum","PropDesc","propertyNames","setValue","d","propName","propertyChain","parts","newObj","newPropChain","basicValues","meteringPointValues","contractValues","customerValues","server","ServerApi","ex","productId","priceListId","productViewModel","contractPartners","mp","utility","moveoutReason","moveoutDate","self","movingDate","pin","retVal","streetAddress","zipCode","externalMP","customerType","x","gsrn","years","getValueSetter","findPropertyDescriptor","culture","loadingNewPhase","autoClear","contractPartner","preSelected","isAuthenticated","holidays","ctx","payloads","deferredUpdates","errorMessages","dirty","propDesc","func","setterPromise","errorMsg","product","isExternalMP","identifier","gsrnCode","cond","count","item","PUBLIC_PATH_STRING","PublicPathReplacerDirective","el","binding","vnode","prevVnode","newValue","PhaseDescriptor","name","id","ValidationErrors","errors","arr","keys","PageModel","NewContract","event","elAny","trueValue","falseValue","ev","validationId","forcedName","propertyName","eventType","modifiers","eh","rootSelector","mixin","promises","tuple","products","userName","pinSet","phaseName","phaseId","currPhaseNdx","newPhaseNdx","phase","settings","preselects","tarificationId","i","ef","energy1","energy2","params","evt","render","_vm","_h","_c","$event","staticRenderFns","_typeof","_defineProperty","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","arr2","iter","reflectionIsSupported","copyReflectionMetadata","to","from","forwardMetadata","propertyKey","metaKeys","metaKey","metadata","fakeArray","hasProto","factory","Ctor","mixins","_len","Ctors","_key","isPrimitive","warn","collectDataFromConstructor","vm","originalInit","_this","data","plainData","$internalHooks","componentFactory","proto","descriptor","decorators","superProto","Super","Extended","forwardStaticMembers","reservedPropertyNames","shouldIgnore","Original","extendedDescriptor","superDescriptor","reactiveInjectKey","Inject","componentOptions","InjectReactive","fromKey_1","defaultVal_1","produceProvide","original","provide","rv","_loop_1","this_1","needToProduceProvide","Provide","k","ProvideReactive","reflectMetadataIsSupported","applyMetadata","Model","Prop","PropSync","Watch","_a","deep","_b","immediate","watch","hyphenateRE","hyphenate","Emit","_target","_i","emit","returnValue","emitName","Ref","refKey","ValidationMessage","component","ValidatedFormGroup","$$v","defaultControls","modes","fromPath","o","hasKeyCode","hasKeyCodeByCode","keyCode","has","code","array","_await","then","direct","_async","_empty","_awaitIgnored","_invoke","body","_invokeIgnored","_catch","recover","_finally","finalizer","VueSimpleSuggest","suggestion","current","old","enable","binder","keyEventsList","eventsList","listenerBinder","slot","vNode","slots","s","attr","display","text","elem","elemId","_this2","isMovingDown","direction","listEdge","hoversBetweenEdges","select","hideList","inputEvent","_this3","textBeforeRequest","newList","_this4","_this4$list","Addr","postalCode","postOffice","PostalAutocomplete","_postalCode","_locale","_postalOffice","query","hub","addrs","searchItem","selected","TarificationFormatPBE","tarif","UtilityTypeEnumDescription","ContractTypeEnumDescription","InvoicingMethodEnumDescription","AddressFormat","address","commaNext","ContactPersonUtils","cp","ArrayUtils","ObjectUtils","HousingTypeEnumDescription","ht","HeatingTypeEnumDescription","GetHeatingTypeEnumObject","l","SectionMode","ActionState","NewContractSection","SectionChecker","propertyAccessor","SectionState","allSet","previousMode","prevMode","mode","sectionStates","curr","prev","next","previous","scrollPixels","LoadingComponent","Checker","PreProductSelectionChecker","PreProductSelection","injectStyles","context","HorizontalFormGroup","PreProductSelectionDisplay","separator","strs","PriceListUtils","price","maximumFractionDigits","minimumFractionDigits","showVat","cost","basicPrice","energy1Price","energy2Price","additionalBasicPrice","serviceProductComponent","priceUnit","energy","servicePrice","now","vatChangeDate","PriceList","priceLists","ha","pg","ProductCard","ProductSelectionChecker","ProductSelection","fixedTermProducts","a","b","nonFixedTermProducts","selectedProduct","pl","ProductSelectionDisplay","Authentication","service","baseUrl","url","testPin","testPinInputValue","bank","FormGroupStatic","ContactPersonCard","ok","cancel","scope","StreetAutocomplete","_street","_streetName","_postOffice","oldValue","postalFilter","ContactPersonModal","contactPerson","postCode","street","streetName","CustomerInformationChecker","CustomerInformation","ndx","ctor","keyMap","p","nonEmpty","partner","idx","partners","custCult","CustomerInformationDisplay","CompanyInformationDisplay","CompanyInformationChecker","CompanyInformation","_classCallCheck","instance","Constructor","_defineProperties","props","_createClass","protoProps","staticProps","_objectSpread","source","ownKeys","sym","Language","language","months","monthsAbbr","days","en","utils","useUtc","date1","date2","d1","d2","month","year","day","format","translation","start","end","dates","makeDateUtils","utils$1","script","constructedDateUtils","typedDate","normalizeComponent","template","style","scopeId","isFunctionalTemplate","moduleIdentifier","shadowMode","createInjector","createInjectorSSR","createInjectorShadow","hook","originalRender","h","existing","normalizeComponent_1","__vue_script__","__vue_render__","__vue_staticRenderFns__","DateInput","script$1","tempDays","dObj","daysInMonth","monthName","yearSuffix","incrementBy","disabledDates","range","highlighted","prop","__vue_script__$1","__vue_render__$1","__vue_staticRenderFns__$1","PickerDay","script$2","__vue_script__$2","__vue_render__$2","__vue_staticRenderFns__$2","PickerMonth","script$3","decadeStart","decadeEnd","disabledYear","lastYearInPreviousPage","firstYearInNextPage","__vue_script__$3","__vue_render__$3","__vue_staticRenderFns__$3","PickerYear","script$4","startDate","pageTimestamp","_value","initialView","view","views","minimumViewIndex","maximumViewIndex","viewIndex","timestamp","parsed","emitEvent","isOldIE","addStyle","HEAD","styles","css","group","textNode","nodes","browser","__vue_script__$4","__vue_render__$4","__vue_staticRenderFns__$4","Datepicker","inject","DateRange","getEarliestDate","getLatestDate","dateWithoutTime","NewContractVueHelper","contractSettings","productDateRange","pa","dateRange","absolutePeriod","relativePeriod","period","min","movingMinDates","supplierChangeMinDates","productChangeMinDates","weekDaysToDisable","datesToDisable","momentDate","MeteringPointInformationChecker","i18n","MeteringPointInformation","v1","v2","utcNow","max","cisContract","m","newDate","MeteringPointInformationDisplay","PhaseNewContract","newVal","oldVal","errorFound","validationIds","selector","nodeList","elements","previousSectionMode","customerTypeSelected","cultureCode","cultureCodeString","PhaseContractConfirmation","langKey","addr","cultureCodeStr","SessionExpiration","show","ContractPage","vNodesMsg","vNodesTitle","page","webpackContext","req","webpackContextResolve","__webpack_require__","t","r","n","y","exports","u","M","J","g","S","A","w","D","N","O","j","F","T","z","L","P","G","C","K","R","E","V","_","I","B","H","X","U","W","Q","Y","q","Z","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","deferred","chunkIds","priority","notFulfilled","fulfilled","definition","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}