{"version":3,"file":"checkout.0b7936893fa9500b275f.js","mappings":";;;;;AAAAA,KAAK,CAACC,QAAQ,GAAG,IAAI,YAAY;EAE/B,IAAI,CAACC,MAAM,GAAG;IACVC,eAAe,EAAE;EACrB,CAAC;EAEF,IAAIC,CAAC,GAAGC,MAAM;EACd,IAAIC,IAAI,GAAG,IAAI;EACfA,IAAI,CAACC,OAAO,GAAG,IAAIC,aAAa,CAAC,UAAU,CAAC;EAC5CF,IAAI,CAACG,WAAW,GAAG,IAAIC,eAAe,CAAC,CAAC;EAExCJ,IAAI,CAACK,QAAQ,GAAG,IAAI;EACjBL,IAAI,CAACM,QAAQ,GAAG,IAAI;EAEpBR,CAAC,CAAC,YAAY;IAEVE,IAAI,CAACO,cAAc,GAAIT,CAAC,CAAC,WAAW,CAAC,CAACU,MAAM,GAAG,CAAC,GAAI,IAAI,GAAG,KAAK;IAEhE,IAAI,CAACR,IAAI,CAACO,cAAc,EACpB;IAEV,IAAIE,UAAU,GAAGT,IAAI,CAACU,kBAAkB,CAAC,YAAY,CAAC;IACtDV,IAAI,CAACW,8BAA8B,CAACF,UAAU,CAAC;IAE/C,IAAIG,UAAU,GAAGd,CAAC,CAAC,0BAA0B,CAAC;IAC9C,IAAIe,OAAO,GAAGf,CAAC,CAAC,kBAAkB,CAAC;IACnC,IAAIgB,iBAAiB,GAAGhB,CAAC,CAAC,yCAAyC,CAAC;IAEpEiB,MAAM,CAACC,SAAS,CAACtB,KAAK,CAACC,QAAQ,CAACC,MAAM,CAACC,eAAe,EAAE,UAAUoB,OAAO,EAAEC,MAAM,EAAE;MAEzE,IAAIA,MAAM,KAAK,IAAI,EACf;MAEJ,IAAIC,YAAY,GAAGzB,KAAK,CAAC0B,oBAAoB,CAACC,SAAS,CAAC,uBAAuB,CAAC;MAChF,IAAIF,YAAY,KAAK,IAAI,EAAE;QACvB;QACA,IAAIA,YAAY,CAACG,cAAc,CAACC,eAAe,CAAC,CAAC,EAAE;UAC3CL,MAAM,CAACM,OAAO,GAAG,KAAK;UACtBN,MAAM,CAACO,WAAW,GAAG,IAAI;UAC7B3B,CAAC,CAAC,mBAAmB,CAAC,CAAC4B,IAAI,CAAC,CAAC;QACjC;MACJ;MAGA,IAAIR,MAAM,CAACM,OAAO,KAAK,IAAI,IAAIN,MAAM,CAACO,WAAW,KAAK,IAAI,EAAE;QAExD,IAAIP,MAAM,CAACO,WAAW,KAAK,IAAI,EAC/B;UACI,IAAIP,MAAM,CAACO,WAAW,KAAK,IAAI,EAAE;YAC7Bb,UAAU,CAACe,WAAW,CAAC,aAAa,CAAC;YACrCf,UAAU,CAACgB,QAAQ,CAAC,sBAAsB,CAAC;UAC/C,CAAC,MAAM;YACHhB,UAAU,CAACe,WAAW,CAAC,sBAAsB,CAAC;YAC9Cf,UAAU,CAACgB,QAAQ,CAAC,aAAa,CAAC;UACtC;QACJ;QAEA,IAAIV,MAAM,CAACM,OAAO,KAAK,IAAI,EAAE;UAEzB,IAAIN,MAAM,CAACM,OAAO,KAAK,IAAI,EAAE;YACzBZ,UAAU,CAACiB,IAAI,CAAC,CAAC;UACrB,CAAC,MAAM;YACHjB,UAAU,CAACc,IAAI,CAAC,CAAC;UACrB;QACJ;MACJ,CAAC;;MAED,IAAIR,MAAM,CAACY,SAAS,KAAK,IAAI,EAAE;QAC3B,IAAIZ,MAAM,CAACY,SAAS,KAAK,IAAI,EAAE;UAC3BjB,OAAO,CAACgB,IAAI,CAAC,CAAC;QAClB,CAAC,MAAM;UACHhB,OAAO,CAACa,IAAI,CAAC,CAAC;QAClB;MACJ;MAEA,IAAIR,MAAM,CAACa,mBAAmB,KAAK,IAAI,EAAE;QAErC,IAAIb,MAAM,CAACa,mBAAmB,KAAK,IAAI,EAAE;UACrCjB,iBAAiB,CAACe,IAAI,CAAC,CAAC;QAC5B,CAAC,MAAM;UACHf,iBAAiB,CAACY,IAAI,CAAC,CAAC;QAC5B;MACJ;IAEJ,CAAC,CAAC;EAET,CAAC,CAAC;EAGC1B,IAAI,CAACgC,WAAW,GAAG,UAAUC,OAAO,EAAEC,OAAO,EAAE;IAC3C,OAAOpC,CAAC,CAAC,SAAS,GAAGmC,OAAO,CAACE,eAAe,CAAC,CAAC,GAAG,GAAG,CAAC,CAACC,IAAI,CAAC,aAAa,GAAGF,OAAO,GAAG,IAAI,CAAC;EAC9F,CAAC;EAEDlC,IAAI,CAACqC,SAAS,GAAG,UAAUJ,OAAO,EAAEK,QAAQ,EAAE;IAC1C,OAAOxC,CAAC,CAAC,SAAS,GAAGmC,OAAO,CAACE,eAAe,CAAC,CAAC,GAAG,GAAG,CAAC,CAACC,IAAI,CAAC,gBAAgB,GAAGE,QAAQ,GAAG,IAAI,CAAC;EAClG,CAAC;EAEJtC,IAAI,CAACuC,eAAe,GAAG,UAAUN,OAAO,EAAE;IACzC,IAAIO,SAAS,GAAGP,OAAO,CAACE,eAAe,CAAC,CAAC;IACzC,IAAID,OAAO;IACX,IAAIO,QAAQ,GAAG,KAAK;IACpB,IAAIC,OAAO,GAAG,KAAK;IACnB,IAAIC,OAAO,GAAG,EAAE;IAEhB,IAAIH,SAAS,KAAK,EAAE,IAAIA,SAAS,KAAK,EAAE,EAAE;MAAE;MAC3CC,QAAQ,GAAG,IAAI;MACN,IAAIR,OAAO,CAACW,YAAY,CAAC,CAAC,KAAK,SAAS,IAAIX,OAAO,CAACW,YAAY,CAAC,CAAC,KAAK,aAAa,EAAE;QAClFV,OAAO,GAAGlC,IAAI,CAACgC,WAAW,CAACC,OAAO,EAAE,eAAe,CAAC;QAChES,OAAO,GAAGT,OAAO,CAACY,oBAAoB,CAAC/C,CAAC,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC;QACjE6C,OAAO,GAAG,oBAAoB;MAC/B,CAAC,MAAM;QACMT,OAAO,GAAGlC,IAAI,CAACgC,WAAW,CAACC,OAAO,EAAE,OAAO,CAAC;QACxDS,OAAO,GAAGT,OAAO,CAACa,YAAY,CAAChD,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;QACjD6C,OAAO,GAAG,gBAAgB;MAC3B;IACK,CAAC,MAAM,IAAIH,SAAS,KAAK,EAAE,IAAIA,SAAS,KAAK,GAAG,EAAE;MAAE;MACzDN,OAAO,GAAGlC,IAAI,CAACgC,WAAW,CAACC,OAAO,EAAE,WAAW,CAAC;MAChDQ,QAAQ,GAAG,IAAI;MACfC,OAAO,GAAGT,OAAO,CAACY,oBAAoB,CAAC/C,CAAC,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC;MAC9D6C,OAAO,GAAG,oBAAoB;IACzB,CAAC,MAAM,IAAIH,SAAS,KAAK,EAAE,EAAE;MAAE;MACpCN,OAAO,GAAGlC,IAAI,CAACgC,WAAW,CAACC,OAAO,EAAE,WAAW,CAAC;MAChDQ,QAAQ,GAAG,IAAI;MACfC,OAAO,GAAGT,OAAO,CAACa,YAAY,CAAChD,CAAC,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC;MACtD6C,OAAO,GAAG,gBAAgB;IACrB,CAAC,MAAM,IAAIH,SAAS,KAAK,GAAG,IAAIA,SAAS,KAAK,GAAG,IAAIA,SAAS,KAAK,GAAG,EAAE;MAAE;MAC/EC,QAAQ,GAAG,IAAI;MACf,IAAIM,oBAAoB,GAAGrD,KAAK,CAACsD,QAAQ,CAAC3B,SAAS,CAAC,cAAc,CAAC;MAC1D,IAAI4B,cAAc,GAAGF,oBAAoB,CAACG,iBAAiB,CAACjB,OAAO,CAAC;MAE7ES,OAAO,GAAGO,cAAc,CAACE,OAAO;MAChCR,OAAO,GAAGM,cAAc,CAACG,OAAO;MAChClB,OAAO,GAAGe,cAAc,CAACI,OAAO;IACjC,CAAC,MAAM,IAAIb,SAAS,KAAK,EAAE,IAAIA,SAAS,KAAK,GAAG,EAAE;MACjDC,QAAQ,GAAG,IAAI;MACf,IAAIa,eAAe,GAAG5D,KAAK,CAACsD,QAAQ,CAAC3B,SAAS,CAAC,cAAc,CAAC;MACrD,IAAIkC,eAAe,GAAGD,eAAe,CAACE,kBAAkB,CAACvB,OAAO,CAAC;MAE1ES,OAAO,GAAGa,eAAe,CAACJ,OAAO;MACjCR,OAAO,GAAGY,eAAe,CAACH,OAAO;MACjClB,OAAO,GAAGqB,eAAe,CAACF,OAAO;IAClC,CAAC,MAAM,IAAIpB,OAAO,CAACwB,YAAY,CAAC,CAAC,EAAE;MAClChB,QAAQ,GAAG,IAAI;MACf,IAAIiB,SAAS,GAAGzB,OAAO,CAAC0B,iBAAiB,CAAC,CAAC;MAC3C,QAAQD,SAAS;QACjB,KAAK,CAAC;UACOxB,OAAO,GAAGlC,IAAI,CAACqC,SAAS,CAACJ,OAAO,EAAE,cAAc,CAAC;UACjDS,OAAO,GAAGT,OAAO,CAACa,YAAY,CAAChD,CAAC,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC;UACzD6C,OAAO,GAAG,gBAAgB;UAC1B;QACb,KAAK,CAAC;UACOT,OAAO,GAAGlC,IAAI,CAACqC,SAAS,CAACJ,OAAO,EAAE,YAAY,CAAC;UAC/CS,OAAO,GAAGT,OAAO,CAACY,oBAAoB,CAAC/C,CAAC,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC;UAC/D6C,OAAO,GAAG,oBAAoB;UAC9B;QACb,KAAK,CAAC;UACOT,OAAO,GAAGlC,IAAI,CAACqC,SAAS,CAACJ,OAAO,EAAE,kBAAkB,CAAC;UACrDS,OAAO,GAAGT,OAAO,CAAC2B,gBAAgB,CAAC9D,CAAC,CAAC,mBAAmB,CAAC,EAAE,KAAK,CAAC;UACjE6C,OAAO,GAAG,kBAAkB;UAC5B;QACb;UACaD,OAAO,GAAG,KAAK;UACfC,OAAO,GAAG,eAAe;UACzB;MACb;IACD,CAAC,MAAM;MACGD,OAAO,GAAG,IAAI;IACxB;IAEA,IAAID,QAAQ,EAAE;MACb,IAAI,CAACC,OAAO,EAAE;QACb,IAAImB,SAAS,GAAGnE,KAAK,CAACoE,UAAU,CAACC,eAAe,CAAC,aAAa,GAAGpB,OAAO,CAAC;QACzEkB,SAAS,CAACG,IAAI,CAAC,UAAUC,MAAM,EAAE;UAChCvE,KAAK,CAACoE,UAAU,CAACI,cAAc,CAAChC,OAAO,EAAE+B,MAAM,EAAE,KAAK,CAAC;UACvDvE,KAAK,CAACoE,UAAU,CAACK,aAAa,CAACjC,OAAO,CAAC;QACxC,CAAC,CAAC;MACH,CAAC,MAAM;QACN,IAAIA,OAAO,EAAE;UACZxC,KAAK,CAACoE,UAAU,CAACM,WAAW,CAAClC,OAAO,CAAC;QACtC;MACD;IACD;IAEA,OAAOQ,OAAO;EACf,CAAC;EAEE1C,IAAI,CAACqE,kBAAkB,GAAG,YAAW;IACjCvE,CAAC,CAAC,0BAA0B,CAAC,CAACwE,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC;EAC9D,CAAC;EAEDtE,IAAI,CAACuE,iBAAiB,GAAG,YAAW;IAChCzE,CAAC,CAAC,0BAA0B,CAAC,CAAC0E,UAAU,CAAC,UAAU,CAAC;EACxD,CAAC;EAEDxE,IAAI,CAACyE,WAAW,GAAG,UAAUC,YAAY,EAAE;IACvC1E,IAAI,CAACqE,kBAAkB,CAAC,CAAC;IACzBrE,IAAI,CAAC0E,YAAY,GAAGA,YAAY;IACtC,IAAIC,YAAY,GAAG7E,CAAC,CAAC,8CAA8C,CAAC;IACpE,IAAI6E,YAAY,CAACnE,MAAM,GAAG,CAAC,EAAE;MAC5BR,IAAI,CAAC4E,gBAAgB,CAAC9E,CAAC,CAAC,eAAe,CAAC,CAAC+E,IAAI,CAAC,CAAC,CAAC;MACvC7E,IAAI,CAACuE,iBAAiB,CAAC,CAAC;MACjC;IACD;IAEM,IAAIzE,CAAC,CAAC,eAAe,CAAC,CAACU,MAAM,KAAK,CAAC,EAAE;MACjC,IAAIsE,OAAO,GAAGhF,CAAC,CAAC,kBAAkB,CAAC;MACnC,IAAIgF,OAAO,CAAC,CAAC,CAAC,KAAKC,SAAS,EAAE;QAC1B,IAAID,OAAO,CAACE,GAAG,CAAC,CAAC,CAACxE,MAAM,GAAG,CAAC,EAAE;UAC1BsE,OAAO,CAACG,KAAK,CAAC,CAAC;UACfjF,IAAI,CAACuE,iBAAiB,CAAC,CAAC;UACxB;QACJ;MACJ;IACJ;IAENzE,CAAC,CAAC,qBAAqB,CAAC,CAAC4B,IAAI,CAAC,CAAC;IAC/B,IAAIP,YAAY,GAAGzB,KAAK,CAAC0B,oBAAoB,CAACC,SAAS,CAAC,uBAAuB,CAAC;IAC1E,IAAIY,OAAO,GAAGvC,KAAK,CAACsD,QAAQ,CAAC3B,SAAS,CAAC,cAAc,CAAC;IAEtD,IAAI,OAAOF,YAAY,CAACG,cAAc,CAAC4D,KAAK,CAAC,CAAC,KAAK,QAAQ,EACvD/D,YAAY,CAACG,cAAc,CAAC4D,KAAK,CAAC/D,YAAY,CAACG,cAAc,CAAC4D,KAAK,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,CAAC;IAE9F,IAAIC,uBAAuB,GAAGpF,IAAI,CAACuC,eAAe,CAACN,OAAO,CAAC;IAC3DjC,IAAI,CAACqF,gBAAgB,CAAC,CAAC;IACjB,IAAI,CAAClE,YAAY,CAACmE,6BAA6B,CAAC,CAAC,EAAE;MAC/CtF,IAAI,CAACuE,iBAAiB,CAAC,CAAC;MACxB;IACJ;IAEApD,YAAY,CAACsB,QAAQ,CAAC,CAAC,CAACuB,IAAI,CAAC,UAAUuB,gBAAgB,EAAE;MAErD,IAAI,CAACA,gBAAgB,CAACC,OAAO,IAAI,CAACJ,uBAAuB,EAAE;QACvD,IAAI,CAACA,uBAAuB,EAAE;UAC1B;QAAA,CACH,MACI,IAAIjE,YAAY,CAACsE,YAAY,CAAC,CAAC,EAAE;UAClC;UACAzF,IAAI,CAAC4E,gBAAgB,CAAC9E,CAAC,CAAC,qBAAqB,CAAC,CAAC+E,IAAI,CAAC,CAAC,CAAC;QAC1D,CAAC,MAAM,IAAIU,gBAAgB,CAACG,eAAe,CAAClF,MAAM,GAAG,CAAC,EAAE;UACpDR,IAAI,CAAC2F,2BAA2B,CAACJ,gBAAgB,CAACG,eAAe,CAAC,CAAC,CAAC,CAACE,IAAI,CAAC;QAC9E,CAAC,MAAM;UACH,IAAIL,gBAAgB,CAACtE,OAAO,KAAK,IAAI,IAAIsE,gBAAgB,CAACtE,OAAO,CAACT,MAAM,GAAG,CAAC,EACxER,IAAI,CAAC4E,gBAAgB,CAACW,gBAAgB,CAACtE,OAAO,CAAC;QACvD;QACAjB,IAAI,CAACuE,iBAAiB,CAAC,CAAC;QACxB;MACJ;MAEA,IAAI,CAACvE,IAAI,CAAC6F,uBAAuB,CAAC,CAAC,EAAE;QACjC7F,IAAI,CAAC4E,gBAAgB,CAAC9E,CAAC,CAAC,qBAAqB,CAAC,CAAC+E,IAAI,CAAC,CAAC,CAAC;QACtD7E,IAAI,CAACuE,iBAAiB,CAAC,CAAC;QACxB;MACJ;MAEApD,YAAY,CAACG,cAAc,CAACwE,0BAA0B,CAAC,CAAC,CAAC9B,IAAI,CAAC,UAAU+B,kBAAkB,EAAE;QAExF,IAAIA,kBAAkB,KAAKhB,SAAS,IAAI,CAACgB,kBAAkB,CAACC,OAAO,EAAE;UACjEhG,IAAI,CAAC4E,gBAAgB,CAACmB,kBAAkB,CAACE,OAAO,CAAC;UACjD;QACJ;QACA;QACAjG,IAAI,CAACC,OAAO,CAACiG,SAAS,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAClC,IAAI,CAAC,UAAUC,MAAM,EAAE;UACnE,IAAIA,MAAM,CAACzD,MAAM,GAAG,CAAC,EAAE;YACnBR,IAAI,CAACuE,iBAAiB,CAAC,CAAC;YAExB,IAAIN,MAAM,KAAK,mBAAmB,EAC9BkC,UAAU,CAAC,aAAa,CAAC,CAACnC,IAAI,CAAC,YAAM;cACjCtE,KAAK,CAAC0G,WAAW,CAACC,IAAI,CAAC,IAAI,CAAC;YAChC,CAAC,CAAC,CAAC,KACF,IAAIpC,MAAM,KAAK,4BAA4B,EAC5CkC,UAAU,CAAC,sBAAsB,CAAC,CAACnC,IAAI,CAAC,YAAM;cAC1CtE,KAAK,CAAC4G,oBAAoB,CAACD,IAAI,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC,KACF,IAAIpC,MAAM,KAAK,6CAA6C,EAAE;cAC/DlD,MAAM,CAACwF,OAAO,CAACtC,MAAM,CAACuC,gBAAgB,EAAEvC,MAAM,CAACwC,oBAAoB,CAAC;YACxE,CAAC,MACI;cACDC,OAAO,CAACC,GAAG,CAAC1C,MAAM,CAAC;cACnB2C,KAAK,CAAC,gCAAgC,CAAC;YAC3C;YACA;UACJ;;UAEA;UACA7F,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACmH,QAAQ,CAACjH,MAAM,CAACkH,cAAc,EAAE;YAAEC,QAAQ,EAAE,QAAQ;YAAEC,QAAQ,EAAE,KAAK;YAAEnF,IAAI,EAAE;UAAK,CAAC,CAAC;UAEzG,IAAIoF,QAAQ,GAAG9F,YAAY,CAAC+F,WAAW,CAAClH,IAAI,CAAC0E,YAAY,CAAC;UAC1D,IAAIyC,WAAW,GAAGlF,OAAO,CAACiF,WAAW,CAAC,CAAC;UACvC,IAAIE,cAAc;UAElB,IAAID,WAAW,CAAChF,eAAe,KAAK,GAAG,IAAIgF,WAAW,CAAChF,eAAe,KAAK,GAAG,IAAIgF,WAAW,CAAChF,eAAe,KAAK,GAAG,EAAE;YACnH,IAAIkF,YAAY,GAAGpF,OAAO,CAACqF,wBAAwB,CAACL,QAAQ,CAACM,MAAM,EAAEN,QAAQ,CAACO,QAAQ,EAAEP,QAAQ,CAACQ,MAAM,CAAC;YAExG,IAAIJ,YAAY,KAAK,EAAE,EAAE;cACrBrH,IAAI,CAACG,WAAW,CAACuH,QAAQ,CAAC,YAAY,EAAEL,YAAY,CAAC,CAACrD,IAAI,CAAC,UAAU2D,KAAK,EAAE;gBACxE,IAAIA,KAAK,CAACnH,MAAM,GAAG,CAAC,EAChBR,IAAI,CAAC4E,gBAAgB,CAAC+C,KAAK,CAAC;cACpC,CAAC,CAAC;cACF3H,IAAI,CAACuE,iBAAiB,CAAC,CAAC;cACxB;YACJ;YAEA6C,cAAc,GAAGD,WAAW,CAACS,2BAA2B;YACxDR,cAAc,CAACS,kBAAkB,GAAGV,WAAW,CAACC,cAAc,CAACS,kBAAkB;UACrF,CAAC,MAAM;YACHT,cAAc,GAAGD,WAAW,CAACC,cAAc;UAC/C;UAEA,IAAID,WAAW,CAACC,cAAc,CAACU,SAAS,KAAK,WAAW,EACpDb,QAAQ,CAACc,SAAS,GAAGZ,WAAW,CAACC,cAAc,CAACU,SAAS;UAE7D,IAAIb,QAAQ,CAACe,YAAY,KAAK,WAAW,IAAI/F,OAAO,CAACW,YAAY,CAAC,CAAC,KAAK,aAAa,EACjFqE,QAAQ,CAACe,YAAY,GAAG,SAAS;UAErC,IAAI1G,cAAc,GAAG5B,KAAK,CAAC0B,oBAAoB,CAACC,SAAS,CAAC,uBAAuB,CAAC,CAACC,cAAc;UACjG,IAAIA,cAAc,CAAC2G,cAAc,CAAC,CAAC,KAAK,IAAI,EAAE;YAC1C,IAAIA,cAAc,GAAG3G,cAAc,CAAC2G,cAAc,CAAC,CAAC;YACpDhB,QAAQ,CAACgB,cAAc,GAAG;cAAEC,KAAK,EAAED,cAAc,CAACC,KAAK;cAAEC,GAAG,EAAEF,cAAc,CAACE,GAAG;cAAEC,KAAK,EAAEH,cAAc,CAACG,KAAK;cAAEC,SAAS,EAAEJ,cAAc,CAACI;YAAU,CAAC;YACpJpB,QAAQ,CAACqB,kBAAkB,GAAGL,cAAc,CAACM,OAAO;UACxD;UAEAvI,IAAI,CAACC,OAAO,CAACuI,UAAU,CAAC,cAAc,EAAE;YAAEC,YAAY,EAAExB,QAAQ;YAAEyB,cAAc,EAAEtB,cAAc;YAAEuB,QAAQ,EAAE3I,IAAI,CAACM,QAAQ;YAAEsI,QAAQ,EAAE5I,IAAI,CAACK;UAAS,CAAC,CAAC,CAAC2D,IAAI,CAAC,UAAUC,MAAM,EAAE;YACzK,IAAIA,MAAM,CAAC4E,UAAU,KAAK,SAAS,EAAE;cAEjCC,MAAM,CAACC,QAAQ,GAAG9E,MAAM,CAAC+E,WAAW;YAExC,CAAC,MAAM;cACHhJ,IAAI,CAACuE,iBAAiB,CAAC,CAAC;cACxBxD,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACC,QAAQ,CAACC,MAAM,CAACC,eAAe,EAAE;gBAAE2B,OAAO,EAAE,IAAI;gBAAEC,WAAW,EAAE;cAAM,CAAC,CAAC;cAE5F,IAAIwC,MAAM,CAAC4E,UAAU,KAAK,6BAA6B,GAAG5E,MAAM,CAACgF,qBAAqB,EAAE;gBACpFjJ,IAAI,CAACW,8BAA8B,CAACsD,MAAM,CAACiF,YAAY,CAAC;cAC5D,CAAC,MACI,IAAIjF,MAAM,CAAC4E,UAAU,IAAI,qBAAqB,EAAE;gBACjD,IAAIM,mBAAmB,GAAG;kBACtBC,mBAAmB,EAAEnF,MAAM,CAACmF;gBAChC,CAAC;gBACD,IAAIC,YAAY,GAAG,IAAInJ,aAAa,CAAC,OAAO,CAAC;gBAC7CmJ,YAAY,CAACb,UAAU,CAAC,wBAAwB,EAAEW,mBAAmB,CAAC,CAACnF,IAAI,CAAC,UAAUsF,qBAAqB,EAAE;kBAEzGtJ,IAAI,CAAC4E,gBAAgB,CAAC0E,qBAAqB,CAACC,GAAG,CAAC;kBAChDzJ,CAAC,CAAC,eAAe,CAAC,CAAC0J,EAAE,CAAC,iBAAiB,EAAE,UAAUC,CAAC,EAAE;oBAClD1I,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACgK,IAAI,CAAC9J,MAAM,CAAC+J,aAAa,CAAC;kBACnD,CAAC,CAAC;gBACN,CAAC,CAAC;cACN,CAAC,MACI,IAAI1F,MAAM,CAACgF,qBAAqB,EAAE;gBACnCjJ,IAAI,CAAC4E,gBAAgB,CAACX,MAAM,CAACiF,YAAY,CAAC;gBAC1C,IAAIjF,MAAM,CAAC4E,UAAU,KAAK,yBAAyB,EAAE;kBACjD/I,CAAC,CAAC,eAAe,CAAC,CAAC0J,EAAE,CAAC,iBAAiB,EAAE,UAAUC,CAAC,EAAE;oBAClD1I,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACgK,IAAI,CAAC9J,MAAM,CAAC+J,aAAa,CAAC;kBACnD,CAAC,CAAC;gBACN;cACJ,CAAC,MACI,IAAI1F,MAAM,CAAC2F,8BAA8B,EAAE;gBAC5C,IAAI3F,MAAM,CAAC4F,oCAAoC,EAC3C7J,IAAI,CAACW,8BAA8B,CAACsD,MAAM,CAAC6F,qBAAqB,CAAC,CAAC,KAElE9J,IAAI,CAAC4E,gBAAgB,CAACX,MAAM,CAAC6F,qBAAqB,CAAC;cAC3D,CAAC,MACI,IAAI7F,MAAM,CAAC4E,UAAU,KAAK,wBAAwB,EAAE;gBACrD7I,IAAI,CAAC4E,gBAAgB,CAAC,wBAAwB,CAAC;cACnD,CAAC,MACI;gBACD,IAAIX,MAAM,CAAC4E,UAAU,KAAK,kCAAkC,EACxD9H,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACgK,IAAI,CAAC9J,MAAM,CAACmK,cAAc,EAAE;kBAAElI,IAAI,EAAE;gBAAK,CAAC,CAAC;gBACpE;gBACAd,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACsK,QAAQ,CAACpK,MAAM,CAACqK,cAAc,EAAE,IAAI,CAAC;gBAE1D,IAAIhG,MAAM,CAAC4E,UAAU,KAAK,iBAAiB,EAAE5E,MAAM,CAAC4E,UAAU,GAAG,0BAA0B;gBAC3F7I,IAAI,CAACW,8BAA8B,CAACsD,MAAM,CAAC4E,UAAU,CAAC;gBAEtD,IAAI5E,MAAM,CAAC4E,UAAU,KAAK,0BAA0B,IAAI5E,MAAM,CAAC4E,UAAU,KAAK,eAAe,IAAI5E,MAAM,CAAC4E,UAAU,KAAK,0BAA0B,IAC7I5E,MAAM,CAAC4E,UAAU,KAAK,iBAAiB,IAAI5E,MAAM,CAAC4E,UAAU,KAAK,wBAAwB,EAAE;kBAC3F/I,CAAC,CAAC,eAAe,CAAC,CAAC0J,EAAE,CAAC,iBAAiB,EAAE,UAAUC,CAAC,EAAE;oBAClDX,MAAM,CAACC,QAAQ,CAACmB,MAAM,CAAC,IAAI,CAAC;kBAChC,CAAC,CAAC;gBACN,CAAC,MACI,IAAIjG,MAAM,CAAC4E,UAAU,KAAK,kBAAkB,IAAI5E,MAAM,CAAC4E,UAAU,KAAK,6BAA6B,EAAE;kBACtG/I,CAAC,CAAC,eAAe,CAAC,CAAC0J,EAAE,CAAC,iBAAiB,EAAE,UAAUC,CAAC,EAAE;oBAClD1I,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACgK,IAAI,CAAC9J,MAAM,CAAC+J,aAAa,CAAC;kBACnD,CAAC,CAAC;gBACN;cACJ;YACJ;UACJ,CAAC,CAAC;QACN,CAAC,CAAC;MACN,CAAC,CAAC;IACZ,CAAC,CAAC,CACDQ,KAAK,CAAC,UAAUC,KAAK,EAAE;MACvBtK,CAAC,CAAC,iBAAiB,CAAC,CAACuK,KAAK,CAAC,MAAM,CAAC;MACzBrK,IAAI,CAACuE,iBAAiB,CAAC,CAAC;MACjCmC,OAAO,CAACC,GAAG,CAACyD,KAAK,CAAC;IACnB,CAAC,CAAC;EACH,CAAC;EAEEpK,IAAI,CAAC6F,uBAAuB,GAAG,YAAW;IACtC,IAAIyE,iBAAiB,GAAGxK,CAAC,CAAC,sBAAsB,CAAC;IACjD,IAAIyK,eAAe,GAAGzK,CAAC,CAAC,mBAAmB,CAAC;IAC5CyK,eAAe,CAAC5I,WAAW,CAAC,WAAW,CAAC;IACxC,IAAI2I,iBAAiB,CAAC9J,MAAM,GAAG,CAAC,IAAI+J,eAAe,CAACC,EAAE,CAAC,UAAU,CAAC,EAAE;MAChE,IAAIF,iBAAiB,CAACG,IAAI,CAAC,SAAS,CAAC,EAAE;QACnC,OAAO,IAAI;MACf;IACJ,CAAC,MAAM;MACH,OAAO,IAAI;IACf;IAEAF,eAAe,CAAC3I,QAAQ,CAAC,WAAW,CAAC;IACrC,OAAO,KAAK;EAChB,CAAC;EAEJ5B,IAAI,CAAC4E,gBAAgB,GAAG,UAAU3D,OAAO,EAAE;IAC1C,IAAIA,OAAO,CAACT,MAAM,GAAG,CAAC,EACrBR,IAAI,CAAC0K,qBAAqB,CAACzJ,OAAO,CAAC;EACrC,CAAC;EAEDjB,IAAI,CAACW,8BAA8B,GAAG,UAAUF,UAAU,EAAE;IAC3D,IAAIA,UAAU,CAACD,MAAM,KAAK,CAAC,EAC1B;IAED,IAAImK,iBAAiB,GAAG,CACvB,YAAY,EAAE,uBAAuB,EAAE,qBAAqB,EAC5D,gBAAgB,EAAE,mBAAmB,EAAE,oBAAoB,CAC3D;IAED,IAAIA,iBAAiB,CAACC,OAAO,CAACnK,UAAU,CAAC,KAAK,CAAC,CAAC,EAC/CA,UAAU,GAAG,cAAc;IAE5BT,IAAI,CAACG,WAAW,CAACuH,QAAQ,CAAC,qBAAqB,EAAEjH,UAAU,CAAC,CAACuD,IAAI,CAAC,UAAU2D,KAAK,EAAE;MACzE,IAAIA,KAAK,CAACnH,MAAM,GAAG,CAAC,EAAE;QAClB,IAAIqK,OAAO,GAAG7K,IAAI,CAACU,kBAAkB,CAAC,SAAS,CAAC;QAChD,IAAImK,OAAO,EAAElD,KAAK,GAAGA,KAAK,CAACmD,OAAO,CAAC,aAAa,EAAED,OAAO,CAAC;QAE1D,IAAIE,KAAK,GAAG/K,IAAI,CAACU,kBAAkB,CAAC,OAAO,CAAC;QAC5C,IAAIqK,KAAK,EAAEpD,KAAK,GAAGA,KAAK,CAACmD,OAAO,CAAC,WAAW,EAAEC,KAAK,CAAC;QAEpD/K,IAAI,CAAC0K,qBAAqB,CAAC/C,KAAK,CAAC;MACrC,CAAC,MACL;QACJ3H,IAAI,CAACG,WAAW,CAACuH,QAAQ,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAAC1D,IAAI,CAAC,UAAU2D,KAAK,EAAE;UACtF,IAAIA,KAAK,CAACnH,MAAM,GAAG,CAAC,EACnBR,IAAI,CAAC0K,qBAAqB,CAAC/C,KAAK,CAAC,CAAC,KAElC3H,IAAI,CAAC0K,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAC;QAClC,CAAC,CAAC;MACH;IACD,CAAC,CAAC;EACH,CAAC;;EAEE1K,IAAI,CAAC0K,qBAAqB,GAAG,UAASzJ,OAAO,EAAE+J,MAAM,EAAE;IACnD,IAAIC,GAAG,GAAGnL,CAAC,CAAC,sBAAsB,CAAC;IACnC,IAAIkL,MAAM,KAAK,IAAI,EAAE;MACjBC,GAAG,CAACC,MAAM,CAACjK,OAAO,CAAC;IACvB,CAAC,MAAM;MACHgK,GAAG,CAACpG,IAAI,CAAC5D,OAAO,CAAC;IACrB;IAEAjB,IAAI,CAACmL,YAAY,CAACrL,CAAC,CAAC,sBAAsB,CAAC,CAAC+E,IAAI,CAAC,CAAC,CAAC;IACnD9D,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACmH,QAAQ,CAACjH,MAAM,CAACkH,cAAc,EAAE;MAAEjF,IAAI,EAAE;IAAK,CAAC,CAAC;EACxE,CAAC;EAEJ7B,IAAI,CAAC2F,2BAA2B,GAAG,UAAUzD,OAAO,EAAE;IACrD,IAAIkJ,aAAa,GAAG,GAAG;IACvB,IAAIC,SAAS,GAAG,GAAG;IACnBvL,CAAC,CAAC,YAAY,CAAC,CAACwL,OAAO,CAAC;MACvBC,SAAS,EAAEzL,CAAC,CAACoC,OAAO,CAAC,CAACsJ,MAAM,CAAC,CAAC,CAACC,GAAG,GAAGJ;IACtC,CAAC,EAAED,aAAa,CAAC;IACjBlJ,OAAO,CAAC+C,KAAK,CAAC,CAAC;EACb,CAAC;EAEJjF,IAAI,CAACU,kBAAkB,GAAG,UAAUgL,IAAI,EAAE;IACzCA,IAAI,GAAGA,IAAI,CAACZ,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAACA,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC;IACzD,IAAIa,KAAK,GAAG,IAAIC,MAAM,CAAC,QAAQ,GAAGF,IAAI,GAAG,WAAW,CAAC;MACnDG,OAAO,GAAGF,KAAK,CAACG,IAAI,CAAC/C,QAAQ,CAACgD,MAAM,CAAC;IACvC,OAAOF,OAAO,KAAK,IAAI,GAAG,EAAE,GAAGG,kBAAkB,CAACH,OAAO,CAAC,CAAC,CAAC,CAACf,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;EAClF,CAAC;EAED9K,IAAI,CAACqF,gBAAgB,GAAG,YAAY;IAEnC,IAAI4G,IAAI,GAAGnM,CAAC,CAAC,aAAa,CAAC;IAC3B,IAAImM,IAAI,CAACzL,MAAM,GAAG,CAAC,EAClB;IAEDR,IAAI,CAACmL,YAAY,CAACc,IAAI,CAACpH,IAAI,CAAC,CAAC,CAAC;EAC/B,CAAC;EAED7E,IAAI,CAACmL,YAAY,GAAG,UAAUtG,IAAI,EAAE;IAEnC,IAAIqH,QAAQ,GAAGpM,CAAC,CAAC,uBAAuB,CAAC;IACzC,IAAIoM,QAAQ,CAAC1L,MAAM,GAAG,CAAC,EAAE;MACfO,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACC,QAAQ,CAACC,MAAM,CAACC,eAAe,EAAE;QAAE2B,OAAO,EAAE,KAAK;QAAEC,WAAW,EAAE;MAAM,CAAC,CAAC;MACtG;IACD;IAEAyK,QAAQ,CAACrH,IAAI,CAACA,IAAI,CAAC;EACpB,CAAC;EAED9D,MAAM,CAACC,SAAS,CAACtB,KAAK,CAACgK,IAAI,CAAC9J,MAAM,CAACU,QAAQ,EAAE,UAAUW,OAAO,EAAEkL,IAAI,EAAE;IACrE,IAAIA,IAAI,KAAK,IAAI,EAAE;MAClBnM,IAAI,CAACK,QAAQ,GAAG8L,IAAI,CAAC9L,QAAQ;MAC7BL,IAAI,CAACM,QAAQ,GAAG6L,IAAI,CAAC7L,QAAQ;IAC9B;EACE,CAAC,CAAC;AACN,CAAC,CAAD,CAAC;;;;;;;ACxfDZ,KAAK,CAAC0M,oBAAoB,GAAG,IAAI,YAAW;EAE3C;EACA,IAAI,CAACC,QAAQ,GAAG,IAAI,YAAY,CAAE,CAAC,CAAD,CAAC;EAEnC,IAAI,CAACC,uBAAuB,GAAG,UAAUC,EAAE,EAAEC,IAAI,EAAEC,WAAW,EAAE;IAC/D,IAAI3M,CAAC,GAAGC,MAAM;IAEd,IAAIC,IAAI,GAAG,IAAI;IACfA,IAAI,CAACuM,EAAE,GAAG,GAAG,GAAGA,EAAE;IAClBvM,IAAI,CAACC,OAAO,GAAG,IAAIC,aAAa,CAAC,MAAM,CAAC;;IAExC;IACAF,IAAI,CAAC0M,EAAE,GAAG,IAAI,YAAY;MACzB,IAAIC,IAAI,GAAG,IAAI;MACfA,IAAI,CAACC,WAAW,GAAGC,EAAE,CAACC,UAAU,CAAC,CAAC;IACnC,CAAC,CAAD,CAAC,CAAC,CAAC;;IAEH9M,IAAI,CAACqG,IAAI,GAAG,UAAU0G,GAAG,EAAEC,OAAO,EAAE;MACnC,IAAID,GAAG,IAAI,IAAI,EACd;MAED/M,IAAI,CAAC0M,EAAE,CAACE,WAAW,CAACG,GAAG,CAACE,WAAW,CAAC;IACrC,CAAC;;IAED;IACAJ,EAAE,CAACK,aAAa,CAAClN,IAAI,CAAC0M,EAAE,EAAES,QAAQ,CAACC,cAAc,CAACb,EAAE,CAAC,CAAC;IACtDvM,IAAI,CAACqG,IAAI,CAACmG,IAAI,EAAEC,WAAW,CAAC;EAC7B,CAAC;AACF,CAAC,CAAD,CAAC;;;;;;;AC7BD/M,KAAK,CAAC2N,kBAAkB,GAAG,IAAI,YAAY;EAE1C,IAAI,CAACzN,MAAM,GAAG,CACd,CAAC;EAED,IAAI,CAAC8M,EAAE,GAAG,UAAUH,EAAE,EAAE;IACjB,IAAIvM,IAAI,GAAG,IAAI;IACrB,IAAI,CAACuM,EAAE,GAAG,GAAG,GAAGA,EAAE;IACZ,IAAI,CAACe,gBAAgB,GAAG;MACpBC,6BAA6B,EAAEV,EAAE,CAACC,UAAU,CAAC,KAAK,CAAC;MACnDU,eAAe,EAAEX,EAAE,CAACY,eAAe,CAAC,EAAE,CAAC;MACvCC,SAAS,EAAE,CAAC;MACZC,SAAS,EAAE;IACf,CAAC;IAED,IAAI,CAACC,kBAAkB,GAAG,KAAK;IAE/B,IAAI,CAACvH,IAAI,GAAG,UAAU8F,IAAI,EAAE0B,QAAQ,EAAE;MAClC9M,MAAM,CAACC,SAAS,CAACtB,KAAK,CAACoO,UAAU,CAAClO,MAAM,CAACmO,cAAc,EAAE,UAAUC,GAAG,EAAEC,eAAe,EAAE;QACrF,IAAIjO,IAAI,CAACsN,gBAAgB,CAACI,SAAS,IAAIO,eAAe,CAACP,SAAS,EAAE;UAE9D,IAAIO,eAAe,CAACC,6BAA6B,KAAK,IAAI,EAAE;YACxDlO,IAAI,CAACsN,gBAAgB,CAACC,6BAA6B,CAAC,IAAI,CAAC;UAC7D,CAAC,MACI;YACDvN,IAAI,CAACsN,gBAAgB,CAACC,6BAA6B,CAACU,eAAe,CAACC,6BAA6B,CAAC;UACtG;UACAlO,IAAI,CAACsN,gBAAgB,CAACE,eAAe,CAACS,eAAe,CAACT,eAAe,CAAC;UACtExN,IAAI,CAACsN,gBAAgB,CAACK,SAAS,GAAGM,eAAe,CAACvB,EAAE;QACxD;MACJ,CAAC,CAAC;MACF3L,MAAM,CAACC,SAAS,CAACtB,KAAK,CAACgK,IAAI,CAAC9J,MAAM,CAACuO,mBAAmB,EAAE,UAAUH,GAAG,EAAEJ,kBAAkB,EAAE;QACvF5N,IAAI,CAAC4N,kBAAkB,GAAGA,kBAAkB;QAE5C,IAAIQ,EAAE,GAAGrO,MAAM,CAAC,0BAA0B,CAAC;QAE3C,IAAIC,IAAI,CAAC4N,kBAAkB,EAAE;UACzBQ,EAAE,CAACC,OAAO,CAAC,QAAQ,CAAC;UACpBD,EAAE,CAACC,OAAO,CAAC,MAAM,CAAC;UAClBD,EAAE,CAACE,IAAI,CAAC,CAAC;QACb,CAAC,MAAM;UACHF,EAAE,CAACC,OAAO,CAAC,MAAM,CAAC;UAClBD,EAAE,CAACC,OAAO,CAAC,SAAS,CAAC;QACzB;MAEJ,CAAC,CAAC;IACN,CAAC;IAED,IAAI,CAAC5J,WAAW,GAAG,UAAU8J,MAAM,EAAE;MACjC,IAAIvO,IAAI,CAAC4N,kBAAkB,EAAE;QACzB;MACJ;MAEA,IAAIY,kBAAkB,GAAG;QACrBjB,6BAA6B,EAAEvN,IAAI,CAACsN,gBAAgB,CAACC,6BAA6B;QAClFC,eAAe,EAAExN,IAAI,CAACsN,gBAAgB,CAACE,eAAe,CAAC,CAAC;QACxDE,SAAS,EAAE1N,IAAI,CAACsN,gBAAgB,CAACI;MACrC,CAAC;MAED,IAAI1N,IAAI,CAACsN,gBAAgB,IAAI,IAAI,IAAItN,IAAI,CAACsN,gBAAgB,CAACE,eAAe,IAAI,IAAI,IAAIxN,IAAI,CAACsN,gBAAgB,CAACE,eAAe,CAAC,CAAC,CAAChN,MAAM,IAAI,CAAC,EAAE;QACvIgO,kBAAkB,CAACjB,6BAA6B,CAAC,IAAI,CAAC;QACtD,IAAIgB,MAAM,KAAK,OAAO,EAClB,OAAO,IAAI;QACf7O,KAAK,CAACC,QAAQ,CAAC8E,WAAW,CAAC+J,kBAAkB,CAAC;QAC9C;MACJ;MAEA,IAAIxO,IAAI,CAACsN,gBAAgB,CAACC,6BAA6B,CAAC,CAAC,EAAE;QACvD,IAAIgB,MAAM,KAAK,OAAO,EAClB,OAAO,IAAI;QACf7O,KAAK,CAACC,QAAQ,CAAC8E,WAAW,CAAC+J,kBAAkB,CAAC;MAClD,CAAC,MACI;QACD,IAAIxO,IAAI,CAACsN,gBAAgB,CAACK,SAAS,KAAK,IAAI,EAAE;UAC1C,IAAI3N,IAAI,CAACsN,gBAAgB,CAACK,SAAS,CAACc,iBAAiB,CAAC,oBAAoB,CAAC,EAAE;YACzE/O,KAAK,CAACoE,UAAU,CAAC4K,uBAAuB,CAAC1O,IAAI,CAACuM,EAAE,GAAG,2BAA2B,EAC1ExM,MAAM,CAAC,+BAA+B,CAAC,CAACS,MAAM,GAAG,CAAC,GAAGT,MAAM,CAAC,+BAA+B,CAAC,CAAC,CAAC,CAAC,CAAC4O,SAAS,GAAG,EAAE,CAAC;UACvH;QACJ;MACJ;IACJ,CAAC;EACR,CAAC;AACF,CAAC,CAAD,CAAC;;;;;;;;+CCjFD,qJAAAC,mBAAA,YAAAA,oBAAA,WAAAnF,CAAA,SAAAoF,CAAA,EAAApF,CAAA,OAAAqF,CAAA,GAAAC,MAAA,CAAAC,SAAA,EAAAC,CAAA,GAAAH,CAAA,CAAAI,cAAA,EAAAC,CAAA,GAAAJ,MAAA,CAAAK,cAAA,cAAAP,CAAA,EAAApF,CAAA,EAAAqF,CAAA,IAAAD,CAAA,CAAApF,CAAA,IAAAqF,CAAA,CAAAnH,KAAA,KAAA0H,CAAA,wBAAAC,MAAA,GAAAA,MAAA,OAAAC,CAAA,GAAAF,CAAA,CAAAG,QAAA,kBAAAC,CAAA,GAAAJ,CAAA,CAAAK,aAAA,uBAAAC,CAAA,GAAAN,CAAA,CAAAO,WAAA,8BAAAC,OAAAhB,CAAA,EAAApF,CAAA,EAAAqF,CAAA,WAAAC,MAAA,CAAAK,cAAA,CAAAP,CAAA,EAAApF,CAAA,IAAA9B,KAAA,EAAAmH,CAAA,EAAAgB,UAAA,MAAAC,YAAA,MAAAC,QAAA,SAAAnB,CAAA,CAAApF,CAAA,WAAAoG,MAAA,mBAAAhB,CAAA,IAAAgB,MAAA,YAAAA,OAAAhB,CAAA,EAAApF,CAAA,EAAAqF,CAAA,WAAAD,CAAA,CAAApF,CAAA,IAAAqF,CAAA,gBAAAmB,KAAApB,CAAA,EAAApF,CAAA,EAAAqF,CAAA,EAAAG,CAAA,QAAAI,CAAA,GAAA5F,CAAA,IAAAA,CAAA,CAAAuF,SAAA,YAAAkB,SAAA,GAAAzG,CAAA,GAAAyG,SAAA,EAAAX,CAAA,GAAAR,MAAA,CAAAoB,MAAA,CAAAd,CAAA,CAAAL,SAAA,GAAAS,CAAA,OAAAW,OAAA,CAAAnB,CAAA,gBAAAE,CAAA,CAAAI,CAAA,eAAA5H,KAAA,EAAA0I,gBAAA,CAAAxB,CAAA,EAAAC,CAAA,EAAAW,CAAA,MAAAF,CAAA,aAAAe,SAAAzB,CAAA,EAAApF,CAAA,EAAAqF,CAAA,mBAAAyB,IAAA,YAAAC,GAAA,EAAA3B,CAAA,CAAA4B,IAAA,CAAAhH,CAAA,EAAAqF,CAAA,cAAAD,CAAA,aAAA0B,IAAA,WAAAC,GAAA,EAAA3B,CAAA,QAAApF,CAAA,CAAAwG,IAAA,GAAAA,IAAA,MAAAS,CAAA,qBAAAC,CAAA,qBAAAC,CAAA,gBAAAC,CAAA,gBAAAC,CAAA,gBAAAZ,UAAA,cAAAa,kBAAA,cAAAC,2BAAA,SAAAC,CAAA,OAAApB,MAAA,CAAAoB,CAAA,EAAA1B,CAAA,qCAAA2B,CAAA,GAAAnC,MAAA,CAAAoC,cAAA,EAAAC,CAAA,GAAAF,CAAA,IAAAA,CAAA,CAAAA,CAAA,CAAAG,MAAA,QAAAD,CAAA,IAAAA,CAAA,KAAAtC,CAAA,IAAAG,CAAA,CAAAwB,IAAA,CAAAW,CAAA,EAAA7B,CAAA,MAAA0B,CAAA,GAAAG,CAAA,OAAAE,CAAA,GAAAN,0BAAA,CAAAhC,SAAA,GAAAkB,SAAA,CAAAlB,SAAA,GAAAD,MAAA,CAAAoB,MAAA,CAAAc,CAAA,YAAAM,sBAAA1C,CAAA,gCAAA2C,OAAA,WAAA/H,CAAA,IAAAoG,MAAA,CAAAhB,CAAA,EAAApF,CAAA,YAAAoF,CAAA,gBAAA4C,OAAA,CAAAhI,CAAA,EAAAoF,CAAA,sBAAA6C,cAAA7C,CAAA,EAAApF,CAAA,aAAAkI,OAAA7C,CAAA,EAAAK,CAAA,EAAAE,CAAA,EAAAE,CAAA,QAAAE,CAAA,GAAAa,QAAA,CAAAzB,CAAA,CAAAC,CAAA,GAAAD,CAAA,EAAAM,CAAA,mBAAAM,CAAA,CAAAc,IAAA,QAAAZ,CAAA,GAAAF,CAAA,CAAAe,GAAA,EAAAE,CAAA,GAAAf,CAAA,CAAAhI,KAAA,SAAA+I,CAAA,gBAAAkB,OAAA,CAAAlB,CAAA,KAAAzB,CAAA,CAAAwB,IAAA,CAAAC,CAAA,eAAAjH,CAAA,CAAAoI,OAAA,CAAAnB,CAAA,CAAAoB,OAAA,EAAA9N,IAAA,WAAA6K,CAAA,IAAA8C,MAAA,SAAA9C,CAAA,EAAAQ,CAAA,EAAAE,CAAA,gBAAAV,CAAA,IAAA8C,MAAA,UAAA9C,CAAA,EAAAQ,CAAA,EAAAE,CAAA,QAAA9F,CAAA,CAAAoI,OAAA,CAAAnB,CAAA,EAAA1M,IAAA,WAAA6K,CAAA,IAAAc,CAAA,CAAAhI,KAAA,GAAAkH,CAAA,EAAAQ,CAAA,CAAAM,CAAA,gBAAAd,CAAA,WAAA8C,MAAA,UAAA9C,CAAA,EAAAQ,CAAA,EAAAE,CAAA,SAAAA,CAAA,CAAAE,CAAA,CAAAe,GAAA,SAAA1B,CAAA,EAAAK,CAAA,oBAAAxH,KAAA,WAAAA,MAAAkH,CAAA,EAAAI,CAAA,aAAA8C,2BAAA,eAAAtI,CAAA,WAAAA,CAAA,EAAAqF,CAAA,IAAA6C,MAAA,CAAA9C,CAAA,EAAAI,CAAA,EAAAxF,CAAA,EAAAqF,CAAA,gBAAAA,CAAA,GAAAA,CAAA,GAAAA,CAAA,CAAA9K,IAAA,CAAA+N,0BAAA,EAAAA,0BAAA,IAAAA,0BAAA,qBAAA1B,iBAAA5G,CAAA,EAAAqF,CAAA,EAAAG,CAAA,QAAAE,CAAA,GAAAuB,CAAA,mBAAArB,CAAA,EAAAE,CAAA,QAAAJ,CAAA,KAAAyB,CAAA,YAAAoB,KAAA,sCAAA7C,CAAA,KAAA0B,CAAA,oBAAAxB,CAAA,QAAAE,CAAA,WAAA5H,KAAA,EAAAkH,CAAA,EAAAoD,IAAA,eAAAhD,CAAA,CAAAiD,MAAA,GAAA7C,CAAA,EAAAJ,CAAA,CAAAuB,GAAA,GAAAjB,CAAA,UAAAE,CAAA,GAAAR,CAAA,CAAAkD,QAAA,MAAA1C,CAAA,QAAAE,CAAA,GAAAyC,mBAAA,CAAA3C,CAAA,EAAAR,CAAA,OAAAU,CAAA,QAAAA,CAAA,KAAAmB,CAAA,mBAAAnB,CAAA,qBAAAV,CAAA,CAAAiD,MAAA,EAAAjD,CAAA,CAAAoD,IAAA,GAAApD,CAAA,CAAAqD,KAAA,GAAArD,CAAA,CAAAuB,GAAA,sBAAAvB,CAAA,CAAAiD,MAAA,QAAA/C,CAAA,KAAAuB,CAAA,QAAAvB,CAAA,GAAA0B,CAAA,EAAA5B,CAAA,CAAAuB,GAAA,EAAAvB,CAAA,CAAAsD,iBAAA,CAAAtD,CAAA,CAAAuB,GAAA,uBAAAvB,CAAA,CAAAiD,MAAA,IAAAjD,CAAA,CAAAuD,MAAA,WAAAvD,CAAA,CAAAuB,GAAA,GAAArB,CAAA,GAAAyB,CAAA,MAAAK,CAAA,GAAAX,QAAA,CAAA7G,CAAA,EAAAqF,CAAA,EAAAG,CAAA,oBAAAgC,CAAA,CAAAV,IAAA,QAAApB,CAAA,GAAAF,CAAA,CAAAgD,IAAA,GAAApB,CAAA,GAAAF,CAAA,EAAAM,CAAA,CAAAT,GAAA,KAAAM,CAAA,qBAAAnJ,KAAA,EAAAsJ,CAAA,CAAAT,GAAA,EAAAyB,IAAA,EAAAhD,CAAA,CAAAgD,IAAA,kBAAAhB,CAAA,CAAAV,IAAA,KAAApB,CAAA,GAAA0B,CAAA,EAAA5B,CAAA,CAAAiD,MAAA,YAAAjD,CAAA,CAAAuB,GAAA,GAAAS,CAAA,CAAAT,GAAA,mBAAA4B,oBAAA3I,CAAA,EAAAqF,CAAA,QAAAG,CAAA,GAAAH,CAAA,CAAAoD,MAAA,EAAA/C,CAAA,GAAA1F,CAAA,CAAA+F,QAAA,CAAAP,CAAA,OAAAE,CAAA,KAAAN,CAAA,SAAAC,CAAA,CAAAqD,QAAA,qBAAAlD,CAAA,IAAAxF,CAAA,CAAA+F,QAAA,CAAAiD,MAAA,KAAA3D,CAAA,CAAAoD,MAAA,aAAApD,CAAA,CAAA0B,GAAA,GAAA3B,CAAA,EAAAuD,mBAAA,CAAA3I,CAAA,EAAAqF,CAAA,eAAAA,CAAA,CAAAoD,MAAA,kBAAAjD,CAAA,KAAAH,CAAA,CAAAoD,MAAA,YAAApD,CAAA,CAAA0B,GAAA,OAAAkC,SAAA,uCAAAzD,CAAA,iBAAA6B,CAAA,MAAAzB,CAAA,GAAAiB,QAAA,CAAAnB,CAAA,EAAA1F,CAAA,CAAA+F,QAAA,EAAAV,CAAA,CAAA0B,GAAA,mBAAAnB,CAAA,CAAAkB,IAAA,SAAAzB,CAAA,CAAAoD,MAAA,YAAApD,CAAA,CAAA0B,GAAA,GAAAnB,CAAA,CAAAmB,GAAA,EAAA1B,CAAA,CAAAqD,QAAA,SAAArB,CAAA,MAAAvB,CAAA,GAAAF,CAAA,CAAAmB,GAAA,SAAAjB,CAAA,GAAAA,CAAA,CAAA0C,IAAA,IAAAnD,CAAA,CAAArF,CAAA,CAAAkJ,UAAA,IAAApD,CAAA,CAAA5H,KAAA,EAAAmH,CAAA,CAAA8D,IAAA,GAAAnJ,CAAA,CAAAoJ,OAAA,eAAA/D,CAAA,CAAAoD,MAAA,KAAApD,CAAA,CAAAoD,MAAA,WAAApD,CAAA,CAAA0B,GAAA,GAAA3B,CAAA,GAAAC,CAAA,CAAAqD,QAAA,SAAArB,CAAA,IAAAvB,CAAA,IAAAT,CAAA,CAAAoD,MAAA,YAAApD,CAAA,CAAA0B,GAAA,OAAAkC,SAAA,sCAAA5D,CAAA,CAAAqD,QAAA,SAAArB,CAAA,cAAAgC,aAAAjE,CAAA,QAAApF,CAAA,KAAAsJ,MAAA,EAAAlE,CAAA,YAAAA,CAAA,KAAApF,CAAA,CAAAuJ,QAAA,GAAAnE,CAAA,WAAAA,CAAA,KAAApF,CAAA,CAAAwJ,UAAA,GAAApE,CAAA,KAAApF,CAAA,CAAAyJ,QAAA,GAAArE,CAAA,WAAAsE,UAAA,CAAAC,IAAA,CAAA3J,CAAA,cAAA4J,cAAAxE,CAAA,QAAApF,CAAA,GAAAoF,CAAA,CAAAyE,UAAA,QAAA7J,CAAA,CAAA8G,IAAA,oBAAA9G,CAAA,CAAA+G,GAAA,EAAA3B,CAAA,CAAAyE,UAAA,GAAA7J,CAAA,aAAA2G,QAAAvB,CAAA,SAAAsE,UAAA,MAAAJ,MAAA,aAAAlE,CAAA,CAAA2C,OAAA,CAAAsB,YAAA,cAAAS,KAAA,iBAAAlC,OAAA5H,CAAA,QAAAA,CAAA,WAAAA,CAAA,QAAAqF,CAAA,GAAArF,CAAA,CAAA8F,CAAA,OAAAT,CAAA,SAAAA,CAAA,CAAA2B,IAAA,CAAAhH,CAAA,4BAAAA,CAAA,CAAAmJ,IAAA,SAAAnJ,CAAA,OAAA+J,KAAA,CAAA/J,CAAA,CAAAjJ,MAAA,SAAA2O,CAAA,OAAAE,CAAA,YAAAuD,KAAA,aAAAzD,CAAA,GAAA1F,CAAA,CAAAjJ,MAAA,OAAAyO,CAAA,CAAAwB,IAAA,CAAAhH,CAAA,EAAA0F,CAAA,UAAAyD,IAAA,CAAAjL,KAAA,GAAA8B,CAAA,CAAA0F,CAAA,GAAAyD,IAAA,CAAAX,IAAA,OAAAW,IAAA,SAAAA,IAAA,CAAAjL,KAAA,GAAAkH,CAAA,EAAA+D,IAAA,CAAAX,IAAA,OAAAW,IAAA,YAAAvD,CAAA,CAAAuD,IAAA,GAAAvD,CAAA,gBAAAqD,SAAA,CAAAd,OAAA,CAAAnI,CAAA,kCAAAsH,iBAAA,CAAA/B,SAAA,GAAAgC,0BAAA,EAAA7B,CAAA,CAAAmC,CAAA,mBAAA3J,KAAA,EAAAqJ,0BAAA,EAAAjB,YAAA,SAAAZ,CAAA,CAAA6B,0BAAA,mBAAArJ,KAAA,EAAAoJ,iBAAA,EAAAhB,YAAA,SAAAgB,iBAAA,CAAA0C,WAAA,GAAA5D,MAAA,CAAAmB,0BAAA,EAAArB,CAAA,wBAAAlG,CAAA,CAAAiK,mBAAA,aAAA7E,CAAA,QAAApF,CAAA,wBAAAoF,CAAA,IAAAA,CAAA,CAAA8E,WAAA,WAAAlK,CAAA,KAAAA,CAAA,KAAAsH,iBAAA,6BAAAtH,CAAA,CAAAgK,WAAA,IAAAhK,CAAA,CAAAiC,IAAA,OAAAjC,CAAA,CAAAmK,IAAA,aAAA/E,CAAA,WAAAE,MAAA,CAAA8E,cAAA,GAAA9E,MAAA,CAAA8E,cAAA,CAAAhF,CAAA,EAAAmC,0BAAA,KAAAnC,CAAA,CAAAiF,SAAA,GAAA9C,0BAAA,EAAAnB,MAAA,CAAAhB,CAAA,EAAAc,CAAA,yBAAAd,CAAA,CAAAG,SAAA,GAAAD,MAAA,CAAAoB,MAAA,CAAAmB,CAAA,GAAAzC,CAAA,KAAApF,CAAA,CAAAsK,KAAA,aAAAlF,CAAA,aAAAiD,OAAA,EAAAjD,CAAA,OAAA0C,qBAAA,CAAAG,aAAA,CAAA1C,SAAA,GAAAa,MAAA,CAAA6B,aAAA,CAAA1C,SAAA,EAAAS,CAAA,iCAAAhG,CAAA,CAAAiI,aAAA,GAAAA,aAAA,EAAAjI,CAAA,CAAAuK,KAAA,aAAAnF,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,EAAAE,CAAA,eAAAA,CAAA,KAAAA,CAAA,GAAA4E,OAAA,OAAA1E,CAAA,OAAAmC,aAAA,CAAAzB,IAAA,CAAApB,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,GAAAE,CAAA,UAAA5F,CAAA,CAAAiK,mBAAA,CAAA5E,CAAA,IAAAS,CAAA,GAAAA,CAAA,CAAAqD,IAAA,GAAA5O,IAAA,WAAA6K,CAAA,WAAAA,CAAA,CAAAoD,IAAA,GAAApD,CAAA,CAAAlH,KAAA,GAAA4H,CAAA,CAAAqD,IAAA,WAAArB,qBAAA,CAAAD,CAAA,GAAAzB,MAAA,CAAAyB,CAAA,EAAA3B,CAAA,gBAAAE,MAAA,CAAAyB,CAAA,EAAA/B,CAAA,iCAAAM,MAAA,CAAAyB,CAAA,6DAAA7H,CAAA,CAAAyK,IAAA,aAAArF,CAAA,QAAApF,CAAA,GAAAsF,MAAA,CAAAF,CAAA,GAAAC,CAAA,gBAAAG,CAAA,IAAAxF,CAAA,EAAAqF,CAAA,CAAAsE,IAAA,CAAAnE,CAAA,UAAAH,CAAA,CAAAqF,OAAA,aAAAvB,KAAA,WAAA9D,CAAA,CAAAtO,MAAA,SAAAqO,CAAA,GAAAC,CAAA,CAAAsF,GAAA,QAAAvF,CAAA,IAAApF,CAAA,SAAAmJ,IAAA,CAAAjL,KAAA,GAAAkH,CAAA,EAAA+D,IAAA,CAAAX,IAAA,OAAAW,IAAA,WAAAA,IAAA,CAAAX,IAAA,OAAAW,IAAA,QAAAnJ,CAAA,CAAA4H,MAAA,GAAAA,MAAA,EAAAjB,OAAA,CAAApB,SAAA,KAAA2E,WAAA,EAAAvD,OAAA,EAAAmD,KAAA,WAAAA,MAAA9J,CAAA,aAAA4K,IAAA,WAAAzB,IAAA,WAAAP,IAAA,QAAAC,KAAA,GAAAzD,CAAA,OAAAoD,IAAA,YAAAE,QAAA,cAAAD,MAAA,gBAAA1B,GAAA,GAAA3B,CAAA,OAAAsE,UAAA,CAAA3B,OAAA,CAAA6B,aAAA,IAAA5J,CAAA,WAAAqF,CAAA,kBAAAA,CAAA,CAAAwF,MAAA,OAAArF,CAAA,CAAAwB,IAAA,OAAA3B,CAAA,MAAA0E,KAAA,EAAA1E,CAAA,CAAAyF,KAAA,cAAAzF,CAAA,IAAAD,CAAA,MAAA2F,IAAA,WAAAA,KAAA,SAAAvC,IAAA,WAAApD,CAAA,QAAAsE,UAAA,IAAAG,UAAA,kBAAAzE,CAAA,CAAA0B,IAAA,QAAA1B,CAAA,CAAA2B,GAAA,cAAAiE,IAAA,KAAAlC,iBAAA,WAAAA,kBAAA9I,CAAA,aAAAwI,IAAA,QAAAxI,CAAA,MAAAqF,CAAA,kBAAA4F,OAAAzF,CAAA,EAAAE,CAAA,WAAAI,CAAA,CAAAgB,IAAA,YAAAhB,CAAA,CAAAiB,GAAA,GAAA/G,CAAA,EAAAqF,CAAA,CAAA8D,IAAA,GAAA3D,CAAA,EAAAE,CAAA,KAAAL,CAAA,CAAAoD,MAAA,WAAApD,CAAA,CAAA0B,GAAA,GAAA3B,CAAA,KAAAM,CAAA,aAAAA,CAAA,QAAAgE,UAAA,CAAA3S,MAAA,MAAA2O,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAA8D,UAAA,CAAAhE,CAAA,GAAAI,CAAA,GAAAF,CAAA,CAAAiE,UAAA,iBAAAjE,CAAA,CAAA0D,MAAA,SAAA2B,MAAA,aAAArF,CAAA,CAAA0D,MAAA,SAAAsB,IAAA,QAAA5E,CAAA,GAAAR,CAAA,CAAAwB,IAAA,CAAApB,CAAA,eAAAM,CAAA,GAAAV,CAAA,CAAAwB,IAAA,CAAApB,CAAA,qBAAAI,CAAA,IAAAE,CAAA,aAAA0E,IAAA,GAAAhF,CAAA,CAAA2D,QAAA,SAAA0B,MAAA,CAAArF,CAAA,CAAA2D,QAAA,gBAAAqB,IAAA,GAAAhF,CAAA,CAAA4D,UAAA,SAAAyB,MAAA,CAAArF,CAAA,CAAA4D,UAAA,cAAAxD,CAAA,aAAA4E,IAAA,GAAAhF,CAAA,CAAA2D,QAAA,SAAA0B,MAAA,CAAArF,CAAA,CAAA2D,QAAA,qBAAArD,CAAA,YAAAqC,KAAA,qDAAAqC,IAAA,GAAAhF,CAAA,CAAA4D,UAAA,SAAAyB,MAAA,CAAArF,CAAA,CAAA4D,UAAA,YAAAT,MAAA,WAAAA,OAAA3D,CAAA,EAAApF,CAAA,aAAAqF,CAAA,QAAAqE,UAAA,CAAA3S,MAAA,MAAAsO,CAAA,SAAAA,CAAA,QAAAK,CAAA,QAAAgE,UAAA,CAAArE,CAAA,OAAAK,CAAA,CAAA4D,MAAA,SAAAsB,IAAA,IAAApF,CAAA,CAAAwB,IAAA,CAAAtB,CAAA,wBAAAkF,IAAA,GAAAlF,CAAA,CAAA8D,UAAA,QAAA5D,CAAA,GAAAF,CAAA,aAAAE,CAAA,iBAAAR,CAAA,mBAAAA,CAAA,KAAAQ,CAAA,CAAA0D,MAAA,IAAAtJ,CAAA,IAAAA,CAAA,IAAA4F,CAAA,CAAA4D,UAAA,KAAA5D,CAAA,cAAAE,CAAA,GAAAF,CAAA,GAAAA,CAAA,CAAAiE,UAAA,cAAA/D,CAAA,CAAAgB,IAAA,GAAA1B,CAAA,EAAAU,CAAA,CAAAiB,GAAA,GAAA/G,CAAA,EAAA4F,CAAA,SAAA6C,MAAA,gBAAAU,IAAA,GAAAvD,CAAA,CAAA4D,UAAA,EAAAnC,CAAA,SAAA6D,QAAA,CAAApF,CAAA,MAAAoF,QAAA,WAAAA,SAAA9F,CAAA,EAAApF,CAAA,oBAAAoF,CAAA,CAAA0B,IAAA,QAAA1B,CAAA,CAAA2B,GAAA,qBAAA3B,CAAA,CAAA0B,IAAA,mBAAA1B,CAAA,CAAA0B,IAAA,QAAAqC,IAAA,GAAA/D,CAAA,CAAA2B,GAAA,gBAAA3B,CAAA,CAAA0B,IAAA,SAAAkE,IAAA,QAAAjE,GAAA,GAAA3B,CAAA,CAAA2B,GAAA,OAAA0B,MAAA,kBAAAU,IAAA,yBAAA/D,CAAA,CAAA0B,IAAA,IAAA9G,CAAA,UAAAmJ,IAAA,GAAAnJ,CAAA,GAAAqH,CAAA,KAAA8D,MAAA,WAAAA,OAAA/F,CAAA,aAAApF,CAAA,QAAA0J,UAAA,CAAA3S,MAAA,MAAAiJ,CAAA,SAAAA,CAAA,QAAAqF,CAAA,QAAAqE,UAAA,CAAA1J,CAAA,OAAAqF,CAAA,CAAAmE,UAAA,KAAApE,CAAA,cAAA8F,QAAA,CAAA7F,CAAA,CAAAwE,UAAA,EAAAxE,CAAA,CAAAoE,QAAA,GAAAG,aAAA,CAAAvE,CAAA,GAAAgC,CAAA,OAAA3G,KAAA,WAAA0K,OAAAhG,CAAA,aAAApF,CAAA,QAAA0J,UAAA,CAAA3S,MAAA,MAAAiJ,CAAA,SAAAA,CAAA,QAAAqF,CAAA,QAAAqE,UAAA,CAAA1J,CAAA,OAAAqF,CAAA,CAAAiE,MAAA,KAAAlE,CAAA,QAAAI,CAAA,GAAAH,CAAA,CAAAwE,UAAA,kBAAArE,CAAA,CAAAsB,IAAA,QAAApB,CAAA,GAAAF,CAAA,CAAAuB,GAAA,EAAA6C,aAAA,CAAAvE,CAAA,YAAAK,CAAA,gBAAA6C,KAAA,8BAAA8C,aAAA,WAAAA,cAAArL,CAAA,EAAAqF,CAAA,EAAAG,CAAA,gBAAAkD,QAAA,KAAA3C,QAAA,EAAA6B,MAAA,CAAA5H,CAAA,GAAAkJ,UAAA,EAAA7D,CAAA,EAAA+D,OAAA,EAAA5D,CAAA,oBAAAiD,MAAA,UAAA1B,GAAA,GAAA3B,CAAA,GAAAiC,CAAA,OAAArH,CAAA;AAAA,SAAAsL,mBAAAC,GAAA,EAAAnD,OAAA,EAAAoD,MAAA,EAAAC,KAAA,EAAAC,MAAA,EAAAC,GAAA,EAAA5E,GAAA,cAAA6E,IAAA,GAAAL,GAAA,CAAAI,GAAA,EAAA5E,GAAA,OAAA7I,KAAA,GAAA0N,IAAA,CAAA1N,KAAA,WAAAyC,KAAA,IAAA6K,MAAA,CAAA7K,KAAA,iBAAAiL,IAAA,CAAApD,IAAA,IAAAJ,OAAA,CAAAlK,KAAA,YAAAsM,OAAA,CAAApC,OAAA,CAAAlK,KAAA,EAAA3D,IAAA,CAAAkR,KAAA,EAAAC,MAAA;AAAA,SAAAG,kBAAAC,EAAA,6BAAAvV,IAAA,SAAAwV,IAAA,GAAAC,SAAA,aAAAxB,OAAA,WAAApC,OAAA,EAAAoD,MAAA,QAAAD,GAAA,GAAAO,EAAA,CAAAG,KAAA,CAAA1V,IAAA,EAAAwV,IAAA,YAAAN,MAAAvN,KAAA,IAAAoN,kBAAA,CAAAC,GAAA,EAAAnD,OAAA,EAAAoD,MAAA,EAAAC,KAAA,EAAAC,MAAA,UAAAxN,KAAA,cAAAwN,OAAAQ,GAAA,IAAAZ,kBAAA,CAAAC,GAAA,EAAAnD,OAAA,EAAAoD,MAAA,EAAAC,KAAA,EAAAC,MAAA,WAAAQ,GAAA,KAAAT,KAAA,CAAAnQ,SAAA;AADArF,KAAK,CAACsD,QAAQ,GAAGjD,MAAM,CAAC6V,MAAM,CAAClW,KAAK,CAACsD,QAAQ,EAAE,IAAI,YAAY;EAE3D,IAAI,CAAC0J,EAAE,GAAG,UAAUH,EAAE,EAAE;IAEpB;IACA,IAAIsJ,YAAY,GAAG,GAAG;IACtB,IAAIC,gBAAgB,GAAG,GAAG;IAC1B,IAAIC,kBAAkB,GAAG,GAAG;IAC5B,IAAIC,eAAe,GAAG,EAAE;IACxB,IAAIC,kBAAkB,GAAG,GAAG;IAC5B,IAAIC,cAAc,GAAG,GAAG;IACxB,IAAIC,YAAY,GAAG,GAAG;IAEtB,IAAI,CAACC,gBAAgB,GAAG,IAAI;IAC5B,IAAI,CAACC,oBAAoB,GAAG,IAAI;IAChC,IAAI,CAACC,YAAY,GAAG,EAAE;IAEtB,IAAIxW,CAAC,GAAGC,MAAM;IACd,IAAIC,IAAI,GAAG,IAAI;IACf,IAAI,CAACuM,EAAE,GAAG,GAAG,GAAGA,EAAE;IAClB,IAAI,CAACsB,QAAQ,GAAG,IAAI;IACpB7N,IAAI,CAACuW,OAAO,GAAG,KAAK;IACpBvW,IAAI,CAACwW,aAAa,GAAG,KAAK;IAC1B,IAAIC,eAAe,GAAG3W,CAAC,CAAC,mBAAmB,CAAC;IAC5C,IAAI2W,eAAe,KAAK1R,SAAS,IAAI0R,eAAe,KAAK,IAAI,IAAIA,eAAe,CAACjW,MAAM,GAAG,CAAC,EACvFR,IAAI,CAACwW,aAAa,GAAG,IAAI;IAE7BxW,IAAI,CAAC0W,kBAAkB,GAAG,IAAI;IAE9B1W,IAAI,CAAC2W,mBAAmB,GAAG,EAAE;IAC7B3W,IAAI,CAAC4W,kBAAkB,GAAG,KAAK;IAC/B5W,IAAI,CAAC6W,eAAe,GAAG,KAAK;IAC5B7W,IAAI,CAACK,QAAQ,GAAG,IAAI;IACpBL,IAAI,CAACM,QAAQ,GAAG,IAAI;IACpBN,IAAI,CAACC,OAAO,GAAG,IAAIC,aAAa,CAAC,SAAS,CAAC;IAC3CF,IAAI,CAAC8W,mBAAmB,GAAG,KAAK;IAChC9W,IAAI,CAACG,WAAW,GAAG,IAAIC,eAAe,CAAC,CAAC;IACxCJ,IAAI,CAAC0E,YAAY,GAAG,IAAI;IACxB1E,IAAI,CAAC+W,WAAW,GAAG,YAAY;MAC3B,IAAIC,KAAK,CAACC,OAAO,KAAK,EAAE,EAAE;QACtBD,KAAK,CAACE,cAAc,CAAC,CAAC;MAC1B,CAAC,MAAM,OAAO,IAAI;IACtB,CAAC;IAED,IAAI,CAAC7Q,IAAI,GAAG,UAAU8F,IAAI,EAAE0B,QAAQ,EAAEsJ,eAAe,EAAE;MACnD,IAAItJ,QAAQ,KAAK,IAAI,IAAIA,QAAQ,EAAE;QAC/B7N,IAAI,CAAC6N,QAAQ,GAAGA,QAAQ;MAC5B;MAEA1H,UAAU,CAAC,4BAA4B,CAAC,CAACnC,IAAI,CAAC,YAAM;QAChD,IAAItE,KAAK,CAAC0B,oBAAoB,CAACC,SAAS,KAAK0D,SAAS,IAAIrF,KAAK,CAAC0B,oBAAoB,CAACC,SAAS,CAAC,uBAAuB,CAAC,KAAK0D,SAAS,EAAE;UACnIhE,MAAM,CAACC,SAAS,CAACtB,KAAK,CAACE,MAAM,CAACwB,oBAAoB,CAACgW,mBAAmB,EAAE,YAAY;YAChFpX,IAAI,CAACmB,YAAY,GAAGzB,KAAK,CAAC0B,oBAAoB,CAACC,SAAS,CAAC,uBAAuB,CAAC;YACjFrB,IAAI,CAACqX,SAAS,CAAClL,IAAI,EAAE0B,QAAQ,EAAEsJ,eAAe,CAAC;UAEnD,CAAC,CAAC;QACN,CAAC,MACI;UACDnX,IAAI,CAACmB,YAAY,GAAGzB,KAAK,CAAC0B,oBAAoB,CAACC,SAAS,CAAC,uBAAuB,CAAC;UACjFrB,IAAI,CAACqX,SAAS,CAAClL,IAAI,EAAE0B,QAAQ,EAAEsJ,eAAe,CAAC;QAEnD;MAEJ,CAAC,CAAC;IACN,CAAC;IACD,IAAI,CAACE,SAAS,GAAG,UAAUlL,IAAI,EAAE0B,QAAQ,EAAEsJ,eAAe,EAAE;MACxDpW,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACsD,QAAQ,CAACpD,MAAM,CAAC0X,gBAAgB,EAAE,IAAI,CAAC;MAI5D,IAAInL,IAAI,KAAK,IAAI,IAAI,CAACA,IAAI,EAAE;QACxBnM,IAAI,CAACC,OAAO,CAACiG,SAAS,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAClC,IAAI,CAAC,UAAUC,MAAM,EAAE;UAClEjE,IAAI,CAACqX,SAAS,CAACpT,MAAM,EAAE,IAAI,EAAEkT,eAAe,CAAC;QACjD,CAAC,CAAC;QAEF;MACJ;MAEAnX,IAAI,CAACuX,WAAW,GAAGvX,IAAI,CAAC6N,QAAQ,CAAC0J,WAAW;MAC5CvX,IAAI,CAACwX,iBAAiB,GAAGxX,IAAI,CAAC6N,QAAQ,CAAC2J,iBAAiB;MAExDxX,IAAI,CAACyX,+BAA+B,CAAC,KAAK,CAAC;MAC3CzX,IAAI,CAAC0X,8BAA8B,CAAC,KAAK,CAAC;MAC1C1X,IAAI,CAAC2X,oCAAoC,CAAC,KAAK,CAAC;MAEhD,IAAI3X,IAAI,CAAC6N,QAAQ,CAAC+J,MAAM,EAAE;QACtB5X,IAAI,CAACyX,+BAA+B,CAACzX,IAAI,CAAC6N,QAAQ,CAAC+J,MAAM,CAACC,yBAAyB,CAAC;QACpF7X,IAAI,CAAC0X,8BAA8B,CAAC1X,IAAI,CAAC6N,QAAQ,CAAC+J,MAAM,CAACE,wBAAwB,CAAC;QAClF9X,IAAI,CAAC2X,oCAAoC,CAAC3X,IAAI,CAAC6N,QAAQ,CAAC+J,MAAM,CAACG,8BAA8B,CAAC;MAClG;MAEA/X,IAAI,CAACgY,qCAAqC,CAAC,KAAK,CAAC;MAEjD,IAAIhY,IAAI,CAAC6N,QAAQ,CAACoK,YAAY,EAAE;QAC5BjY,IAAI,CAACgY,qCAAqC,CAAChY,IAAI,CAAC6N,QAAQ,CAACoK,YAAY,CAACJ,yBAAyB,CAAC;MACpG;MAEA7X,IAAI,CAACkY,0BAA0B,CAAC,KAAK,CAAC;MACtClY,IAAI,CAACmY,8BAA8B,CAAC,KAAK,CAAC;MAC1CnY,IAAI,CAACoY,0BAA0B,CAAC,KAAK,CAAC;MAEtC,IAAIpY,IAAI,CAAC6N,QAAQ,CAACwK,KAAK,EAAE;QACrB,IAAI,CAACrY,IAAI,CAACsY,UAAU,CAAC,CAAC,IAAI,CAACtY,IAAI,CAACmB,YAAY,CAACG,cAAc,CAACiX,QAAQ,CAAC,CAAC,EAClEvY,IAAI,CAACkY,0BAA0B,CAAClY,IAAI,CAAC6N,QAAQ,CAACwK,KAAK,CAACG,qBAAqB,CAAC;QAC9ExY,IAAI,CAACmY,8BAA8B,CAACnY,IAAI,CAAC6N,QAAQ,CAACwK,KAAK,CAACR,yBAAyB,CAAC;QAClF7X,IAAI,CAACoY,0BAA0B,CAACpY,IAAI,CAAC6N,QAAQ,CAACwK,KAAK,CAACI,qBAAqB,CAAC;MAC9E;MAEA,IAAIzY,IAAI,CAAC6N,QAAQ,CAAC6K,QAAQ,EAAE;QACxB1Y,IAAI,CAAC6W,eAAe,GAAG7W,IAAI,CAAC6N,QAAQ,CAAC6K,QAAQ,CAACC,OAAO;QACrD3Y,IAAI,CAAC4W,kBAAkB,GAAG5W,IAAI,CAAC6N,QAAQ,CAAC6K,QAAQ,CAACE,UAAU;QAC3D5Y,IAAI,CAAC6Y,iCAAiC,CAAC7Y,IAAI,CAAC6N,QAAQ,CAAC6K,QAAQ,CAACb,yBAAyB,CAAC;QACxF7X,IAAI,CAAC2W,mBAAmB,GAAG3W,IAAI,CAAC6N,QAAQ,CAAC6K,QAAQ,CAACI,WAAW;MACjE;MACA9Y,IAAI,CAAC+Y,+BAA+B,CAAC,CAAC;MAEtC,IAAI/Y,IAAI,CAACmB,YAAY,CAACG,cAAc,CAACiX,QAAQ,CAAC,CAAC,KAAK,IAAI,EAAE;QACtD,IAAIS,eAAe,GAAG,KAAK;QAC3B,IAAIhZ,IAAI,CAACmB,YAAY,CAACG,cAAc,CAAC2X,kBAAkB,CAAC,CAAC,EAAE;UAEvD,IAAIC,QAAQ,GAAG,CAAC,CAAC;UACjB,IAAI/M,IAAI,CAACgN,YAAY,KAAK,IAAI,EAAE;YAC5B,KAAK,IAAI9J,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGlD,IAAI,CAACgN,YAAY,CAAC3Y,MAAM,EAAE6O,CAAC,EAAE,EAAE;cAC/C,IAAIlD,IAAI,CAACgN,YAAY,CAAC9J,CAAC,CAAC,CAAC+J,SAAS,KAAKpZ,IAAI,CAACmB,YAAY,CAACG,cAAc,CAAC+X,gBAAgB,CAAC,CAAC,EACtFH,QAAQ,GAAG7J,CAAC;YACpB;UACJ;UAEA,IAAI6J,QAAQ,KAAK,CAAC,CAAC,EAAE;YACjB/M,IAAI,CAACgN,YAAY,CAACG,MAAM,CAACJ,QAAQ,EAAE,CAAC,CAAC;YACrCF,eAAe,GAAG,IAAI;UAC1B;QAEJ,CAAC,MAAM,IAAIhZ,IAAI,CAACmB,YAAY,CAACG,cAAc,CAACiY,YAAY,CAAC,CAAC,EAAE;UACxDvZ,IAAI,CAACyD,YAAY,CAAC,KAAK,CAAC;UACxBzD,IAAI,CAAC2D,iBAAiB,CAAC,CAAC,CAAC;QAC7B;MACJ;;MAEA;MACA;MACA;MACA,IAAI3D,IAAI,CAACmZ,YAAY,CAAC,CAAC,IAAIhN,IAAI,CAACgN,YAAY,IAAInZ,IAAI,CAACmZ,YAAY,CAAC,CAAC,CAAC3Y,MAAM,IAAI2L,IAAI,CAACgN,YAAY,CAAC3Y,MAAM,EAAE;QACpG,KAAK,IAAI6O,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGlD,IAAI,CAACgN,YAAY,CAAC3Y,MAAM,EAAE6O,CAAC,EAAE,EAAE;UAC/C,IAAIrP,IAAI,CAACmZ,YAAY,CAAC,CAAC,CAAC9J,CAAC,CAAC,CAAC+J,SAAS,KAAKjN,IAAI,CAACgN,YAAY,CAAC9J,CAAC,CAAC,CAAC+J,SAAS,EAAE;YACrEpZ,IAAI,CAACmZ,YAAY,CAAChN,IAAI,CAACgN,YAAY,CAAC;YACpC;UACJ;QACJ;MACJ,CAAC,MACI;QACDnZ,IAAI,CAACmZ,YAAY,CAAChN,IAAI,CAACgN,YAAY,CAAC;MACxC;MAEAnZ,IAAI,CAACwZ,kBAAkB,CAACrN,IAAI,CAACvJ,YAAY,CAAC;MAC1C5C,IAAI,CAAC4C,YAAY,CAACuJ,IAAI,CAACvJ,YAAY,CAAC;MAEpC5C,IAAI,CAACyZ,WAAW,CAAC,CAAC;MAClBzZ,IAAI,CAACsY,UAAU,CAACnM,IAAI,CAACuN,UAAU,CAAC;MAChC1Z,IAAI,CAAC2Z,SAAS,CAACxN,IAAI,CAACwN,SAAS,CAAC;MAE9B,IAAIC,qBAAqB,GAAG,KAAK;MACjC,IAAIC,iBAAiB,GAAG,KAAK;MAC7B,IAAIC,kBAAkB,GAAG,KAAK;MAC9B,IAAI3N,IAAI,CAACgN,YAAY,KAAK,IAAI,EAAE;QAC5B,KAAK,IAAI9J,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGlD,IAAI,CAACgN,YAAY,CAAC3Y,MAAM,EAAE6O,CAAC,EAAE,EAAE;UAE/C,IAAIlD,IAAI,CAACgN,YAAY,CAAC9J,CAAC,CAAC,CAAC+J,SAAS,KAAKvD,YAAY,EAAE;YACjDgE,iBAAiB,GAAG,IAAI;UAC5B;UAEA,IAAI1N,IAAI,CAACgN,YAAY,CAAC9J,CAAC,CAAC,CAAC+J,SAAS,KAAKnD,kBAAkB,EAAE;YACvD4D,iBAAiB,GAAG,IAAI;UAC5B;UAEA,IAAI1N,IAAI,CAACgN,YAAY,CAAC9J,CAAC,CAAC,CAAC+J,SAAS,KAAKjD,YAAY,EAAE;YACjD0D,iBAAiB,GAAG,IAAI;UAC5B;UAEA,IAAIb,eAAe,KAAK,IAAI,EAAE;YAC1BhZ,IAAI,CAAC+Z,iBAAiB,CAAC5N,IAAI,CAACgN,YAAY,CAAC9J,CAAC,CAAC,CAAC;YAC5CuK,qBAAqB,GAAG,IAAI;YAC5BZ,eAAe,GAAG,KAAK;UAC3B;UAEA,IAAI7M,IAAI,CAACgN,YAAY,CAAC9J,CAAC,CAAC,CAAC+J,SAAS,KAAKjN,IAAI,CAAC6N,UAAU,EAAE;YACpDha,IAAI,CAAC+Z,iBAAiB,CAAC5N,IAAI,CAACgN,YAAY,CAAC9J,CAAC,CAAC,CAAC;YAC5CyK,kBAAkB,GAAG,IAAI;YACzB;YACAF,qBAAqB,GAAG,IAAI;UAChC;QACJ;MACJ;;MAEA;MACA,IAAIzN,IAAI,CAAC8N,WAAW,KAAKja,IAAI,CAACsW,YAAY,EAAE;QACxC;QACAtW,IAAI,CAACsW,YAAY,GAAGnK,IAAI,CAAC8N,WAAW;QACpClZ,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACsD,QAAQ,CAACpD,MAAM,CAACsa,cAAc,EAAE,gBAAgB,CAAC;MAC1E;MAEA,IAAIN,qBAAqB,KAAK,KAAK,EAAE;QACjClT,OAAO,CAACC,GAAG,CAAC,8DAA8D,CAAC;MAC/E;MACI5F,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACsD,QAAQ,CAACpD,MAAM,CAACua,gBAAgB,EAAE,IAAI,CAAC;MAEhE,IAAI,CAACna,IAAI,CAACuW,OAAO,EAAE;QACfvW,IAAI,CAACoa,4BAA4B,GAAGvN,EAAE,CAACwN,QAAQ,CAAC,YAAY;UACxD,IAAIra,IAAI,CAACmB,YAAY,KAAK4D,SAAS,IAAI/E,IAAI,CAACmB,YAAY,CAACG,cAAc,KAAKyD,SAAS,EACjF,OAAO,KAAK;UAEhB,OAAO/E,IAAI,CAACmB,YAAY,CAACG,cAAc,CAAC0G,YAAY,CAAC,CAAC,KAAK,UAAU,IAAI,CAAChI,IAAI,CAACmB,YAAY,CAACG,cAAc,CAACiX,QAAQ,CAAC,CAAC,IAAI,CAACvY,IAAI,CAACmB,YAAY,CAACG,cAAc,CAACgX,UAAU,CAAC,CAAC,IAAI,CAACtY,IAAI,CAACmB,YAAY,CAACG,cAAc,CAACgZ,YAAY,CAAC,CAAC;QAC/N,CAAC,CAAC;QAEFta,IAAI,CAACua,6BAA6B,GAAG1N,EAAE,CAACwN,QAAQ,CAAC,YAAY;UACzD,IAAIra,IAAI,CAACmB,YAAY,KAAK4D,SAAS,IAAI/E,IAAI,CAACmB,YAAY,CAACG,cAAc,KAAKyD,SAAS,EACjF,OAAO,KAAK;UAEhB,OAAO/E,IAAI,CAACmB,YAAY,CAACG,cAAc,CAAC0G,YAAY,CAAC,CAAC,KAAK,SAAS,IAAI,CAAChI,IAAI,CAACmB,YAAY,CAACG,cAAc,CAACiX,QAAQ,CAAC,CAAC,IAAI,CAACvY,IAAI,CAACmB,YAAY,CAACG,cAAc,CAACgX,UAAU,CAAC,CAAC,IAAI,CAACtY,IAAI,CAACmB,YAAY,CAACG,cAAc,CAACkZ,WAAW,CAAC,CAAC;QAC7N,CAAC,CAAC;QAEF,IAAIC,MAAM,GAAGtN,QAAQ,CAACC,cAAc,CAACpN,IAAI,CAAC6N,QAAQ,CAAC6M,IAAI,CAAC;QACxD7N,EAAE,CAACK,aAAa,CAAClN,IAAI,EAAEya,MAAM,CAAC;QAC9Bza,IAAI,CAACuW,OAAO,GAAG,IAAI,CAAC;MACxB;;MAEAvW,IAAI,CAAC2a,4BAA4B,CAACxO,IAAI,CAAC6N,UAAU,CAAC;MAElD,IAAIF,kBAAkB,EAAE;QACpB9Z,IAAI,CAAC4a,gBAAgB,CAACzO,IAAI,CAAC6N,UAAU,EAAEH,iBAAiB,EAAE1C,eAAe,CAAC;MAC9E;IACJ,CAAC;IAED,IAAI,CAAC4B,+BAA+B,GAAG,YAAY;MAC/C,IAAI,CAAC/Y,IAAI,CAAC6W,eAAe,EAAE;QACvB/W,CAAC,CAAC,2BAA2B,CAAC,CAAC4B,IAAI,CAAC,CAAC;QACrC;MACJ;MAEA5B,CAAC,CAAC,2BAA2B,CAAC,CAAC+B,IAAI,CAAC,CAAC;MACrC/B,CAAC,CAAC,2BAA2B,CAAC,CAACwE,IAAI,CAAC,KAAK,EAAEtE,IAAI,CAAC2W,mBAAmB,CAAC;IACxE,CAAC;IAED,IAAI,CAACkE,2BAA2B,GAAG,YAAY;MAC3C,IAAI7a,IAAI,CAAC0E,YAAY,EACjB1E,IAAI,CAAC0E,YAAY,CAAC+J,iBAAiB,CAAC,oBAAoB,CAAC;IACjE,CAAC;IAED,IAAI,CAACgL,WAAW,GAAG,YAAY;MAC3B3Z,CAAC,CAACqN,QAAQ,CAAC,CAAC3D,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,UAAUC,CAAC,EAAE,CAC7D,CAAC,CAAC;IACN,CAAC;IAED,IAAI,CAACqR,YAAY,GAAGjO,EAAE,CAACC,UAAU,CAAC,KAAK,CAAC;IACxC,IAAI,CAACiO,4BAA4B,GAAGlO,EAAE,CAACC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,IAAI,CAACkO,YAAY,GAAGnO,EAAE,CAACwN,QAAQ,CAAC,YAAY;MACxC,OAAOra,IAAI,CAAC8a,YAAY,CAAC,CAAC;IAC9B,CAAC,EAAE,IAAI,CAAC;IACR,IAAI,CAAC3B,YAAY,GAAGtM,EAAE,CAACY,eAAe,CAAC,CAAC;IAExC,IAAI,CAACwN,kBAAkB,GAAGpO,EAAE,CAACC,UAAU,CAAC,CAAC;IACzC,IAAI,CAAC3K,eAAe,GAAG0K,EAAE,CAACC,UAAU,CAAC,CAAC;IAEtC,IAAI,CAAC3K,eAAe,CAACnB,SAAS,CAAC,UAAUka,QAAQ,EAAE;MAC/C,IAAIlb,IAAI,CAACib,kBAAkB,CAAC,CAAC,KAAKC,QAAQ,EAAE;QACxClb,IAAI,CAACib,kBAAkB,CAACC,QAAQ,CAAC;QACjClb,IAAI,CAACmC,eAAe,CAAC+Y,QAAQ,CAAC;QAC9Bna,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACsD,QAAQ,CAACpD,MAAM,CAACub,iBAAiB,EAAED,QAAQ,CAAC;MACrE;IACJ,CAAC,CAAC;IAEF,IAAI,CAACE,eAAe,GAAGvO,EAAE,CAACY,eAAe,CAAC,CAAC;IAC3C,IAAI,CAAC4N,aAAa,GAAGxO,EAAE,CAACC,UAAU,CAAC,CAAC;IACpC,IAAI,CAACwO,aAAa,GAAGzO,EAAE,CAACC,UAAU,CAAC,CAAC;IACpC,IAAI,CAAC6M,SAAS,GAAG9M,EAAE,CAACC,UAAU,CAAC,CAAC;IAChC,IAAI,CAAC6M,SAAS,CAAC3Y,SAAS,CAAC,UAAUka,QAAQ,EAAE;MACzC,IAAIA,QAAQ,KAAK,IAAI,IAAIA,QAAQ,CAAC1a,MAAM,GAAG,CAAC,EAAE;QAC1C0a,QAAQ,GAAGA,QAAQ,CAACpQ,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QACxC9K,IAAI,CAAC2Z,SAAS,CAACuB,QAAQ,CAAC;;QAExB;QACA,IAAIlb,IAAI,CAACub,iBAAiB,CAACL,QAAQ,CAAC,EAAE;UAClClb,IAAI,CAACC,OAAO,CAACiG,SAAS,CAAC,iBAAiB,EAAE;YAAEsV,IAAI,EAAEN;UAAS,CAAC,CAAC,CAAClX,IAAI,CAAC,UAAUC,MAAM,EAAE;YACjF,IAAIwX,KAAK,GAAG3b,CAAC,CAAC,kCAAkC,CAAC;YACjD,IAAI4b,MAAM,GAAG5b,CAAC,CAAC,kBAAkB,CAAC;YAElC,IAAImE,MAAM,KAAK,IAAI,EAAE;cACjByX,MAAM,CAAC9Z,QAAQ,CAAC,kBAAkB,CAAC;cACnC6Z,KAAK,CAAC9Z,WAAW,CAAC,kBAAkB,CAAC;YACzC,CAAC,MAAM;cACH+Z,MAAM,CAAC/Z,WAAW,CAAC,kBAAkB,CAAC;cACtC8Z,KAAK,CAAC7Z,QAAQ,CAAC,kBAAkB,CAAC;YACtC;UACJ,CAAC,CAAC;QACN;MACJ;IACJ,CAAC,CAAC;IAEF,IAAI,CAAC+Z,KAAK,GAAG9O,EAAE,CAACC,UAAU,CAAC,CAAC;IAC5B,IAAI,CAAC6O,KAAK,CAAC3a,SAAS,CAAC,UAAUmL,IAAI,EAAE;MACjCpL,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACsD,QAAQ,CAACpD,MAAM,CAACgc,WAAW,EAAEzP,IAAI,CAAC;IAC3D,CAAC,CAAC;IAEFnM,IAAI,CAAC6b,kCAAkC,GAAGhP,EAAE,CAACC,UAAU,CAAC,CAAC;IAEzD,IAAI,CAACgP,6BAA6B,GAAG,UAAUC,YAAY,EAAE;MACzD,IAAI/b,IAAI,CAAC6b,kCAAkC,CAAC,CAAC,IAAIE,YAAY,EACzD,OAAO,IAAI;MACf,OAAO,KAAK;IAChB,CAAC;IAED,IAAI,CAACC,WAAW,GAAG,UAAUC,KAAK,EAAE;MAChC,OAAOA,KAAK;IAChB,CAAC;IAED,IAAI,CAACC,cAAc,GAAG,UAAUC,QAAQ,EAAE;MACtC,OAAOA,QAAQ,GAAG,IAAI;IAC1B,CAAC;IAED,IAAI,CAAC3E,iBAAiB,GAAG,CAAC;IAC1B,IAAI,CAAC4E,SAAS,GAAGvP,EAAE,CAACC,UAAU,CAAC,CAAC;IAChC,IAAI,CAACuP,iCAAiC,GAAGxP,EAAE,CAACC,UAAU,CAAC,CAAC;IACxD,IAAI,CAACwP,0BAA0B,GAAGzP,EAAE,CAACC,UAAU,CAAC,CAAC;IACjD,IAAI,CAACrJ,YAAY,GAAGoJ,EAAE,CAACC,UAAU,CAAC,CAAC;IACnC,IAAI,CAACnJ,iBAAiB,GAAGkJ,EAAE,CAACC,UAAU,CAAC,CAAC;IACxC,IAAI,CAAC0M,kBAAkB,GAAG3M,EAAE,CAACC,UAAU,CAAC,CAAC;IACzC,IAAI,CAAClK,YAAY,GAAGiK,EAAE,CAACC,UAAU,CAAC,CAAC;IACnC,IAAI,CAACyP,eAAe,GAAG1P,EAAE,CAACC,UAAU,CAAC,KAAK,CAAC;IAC3C,IAAI,CAAC0P,qBAAqB,GAAG3P,EAAE,CAACC,UAAU,CAAC,CAAC,CAAC;IAC7C,IAAI,CAACwL,UAAU,GAAGzL,EAAE,CAACC,UAAU,CAAC,KAAK,CAAC;IACtC,IAAI,CAAC2P,4BAA4B,GAAG5P,EAAE,CAACY,eAAe,CAAC,CAAC;IACxD,IAAI,CAACiP,+BAA+B,GAAG7P,EAAE,CAACC,UAAU,CAAC,CAAC;IACtD,IAAI,CAAC2K,+BAA+B,GAAG5K,EAAE,CAACC,UAAU,CAAC,KAAK,CAAC;IAC3D,IAAI,CAAC4K,8BAA8B,GAAG7K,EAAE,CAACC,UAAU,CAAC,KAAK,CAAC;IAC1D,IAAI,CAAC6K,oCAAoC,GAAG9K,EAAE,CAACC,UAAU,CAAC,KAAK,CAAC;IAChE,IAAI,CAACoL,0BAA0B,GAAGrL,EAAE,CAACC,UAAU,CAAC,KAAK,CAAC;IACtD,IAAI,CAACqL,8BAA8B,GAAGtL,EAAE,CAACC,UAAU,CAAC,KAAK,CAAC;IAC1D,IAAI,CAACsL,0BAA0B,GAAGvL,EAAE,CAACC,UAAU,CAAC,KAAK,CAAC;IACtD,IAAI,CAACkL,qCAAqC,GAAGnL,EAAE,CAACC,UAAU,CAAC,KAAK,CAAC;IACjE,IAAI,CAAC+L,iCAAiC,GAAGhM,EAAE,CAACC,UAAU,CAAC,KAAK,CAAC;IAC7D,IAAI,CAACyK,WAAW,GAAG,KAAK;IAExB,IAAI,CAACoF,qBAAqB,GAAG,YAAY;MACrC,QAAQ3c,IAAI,CAACmC,eAAe,CAAC,CAAC;QAC1B,KAAK,GAAG;UAAI;UACR,OAAOnC,IAAI,CAACkY,0BAA0B,CAAC,CAAC,IAAIlY,IAAI,CAACmY,8BAA8B,CAAC,CAAC;UACjF;QACJ,KAAK,GAAG;UAAI;UACR,OAAOnY,IAAI,CAACyX,+BAA+B,CAAC,CAAC;UAC7C;QACJ,KAAK,GAAG;UAAI;UACR,OAAOzX,IAAI,CAAC6Y,iCAAiC,CAAC,CAAC;UAC/C;MACR;MACA,OAAO,IAAI;IACf,CAAC;;IAED;IACA,IAAI,CAAC0D,eAAe,CAACvb,SAAS,CAAC,YAAY;MACvC,IAAI4b,KAAK,GAAGC,UAAU,CAAC/c,CAAC,CAAC,oBAAoB,CAAC,CAACgd,MAAM,CAAC,CAAC,CAAC;MACxD,IAAIF,KAAK,KAAKG,GAAG,IAAIH,KAAK,GAAG,CAAC,EAAE;QAC5BA,KAAK,GAAKA,KAAK,GAAG,CAAC,GAAI,EAAG;QAC1B,IAAIA,KAAK,GAAG,CAAC,EACTA,KAAK,GAAG,CAAC;QACb5c,IAAI,CAACwc,qBAAqB,CAACI,KAAK,GAAG,IAAI,CAAC;MAC5C;IACJ,CAAC,CAAC;IAEF,IAAII,WAAW,GAAG,IAAI;IACtBjc,MAAM,CAACC,SAAS,CAACtB,KAAK,CAACgK,IAAI,CAAC9J,MAAM,CAACkb,YAAY,EAAE,UAAU7Z,OAAO,EAAEkL,IAAI,EAAE;MACtE,IAAIA,IAAI,KAAK,KAAK,EAAE;QAChBnM,IAAI,CAAC8a,YAAY,CAAC,KAAK,CAAC;QACxBkC,WAAW,GAAG,KAAK;MACvB,CAAC,MAAM;QACHA,WAAW,GAAG,IAAI;MACtB;IAEJ,CAAC,CAAC;IAEF7W,UAAU,CAAC,4BAA4B,CAAC,CAACnC,IAAI,CAAC,YAAM;MAChDjD,MAAM,CAACC,SAAS,CAACtB,KAAK,CAACE,MAAM,CAACwB,oBAAoB,CAAC6b,qBAAqB,EAAE,UAAUhc,OAAO,EAAEkL,IAAI,EAAE;QAC/F,IAAIA,IAAI,KAAK,IAAI,IAAIA,IAAI,CAACmM,UAAU,KAAK,IAAI,EAAE;UAC3CtY,IAAI,CAACsY,UAAU,CAACnM,IAAI,CAACmM,UAAU,CAAC;QACpC;QACA,IAAI0E,WAAW,KAAK,KAAK,EACrBhd,IAAI,CAAC8a,YAAY,CAAC,KAAK,CAAC,CAAC,KAEzB9a,IAAI,CAAC8a,YAAY,CAAC,IAAI,CAAC;QAE3B9a,IAAI,CAACkd,sBAAsB,CAAC,CAAC;MACjC,CAAC,CAAC;IACN,CAAC,CAAC;IAEFnc,MAAM,CAACC,SAAS,CAACtB,KAAK,CAACoO,UAAU,CAAClO,MAAM,CAACmO,cAAc,EAAE,UAAUC,GAAG,EAAEC,eAAe,EAAE;MACrF,IAAIA,eAAe,CAACP,SAAS,KAAK,CAAC,EAAE;QACjC,IAAIyP,kCAAkC,GAAGnd,IAAI,CAAC+a,4BAA4B,CAAC,CAAC;QAC5E/a,IAAI,CAAC0E,YAAY,GAAGuJ,eAAe,CAACvB,EAAE;QACtC,IAAIuB,eAAe,CAACC,6BAA6B,KAAK,IAAI,EAAE;UACxDlO,IAAI,CAAC+a,4BAA4B,CAAC,IAAI,CAAC;QAC3C,CAAC,MAAM,IAAI9M,eAAe,CAACT,eAAe,KAAK,IAAI,IAAIS,eAAe,CAACT,eAAe,CAAChN,MAAM,IAAI,CAAC,EAAE;UAChGR,IAAI,CAAC+a,4BAA4B,CAAC,IAAI,CAAC;QAC3C,CAAC,MACI;UACD/a,IAAI,CAAC+a,4BAA4B,CAAC9M,eAAe,CAACC,6BAA6B,CAAC;QACpF;QACA,IAAIlO,IAAI,CAAC+a,4BAA4B,CAAC,CAAC,EAAE;UACrC,IAAI/a,IAAI,CAACmC,eAAe,CAAC,CAAC,KAAK0T,YAAY,IAAI7V,IAAI,CAACmC,eAAe,CAAC,CAAC,KAAK8T,kBAAkB,IAAIjW,IAAI,CAACmC,eAAe,CAAC,CAAC,KAAKgU,YAAY,IAClInW,IAAI,CAACmC,eAAe,CAAC,CAAC,KAAK+T,cAAc,KAAK,CAAClW,IAAI,CAACoY,0BAA0B,CAAC,CAAC,IAAIpY,IAAI,CAAC4C,YAAY,CAAC,CAAC,KAAK,eAAe,CAAE,EAAE;YAChI7B,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACsD,QAAQ,CAACpD,MAAM,CAAC0X,gBAAgB,EAAE,IAAI,CAAC;YAC5D,IAAI6F,kCAAkC,KAAKnd,IAAI,CAAC+a,4BAA4B,CAAC,CAAC,EAAE;cAC5E,IAAI,CAAC/a,IAAI,CAACod,WAAW,CAAC,CAAC,EAAE;gBACrBpd,IAAI,CAACod,WAAW,CAAC,IAAI,CAAC;gBACtBpd,IAAI,CAAC4a,gBAAgB,CAAC5a,IAAI,CAACmC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC;cACvD,CAAC,MAAM;gBACHnC,IAAI,CAACqd,qBAAqB,CAACrd,IAAI,CAACmC,eAAe,CAAC,CAAC,CAAC;cACtD;cACAnC,IAAI,CAACsd,uBAAuB,CAAC,CAAC;YAClC;YAEA,IAAItd,IAAI,CAACmC,eAAe,CAAC,CAAC,KAAK+T,cAAc,EACzCpW,CAAC,CAAC,gBAAgB,CAAC,CAAC+B,IAAI,CAAC,CAAC;YAE9Bd,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACsD,QAAQ,CAACpD,MAAM,CAACua,gBAAgB,EAAE,IAAI,CAAC;UAEhE;QACJ,CAAC,MAAM;UACH,IAAIna,IAAI,CAACmC,eAAe,CAAC,CAAC,KAAK0T,YAAY,IAAI7V,IAAI,CAACmC,eAAe,CAAC,CAAC,KAAK8T,kBAAkB,IAAIjW,IAAI,CAACmC,eAAe,CAAC,CAAC,KAAKgU,YAAY,IAClInW,IAAI,CAACmC,eAAe,CAAC,CAAC,KAAK+T,cAAc,IAAIlW,IAAI,CAACkY,0BAA0B,CAAC,CAAC,KAAK,CAAClY,IAAI,CAACoY,0BAA0B,CAAC,CAAC,IAAIpY,IAAI,CAAC4C,YAAY,CAAC,CAAC,KAAK,eAAe,CAAE,EAAE;YACrK;YACA5C,IAAI,CAAC6a,2BAA2B,CAAC,CAAC;YAElC,IAAI7a,IAAI,CAACmC,eAAe,CAAC,CAAC,KAAK+T,cAAc,EACzCpW,CAAC,CAAC,gBAAgB,CAAC,CAAC4B,IAAI,CAAC,CAAC;UAClC;UACA1B,IAAI,CAACod,WAAW,CAAC,KAAK,CAAC;QAC3B;MACJ;IACJ,CAAC,CAAC;IAEFjX,UAAU,CAAC,qBAAqB,CAAC,CAACnC,IAAI,CAAC,YAAM;MACzCjD,MAAM,CAACC,SAAS,CAACtB,KAAK,CAAC6d,aAAa,CAAC3d,MAAM,CAAC4d,mBAAmB,EAAE,UAAUvc,OAAO,EAAEuB,SAAS,EAAE;QAC3FxC,IAAI,CAACyD,YAAY,CAAC,KAAK,CAAC;MAC5B,CAAC,CAAC;IACN,CAAC,CAAC;IAEF,IAAI,CAACmX,gBAAgB,GAAG,UAAUpY,SAAS,EAAEqX,iBAAiB,EAAE1C,eAAe,EAAE;MAE7E,IAAI/I,EAAE,GAAGtO,CAAC,CAAC,mDAAmD,CAAC;MAE/D,IAAI2d,UAAU,GAAG3d,CAAC,CAAC,cAAc,CAAC;MAClC,IAAI4d,SAAS,GAAGD,UAAU,CAACX,MAAM,CAAC,CAAC;MACnCW,UAAU,CAACE,GAAG,CAAC,YAAY,EAAED,SAAS,GAAG,IAAI,CAAC;MAC9C,IAAIE,IAAI,GAAG,IAAI;MAEf,IAAI,CAAC5d,IAAI,CAACwW,aAAa,EAAE;QAAC;QACtBoH,IAAI,GAAGxP,EAAE,CAACyP,MAAM,CAAC,CAAC;MACtB;MAEA/d,CAAC,CAAC,6BAA6B,GAAG0C,SAAS,GAAG,IAAI,CAAC,CAACsb,GAAG,CAAC,MAAM,CAAC;MAC/D9d,IAAI,CAACmC,eAAe,CAACK,SAAS,CAAC;MAC/B,IAAI,CAACxC,IAAI,CAACwW,aAAa,EAAE;QACrBoH,IAAI,CAACG,QAAQ,CAAC,GAAG,GAAGvb,SAAS,CAAC;MAClC;MAEA1C,CAAC,CAAC,mDAAmD,CAAC,CAAC+B,IAAI,CAAC,CAAC;MAE7D4b,UAAU,CAACnS,OAAO,CAAC;QAAE,YAAY,EAAE;MAAQ,CAAC,EAAE;QAAE0S,KAAK,EAAE,KAAK;QAAEC,QAAQ,EAAE;MAAI,CAAC,CAAC;MAE9E,IAAIte,QAAQ,GAAGG,CAAC,CAAC,WAAW,CAAC;MAC7B,IAAIoe,GAAG,GAAGpe,CAAC,CAAC,mBAAmB,CAAC;MAEhC,IAAI+Z,iBAAiB,EAAE;QACnBqE,GAAG,CAACrc,IAAI,CAAC,CAAC;QACVlC,QAAQ,CAACgC,WAAW,CAAC,OAAO,CAAC,CAACC,QAAQ,CAAC,MAAM,CAAC;MAClD;MAEA,IAAI5B,IAAI,CAACsY,UAAU,CAAC,CAAC,IAAI9V,SAAS,KAAKqT,YAAY,IAAIrT,SAAS,KAAKyT,kBAAkB,IAAIzT,SAAS,KAAK2T,YAAY,IAChH3T,SAAS,KAAK0T,cAAc,IAAIlW,IAAI,CAACkY,0BAA0B,CAAC,CAAC,KAAK,CAAClY,IAAI,CAACoY,0BAA0B,CAAC,CAAC,IAAIpY,IAAI,CAAC4C,YAAY,CAAC,CAAC,KAAK,eAAe,CAAE,EAAE;QAExJ,IAAIJ,SAAS,KAAKqT,YAAY,IAAIrT,SAAS,KAAKyT,kBAAkB,IAAIzT,SAAS,KAAK2T,YAAY,IAC3F3T,SAAS,KAAK0T,cAAc,IAAI,CAAClW,IAAI,CAACsY,UAAU,CAAC,CAAE,EAAE;UACtD3Y,QAAQ,CAACgC,WAAW,CAAC,MAAM,CAAC,CAACC,QAAQ,CAAC,OAAO,CAAC;UAC9Cb,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACC,QAAQ,CAACC,MAAM,CAACC,eAAe,EAAE;YAAE2B,OAAO,EAAE,KAAK;YAAEC,WAAW,EAAE,KAAK;YAAEK,SAAS,EAAE,KAAK;YAAEC,mBAAmB,EAAE;UAAM,CAAC,CAAC;QAC/I,CAAC,MAAM;UACHpC,QAAQ,CAACgC,WAAW,CAAC,OAAO,CAAC,CAACC,QAAQ,CAAC,MAAM,CAAC;UAC9Cb,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACC,QAAQ,CAACC,MAAM,CAACC,eAAe,EAAE;YAAE2B,OAAO,EAAE,IAAI;YAAEC,WAAW,EAAE,KAAK;YAAEK,SAAS,EAAE,IAAI;YAAEC,mBAAmB,EAAE;UAAK,CAAC,CAAC;QAC5I;QAEAmc,GAAG,CAACrc,IAAI,CAAC,CAAC;QAEV,IAAI,CAAC7B,IAAI,CAAC+a,4BAA4B,CAAC,CAAC,IAAIvY,SAAS,KAAK0T,cAAc,EAAE;UACtEpW,CAAC,CAAC,gBAAgB,CAAC,CAAC4B,IAAI,CAAC,CAAC;QAC9B,CAAC,MAAM;UACH5B,CAAC,CAAC,gBAAgB,CAAC,CAAC+B,IAAI,CAAC,CAAC;QAC9B;QAEA/B,CAAC,CAAC,cAAc,CAAC,CAAC6B,WAAW,CAAC,YAAY,CAAC;;QAE3C;QACA3B,IAAI,CAACqd,qBAAqB,CAAC7a,SAAS,EAAE2U,eAAe,CAAC;MAE1D,CAAC,MAAM;QACHpW,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACC,QAAQ,CAACC,MAAM,CAACC,eAAe,EAAE;UAAE2B,OAAO,EAAE,IAAI;UAAEC,WAAW,EAAE,IAAI;UAAEK,SAAS,EAAE,IAAI;UAAEC,mBAAmB,EAAE;QAAK,CAAC,CAAC;QAEvIpC,QAAQ,CAACgC,WAAW,CAAC,OAAO,CAAC,CAACC,QAAQ,CAAC,MAAM,CAAC;QAC9Cb,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAAC6d,aAAa,CAAC3d,MAAM,CAACue,eAAe,EAAE3b,SAAS,CAAC;MACzE;MAEAxC,IAAI,CAACoe,mBAAmB,CAAC5b,SAAS,CAAC;MACnCxC,IAAI,CAACqe,+BAA+B,CAAC7b,SAAS,CAAC;MAE/CzB,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACsD,QAAQ,CAACpD,MAAM,CAACua,gBAAgB,EAAE,IAAI,CAAC;MAE5D,IAAI,CAAC,CAACza,KAAK,CAAC4e,YAAY,EACpB5e,KAAK,CAAC4e,YAAY,CAACC,IAAI,CAAC,IAAI,CAAC;;MAEjC;IACJ,CAAC;;IAED,IAAI,CAACnB,WAAW,GAAGvQ,EAAE,CAACC,UAAU,CAAC,KAAK,CAAC;IAEvC,IAAI,CAACiN,iBAAiB,GAAG,UAAUyE,WAAW,EAAE;MAC5C,IAAIrS,IAAI,GAAG;QAAE3J,SAAS,EAAEgc,WAAW,CAACpF,SAAS;QAAEqF,WAAW,EAAED,WAAW,CAACE;MAAY,CAAC;MACrF1e,IAAI,CAACC,OAAO,CAACiG,SAAS,CAAC,eAAe,EAAEiG,IAAI,CAAC,CAACnI,IAAI,CAAC,UAAUC,MAAM,EAAE;QACjElD,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACgK,IAAI,CAAC9J,MAAM,CAAC+J,aAAa,EAAE,IAAI,CAAC;MACzD,CAAC,CAAC;IACN,CAAC;IAED,IAAI,CAACgV,mBAAmB,GAAG,UAAUH,WAAW,EAAE;MAC9Czd,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACsD,QAAQ,CAACpD,MAAM,CAAC0X,gBAAgB,EAAE,IAAI,CAAC;MAC5DxX,CAAC,CAAC,OAAO,CAAC,CAAC8e,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;;MAEhC;MACA,IAAIJ,WAAW,CAACpF,SAAS,KAAKlD,cAAc,IAAIlW,IAAI,CAACkY,0BAA0B,CAAC,CAAC,KAAK,CAAClY,IAAI,CAACoY,0BAA0B,CAAC,CAAC,IAAIpY,IAAI,CAAC4C,YAAY,CAAC,CAAC,KAAK,eAAe,CAAC,EAChK5C,IAAI,CAAC6e,YAAY,CAAC,CAAC;MAEvB7e,IAAI,CAACmC,eAAe,CAACqc,WAAW,CAACpF,SAAS,CAAC;MAE3CpZ,IAAI,CAAC4a,gBAAgB,CAAC4D,WAAW,CAACpF,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC;MAExDpZ,IAAI,CAAC2a,4BAA4B,CAAC6D,WAAW,CAACpF,SAAS,CAAC;MAExD,IAAIoF,WAAW,CAACpF,SAAS,KAAKvD,YAAY,IAAI2I,WAAW,CAACpF,SAAS,KAAKnD,kBAAkB,IAAIuI,WAAW,CAACpF,SAAS,KAAKjD,YAAY,IAC/HqI,WAAW,CAACpF,SAAS,KAAKlD,cAAc,IAAIlW,IAAI,CAACkY,0BAA0B,CAAC,CAAC,KAAK,CAAClY,IAAI,CAACoY,0BAA0B,CAAC,CAAC,IAAIpY,IAAI,CAAC4C,YAAY,CAAC,CAAC,KAAK,eAAe,CAAE,EAAE;QACpK5C,IAAI,CAACod,WAAW,CAAC,IAAI,CAAC;QACtB,IAAI,CAACpd,IAAI,CAAC+a,4BAA4B,CAAC,CAAC,EACpC/a,IAAI,CAAC6a,2BAA2B,CAAC,CAAC;MAC1C;MACA7a,IAAI,CAAC+Z,iBAAiB,CAACyE,WAAW,CAAC,CAAC;IACxC,CAAC;;IAED,IAAI,CAAC7D,4BAA4B,GAAG,UAAUnY,SAAS,EAAE;MACrD,IAAI,OAAOsc,WAAW,KAAK,WAAW,IAAI,OAAOA,WAAW,CAACC,sBAAsB,KAAK,UAAU,EAAE;QAChG,IAAIvc,SAAS,KAAK2T,YAAY,IAAI3T,SAAS,KAAKqT,YAAY,EACxDiJ,WAAW,CAACC,sBAAsB,CAAC,IAAI,CAAC,CAAC,KACxC,IAAIvc,SAAS,KAAKyT,kBAAkB,EACrC6I,WAAW,CAACC,sBAAsB,CAAC,KAAK,CAAC,CAAC,KAE1CD,WAAW,CAACC,sBAAsB,CAAC,KAAK,CAAC;MACjD;IACJ,CAAC;IAED,IAAI,CAAC7X,WAAW,GAAG,YAAY;MAC3B,IAAI6U,YAAY,GAAG,EAAE;MACrB,IAAI/b,IAAI,CAACmC,eAAe,CAAC,CAAC,KAAK2T,gBAAgB,EAAEiG,YAAY,GAAG/b,IAAI,CAAC6b,kCAAkC,CAAC,CAAC;MAEzG,IAAImD,SAAS,GAAGhf,IAAI,CAAC2b,KAAK,CAAC,CAAC;MAC5B,IAAI3b,IAAI,CAACmC,eAAe,CAAC,CAAC,KAAK6T,eAAe,EAAE;QAC5CgJ,SAAS,GAAGhf,IAAI,CAACqb,aAAa,CAAC,CAAC;MACpC;MACA,IAAI4D,SAAS,GAAG,WAAW;MAC3B,IAAIjf,IAAI,CAACyD,YAAY,CAAC,CAAC,EAAE;QACrBwb,SAAS,GAAGjf,IAAI,CAAC2Z,SAAS,CAAC,CAAC;MAChC;MACA,IAAIvS,cAAc,GAAG;QACjB8X,oBAAoB,EAAElf,IAAI,CAACqb,aAAa,CAAC,CAAC;QAC1C8D,YAAY,EAAEpD,YAAY;QAC1BqD,iBAAiB,EAAEpf,IAAI,CAACsc,0BAA0B,CAAC,CAAC;QACpD+C,SAAS,EAAEL,SAAS;QACpBlX,SAAS,EAAEmX,SAAS;QACpBpX,kBAAkB,EAAE7H,IAAI,CAACsb,aAAa,CAAC;MAC3C,CAAC;MAED,OAAO;QACHnZ,eAAe,EAAEnC,IAAI,CAACmC,eAAe,CAAC,CAAC;QACvCiF,cAAc,EAAEA;MACpB,CAAC;IACL,CAAC;IAED,IAAI,CAACkY,0BAA0B,GAAG,UAAUC,aAAa,EAAE;MACvD,IAAIf,WAAW,GAAGxe,IAAI,CAACmC,eAAe,CAAC,CAAC;MAExC,IAAI,CAACqc,WAAW,EACZ;MAEJ,IAAIgB,QAAQ,GAAG,EAAE;MACjB,QAAQhB,WAAW;QACf,KAAK3I,YAAY;UACb2J,QAAQ,GAAG,gBAAgB;UAC3B;QACJ,KAAKvJ,kBAAkB;UACnBuJ,QAAQ,GAAG,UAAU;UACrB;QACJ,KAAKtJ,cAAc;UACfsJ,QAAQ,GAAG,OAAO;UAClB;QACJ,KAAKrJ,YAAY;UACbqJ,QAAQ,GAAG,MAAM;UACjB;MACR;MAEA,IAAIC,WAAW,GAAGF,aAAa,CAACG,aAAa;MAC7C,IAAI5a,OAAO,GAAGya,aAAa,CAACI,QAAQ;MACpC,IAAI5U,KAAK,GAAGwU,aAAa,CAACxU,KAAK;MAC/B,IAAI6U,GAAG,GAAG;QAAEC,QAAQ,EAAEL,QAAQ;QAAEM,WAAW,EAAEL,WAAW;QAAEM,OAAO,EAAEjb,OAAO;QAAEkb,KAAK,EAAEjV;MAAM,CAAC;MAE1F/K,IAAI,CAACC,OAAO,CAACuI,UAAU,CAAC,kCAAkC,EAAEoX,GAAG,CAAC,CAAC5b,IAAI,CAAC,UAAUC,MAAM,EAAE;QACpF,IAAIA,MAAM,KAAK,IAAI,IAAIA,MAAM,CAACzD,MAAM,GAAG,CAAC,EAAE;UACtCkG,OAAO,CAACC,GAAG,CAAC,+BAA+B,CAAC;QAChD;MACJ,CAAC,CAAC;IACN,CAAC;IAED,IAAI,CAACnD,kBAAkB,GAAG,UAAUvB,OAAO,EAAE;MACzC,IAAIO,SAAS,GAAGP,OAAO,CAACE,eAAe,CAAC,CAAC;MACzC,IAAIQ,OAAO,GAAG,EAAE;MAChB,IAAIT,OAAO;MAEX,IAAIlC,IAAI,CAAC4C,YAAY,CAAC,CAAC,KAAK,eAAe,EAAE;QACzCV,OAAO,GAAGlC,IAAI,CAACqC,SAAS,CAACG,SAAS,EAAE,kBAAkB,EAAE,OAAO,CAAC;QAChE,IAAI,CAACP,OAAO,CAACa,YAAY,CAAChD,CAAC,CAAC,mBAAmB,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO;UAAEqD,OAAO,EAAE,KAAK;UAAEC,OAAO,EAAE,gBAAgB;UAAEC,OAAO,EAAEnB;QAAQ,CAAC,MAC3HxC,KAAK,CAACoE,UAAU,CAACM,WAAW,CAAClC,OAAO,CAAC;MAC9C,CAAC,MAAM;QACHA,OAAO,GAAGlC,IAAI,CAACqC,SAAS,CAACG,SAAS,EAAE,uBAAuB,EAAE,OAAO,CAAC;QACrE,IAAI,CAACP,OAAO,CAACY,oBAAoB,CAAC/C,CAAC,CAAC,wBAAwB,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO;UAAEqD,OAAO,EAAE,KAAK;UAAEC,OAAO,EAAE,oBAAoB;UAAEC,OAAO,EAAEnB;QAAQ,CAAC,MAC5IxC,KAAK,CAACoE,UAAU,CAACM,WAAW,CAAClC,OAAO,CAAC;MAC9C;MAEA,IAAIM,SAAS,KAAK,GAAG,EAAE;QACnB,IAAIyd,oBAAoB,GAAGngB,CAAC,CAAC,0CAA0C,CAAC;QACxE,IAAIogB,OAAO,GAAG,KAAK;QAEnB,KAAK,IAAI7Q,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG4Q,oBAAoB,CAACzf,MAAM,EAAE6O,CAAC,EAAE,EAAE;UAClD,IAAI4Q,oBAAoB,CAAC5Q,CAAC,CAAC,CAAC6Q,OAAO,EAC/BA,OAAO,GAAG,IAAI;QACtB;QAEA,IAAI,CAACA,OAAO,EACR,OAAO;UAAE/c,OAAO,EAAE,KAAK;UAAEC,OAAO,EAAE,6BAA6B;UAAEC,OAAO,EAAE4c,oBAAoB,CAAC,CAAC;QAAE,CAAC;MAC3G;MAEA,OAAO;QAAE9c,OAAO,EAAE,IAAI;QAAEC,OAAO,EAAET,OAAO;QAAEU,OAAO,EAAEnB;MAAQ,CAAC;IAChE,CAAC;IAED,IAAI,CAACG,SAAS,GAAG,UAAUG,SAAS,EAAEF,QAAQ,EAAEiO,IAAI,EAAE;MAClD,IAAI;QACA,IAAI4P,UAAU,GAAGrgB,CAAC,CAAC,SAAS,GAAG0C,SAAS,GAAG,GAAG,CAAC;QAC/C,IAAI4d,MAAM,GAAG7P,IAAI,GAAG,WAAW,GAAGjO,QAAQ,GAAG,IAAI;QACjD,IAAI+d,KAAK,GAAGF,UAAU,CAAC/d,IAAI,CAACge,MAAM,CAAC;QACnC,OAAOC,KAAK;MAChB,CAAC,CAAC,OAAO5W,CAAC,EAAE;QACR,OAAO,IAAI;MACf;IACJ,CAAC;IAGD,IAAI,CAAC4U,+BAA+B,GAAG,UAAU7b,SAAS,EAAE;MACxD,IAAIA,SAAS,KAAKsT,gBAAgB,EAAE;QAChC/U,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACsD,QAAQ,CAACpD,MAAM,CAAC0X,gBAAgB,EAAE,IAAI,CAAC;QAC5DtX,IAAI,CAACC,OAAO,CAACiG,SAAS,CAAC,iCAAiC,EAAE,IAAI,CAAC,CAAClC,IAAI,CAAC,UAAUC,MAAM,EAAE;UACnFlD,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACsD,QAAQ,CAACpD,MAAM,CAACua,gBAAgB,EAAE,IAAI,CAAC;UAC5Dna,IAAI,CAACyc,4BAA4B,CAAC6D,IAAI,CAACC,KAAK,CAACtc,MAAM,CAAC,CAAC;QACzD,CAAC,CAAC;MACN;IACJ,CAAC;IAED,IAAI,CAACma,mBAAmB,GAAG,UAAU5b,SAAS,EAAE;MAC5C,IAAIA,SAAS,KAAKuT,kBAAkB,EAAE;QAClChV,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACsD,QAAQ,CAACpD,MAAM,CAAC0X,gBAAgB,EAAE,IAAI,CAAC;QAC5DtX,IAAI,CAACC,OAAO,CAACiG,SAAS,CAAC,8BAA8B,EAAE,IAAI,CAAC,CAAClC,IAAI,CAAC,UAAUC,MAAM,EAAE;UAChFlD,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACsD,QAAQ,CAACpD,MAAM,CAACua,gBAAgB,EAAE,IAAI,CAAC;UAC5Dna,IAAI,CAACoc,SAAS,CAACnY,MAAM,CAACuc,kBAAkB,CAAC;UACzCxgB,IAAI,CAACqc,iCAAiC,CAACpY,MAAM,CAACwc,2BAA2B,CAAC;QAC9E,CAAC,CAAC;MACN;IACJ,CAAC;IAED,IAAI,CAACC,4BAA4B,GAAG,YAAY;MAC5C,IAAIC,SAAS,GAAG7X,MAAM,CAAC8X,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,2CAA2C,CAAC;MACzFD,SAAS,CAACxT,QAAQ,CAAC0T,KAAK,CAAC7gB,IAAI,CAACoc,SAAS,CAAC,CAAC,CAAC;MAC1CuE,SAAS,CAACxT,QAAQ,CAAC2T,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,CAACC,eAAe,GAAG,YAAY;MAC/B,OAAO/gB,IAAI,CAACC,OAAO,CAACiG,SAAS,CAAC,iBAAiB,EAAE,IAAI,CAAC;IAC1D,CAAC;IAED,IAAI,CAACrD,oBAAoB,GAAG,UAAUX,OAAO,EAAE8e,MAAM,EAAE;MACnD,IAAIC,KAAK,GAAG,IAAI;MAEhB,IAAIjhB,IAAI,CAACwX,iBAAiB,KAAK,CAAC;QAAE;QAC9ByJ,KAAK,GAAG,0CAA0C,CAAC,KAClD,IAAIjhB,IAAI,CAACwX,iBAAiB,KAAK,CAAC;QAAE;QACnCyJ,KAAK,GAAG,sDAAsD,CAAC,KAC9D,IAAIjhB,IAAI,CAACwX,iBAAiB,KAAK,CAAC;QAAE;QACnCyJ,KAAK,GAAG,sCAAsC,CAAC,KAC9C,IAAIjhB,IAAI,CAACwX,iBAAiB,KAAK,CAAC;QAAE;QACnCyJ,KAAK,GAAG,4DAA4D;MAExE,IAAIA,KAAK,KAAK,IAAI,EAAE,OAAO,IAAI;MAC/B,OAAOA,KAAK,CAACC,IAAI,CAAChf,OAAO,CAAC8C,GAAG,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,CAACmc,cAAc,GAAG,UAAUjf,OAAO,EAAE;MACrC,IAAIA,OAAO,CAAC8C,GAAG,CAAC,CAAC,CAACxE,MAAM,IAAI,CAAC,EAAE,OAAO,KAAK;MAC3C,OAAO,IAAI;IACf,CAAC;IAED,IAAI,CAAC4gB,oBAAoB,GAAG,UAAUlf,OAAO,EAAEmf,MAAM,EAAE;MACnD,IAAIvc,OAAO,GAAG5C,OAAO,CAAC8C,GAAG,CAAC,CAAC;MAC3B,IAAIic,KAAK,GAAG,SAAS;MACrB,IAAInc,OAAO,CAACwc,KAAK,CAACL,KAAK,CAAC,KAAK,IAAI,EAC7B,OAAO,IAAI;MACf,OAAO,KAAK;IAChB,CAAC;IAED,IAAI,CAACM,kBAAkB,GAAG,UAAUrf,OAAO,EAAEmf,MAAM,EAAE;MACjD,IAAIG,KAAK,GAAGtf,OAAO,CAAC8C,GAAG,CAAC,CAAC;MACzB,IAAIic,KAAK,GAAG,SAAS;MACrB,IAAIO,KAAK,CAACF,KAAK,CAACL,KAAK,CAAC,KAAK,IAAI,EAC3B,OAAO,IAAI;MACf,OAAO,KAAK;IAChB,CAAC;IAED,IAAI,CAAC1F,iBAAiB,GAAG,UAAUkG,UAAU,EAAE;MAC3C,IAAIR,KAAK,GAAG,iBAAiB;MAC7B,IAAIQ,UAAU,CAACH,KAAK,CAACL,KAAK,CAAC,KAAK,IAAI,EAAE;QAClC,OAAO,IAAI,CAAC,CAAC;QACb;MACJ;;MACA,OAAO,KAAK;IAChB,CAAC;IAED,IAAI,CAACne,YAAY,GAAG,UAAUZ,OAAO,EAAE8e,MAAM,EAAE;MAC3C,IAAIC,KAAK,GAAG,IAAI;MAEhB,IAAIjhB,IAAI,CAACwX,iBAAiB,KAAK,CAAC;QAAE;QAC9ByJ,KAAK,GAAG,wCAAwC,CAAC,KAChD,IAAIjhB,IAAI,CAACwX,iBAAiB,KAAK,CAAC;QAAE;QACnCyJ,KAAK,GAAG,6BAA6B;MAEzC,IAAIA,KAAK,KAAK,IAAI,EAAE,OAAO,IAAI;MAC/B,OAAOA,KAAK,CAACC,IAAI,CAAChf,OAAO,CAAC8C,GAAG,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,CAACpB,gBAAgB,GAAG,UAAU1B,OAAO,EAAE;MACvC,IAAIQ,OAAO,GAAG,KAAK;MACnB,IAAIiF,KAAK,GAAGzF,OAAO,CAAC8C,GAAG,CAAC,CAAC;MACzB,IAAI2C,KAAK,CAACnH,MAAM,GAAG,CAAC,EAAE;QAClB,IAAIR,IAAI,CAACub,iBAAiB,CAAC5T,KAAK,CAAC,EAAE;UAAE;UACjCjF,OAAO,GAAG,IAAI;QAClB;MACJ;MAEA,OAAOA,OAAO;IAClB,CAAC;IAED,IAAI,CAACgf,iBAAiB,GAAG,YAAY;MACjC5hB,CAAC,CAAC,aAAa,CAAC,CAAC6hB,MAAM,CAAC,gBAAgB,CAAC,CAACrd,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;IACnE,CAAC;IAED,IAAI,CAACsd,kBAAkB,GAAG,UAAUpf,SAAS,EAAE2U,eAAe,EAAE;MAC5D,IAAI3U,SAAS,KAAKqT,YAAY,IAAIrT,SAAS,KAAKyT,kBAAkB,IAAIzT,SAAS,KAAK2T,YAAY,EAAE;QAC9FnW,IAAI,CAAC6hB,WAAW,CAACrf,SAAS,EAAE2U,eAAe,CAAC;MAChD,CAAC,MAAM,IAAI3U,SAAS,KAAK0T,cAAc,IAAI,CAAClW,IAAI,CAACsY,UAAU,CAAC,CAAC,IAAItY,IAAI,CAACkY,0BAA0B,CAAC,CAAC,KAAK,CAAClY,IAAI,CAACoY,0BAA0B,CAAC,CAAC,IAAIpY,IAAI,CAAC4C,YAAY,CAAC,CAAC,KAAK,eAAe,CAAC,EAAE;QACnL9C,CAAC,CAAC,wBAAwB,CAAC,CAAC4B,IAAI,CAAC,CAAC;MACtC,CAAC,MAAM;QACH5B,CAAC,CAAC,wBAAwB,CAAC,CAAC+B,IAAI,CAAC,CAAC;QAElCd,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACC,QAAQ,CAACC,MAAM,CAACC,eAAe,EAChD;UAAE2B,OAAO,EAAE,IAAI;UAAEC,WAAW,EAAE,KAAK;UAAEK,SAAS,EAAE;QAAM,CAAC,CAAC;MAChE;IACJ,CAAC;IAED,IAAI,CAAC+f,WAAW,GAAG,UAAUrf,SAAS,EAAE2U,eAAe,EAAE;MACrDrX,CAAC,CAAC,wBAAwB,CAAC,CAAC4B,IAAI,CAAC,CAAC;MAClC5B,CAAC,CAAC,2BAA2B,CAAC,CAAC4B,IAAI,CAAC,CAAC;MACrC5B,CAAC,CAAC,sBAAsB,CAAC,CAAC4B,IAAI,CAAC,CAAC;MAEhC,IAAIc,SAAS,KAAK2T,YAAY,EAC1BnW,IAAI,CAAC8hB,mBAAmB,CAAC,CAAC;MAE9B,IAAI9hB,IAAI,CAACM,QAAQ,KAAK,IAAI,IAAIN,IAAI,CAACK,QAAQ,KAAK,IAAI,EAAE;QAClDL,IAAI,CAAC8W,mBAAmB,GAAG,IAAI;QAC/B;MACJ;MACA9W,IAAI,CAAC8W,mBAAmB,GAAG,KAAK;MAEhC/V,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACC,QAAQ,CAACC,MAAM,CAACC,eAAe,EAChD;QAAE2B,OAAO,EAAE,KAAK;QAAEC,WAAW,EAAE,KAAK;QAAEK,SAAS,EAAE;MAAM,CAAC,CAAC;MAE7D,IAAIigB,YAAY,GAAG,IAAI,CAAC5gB,YAAY,CAAC+F,WAAW,CAAC,CAAC;MAClD,IAAI,OAAQ6a,YAAY,CAAC7c,KAAM,KAAK,WAAW,EAAE;QAC7C,IAAI6c,YAAY,CAAC7c,KAAK,CAAC1E,MAAM,GAAG,CAAC,EAAEuhB,YAAY,CAAC7c,KAAK,GAAG6c,YAAY,CAAC7c,KAAK,CAAC8c,IAAI,CAAC,CAAC;MACrF;MAEA,IAAI,CAAC7K,eAAe,EAChBA,eAAe,GAAG,KAAK;MAE3B,IAAIhL,IAAI,GAAG;QAAE8V,QAAQ,EAAEF,YAAY;QAAEpZ,QAAQ,EAAE3I,IAAI,CAACM,QAAQ;QAAEsI,QAAQ,EAAE5I,IAAI,CAACK,QAAQ;QAAE6hB,eAAe,EAAE/K;MAAgB,CAAC;MAEzH,IAAI3U,SAAS,KAAKqT,YAAY,EAAE;QAC5B7V,IAAI,CAACC,OAAO,CAACuI,UAAU,CAAC,0BAA0B,EAAE2D,IAAI,CAAC,CAACnI,IAAI,CAAC,UAAUC,MAAM,EAAE;UAC7E,IAAIA,MAAM,KAAK,IAAI,IAAIA,MAAM,CAACzD,MAAM,GAAG,CAAC,EAAE;YACtCkG,OAAO,CAACC,GAAG,CAAC,kCAAkC,CAAC;YAC/C;UACJ;UACA3G,IAAI,CAACmiB,iBAAiB,CAACle,MAAM,CAAC;QAClC,CAAC,CAAC;MACN;MAEA,IAAIzB,SAAS,KAAKyT,kBAAkB,EAAE;QAClCjW,IAAI,CAACC,OAAO,CAACuI,UAAU,CAAC,4BAA4B,EAAE2D,IAAI,CAAC,CAACnI,IAAI,CAAC,UAAUC,MAAM,EAAE;UAC/E,IAAIA,MAAM,KAAK,IAAI,IAAIA,MAAM,CAACzD,MAAM,GAAG,CAAC,EAAE;YACtCV,CAAC,CAAC,2BAA2B,CAAC,CAAC+B,IAAI,CAAC,CAAC;YACrC6E,OAAO,CAACC,GAAG,CAAC,qCAAqC,CAAC;YAClD;UACJ;UACA,IAAI1C,MAAM,CAAC+E,WAAW,EAAEF,MAAM,CAACC,QAAQ,GAAG9E,MAAM,CAAC+E,WAAW;UAC5DhJ,IAAI,CAACoiB,mBAAmB,CAACne,MAAM,CAACoe,eAAe,CAAC;QACpD,CAAC,CAAC;MACN;MAEA,IAAI7f,SAAS,KAAK2T,YAAY,EAAE;QAC5BnW,IAAI,CAACC,OAAO,CAACuI,UAAU,CAAC,wBAAwB,EAAE2D,IAAI,CAAC,CAACnI,IAAI,CAAC,UAAUC,MAAM,EAAE;UAC3E,IAAIA,MAAM,KAAKc,SAAS,IAAId,MAAM,KAAK,IAAI,IAAIA,MAAM,CAACzD,MAAM,GAAG,CAAC,EAAE;YAC9DV,CAAC,CAAC,sBAAsB,CAAC,CAAC+B,IAAI,CAAC,CAAC;YAChC6E,OAAO,CAACC,GAAG,CAAC,gCAAgC,CAAC;YAC7C3G,IAAI,CAACsiB,kBAAkB,CAAC,CAAC;YACzB;UACJ;UACAtiB,IAAI,CAACuiB,eAAe,CAACte,MAAM,CAAC;UAC5BjE,IAAI,CAACsiB,kBAAkB,CAAC,CAAC;QAC7B,CAAC,CAAC;MACN;IACJ,CAAC;IAED,IAAI,CAACR,mBAAmB,GAAG,YAAY;MACnC,IAAIhZ,MAAM,CAAC0Z,MAAM,EACb1Z,MAAM,CAAC0Z,MAAM,CAACC,kBAAkB,CAAC,KAAK,CAAC;IAC/C,CAAC;IAED,IAAI,CAACH,kBAAkB,GAAG,YAAY;MAClC,IAAIxZ,MAAM,CAAC0Z,MAAM,EACb1Z,MAAM,CAAC0Z,MAAM,CAACC,kBAAkB,CAAC,IAAI,CAAC;IAC9C,CAAC;IAED,IAAI,CAACF,eAAe,GAAG,UAAUG,OAAO,EAAE;MACtC5iB,CAAC,CAAC,wBAAwB,CAAC,CAAC+E,IAAI,CAAC6d,OAAO,CAAC;MACzC1iB,IAAI,CAAC2iB,4BAA4B,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,CAACtM,oBAAoB,GAAGxJ,EAAE,CAACC,UAAU,CAAC,CAAC;IAC3C,IAAI,CAAC8V,yBAAyB,GAAG/V,EAAE,CAACC,UAAU,CAAC,CAAC;IAEhD,IAAI,CAACsV,mBAAmB,GAAG,UAAUS,eAAe,EAAE;MAClD,IAAI;QACA,IAAIC,mBAAmB,GAAGhjB,CAAC,CAAC,6BAA6B,CAAC,CAAC+E,IAAI,CAAC,CAAC;QAEjE,IAAIie,mBAAmB,KAAK/d,SAAS,EAAE;UACnC,IAAI,CAAC+d,mBAAmB,IAAIA,mBAAmB,CAACtiB,MAAM,IAAI,CAAC,IAAIR,IAAI,CAAC4iB,yBAAyB,CAAC,CAAC,IAAIC,eAAe,CAACrgB,SAAS,EAAE;YAC1H,IAAIxC,IAAI,CAACqW,oBAAoB,CAAC,CAAC,IAAIrW,IAAI,CAACqW,oBAAoB,CAAC,CAAC,CAAC7V,MAAM,GAAG,CAAC,IAAIR,IAAI,CAAC4iB,yBAAyB,CAAC,CAAC,IAAIC,eAAe,CAACrgB,SAAS,EAAE;cACxI1C,CAAC,CAAC,6BAA6B,CAAC,CAAC+E,IAAI,CAAC7E,IAAI,CAACqW,oBAAoB,CAAC,CAAC,CAAC;cAClEvW,CAAC,CAAC,6BAA6B,CAAC,CAAC8B,QAAQ,CAAC,uBAAuB,CAAC;YACtE,CAAC,MACI;cACD8E,OAAO,CAACC,GAAG,CAAC,0BAA0B,CAAC;;cAEvC;cACA,IAAI3G,IAAI,CAACoW,gBAAgB,EAAE;gBACvBpW,IAAI,CAACoW,gBAAgB,CAAC2M,OAAO,CAAC,CAAC;gBAC/BjjB,CAAC,CAAC,6BAA6B,CAAC,CAAC+E,IAAI,CAAC,EAAE,CAAC;cAC7C;cAEA7E,IAAI,CAACoW,gBAAgB,GAAG,IAAI4M,IAAI,CAACC,QAAQ,CAACJ,eAAe,CAAC;cAC1D7iB,IAAI,CAACkjB,wBAAwB,CAACljB,IAAI,CAACoW,gBAAgB,CAAC;cACpDpW,IAAI,CAACqW,oBAAoB,CAACvW,CAAC,CAAC,6BAA6B,CAAC,CAAC+E,IAAI,CAAC,CAAC,CAAC;cAClE7E,IAAI,CAAC4iB,yBAAyB,CAACC,eAAe,CAACrgB,SAAS,CAAC;YAC7D;UACJ;QACJ;MACJ,CAAC,CAAC,OAAOiH,CAAC,EAAE;QACR/C,OAAO,CAACC,GAAG,CAAC,2DAA2D,GAAG8C,CAAC,CAAC;MAChF;IACJ,CAAC;IAED,IAAI,CAACyZ,wBAAwB,GAAG,UAAUvjB,QAAQ,EAAE;MAChDA,QAAQ,CAAC6J,EAAE,CAAC,mBAAmB,EAAE,UAAU2Z,QAAQ,EAAE;QACjD,IAAIC,WAAW,GAAGtjB,CAAC,CAAC,6BAA6B,CAAC,CAAC+E,IAAI,CAAC,CAAC;QACzD7E,IAAI,CAACmL,YAAY,CAACiY,WAAW,CAAC;QAC9BriB,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACmH,QAAQ,CAACjH,MAAM,CAACkH,cAAc,EAAE;UAAEC,QAAQ,EAAE,QAAQ;UAAEC,QAAQ,EAAE,KAAK;UAAEnF,IAAI,EAAE;QAAK,CAAC,CAAC;QAEzG,IAAIsK,IAAI,GAAG;UAAE3J,SAAS,EAAE2gB,QAAQ,CAAC3gB;QAAU,CAAC;QAC5CxC,IAAI,CAACC,OAAO,CAACiG,SAAS,CAAC,0BAA0B,EAAEiG,IAAI,CAAC,CAACnI,IAAI,CAAC,UAAUC,MAAM,EAAE;UAC5E,IAAIA,MAAM,KAAK,IAAI,IAAIA,MAAM,CAACzD,MAAM,GAAG,CAAC,EAAE;YACtCkG,OAAO,CAACC,GAAG,CAAC,+EAA+E,CAAC;YAC5F5F,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACmH,QAAQ,CAACjH,MAAM,CAACyjB,cAAc,CAAC;YACpD;UACJ;UACAva,MAAM,CAACC,QAAQ,GAAG9E,MAAM;QAC5B,CAAC,CAAC;MACN,CAAC,CAAC;;MAEF;MACAtE,QAAQ,CAAC6J,EAAE,CAAC,iBAAiB,EAAE,UAAU8Z,OAAO,EAAE;QAAE;QAChD5c,OAAO,CAACC,GAAG,CAAC,4BAA4B,CAAC;QACzC;;QAEA,IAAI2c,OAAO,EAAE;UACT,IAAIxe,OAAO,GAAG,EAAE;UAChB,IAAIye,WAAW,GAAG,EAAE;UAEpB,IAAID,OAAO,CAACE,UAAU,KAAK,IAAI,IAAIF,OAAO,CAACE,UAAU,CAAChjB,MAAM,GAAG,CAAC,EAC5DsE,OAAO,GAAGwe,OAAO,CAACE,UAAU;UAEhC,IAAIF,OAAO,CAACC,WAAW,KAAK,IAAI,IAAID,OAAO,CAACC,WAAW,CAAC/iB,MAAM,GAAG,CAAC,EAC9D+iB,WAAW,GAAGD,OAAO,CAACC,WAAW;UAErC,IAAIze,OAAO,KAAK,EAAE,IAAIye,WAAW,KAAK,EAAE,EAAE;YACtC,IAAIpX,IAAI,GAAG;cAAErH,OAAO,EAAEA,OAAO;cAAE2e,SAAS,EAAEF;YAAY,CAAC;YACvDxiB,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACE,MAAM,CAACwB,oBAAoB,CAACsiB,gBAAgB,EAAEvX,IAAI,CAAC;YACxEnM,IAAI,CAAC2jB,qBAAqB,CAAC7e,OAAO,CAAC;UACvC;QACJ;QAEA,IAAI8e,cAAc,GAAG;UAAE/D,QAAQ,EAAE,UAAU;UAAEgE,IAAI,EAAE,EAAE;UAAE7D,KAAK,EAAE,EAAE;UAAE8D,aAAa,EAAE,EAAE;UAAEC,cAAc,EAAE,EAAE;UAAEC,UAAU,EAAEV,OAAO,CAACE,UAAU;UAAES,IAAI,EAAE,EAAE;UAAEC,WAAW,EAAEZ,OAAO,CAACC;QAAY,CAAC;QACrLvjB,IAAI,CAACC,OAAO,CAACuI,UAAU,CAAC,mBAAmB,EAAEob,cAAc,CAAC,CAAC5f,IAAI,CAAC,UAAUC,MAAM,EAAE;UAChFjE,IAAI,CAACmkB,2BAA2B,CAAC,UAAU,EAAElgB,MAAM,CAAC+b,KAAK,EAAE/b,MAAM,CAAC+f,UAAU,EAAE/f,MAAM,CAAC6f,aAAa,CAAC;QACvG,CAAC,CAAC;QAEF9jB,IAAI,CAACC,OAAO,CAACiG,SAAS,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAClC,IAAI,CAAC,UAAUC,MAAM,EAAE;UAC5E,IAAIA,MAAM,KAAK,IAAI,IAAIA,MAAM,CAACzD,MAAM,GAAG,CAAC,EAAE;YACtC;UACJ;UAEA,IAAIwH,YAAY,GAAG,EAAE;UACrB,IAAI/D,MAAM,KAAK,IAAI,EACf+D,YAAY,GAAG,QAAQ,CAAC,KAExBA,YAAY,GAAG,cAAc;UACjCtB,OAAO,CAACC,GAAG,CAAC,4BAA4B,GAAGqB,YAAY,CAAC;UAExD,IAAIoc,mBAAmB,GAAG,QAAQ;UAClC,IAAIpkB,IAAI,CAACwZ,kBAAkB,CAAC,CAAC,KAAK,eAAe,EAC7C4K,mBAAmB,GAAG,cAAc;UACxC,IAAIpc,YAAY,KAAKoc,mBAAmB,EACpCpkB,IAAI,CAACqkB,qCAAqC,CAACrc,YAAY,CAAC;QAChE,CAAC,CAAC;MACN,CAAC,CAAC;;MAEF;MACArI,QAAQ,CAAC6J,EAAE,CAAC,iBAAiB,EAAE,UAAU2Z,QAAQ,EAAE;QAC/C,IAAI3d,OAAO,GAAG,IAAI;QAClB7F,QAAQ,CAAC2kB,IAAI,CAAC,yBAAyB,EAAE9e,OAAO,CAAC;MACrD,CAAC,CAAC;IACN,CAAC;IAED,IAAI,CAAC2c,iBAAiB,GAAG,UAAUO,OAAO,EAAE;MACxC5iB,CAAC,CAAC,0BAA0B,CAAC,CAAC+E,IAAI,CAAC6d,OAAO,CAAC;MAC3C1iB,IAAI,CAACkd,sBAAsB,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,CAACqH,qBAAqB,GAAG,YAAY;MACrC,IAAI;QACA,IAAI,OAAQzb,MAAM,CAAC0b,eAAgB,KAAK,WAAW,EAAE;UACjD1b,MAAM,CAAC0b,eAAe,CAAC,UAAUC,GAAG,EAAE;YAClCA,GAAG,CAACC,OAAO,CAAC,CAAC;UACjB,CAAC,CAAC;QACN;MACJ,CAAC,CAAC,OAAOjb,CAAC,EAAE;QACR/C,OAAO,CAACC,GAAG,CAAC,6DAA6D,GAAG8C,CAAC,CAAC;MAClF;IACJ,CAAC;IAED,IAAI,CAACkb,oBAAoB,GAAG,YAAY;MACpC,IAAI;QACA,IAAI,OAAQ7b,MAAM,CAAC0b,eAAgB,KAAK,WAAW,EAAE;UACjD1b,MAAM,CAAC0b,eAAe,CAAC,UAAUC,GAAG,EAAE;YAClCA,GAAG,CAACG,MAAM,CAAC,CAAC;UAChB,CAAC,CAAC;QACN;MACJ,CAAC,CAAC,OAAOnb,CAAC,EAAE;QACR/C,OAAO,CAACC,GAAG,CAAC,4DAA4D,GAAG8C,CAAC,CAAC;MACjF;IACJ,CAAC;IAED1I,MAAM,CAACC,SAAS,CAACtB,KAAK,CAACsD,QAAQ,CAACpD,MAAM,CAAC0X,gBAAgB,EAAE,UAAUrW,OAAO,EAAEkL,IAAI,EAAE;MAC9EnM,IAAI,CAACuc,eAAe,CAAC,IAAI,CAAC;IAC9B,CAAC,CAAC;IAEFxb,MAAM,CAACC,SAAS,CAACtB,KAAK,CAACsD,QAAQ,CAACpD,MAAM,CAACua,gBAAgB,EAAE,UAAUlZ,OAAO,EAAEkL,IAAI,EAAE;MAC9EnM,IAAI,CAACuc,eAAe,CAAC,KAAK,CAAC;IAC/B,CAAC,CAAC;IAEF,IAAI,CAACsI,YAAY,GAAG,YAAY;MAC5B,IAAI;QACA,IAAI7kB,IAAI,CAACmZ,YAAY,CAAC,CAAC,KAAK,IAAI,EAC5B,OAAO,KAAK;QAChB,IAAI2L,UAAU,GAAG,KAAK;QAEtB,KAAK,IAAIzV,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGrP,IAAI,CAACmZ,YAAY,CAAC,CAAC,CAAC3Y,MAAM,EAAE6O,CAAC,EAAE,EAAE;UACjD,IAAIrP,IAAI,CAACmZ,YAAY,CAAC,CAAC,CAAC9J,CAAC,CAAC,CAAC+J,SAAS,KAAKvD,YAAY,EAAE;YACnDiP,UAAU,GAAG,IAAI;UACrB;QACJ;QAEA,OAAOA,UAAU;MACrB,CAAC,CAAC,OAAOrb,CAAC,EAAE;QACR/C,OAAO,CAACC,GAAG,CAAC,kDAAkD,GAAG8C,CAAC,CAAC;QACnE,OAAO,KAAK;MAChB;IACJ,CAAC;;IAED;IACA,IAAI,CAACka,qBAAqB,GAAG,UAAU7e,OAAO,EAAE;MAC5C,IAAI;QACA,IAAItC,SAAS,GAAGxC,IAAI,CAACmC,eAAe,CAAC,CAAC;QACtC,IAAIK,SAAS,KAAKuC,SAAS,EAAE;QAE7B,IAAIvC,SAAS,KAAKqT,YAAY,EAAE;UAC5B,IAAI,CAAC7V,IAAI,CAAC0X,8BAA8B,CAAC,CAAC,EAAE;UAC5C,IAAIqN,YAAY,GAAG/kB,IAAI,CAAC6kB,YAAY,CAAC,CAAC;UACtC,IAAI,CAACE,YAAY,EAAE;UACnB/kB,IAAI,CAACukB,qBAAqB,CAAC,CAAC;QAChC;QAEA,IAAI/hB,SAAS,KAAKyT,kBAAkB,EAAE;UAClC,IAAIjW,IAAI,CAACoW,gBAAgB,IAAI,CAACpW,IAAI,CAACglB,cAAc,CAAC,CAAC,EAAE;YACjDhlB,IAAI,CAACoW,gBAAgB,CAAC6O,cAAc,CAAC,CAAC;YACtCjlB,IAAI,CAACglB,cAAc,CAAC,IAAI,CAAC;UAC7B;UACAhlB,IAAI,CAACklB,mBAAmB,CAAC9R,IAAI,CAAC,uBAAuB,CAAC;QAC1D;QAEA,IAAIjH,IAAI,GAAG;UAAE3J,SAAS,EAAEA,SAAS;UAAEsC,OAAO,EAAEA;QAAQ,CAAC;QACrD9E,IAAI,CAACC,OAAO,CAACiG,SAAS,CAAC,uBAAuB,EAAEiG,IAAI,CAAC,CAACnI,IAAI,CAAC,UAAUC,MAAM,EAAE;UACzE,IAAIzB,SAAS,KAAKqT,YAAY,EAC1B7V,IAAI,CAAC2kB,oBAAoB,CAAC,CAAC;UAE/B,IAAIniB,SAAS,KAAKyT,kBAAkB,EAAE;YAClCjW,IAAI,CAACklB,mBAAmB,CAAC9Q,GAAG,CAAC,CAAC;YAE9B,IAAIpU,IAAI,CAACoW,gBAAgB,IAAIpW,IAAI,CAACklB,mBAAmB,CAAC1kB,MAAM,KAAK,CAAC,IAAIR,IAAI,CAACglB,cAAc,CAAC,CAAC,EAAE;cACzFhlB,IAAI,CAACoW,gBAAgB,CAAC+O,YAAY,CAAC,CAAC;cACpCnlB,IAAI,CAACglB,cAAc,CAAC,KAAK,CAAC;YAC9B;UACJ;QACJ,CAAC,CAAC;MACN,CAAC,CAAC,OAAOvb,CAAC,EAAE;QACR/C,OAAO,CAACC,GAAG,CAAC,6DAA6D,GAAG8C,CAAC,CAAC;MAClF;IACJ,CAAC;IAED,IAAI,CAACyb,mBAAmB,GAAG,EAAE;IAC7B,IAAI,CAACF,cAAc,GAAGnY,EAAE,CAACC,UAAU,CAAC,KAAK,CAAC;IAE1C,IAAI,CAACwQ,uBAAuB,GAAG,YAAY;MACvC,IAAItd,IAAI,CAACmC,eAAe,CAAC,CAAC,KAAK0T,YAAY,IAAI7V,IAAI,CAACmC,eAAe,CAAC,CAAC,KAAK8T,kBAAkB,IAAIjW,IAAI,CAACmC,eAAe,CAAC,CAAC,KAAKgU,YAAY,EAAE;QACrI;MACJ;MAEA,IAAInW,IAAI,CAACmC,eAAe,CAAC,CAAC,KAAK0T,YAAY,EAAE;QACzC/V,CAAC,CAAC,gCAAgC,CAAC,CAAC4B,IAAI,CAAC,CAAC;QAC1C1B,IAAI,CAACukB,qBAAqB,CAAC,CAAC,CAAC,CAAE;;QAE/BvkB,IAAI,CAACC,OAAO,CAACiG,SAAS,CAAC,+BAA+B,EAAE,IAAI,CAAC,CAAClC,IAAI,CAAC,UAAUC,MAAM,EAAE;UACjFjE,IAAI,CAAC2kB,oBAAoB,CAAC,CAAC,CAAC,CAAE;;UAE9B,IAAI1gB,MAAM,KAAK,IAAI,IAAIA,MAAM,CAACzD,MAAM,GAAG,CAAC,EAAE;YACtCkG,OAAO,CAACC,GAAG,CAAC,yCAAyC,CAAC;YACtD;UACJ;UAEA,IAAI,CAAC1C,MAAM,CAAC+B,OAAO,EAAE;YACjBlG,CAAC,CAAC,0BAA0B,CAAC,CAAC4B,IAAI,CAAC,CAAC;YACpC5B,CAAC,CAAC,gCAAgC,CAAC,CAAC+B,IAAI,CAAC,CAAC;UAC9C;UAEA/B,CAAC,CAAC,0BAA0B,CAAC,CAAC+B,IAAI,CAAC,CAAC;UACpC/B,CAAC,CAAC,gCAAgC,CAAC,CAAC4B,IAAI,CAAC,CAAC;QAC9C,CAAC,CAAC;MACN;MAEA,IAAI1B,IAAI,CAACmC,eAAe,CAAC,CAAC,KAAK8T,kBAAkB,EAAE;QAC/C,IAAIjW,IAAI,CAACoW,gBAAgB,IAAI,CAACpW,IAAI,CAACglB,cAAc,CAAC,CAAC,EAAE;UACjDhlB,IAAI,CAACoW,gBAAgB,CAAC6O,cAAc,CAAC,CAAC;UACtCjlB,IAAI,CAACglB,cAAc,CAAC,IAAI,CAAC;QAC7B;QACAhlB,IAAI,CAACklB,mBAAmB,CAAC9R,IAAI,CAAC,iCAAiC,CAAC;QAEhEpT,IAAI,CAACC,OAAO,CAACiG,SAAS,CAAC,iCAAiC,EAAE,IAAI,CAAC,CAAClC,IAAI,CAAC,UAAUC,MAAM,EAAE;UACnFjE,IAAI,CAACklB,mBAAmB,CAAC9Q,GAAG,CAAC,CAAC;UAE9B,IAAIpU,IAAI,CAACoW,gBAAgB,IAAIpW,IAAI,CAACklB,mBAAmB,CAAC1kB,MAAM,KAAK,CAAC,IAAIR,IAAI,CAACglB,cAAc,CAAC,CAAC,EAAE;YACzFhlB,IAAI,CAACoW,gBAAgB,CAAC+O,YAAY,CAAC,CAAC;YACpCnlB,IAAI,CAACglB,cAAc,CAAC,KAAK,CAAC;UAC9B;UAEA,IAAI/gB,MAAM,KAAK,IAAI,IAAIA,MAAM,CAACzD,MAAM,GAAG,CAAC,EAAE;YACtCkG,OAAO,CAACC,GAAG,CAAC,2CAA2C,CAAC;YACxD;UACJ;QACJ,CAAC,CAAC;MACN;MAEA,IAAI3G,IAAI,CAACmC,eAAe,CAAC,CAAC,KAAKgU,YAAY,EAAE;QACzCnW,IAAI,CAAC8hB,mBAAmB,CAAC,CAAC;QAE1B9hB,IAAI,CAACC,OAAO,CAACiG,SAAS,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAAClC,IAAI,CAAC,UAAUC,MAAM,EAAE;UAC/E,IAAIA,MAAM,KAAK,IAAI,IAAIA,MAAM,CAACzD,MAAM,GAAG,CAAC,EACpCkG,OAAO,CAACC,GAAG,CAAC,oCAAoC,CAAC,CAAC,KACjD,IAAI1C,MAAM,IAAI,MAAM,EACrByC,OAAO,CAACC,GAAG,CAAC,WAAW,CAAC,CAAC,KACxB,IAAI1C,MAAM,IAAI,OAAO,EACtByC,OAAO,CAACC,GAAG,CAAC,eAAe,CAAC,CAAC,KAE7BD,OAAO,CAACC,GAAG,CAAC1C,MAAM,CAAC;UAEvBjE,IAAI,CAACsiB,kBAAkB,CAAC,CAAC;QAC7B,CAAC,CAAC;QACF;MACJ;IACJ,CAAC;IAED,IAAI,CAAC8C,yBAAyB,GAAG,UAAUpd,YAAY,EAAE;MACrD,IAAIhI,IAAI,CAAC2X,oCAAoC,CAAC,CAAC,EAAE;QAC7C;QACA3X,IAAI,CAACmL,YAAY,CAACrL,CAAC,CAAC,kBAAkB,CAAC,CAAC+E,IAAI,CAAC,CAAC,CAAC;QAC/C9D,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACmH,QAAQ,CAACjH,MAAM,CAACkH,cAAc,EAAE;UAAEC,QAAQ,EAAE,QAAQ;UAAEC,QAAQ,EAAE,KAAK;UAAEnF,IAAI,EAAE;QAAK,CAAC,CAAC;QAEzGsL,QAAQ,CAACC,cAAc,CAAC,qBAAqB,CAAC,CAACiY,gBAAgB,CAAC,OAAO,EAAE,YAAY;UACjFrlB,IAAI,CAACslB,kBAAkB,CAACtd,YAAY,CAAC;QACzC,CAAC,CAAC;MACN,CAAC,MAAM;QACHhI,IAAI,CAACslB,kBAAkB,CAACtd,YAAY,CAAC;MACzC;IACJ,CAAC;IAED,IAAI,CAACsd,kBAAkB,GAAG,UAAUtd,YAAY,EAAE;MAC9C,IAAIA,YAAY,KAAK,cAAc,EAAE;QACjCjH,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACE,MAAM,CAACwB,oBAAoB,CAACmkB,qBAAqB,EAAE,CAAC,CAAC;MAC9E,CAAC,MAAM;QACHxkB,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACE,MAAM,CAACwB,oBAAoB,CAACmkB,qBAAqB,EAAE,CAAC,CAAC;MAC9E;IACJ,CAAC;IAED,IAAI,CAAClB,qCAAqC,GAAG,UAAUrc,YAAY,EAAE;MACjE;;MAEAhI,IAAI,CAACmL,YAAY,CAACrL,CAAC,CAAC,+BAA+B,CAAC,CAAC+E,IAAI,CAAC,CAAC,CAAC;MAC5D9D,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACmH,QAAQ,CAACjH,MAAM,CAACkH,cAAc,EAAE;QAAEC,QAAQ,EAAE,QAAQ;QAAEC,QAAQ,EAAE,KAAK;QAAEnF,IAAI,EAAE;MAAK,CAAC,CAAC;MAEzGsL,QAAQ,CAACC,cAAc,CAAC,kCAAkC,CAAC,CAACiY,gBAAgB,CAAC,OAAO,EAAE,YAAY;QAC9F,IAAIrd,YAAY,KAAK,cAAc,EAC/BjH,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACE,MAAM,CAACwB,oBAAoB,CAACmkB,qBAAqB,EAAE,CAAC,CAAC,CAAC,KAE3ExkB,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACE,MAAM,CAACwB,oBAAoB,CAACmkB,qBAAqB,EAAE,CAAC,CAAC;MAClF,CAAC,CAAC;IACN,CAAC;IAED,IAAI,CAACC,aAAa,GAAG,YAAY;MAC7BxlB,IAAI,CAACmB,YAAY,CAACG,cAAc,CAACmkB,gBAAgB,CAAC,KAAK,CAAC;MACxDzlB,IAAI,CAACmB,YAAY,CAACG,cAAc,CAACokB,cAAc,CAAC,IAAI,CAAC;MACrD3kB,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACE,MAAM,CAACwB,oBAAoB,CAACmkB,qBAAqB,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,IAAI,CAAC1G,YAAY,GAAG,YAAY;MAC5B7e,IAAI,CAACmB,YAAY,CAACG,cAAc,CAACmkB,gBAAgB,CAAC,KAAK,CAAC;MACxDzlB,IAAI,CAACmB,YAAY,CAACG,cAAc,CAACokB,cAAc,CAAC,IAAI,CAAC;MACrD3kB,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACE,MAAM,CAACwB,oBAAoB,CAACmkB,qBAAqB,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,IAAI,CAACI,oBAAoB,GAAG,YAAY;MACpC,IAAIC,cAAc,GAAGlmB,KAAK,CAAC2N,kBAAkB,CAAChM,SAAS,CAAC,QAAQ,CAAC;MACjE,IAAIwkB,YAAY,GAAGD,cAAc,CAACnhB,WAAW,CAAC,OAAO,CAAC;MAEtD,IAAIohB,YAAY,EAAE;QACd,IAAIC,GAAG,GAAG,2CAA2C;;QAErD;QACA;QACA;QACA;QACA;QACA;;QAEAhmB,CAAC,CAACimB,IAAI,CAAC;UACHxV,IAAI,EAAE,KAAK;UACXuV,GAAG,EAAEA,GAAG;UACRE,WAAW,EAAE,iCAAiC;UAC9CxgB,OAAO,EAAE,SAAAA,QAAU2G,IAAI,EAAE;YACrB,IAAIA,IAAI,EAAE;cACNzF,OAAO,CAACC,GAAG,CAAC,iBAAiB,GAAGwF,IAAI,CAAC;cACrCrD,MAAM,CAACC,QAAQ,CAAC+B,OAAO,CAACqB,IAAI,CAAC;YACjC,CAAC,MACI;cACDzF,OAAO,CAACC,GAAG,CAAC,kBAAkB,CAAC;cAC/B3G,IAAI,CAACG,WAAW,CAACuH,QAAQ,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,CAAC1D,IAAI,CAAC,UAAU2D,KAAK,EAAE;gBACtF3H,IAAI,CAAC4E,gBAAgB,CAAC+C,KAAK,CAAC;cAChC,CAAC,CAAC;YACN;UACJ,CAAC;UACDyC,KAAK,EAAE,SAAAA,MAAA,EAAY;YACf1D,OAAO,CAACC,GAAG,CAAC,aAAa,CAAC;YAC1B3G,IAAI,CAACG,WAAW,CAACuH,QAAQ,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,CAAC1D,IAAI,CAAC,UAAU2D,KAAK,EAAE;cACtF3H,IAAI,CAAC4E,gBAAgB,CAAC+C,KAAK,CAAC;YAChC,CAAC,CAAC;UACN;QACJ,CAAC,CAAC;MACN;MAEA;IACJ,CAAC;IAED,IAAI,CAACgb,4BAA4B,GAAG,YAAY;MAC5C,IAAI;QACAsD,KAAK,CAAC,gCAAgC,CAAC;QAEvC9Y,QAAQ,CAACkY,gBAAgB,CAAC,eAAe,EAAE,YAAY;UACnDY,KAAK,CAAC,8CAA8C,CAAC;UAErD,IAAI,CAACnd,MAAM,CAAC0Z,MAAM,CAAC0D,mBAAmB,CAAC,sBAAsB,CAAC,IAAIpd,MAAM,CAAC0Z,MAAM,CAAC0D,mBAAmB,CAAC,sBAAsB,CAAC,CAAC1lB,MAAM,KAAK,CAAC,EAAE;YACtIylB,KAAK,CAAC,+DAA+D,CAAC;YAEtEnd,MAAM,CAAC0Z,MAAM,CAAC2D,YAAY,CAAC,sBAAsB,EAAE,UAAUha,IAAI,EAAE;cAC/D8Z,KAAK,CAAC,sDAAsD,EAAE9Z,IAAI,CAAC;YACvE,CAAC,CAAC;UACN;UACA,IAAI,CAACrD,MAAM,CAAC0Z,MAAM,CAAC0D,mBAAmB,CAAC,oBAAoB,CAAC,IAAIpd,MAAM,CAAC0Z,MAAM,CAAC0D,mBAAmB,CAAC,oBAAoB,CAAC,CAAC1lB,MAAM,KAAK,CAAC,EAAE;YAClIylB,KAAK,CAAC,6DAA6D,CAAC;YAEpEnd,MAAM,CAAC0Z,MAAM,CAAC2D,YAAY,CAAC,oBAAoB,EAAE,UAAUha,IAAI,EAAE;cAC7D8Z,KAAK,CAAC,oDAAoD,EAAE9Z,IAAI,CAAC;YACrE,CAAC,CAAC;UACN;UACA,IAAI,CAACrD,MAAM,CAAC0Z,MAAM,CAAC0D,mBAAmB,CAAC,mBAAmB,CAAC,IAAIpd,MAAM,CAAC0Z,MAAM,CAAC0D,mBAAmB,CAAC,mBAAmB,CAAC,CAAC1lB,MAAM,KAAK,CAAC,EAAE;YAChIylB,KAAK,CAAC,4DAA4D,CAAC;YAEnEnd,MAAM,CAAC0Z,MAAM,CAAC2D,YAAY,CAAC,mBAAmB,EAAE,UAAUha,IAAI,EAAE;cAC5D8Z,KAAK,CAAC,mDAAmD,EAAE9Z,IAAI,CAAC;YACpE,CAAC,CAAC;UACN;UAEA,IAAI,CAACrD,MAAM,CAAC0Z,MAAM,CAAC0D,mBAAmB,CAAC,qBAAqB,CAAC,IAAIpd,MAAM,CAAC0Z,MAAM,CAAC0D,mBAAmB,CAAC,qBAAqB,CAAC,CAAC1lB,MAAM,KAAK,CAAC,EAAE;YACpIylB,KAAK,CAAC,8DAA8D,CAAC;YAErEnd,MAAM,CAAC0Z,MAAM,CAAC2D,YAAY,CAAC,qBAAqB,EAAE,UAAUha,IAAI,EAAE;cAC9D8Z,KAAK,CAAC,qDAAqD,EAAE9Z,IAAI,CAAC;cAElE,IAAIqX,UAAU,GAAGrX,IAAI,CAACxE,KAAK;cAC3B,IAAI,CAAC6b,UAAU,EACXA,UAAU,GAAG,EAAE;cAEnB,IAAIA,UAAU,CAAChjB,MAAM,GAAG,CAAC,EAAE;gBACvB,IAAI2L,IAAI,GAAG;kBAAErH,OAAO,EAAE0e;gBAAW,CAAC;gBAClCziB,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACE,MAAM,CAACwB,oBAAoB,CAACsiB,gBAAgB,EAAEvX,IAAI,CAAC;cAC5E;cAEA,IAAIyX,cAAc,GAAG;gBAAE/D,QAAQ,EAAE,MAAM;gBAAEgE,IAAI,EAAE,EAAE;gBAAE7D,KAAK,EAAE,EAAE;gBAAE8D,aAAa,EAAE,EAAE;gBAAEC,cAAc,EAAE,EAAE;gBAAEC,UAAU,EAAER,UAAU;gBAAES,IAAI,EAAE,EAAE;gBAAEC,WAAW,EAAE;cAAG,CAAC;cACxJlkB,IAAI,CAACC,OAAO,CAACuI,UAAU,CAAC,mBAAmB,EAAEob,cAAc,CAAC,CAAC5f,IAAI,CAAC,UAAUC,MAAM,EAAE;gBAChFgiB,KAAK,CAAC,yCAAyC,EAAEhiB,MAAM,CAAC;gBACxDjE,IAAI,CAACmkB,2BAA2B,CAAC,MAAM,EAAElgB,MAAM,CAAC+b,KAAK,EAAE/b,MAAM,CAAC+f,UAAU,EAAE/f,MAAM,CAAC6f,aAAa,CAAC;cACnG,CAAC,CAAC;YACN,CAAC,CAAC;UACN;UACA,IAAI,CAAChb,MAAM,CAAC0Z,MAAM,CAAC0D,mBAAmB,CAAC,wBAAwB,CAAC,IAAIpd,MAAM,CAAC0Z,MAAM,CAAC0D,mBAAmB,CAAC,wBAAwB,CAAC,CAAC1lB,MAAM,KAAK,CAAC,EAAE;YAC1IylB,KAAK,CAAC,iEAAiE,CAAC;YAExEnd,MAAM,CAAC0Z,MAAM,CAAC2D,YAAY,CAAC,wBAAwB,EAAE,UAAUha,IAAI,EAAE;cACjE8Z,KAAK,CAAC,wDAAwD,EAAE9Z,IAAI,CAAC;cAErE,IAAIuT,aAAa,GAAGvT,IAAI,CAACxE,KAAK;cAC9B,IAAI,CAAC+X,aAAa,EACdA,aAAa,GAAG,EAAE;cAEtB,IAAIkE,cAAc,GAAG;gBAAE/D,QAAQ,EAAE,MAAM;gBAAEgE,IAAI,EAAE,EAAE;gBAAE7D,KAAK,EAAE,EAAE;gBAAE8D,aAAa,EAAEpE,aAAa;gBAAEqE,cAAc,EAAE,EAAE;gBAAEC,UAAU,EAAE,EAAE;gBAAEC,IAAI,EAAE,EAAE;gBAAEC,WAAW,EAAE;cAAG,CAAC;cAC3JlkB,IAAI,CAACC,OAAO,CAACuI,UAAU,CAAC,mBAAmB,EAAEob,cAAc,CAAC,CAAC5f,IAAI,CAAC,UAAUC,MAAM,EAAE;gBAChFgiB,KAAK,CAAC,4CAA4C,EAAEhiB,MAAM,CAAC;gBAC3DjE,IAAI,CAACmkB,2BAA2B,CAAC,MAAM,EAAElgB,MAAM,CAAC+b,KAAK,EAAE/b,MAAM,CAAC+f,UAAU,EAAE/f,MAAM,CAAC6f,aAAa,CAAC;cACnG,CAAC,CAAC;YACN,CAAC,CAAC;UACN;UACA,IAAI,CAAChb,MAAM,CAAC0Z,MAAM,CAAC0D,mBAAmB,CAAC,gBAAgB,CAAC,IAAIpd,MAAM,CAAC0Z,MAAM,CAAC0D,mBAAmB,CAAC,gBAAgB,CAAC,CAAC1lB,MAAM,KAAK,CAAC,EAAE;YAC1HylB,KAAK,CAAC,yDAAyD,CAAC;YAEhEnd,MAAM,CAAC0Z,MAAM,CAAC2D,YAAY,CAAC,gBAAgB,EAAE,UAAUha,IAAI,EAAE;cACzD8Z,KAAK,CAAC,gDAAgD,EAAE9Z,IAAI,CAAC;cAE7D,IAAIpB,KAAK,GAAGoB,IAAI,CAACxE,KAAK;cACtB,IAAI,CAACoD,KAAK,EACNA,KAAK,GAAG,EAAE;cAEd,IAAI6Y,cAAc,GAAG;gBAAE/D,QAAQ,EAAE,MAAM;gBAAEgE,IAAI,EAAE,EAAE;gBAAE7D,KAAK,EAAEjV,KAAK;gBAAE+Y,aAAa,EAAE,EAAE;gBAAEC,cAAc,EAAE,EAAE;gBAAEC,UAAU,EAAE,EAAE;gBAAEC,IAAI,EAAE,EAAE;gBAAEC,WAAW,EAAE;cAAG,CAAC;cACnJlkB,IAAI,CAACC,OAAO,CAACuI,UAAU,CAAC,mBAAmB,EAAEob,cAAc,CAAC,CAAC5f,IAAI,CAAC,UAAUC,MAAM,EAAE;gBAChFgiB,KAAK,CAAC,oCAAoC,EAAEhiB,MAAM,CAAC;gBACnDjE,IAAI,CAACmkB,2BAA2B,CAAC,MAAM,EAAElgB,MAAM,CAAC+b,KAAK,EAAE/b,MAAM,CAAC+f,UAAU,EAAE/f,MAAM,CAAC6f,aAAa,CAAC;cACnG,CAAC,CAAC;YACN,CAAC,CAAC;UACN;UACA,IAAI,CAAChb,MAAM,CAAC0Z,MAAM,CAAC0D,mBAAmB,CAAC,0BAA0B,CAAC,IAAIpd,MAAM,CAAC0Z,MAAM,CAAC0D,mBAAmB,CAAC,0BAA0B,CAAC,CAAC1lB,MAAM,KAAK,CAAC,EAAE;YAC9IylB,KAAK,CAAC,mEAAmE,CAAC;YAE1End,MAAM,CAAC0Z,MAAM,CAAC2D,YAAY,CAAC,0BAA0B;cAAA,IAAAC,IAAA,GAAA9Q,iBAAA,eAAA1G,mBAAA,GAAAgF,IAAA,CAAE,SAAAyS,QAAgBla,IAAI;gBAAA,IAAAma,KAAA;gBAAA,OAAA1X,mBAAA,GAAAqB,IAAA,UAAAsW,SAAAC,QAAA;kBAAA,kBAAAA,QAAA,CAAAnS,IAAA,GAAAmS,QAAA,CAAA5T,IAAA;oBAAA;sBACvEqT,KAAK,CAAC,0DAA0D,EAAE9Z,IAAI,CAAC;sBAEnEma,KAAK,GAAG,IAAI;sBAAAE,QAAA,CAAA5T,IAAA;sBAAA,OACD6T,uBAAuB,CAAC,CAAC;oBAAA;sBAAxCxiB,MAAM,GAAAuiB,QAAA,CAAAnU,IAAA;sBACN,IAAIpO,MAAM,IAAIA,MAAM,CAACzD,MAAM,GAAG,CAAC,EAAE;wBAC7B8lB,KAAK,GAAG,KAAK;wBACbtmB,IAAI,CAAC4E,gBAAgB,CAACX,MAAM,CAAC;sBACjC;sBAEAkI,IAAI,CAACua,QAAQ,CAAC;wBAAEJ,KAAK,EAAEA;sBAAM,CAAC,CAAC;oBAAC;oBAAA;sBAAA,OAAAE,QAAA,CAAAhS,IAAA;kBAAA;gBAAA,GAAA6R,OAAA;cAAA,CACnC;cAAA,iBAAAM,EAAA;gBAAA,OAAAP,IAAA,CAAA1Q,KAAA,OAAAD,SAAA;cAAA;YAAA,IAAC;UACN;QACJ,CAAC,CAAC;MACN,CAAC,CAAC,OAAOhM,CAAC,EAAE;QACRwc,KAAK,CAAC,kEAAkE,EAAExc,CAAC,CAACmd,QAAQ,CAAC,CAAC,CAAC;QACvFlgB,OAAO,CAACC,GAAG,CAAC,oEAAoE,GAAG8C,CAAC,CAAC;MACzF;IACJ,CAAC;IAEDzJ,IAAI,CAAC6mB,eAAe,GAAG,EAAE;IACzB7mB,IAAI,CAAC8mB,kBAAkB,GAAG,EAAE;IAC5B9mB,IAAI,CAAC+mB,uBAAuB,GAAG,EAAE;IAAC,SAEnBN,uBAAuBA,CAAA;MAAA,OAAAO,wBAAA,CAAAtR,KAAA,OAAAD,SAAA;IAAA;IAAA,SAAAuR,yBAAA;MAAAA,wBAAA,GAAA1R,iBAAA,eAAA1G,mBAAA,GAAAgF,IAAA,CAAtC,SAAAqT,SAAA;QAAA,IAAAC,cAAA;QAAA,OAAAtY,mBAAA,GAAAqB,IAAA,UAAAkX,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAA/S,IAAA,GAAA+S,SAAA,CAAAxU,IAAA;YAAA;cACQsU,cAAc,GAAG,EAAE;cAAAE,SAAA,CAAAxU,IAAA;cAAA,OAEjB5S,IAAI,CAACC,OAAO,CAACiG,SAAS,CAAC,kCAAkC,EAAE,IAAI,CAAC,CAAClC,IAAI,CAAC,UAAUC,MAAM,EAAE;gBAC1FijB,cAAc,GAAGjjB,MAAM;cAC3B,CAAC,CAAC;YAAA;cAAA,OAAAmjB,SAAA,CAAA5U,MAAA,WAEK0U,cAAc;YAAA;YAAA;cAAA,OAAAE,SAAA,CAAA5S,IAAA;UAAA;QAAA,GAAAyS,QAAA;MAAA,CACxB;MAAA,OAAAD,wBAAA,CAAAtR,KAAA,OAAAD,SAAA;IAAA;IAED,SAAS4R,sBAAsBA,CAACC,eAAe,EAAE;MAC7CrB,KAAK,CAAC,0BAA0B,EAAE;QAAEqB,eAAe,EAAfA;MAAgB,CAAC,CAAC;MAEtDxI,WAAW,CAACyI,mBAAmB,GAAGD,eAAe,CAACC,mBAAmB;MACrEzI,WAAW,CAAC0I,sBAAsB,CAAC,CAAC;IACxC;IAEA,IAAI,CAACrD,2BAA2B,GAAG,UAAU3E,QAAQ,EAAEzU,KAAK,EAAE4U,QAAQ,EAAED,aAAa,EAAE;MACnF,IAAI,CAAC1f,IAAI,CAACuX,WAAW,EACjB;MAEJ,IAAI;QACA,IAAIoI,QAAQ,CAAC8H,QAAQ,CAAC,GAAG,CAAC,EACtB9H,QAAQ,GAAG,EAAE;QAEjB,IAAI,OAAOb,WAAW,KAAK,WAAW,IAAIA,WAAW,CAAC4I,gBAAgB,KAAK3iB,SAAS,KAC/EgG,KAAK,KAAK/K,IAAI,CAAC6mB,eAAe,IAAIlH,QAAQ,KAAK3f,IAAI,CAAC8mB,kBAAkB,IAAIpH,aAAa,KAAK1f,IAAI,CAAC+mB,uBAAuB,CAAC,EAAE;UAE5H,IAAI,CAAChc,KAAK,EAAE;YACRA,KAAK,GAAG4c,YAAY,CAACC,OAAO,CAAC,oBAAoB,CAAC;YAElD,IAAI,CAAC7c,KAAK,EACNA,KAAK,GAAG,EAAE;UAClB;UAEA,IAAI,CAAC4U,QAAQ,EAAE;YACXA,QAAQ,GAAGgI,YAAY,CAACC,OAAO,CAAC,YAAY,CAAC;YAE7C,IAAI,CAACjI,QAAQ,EACTA,QAAQ,GAAG,EAAE;UACrB;UAEA,IAAI,CAACD,aAAa,EAAE;YAChBA,aAAa,GAAGiI,YAAY,CAACC,OAAO,CAAC,6BAA6B,CAAC;YAEnE,IAAI,CAAClI,aAAa,EACdA,aAAa,GAAG,EAAE;UAC1B;UAEA,IAAIkE,cAAc,GAAG;YACjB/D,QAAQ,EAAEL,QAAQ;YAClBqE,IAAI,EAAE,EAAE;YACR7D,KAAK,EAAEjV,KAAK;YACZ+Y,aAAa,EAAEpE,aAAa;YAC5BqE,cAAc,EAAE,EAAE;YAClBC,UAAU,EAAErE,QAAQ;YACpBsE,IAAI,EAAE,EAAE;YACRC,WAAW,EAAE;UACjB,CAAC;UACDlkB,IAAI,CAACC,OAAO,CAACuI,UAAU,CAAC,mBAAmB,EAAEob,cAAc,CAAC,CAAC5f,IAAI,CAAC,UAAUC,MAAM,EAAE;YAChF8G,KAAK,GAAG9G,MAAM,CAAC+b,KAAK;YACpBL,QAAQ,GAAG1b,MAAM,CAAC+f,UAAU;YAC5BtE,aAAa,GAAGzb,MAAM,CAAC6f,aAAa;UACxC,CAAC,CAAC;UAEF9jB,IAAI,CAAC6mB,eAAe,GAAG9b,KAAK;UAC5B/K,IAAI,CAAC8mB,kBAAkB,GAAGnH,QAAQ;UAClC3f,IAAI,CAAC+mB,uBAAuB,GAAGrH,aAAa;UAE5C,IAAIH,aAAa,GAAG;YAAExU,KAAK,EAALA,KAAK;YAAE4U,QAAQ,EAARA,QAAQ;YAAED,aAAa,EAAbA;UAAc,CAAC;UAEtDuG,KAAK,CAAC,+DAA+D,EAAE;YAAElb,KAAK,EAALA,KAAK;YAAE4U,QAAQ,EAARA,QAAQ;YAAED,aAAa,EAAbA;UAAc,CAAC,CAAC;UAC1GZ,WAAW,CAAC4I,gBAAgB,CAACnI,aAAa,CAAC;UAE3CsI,6BAA6B,CAACtI,aAAa,CAAC;UAE5C,IAAI+H,eAAe,GAAGQ,kBAAkB,CAACvI,aAAa,CAAC;UACvD+H,eAAe,CAACtjB,IAAI,CAACqjB,sBAAsB,CAAC;QAEhD,CAAC,MAAM;UACH,IAAIU,EAAE,GAAG,OAAOjJ,WAAW,KAAK,WAAW;UAC3C,IAAIkJ,GAAG,GAAG,KAAK;UAEf,IAAID,EAAE,EAAE;YACJC,GAAG,GAAGlJ,WAAW,CAAC4I,gBAAgB,KAAK3iB,SAAS;YAChD,IAAI,CAACijB,GAAG,EAAElJ,WAAW,CAACmJ,OAAO,CAAC,CAAC;UACnC;UAEA,IAAI9b,IAAI,GAAG;YAAEoL,WAAW,EAAEwQ,EAAE;YAAEG,gBAAgB,EAAEF,GAAG;YAAEhI,KAAK,EAAEjV,KAAK;YAAEod,QAAQ,EAAExI,QAAQ;YAAEmE,aAAa,EAAEpE,aAAa;YAAE0I,aAAa,EAAEpoB,IAAI,CAAC6mB,eAAe;YAAEwB,gBAAgB,EAAEroB,IAAI,CAAC8mB,kBAAkB;YAAEwB,qBAAqB,EAAEtoB,IAAI,CAAC+mB;UAAwB,CAAC;UAC1Pd,KAAK,CAAC,qEAAqE,EAAE9Z,IAAI,CAAC;QACtF;MACJ,CAAC,CAAC,OAAO1C,CAAC,EAAE;QACRwc,KAAK,CAAC,0CAA0C,EAAExc,CAAC,CAACmd,QAAQ,CAAC,CAAC,CAAC;QAC/DlgB,OAAO,CAACC,GAAG,CAAC,mEAAmE,GAAG8C,CAAC,CAAC;MACxF;IACJ,CAAC;IAED,SAASoe,6BAA6BA,CAACU,SAAS,EAAE;MAC9CtC,KAAK,CAAC,iCAAiC,EAAEsC,SAAS,CAAC;MAEnDZ,YAAY,CAACa,OAAO,CAAC,oBAAoB,EAAED,SAAS,CAACxd,KAAK,CAAC;MAC3D4c,YAAY,CAACa,OAAO,CAAC,YAAY,EAAED,SAAS,CAAC5I,QAAQ,CAAC;MACtDgI,YAAY,CAACa,OAAO,CAAC,6BAA6B,EAAED,SAAS,CAAC7I,aAAa,CAAC;IAChF;IAEA,SAASuG,KAAKA,CAACwC,MAAM,EAAEC,OAAO,EAAE;MAC5B,IAAI;QACA,IAAIvc,IAAI,GAAG;UAAEwc,IAAI,EAAEF,MAAM;UAAEG,IAAI,EAAEtI,IAAI,CAACuI,SAAS,CAACH,OAAO;QAAE,CAAC;QAC1D,IAAII,WAAW,GAAG,IAAI5oB,aAAa,CAAC,MAAM,CAAC;QAC3C4oB,WAAW,CAACtgB,UAAU,CAAC,OAAO,EAAE2D,IAAI,CAAC;MACzC,CAAC,CAAC,OAAO1C,CAAC,EAAE;QACR/C,OAAO,CAACC,GAAG,CAAC,4CAA4C,GAAG8C,CAAC,CAAC;MACjE;IACJ;IAEA,IAAI,CAACyT,sBAAsB,GAAG,YAAY;MACtC,IAAI;QACA,IAAIld,IAAI,CAACmC,eAAe,CAAC,CAAC,KAAK0T,YAAY,EAAE;QAE7C,IAAI,OAAQ/M,MAAM,CAAC0b,eAAgB,KAAK,WAAW,EAAE;UACjD1b,MAAM,CAAC0b,eAAe,CAAC,UAAUC,GAAG,EAAE;YAClC;;YAEAA,GAAG,CAACjb,EAAE,CAAC;cACH,MAAM,EAAE,SAAAnD,KAAU8F,IAAI,EAAE;gBACpB,IAAInE,YAAY,GAAGmE,IAAI,CAAClF,QAAQ,CAACsJ,IAAI;gBACrC,IAAI6T,mBAAmB,GAAG,QAAQ;gBAClC,IAAIpkB,IAAI,CAACwZ,kBAAkB,CAAC,CAAC,KAAK,eAAe,EAC7C4K,mBAAmB,GAAG,cAAc;gBAExC,IAAIpc,YAAY,KAAKjD,SAAS,EAAE;kBAC5B,IAAIiD,YAAY,KAAKoc,mBAAmB,EACpCpkB,IAAI,CAAColB,yBAAyB,CAACpd,YAAY,CAAC;gBACpD;cACJ;YACJ,CAAC,CAAC;YAEFyc,GAAG,CAACjb,EAAE,CAAC;cACH,UAAU,EAAE,SAAAvC,SAAUkF,IAAI,EAAE;gBACxB,IAAInE,YAAY,GAAGmE,IAAI,CAACoE,IAAI;gBAC5B,IAAI6T,mBAAmB,GAAG,QAAQ;gBAClC,IAAIpkB,IAAI,CAACwZ,kBAAkB,CAAC,CAAC,KAAK,eAAe,EAC7C4K,mBAAmB,GAAG,cAAc;gBAExC,IAAIpc,YAAY,KAAKjD,SAAS,EAAE;kBAC5B,IAAIiD,YAAY,KAAKoc,mBAAmB,EACpCpkB,IAAI,CAAColB,yBAAyB,CAACpd,YAAY,CAAC;gBACpD;cACJ;YACJ,CAAC,CAAC;YAEFyc,GAAG,CAACjb,EAAE,CAAC;cACH,QAAQ,EAAE,SAAAuf,OAAU5c,IAAI,EAAE;gBACtB,IAAI6c,OAAO,GAAG7c,IAAI;gBAElB,IAAIA,IAAI,KAAK,IAAI,IAAIA,IAAI,CAACpB,KAAK,KAAK,IAAI,IAAI,OAAQoB,IAAI,CAACpB,KAAM,KAAK,WAAW,IAAIoB,IAAI,CAACpB,KAAK,CAACvK,MAAM,GAAG,CAAC,EAAE;kBACtGO,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAAC6d,aAAa,CAAC3d,MAAM,CAACqpB,cAAc,EAAE9c,IAAI,CAACpB,KAAK,CAAC;gBACzE;gBAEA,IAAIoB,IAAI,KAAK,IAAI,IAAIA,IAAI,CAAC+c,WAAW,KAAK,IAAI,IAAI/c,IAAI,CAAC+c,WAAW,CAAC1oB,MAAM,GAAG,CAAC,EAAE;kBAC3E,IAAI2L,IAAI,CAAC+c,WAAW,CAACte,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;oBACtC,IAAI9F,OAAO,GAAGqH,IAAI,CAAC+c,WAAW;oBAC9B,IAAI/c,IAAI,GAAG;sBAAErH,OAAO,EAAEA;oBAAQ,CAAC;oBAC/B/D,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACE,MAAM,CAACwB,oBAAoB,CAACsiB,gBAAgB,EAAEvX,IAAI,CAAC;kBAC5E,CAAC,MAAM;oBACHA,IAAI,CAAC+c,WAAW,GAAG,EAAE;kBACzB;gBACJ;gBAEA,IAAIne,KAAK,GAAG,EAAE;gBACd,IAAIoB,IAAI,CAACpB,KAAK,EACVA,KAAK,GAAGoB,IAAI,CAACpB,KAAK;gBAEtB,IAAIW,IAAI,GAAG3G,SAAS;gBACpB,IAAIikB,OAAO,CAACG,SAAS,EACjBzd,IAAI,GAAGsd,OAAO,CAACG,SAAS;gBAC5B,IAAIH,OAAO,CAACI,WAAW,EAAE;kBACrB,IAAI1d,IAAI,EACJA,IAAI,GAAG,GAAG,GAAGsd,OAAO,CAACI,WAAW,CAAC,KAEjC1d,IAAI,GAAGsd,OAAO,CAACI,WAAW;gBAClC;gBAEA,IAAIxF,cAAc,GAAG;kBAAE/D,QAAQ,EAAE,gBAAgB;kBAAEgE,IAAI,EAAEnY,IAAI;kBAAEsU,KAAK,EAAEgJ,OAAO,CAACje,KAAK;kBAAE+Y,aAAa,EAAE,EAAE;kBAAEC,cAAc,EAAE,EAAE;kBAAEC,UAAU,EAAEgF,OAAO,CAACE,WAAW;kBAAEjF,IAAI,EAAE+E,OAAO,CAACK,IAAI;kBAAEnF,WAAW,EAAE8E,OAAO,CAACne;gBAAQ,CAAC;gBAC/M7K,IAAI,CAACC,OAAO,CAACuI,UAAU,CAAC,mBAAmB,EAAEob,cAAc,CAAC,CAAC5f,IAAI,CAAC,UAAUC,MAAM,EAAE;kBAChFjE,IAAI,CAACmkB,2BAA2B,CAAC,gBAAgB,EAAElgB,MAAM,CAAC+b,KAAK,EAAE/b,MAAM,CAAC+f,UAAU,EAAE/f,MAAM,CAAC6f,aAAa,CAAC;gBAC7G,CAAC,CAAC;cACN;YACJ,CAAC,CAAC;UACN,CAAC,CAAC;UAEF,IAAI9jB,IAAI,CAAC0X,8BAA8B,CAAC,CAAC,EAAE;YACvC5O,MAAM,CAAC0b,eAAe,CAAC,UAAUC,GAAG,EAAE;cAClCA,GAAG,CAACjb,EAAE,CAAC;gBACH,wBAAwB,EAAE,SAAA8f,uBAAUnd,IAAI,EAAE;kBACtC,IAAIod,QAAQ,GAAGjJ,IAAI,CAACuI,SAAS,CAAC1c,IAAI,CAAC;kBACnCzF,OAAO,CAACC,GAAG,CAAC,0BAA0B,GAAG4iB,QAAQ,CAAC;kBAElD,IAAIpd,IAAI,GAAG;oBACPqd,UAAU,EAAErd,IAAI,CAACI,EAAE;oBACnBb,IAAI,EAAES,IAAI,CAACT,IAAI;oBACf+d,KAAK,EAAEtd,IAAI,CAACsd,KAAK;oBACjBC,OAAO,EAAEvd,IAAI,CAACwd,QAAQ;oBACtBC,SAAS,EAAEzd,IAAI,CAAC0d;kBACpB,CAAC;kBAED,IAAIC,eAAe,GAAG,IAAI5pB,aAAa,CAAC,UAAU,CAAC;kBACnD4pB,eAAe,CAAC5jB,SAAS,CAAC,2BAA2B,EAAEiG,IAAI,CAAC,CAACnI,IAAI,CAAC,UAAUC,MAAM,EAAE;oBAChFlD,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACgK,IAAI,CAAC9J,MAAM,CAAC+J,aAAa,EAAE,EAAE,CAAC;oBACnD;kBACJ,CAAC,CAAC;gBACN;cACJ,CAAC,CAAC;YACN,CAAC,CAAC;UACN;;UAEA,IAAI3J,IAAI,CAAC0W,kBAAkB,EAAE;YACzB5N,MAAM,CAAC0b,eAAe,CAAC,UAAUC,GAAG,EAAE;cAClC;;cAEAA,GAAG,CAACjb,EAAE,CAAC;gBACH,wBAAwB,EAAE,SAAAugB,uBAAU5d,IAAI,EAAE;kBACtC,IAAI6d,eAAe,GAAG7d,IAAI,CAACtB,OAAO;kBAClC,IAAIE,KAAK,GAAGoB,IAAI,CAACpB,KAAK;kBACtB,IAAI,CAACA,KAAK,EAAEA,KAAK,GAAG,EAAE;kBAEtB,IAAIW,IAAI,GAAG3G,SAAS;kBACpB,IAAIoH,IAAI,CAACgd,SAAS,EACdzd,IAAI,GAAGS,IAAI,CAACgd,SAAS;kBACzB,IAAIhd,IAAI,CAACid,WAAW,EAAE;oBAClB,IAAI1d,IAAI,EACJA,IAAI,GAAG,GAAG,GAAGS,IAAI,CAACid,WAAW,CAAC,KAE9B1d,IAAI,GAAGS,IAAI,CAACid,WAAW;kBAC/B;kBAEA,IAAIjd,IAAI,KAAK,IAAI,IAAIA,IAAI,CAAC+c,WAAW,KAAK,IAAI,IAAI/c,IAAI,CAAC+c,WAAW,CAAC1oB,MAAM,GAAG,CAAC,EAAE;oBAC3E,IAAI2L,IAAI,CAAC+c,WAAW,CAACte,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;sBACtC,IAAI9F,OAAO,GAAGqH,IAAI,CAAC+c,WAAW;sBAC9B,IAAI/c,IAAI,GAAG;wBAAErH,OAAO,EAAEA;sBAAQ,CAAC;sBAC/B/D,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACE,MAAM,CAACwB,oBAAoB,CAACsiB,gBAAgB,EAAEvX,IAAI,CAAC;oBAC5E;kBACJ;kBAEA,IAAIyX,cAAc,GAAG;oBAAE/D,QAAQ,EAAE,gBAAgB;oBAAEgE,IAAI,EAAEnY,IAAI;oBAAEsU,KAAK,EAAE7T,IAAI,CAACpB,KAAK;oBAAE+Y,aAAa,EAAE,EAAE;oBAAEC,cAAc,EAAE,EAAE;oBAAEC,UAAU,EAAE7X,IAAI,CAAC+c,WAAW;oBAAEjF,IAAI,EAAE9X,IAAI,CAACkd,IAAI;oBAAEnF,WAAW,EAAE/X,IAAI,CAACtB;kBAAQ,CAAC;kBACnM7K,IAAI,CAACC,OAAO,CAACuI,UAAU,CAAC,mBAAmB,EAAEob,cAAc,CAAC,CAAC5f,IAAI,CAAC,UAAUC,MAAM,EAAE;oBAChFjE,IAAI,CAACmkB,2BAA2B,CAAC,gBAAgB,EAAElgB,MAAM,CAAC+b,KAAK,EAAE/b,MAAM,CAAC+f,UAAU,EAAE/f,MAAM,CAAC6f,aAAa,CAAC;kBAC7G,CAAC,CAAC;kBAEF,IAAI,CAAC/Y,KAAK,EAAE;kBAEZ,IAAIA,KAAK,EAAE;oBACP/K,IAAI,CAACC,OAAO,CAACiG,SAAS,CAAC,yBAAyB,EAAE;sBAAE6E,KAAK,EAAEA;oBAAM,CAAC,CAAC,CAAC/G,IAAI,CAAC,UAAUC,MAAM,EAAE;sBACvF,IAAIA,MAAM,EAAE;wBACR,IAAIsf,WAAW,GAAGtf,MAAM,CAACgmB,OAAO;wBAChC,IAAIC,WAAW,GAAGjmB,MAAM,CAACkmB,OAAO;wBAEhC,IAAI5G,WAAW,IAAIA,WAAW,KAAKyG,eAAe,EAAE;0BAChD;;0BAEAhqB,IAAI,CAACG,WAAW,CAACuH,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,CAAC,CAAC1D,IAAI,CAAC,UAAU2D,KAAK,EAAE;4BAC1F,IAAIA,KAAK,CAACnH,MAAM,IAAI,CAAC,EACjBmH,KAAK,GACD,iNAAiN;4BACzNA,KAAK,GAAGA,KAAK,CAACmD,OAAO,CAAC,aAAa,EAAEof,WAAW,CAAC;4BACjDlqB,IAAI,CAAC4E,gBAAgB,CAAC+C,KAAK,CAAC;0BAChC,CAAC,CAAC;wBACN;sBACJ;oBACJ,CAAC,CAAC;kBACN;gBACJ;cACJ,CAAC,CAAC;YACN,CAAC,CAAC;UACN;QACJ;MACJ,CAAC,CAAC,OAAO8B,CAAC,EAAE;QACR/C,OAAO,CAACC,GAAG,CAAC,qFAAqF,GAAG8C,CAAC,CAAC;MAC1G;IACJ,CAAC;IAEDzJ,IAAI,CAAC4E,gBAAgB,GAAG,UAAU3D,OAAO,EAAE;MACvC,IAAIA,OAAO,CAACT,MAAM,GAAG,CAAC,EAClBR,IAAI,CAAC0K,qBAAqB,CAACzJ,OAAO,CAAC;IAC3C,CAAC;IAEDjB,IAAI,CAAC0K,qBAAqB,GAAG,UAAUzJ,OAAO,EAAE+J,MAAM,EAAE;MACpDlL,CAAC,CAAC,uBAAuB,CAAC,CAAC+E,IAAI,CAAC,EAAE,CAAC;MAEnC,IAAImG,MAAM,KAAK,IAAI,EAAE;QACjBlL,CAAC,CAAC,sBAAsB,CAAC,CAACoL,MAAM,CAACjK,OAAO,CAAC;MAC7C,CAAC,MAAM;QACHnB,CAAC,CAAC,sBAAsB,CAAC,CAAC+E,IAAI,CAAC5D,OAAO,CAAC;MAC3C;MAEAjB,IAAI,CAACmL,YAAY,CAACrL,CAAC,CAAC,sBAAsB,CAAC,CAAC+E,IAAI,CAAC,CAAC,CAAC;MACnD9D,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACmH,QAAQ,CAACjH,MAAM,CAACkH,cAAc,EAAE;QAAEjF,IAAI,EAAE;MAAK,CAAC,CAAC;IACxE,CAAC;IAED7B,IAAI,CAACmL,YAAY,GAAG,UAAUtG,IAAI,EAAE;MAChC,IAAIqH,QAAQ,GAAGpM,CAAC,CAAC,uBAAuB,CAAC;MACzC,IAAIoM,QAAQ,CAAC1L,MAAM,GAAG,CAAC,EAAE;QACrBO,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACC,QAAQ,CAACC,MAAM,CAACC,eAAe,EAAE;UAAE2B,OAAO,EAAE,KAAK;UAAEC,WAAW,EAAE;QAAM,CAAC,CAAC;QAC7F;MACJ;MAEAyK,QAAQ,CAACrH,IAAI,CAACA,IAAI,CAAC;IACvB,CAAC;IAED,IAAI,CAACulB,WAAW,GAAGvd,EAAE,CAACC,UAAU,CAAC,CAAC;IAClC,IAAI,CAAChI,OAAO,GAAG+H,EAAE,CAACC,UAAU,CAAC,CAAC;IAE9B,IAAI,CAACud,YAAY,GAAG,UAAU7nB,SAAS,EAAE;MACrC,IAAI2J,IAAI,GAAG;QAAE3J,SAAS,EAAEA;MAAU,CAAC;MAEnC,IAAI,EAAExC,IAAI,CAACmB,YAAY,CAACG,cAAc,CAACiX,QAAQ,CAAC,CAAC,KAAK,IAAI,IAAIvY,IAAI,CAACmB,YAAY,CAACG,cAAc,CAACiY,YAAY,CAAC,CAAC,CAAC,EAAE;QAC5GvZ,IAAI,CAACC,OAAO,CAACiG,SAAS,CAAC,cAAc,EAAEiG,IAAI,CAAC,CAACnI,IAAI,CAAC,UAAUC,MAAM,EAAE;UAChE,IAAIA,MAAM,CAACqmB,IAAI,KAAK,IAAI,IAAIrmB,MAAM,CAACsmB,WAAW,KAAK,CAAC,EAAE;YAClDvqB,IAAI,CAACyD,YAAY,CAACQ,MAAM,CAACqmB,IAAI,CAAC;YAC9BtqB,IAAI,CAAC2D,iBAAiB,CAACM,MAAM,CAACsmB,WAAW,CAAC;YAC1CvqB,IAAI,CAAC4C,YAAY,CAACqB,MAAM,CAACrB,YAAY,CAAC;UAC1C,CAAC,MAAM;YACH5C,IAAI,CAACyD,YAAY,CAAC,KAAK,CAAC;UAC5B;QACJ,CAAC,CAAC;MACN,CAAC,MAAM;QACHzD,IAAI,CAACyD,YAAY,CAAC,KAAK,CAAC;MAC5B;IACJ,CAAC;IAED0C,UAAU,CAAC,4BAA4B,CAAC,CAACnC,IAAI,CAAC,YAAM;MAChDjD,MAAM,CAACC,SAAS,CAACtB,KAAK,CAACE,MAAM,CAACwB,oBAAoB,CAACsiB,gBAAgB,EAAE,UAAUziB,OAAO,EAAEkL,IAAI,EAAE;QAC1F,IAAI,CAACA,IAAI,EACL;QAEJ,IAAIrH,OAAO,GAAGqH,IAAI,CAACrH,OAAO;QAC1B,IAAI,CAACA,OAAO,EACR;QAEJ,IAAI9E,IAAI,CAAC8E,OAAO,CAAC,CAAC,KAAKA,OAAO,EAAE;UAC5B9E,IAAI,CAACoqB,WAAW,CAACtlB,OAAO,CAAC;UACzB9E,IAAI,CAAC8E,OAAO,CAACA,OAAO,CAAC;UACrB9E,IAAI,CAAC2jB,qBAAqB,CAAC7e,OAAO,CAAC;QACvC;MACJ,CAAC,CAAC;IACN,CAAC,CAAC;IAEF/D,MAAM,CAACC,SAAS,CAACtB,KAAK,CAACsD,QAAQ,CAACpD,MAAM,CAAC4qB,SAAS,EAAE,UAAUvpB,OAAO,EAAEkL,IAAI,EAAE;MACvEnM,IAAI,CAACsd,uBAAuB,CAAC,CAAC;IAClC,CAAC,CAAC;IAEFnX,UAAU,CAAC,oBAAoB,CAAC,CAACnC,IAAI,CAAC,YAAM;MACxCjD,MAAM,CAACC,SAAS,CAACtB,KAAK,CAACqc,YAAY,CAAC0O,qBAAqB,EAAE,UAAUxpB,OAAO,EAAEkL,IAAI,EAAE;QAChFnM,IAAI,CAACsd,uBAAuB,CAAC,CAAC;QAC9Bvc,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACsD,QAAQ,CAACpD,MAAM,CAACsa,cAAc,EAAE,IAAI,CAAC;MAC9D,CAAC,CAAC;IACN,CAAC,CAAC;IAEFnZ,MAAM,CAACC,SAAS,CAACtB,KAAK,CAACgK,IAAI,CAAC9J,MAAM,CAAC+J,aAAa,EAAE,UAAU1I,OAAO,EAAEkL,IAAI,EAAE;MACvEnM,IAAI,CAACsd,uBAAuB,CAAC,CAAC;IAClC,CAAC,CAAC;IAEFvc,MAAM,CAACC,SAAS,CAACtB,KAAK,CAACgK,IAAI,CAAC9J,MAAM,CAAC8qB,qBAAqB,EAAE,UAAUzpB,OAAO,EAAEkL,IAAI,EAAE;MAC/EnM,IAAI,CAACsd,uBAAuB,CAAC,CAAC;MAC9Bvc,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACsD,QAAQ,CAACpD,MAAM,CAACsa,cAAc,EAAE;QAAEyQ,WAAW,EAAEjrB,KAAK,CAACgK,IAAI,CAAC9J,MAAM,CAAC8qB;MAAsB,CAAC,CAAC;IAClH,CAAC,CAAC;IAEF3pB,MAAM,CAACC,SAAS,CAACtB,KAAK,CAACsK,QAAQ,CAACpK,MAAM,CAACgrB,kBAAkB,EAAE,UAAU3pB,OAAO,EAAEkL,IAAI,EAAE;MAChFpL,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACgK,IAAI,CAAC9J,MAAM,CAAC+J,aAAa,EAAE,IAAI,CAAC;IACzD,CAAC,CAAC;IAEF5I,MAAM,CAACC,SAAS,CAACtB,KAAK,CAACsK,QAAQ,CAACpK,MAAM,CAACirB,iBAAiB,EAAE,UAAU5pB,OAAO,EAAEkL,IAAI,EAAE;MAC/EnM,IAAI,CAACsd,uBAAuB,CAAC,CAAC;IAClC,CAAC,CAAC;IAEFvc,MAAM,CAACC,SAAS,CAACtB,KAAK,CAACsD,QAAQ,CAACpD,MAAM,CAACsa,cAAc,EAAE,UAAUjZ,OAAO,EAAEkL,IAAI,EAAE;MAC5E,IAAIA,IAAI,EAAE;MAEVzM,KAAK,CAAC6d,aAAa,CAACuN,0BAA0B,CAAC,CAAC;MAChD,IAAI,CAAC9qB,IAAI,CAACwW,aAAa,EAAE;QACrB1W,CAAC,CAAC,mDAAmD,CAAC,CAAC4B,IAAI,CAAC,CAAC,CAACmc,MAAM,CAAC,CAAC,CAACE,QAAQ,CAAC,MAAM,CAAC;MAC3F;MACA/d,IAAI,CAACqG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE8F,IAAI,KAAKpH,SAAS,IAAIoH,IAAI,KAAK,IAAI,IAAIA,IAAI,CAACwe,WAAW,KAAKI,IAAI,CAACC,GAAG,CAACprB,MAAM,CAAC8qB,qBAAqB,CAAC;IAC5H,CAAC,CAAC;IAEF3pB,MAAM,CAACC,SAAS,CAACtB,KAAK,CAACsD,QAAQ,CAACpD,MAAM,CAACqrB,cAAc,EAAE,UAAUhqB,OAAO,EAAEkL,IAAI,EAAE;MAE5E,IAAIzM,KAAK,CAACwrB,UAAU,CAACC,aAAa,CAAC,CAAC,KAAK,IAAI,EAAE;QAC3CC,UAAU,CAAC,YAAY;UAEnB,IAAIprB,IAAI,CAACyD,YAAY,CAAC,CAAC,EAAE;YACrB,QAAQzD,IAAI,CAAC2D,iBAAiB,CAAC,CAAC;cAC5B,KAAK,CAAC;gBACF7D,CAAC,CAAC,SAAS,GAAGE,IAAI,CAACmC,eAAe,CAAC,CAAC,GAAG,GAAG,CAAC,CAACC,IAAI,CAAC,8BAA8B,CAAC,CAAC6C,KAAK,CAAC,CAAC;gBACxF;cACJ,KAAK,CAAC;gBACFnF,CAAC,CAAC,SAAS,GAAGE,IAAI,CAACmC,eAAe,CAAC,CAAC,GAAG,GAAG,CAAC,CAACC,IAAI,CAAC,4BAA4B,CAAC,CAAC6C,KAAK,CAAC,CAAC;gBACtF;cACJ,KAAK,CAAC;gBACFnF,CAAC,CAAC,SAAS,GAAGE,IAAI,CAACmC,eAAe,CAAC,CAAC,GAAG,GAAG,CAAC,CAACC,IAAI,CAAC,kCAAkC,CAAC,CAAC6C,KAAK,CAAC,CAAC;gBAC5F;YACR;UAEJ,CAAC,MAAM;YACHnF,CAAC,CAAC,YAAY,CAAC,CAACmF,KAAK,CAAC,CAAC;UAC3B;QAEJ,CAAC,EAAE,GAAG,CAAC;MACX;IAEJ,CAAC,CAAC;IAEFlE,MAAM,CAACC,SAAS,CAACtB,KAAK,CAAC2rB,KAAK,CAACzrB,MAAM,CAAC0rB,YAAY,EAAE,UAAUrqB,OAAO,EAAEqX,UAAU,EAAE;MAC7EtY,IAAI,CAACsY,UAAU,CAACA,UAAU,CAAC;IAC/B,CAAC,CAAC;IAEFvX,MAAM,CAACC,SAAS,CAACtB,KAAK,CAACsD,QAAQ,CAACpD,MAAM,CAACyd,qBAAqB,EAAE,UAAUpc,OAAO,EAAEuB,SAAS,EAAE;MACxFxC,IAAI,CAACqd,qBAAqB,CAAC7a,SAAS,CAAC;IACzC,CAAC,CAAC;IAEF,IAAI,CAAC6a,qBAAqB,GAAG,UAAU7a,SAAS,EAAE2U,eAAe,EAAE;MAC/D,IAAI3U,SAAS,KAAK,IAAI,EAAE;QACpBA,SAAS,GAAGxC,IAAI,CAACmC,eAAe,CAAC,CAAC;QAClC;MACJ;MAEAnC,IAAI,CAACqqB,YAAY,CAAC7nB,SAAS,CAAC;MAC5BxC,IAAI,CAAC4hB,kBAAkB,CAACpf,SAAS,EAAE2U,eAAe,CAAC;;MAEnD;MACA,IAAI3U,SAAS,KAAK0T,cAAc,IAAIlW,IAAI,CAACkY,0BAA0B,CAAC,CAAC,KAAK,CAAClY,IAAI,CAACoY,0BAA0B,CAAC,CAAC,IAAIpY,IAAI,CAAC4C,YAAY,CAAC,CAAC,KAAK,eAAe,CAAC,EACpJ5C,IAAI,CAAC6e,YAAY,CAAC,CAAC;IAC3B,CAAC;IAED9d,MAAM,CAACC,SAAS,CAACtB,KAAK,CAACsD,QAAQ,CAACpD,MAAM,CAACgc,WAAW,EAAE,UAAU3a,OAAO,EAAEkL,IAAI,EAAE;MACzEnM,IAAI,CAAC2b,KAAK,CAACxP,IAAI,CAAC;MAChBpL,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACE,MAAM,CAACwB,oBAAoB,CAACwa,WAAW,EAAEzP,IAAI,CAAC;IACvE,CAAC,CAAC;IAEFpL,MAAM,CAACC,SAAS,CAACtB,KAAK,CAACgK,IAAI,CAAC9J,MAAM,CAACU,QAAQ,EAAE,UAAUW,OAAO,EAAEkL,IAAI,EAAE;MAClE,IAAIA,IAAI,KAAK,IAAI,EAAE;QACfnM,IAAI,CAACK,QAAQ,GAAG8L,IAAI,CAAC9L,QAAQ;QAC7BL,IAAI,CAACM,QAAQ,GAAG6L,IAAI,CAAC7L,QAAQ;QAE7B,IAAIN,IAAI,CAACM,QAAQ,KAAK,IAAI,IAAIN,IAAI,CAACK,QAAQ,KAAK,IAAI,EAAE;UAClD,IAAIL,IAAI,CAAC8W,mBAAmB,KAAK,IAAI,EAAE;YACnC9W,IAAI,CAAC4hB,kBAAkB,CAAC5hB,IAAI,CAACmC,eAAe,CAAC,CAAC,CAAC;UACnD;QACJ;MACJ;IACJ,CAAC,CAAC;IAEF,IAAI,CAACM,QAAQ,GAAG,YAAY;MACxB,IAAI8oB,OAAO,GAAG7e,EAAE,CAAC8e,aAAa,CAAC,CAAC,CAACxnB,IAAI,CAAC,UAAUynB,GAAG,EAAE;QACjD,IAAIxnB,MAAM,GAAG;UACTuB,OAAO,EAAE,KAAK;UACdvE,OAAO,EAAE,EAAE;UACXyE,eAAe,EAAE;QACrB,CAAC;QAEDgH,EAAE,CAACgf,oBAAoB,GAAGD,GAAG;QAE7B,IAAIA,GAAG,CAACE,KAAK,CAACjsB,KAAK,CAACoE,UAAU,CAAC8nB,cAAc,CAAC,EAAE;UAC5C,IAAIlf,EAAE,CAACmB,QAAQ,CAACge,oBAAoB,IAAI,CAACnf,EAAE,CAACjF,MAAM,CAAC,CAAC,IAAIiF,EAAE,CAACof,kBAAkB,KAAK,CAAC,EAAE;YACjF7nB,MAAM,CAAChD,OAAO,GAAG,oFAAoF;YACrGyL,EAAE,CAACof,kBAAkB,GAAG,CAAC;YACzB;YACA;YACA;UACJ,CAAC,MAAM;YACH7nB,MAAM,CAACuB,OAAO,GAAG,IAAI;UACzB;QACJ,CAAC,MAAM;UACHimB,GAAG,CAACja,OAAO,CAAC,UAAUjM,gBAAgB,EAAE;YACpC,IAAI,CAACA,gBAAgB,CAAC+gB,KAAK,EACvBriB,MAAM,CAACyB,eAAe,CAAC0N,IAAI,CAAC7N,gBAAgB,CAAC;UACrD,CAAC,CAAC;UAEFtB,MAAM,CAAChD,OAAO,GAAGnB,CAAC,CAAC,wBAAwB,CAAC,CAAC+E,IAAI,CAAC,CAAC;QACvD;QAEA,OAAOZ,MAAM;MACjB,CAAC,CAAC;MAEF,OAAOsnB,OAAO;IAClB,CAAC;IAED,IAAI,CAACC,aAAa,GAAG,YAAY;MAC7B1rB,CAAC,CAAC,OAAO,CAAC,CAACisB,MAAM,CAAC,CAAC;MACnB,IAAIC,KAAK;MACT,IAAIP,GAAG,GAAG/rB,KAAK,CAACoE,UAAU,CAAC0nB,aAAa,CAAC9e,EAAE,CAACuf,eAAe,CAAC;MAC5D,OAAOR,GAAG,CAACznB,IAAI,CAAC,UAAUynB,GAAG,EAAE;QAC3B,KAAKO,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGP,GAAG,CAACjrB,MAAM,EAAEwrB,KAAK,EAAE,EAAE;UACzC,IAAIP,GAAG,CAACO,KAAK,CAAC,CAAC1F,KAAK,EAAE;YAClB5mB,KAAK,CAACoE,UAAU,CAACM,WAAW,CAACqnB,GAAG,CAACO,KAAK,CAAC,CAACpmB,IAAI,CAAC;YAC7C;UACJ,CAAC,MAAM;YACHlG,KAAK,CAACoE,UAAU,CAACooB,cAAc,CAACT,GAAG,CAACO,KAAK,CAAC,CAACpmB,IAAI,CAAC;YAChDlG,KAAK,CAACoE,UAAU,CAACK,aAAa,CAACsnB,GAAG,CAACO,KAAK,CAAC,CAACpmB,IAAI,CAAC;YAC/ClG,KAAK,CAACoE,UAAU,CAACI,cAAc,CAACunB,GAAG,CAACO,KAAK,CAAC,CAACpmB,IAAI,EAAE8G,EAAE,CAAC3I,eAAe,CAAC0nB,GAAG,CAACO,KAAK,CAAC,CAACpmB,IAAI,EAAE6lB,GAAG,CAACO,KAAK,CAAC,CAACG,IAAI,CAAC,CAAC;YACtG;UACJ;QACJ;QAEA,OAAOV,GAAG;MACd,CAAC,CAAC;IACN,CAAC;IAED,IAAI,CAACW,eAAe,GAAG,UAAUC,OAAO,EAAErV,KAAK,EAAE;MAC7CtX,KAAK,CAACoE,UAAU,CAACsoB,eAAe,CAAC1f,EAAE,CAACuf,eAAe,EAAEjV,KAAK,CAACsV,MAAM,CAAC,CAC7DtoB,IAAI,CAAC,UAAUuoB,oBAAoB,EAAE;QAClC,IAAIA,oBAAoB,CAACjG,KAAK,EAAE;UAC5B5mB,KAAK,CAACoE,UAAU,CAACM,WAAW,CAAC4S,KAAK,CAACsV,MAAM,CAAC;QAC9C,CAAC,MAAM;UACH5sB,KAAK,CAACoE,UAAU,CAACooB,cAAc,CAAClV,KAAK,CAACsV,MAAM,CAAC;QACjD;QAAC;MACL,CAAC,CAAC;IACV,CAAC;EACL,CAAC;AACL,CAAC,CAAD,CAAC,CAAC;;;;;;;AC/zDF5sB,KAAK,CAAC8sB,eAAe,GAAG,IAAI,YAAY;EAEpC,IAAI,CAAC5sB,MAAM,GAAG,CACd,CAAC;EAED,IAAI,CAAC8M,EAAE,GAAG,UAAUH,EAAE,EAAE;IACpB,IAAIvM,IAAI,GAAG,IAAI;IACf,IAAI,CAACuM,EAAE,GAAG,GAAG,GAAGA,EAAE;IAElBvM,IAAI,CAAC8a,YAAY,GAAGjO,EAAE,CAACC,UAAU,CAAC,KAAK,CAAC;IACxC9M,IAAI,CAACysB,aAAa,GAAG5f,EAAE,CAACC,UAAU,CAAC,KAAK,CAAC;IAEzC,IAAI,CAACzG,IAAI,GAAG,UAAU8F,IAAI,EAAE0B,QAAQ,EAAE,CAAC,CAAC;IAExC,IAAI,CAAC6e,iBAAiB,GAAG,YAAY;MACjC1sB,IAAI,CAACysB,aAAa,CAAC,CAACzsB,IAAI,CAACysB,aAAa,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED1rB,MAAM,CAACC,SAAS,CAACtB,KAAK,CAACgK,IAAI,CAAC9J,MAAM,CAACkb,YAAY,EAAE,UAAU7Z,OAAO,EAAE6Z,YAAY,EAAE;MAC9E,IAAIA,YAAY,IAAI,IAAI,EAAE;QACtB9a,IAAI,CAAC8a,YAAY,CAACA,YAAY,CAAC;MACnC;IACJ,CAAC,CAAC;EACN,CAAC;AACL,CAAC,CAAD,CAAC;;;;;;;ACxBDpb,KAAK,CAACsK,QAAQ,GAAGjK,MAAM,CAAC6V,MAAM,CAAClW,KAAK,CAACsK,QAAQ,EAAE,IAAI,YAAY;EAE3D,IAAI,CAAC0C,EAAE,GAAG,UAAUH,EAAE,EAAE;IACpB,IAAIzM,CAAC,GAAGC,MAAM;IACd,IAAIC,IAAI,GAAG,IAAI;IAEfA,IAAI,CAACuM,EAAE,GAAG,GAAG,GAAGA,EAAE;IAClBvM,IAAI,CAACC,OAAO,GAAG,IAAIC,aAAa,CAAC,UAAU,CAAC;IAE5CF,IAAI,CAAC2sB,aAAa,GAAG9f,EAAE,CAACC,UAAU,CAAC,KAAK,CAAC;IACzC9M,IAAI,CAAC8a,YAAY,GAAGjO,EAAE,CAACC,UAAU,CAAC,KAAK,CAAC;IACxC9M,IAAI,CAAC4sB,oBAAoB,GAAG/f,EAAE,CAACC,UAAU,CAAC,IAAI,CAAC;IAE/C9M,IAAI,CAAC6sB,iBAAiB,GAAGhgB,EAAE,CAACC,UAAU,CAAC,KAAK,CAAC;IAC7C9M,IAAI,CAAC8sB,mBAAmB,GAAGjgB,EAAE,CAACC,UAAU,CAAC,CAAC;IAC1C9M,IAAI,CAAC+sB,mBAAmB,GAAGlgB,EAAE,CAACC,UAAU,CAAC,IAAI,CAAC;IAC9C9M,IAAI,CAACgtB,mBAAmB,GAAGngB,EAAE,CAACC,UAAU,CAAC,CAAC;IAC1C9M,IAAI,CAACitB,WAAW,GAAGpgB,EAAE,CAACY,eAAe,CAAC,CAAC;IACvCzN,IAAI,CAACktB,iBAAiB,GAAGrgB,EAAE,CAACC,UAAU,CAAC,CAAC;IACxC9M,IAAI,CAACmtB,oBAAoB,GAAGtgB,EAAE,CAACC,UAAU,CAAC,CAAC;IAE3C9M,IAAI,CAACotB,sCAAsC,GAAGvgB,EAAE,CAACY,eAAe,CAAC,CAAC;IAClEzN,IAAI,CAACqtB,2BAA2B,GAAGxgB,EAAE,CAACC,UAAU,CAAC,CAAC;IAElD9M,IAAI,CAACstB,kBAAkB,GAAGzgB,EAAE,CAACC,UAAU,CAAC,KAAK,CAAC;IAC9C9M,IAAI,CAACutB,qBAAqB,GAAG1gB,EAAE,CAACY,eAAe,CAAC,CAAC;IACjDzN,IAAI,CAACwtB,uBAAuB,GAAG3gB,EAAE,CAACY,eAAe,CAAC,CAAC;IACnDzN,IAAI,CAACytB,yBAAyB,GAAG5gB,EAAE,CAACC,UAAU,CAAC,CAAC;IAChD9M,IAAI,CAAC0tB,2BAA2B,GAAG7gB,EAAE,CAACC,UAAU,CAAC,CAAC;IAClD9M,IAAI,CAAC2tB,iBAAiB,GAAG9gB,EAAE,CAACC,UAAU,CAAC,CAAC;IACxC9M,IAAI,CAAC4tB,mBAAmB,GAAG/gB,EAAE,CAACC,UAAU,CAAC,CAAC;IAC1C9M,IAAI,CAAC6tB,uBAAuB,GAAGhhB,EAAE,CAACC,UAAU,CAAC,CAAC;IAC9C9M,IAAI,CAAC8tB,WAAW,GAAGjhB,EAAE,CAACC,UAAU,CAAC,KAAK,CAAC;IAEvC9M,IAAI,CAACoqB,WAAW,GAAGvd,EAAE,CAACC,UAAU,CAAC,CAAC;IAClC9M,IAAI,CAAC8E,OAAO,GAAG+H,EAAE,CAACC,UAAU,CAAC,CAAC;IAC9B9M,IAAI,CAAC+tB,YAAY,GAAGlhB,EAAE,CAACC,UAAU,CAAC,KAAK,CAAC;IAExC9M,IAAI,CAACguB,UAAU,GAAGnhB,EAAE,CAACC,UAAU,CAAC,CAAC;IACjC9M,IAAI,CAACiuB,cAAc,GAAGphB,EAAE,CAACC,UAAU,CAAC,CAAC;IACrC9M,IAAI,CAACkuB,oBAAoB,GAAGrhB,EAAE,CAACC,UAAU,CAAC,CAAC;IAC3C9M,IAAI,CAACmuB,gBAAgB,GAAGthB,EAAE,CAACC,UAAU,CAAC,CAAC;IAEvC9M,IAAI,CAACuc,eAAe,GAAG1P,EAAE,CAACC,UAAU,CAAC,KAAK,CAAC;IAC3C9M,IAAI,CAACwc,qBAAqB,GAAG3P,EAAE,CAACC,UAAU,CAAC,CAAC,CAAC;IAC7C9M,IAAI,CAACouB,UAAU,GAAGvhB,EAAE,CAACC,UAAU,CAAC,KAAK,CAAC;IACtC9M,IAAI,CAACse,YAAY,GAAGzR,EAAE,CAACC,UAAU,CAAC,KAAK,CAAC;IACxC9M,IAAI,CAACquB,qBAAqB,GAAGxhB,EAAE,CAACC,UAAU,CAAC,KAAK,CAAC;IACjD9M,IAAI,CAACsuB,wBAAwB,GAAGzhB,EAAE,CAACC,UAAU,CAAC,KAAK,CAAC;IACpD9M,IAAI,CAACuuB,oBAAoB,GAAG1hB,EAAE,CAACC,UAAU,CAAC,KAAK,CAAC;IAChD9M,IAAI,CAACwuB,iBAAiB,GAAG,IAAI;IAC7BxuB,IAAI,CAACyuB,mBAAmB,GAAG,IAAI;IAE/BzuB,IAAI,CAACuuB,oBAAoB,CAACvtB,SAAS,CAAC,UAAUka,QAAQ,EAAE;MACpD,IAAIlb,IAAI,CAACsuB,wBAAwB,CAAC,CAAC,IAAIpT,QAAQ,EAAE;QAC7Clb,IAAI,CAACsuB,wBAAwB,CAACpT,QAAQ,CAAC;QACvCna,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACgK,IAAI,CAAC9J,MAAM,CAAC8uB,yBAAyB,EAAExT,QAAQ,CAAC;MACzE;IACJ,CAAC,CAAC;IAEFlb,IAAI,CAAC2uB,oBAAoB,GAAG9hB,EAAE,CAACC,UAAU,CAAC,KAAK,CAAC;IAChD9M,IAAI,CAAC4uB,mBAAmB,GAAG/hB,EAAE,CAACC,UAAU,CAAC,KAAK,CAAC;IAC/C9M,IAAI,CAAC0X,8BAA8B,GAAG7K,EAAE,CAACC,UAAU,CAAC,KAAK,CAAC;IAE1D9M,IAAI,CAAC6uB,oBAAoB,GAAGhiB,EAAE,CAACC,UAAU,CAAC,KAAK,CAAC;IAChD9M,IAAI,CAAC8uB,uBAAuB,GAAGjiB,EAAE,CAACC,UAAU,CAAC,KAAK,CAAC;IACnD9M,IAAI,CAAC+uB,mBAAmB,GAAGliB,EAAE,CAACC,UAAU,CAAC,KAAK,CAAC;IAE/C9M,IAAI,CAAC+uB,mBAAmB,CAAC/tB,SAAS,CAAC,UAAUka,QAAQ,EAAE;MACnD,IAAIlb,IAAI,CAAC8uB,uBAAuB,CAAC,CAAC,KAAK5T,QAAQ,EAAE;QAC7C;QACAna,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACE,MAAM,CAACwB,oBAAoB,CAAC4tB,4BAA4B,EAAE9T,QAAQ,CAAC;MAC5F;IACJ,CAAC,CAAC;IAEF/U,UAAU,CAAC,4BAA4B,CAAC,CAACnC,IAAI,CAAC,YAAM;MAChDjD,MAAM,CAACC,SAAS,CAACtB,KAAK,CAACE,MAAM,CAACwB,oBAAoB,CAAC4tB,4BAA4B,EAAE,UAAU/tB,OAAO,EAAEguB,MAAM,EAAE;QACxG,IAAIA,MAAM,KAAK,IAAI,IAAIA,MAAM,KAAK,KAAK,EAAE;UACrC,IAAIjvB,IAAI,CAAC+uB,mBAAmB,CAAC,CAAC,KAAKE,MAAM,EAAE;YACvCjvB,IAAI,CAAC+uB,mBAAmB,CAACE,MAAM,CAAC;UACpC,CAAC,MAAM;YACHjvB,IAAI,CAAC8uB,uBAAuB,CAACG,MAAM,CAAC;UACxC;QACJ;MACJ,CAAC,CAAC;IACN,CAAC,CAAC;;IAEF;IACA,IAAI,CAAC1S,eAAe,CAACvb,SAAS,CAAC,YAAY;MACvC,IAAI4b,KAAK,GAAGC,UAAU,CAAC/c,CAAC,CAAC,yBAAyB,CAAC,CAACgd,MAAM,CAAC,CAAC,CAAC;MAC7D,IAAIF,KAAK,IAAIG,GAAG,IAAIH,KAAK,GAAG,CAAC,EAAE;QAC3B5c,IAAI,CAACwc,qBAAqB,CAAGI,KAAK,GAAG,CAAC,GAAI,EAAE,GAAI,IAAI,CAAC;MACzD;IACJ,CAAC,CAAC;IAEF,IAAI,CAACvW,IAAI,GAAG,UAAU8F,IAAI,EAAE0B,QAAQ,EAAE;MAElC7N,IAAI,CAACuc,eAAe,CAAC,IAAI,CAAC;;MAE1B;MACA,IAAI1O,QAAQ,EAAE;QACV7N,IAAI,CAAC2sB,aAAa,CAAC9e,QAAQ,CAACqhB,aAAa,CAAC;QAC1ClvB,IAAI,CAAC6sB,iBAAiB,CAAChf,QAAQ,CAACshB,iBAAiB,CAAC;QAClDnvB,IAAI,CAAC8sB,mBAAmB,CAACjf,QAAQ,CAACuhB,mBAAmB,CAAC;QACtDpvB,IAAI,CAAC+sB,mBAAmB,CAAClf,QAAQ,CAACwhB,mBAAmB,CAAC;QACtDrvB,IAAI,CAACouB,UAAU,CAAEtuB,CAAC,CAAC,gBAAgB,CAAC,CAACU,MAAM,GAAG,CAAC,GAAI,IAAI,GAAG,KAAK,CAAC;QAEhER,IAAI,CAACquB,qBAAqB,CAACxgB,QAAQ,CAACyhB,qBAAqB,CAAC;QAC1DtvB,IAAI,CAAC6uB,oBAAoB,CAAChhB,QAAQ,CAAC0hB,oBAAoB,CAAC;QACxDvvB,IAAI,CAAC2uB,oBAAoB,CAAC9gB,QAAQ,CAAC2hB,oBAAoB,CAAC;QACxDxvB,IAAI,CAACse,YAAY,CAACzQ,QAAQ,CAAC4hB,YAAY,CAAC;MAC5C;;MAEA;MACA,IAAI,CAACtjB,IAAI,EAAE;QACPnM,IAAI,CAACC,OAAO,CAACiG,SAAS,CAAC,aAAa,EAAE;UAAEkoB,UAAU,EAAEpuB,IAAI,CAACouB,UAAU,CAAC;QAAE,CAAC,CAAC,CAACpqB,IAAI,CAAC,UAAUC,MAAM,EAAE;UAC5F,IAAIA,MAAM,IAAI,IAAI,EAAE;YAChBjE,IAAI,CAACuc,eAAe,CAAC,KAAK,CAAC;YAC3B;UACJ;UAEAvc,IAAI,CAACqG,IAAI,CAACpC,MAAM,CAAC;QACrB,CAAC,CAAC;QACF;MACJ;MAEAjE,IAAI,CAACstB,kBAAkB,CAACnhB,IAAI,CAACujB,kBAAkB,CAAC;MAChD,IAAIvjB,IAAI,CAACwjB,WAAW,EAChB3vB,IAAI,CAACitB,WAAW,CAAC9gB,IAAI,CAACwjB,WAAW,CAAC;MACtC3vB,IAAI,CAACktB,iBAAiB,CAAC/gB,IAAI,CAACyjB,iBAAiB,CAAC;MAC9CC,kBAAkB,CAAC1jB,IAAI,CAAC;MACxB,IAAInM,IAAI,CAAC8E,OAAO,CAAC,CAAC,IAAI,IAAI,IAAI9E,IAAI,CAACoqB,WAAW,CAAC,CAAC,IAAI,IAAI,EAAE;QACtDpqB,IAAI,CAACoqB,WAAW,CAACje,IAAI,CAAC4T,OAAO,CAAC;QAC9B/f,IAAI,CAAC8E,OAAO,CAACqH,IAAI,CAAC4T,OAAO,CAAC;MAC9B;MAEA/f,IAAI,CAACsuB,wBAAwB,CAACniB,IAAI,CAAC2jB,oBAAoB,CAAC;MACxD9vB,IAAI,CAACuuB,oBAAoB,CAACpiB,IAAI,CAAC2jB,oBAAoB,CAAC;MAEpD9vB,IAAI,CAAC4uB,mBAAmB,CAACziB,IAAI,CAAC4jB,mBAAmB,CAAC;MAElD/vB,IAAI,CAAC0X,8BAA8B,CAACvL,IAAI,CAAC6jB,8BAA8B,CAAC;MACxEhwB,IAAI,CAAC4sB,oBAAoB,CAAC,CAACzgB,IAAI,CAAC6jB,8BAA8B,CAAC;MAE/DhwB,IAAI,CAAC+uB,mBAAmB,CAAC5iB,IAAI,CAAC8jB,mBAAmB,CAAC;MAClDjwB,IAAI,CAAC8uB,uBAAuB,CAAC3iB,IAAI,CAAC8jB,mBAAmB,CAAC,CAAC,CAAC;;MAExDjwB,IAAI,CAACuc,eAAe,CAAC,KAAK,CAAC;MAE3B,IAAIvc,IAAI,CAACwuB,iBAAiB,IAAI,IAAI,EAAE;QAChCztB,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACsK,QAAQ,CAACpK,MAAM,CAACirB,iBAAiB,EAAE1e,IAAI,CAAC;QAC7DnM,IAAI,CAACwuB,iBAAiB,GAAGxuB,IAAI,CAACktB,iBAAiB,CAAC,CAAC;QACjDltB,IAAI,CAACyuB,mBAAmB,GAAGzuB,IAAI,CAACitB,WAAW,CAAC,CAAC;MACjD,CAAC,MACI,IAAIjtB,IAAI,CAACkwB,iBAAiB,CAAClwB,IAAI,CAACitB,WAAW,CAAC,CAAC,EAAE9gB,IAAI,CAACyjB,iBAAiB,CAAC,EAAE;QACzE7uB,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACsK,QAAQ,CAACpK,MAAM,CAACirB,iBAAiB,EAAE1e,IAAI,CAAC;QAC7DnM,IAAI,CAACwuB,iBAAiB,GAAGxuB,IAAI,CAACktB,iBAAiB,CAAC,CAAC;QACjDltB,IAAI,CAACyuB,mBAAmB,GAAGzuB,IAAI,CAACitB,WAAW,CAAC,CAAC;MACjD;IACJ,CAAC;IAEDjtB,IAAI,CAACkwB,iBAAiB,GAAG,UAAUC,cAAc,EAAEC,oBAAoB,EAAE;MACrE,IAAIpwB,IAAI,CAACwuB,iBAAiB,KAAK4B,oBAAoB,EAC/C,OAAO,IAAI;MACf,IAAIpwB,IAAI,CAACyuB,mBAAmB,KAAK,IAAI,IAAI0B,cAAc,KAAK,IAAI,EAC5D,OAAO,IAAI;MACf,IAAInwB,IAAI,CAACyuB,mBAAmB,KAAK,IAAI,IAAI0B,cAAc,KAAK,IAAI,EAC5D,OAAO,IAAI;MACf,IAAInwB,IAAI,CAACyuB,mBAAmB,CAACjuB,MAAM,KAAK2vB,cAAc,CAAC3vB,MAAM,EACzD,OAAO,IAAI;MACf,KAAK,IAAI6O,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGrP,IAAI,CAACyuB,mBAAmB,CAACjuB,MAAM,EAAE6O,CAAC,EAAE,EAAE;QACtD,IAAIghB,eAAe,GAAGrwB,IAAI,CAACyuB,mBAAmB,CAACpf,CAAC,CAAC;QACjD,IAAIihB,cAAc,GAAGH,cAAc,CAAC9gB,CAAC,CAAC;QACtC,IAAIghB,eAAe,CAACE,EAAE,KAAKD,cAAc,CAACC,EAAE,EACxC,OAAO,IAAI;QACf,IAAIF,eAAe,CAACxM,IAAI,KAAKyM,cAAc,CAACzM,IAAI,EAC5C,OAAO,IAAI;QACf,IAAIwM,eAAe,CAACG,UAAU,KAAKF,cAAc,CAACE,UAAU,EACxD,OAAO,IAAI;MACnB;MACA,OAAO,KAAK;IAChB,CAAC;IAED,IAAI,CAAC5B,mBAAmB,CAAC5tB,SAAS,CAAC,UAAUkf,OAAO,EAAE;MAClD,IAAI,CAAClgB,IAAI,CAAC2uB,oBAAoB,CAAC,CAAC,EAAE,OAAO,IAAI;MAE7C3uB,IAAI,CAACuc,eAAe,CAAC,IAAI,CAAC;MAE1B,IAAIpQ,IAAI,GAAG;QAAEskB,UAAU,EAAEvQ;MAAQ,CAAC;MAClC,IAAI;QACAlgB,IAAI,CAACC,OAAO,CAACiG,SAAS,CAAC,qBAAqB,EAAEiG,IAAI,CAAC,CAACnI,IAAI,CAAC,UAAUC,MAAM,EAAE;UACvEjE,IAAI,CAACuc,eAAe,CAAC,KAAK,CAAC;UAC3B,IAAItY,MAAM,IAAI,IAAI,IAAIA,MAAM,CAACzD,MAAM,GAAG,CAAC,EAAE;UACzC,IAAIyD,MAAM,CAAC+B,OAAO,KAAK,KAAK,EACxBY,KAAK,CAAC3C,MAAM,CAACgC,OAAO,CAAC;UACzBlF,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACgK,IAAI,CAAC9J,MAAM,CAAC+J,aAAa,EAAE,EAAE,CAAC;QACvD,CAAC,CAAC;MACN,CAAC,CAAC,OAAOgM,GAAG,EAAE;QACVjP,OAAO,CAACC,GAAG,CAACgP,GAAG,CAAC;MACpB;MAGA,OAAO,IAAI;IACf,CAAC,CAAC;IAEF,IAAI,CAAC+a,qBAAqB,GAAG,YAAY;MACrC,IAAI,CAAC1wB,IAAI,CAACstB,kBAAkB,CAAC,CAAC,EAAE,OAAO,IAAI;MAC3CttB,IAAI,CAACuc,eAAe,CAAC,IAAI,CAAC;MAE1Bvc,IAAI,CAACC,OAAO,CAACiG,SAAS,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAClC,IAAI,CAAC,UAAUC,MAAM,EAAE;QACzEjE,IAAI,CAACuc,eAAe,CAAC,KAAK,CAAC;QAE3B,IAAItY,MAAM,IAAI,IAAI,IAAIA,MAAM,CAACzD,MAAM,GAAG,CAAC,EAAE;QAEzCR,IAAI,CAACutB,qBAAqB,CAACtpB,MAAM,CAAC;QAClCjE,IAAI,CAAC2tB,iBAAiB,CAAC3tB,IAAI,CAACutB,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAACoD,MAAM,CAAC;QAC9D3wB,IAAI,CAAC4tB,mBAAmB,CAAC5tB,IAAI,CAACutB,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAACqD,QAAQ,CAAC;QAClE,IAAI3sB,MAAM,CAACzD,MAAM,KAAK,CAAC,EAAER,IAAI,CAACytB,yBAAyB,CAACztB,IAAI,CAAC4tB,mBAAmB,CAAC,CAAC,CAAC;MACvF,CAAC,CAAC;MACF,OAAO,IAAI;IACf,CAAC;IAED,IAAI,CAACH,yBAAyB,CAACzsB,SAAS,CAAC,UAAU6vB,QAAQ,EAAE;MACzD,IAAIA,QAAQ,IAAI,IAAI,EAAE,OAAO,KAAK;MAClC,IAAIA,QAAQ,KAAK,EAAE,EAAE,OAAO,KAAK;MACjC,IAAI7wB,IAAI,CAACktB,iBAAiB,IAAI,IAAI,EAAE,OAAO,KAAK;MAEhDltB,IAAI,CAACuc,eAAe,CAAC,IAAI,CAAC;MAE1B,IAAIpQ,IAAI,GAAG;QAAE0kB,QAAQ,EAAEA;MAAS,CAAC;MACjC7wB,IAAI,CAACC,OAAO,CAACiG,SAAS,CAAC,yBAAyB,EAAEiG,IAAI,CAAC,CAACnI,IAAI,CAAC,UAAUC,MAAM,EAAE;QAC3EjE,IAAI,CAACuc,eAAe,CAAC,KAAK,CAAC;QAE3B,IAAItY,MAAM,IAAI,IAAI,IAAIA,MAAM,CAACzD,MAAM,GAAG,CAAC,EAAE;QAEzCR,IAAI,CAACwtB,uBAAuB,CAACvpB,MAAM,CAAC;QACpCjE,IAAI,CAAC6tB,uBAAuB,CAAC7tB,IAAI,CAACwtB,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,CAACsD,YAAY,CAAC;MAChF,CAAC,CAAC;MACF,OAAO,IAAI;IACf,CAAC,CAAC;IAEF,IAAI,CAACC,+BAA+B,GAAG,UAAUC,UAAU,EAAEC,YAAY,EAAEC,aAAa,EAAE;MACtF,IAAIF,UAAU,IAAI,IAAI,IAAIC,YAAY,IAAI,IAAI,IAAIC,aAAa,IAAI,IAAI,EAAE,OAAO,KAAK;MACrF,IAAI/kB,IAAI,GAAG;QAAE6kB,UAAU,EAAEA,UAAU;QAAEC,YAAY,EAAEA,YAAY;QAAEC,aAAa,EAAEA;MAAc,CAAC;MAE/FlxB,IAAI,CAACuc,eAAe,CAAC,IAAI,CAAC;MAC1Bvc,IAAI,CAACC,OAAO,CAACiG,SAAS,CAAC,iCAAiC,EAAEiG,IAAI,CAAC,CAACnI,IAAI,CAAC,UAAUC,MAAM,EAAE;QACnFjE,IAAI,CAACuc,eAAe,CAAC,KAAK,CAAC;MAC/B,CAAC,CAAC;MAEF,OAAO,IAAI;IACf,CAAC;IAED,IAAI,CAACmR,2BAA2B,CAAC1sB,SAAS,CAAC,UAAUmwB,mBAAmB,EAAE;MACtE,IAAIA,mBAAmB,IAAI,IAAI,EAAE,OAAO,KAAK;MAC7C,IAAInxB,IAAI,CAACktB,iBAAiB,IAAI,IAAI,EAAE,OAAO,KAAK;MAEhD,IAAIkE,YAAY,GAAG,EAAE;MACrB,IAAIF,aAAa,GAAG,EAAE;MAEtB,IAAIC,mBAAmB,CAACL,YAAY,IAAI,IAAI,EAAEM,YAAY,GAAGD,mBAAmB,CAACL,YAAY,CAAC9O,IAAI,CAAC,CAAC;MACpG,IAAImP,mBAAmB,CAACE,YAAY,IAAI,IAAI,EAAEH,aAAa,GAAGC,mBAAmB,CAACE,YAAY,CAACrP,IAAI,CAAC,CAAC;MAErGhiB,IAAI,CAAC+wB,+BAA+B,CAACI,mBAAmB,CAACG,UAAU,EAAEF,YAAY,EAAEF,aAAa,CAAC;MAEjG,OAAO,IAAI;IACf,CAAC,CAAC;IAEF,IAAIrB,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAa1jB,IAAI,EAAE;MACrCpM,MAAM,CAACwxB,IAAI,CAACplB,IAAI,CAACwjB,WAAW,EAAE,UAAU3D,KAAK,EAAEjf,GAAG,EAAE;QAChD,IAAIA,GAAG,CAACwjB,EAAE,IAAIpkB,IAAI,CAACyjB,iBAAiB,KAAK5vB,IAAI,CAACgtB,mBAAmB,CAAC,CAAC,KAAKjgB,GAAG,CAAC8W,IAAI,IAAI7jB,IAAI,CAACmtB,oBAAoB,CAAC,CAAC,KAAKpgB,GAAG,CAACyjB,UAAU,CAAC,EAAE;UACjI,IAAIgB,YAAY,GAAGxxB,IAAI,CAACgtB,mBAAmB,CAAC,CAAC,KAAKjoB,SAAS;UAE3D/E,IAAI,CAACgtB,mBAAmB,CAACjgB,GAAG,CAAC8W,IAAI,CAAC;UAClC7jB,IAAI,CAACmtB,oBAAoB,CAACpgB,GAAG,CAACyjB,UAAU,CAAC;UAEzCxwB,IAAI,CAACotB,sCAAsC,CAACrgB,GAAG,CAAC0kB,oBAAoB,CAAC;UACrE,IAAI,CAACzxB,IAAI,CAACqtB,2BAA2B,CAAC,CAAC,EACnCrtB,IAAI,CAAC0xB,uBAAuB,CAAC,IAAI,CAAC;UAEtC,IAAIF,YAAY;YAAC;YACbzwB,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACiyB,SAAS,CAAC/xB,MAAM,CAACgyB,0BAA0B,EAAE,EAAE,CAAC;QAC7E,CAAC,MACI,IAAI7kB,GAAG,CAACwjB,EAAE,IAAIpkB,IAAI,CAACyjB,iBAAiB,EAAE;UACvC5vB,IAAI,CAACotB,sCAAsC,CAACrgB,GAAG,CAAC0kB,oBAAoB,CAAC;UACrE,IAAI,CAACzxB,IAAI,CAACqtB,2BAA2B,CAAC,CAAC,EACnCrtB,IAAI,CAAC0xB,uBAAuB,CAAC,IAAI,CAAC;QAC1C;MACJ,CAAC,CAAC;MACF1xB,IAAI,CAAC0wB,qBAAqB,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,CAACmB,4BAA4B,GAAG,UAAUC,OAAO,EAAE;MACnD,IAAI;QACA,IAAIvlB,EAAE,GAAGvM,IAAI,CAACqtB,2BAA2B,CAAC,CAAC;QAC3C,IAAI,CAAC9gB,EAAE,EAAE;QACT,IAAIJ,IAAI,GAAG2lB,OAAO,CAAC1E,sCAAsC,CAAC,CAAC,CAAChrB,IAAI,CAAC,UAAA2K,GAAG,EAAI;UAAE,OAAOA,GAAG,CAACwjB,EAAE,KAAKhkB,EAAE;QAAC,CAAC,CAAC;QACjGvM,IAAI,CAAC0xB,uBAAuB,CAACvlB,IAAI,CAAC;;QAElC;QACApL,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACsK,QAAQ,CAACpK,MAAM,CAACqK,cAAc,CAAC;MACxD,CAAC,CAAC,OAAO0L,GAAG,EAAE;QACVjP,OAAO,CAACC,GAAG,CAACgP,GAAG,CAAC;MACpB;IACJ,CAAC;IAED,IAAI,CAAC+b,uBAAuB,GAAG,UAAUK,WAAW,EAAE;MAClD/xB,IAAI,CAACuc,eAAe,CAAC,IAAI,CAAC;MAE1B,IAAI;QACAvc,IAAI,CAACC,OAAO,CAACiG,SAAS,CAAC,iCAAiC,EAAE6rB,WAAW,CAAC,CAAC/tB,IAAI,CAAC,UAAUC,MAAM,EAAE;UAC1FjE,IAAI,CAACuc,eAAe,CAAC,KAAK,CAAC;UAC3B,IAAItY,MAAM,IAAI,IAAI,IAAIA,MAAM,CAACzD,MAAM,GAAG,CAAC,EAAE;UACzC,IAAIyD,MAAM,CAAC+B,OAAO,KAAK,KAAK,EACxBY,KAAK,CAAC3C,MAAM,CAACgC,OAAO,CAAC;QAC7B,CAAC,CAAC;MACN,CAAC,CAAC,OAAO0P,GAAG,EAAE;QACVjP,OAAO,CAACC,GAAG,CAACgP,GAAG,CAAC;MACpB;IACJ,CAAC;;IAED;IACA,IAAI,CAACqc,mBAAmB,GAAG,UAAUC,OAAO,EAAE;MAC1CjyB,IAAI,CAACuc,eAAe,CAAC,IAAI,CAAC;MAE1Bvc,IAAI,CAAC0tB,2BAA2B,CAAC3oB,SAAS,CAAC;MAC3C/E,IAAI,CAACytB,yBAAyB,CAAC1oB,SAAS,CAAC;MACzC/E,IAAI,CAACwtB,uBAAuB,CAAC0E,SAAS,CAAC,CAAC;MAExClyB,IAAI,CAACgtB,mBAAmB,CAACiF,OAAO,CAACpO,IAAI,CAAC;MACtC7jB,IAAI,CAACmtB,oBAAoB,CAAC8E,OAAO,CAACzB,UAAU,CAAC;MAE7C,IAAI2B,kBAAkB,GAAGzyB,KAAK,CAAC0yB,WAAW,CAACC,qBAAqB,CAAC,CAAC;MAClE,IAAItnB,KAAK,GAAGrL,KAAK,CAAC6d,aAAa,CAAC+U,QAAQ,CAAC,CAAC;MAC1CL,OAAO,CAACM,WAAW,GAAG,IAAI;MAE1B,IAAIpmB,IAAI,GAAG;QACPqmB,WAAW,EAAEP,OAAO;QACpBlnB,KAAK,EAAEA,KAAK;QACZjG,OAAO,EAAE,IAAI;QACbspB,UAAU,EAAEpuB,IAAI,CAACouB,UAAU;QAC3B+D,kBAAkB,EAAEA;MACxB,CAAC;MAEDnyB,IAAI,CAACC,OAAO,CAACuI,UAAU,CAAC,qBAAqB,EAAE2D,IAAI,CAAC,CAACnI,IAAI,CAAC,UAAUC,MAAM,EAAE;QACxEjE,IAAI,CAACuc,eAAe,CAAC,KAAK,CAAC;QAE3Bxb,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACsK,QAAQ,CAACpK,MAAM,CAACgrB,kBAAkB,EAAEqH,OAAO,CAAC;QAEjE,IAAIhuB,MAAM,KAAK,IAAI,IAAIA,MAAM,IAAIc,SAAS,EAAE;UACxChE,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACE,MAAM,CAACwB,oBAAoB,CAAC6b,qBAAqB,EAAEhZ,MAAM,CAACwuB,oBAAoB,CAAC;UACpG,IAAIxuB,MAAM,CAACyuB,sBAAsB,EAAE;YAC/B3xB,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACsK,QAAQ,CAACpK,MAAM,CAACqK,cAAc,EAAEhG,MAAM,CAAC0uB,QAAQ,CAAC;UACzE;UACA;QACJ;MACJ,CAAC,CAAC;;MACF,OAAO,IAAI;IACf,CAAC;IAED5xB,MAAM,CAACC,SAAS,CAACtB,KAAK,CAACsK,QAAQ,CAACpK,MAAM,CAACgrB,kBAAkB,EAAE,UAAU3pB,OAAO,EAAEgxB,OAAO,EAAE;MACnF,IAAI,CAACA,OAAO,EACR;MAEJjyB,IAAI,CAACgtB,mBAAmB,CAACiF,OAAO,CAACpO,IAAI,CAAC;MACtC7jB,IAAI,CAACmtB,oBAAoB,CAAC8E,OAAO,CAACzB,UAAU,CAAC;IACjD,CAAC,CAAC;IAEF,IAAI,CAACoC,eAAe,GAAG,YAAY;MAC/B5yB,IAAI,CAAC8sB,mBAAmB,CAAC,IAAI,CAAC;IAClC,CAAC;IAED/rB,MAAM,CAACC,SAAS,CAACtB,KAAK,CAACgK,IAAI,CAAC9J,MAAM,CAACkb,YAAY,EAAE,UAAU7Z,OAAO,EAAEkL,IAAI,EAAE;MAEtE,IAAIA,IAAI,IAAI,IAAI,EAAE;QACdnM,IAAI,CAAC8a,YAAY,CAAC3O,IAAI,CAAC,CAAC,CAAC;MAC7B;IACJ,CAAC,CAAC;;IAEFpL,MAAM,CAACC,SAAS,CAACtB,KAAK,CAACsK,QAAQ,CAACpK,MAAM,CAACqK,cAAc,EAAE,UAAUhJ,OAAO,EAAEkL,IAAI,EAAE;MAC5EnM,IAAI,CAACqG,IAAI,CAAC8F,IAAI,CAAC;IACnB,CAAC,CAAC;IAEFpL,MAAM,CAACC,SAAS,CAACtB,KAAK,CAACE,MAAM,CAACwB,oBAAoB,CAAC6b,qBAAqB,EAAE,UAAUhc,OAAO,EAAEkL,IAAI,EAAE;MAC/F,IAAIA,IAAI,IAAI,IAAI,EACZ;MAEJ,IAAIA,IAAI,CAAC0mB,2BAA2B,IAAI,IAAI,IAAI1mB,IAAI,CAAC0mB,2BAA2B,IAAI,IAAI,EAAE;QACtF,IAAI1mB,IAAI,CAAC2mB,cAAc,IAAI,IAAI,IAAI3mB,IAAI,CAAC2mB,cAAc,IAAI9yB,IAAI,CAAC8E,OAAO,CAAC,CAAC,EAAE;UACtE9E,IAAI,CAAC+yB,WAAW,CAAC5mB,IAAI,CAAC2mB,cAAc,CAAC;QACzC;QAEA9yB,IAAI,CAACiuB,cAAc,CAAE9hB,IAAI,CAAC8hB,cAAc,IAAI,IAAI,GAAI,EAAE,GAAG9hB,IAAI,CAAC8hB,cAAc,CAAC;QAC7EjuB,IAAI,CAACkuB,oBAAoB,CAAE/hB,IAAI,CAAC+hB,oBAAoB,IAAI,IAAI,GAAI,EAAE,GAAG/hB,IAAI,CAAC+hB,oBAAoB,CAAC;QAC/FluB,IAAI,CAACmuB,gBAAgB,CAAEhiB,IAAI,CAACgiB,gBAAgB,IAAI,IAAI,GAAI,EAAE,GAAGhiB,IAAI,CAACgiB,gBAAgB,CAAC;MACvF,CAAC,MACI;QACD,IAAIhiB,IAAI,CAAC5E,MAAM,IAAI,IAAI,IAAI4E,IAAI,CAAC5E,MAAM,IAAIvH,IAAI,CAAC8E,OAAO,CAAC,CAAC,EAAE;UACtD9E,IAAI,CAAC+yB,WAAW,CAAC5mB,IAAI,CAAC5E,MAAM,CAAC;QACjC;QAEAvH,IAAI,CAACiuB,cAAc,CAAE9hB,IAAI,CAAC1E,MAAM,IAAI,IAAI,GAAI,EAAE,GAAG0E,IAAI,CAAC1E,MAAM,CAAC;QAC7DzH,IAAI,CAACkuB,oBAAoB,CAAE/hB,IAAI,CAAC6mB,YAAY,IAAI,IAAI,GAAI,EAAE,GAAG7mB,IAAI,CAAC6mB,YAAY,CAAC;QAC/EhzB,IAAI,CAACmuB,gBAAgB,CAAEhiB,IAAI,CAAC3E,QAAQ,IAAI,IAAI,GAAI,EAAE,GAAG2E,IAAI,CAAC3E,QAAQ,CAAC;MACvE;IACJ,CAAC,CAAC;IAEFzG,MAAM,CAACC,SAAS,CAACtB,KAAK,CAACE,MAAM,CAACwB,oBAAoB,CAAC6xB,aAAa,EAAE,UAAUhyB,OAAO,EAAEooB,IAAI,EAAE;MACvFrpB,IAAI,CAACmuB,gBAAgB,CAAE9E,IAAI,IAAI,IAAI,IAAIA,IAAI,CAAC7oB,MAAM,GAAG,CAAC,GAAI,EAAE,GAAG6oB,IAAI,CAAC;IACxE,CAAC,CAAC;IAEFtoB,MAAM,CAACC,SAAS,CAACtB,KAAK,CAACE,MAAM,CAACwB,oBAAoB,CAACsiB,gBAAgB,EAAE,UAAUziB,OAAO,EAAEkL,IAAI,EAAE;MAC1F,IAAI,CAACA,IAAI,EACL;MAEJ,IAAIrH,OAAO,GAAGqH,IAAI,CAACrH,OAAO;MAC1B,IAAI,CAACA,OAAO,EACR;MAEJ,IAAI9E,IAAI,CAAC8E,OAAO,CAAC,CAAC,IAAIA,OAAO,EAAE;QAC3B9E,IAAI,CAACoqB,WAAW,CAACtlB,OAAO,CAAC;QACzB9E,IAAI,CAAC8E,OAAO,CAACA,OAAO,CAAC;QACrB9E,IAAI,CAACqG,IAAI,CAAC,CAAC;MACf;IACJ,CAAC,CAAC;IAEFtF,MAAM,CAACC,SAAS,CAACtB,KAAK,CAACsD,QAAQ,CAACpD,MAAM,CAACub,iBAAiB,EAAE,UAAUla,OAAO,EAAEuB,SAAS,EAAE;MACpF,IAAIA,SAAS,IAAI,IAAI,EAAE;QACnBxC,IAAI,CAACC,OAAO,CAACiG,SAAS,CAAC,qCAAqC,EAAE;UAAEgtB,QAAQ,EAAE1wB;QAAU,CAAC,CAAC,CAACwB,IAAI,CAAC,UAAUC,MAAM,EAAE;UAC1G,IAAIA,MAAM,IAAI,CAAC,EAAE;YACbjE,IAAI,CAACquB,qBAAqB,CAAC,KAAK,CAAC;YACjCruB,IAAI,CAACuuB,oBAAoB,CAAC,IAAI,CAAC;UACnC;UACAvuB,IAAI,CAACquB,qBAAqB,CAAEpqB,MAAM,KAAK,CAAE,CAAC;QAC9C,CAAC,CAAC;MACN;IACJ,CAAC,CAAC;IAEF,IAAI,CAAC8uB,WAAW,GAAG,UAAUjuB,OAAO,EAAE;MAClC,IAAIA,OAAO,IAAI,IAAI,IAAIA,OAAO,CAACtE,MAAM,GAAG,CAAC,EACrC;MAEJ,IAAI;QACA,IAAKsE,OAAO,CAAC8F,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAG;UAC7B5K,IAAI,CAAC+sB,mBAAmB,CAAC,KAAK,CAAC;UAC/B;QACJ;QAEA/sB,IAAI,CAACuc,eAAe,CAAC,IAAI,CAAC;QAE1B,IAAIpQ,IAAI,GAAG;UAAErH,OAAO,EAAEA;QAAQ,CAAC;QAC/B/D,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACE,MAAM,CAACwB,oBAAoB,CAACsiB,gBAAgB,EAAEvX,IAAI,CAAC;QACxEpL,MAAM,CAACwF,OAAO,CAAC7G,KAAK,CAACgK,IAAI,CAAC9J,MAAM,CAAC+J,aAAa,EAAE,IAAI,CAAC;MAEzD,CAAC,CAAC,OAAOF,CAAC,EAAE;QACR0pB,cAAc,CAAC,CAAC;QAChBzsB,OAAO,CAAC0D,KAAK,CAACX,CAAC,CAAC;MACpB;IACJ,CAAC;IAED,IAAI,CAAC2pB,YAAY,GAAG,YAAY;MAC5B,IAAIpzB,IAAI,CAAC8E,OAAO,CAAC,CAAC,IAAI,IAAI,IAAI9E,IAAI,CAAC8E,OAAO,CAAC,CAAC,CAAC8F,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;QAC5D,OAAO,EAAE;MACb;MAEA,IAAIyoB,IAAI,GAAIrzB,IAAI,CAACguB,UAAU,CAAC,CAAC,IAAI,IAAI,IAAIhuB,IAAI,CAACguB,UAAU,CAAC,CAAC,CAACxtB,MAAM,GAAG,CAAC,GAAI,EAAE,GAAGR,IAAI,CAACguB,UAAU,CAAC,CAAC,GAAG,GAAG;MACrGqF,IAAI,IAAKrzB,IAAI,CAAC8E,OAAO,CAAC,CAAC,IAAI,IAAI,IAAI9E,IAAI,CAAC8E,OAAO,CAAC,CAAC,CAACtE,MAAM,GAAG,CAAC,GAAI,EAAE,GAAGR,IAAI,CAAC8E,OAAO,CAAC,CAAC,GAAG,GAAG;MACzFuuB,IAAI,IAAKrzB,IAAI,CAACmuB,gBAAgB,CAAC,CAAC,IAAI,IAAI,IAAInuB,IAAI,CAACmuB,gBAAgB,CAAC,CAAC,CAAC3tB,MAAM,GAAG,CAAC,GAAI,EAAE,GAAGR,IAAI,CAACmuB,gBAAgB,CAAC,CAAC,GAAG,GAAG;MAEpH,OAAOkF,IAAI;IACf,CAAC;;IAED;IACA,IAAI,CAACC,oBAAoB,GAAG,YAAY;MACpCxzB,CAAC,CAAC,WAAW,CAAC,CAACyzB,WAAW,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,CAACC,WAAW,GAAG,UAAUC,MAAM,EAAEhqB,CAAC,EAAE;MACpC,IAAI2L,GAAG,GAAI3L,CAAC,CAACiqB,KAAK,GAAIjqB,CAAC,CAACiqB,KAAK,GAAGjqB,CAAC,CAACwN,OAAO;MACzC,IAAI7B,GAAG,IAAI,EAAE,EAAE;QACXjI,QAAQ,CAACwmB,aAAa,CAACrlB,IAAI,CAAC,CAAC;QAC7B,OAAO,KAAK;MAChB;MACA,OAAO,EAAE8G,GAAG,GAAG,EAAE,KAAKA,GAAG,GAAG,EAAE,IAAIA,GAAG,GAAG,EAAE,CAAC,CAAC;IAChD,CAAC;IAEDpV,IAAI,CAAC8E,OAAO,CAAC9D,SAAS,CAAC,UAAU8D,OAAO,EAAE;MAEtC,IAAI9E,IAAI,CAACoqB,WAAW,CAAC,CAAC,IAAItlB,OAAO,EAC7B;MAEJ9E,IAAI,CAACmuB,gBAAgB,CAAC,EAAE,CAAC;MAEzB,IAAIrpB,OAAO,IAAI,IAAI,IAAIA,OAAO,CAACtE,MAAM,GAAG,CAAC,EAAE;QACvCR,IAAI,CAACoqB,WAAW,CAACtlB,OAAO,CAAC;QACzB9E,IAAI,CAAC+yB,WAAW,CAACjuB,OAAO,CAAC;MAC7B;IACJ,CAAC,CAAC;IAEFhF,CAAC,CAAC,uBAAuB,CAAC,CAAC8zB,OAAO,CAAC;MAC/BC,OAAO,EAAE,OAAO;MAChBC,KAAK,EAAEh0B,CAAC,CAAC,uBAAuB,CAAC,CAAC+E,IAAI,CAAC,CAAC;MACxCkvB,OAAO,EAAEj0B,CAAC,CAAC,uBAAuB,CAAC,CAAC+E,IAAI,CAAC,CAAC;MAC1CmvB,SAAS,EAAE,KAAK;MAChBC,SAAS,EAAE;IACf,CAAC,CAAC;IAEFn0B,CAAC,CAAC,qBAAqB,CAAC,CAAC8zB,OAAO,CAAC;MAC7BC,OAAO,EAAE,OAAO;MAChBC,KAAK,EAAEh0B,CAAC,CAAC,qBAAqB,CAAC,CAAC+E,IAAI,CAAC,CAAC;MACtCkvB,OAAO,EAAEj0B,CAAC,CAAC,qBAAqB,CAAC,CAAC+E,IAAI,CAAC,CAAC;MACxCmvB,SAAS,EAAE,KAAK;MAChBC,SAAS,EAAE;IACf,CAAC,CAAC;IAEFn0B,CAAC,CAAC,qBAAqB,CAAC,CAAC8zB,OAAO,CAAC;MAC7BC,OAAO,EAAE,OAAO;MAChBC,KAAK,EAAEh0B,CAAC,CAAC,qBAAqB,CAAC,CAAC+E,IAAI,CAAC,CAAC;MACtCkvB,OAAO,EAAEj0B,CAAC,CAAC,qBAAqB,CAAC,CAAC+E,IAAI,CAAC,CAAC;MACxCmvB,SAAS,EAAE,KAAK;MAChBC,SAAS,EAAE;IACf,CAAC,CAAC;IAEFn0B,CAAC,CAAC,iBAAiB,CAAC,CAAC8zB,OAAO,CAAC;MACzBC,OAAO,EAAE,OAAO;MAChBC,KAAK,EAAEh0B,CAAC,CAAC,iBAAiB,CAAC,CAAC+E,IAAI,CAAC,CAAC;MAClCkvB,OAAO,EAAEj0B,CAAC,CAAC,iBAAiB,CAAC,CAAC+E,IAAI,CAAC,CAAC;MACpCmvB,SAAS,EAAE,KAAK;MAChBC,SAAS,EAAE;IACf,CAAC,CAAC;IAEFpnB,EAAE,CAACqnB,eAAe,CAACC,eAAe,GAAG;MACjC5V,IAAI,EAAE,SAAAA,KAAUrc,OAAO,EAAEkyB,aAAa,EAAEC,mBAAmB,EAAEC,SAAS,EAAEC,cAAc,EAAE;QACpF,IAAIC,IAAI,GAAG10B,CAAC,CAACoC,OAAO,CAAC;QACrBlC,IAAI,CAACy0B,WAAW,GAAGD,IAAI;QACvB,IAAIE,MAAM,GAAG7nB,EAAE,CAAC8nB,KAAK,CAACC,gBAAgB,CAACR,aAAa,CAAC,CAAC,CAAC;QACvD,IAAIS,KAAK,GAAGH,MAAM,CAACI,SAAS;UAAEC,KAAK,GAAGL,MAAM,CAACM,OAAO;UAAEC,EAAE,GAAG,KAAK;QAChE,IAAIC,SAAS,GAAG,WAAW,GAAGL,KAAK,GAAGI,EAAE,GAAG,IAAI,GAAGn1B,CAAC,CAAC,GAAG,GAAG+0B,KAAK,CAAC,CAAChwB,IAAI,CAAC,CAAC,GAAG,QAAQ;QAClF,IAAIswB,OAAO,GAAG,WAAW,GAAGJ,KAAK,GAAGE,EAAE,GAAG,IAAI,GAAGn1B,CAAC,CAAC,GAAG,GAAGi1B,KAAK,CAAC,CAAClwB,IAAI,CAAC,CAAC,GAAG,QAAQ;QAEhF7E,IAAI,CAACo1B,aAAa,GAAG,YAAY;UAC7Bt1B,CAAC,CAACkX,KAAK,CAACsV,MAAM,CAAC+I,aAAa,CAAC,CAACzB,OAAO,CAAC,QAAQ,CAAC;UAC/C,IAAI0B,SAAS,GAAGnoB,QAAQ,CAACC,cAAc,CAACynB,KAAK,CAAC;UAE9ChoB,EAAE,CAAC0oB,SAAS,CAACD,SAAS,CAAC;QAC3B,CAAC;QAEDd,IAAI,CAACZ,OAAO,CAAC;UACTE,KAAK,EAAEqB,OAAO;UACdpB,OAAO,EAAEmB,SAAS;UAClBrwB,IAAI,EAAE6vB,MAAM,CAAC7vB,IAAI;UACjBgvB,OAAO,EAAE,QAAQ;UACjBG,SAAS,EAAE,SAAAA,UAAUlC,OAAO,EAAE;YAC1B,IAAI0D,GAAG,GAAGz1B,MAAM,CAAC+xB,OAAO,CAAC;YACzB0D,GAAG,CAAC5zB,QAAQ,CAAC8yB,MAAM,CAACe,YAAY,CAAC;YAEjC,IAAIC,MAAM,GAAG51B,CAAC,CAAC,uBAAuB,CAAC;YACvC,IAAI41B,MAAM,CAACl1B,MAAM,GAAG,CAAC,EACjB,OAAO,QAAQ;YAEnBg1B,GAAG,CAAChsB,EAAE,CAAC,YAAY,EAAE,YAAY;cAC7BgrB,IAAI,CAACZ,OAAO,CAAC,MAAM,CAAC;cACpB5zB,IAAI,CAAC8tB,WAAW,CAAC,KAAK,CAAC;cACvB,OAAO,IAAI;YACf,CAAC,CAAC;YACF,OAAO,QAAQ;UACnB;QACJ,CAAC,CAAC;QAEF0G,IAAI,CAACmB,KAAK,CAAC,YAAY;UAEnB31B,IAAI,CAACo1B,aAAa,CAAC,CAAC;UACpBp1B,IAAI,CAAC8tB,WAAW,CAAC,CAAC9tB,IAAI,CAAC8tB,WAAW,CAAC,CAAC,CAAC;UAErC,IAAI9tB,IAAI,CAACse,YAAY,IAAI,CAAC,CAAC5e,KAAK,CAAC4e,YAAY,EAAE;YAC3C5e,KAAK,CAAC4e,YAAY,CAACC,IAAI,CAAC,IAAI,CAAC;UACjC;QACJ,CAAC,CAAC;MACN;IACJ,CAAC;EACL,CAAC;AACL,CAAC,CAAD,CAAC,CAAC","sources":["webpack://mcweb3/./Scripts/Web/ViewModels/Checkout/Checkout.js","webpack://mcweb3/./Scripts/Web/ViewModels/Checkout/CheckoutConfirmationView.js","webpack://mcweb3/./Scripts/Web/ViewModels/Checkout/CheckoutFooterView.js","webpack://mcweb3/./Scripts/Web/ViewModels/Checkout/PaymentView.js","webpack://mcweb3/./Scripts/Web/ViewModels/Checkout/SalesConditions.js","webpack://mcweb3/./Scripts/Web/ViewModels/Checkout/ShipmentView.js"],"sourcesContent":["mcWeb.checkout = new function () {\r\n\r\n this.events = {\r\n onShowSendOrder: \"mcWeb.checkout.onShowSendOrder\" \r\n };\r\n\r\n\tvar $ = jQuery;\r\n\tvar self = this;\r\n\tself.service = new WebApiService(\"Checkout\");\r\n\tself.langService = new LanguageService();\r\n \r\n\tself.cartName = null;\r\n self.cartGuid = null;\r\n\r\n $(function () {\r\n\r\n self.isCheckoutPage = ($(\"#checkout\").length > 0) ? true : false;\r\n\r\n if (!self.isCheckoutPage)\r\n return;\r\n\r\n\t\tvar returnCode = self.getParameterByName(\"returnCode\");\r\n\t\tself.showErrorMessageFromReturnCode(returnCode);\r\n\r\n\t\tvar btnOrderEl = $(\"#McPaymentAddOrderbottom\");\r\n\t\tvar priceEl = $(\"#checkout-amount\");\r\n\t\tvar salesConditionsEl = $(\"#mcweb-salesconditions-sales-conditions\");\r\n\r\n\t\tPubSub.subscribe(mcWeb.checkout.events.onShowSendOrder, function (message, status) {\r\n\r\n if (status === null)\r\n return;\r\n\r\n var registration = mcWeb.customerRegistration.instances[\"checkout-registration\"];\r\n if (registration !== null) {\r\n //Blocked or not active customer\r\n if (registration.registrationVM.blockedCustomer()) {\r\n status.showBtn = false;\r\n status.disabledBtn = true;\r\n $(\".sales-conditions\").hide();\r\n }\r\n }\r\n\r\n\r\n if (status.showBtn !== null || status.disabledBtn !== null) {\r\n\r\n if (status.disabledBtn !== null)\r\n {\r\n if (status.disabledBtn === true) {\r\n btnOrderEl.removeClass(\"btn-primary\");\r\n btnOrderEl.addClass(\"btn-default disabled\");\r\n } else {\r\n btnOrderEl.removeClass(\"btn-default disabled\");\r\n btnOrderEl.addClass(\"btn-primary\");\r\n }\r\n }\r\n\r\n if (status.showBtn !== null) {\r\n\r\n if (status.showBtn === true) {\r\n btnOrderEl.show();\r\n } else {\r\n btnOrderEl.hide();\r\n }\r\n }\r\n }//showBtn or disabledBtn\r\n\r\n if (status.showPrice !== null) {\r\n if (status.showPrice === true) {\r\n priceEl.show();\r\n } else {\r\n priceEl.hide();\r\n }\r\n }\r\n\r\n if (status.showSalesConditions !== null) {\r\n\r\n if (status.showSalesConditions === true) {\r\n salesConditionsEl.show();\r\n } else {\t\t \r\n salesConditionsEl.hide();\r\n }\r\n }\r\n\r\n });\r\n\r\n\t});\r\n\r\n\r\n self.findElement = function (payment, element) {\r\n return $(\"div[id=\" + payment.selectedPayment() + \"]\").find(\"input[id*='\" + element + \"']\");\r\n };\r\n\r\n self.findClass = function (payment, cssClass) {\r\n return $(\"div[id=\" + payment.selectedPayment() + \"]\").find(\"input[class*='\" + cssClass + \"']\");\r\n };\r\n\t\r\n\tself.validatePayment = function (payment) {\r\n\t\tvar paymentId = payment.selectedPayment();\r\n\t\tvar element;\r\n\t\tvar validate = false;\r\n\t\tvar isValid = false;\r\n\t\tvar resName = \"\";\r\n\r\n\t\tif (paymentId === 96 || paymentId === 97) {\t//Klarna \r\n\t\t\tvalidate = true;\r\n if (payment.CustomerType() === \"private\" || payment.CustomerType() === \"privatkunde\") {\r\n element = self.findElement(payment, \"fodselsnummer\");\r\n\t\t\t\tisValid = payment.isFodselsnummerValid($(\"#fodselsnummer\"), true);\r\n\t\t\t\tresName = \"FodselsnummerError\";\r\n\t\t\t} else {\r\n element = self.findElement(payment, \"orgnr\");\r\n\t\t\t\tisValid = payment.isOrgnrValid($(\"#orgnr\"), true);\r\n\t\t\t\tresName = \"OrgnummerError\";\r\n\t\t\t}\r\n } else if (paymentId === 94 || paymentId === 107) { //Gothia private\r\n\t\t\telement = self.findElement(payment, \"birth_ssn\");\r\n\t\t\tvalidate = true;\r\n\t\t\tisValid = payment.isFodselsnummerValid($(\"#birth_ssn\"), false);\r\n\t\t\tresName = \"FodselsnummerError\";\r\n } else if (paymentId === 95) { //Gothia business\r\n\t\t\telement = self.findElement(payment, \"orgnr_ssn\");\r\n\t\t\tvalidate = true;\r\n\t\t\tisValid = payment.isOrgnrValid($(\"#orgnr_ssn\"), false);\r\n\t\t\tresName = \"OrgnummerError\";\r\n } else if (paymentId === 112 || paymentId === 115 || paymentId === 168) { //Santander\r\n\t\t\tvalidate = true;\r\n\t\t\tvar paymentViewSantander = mcWeb.payments.instances[\"payment-view\"];\r\n var validSantander = paymentViewSantander.validateSantander(payment);\r\n\r\n\t\t\tisValid = validSantander.IsValid;\r\n\t\t\tresName = validSantander.ResName;\r\n\t\t\telement = validSantander.Element;\r\n\t\t} else if (paymentId === 87 || paymentId === 128) {\r\n\t\t\tvalidate = true;\r\n\t\t\tvar paymentViewSvea = mcWeb.payments.instances[\"payment-view\"];\r\n var validSveaWebPay = paymentViewSvea.validateSveaWebPay(payment);\r\n\r\n\t\t\tisValid = validSveaWebPay.IsValid;\r\n\t\t\tresName = validSveaWebPay.ResName;\r\n\t\t\telement = validSveaWebPay.Element;\r\n\t\t} else if (payment.ShowOrgnrSsn()) {\r\n\t\t\tvalidate = true;\r\n\t\t\tvar fieldType = payment.ShowOrgnrSsnField();\r\n\t\t\tswitch (fieldType) {\r\n\t\t\tcase 1:\r\n element = self.findClass(payment, \"genericOrgnr\");\r\n isValid = payment.isOrgnrValid($(\".genericOrgnr\"), false);\r\n resName = \"OrgnummerError\";\r\n break;\r\n\t\t\tcase 2:\r\n element = self.findClass(payment, \"genericSsn\");\r\n isValid = payment.isFodselsnummerValid($(\".genericSsn\"), false);\r\n resName = \"FodselsnummerError\";\r\n break;\r\n\t\t\tcase 3:\r\n element = self.findClass(payment, \"genericBirthdate\");\r\n isValid = payment.isBirthdateValid($(\".genericBirthdate\"), false);\r\n resName = \"FodselsdatoError\";\r\n break;\r\n\t\t\tdefault:\r\n isValid = false;\r\n resName = \"MissingFields\";\r\n break;\r\n\t\t\t}\r\n\t\t} else {\r\n isValid = true;\r\n\t\t}\r\n\r\n\t\tif (validate) {\r\n\t\t\tif (!isValid) {\r\n\t\t\t\tvar errorText = mcWeb.validation.getErrorMessage(\"VALIDATION,\" + resName);\r\n\t\t\t\terrorText.then(function (result) {\r\n\t\t\t\t\tmcWeb.validation.qTipActionShow(element, result, false);\r\n\t\t\t\t\tmcWeb.validation.addErrorClass(element);\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tif (element) {\r\n\t\t\t\t\tmcWeb.validation.setValidCss(element);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn isValid;\r\n\t};\r\n \r\n self.disableOrderButton = function() {\r\n $(\"#McPaymentAddOrderbottom\").attr(\"disabled\", \"disabled\");\r\n };\r\n\r\n self.enableOrderButton = function() {\r\n $(\"#McPaymentAddOrderbottom\").removeAttr(\"disabled\");\r\n };\r\n \r\n self.insertOrder = function (conditionsVM) {\r\n self.disableOrderButton();\r\n self.conditionsVM = conditionsVM;\r\n\t\tvar btnSendOrder = $(\"#McPaymentAddOrderbottom.btn-default.disable\");\r\n\t\tif (btnSendOrder.length > 0) {\r\n\t\t\tself.showErrorMessage($(\"#missing-info\").html());\r\n self.enableOrderButton();\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n if ($(\".hide-zipcode\").length === 0) {\r\n var zipCode = $(\"#carrier-zipcode\");\r\n if (zipCode[0] !== undefined) {\r\n if (zipCode.val().length < 1) {\r\n zipCode.focus();\r\n self.enableOrderButton();\r\n return;\r\n }\r\n }\r\n }\r\n\r\n\t\t$(\"#insert-order-alert\").hide();\r\n\t\tvar registration = mcWeb.customerRegistration.instances[\"checkout-registration\"];\r\n var payment = mcWeb.payments.instances[\"payment-view\"];\r\n\r\n if (typeof registration.registrationVM.epost() === 'string')\r\n registration.registrationVM.epost(registration.registrationVM.epost().toLowerCase());\r\n\t\t\r\n\t\tvar paymentValidationResult = self.validatePayment(payment);\r\n\t\tself.showWaitTemplate();\r\n if (!registration.validateCustomerSelectionType()) {\r\n self.enableOrderButton();\r\n return;\r\n }\r\n\r\n registration.validate().then(function (validationResult) {\r\n\r\n if (!validationResult.success || !paymentValidationResult) {\r\n if (!paymentValidationResult) {\r\n // paymentError\r\n }\r\n else if (registration.requireLogin()) {\r\n //window.location.hash = \"#login\"; // Todo: Endre til en event via PubSub\r\n self.showErrorMessage($(\".text-email-blocked\").html());\r\n } else if (validationResult.invalidElements.length > 0) {\r\n self.scrollToFirstInvalidElement(validationResult.invalidElements[0].elem);\r\n } else {\r\n if (validationResult.message !== null && validationResult.message.length > 0)\r\n self.showErrorMessage(validationResult.message);\r\n }\r\n self.enableOrderButton();\r\n return;\r\n }\r\n\r\n if (!self.salesConditionsAccepted()) {\r\n self.showErrorMessage($(\".sales-cond-warning\").html());\r\n self.enableOrderButton();\r\n return;\r\n }\r\n\r\n registration.registrationVM.saveDeliveryAddressChanges().then(function (saveDeliveryResult) {\r\n\r\n if (saveDeliveryResult === undefined || !saveDeliveryResult.Success) {\r\n self.showErrorMessage(saveDeliveryResult.Message);\r\n return;\r\n }\r\n // Sjekker om SkiAssembly er aktivert og om det er produkter i handlevognen som mangler info\r\n self.service.GetAction(\"ShowSkiAssembly\", null).then(function (result) {\r\n if (result.length > 0) {\r\n self.enableOrderButton();\r\n\r\n if (result === \"mcWeb.SkiAssembly\")\r\n getLibrary(\"skiassembly\").then(() => {\r\n mcWeb.SkiAssembly.load(true);\r\n });\r\n else if (result === \"mcWeb.SkiAttributeAssembly\")\r\n getLibrary(\"skiattributeassembly\").then(() => {\r\n mcWeb.SkiAttributeAssembly.load();\r\n });\r\n else if (result === \"mcWeb.cart.events.onPopupForProductAssembly\") {\r\n PubSub.publish(result.MessageToPublish, result.MessageToPublishData);\r\n }\r\n else {\r\n console.log(result)\r\n alert(\"Error - Cant show ski assembly\");\r\n }\r\n return;\r\n }\r\n\r\n // Viser \"vennligst vent\"-melding\r\n PubSub.publish(mcWeb.lightbox.events.onShowLightbox, { backdrop: \"static\", keyboard: false, show: true });\r\n\r\n var customer = registration.getJsonData(self.conditionsVM);\r\n var paymentData = payment.getJsonData();\r\n var paymentDetails;\r\n\r\n if (paymentData.selectedPayment === 112 || paymentData.selectedPayment === 115 || paymentData.selectedPayment === 168) {\r\n var resourceName = payment.validateSantanderAddress(customer.postnr, customer.poststed, customer.adress);\r\n\r\n if (resourceName !== \"\") {\r\n self.langService.getValue(\"VALIDATION\", resourceName).then(function (value) {\r\n if (value.length > 0)\r\n self.showErrorMessage(value);\r\n });\r\n self.enableOrderButton();\r\n return;\r\n }\r\n\r\n paymentDetails = paymentData.santanderApplicationDetails;\r\n paymentDetails.RegisteredPostCode = paymentData.paymentDetails.RegisteredPostCode;\r\n } else {\r\n paymentDetails = paymentData.paymentDetails;\r\n }\r\n\r\n if (paymentData.paymentDetails.Birthdate !== \"undefined\")\r\n customer.birthDate = paymentData.paymentDetails.Birthdate;\r\n\r\n if (customer.customerType === \"undefined\" && payment.CustomerType() === \"privatkunde\")\r\n customer.customerType = \"private\";\r\n\r\n var registrationVM = mcWeb.customerRegistration.instances['checkout-registration'].registrationVM;\r\n if (registrationVM.deliveryWindow() !== null) {\r\n var deliveryWindow = registrationVM.deliveryWindow()\r\n customer.deliveryWindow = { start: deliveryWindow.start, end: deliveryWindow.end, token: deliveryWindow.token, expiresAt: deliveryWindow.expiresAt };\r\n customer.porterbuddyProduct = deliveryWindow.product;\r\n }\r\n\r\n self.service.PostAction(\"ProcessOrder\", { CustomerData: customer, PaymentDetails: paymentDetails, CartGuid: self.cartGuid, CartName: self.cartName }).then(function (result) {\r\n if (result.ReturnCode === \"Success\") {\r\n\r\n window.location = result.RedirectUrl;\r\n\r\n } else {\r\n self.enableOrderButton();\r\n PubSub.publish(mcWeb.checkout.events.onShowSendOrder, { showBtn: true, disabledBtn: false });\r\n\r\n if (result.ReturnCode === \"ValidatePostalAddressFailed\" & result.ErrorMessageSpecified) {\r\n self.showErrorMessageFromReturnCode(result.ErrorMessage);\r\n }\r\n else if (result.ReturnCode == \"UnsupportedCurrency\") {\r\n var selectCurrencyParam = {\r\n SupportedCurrencies: result.SupportedCurrencies\r\n }\r\n var loginServcie = new WebApiService(\"Login\");\r\n loginServcie.PostAction(\"SelectAnyValidCurrency\", selectCurrencyParam).then(function (changedCurrencyResult) {\r\n\r\n self.showErrorMessage(changedCurrencyResult.Msg);\r\n $(\"#center-popup\").on(\"hidden.bs.modal\", function (e) {\r\n PubSub.publish(mcWeb.cart.events.onChangedCart);\r\n });\r\n });\r\n }\r\n else if (result.ErrorMessageSpecified) {\r\n self.showErrorMessage(result.ErrorMessage);\r\n if (result.ReturnCode === \"ProductValidationFailed\") {\r\n $(\"#center-popup\").on(\"hidden.bs.modal\", function (e) {\r\n PubSub.publish(mcWeb.cart.events.onChangedCart);\r\n });\r\n }\r\n }\r\n else if (result.SecondaryErrorMessageSpecified) {\r\n if (result.UseSecondaryErrorMessageAsReturnCode)\r\n self.showErrorMessageFromReturnCode(result.SecondaryErrorMessage);\r\n else\r\n self.showErrorMessage(result.SecondaryErrorMessage);\r\n }\r\n else if (result.ReturnCode === \"ValidateCustomerFailed\") {\r\n self.showErrorMessage(\"ValidateCustomerFailed\");\r\n }\r\n else {\r\n if (result.ReturnCode === \"SelectedCarrierNoLongerAvailable\")\r\n PubSub.publish(mcWeb.cart.events.onShowShipment, { show: true });\r\n //PubSub.publish(mcWeb.cartsmall.events.onChangedQuantityCartSmall, \"\");\r\n PubSub.publish(mcWeb.shipment.events.reloadShipment, null);\r\n\r\n if (result.ReturnCode === \"SessionNotValid\") result.ReturnCode = \"CurrentSessionHasExpired\";\r\n self.showErrorMessageFromReturnCode(result.ReturnCode);\r\n\r\n if (result.ReturnCode === \"CurrentSessionHasExpired\" || result.ReturnCode === \"ExperianError\" || result.ReturnCode === \"ExperianNoCreditApproval\" ||\r\n result.ReturnCode === \"CampaignInvalid\" || result.ReturnCode === \"CartArchivedOrInserted\") {\r\n $(\"#center-popup\").on(\"hidden.bs.modal\", function (e) {\r\n window.location.reload(true);\r\n });\r\n }\r\n else if (result.ReturnCode === \"CartValueAltered\" || result.ReturnCode === \"GiftcardAmountNeededRefresh\") {\r\n $(\"#center-popup\").on(\"hidden.bs.modal\", function (e) {\r\n PubSub.publish(mcWeb.cart.events.onChangedCart);\r\n });\r\n }\r\n }\r\n }\r\n });\r\n });\r\n });\r\n\t\t})\r\n\t\t.catch(function (error) {\r\n\t\t\t$(\"#checkout-popup\").modal(\"hide\");\r\n self.enableOrderButton();\r\n\t\t\tconsole.log(error);\r\n\t\t});\r\n\t};\r\n\r\n self.salesConditionsAccepted = function() {\r\n var salesCondCheckbox = $(\".checkbox-sales-cond\");\r\n var salesconditions = $(\".sales-conditions\");\r\n salesconditions.removeClass(\"has-error\");\r\n if (salesCondCheckbox.length > 0 && salesconditions.is(\":visible\")) {\r\n if (salesCondCheckbox.prop(\"checked\")) {\r\n return true;\r\n }\r\n } else {\r\n return true;\r\n }\r\n\r\n salesconditions.addClass(\"has-error\");\r\n return false;\r\n };\r\n\r\n\tself.showErrorMessage = function (message) {\r\n\t\tif (message.length > 0)\r\n\t\t\tself.showAlertErrorMessage(message);\r\n\t};\r\n\r\n\tself.showErrorMessageFromReturnCode = function (returnCode) {\r\n\t\tif (returnCode.length === 0)\r\n\t\t\treturn;\r\n\r\n\t\tvar unknownErrorCodes = [\r\n\t\t\t\"CartIsNull\", \"SetCustomerDataFailed\", \"SetCartValuesFailed\",\r\n\t\t\t\"SaveCartFailed\", \"CommitPhoneFailed\", \"BrokenCartReplaced\"\r\n\t\t];\r\n\r\n\t\tif (unknownErrorCodes.indexOf(returnCode) !== -1)\r\n\t\t\treturnCode = \"UnknownError\";\r\n\r\n\t\tself.langService.getValue(\"CheckoutReturnCodes\", returnCode).then(function (value) {\r\n if (value.length > 0) {\r\n var country = self.getParameterByName(\"country\");\r\n if (country) value = value.replace(/{COUNTRY}/gi, country);\r\n\r\n var email = self.getParameterByName(\"email\");\r\n if (email) value = value.replace(/{EMAIL}/gi, email);\r\n\r\n self.showAlertErrorMessage(value);\r\n }\r\n\t\t\telse {\r\n\t\t\t\tself.langService.getValue(\"CheckoutReturnCodes\", \"UnknownError\").then(function (value) {\r\n\t\t\t\t\tif (value.length > 0)\r\n\t\t\t\t\t\tself.showAlertErrorMessage(value);\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tself.showAlertErrorMessage(\"\");\t//TODO: Hide progressdialog\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n self.showAlertErrorMessage = function(message, asHtml) {\r\n var msg = $(\"#error-message-label\");\r\n if (asHtml === true) {\r\n msg.append(message);\r\n } else {\r\n msg.html(message);\r\n }\r\n\r\n self.showTemplate($(\"#popup-error-message\").html());\r\n PubSub.publish(mcWeb.lightbox.events.onShowLightbox, { show: true });\r\n };\r\n\r\n\tself.scrollToFirstInvalidElement = function (element) {\r\n\t\tvar animationTime = 750;\r\n\t\tvar topOffset = 120;\r\n\t\t$(\"html, body\").animate({\r\n\t\t\tscrollTop: $(element).offset().top - topOffset\r\n\t\t}, animationTime);\r\n\t\telement.focus();\r\n };\r\n\r\n\tself.getParameterByName = function (name) {\r\n\t\tname = name.replace(/[\\[]/, \"\\\\[\").replace(/[\\]]/, \"\\\\]\");\r\n\t\tvar regex = new RegExp(\"[\\\\?&]\" + name + \"=([^&#]*)\"),\r\n\t\t\t\tresults = regex.exec(location.search);\r\n\t\treturn results === null ? \"\" : decodeURIComponent(results[1].replace(/\\+/g, \" \"));\r\n\t}\r\n\r\n\tself.showWaitTemplate = function () {\r\n\r\n\t\tvar wait = $(\"#popup-wait\");\r\n\t\tif (wait.length < 1)\r\n\t\t\treturn;\r\n\r\n\t\tself.showTemplate(wait.html());\r\n\t};\r\n\r\n\tself.showTemplate = function (html) {\r\n\r\n\t\tvar template = $(\"#lightbox-placeholder\");\r\n\t\tif (template.length < 1) {\r\n PubSub.publish(mcWeb.checkout.events.onShowSendOrder, { showBtn: false, disabledBtn: false });\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\ttemplate.html(html);\r\n\t};\r\n\r\n\tPubSub.subscribe(mcWeb.cart.events.cartGuid, function (message, data) {\r\n\t\tif (data !== null) {\r\n\t\t\tself.cartName = data.cartName;\r\n\t\t\tself.cartGuid = data.cartGuid;\r\n\t\t}\t\t\r\n });\r\n};\r\n","mcWeb.checkoutConfirmation = new function() {\r\n\r\n\t//Is used for all the new instances \r\n\tthis.instance = new function () { };\r\n\r\n\tthis.checkoutConfirmationObj = function (id, json, jsonSetting) {\r\n\t\tvar $ = jQuery;\r\n\r\n\t\tvar self = this;\r\n\t\tself.id = \"#\" + id;\r\n\t\tself.service = new WebApiService(\"Cart\");\r\n\r\n\t\t//View Model\r\n\t\tself.vm = new function () {\r\n\t\t\tvar view = this;\r\n\t\t\tview.referenceNo = ko.observable();\r\n\t\t}; /*END viewModel*/\r\n\r\n\t\tself.load = function (obj, setting) {\r\n\t\t\tif (obj == null)\r\n\t\t\t\treturn;\r\n\r\n\t\t\tself.vm.referenceNo(obj.ReferenceNo);\r\n\t\t};\r\n\r\n\t\t//Bind viewModel\r\n\t\tko.applyBindings(self.vm, document.getElementById(id));\r\n\t\tself.load(json, jsonSetting);\r\n\t};\r\n};","mcWeb.checkoutFooterView = new function () {\r\n\r\n\tthis.events = {\r\n\t}\r\n\r\n\tthis.vm = function (id) {\r\n var self = this;\r\n\t\tthis.id = \"#\" + id;\r\n this.conditionsStatus = {\r\n isFunctionalConditionAccepted: ko.observable(false),\r\n acceptDocuments: ko.observableArray([]),\r\n usageArea: 3,\r\n refCondVm: null\r\n };\r\n\r\n this.isOrderRefRequired = false;\r\n \r\n this.load = function (data, settings) {\r\n PubSub.subscribe(mcWeb.conditions.events.onAcceptChange, function (evt, conditionStatus) {\r\n if (self.conditionsStatus.usageArea == conditionStatus.usageArea) {\r\n\r\n if (conditionStatus.functionalConditionIsAccepted === null) {\r\n self.conditionsStatus.isFunctionalConditionAccepted(true);\r\n }\r\n else {\r\n self.conditionsStatus.isFunctionalConditionAccepted(conditionStatus.functionalConditionIsAccepted);\r\n }\r\n self.conditionsStatus.acceptDocuments(conditionStatus.acceptDocuments);\r\n self.conditionsStatus.refCondVm = conditionStatus.vm;\r\n }\r\n });\r\n PubSub.subscribe(mcWeb.cart.events.onOrderRefReqChange, function (evt, isOrderRefRequired) {\r\n self.isOrderRefRequired = isOrderRefRequired;\r\n\r\n var el = jQuery('#McPaymentAddOrderbottom');\r\n\r\n if (self.isOrderRefRequired) {\r\n el.tooltip('enable');\r\n el.tooltip('show');\r\n el.blur();\r\n } else {\r\n el.tooltip('hide');\r\n el.tooltip('disable');\r\n } \r\n\r\n });\r\n };\r\n \r\n this.insertOrder = function (source) {\r\n if (self.isOrderRefRequired) {\r\n return;\r\n }\r\n\r\n var condsForProcessing = {\r\n isFunctionalConditionAccepted: self.conditionsStatus.isFunctionalConditionAccepted,\r\n acceptDocuments: self.conditionsStatus.acceptDocuments(),\r\n usageArea: self.conditionsStatus.usageArea\r\n };\r\n\r\n if (self.conditionsStatus == null || self.conditionsStatus.acceptDocuments == null || self.conditionsStatus.acceptDocuments().length <= 0) {\r\n condsForProcessing.isFunctionalConditionAccepted(true);\r\n if (source === 'vipps')\r\n return true;\r\n mcWeb.checkout.insertOrder(condsForProcessing);\r\n return;\r\n }\r\n\r\n if (self.conditionsStatus.isFunctionalConditionAccepted()) {\r\n if (source === 'vipps')\r\n return true;\r\n mcWeb.checkout.insertOrder(condsForProcessing);\r\n }\r\n else {\r\n if (self.conditionsStatus.refCondVm !== null) {\r\n if (self.conditionsStatus.refCondVm.highlightRequired(\"checkoutconditions\")) {\r\n mcWeb.validation.qTipActionShowClickHide(self.id + \" #McPaymentAddOrderbottom\",\r\n jQuery(\".langtext-conditions-required\").length > 0 ? jQuery(\".langtext-conditions-required\")[0].innerText : \"\");\r\n }\r\n } \r\n }\r\n };\r\n\t};\r\n};\r\n","mcWeb.payments = jQuery.extend(mcWeb.payments, new function () {\r\n\r\n this.vm = function (id) {\r\n \r\n // Se også LoginCheckoutView.js, subscribe(onShowHideLogin)\r\n var KCO_BETBETID = 167;\r\n var SVEA_PARTPAYMENT = 128;\r\n var ARVATO_PARTPAYMENT = 107;\r\n var ARVATO_BUSINESS = 95;\r\n var NETS_EASY_BETBETID = 183;\r\n var VIPPS_BETBETID = 186;\r\n var SCO_BETBETID = 187;\r\n\r\n this.netsEasyCheckout = null;\r\n this.netsEasyCheckoutHtml = null;\r\n this.betBetIdList = \"\";\r\n\r\n var $ = jQuery;\r\n var self = this;\r\n this.id = \"#\" + id;\r\n this.settings = null;\r\n self.isBound = false;\r\n self.isPublishMode = false;\r\n var publishModeBody = $(\"body.publish-mode\");\r\n if (publishModeBody !== undefined && publishModeBody !== null && publishModeBody.length > 0)\r\n self.isPublishMode = true;\r\n\r\n self.kcoValidateCountry = true;\r\n\r\n self.netsEasyCheckoutUrl = \"\";\r\n self.netsEasyProduction = false;\r\n self.netsEasyEnabled = false;\r\n self.cartName = null;\r\n self.cartGuid = null;\r\n self.service = new WebApiService(\"Payment\");\r\n self.waitCheckoutSnippet = false;\r\n self.langService = new LanguageService();\r\n self.conditionsVM = null;\r\n self.cancelEnter = function () {\r\n if (event.keyCode === 13) {\r\n event.preventDefault();\r\n } else return true;\r\n };\r\n\r\n this.load = function (data, settings, isPaymentChange) {\r\n if (settings !== null && settings) {\r\n self.settings = settings;\r\n }\r\n\r\n getLibrary(\"mcWeb.customerRegistration\").then(() => {\r\n if (mcWeb.customerRegistration.instances === undefined || mcWeb.customerRegistration.instances[\"checkout-registration\"] === undefined) {\r\n PubSub.subscribe(mcWeb.events.customerRegistration.onCustomerRegLoaded, function () {\r\n self.registration = mcWeb.customerRegistration.instances['checkout-registration'];\r\n self.innerLoad(data, settings, isPaymentChange);\r\n \r\n });\r\n }\r\n else {\r\n self.registration = mcWeb.customerRegistration.instances['checkout-registration'];\r\n self.innerLoad(data, settings, isPaymentChange);\r\n \r\n }\r\n \r\n });\r\n }\r\n this.innerLoad = function (data, settings, isPaymentChange) {\r\n PubSub.publish(mcWeb.payments.events.onShowUpdateIcon, null);\r\n\r\n \r\n\r\n if (data === null || !data) {\r\n self.service.GetAction(\"GetPaymentList\", null).then(function (result) {\r\n self.innerLoad(result, null, isPaymentChange);\r\n });\r\n\r\n return;\r\n }\r\n\r\n self.Porterbuddy = self.settings.Porterbuddy;\r\n self.CustomerCountryId = self.settings.CustomerCountryId;\r\n\r\n self.klarnaShowCustomerTypeSelection(false);\r\n self.klarnaShippingAssistantEnabled(false);\r\n self.klarnaShowChangedCustomerTypeMessage(false);\r\n\r\n if (self.settings.Klarna) {\r\n self.klarnaShowCustomerTypeSelection(self.settings.Klarna.ShowCustomerTypeSelection);\r\n self.klarnaShippingAssistantEnabled(self.settings.Klarna.ShippingAssistantEnabled);\r\n self.klarnaShowChangedCustomerTypeMessage(self.settings.Klarna.ShowChangedCustomerTypeMessage);\r\n }\r\n\r\n self.sveaCheckoutShowCustomerTypeSelection(false);\r\n\r\n if (self.settings.SveaCheckout) {\r\n self.sveaCheckoutShowCustomerTypeSelection(self.settings.SveaCheckout.ShowCustomerTypeSelection);\r\n }\r\n\r\n self.vippsExpressCheckoutInCart(false);\r\n self.vippsShowCustomerTypeSelection(false);\r\n self.vippsAllowBusinessCustomer(false);\r\n\r\n if (self.settings.Vipps) {\r\n if (!self.isLoggedIn() && !self.registration.registrationVM.readOnly())\r\n self.vippsExpressCheckoutInCart(self.settings.Vipps.ExpressCheckoutInCart);\r\n self.vippsShowCustomerTypeSelection(self.settings.Vipps.ShowCustomerTypeSelection);\r\n self.vippsAllowBusinessCustomer(self.settings.Vipps.AllowBusinessCustomer);\r\n }\r\n\r\n if (self.settings.NetsEasy) {\r\n self.netsEasyEnabled = self.settings.NetsEasy.Enabled;\r\n self.netsEasyProduction = self.settings.NetsEasy.Production;\r\n self.netsEasyShowCustomerTypeSelection(self.settings.NetsEasy.ShowCustomerTypeSelection);\r\n self.netsEasyCheckoutUrl = self.settings.NetsEasy.CheckoutUrl;\r\n }\r\n self.setNetsEasyCheckoutScriptSource();\r\n\r\n if (self.registration.registrationVM.readOnly() === true) {\r\n var experianRemoved = false;\r\n if (self.registration.registrationVM.hideExperianBetBet()) {\r\n\r\n var expIndex = -1;\r\n if (data.PaymentTypes !== null) {\r\n for (var i = 0; i < data.PaymentTypes.length; i++) {\r\n if (data.PaymentTypes[i].PaymentId === self.registration.registrationVM.experianBetBetId())\r\n expIndex = i;\r\n }\r\n }\r\n\r\n if (expIndex !== -1) {\r\n data.PaymentTypes.splice(expIndex, 1);\r\n experianRemoved = true;\r\n }\r\n\r\n } else if (self.registration.registrationVM.hideOrgnrSsn()) {\r\n self.ShowOrgnrSsn(false);\r\n self.ShowOrgnrSsnField(0);\r\n }\r\n }\r\n\r\n // Vi sjekker om det er gjort endringer på betalingsmåter som skal vises \r\n // og setter kun PaymentTypes dersom det er en endring. Dette for å hindre \r\n // at hele paymentviewet unødvendig lastes på nytt. \r\n if (self.PaymentTypes() && data.PaymentTypes && self.PaymentTypes().length == data.PaymentTypes.length) {\r\n for (var i = 0; i < data.PaymentTypes.length; i++) {\r\n if (self.PaymentTypes()[i].PaymentId !== data.PaymentTypes[i].PaymentId) {\r\n self.PaymentTypes(data.PaymentTypes);\r\n break;\r\n }\r\n }\r\n }\r\n else {\r\n self.PaymentTypes(data.PaymentTypes);\r\n }\r\n\r\n self.KlarnaCustomerType(data.CustomerType);\r\n self.CustomerType(data.CustomerType);\r\n\r\n self.addBindings();\r\n self.isLoggedIn(data.IsLoggedIn);\r\n self.BirthDate(data.BirthDate);\r\n\r\n var paymentMethodSelected = false;\r\n var hasKlarnaCheckout = false;\r\n let doLoadCustomerForm = false;\r\n if (data.PaymentTypes !== null) {\r\n for (var i = 0; i < data.PaymentTypes.length; i++) {\r\n\r\n if (data.PaymentTypes[i].PaymentId === KCO_BETBETID) {\r\n hasKlarnaCheckout = true;\r\n }\r\n\r\n if (data.PaymentTypes[i].PaymentId === NETS_EASY_BETBETID) {\r\n hasKlarnaCheckout = true;\r\n }\r\n\r\n if (data.PaymentTypes[i].PaymentId === SCO_BETBETID) {\r\n hasKlarnaCheckout = true;\r\n }\r\n\r\n if (experianRemoved === true) {\r\n self.selectPaymentType(data.PaymentTypes[i]);\r\n paymentMethodSelected = true;\r\n experianRemoved = false;\r\n }\r\n\r\n if (data.PaymentTypes[i].PaymentId === data.SelectedId) {\r\n self.selectPaymentType(data.PaymentTypes[i]);\r\n doLoadCustomerForm = true;\r\n //moved loadCustomerForm because we haven't applied the bindings yet\r\n paymentMethodSelected = true;\r\n }\r\n }\r\n }\r\n\r\n // Vi oppdaterer visningen av betalingsmåtene dersom listen over betalingsmåter er endret siden forrige visning\r\n if (data.PaymentList !== self.betBetIdList) {\r\n //console.log(\"Liste med BetBet er endret\");\r\n self.betBetIdList = data.PaymentList;\r\n PubSub.publish(mcWeb.payments.events.reloadPayments, \"reloadPayments\");\r\n }\r\n\r\n if (paymentMethodSelected === false) {\r\n console.log('Advarsel: Ingen betalingsmåter er aktivert for denne kunden!');\r\n }\r\n PubSub.publish(mcWeb.payments.events.onHideUpdateIcon, null);\r\n\r\n if (!self.isBound) {\r\n self.showCustomerRegButtonPrivate = ko.computed(function () {\r\n if (self.registration === undefined || self.registration.registrationVM === undefined)\r\n return false;\r\n\r\n return self.registration.registrationVM.customerType() === 'business' && !self.registration.registrationVM.readOnly() && !self.registration.registrationVM.isLoggedIn() && !self.registration.registrationVM.onlyBusiness();\r\n });\r\n\r\n self.showCustomerRegButtonBusiness = ko.computed(function () {\r\n if (self.registration === undefined || self.registration.registrationVM === undefined)\r\n return false;\r\n\r\n return self.registration.registrationVM.customerType() === 'private' && !self.registration.registrationVM.readOnly() && !self.registration.registrationVM.isLoggedIn() && !self.registration.registrationVM.onlyPrivate();\r\n });\r\n\r\n let vmNode = document.getElementById(self.settings.VMID);\r\n ko.applyBindings(self, vmNode);\r\n self.isBound = true;//prevent multiple bindings of this VM\r\n }\r\n\r\n self.lockPorterbuddyRecipientInfo(data.SelectedId);\r\n\r\n if (doLoadCustomerForm) {\r\n self.loadCustomerForm(data.SelectedId, hasKlarnaCheckout, isPaymentChange);\r\n }\r\n };\r\n\r\n this.setNetsEasyCheckoutScriptSource = function () {\r\n if (!self.netsEasyEnabled) {\r\n $('#netseasy-checkout-script').hide();\r\n return;\r\n }\r\n\r\n $('#netseasy-checkout-script').show();\r\n $('#netseasy-checkout-script').attr(\"src\", self.netsEasyCheckoutUrl);\r\n };\r\n\r\n this.highlightRequiredConditions = function () {\r\n if (self.conditionsVM)\r\n self.conditionsVM.highlightRequired(\"checkoutconditions\");\r\n };\r\n\r\n this.addBindings = function () {\r\n $(document).on('shown.bs.tab', 'a[href=\"#97\"]', function (e) {\r\n });\r\n };\r\n\r\n this.hasCartItems = ko.observable(false);\r\n this.functionalConditionsAccepted = ko.observable(true); //backwards compatibility\r\n this.showPayments = ko.computed(function () {\r\n return self.hasCartItems();\r\n }, this);\r\n this.PaymentTypes = ko.observableArray();\r\n\r\n this.selectedPaymentOld = ko.observable();\r\n this.selectedPayment = ko.observable();\r\n\r\n this.selectedPayment.subscribe(function (newValue) {\r\n if (self.selectedPaymentOld() !== newValue) {\r\n self.selectedPaymentOld(newValue);\r\n self.selectedPayment(newValue);\r\n PubSub.publish(mcWeb.payments.events.onSelectedPayment, newValue);\r\n }\r\n });\r\n\r\n this.KlarnaCampaigns = ko.observableArray();\r\n this.Fodselsnummer = ko.observable();\r\n this.RegisteredZip = ko.observable();\r\n this.BirthDate = ko.observable();\r\n this.BirthDate.subscribe(function (newValue) {\r\n if (newValue !== null && newValue.length > 0) {\r\n newValue = newValue.replace(/[^\\d]/, '');\r\n self.BirthDate(newValue);\r\n\r\n //Test date: 011299 \r\n if (self.isValidDateddmmyy(newValue)) {\r\n self.service.GetAction(\"UpdateBirthDate\", { date: newValue }).then(function (result) {\r\n var input = $('.col-birthdate .genericBirthdate');\r\n var symbol = $('.col-birthdate i');\r\n\r\n if (result === true) {\r\n symbol.addClass('icon-check green');\r\n input.removeClass('validation_error');\r\n } else {\r\n symbol.removeClass('icon-check green');\r\n input.addClass('validation_error');\r\n }\r\n });\r\n }\r\n }\r\n });\r\n\r\n this.Orgnr = ko.observable();\r\n this.Orgnr.subscribe(function (data) {\r\n PubSub.publish(mcWeb.payments.events.updateOrgNr, data);\r\n });\r\n\r\n self.selectedSveaPaymentPlanOptionRadio = ko.observable();\r\n\r\n this.showSveaPaymentPlanOptionInfo = function (campaignCode) {\r\n if (self.selectedSveaPaymentPlanOptionRadio() == campaignCode)\r\n return true;\r\n return false;\r\n }\r\n\r\n this.formatMoney = function (money) {\r\n return money;\r\n };\r\n\r\n this.formatInterest = function (interest) {\r\n return interest + \" %\";\r\n };\r\n\r\n this.CustomerCountryId = 1;\r\n this.GothiaTOS = ko.observable();\r\n this.GothiaRequireCustomerConfirmation = ko.observable();\r\n this.AcceptedTermsAndConditions = ko.observable();\r\n this.ShowOrgnrSsn = ko.observable();\r\n this.ShowOrgnrSsnField = ko.observable();\r\n this.KlarnaCustomerType = ko.observable();\r\n this.CustomerType = ko.observable();\r\n this.showRefreshSpin = ko.observable(false);\r\n this.showRefreshSpinMargin = ko.observable(0);\r\n this.isLoggedIn = ko.observable(false);\r\n this.SveaWebPayPaymentPlanOptions = ko.observableArray();\r\n this.GetSveaWebPayPaymentPlanOptions = ko.observable();\r\n this.klarnaShowCustomerTypeSelection = ko.observable(false);\r\n this.klarnaShippingAssistantEnabled = ko.observable(false);\r\n this.klarnaShowChangedCustomerTypeMessage = ko.observable(false);\r\n this.vippsExpressCheckoutInCart = ko.observable(false);\r\n this.vippsShowCustomerTypeSelection = ko.observable(false);\r\n this.vippsAllowBusinessCustomer = ko.observable(false);\r\n this.sveaCheckoutShowCustomerTypeSelection = ko.observable(false);\r\n this.netsEasyShowCustomerTypeSelection = ko.observable(false);\r\n this.Porterbuddy = false;\r\n\r\n this.showCustomerSelection = function () {\r\n switch (self.selectedPayment()) {\r\n case 186: //Vipps\r\n return self.vippsExpressCheckoutInCart() && self.vippsShowCustomerTypeSelection();\r\n break;\r\n case 167: //KCO\r\n return self.klarnaShowCustomerTypeSelection();\r\n break;\r\n case 183: //Easy\r\n return self.netsEasyShowCustomerTypeSelection();\r\n break;\r\n }\r\n return true;\r\n };\r\n\r\n //Set the hight of \"update icon\"\r\n this.showRefreshSpin.subscribe(function () {\r\n var hight = parseFloat($(\"#payments.payments\").height());\r\n if (hight !== NaN && hight > 1) {\r\n hight = ((hight / 2) - 30);\r\n if (hight < 5)\r\n hight = 5;\r\n self.showRefreshSpinMargin(hight + 'px');\r\n }\r\n });\r\n\r\n var hasCartItem = true;\r\n PubSub.subscribe(mcWeb.cart.events.hasCartItems, function (message, data) {\r\n if (data === false) {\r\n self.hasCartItems(false);\r\n hasCartItem = false;\r\n } else {\r\n hasCartItem = true;\r\n }\r\n\r\n });\r\n\r\n getLibrary(\"mcWeb.customerRegistration\").then(() => {\r\n PubSub.subscribe(mcWeb.events.customerRegistration.onChangedCustomerData, function (message, data) {\r\n if (data !== null && data.isLoggedIn !== null) {\r\n self.isLoggedIn(data.isLoggedIn);\r\n }\r\n if (hasCartItem === false)\r\n self.hasCartItems(false);\r\n else\r\n self.hasCartItems(true);\r\n\r\n self.RegisterKlarnaListener();\r\n });\r\n });\r\n\r\n PubSub.subscribe(mcWeb.conditions.events.onAcceptChange, function (evt, conditionStatus) {\r\n if (conditionStatus.usageArea === 3) {\r\n var previousFunctionalAcceptanceStatus = self.functionalConditionsAccepted();\r\n self.conditionsVM = conditionStatus.vm;\r\n if (conditionStatus.functionalConditionIsAccepted === null) {\r\n self.functionalConditionsAccepted(true);\r\n } else if (conditionStatus.acceptDocuments === null || conditionStatus.acceptDocuments.length <= 0) {\r\n self.functionalConditionsAccepted(true);\r\n }\r\n else {\r\n self.functionalConditionsAccepted(conditionStatus.functionalConditionIsAccepted);\r\n }\r\n if (self.functionalConditionsAccepted()) {\r\n if (self.selectedPayment() === KCO_BETBETID || self.selectedPayment() === NETS_EASY_BETBETID || self.selectedPayment() === SCO_BETBETID ||\r\n (self.selectedPayment() === VIPPS_BETBETID && (!self.vippsAllowBusinessCustomer() || self.CustomerType() !== 'bedriftskunde'))) {\r\n PubSub.publish(mcWeb.payments.events.onShowUpdateIcon, null);\r\n if (previousFunctionalAcceptanceStatus !== self.functionalConditionsAccepted()) {\r\n if (!self.KCOisLoaded()) {\r\n self.KCOisLoaded(true);\r\n self.loadCustomerForm(self.selectedPayment(), true);\r\n } else {\r\n self.processPaymentMethods(self.selectedPayment());\r\n }\r\n self.UpdateCheckoutCartItems();\r\n }\r\n\r\n if (self.selectedPayment() === VIPPS_BETBETID)\r\n $('.payment-title').show();\r\n\r\n PubSub.publish(mcWeb.payments.events.onHideUpdateIcon, null);\r\n\r\n }\r\n } else {\r\n if (self.selectedPayment() === KCO_BETBETID || self.selectedPayment() === NETS_EASY_BETBETID || self.selectedPayment() === SCO_BETBETID ||\r\n (self.selectedPayment() === VIPPS_BETBETID && self.vippsExpressCheckoutInCart() && (!self.vippsAllowBusinessCustomer() || self.CustomerType() !== 'bedriftskunde'))) {\r\n //if (previousFunctionalAcceptanceStatus != self.functionalConditionsAccepted())\r\n self.highlightRequiredConditions();\r\n\r\n if (self.selectedPayment() === VIPPS_BETBETID)\r\n $('.payment-title').hide();\r\n }\r\n self.KCOisLoaded(false);\r\n }\r\n }\r\n });\r\n\r\n getLibrary(\"mcWeb.loginCheckout\").then(() => {\r\n PubSub.subscribe(mcWeb.loginCheckout.events.onShowLoginPassword, function (message, paymentId) {\r\n self.ShowOrgnrSsn(false);\r\n });\r\n });\r\n\r\n this.loadCustomerForm = function (paymentId, hasKlarnaCheckout, isPaymentChange) {\r\n\r\n var el = $(\"#mcweb-customerregistration-checkout-registration\");\r\n\r\n var tabContent = $(\".tab-content\");\r\n var tabHeight = tabContent.height();\r\n tabContent.css('min-height', tabHeight + 'px');\r\n var form = null;\r\n\r\n if (!self.isPublishMode) {//gaia windows fail when we attach/detach the \r\n form = el.detach();\r\n }\r\n\r\n $('#payments-tab-nav a[href=\"#' + paymentId + '\"]').tab('show');\r\n self.selectedPayment(paymentId);\r\n if (!self.isPublishMode) {\r\n form.appendTo(\"#\" + paymentId);\r\n }\r\n\r\n $(\"#mcweb-customerregistration-checkout-registration\").show();\r\n\r\n tabContent.animate({ \"min-height\": \"250px\" }, { queue: false, duration: 800 });\r\n\r\n var checkout = $('.checkout');\r\n var nav = $('#payments-tab-nav');\r\n\r\n if (hasKlarnaCheckout) {\r\n nav.show();\r\n checkout.removeClass('l-out').addClass('l-in');\r\n }\r\n\r\n if (self.isLoggedIn() || paymentId === KCO_BETBETID || paymentId === NETS_EASY_BETBETID || paymentId === SCO_BETBETID ||\r\n (paymentId === VIPPS_BETBETID && self.vippsExpressCheckoutInCart() && (!self.vippsAllowBusinessCustomer() || self.CustomerType() !== 'bedriftskunde'))) {\r\n\r\n if (paymentId === KCO_BETBETID || paymentId === NETS_EASY_BETBETID || paymentId === SCO_BETBETID ||\r\n (paymentId === VIPPS_BETBETID && !self.isLoggedIn())) {\r\n checkout.removeClass('l-in').addClass('l-out');\r\n PubSub.publish(mcWeb.checkout.events.onShowSendOrder, { showBtn: false, disabledBtn: false, showPrice: false, showSalesConditions: false });\r\n } else {\r\n checkout.removeClass('l-out').addClass('l-in');\r\n PubSub.publish(mcWeb.checkout.events.onShowSendOrder, { showBtn: true, disabledBtn: false, showPrice: true, showSalesConditions: true });\r\n }\r\n\r\n nav.show();\r\n\r\n if (!self.functionalConditionsAccepted() && paymentId === VIPPS_BETBETID) {\r\n $('.payment-title').hide();\r\n } else {\r\n $('.payment-title').show();\r\n }\r\n\r\n $('.tab-content').removeClass('tab-radius');\r\n\r\n //if (paymentId === NETS_EASY_BETBETID && self.netsEasyCheckout !== undefined && self.netsEasyCheckout === null)\r\n self.processPaymentMethods(paymentId, isPaymentChange);\r\n\r\n } else {\r\n PubSub.publish(mcWeb.checkout.events.onShowSendOrder, { showBtn: true, disabledBtn: true, showPrice: true, showSalesConditions: true });\r\n\r\n checkout.removeClass('l-out').addClass('l-in');\r\n PubSub.publish(mcWeb.loginCheckout.events.onShowHideLogin, paymentId);\r\n }\r\n\r\n self.getGothiaAccountTos(paymentId);\r\n self.getSveaWebPayPaymentPlanOptions(paymentId);\r\n\r\n PubSub.publish(mcWeb.payments.events.onHideUpdateIcon, null);\r\n\r\n if (!!mcWeb.inlineEditor)\r\n mcWeb.inlineEditor.init(true);\r\n\r\n //}); //el.slideUp\r\n };\r\n\r\n this.KCOisLoaded = ko.observable(false);\r\n\r\n this.selectPaymentType = function (paymentType) {\r\n var data = { paymentId: paymentType.PaymentId, paymentText: paymentType.PaymentText };\r\n self.service.GetAction(\"SelectPayment\", data).then(function (result) {\r\n PubSub.publish(mcWeb.cart.events.onChangedCart, null);\r\n });\r\n };\r\n\r\n this.handlePaymentChange = function (paymentType) {\r\n PubSub.publish(mcWeb.payments.events.onShowUpdateIcon, null);\r\n $('.qtip').qtip('destroy', true);\r\n\r\n // Vipps er ikke tilgjengelig for bedriftskunder\r\n if (paymentType.PaymentId === VIPPS_BETBETID && self.vippsExpressCheckoutInCart() && (!self.vippsAllowBusinessCustomer() || self.CustomerType() !== 'bedriftskunde'))\r\n self.clickPrivate();\r\n\r\n self.selectedPayment(paymentType.PaymentId);\r\n\r\n self.loadCustomerForm(paymentType.PaymentId, null, true);\r\n\r\n self.lockPorterbuddyRecipientInfo(paymentType.PaymentId);\r\n\r\n if (paymentType.PaymentId === KCO_BETBETID || paymentType.PaymentId === NETS_EASY_BETBETID || paymentType.PaymentId === SCO_BETBETID ||\r\n (paymentType.PaymentId === VIPPS_BETBETID && self.vippsExpressCheckoutInCart() && (!self.vippsAllowBusinessCustomer() || self.CustomerType() !== 'bedriftskunde'))) {\r\n self.KCOisLoaded(true);\r\n if (!self.functionalConditionsAccepted())\r\n self.highlightRequiredConditions();\r\n }\r\n self.selectPaymentType(paymentType);//this will publish onChangedCart event, no need to publish an extra identical event \r\n };\r\n\r\n this.lockPorterbuddyRecipientInfo = function (paymentId) {\r\n if (typeof porterbuddy !== 'undefined' && typeof porterbuddy.setRecipientInfoLocked === 'function') {\r\n if (paymentId === SCO_BETBETID || paymentId === KCO_BETBETID)\r\n porterbuddy.setRecipientInfoLocked(true);\r\n else if (paymentId === NETS_EASY_BETBETID)\r\n porterbuddy.setRecipientInfoLocked(false);\r\n else\r\n porterbuddy.setRecipientInfoLocked(false);\r\n }\r\n };\r\n\r\n this.getJsonData = function () {\r\n var campaignCode = '';\r\n if (self.selectedPayment() === SVEA_PARTPAYMENT) campaignCode = self.selectedSveaPaymentPlanOptionRadio();\r\n\r\n var orgnrTemp = self.Orgnr();\r\n if (self.selectedPayment() === ARVATO_BUSINESS) {\r\n orgnrTemp = self.Fodselsnummer();\r\n }\r\n var birthdate = 'undefined';\r\n if (self.ShowOrgnrSsn()) {\r\n birthdate = self.BirthDate();\r\n }\r\n var paymentDetails = {\r\n SocialSecurityNumber: self.Fodselsnummer(),\r\n CampaignCode: campaignCode,\r\n AcceptCreditCheck: self.AcceptedTermsAndConditions(),\r\n OrgNumber: orgnrTemp,\r\n Birthdate: birthdate,\r\n RegisteredPostCode: self.RegisteredZip()\r\n };\r\n\r\n return {\r\n selectedPayment: self.selectedPayment(),\r\n paymentDetails: paymentDetails\r\n };\r\n };\r\n\r\n this.updatePaymentWithPBAddress = function (recipientInfo) {\r\n var paymentType = self.selectedPayment();\r\n\r\n if (!paymentType)\r\n return;\r\n\r\n var provider = \"\";\r\n switch (paymentType) {\r\n case KCO_BETBETID:\r\n provider = \"KlarnaCheckout\";\r\n break;\r\n case NETS_EASY_BETBETID:\r\n provider = \"NetsEasy\";\r\n break;\r\n case VIPPS_BETBETID:\r\n provider = \"Vipps\";\r\n break;\r\n case SCO_BETBETID:\r\n provider = \"Svea\";\r\n break;\r\n }\r\n\r\n var addressLine = recipientInfo.streetAddress;\r\n var zipCode = recipientInfo.postCode;\r\n var email = recipientInfo.email;\r\n var req = { Provider: provider, AddressLine: addressLine, ZipCode: zipCode, Email: email };\r\n\r\n self.service.PostAction(\"UpdatePorterbuddyDeliveryAddress\", req).then(function (result) {\r\n if (result === null || result.length < 1) {\r\n console.log(\"Oppdatering av adresse feilet\");\r\n }\r\n });\r\n }\r\n\r\n this.validateSveaWebPay = function (payment) {\r\n var paymentId = payment.selectedPayment();\r\n var resName = \"\";\r\n var element;\r\n\r\n if (self.CustomerType() === 'bedriftskunde') {\r\n element = self.findClass(paymentId, \"SveaWebPay_OrgNo\", \"input\");\r\n if (!payment.isOrgnrValid($(\".SveaWebPay_OrgNo\"), false)) return { IsValid: false, ResName: \"OrgnummerError\", Element: element }\r\n else mcWeb.validation.setValidCss(element);\r\n } else {\r\n element = self.findClass(paymentId, \"SveaWebPay_PersonalId\", \"input\");\r\n if (!payment.isFodselsnummerValid($(\".SveaWebPay_PersonalId\"), false)) return { IsValid: false, ResName: \"FodselsnummerError\", Element: element }\r\n else mcWeb.validation.setValidCss(element);\r\n }\r\n\r\n if (paymentId === 128) {\r\n var radioButtonListArray = $(\"input[name='sveaPaymentPlanOptionRadio']\");\r\n var checked = false;\r\n\r\n for (var i = 0; i < radioButtonListArray.length; i++) {\r\n if (radioButtonListArray[i].checked)\r\n checked = true;\r\n }\r\n\r\n if (!checked)\r\n return { IsValid: false, ResName: \"SveaPaymentPlanOptionNotSet\", Element: radioButtonListArray[0] };\r\n }\r\n\r\n return { IsValid: true, ResName: resName, Element: element };\r\n };\r\n\r\n this.findClass = function (paymentId, cssClass, type) {\r\n try {\r\n var paymentDiv = $(\"div[id=\" + paymentId + \"]\");\r\n var toFind = type + \"[class*='\" + cssClass + \"']\";\r\n var found = paymentDiv.find(toFind);\r\n return found;\r\n } catch (e) {\r\n return null;\r\n }\r\n };\r\n\r\n\r\n this.getSveaWebPayPaymentPlanOptions = function (paymentId) {\r\n if (paymentId === SVEA_PARTPAYMENT) {\r\n PubSub.publish(mcWeb.payments.events.onShowUpdateIcon, null);\r\n self.service.GetAction(\"GetSveaWebPayPaymentPlanOptions\", null).then(function (result) {\r\n PubSub.publish(mcWeb.payments.events.onHideUpdateIcon, null);\r\n self.SveaWebPayPaymentPlanOptions(JSON.parse(result));\r\n });\r\n }\r\n };\r\n\r\n this.getGothiaAccountTos = function (paymentId) {\r\n if (paymentId === ARVATO_PARTPAYMENT) {\r\n PubSub.publish(mcWeb.payments.events.onShowUpdateIcon, null);\r\n self.service.GetAction(\"GetAccountTermsAndConditions\", null).then(function (result) {\r\n PubSub.publish(mcWeb.payments.events.onHideUpdateIcon, null);\r\n self.GothiaTOS(result.TermsAndConditions);\r\n self.GothiaRequireCustomerConfirmation(result.RequireCustomerConfirmation);\r\n });\r\n }\r\n };\r\n\r\n this.gothiaShowTermsAndConditions = function () {\r\n var generator = window.open('', 'gothiaTos', 'height=600,width=730,location=0,menubar=0');\r\n generator.document.write(self.GothiaTOS());\r\n generator.document.close();\r\n };\r\n\r\n this.getFakturaGebyr = function () {\r\n return self.service.GetAction(\"GetFakturaGebyr\", null);\r\n };\r\n\r\n this.isFodselsnummerValid = function (element, klarna) {\r\n var regEx = null;\r\n\r\n if (self.CustomerCountryId === 1) //Norge\r\n regEx = /^[0-9]{2}[0,1][0-9][0-9]{2}[ ]?[0-9]{5}$/;\r\n else if (self.CustomerCountryId === 2) //Sverige\r\n regEx = /^([0-9]{2})?[0-9]{2}[0-1][0-9][0-9]{2}[-+]?[0-9]{4}$/;\r\n else if (self.CustomerCountryId === 3) //Danmark\r\n regEx = /^[0-9]{2}[0,1][0-9][0-9]{2}[0-9]{4}$/;\r\n else if (self.CustomerCountryId === 4) //Finland\r\n regEx = /^[0-9]{2}\\.?[0,1][0-9]\\.?[0-9]{2}[-+A][0-9]{3}[0-9A-Z]{1}$/;\r\n\r\n if (regEx === null) return true;\r\n return regEx.test(element.val());\r\n };\r\n\r\n this.isZipCodeValid = function (element) {\r\n if (element.val().length <= 0) return false;\r\n return true;\r\n };\r\n\r\n this.isZipCodeValidFormat = function (element, landId) {\r\n var zipCode = element.val();\r\n var regEx = /^\\d{4}$/;\r\n if (zipCode.match(regEx) !== null)\r\n return true;\r\n return false;\r\n };\r\n\r\n this.isPhoneValidFormat = function (element, landId) {\r\n var phone = element.val();\r\n var regEx = /^\\d{8}$/;\r\n if (phone.match(regEx) !== null)\r\n return true;\r\n return false;\r\n };\r\n\r\n this.isValidDateddmmyy = function (dateString) {\r\n var regEx = /\\d{2}\\d{2}\\d{2}/;\r\n if (dateString.match(regEx) !== null) {\r\n return true; //var format = self.ddmmyy_to_utcdate(dateString);\r\n //return self.isValidYear(format);\r\n }\r\n return false;\r\n };\r\n\r\n this.isOrgnrValid = function (element, klarna) {\r\n var regEx = null;\r\n\r\n if (self.CustomerCountryId === 1) //Norge\r\n regEx = /^(\\d{9})$|((\\d{3})\\s(\\d{3})\\s(\\d{3}))$/;\r\n else if (self.CustomerCountryId === 2) //Sverige\r\n regEx = /^(\\d{10})$|(\\d{6}[-]\\d{4})$/;\r\n\r\n if (regEx === null) return true;\r\n return regEx.test(element.val());\r\n };\r\n\r\n this.isBirthdateValid = function (element) {\r\n var isValid = false;\r\n var value = element.val();\r\n if (value.length > 0) {\r\n if (self.isValidDateddmmyy(value)) { //011299) \r\n isValid = true;\r\n }\r\n }\r\n\r\n return isValid;\r\n };\r\n\r\n this.selectFirstInList = function () {\r\n $(\"input:radio\").filter(':visible:first').attr(\"checked\", true);\r\n };\r\n\r\n this.GetCheckoutSnippet = function (paymentId, isPaymentChange) {\r\n if (paymentId === KCO_BETBETID || paymentId === NETS_EASY_BETBETID || paymentId === SCO_BETBETID) {\r\n self.GetCheckout(paymentId, isPaymentChange);\r\n } else if (paymentId === VIPPS_BETBETID && !self.isLoggedIn() && self.vippsExpressCheckoutInCart() && (!self.vippsAllowBusinessCustomer() || self.CustomerType() !== 'bedriftskunde')) {\r\n $(\"#customer-registration\").hide();\r\n } else {\r\n $(\"#customer-registration\").show();\r\n\r\n PubSub.publish(mcWeb.checkout.events.onShowSendOrder,\r\n { showBtn: true, disabledBtn: false, showPrice: false });\r\n }\r\n };\r\n\r\n this.GetCheckout = function (paymentId, isPaymentChange) {\r\n $(\"#customer-registration\").hide();\r\n $(\"#nets-easy-checkout-error\").hide();\r\n $(\"#svea-checkout-error\").hide();\r\n\r\n if (paymentId === SCO_BETBETID)\r\n self.disableSveaCheckout();\r\n\r\n if (self.cartGuid === null || self.cartName === null) {\r\n self.waitCheckoutSnippet = true;\r\n return;\r\n }\r\n self.waitCheckoutSnippet = false;\r\n\r\n PubSub.publish(mcWeb.checkout.events.onShowSendOrder,\r\n { showBtn: false, disabledBtn: false, showPrice: false });\r\n\r\n var customerData = this.registration.getJsonData();\r\n if (typeof (customerData.epost) !== \"undefined\") {\r\n if (customerData.epost.length > 0) customerData.epost = customerData.epost.trim();\r\n }\r\n\r\n if (!isPaymentChange)\r\n isPaymentChange = false;\r\n\r\n var data = { Customer: customerData, CartGuid: self.cartGuid, CartName: self.cartName, IsPaymentChange: isPaymentChange };\r\n\r\n if (paymentId === KCO_BETBETID) {\r\n self.service.PostAction(\"GetKlarnaCheckoutSnippet\", data).then(function (result) {\r\n if (result === null || result.length < 1) {\r\n console.log(\"Kunne ikke laste Klarna Checkout\");\r\n return;\r\n }\r\n self.SetKlarnaCheckout(result);\r\n });\r\n }\r\n\r\n if (paymentId === NETS_EASY_BETBETID) {\r\n self.service.PostAction(\"GetNetsEasyCheckoutSnippet\", data).then(function (result) {\r\n if (result === null || result.length < 1) {\r\n $(\"#nets-easy-checkout-error\").show();\r\n console.log(\"Kunne ikke laste Nets Easy Checkout\");\r\n return;\r\n }\r\n if (result.RedirectUrl) window.location = result.RedirectUrl;\r\n self.SetNetsEasyCheckout(result.CheckoutOptions);\r\n });\r\n }\r\n\r\n if (paymentId === SCO_BETBETID) {\r\n self.service.PostAction(\"GetSveaCheckoutSnippet\", data).then(function (result) {\r\n if (result === undefined || result === null || result.length < 1) {\r\n $(\"#svea-checkout-error\").show();\r\n console.log(\"Kunne ikke laste Svea Checkout\");\r\n self.enableSveaCheckout();\r\n return;\r\n }\r\n self.SetSveaCheckout(result);\r\n self.enableSveaCheckout();\r\n });\r\n }\r\n };\r\n\r\n this.disableSveaCheckout = function () {\r\n if (window.scoApi)\r\n window.scoApi.setCheckoutEnabled(false);\r\n }\r\n\r\n this.enableSveaCheckout = function () {\r\n if (window.scoApi)\r\n window.scoApi.setCheckoutEnabled(true);\r\n }\r\n\r\n this.SetSveaCheckout = function (snippet) {\r\n $(\"#svea-checkout-snippet\").html(snippet);\r\n self.RegisterSveaCheckoutListener();\r\n };\r\n\r\n this.netsEasyCheckoutHtml = ko.observable();\r\n this.netsEasyCheckoutPaymentId = ko.observable();\r\n\r\n this.SetNetsEasyCheckout = function (checkoutOptions) {\r\n try {\r\n var checkoutSnippetHtml = $(\"#nets-easy-checkout-snippet\").html();\r\n\r\n if (checkoutSnippetHtml !== undefined) {\r\n if (!checkoutSnippetHtml || checkoutSnippetHtml.length == 0 || self.netsEasyCheckoutPaymentId() != checkoutOptions.paymentId) {\r\n if (self.netsEasyCheckoutHtml() && self.netsEasyCheckoutHtml().length > 0 && self.netsEasyCheckoutPaymentId() == checkoutOptions.paymentId) {\r\n $(\"#nets-easy-checkout-snippet\").html(self.netsEasyCheckoutHtml());\r\n $(\"#nets-easy-checkout-snippet\").addClass(\"dibs-checkout-wrapper\");\r\n }\r\n else {\r\n console.log(\"Nets Easy, initializing!\");\r\n\r\n // Før vi kjører new og setter callbacks må vi rydde opp...\r\n if (self.netsEasyCheckout) {\r\n self.netsEasyCheckout.cleanup();\r\n $(\"#nets-easy-checkout-snippet\").html(\"\");\r\n }\r\n\r\n self.netsEasyCheckout = new Dibs.Checkout(checkoutOptions);\r\n self.RegisterNetsEasyCallback(self.netsEasyCheckout);\r\n self.netsEasyCheckoutHtml($(\"#nets-easy-checkout-snippet\").html());\r\n self.netsEasyCheckoutPaymentId(checkoutOptions.paymentId);\r\n }\r\n }\r\n }\r\n } catch (e) {\r\n console.log('Warning - PaymentView.js:SetNetsEasyCheckout. Exception: ' + e);\r\n }\r\n };\r\n\r\n this.RegisterNetsEasyCallback = function (checkout) {\r\n checkout.on('payment-completed', function (response) {\r\n var redirectMsg = $('#nets-easy-process-checkout').html();\r\n self.showTemplate(redirectMsg);\r\n PubSub.publish(mcWeb.lightbox.events.onShowLightbox, { backdrop: 'static', keyboard: false, show: true });\r\n\r\n var data = { paymentId: response.paymentId };\r\n self.service.GetAction(\"NetsEasyCheckoutComplete\", data).then(function (result) {\r\n if (result === null || result.length < 1) {\r\n console.log(\"Nets Easy, verifisering og opprettelse av ordre feilet eller ordre eksisterer\");\r\n PubSub.publish(mcWeb.lightbox.events.onHideLightbox);\r\n return;\r\n }\r\n window.location = result;\r\n });\r\n });\r\n\r\n // Ved endring av postnummer i Nets Easy snippet oppdateres kassen...\r\n checkout.on('address-changed', function (address) { // Subscribe to address-changed event\r\n console.log(\"Nets Easy, address-changed\");\r\n //console.log(address);\r\n\r\n if (address) {\r\n var zipCode = \"\";\r\n var countryCode = \"\";\r\n\r\n if (address.postalCode !== null && address.postalCode.length > 1)\r\n zipCode = address.postalCode;\r\n\r\n if (address.countryCode !== null && address.countryCode.length > 1)\r\n countryCode = address.countryCode;\r\n\r\n if (zipCode !== \"\" && countryCode !== \"\") {\r\n var data = { zipCode: zipCode, landKode3: countryCode };\r\n PubSub.publish(mcWeb.events.customerRegistration.onChangedZipCode, data);\r\n self.UpdateCheckoutZipCode(zipCode);\r\n }\r\n }\r\n\r\n var paymentAddress = { Provider: \"NetsEasy\", Name: \"\", Email: \"\", StreetAddress: \"\", StreetAddress2: \"\", PostalCode: address.postalCode, City: \"\", CountryCode: address.countryCode };\r\n self.service.PostAction(\"GetPaymentAddress\", paymentAddress).then(function (result) {\r\n self.SetPorterbuddyRecipientInfo(\"NetsEasy\", result.Email, result.PostalCode, result.StreetAddress);\r\n });\r\n\r\n self.service.GetAction(\"NetsEasyIsCustomerPerson\", null).then(function (result) {\r\n if (result === null || result.length < 1) {\r\n return;\r\n }\r\n\r\n var customerType = \"\";\r\n if (result === true)\r\n customerType = \"person\";\r\n else\r\n customerType = \"organization\";\r\n console.log(\"Nets Easy, customerType = \" + customerType);\r\n\r\n var defaultCustomerType = 'person';\r\n if (self.KlarnaCustomerType() === 'bedriftskunde')\r\n defaultCustomerType = 'organization';\r\n if (customerType !== defaultCustomerType)\r\n self.showPaymentProviderCartReloadLightbox(customerType);\r\n });\r\n });\r\n\r\n // whenever the consumer clicks on the \"pay\" button\r\n checkout.on('pay-initialized', function (response) {\r\n var success = true;\r\n checkout.send('payment-order-finalized', success);\r\n });\r\n };\r\n\r\n this.SetKlarnaCheckout = function (snippet) {\r\n $(\"#klarna-checkout-snippet\").html(snippet);\r\n self.RegisterKlarnaListener();\r\n };\r\n\r\n this.SuspendKlarnaCheckout = function () {\r\n try {\r\n if (typeof (window._klarnaCheckout) !== \"undefined\") {\r\n window._klarnaCheckout(function (api) {\r\n api.suspend();\r\n });\r\n }\r\n } catch (e) {\r\n console.log('Warning - PaymentView.js:SuspendKlarnaCheckout. Exception: ' + e);\r\n }\r\n };\r\n\r\n this.ResumeKlarnaCheckout = function () {\r\n try {\r\n if (typeof (window._klarnaCheckout) !== \"undefined\") {\r\n window._klarnaCheckout(function (api) {\r\n api.resume();\r\n });\r\n }\r\n } catch (e) {\r\n console.log('Warning - PaymentView.js:ResumeKlarnaCheckout. Exception: ' + e);\r\n }\r\n };\r\n\r\n PubSub.subscribe(mcWeb.payments.events.onShowUpdateIcon, function (message, data) {\r\n self.showRefreshSpin(true);\r\n });\r\n\r\n PubSub.subscribe(mcWeb.payments.events.onHideUpdateIcon, function (message, data) {\r\n self.showRefreshSpin(false);\r\n });\r\n\r\n this.IsKcoEnabled = function () {\r\n try {\r\n if (self.PaymentTypes() === null)\r\n return false;\r\n var kcoEnabled = false;\r\n\r\n for (var i = 0; i < self.PaymentTypes().length; i++) {\r\n if (self.PaymentTypes()[i].PaymentId === KCO_BETBETID) {\r\n kcoEnabled = true;\r\n }\r\n }\r\n\r\n return kcoEnabled;\r\n } catch (e) {\r\n console.log('Warning - PaymentView.js:kcoEnabled. Exception: ' + e);\r\n return false;\r\n }\r\n };\r\n\r\n // Oppdaterer KCO/EASY desom postnummer endres i kassen\r\n this.UpdateCheckoutZipCode = function (zipCode) {\r\n try {\r\n var paymentId = self.selectedPayment();\r\n if (paymentId === undefined) return;\r\n\r\n if (paymentId === KCO_BETBETID) {\r\n if (!self.klarnaShippingAssistantEnabled()) return;\r\n var isKcoEnabled = self.IsKcoEnabled();\r\n if (!isKcoEnabled) return;\r\n self.SuspendKlarnaCheckout();\r\n }\r\n\r\n if (paymentId === NETS_EASY_BETBETID) {\r\n if (self.netsEasyCheckout && !self.netsEasyFrozen()) {\r\n self.netsEasyCheckout.freezeCheckout();\r\n self.netsEasyFrozen(true);\r\n }\r\n self.netsEasyFreezeStack.push(\"UpdateCheckoutZipCode\");\r\n }\r\n\r\n var data = { paymentId: paymentId, zipCode: zipCode };\r\n self.service.GetAction(\"UpdateCheckoutZipCode\", data).then(function (result) {\r\n if (paymentId === KCO_BETBETID)\r\n self.ResumeKlarnaCheckout();\r\n\r\n if (paymentId === NETS_EASY_BETBETID) {\r\n self.netsEasyFreezeStack.pop();\r\n\r\n if (self.netsEasyCheckout && self.netsEasyFreezeStack.length === 0 && self.netsEasyFrozen()) {\r\n self.netsEasyCheckout.thawCheckout();\r\n self.netsEasyFrozen(false);\r\n }\r\n }\r\n });\r\n } catch (e) {\r\n console.log('Warning - PaymentView.js:UpdateCheckoutZipCode. Exception: ' + e);\r\n }\r\n };\r\n\r\n this.netsEasyFreezeStack = [];\r\n this.netsEasyFrozen = ko.observable(false);\r\n\r\n this.UpdateCheckoutCartItems = function () {\r\n if (self.selectedPayment() !== KCO_BETBETID && self.selectedPayment() !== NETS_EASY_BETBETID && self.selectedPayment() !== SCO_BETBETID) {\r\n return;\r\n }\r\n\r\n if (self.selectedPayment() === KCO_BETBETID) {\r\n $(\"#klarna-checkout-snippet-error\").hide();\r\n self.SuspendKlarnaCheckout(); // Vi trenger denne for at KCO-snippet skal oppdateres med korrekte priser (BUG: Mobil scroll to buttom)\r\n\r\n self.service.GetAction(\"UpdateKlarnaCheckoutCartItems\", null).then(function (result) {\r\n self.ResumeKlarnaCheckout(); // Vi trenger denne for at KCO-snippet skal oppdateres med korrekte priser (BUG: Mobil scroll to buttom)\r\n\r\n if (result === null || result.length < 1) {\r\n console.log(\"UpdateKlarnaCheckoutCartItems failed...\");\r\n return;\r\n }\r\n\r\n if (!result.Success) {\r\n $(\"#klarna-checkout-snippet\").hide();\r\n $(\"#klarna-checkout-snippet-error\").show();\r\n }\r\n\r\n $(\"#klarna-checkout-snippet\").show();\r\n $(\"#klarna-checkout-snippet-error\").hide();\r\n });\r\n }\r\n\r\n if (self.selectedPayment() === NETS_EASY_BETBETID) {\r\n if (self.netsEasyCheckout && !self.netsEasyFrozen()) {\r\n self.netsEasyCheckout.freezeCheckout();\r\n self.netsEasyFrozen(true);\r\n }\r\n self.netsEasyFreezeStack.push(\"UpdateNetsEasyCheckoutCartItems\");\r\n\r\n self.service.GetAction(\"UpdateNetsEasyCheckoutCartItems\", null).then(function (result) {\r\n self.netsEasyFreezeStack.pop();\r\n\r\n if (self.netsEasyCheckout && self.netsEasyFreezeStack.length === 0 && self.netsEasyFrozen()) {\r\n self.netsEasyCheckout.thawCheckout();\r\n self.netsEasyFrozen(false);\r\n }\r\n\r\n if (result === null || result.length < 1) {\r\n console.log(\"UpdateNetsEasyCheckoutCartItems failed...\");\r\n return;\r\n }\r\n });\r\n }\r\n\r\n if (self.selectedPayment() === SCO_BETBETID) {\r\n self.disableSveaCheckout();\r\n\r\n self.service.GetAction(\"UpdateSveaCheckoutCartItems\", null).then(function (result) {\r\n if (result === null || result.length < 1)\r\n console.log(\"UpdateSveaCheckoutCartItems failed\");\r\n else if (result == 'true')\r\n console.log(\"Update OK\");\r\n else if (result == 'false')\r\n console.log(\"Empty snippet\");\r\n else\r\n console.log(result);\r\n\r\n self.enableSveaCheckout();\r\n });\r\n return;\r\n }\r\n };\r\n\r\n this.showKcoCartReloadLightbox = function (customerType) {\r\n if (self.klarnaShowChangedCustomerTypeMessage()) {\r\n // Ved endring av kundetype i KCO-snippet må vi laste kassen på nytt.\r\n self.showTemplate($('#kco-reload-cart').html());\r\n PubSub.publish(mcWeb.lightbox.events.onShowLightbox, { backdrop: 'static', keyboard: false, show: true });\r\n\r\n document.getElementById(\"kco-reload-cart-btn\").addEventListener(\"click\", function () {\r\n self.changeCustomerType(customerType);\r\n });\r\n } else {\r\n self.changeCustomerType(customerType);\r\n }\r\n };\r\n\r\n this.changeCustomerType = function (customerType) {\r\n if (customerType === 'organization') {\r\n PubSub.publish(mcWeb.events.customerRegistration.onChangedCustomerType, 1);\r\n } else {\r\n PubSub.publish(mcWeb.events.customerRegistration.onChangedCustomerType, 0);\r\n }\r\n }\r\n\r\n this.showPaymentProviderCartReloadLightbox = function (customerType) {\r\n // Ved endring av kundetype må vi laste kassen på nytt.\r\n\r\n self.showTemplate($('#payment-provider-reload-cart').html());\r\n PubSub.publish(mcWeb.lightbox.events.onShowLightbox, { backdrop: 'static', keyboard: false, show: true });\r\n\r\n document.getElementById(\"payment-provider-reload-cart-btn\").addEventListener(\"click\", function () {\r\n if (customerType === 'organization')\r\n PubSub.publish(mcWeb.events.customerRegistration.onChangedCustomerType, 1);\r\n else\r\n PubSub.publish(mcWeb.events.customerRegistration.onChangedCustomerType, 0);\r\n });\r\n };\r\n\r\n this.clickBusiness = function () {\r\n self.registration.registrationVM.showCustomerType(false);\r\n self.registration.registrationVM.showRegButtons(true);\r\n PubSub.publish(mcWeb.events.customerRegistration.onChangedCustomerType, 1)\r\n }\r\n\r\n this.clickPrivate = function () {\r\n self.registration.registrationVM.showCustomerType(false);\r\n self.registration.registrationVM.showRegButtons(true);\r\n PubSub.publish(mcWeb.events.customerRegistration.onChangedCustomerType, 0)\r\n }\r\n\r\n this.VippsExpressCheckout = function () {\r\n var checkoutFooter = mcWeb.checkoutFooterView.instances['footer'];\r\n var okToContinue = checkoutFooter.insertOrder('vipps');\r\n\r\n if (okToContinue) {\r\n var url = \"/api/vipps/express-checkout?checkout=true\";\r\n\r\n //var useExpressCheckout = true;\r\n //if (useExpressCheckout) {\r\n // url = \"/api/vipps/express-checkout?checkout=true\";\r\n //} else {\r\n // url = \"/api/vipps/register\";\r\n //}\r\n\r\n $.ajax({\r\n type: \"GET\",\r\n url: url,\r\n contentType: \"application/json; charset=utf-8\",\r\n success: function (data) {\r\n if (data) {\r\n console.log(\"Vipps Success: \" + data);\r\n window.location.replace(data);\r\n }\r\n else {\r\n console.log(\"Vipps: Blank URL\");\r\n self.langService.getValue(\"CheckoutReturnCodes\", \"VippsInitFailed\").then(function (value) {\r\n self.showErrorMessage(value);\r\n });\r\n }\r\n },\r\n error: function () {\r\n console.log(\"Vipps Error\");\r\n self.langService.getValue(\"CheckoutReturnCodes\", \"VippsInitFailed\").then(function (value) {\r\n self.showErrorMessage(value);\r\n });\r\n }\r\n });\r\n }\r\n\r\n return;\r\n };\r\n\r\n this.RegisterSveaCheckoutListener = function () {\r\n try {\r\n logPb(\"RegisterSveaCheckoutListener()\");\r\n\r\n document.addEventListener(\"checkoutReady\", function () {\r\n logPb(\"document.addEventListener(\\\"checkoutReady\\\")\");\r\n\r\n if (!window.scoApi.customEventHandlers[\"identity.phoneNumber\"] || window.scoApi.customEventHandlers[\"identity.phoneNumber\"].length === 0) {\r\n logPb(\"Register window.scoApi.observeEvent(\\\"identity.phoneNumber\\\")\");\r\n\r\n window.scoApi.observeEvent(\"identity.phoneNumber\", function (data) {\r\n logPb(\"window.scoApi.observeEvent(\\\"identity.phoneNumber\\\")\", data);\r\n });\r\n }\r\n if (!window.scoApi.customEventHandlers[\"identity.firstName\"] || window.scoApi.customEventHandlers[\"identity.firstName\"].length === 0) {\r\n logPb(\"Register window.scoApi.observeEvent(\\\"identity.firstName\\\")\");\r\n\r\n window.scoApi.observeEvent(\"identity.firstName\", function (data) {\r\n logPb(\"window.scoApi.observeEvent(\\\"identity.firstName\\\")\", data);\r\n });\r\n }\r\n if (!window.scoApi.customEventHandlers[\"identity.lastName\"] || window.scoApi.customEventHandlers[\"identity.lastName\"].length === 0) {\r\n logPb(\"Register window.scoApi.observeEvent(\\\"identity.lastName\\\")\");\r\n\r\n window.scoApi.observeEvent(\"identity.lastName\", function (data) {\r\n logPb(\"window.scoApi.observeEvent(\\\"identity.lastName\\\")\", data);\r\n });\r\n }\r\n\r\n if (!window.scoApi.customEventHandlers[\"identity.postalCode\"] || window.scoApi.customEventHandlers[\"identity.postalCode\"].length === 0) {\r\n logPb(\"Register window.scoApi.observeEvent(\\\"identity.postalCode\\\")\");\r\n\r\n window.scoApi.observeEvent(\"identity.postalCode\", function (data) {\r\n logPb(\"window.scoApi.observeEvent(\\\"identity.postalCode\\\")\", data);\r\n\r\n var postalCode = data.value;\r\n if (!postalCode)\r\n postalCode = \"\";\r\n\r\n if (postalCode.length > 1) {\r\n var data = { zipCode: postalCode };\r\n PubSub.publish(mcWeb.events.customerRegistration.onChangedZipCode, data);\r\n }\r\n\r\n var paymentAddress = { Provider: \"Svea\", Name: \"\", Email: \"\", StreetAddress: \"\", StreetAddress2: \"\", PostalCode: postalCode, City: \"\", CountryCode: \"\" };\r\n self.service.PostAction(\"GetPaymentAddress\", paymentAddress).then(function (result) {\r\n logPb(\"GetPaymentAddress [identity.postalCode]\", result);\r\n self.SetPorterbuddyRecipientInfo(\"Svea\", result.Email, result.PostalCode, result.StreetAddress);\r\n });\r\n });\r\n }\r\n if (!window.scoApi.customEventHandlers[\"identity.streetAddress\"] || window.scoApi.customEventHandlers[\"identity.streetAddress\"].length === 0) {\r\n logPb(\"Register window.scoApi.observeEvent(\\\"identity.streetAddress\\\")\");\r\n\r\n window.scoApi.observeEvent(\"identity.streetAddress\", function (data) {\r\n logPb(\"window.scoApi.observeEvent(\\\"identity.streetAddress\\\")\", data);\r\n\r\n var streetAddress = data.value;\r\n if (!streetAddress)\r\n streetAddress = \"\";\r\n\r\n var paymentAddress = { Provider: \"Svea\", Name: \"\", Email: \"\", StreetAddress: streetAddress, StreetAddress2: \"\", PostalCode: \"\", City: \"\", CountryCode: \"\" };\r\n self.service.PostAction(\"GetPaymentAddress\", paymentAddress).then(function (result) {\r\n logPb(\"GetPaymentAddress [identity.streetAddress]\", result);\r\n self.SetPorterbuddyRecipientInfo(\"Svea\", result.Email, result.PostalCode, result.StreetAddress);\r\n });\r\n });\r\n }\r\n if (!window.scoApi.customEventHandlers[\"identity.email\"] || window.scoApi.customEventHandlers[\"identity.email\"].length === 0) {\r\n logPb(\"Register window.scoApi.observeEvent(\\\"identity.email\\\")\");\r\n\r\n window.scoApi.observeEvent(\"identity.email\", function (data) {\r\n logPb(\"window.scoApi.observeEvent(\\\"identity.email\\\")\", data);\r\n\r\n var email = data.value;\r\n if (!email)\r\n email = \"\";\r\n\r\n var paymentAddress = { Provider: \"Svea\", Name: \"\", Email: email, StreetAddress: \"\", StreetAddress2: \"\", PostalCode: \"\", City: \"\", CountryCode: \"\" };\r\n self.service.PostAction(\"GetPaymentAddress\", paymentAddress).then(function (result) {\r\n logPb(\"GetPaymentAddress [identity.email]\", result);\r\n self.SetPorterbuddyRecipientInfo(\"Svea\", result.Email, result.PostalCode, result.StreetAddress);\r\n });\r\n });\r\n }\r\n if (!window.scoApi.customEventHandlers[\"order.validationCallback\"] || window.scoApi.customEventHandlers[\"order.validationCallback\"].length === 0) {\r\n logPb(\"Register window.scoApi.observeEvent(\\\"order.validationCallback\\\")\");\r\n\r\n window.scoApi.observeEvent(\"order.validationCallback\", async function (data) {\r\n logPb(\"window.scoApi.observeEvent(\\\"order.validationCallback\\\")\", data);\r\n\r\n var valid = true;\r\n result = await ValidateSveaTransaction();\r\n if (result && result.length > 0) {\r\n valid = false;\r\n self.showErrorMessage(result);\r\n }\r\n\r\n data.callback({ valid: valid });\r\n });\r\n }\r\n });\r\n } catch (e) {\r\n logPb(\"Warning - PaymentView.js:RegisterSveaCheckoutListener. Exception\", e.toString());\r\n console.log('Warning - PaymentView.js:RegisterSveaCheckoutListener. Exception: ' + e);\r\n }\r\n };\r\n\r\n self.previousPbEmail = \"\";\r\n self.previousPbPostCode = \"\";\r\n self.previousPbStreetAddress = \"\";\r\n\r\n async function ValidateSveaTransaction() {\r\n var validateResult = \"\";\r\n\r\n await self.service.GetAction(\"SveaCheckoutClientSideValidation\", null).then(function (result) {\r\n validateResult = result;\r\n });\r\n\r\n return validateResult;\r\n }\r\n\r\n function shippingOptionsHandled(shippingOptions) {\r\n logPb(\"shippingOptionsHandled()\", { shippingOptions });\r\n\r\n porterbuddy.homeDeliveryOptions = shippingOptions.homeDeliveryOptions;\r\n porterbuddy.refreshShippingOptions();\r\n }\r\n\r\n this.SetPorterbuddyRecipientInfo = function (provider, email, postCode, streetAddress) {\r\n if (!self.Porterbuddy)\r\n return;\r\n\r\n try {\r\n if (postCode.includes(\"•\"))\r\n postCode = \"\";\r\n\r\n if (typeof porterbuddy !== 'undefined' && porterbuddy.setRecipientInfo !== undefined &&\r\n (email !== self.previousPbEmail || postCode !== self.previousPbPostCode || streetAddress !== self.previousPbStreetAddress)) {\r\n\r\n if (!email) {\r\n email = localStorage.getItem(\"pb-recipient-email\");\r\n\r\n if (!email)\r\n email = \"\";\r\n }\r\n\r\n if (!postCode) {\r\n postCode = localStorage.getItem(\"postalCode\")\r\n\r\n if (!postCode)\r\n postCode = \"\";\r\n }\r\n\r\n if (!streetAddress) {\r\n streetAddress = localStorage.getItem(\"pb-recipient-street-address\");\r\n\r\n if (!streetAddress)\r\n streetAddress = \"\";\r\n }\r\n\r\n var paymentAddress = {\r\n Provider: provider,\r\n Name: \"\",\r\n Email: email,\r\n StreetAddress: streetAddress,\r\n StreetAddress2: \"\",\r\n PostalCode: postCode,\r\n City: \"\",\r\n CountryCode: \"\"\r\n };\r\n self.service.PostAction(\"GetPaymentAddress\", paymentAddress).then(function (result) {\r\n email = result.Email;\r\n postCode = result.PostalCode;\r\n streetAddress = result.StreetAddress;\r\n });\r\n\r\n self.previousPbEmail = email;\r\n self.previousPbPostCode = postCode;\r\n self.previousPbStreetAddress = streetAddress;\r\n\r\n var recipientInfo = { email, postCode, streetAddress };\r\n\r\n logPb(\"SetPorterbuddyRecipientInfo(): porterbuddy.setRecipientInfo()\", { email, postCode, streetAddress });\r\n porterbuddy.setRecipientInfo(recipientInfo);\r\n\r\n savePbRecipientToLocalStorage(recipientInfo);\r\n\r\n var shippingOptions = getShippingOptions(recipientInfo);\r\n shippingOptions.then(shippingOptionsHandled);\r\n\r\n } else {\r\n var pb = typeof porterbuddy !== 'undefined';\r\n var sri = false;\r\n\r\n if (pb) {\r\n sri = porterbuddy.setRecipientInfo !== undefined;\r\n if (!sri) porterbuddy.refresh();\r\n }\r\n\r\n var data = { Porterbuddy: pb, SetRecipientInfo: sri, Email: email, PostCode: postCode, StreetAddress: streetAddress, PreviousEmail: self.previousPbEmail, PreviousPostCode: self.previousPbPostCode, PreviousStreetAddress: self.previousPbStreetAddress };\r\n logPb(\"SetPorterbuddyRecipientInfo(): Recipient already set or unavailable\", data);\r\n }\r\n } catch (e) {\r\n logPb(\"SetPorterbuddyRecipientInfo(): exception\", e.toString());\r\n console.log('Warning - PaymentView.js:SetPorterbuddyRecipientInfo. Exception: ' + e);\r\n }\r\n }\r\n\r\n function savePbRecipientToLocalStorage(recipient) {\r\n logPb(\"savePbRecipientToLocalStorage()\", recipient);\r\n\r\n localStorage.setItem(\"pb-recipient-email\", recipient.email);\r\n localStorage.setItem(\"postalCode\", recipient.postCode);\r\n localStorage.setItem(\"pb-recipient-street-address\", recipient.streetAddress);\r\n }\r\n\r\n function logPb(logTxt, logData) {\r\n try {\r\n var data = { Text: logTxt, Data: JSON.stringify(logData) };\r\n var cartService = new WebApiService(\"Cart\");\r\n cartService.PostAction(\"LogPb\", data);\r\n } catch (e) {\r\n console.log('Warning - PaymentView.js:logPb Exception: ' + e);\r\n }\r\n }\r\n\r\n this.RegisterKlarnaListener = function () {\r\n try {\r\n if (self.selectedPayment() !== KCO_BETBETID) return;\r\n\r\n if (typeof (window._klarnaCheckout) !== \"undefined\") {\r\n window._klarnaCheckout(function (api) {\r\n //console.log(\"RegisterKlarnaListener 'change'\");\r\n\r\n api.on({\r\n 'load': function (data) {\r\n var customerType = data.customer.type;\r\n var defaultCustomerType = 'person';\r\n if (self.KlarnaCustomerType() === 'bedriftskunde')\r\n defaultCustomerType = 'organization';\r\n\r\n if (customerType !== undefined) {\r\n if (customerType !== defaultCustomerType)\r\n self.showKcoCartReloadLightbox(customerType);\r\n }\r\n }\r\n });\r\n\r\n api.on({\r\n 'customer': function (data) {\r\n var customerType = data.type;\r\n var defaultCustomerType = 'person';\r\n if (self.KlarnaCustomerType() === 'bedriftskunde')\r\n defaultCustomerType = 'organization';\r\n\r\n if (customerType !== undefined) {\r\n if (customerType !== defaultCustomerType)\r\n self.showKcoCartReloadLightbox(customerType);\r\n }\r\n }\r\n });\r\n\r\n api.on({\r\n 'change': function (data) {\r\n var kcoData = data;\r\n\r\n if (data !== null && data.email !== null && typeof (data.email) !== \"undefined\" && data.email.length > 3) {\r\n PubSub.publish(mcWeb.loginCheckout.events.onChangedEmail, data.email);\r\n }\r\n\r\n if (data !== null && data.postal_code !== null && data.postal_code.length > 1) {\r\n if (data.postal_code.indexOf('*') === -1) {\r\n var zipCode = data.postal_code;\r\n var data = { zipCode: zipCode };\r\n PubSub.publish(mcWeb.events.customerRegistration.onChangedZipCode, data);\r\n } else {\r\n data.postal_code = \"\";\r\n }\r\n }\r\n\r\n var email = \"\";\r\n if (data.email)\r\n email = data.email;\r\n\r\n var name = undefined;\r\n if (kcoData.give_name)\r\n name = kcoData.give_name;\r\n if (kcoData.family_name) {\r\n if (name)\r\n name = \" \" + kcoData.family_name;\r\n else\r\n name = kcoData.family_name;\r\n }\r\n\r\n var paymentAddress = { Provider: \"KlarnaCheckout\", Name: name, Email: kcoData.email, StreetAddress: \"\", StreetAddress2: \"\", PostalCode: kcoData.postal_code, City: kcoData.city, CountryCode: kcoData.country };\r\n self.service.PostAction(\"GetPaymentAddress\", paymentAddress).then(function (result) {\r\n self.SetPorterbuddyRecipientInfo(\"KlarnaCheckout\", result.Email, result.PostalCode, result.StreetAddress);\r\n });\r\n }\r\n });\r\n });\r\n\r\n if (self.klarnaShippingAssistantEnabled()) {\r\n window._klarnaCheckout(function (api) {\r\n api.on({\r\n 'shipping_option_change': function (data) {\r\n var jsonData = JSON.stringify(data)\r\n console.log(\"shipping_option_change: \" + jsonData);\r\n\r\n var data = {\r\n shippingId: data.id,\r\n name: data.name,\r\n price: data.price,\r\n taxRate: data.tax_rate,\r\n taxAmount: data.tax_amount\r\n };\r\n\r\n var shipmentService = new WebApiService(\"Shipment\");\r\n shipmentService.GetAction(\"SaveSelectedKlarnaCarrier\", data).then(function (result) {\r\n PubSub.publish(mcWeb.cart.events.onChangedCart, \"\");\r\n //PubSub.publish(mcWeb.shipment.events.onSelectedShipment, carrier);\r\n });\r\n }\r\n });\r\n });\r\n }\r\n\r\n if (self.kcoValidateCountry) {\r\n window._klarnaCheckout(function (api) {\r\n //console.log(\"RegisterKlarnaListener 'billing_address_change'\");\r\n\r\n api.on({\r\n 'billing_address_change': function (data) {\r\n var selectedCountry = data.country;\r\n var email = data.email;\r\n if (!email) email = \"\";\r\n\r\n var name = undefined;\r\n if (data.give_name)\r\n name = data.give_name;\r\n if (data.family_name) {\r\n if (name)\r\n name = \" \" + data.family_name;\r\n else\r\n name = data.family_name;\r\n }\r\n\r\n if (data !== null && data.postal_code !== null && data.postal_code.length > 1) {\r\n if (data.postal_code.indexOf('*') === -1) {\r\n var zipCode = data.postal_code;\r\n var data = { zipCode: zipCode };\r\n PubSub.publish(mcWeb.events.customerRegistration.onChangedZipCode, data);\r\n } \r\n }\r\n\r\n var paymentAddress = { Provider: \"KlarnaCheckout\", Name: name, Email: data.email, StreetAddress: \"\", StreetAddress2: \"\", PostalCode: data.postal_code, City: data.city, CountryCode: data.country };\r\n self.service.PostAction(\"GetPaymentAddress\", paymentAddress).then(function (result) {\r\n self.SetPorterbuddyRecipientInfo(\"KlarnaCheckout\", result.Email, result.PostalCode, result.StreetAddress);\r\n });\r\n\r\n if (!email) return;\r\n\r\n if (email) {\r\n self.service.GetAction(\"GetCustomerCountryCode3\", { email: email }).then(function (result) {\r\n if (result) {\r\n var countryCode = result.m_Item1;\r\n var countryText = result.m_Item2;\r\n\r\n if (countryCode && countryCode !== selectedCountry) {\r\n //console.log(\"Kunden har avvikende land: (\" + countryCode + \"/\" + countryText + \") -> \" + selectedCountry);\r\n\r\n self.langService.getValue(\"CheckoutReturnCodes\", \"CountryCodeMismatch\").then(function (value) {\r\n if (value.length <= 0)\r\n value =\r\n 'Det eksisterer allerede en kunde med denne epostadressen som er registrert i {COUNTRY}. For å fortsette med denne E-postadressen må land endres til {COUNTRY}. Alternativt kan en annen E-postadresse benyttes.';\r\n value = value.replace(/{COUNTRY}/gi, countryText);\r\n self.showErrorMessage(value);\r\n });\r\n }\r\n }\r\n });\r\n }\r\n }\r\n });\r\n });\r\n }\r\n }\r\n } catch (e) {\r\n console.log('Warning - PaymentView.js:RegisterKlarnaListener. window._klarnaCheckout Exception: ' + e);\r\n }\r\n };\r\n\r\n self.showErrorMessage = function (message) {\r\n if (message.length > 0)\r\n self.showAlertErrorMessage(message);\r\n };\r\n\r\n self.showAlertErrorMessage = function (message, asHtml) {\r\n $(\"#lightbox-placeholder\").html('');\r\n\r\n if (asHtml === true) {\r\n $(\"#error-message-label\").append(message);\r\n } else {\r\n $(\"#error-message-label\").html(message);\r\n }\r\n\r\n self.showTemplate($(\"#popup-error-message\").html());\r\n PubSub.publish(mcWeb.lightbox.events.onShowLightbox, { show: true });\r\n };\r\n\r\n self.showTemplate = function (html) {\r\n var template = $(\"#lightbox-placeholder\");\r\n if (template.length < 1) {\r\n PubSub.publish(mcWeb.checkout.events.onShowSendOrder, { showBtn: false, disabledBtn: false });\r\n return;\r\n }\r\n\r\n template.html(html);\r\n };\r\n\r\n this.zipCodePrev = ko.observable();\r\n this.zipCode = ko.observable();\r\n\r\n this.showOrgnrSsn = function (paymentId) {\r\n var data = { paymentId: paymentId };\r\n\r\n if (!(self.registration.registrationVM.readOnly() === true && self.registration.registrationVM.hideOrgnrSsn())) {\r\n self.service.GetAction(\"ShowOrgnrSsn\", data).then(function (result) {\r\n if (result.Show === true && result.FieldToShow !== 0) {\r\n self.ShowOrgnrSsn(result.Show);\r\n self.ShowOrgnrSsnField(result.FieldToShow);\r\n self.CustomerType(result.CustomerType);\r\n } else {\r\n self.ShowOrgnrSsn(false);\r\n }\r\n });\r\n } else {\r\n self.ShowOrgnrSsn(false);\r\n }\r\n };\r\n\r\n getLibrary(\"mcWeb.customerRegistration\").then(() => {\r\n PubSub.subscribe(mcWeb.events.customerRegistration.onChangedZipCode, function (message, data) {\r\n if (!data)\r\n return;\r\n\r\n var zipCode = data.zipCode;\r\n if (!zipCode)\r\n return;\r\n\r\n if (self.zipCode() !== zipCode) {\r\n self.zipCodePrev(zipCode);\r\n self.zipCode(zipCode);\r\n self.UpdateCheckoutZipCode(zipCode);\r\n }\r\n }); \r\n });\r\n\r\n PubSub.subscribe(mcWeb.payments.events.updateKco, function (message, data) {\r\n self.UpdateCheckoutCartItems();\r\n });\r\n\r\n getLibrary(\"mcWeb.campaignCode\").then(() => {\r\n PubSub.subscribe(mcWeb.campaignCode.onChangedCampaignCode, function (message, data) {\r\n self.UpdateCheckoutCartItems();\r\n PubSub.publish(mcWeb.payments.events.reloadPayments, null);\r\n });\r\n });\r\n\r\n PubSub.subscribe(mcWeb.cart.events.onChangedCart, function (message, data) {\r\n self.UpdateCheckoutCartItems();\r\n });\r\n\r\n PubSub.subscribe(mcWeb.cart.events.onChangedQuantityCart, function (message, data) {\r\n self.UpdateCheckoutCartItems();\r\n PubSub.publish(mcWeb.payments.events.reloadPayments, { parentEvent: mcWeb.cart.events.onChangedQuantityCart });\r\n });\r\n\r\n PubSub.subscribe(mcWeb.shipment.events.onSelectedShipment, function (message, data) {\r\n PubSub.publish(mcWeb.cart.events.onChangedCart, null);\r\n });\r\n\r\n PubSub.subscribe(mcWeb.shipment.events.onChangedShipment, function (message, data) {\r\n self.UpdateCheckoutCartItems();\r\n });\r\n\r\n PubSub.subscribe(mcWeb.payments.events.reloadPayments, function (message, data) {\r\n if (data) return;\r\n\r\n mcWeb.loginCheckout.ResetLoginCheckoutPosision();\r\n if (!self.isPublishMode) {\r\n $(\"#mcweb-customerregistration-checkout-registration\").hide().detach().appendTo(\"body\");\r\n }\r\n self.load(null, null, data === undefined || data === null || data.parentEvent !== mcwe.car.events.onChangedQuantityCart);\r\n });\r\n\r\n PubSub.subscribe(mcWeb.payments.events.focusFirstName, function (message, data) {\r\n\r\n if (mcWeb.responsive.getScreenSize() !== 'xs') {\r\n setTimeout(function () {\r\n\r\n if (self.ShowOrgnrSsn()) {\r\n switch (self.ShowOrgnrSsnField()) {\r\n case 1:\r\n $(\"div[id=\" + self.selectedPayment() + \"]\").find(\"input[class*='genericOrgnr']\").focus();\r\n break;\r\n case 2:\r\n $(\"div[id=\" + self.selectedPayment() + \"]\").find(\"input[class*='genericSsn']\").focus();\r\n break;\r\n case 3:\r\n $(\"div[id=\" + self.selectedPayment() + \"]\").find(\"input[class*='genericBirthdate']\").focus();\r\n break;\r\n }\r\n\r\n } else {\r\n $(\"#firstName\").focus();\r\n }\r\n\r\n }, 400);\r\n }\r\n\r\n });\r\n\r\n PubSub.subscribe(mcWeb.login.events.onIsloggedIn, function (message, isLoggedIn) {\r\n self.isLoggedIn(isLoggedIn);\r\n });\r\n\r\n PubSub.subscribe(mcWeb.payments.events.processPaymentMethods, function (message, paymentId) {\r\n self.processPaymentMethods(paymentId);\r\n });\r\n\r\n this.processPaymentMethods = function (paymentId, isPaymentChange) {\r\n if (paymentId === null) {\r\n paymentId = self.selectedPayment();\r\n return;\r\n }\r\n\r\n self.showOrgnrSsn(paymentId);\r\n self.GetCheckoutSnippet(paymentId, isPaymentChange);\r\n\r\n // Vipps er ikke tilgjengelig for bedriftskunder\r\n if (paymentId === VIPPS_BETBETID && self.vippsExpressCheckoutInCart() && (!self.vippsAllowBusinessCustomer() || self.CustomerType() !== 'bedriftskunde'))\r\n self.clickPrivate();\r\n };\r\n\r\n PubSub.subscribe(mcWeb.payments.events.updateOrgNr, function (message, data) {\r\n self.Orgnr(data);\r\n PubSub.publish(mcWeb.events.customerRegistration.updateOrgNr, data);\r\n });\r\n\r\n PubSub.subscribe(mcWeb.cart.events.cartGuid, function (message, data) {\r\n if (data !== null) {\r\n self.cartName = data.cartName;\r\n self.cartGuid = data.cartGuid;\r\n\r\n if (self.cartGuid !== null && self.cartName !== null) {\r\n if (self.waitCheckoutSnippet === true) {\r\n self.GetCheckoutSnippet(self.selectedPayment());\r\n }\r\n }\r\n }\r\n });\r\n\r\n this.validate = function () {\r\n var promise = vm.validateModel().then(function (res) {\r\n var result = {\r\n success: false,\r\n message: '',\r\n invalidElements: []\r\n };\r\n\r\n vm.lastValidationResult = res;\r\n\r\n if (res.every(mcWeb.validation.elementIsValid)) {\r\n if (vm.settings.SoftAdressValidation && !vm.adress() && vm.addressWarningFlag === 0) {\r\n result.message = \"Adresse feltet er tomt.
Fortsett med registrering om du ikke har gateadresse!\";\r\n vm.addressWarningFlag = 1;\r\n //} else if (vm.settings.AllowNewPostNr && vm.cityDoesNotMatch && vm.zipcodeWarningFlag == 0) {\r\n //\tresult.message = \"Du har oppgitt et nytt postnr og poststed.
Fortsett med registrering om du mener dette er riktig!\";\r\n //\tvm.zipcodeWarningFlag = 1;\r\n } else {\r\n result.success = true;\r\n }\r\n } else {\r\n res.forEach(function (validationResult) {\r\n if (!validationResult.valid)\r\n result.invalidElements.push(validationResult);\r\n });\r\n\r\n result.message = $('#validation-error-text').html();\r\n }\r\n\r\n return result;\r\n });\r\n\r\n return promise;\r\n };\r\n\r\n this.validateModel = function () {\r\n $('.qtip').remove();\r\n var index;\r\n var res = mcWeb.validation.validateModel(vm.validationRules);\r\n return res.then(function (res) {\r\n for (index = 0; index < res.length; index++) {\r\n if (res[index].valid) {\r\n mcWeb.validation.setValidCss(res[index].elem);\r\n continue;\r\n } else {\r\n mcWeb.validation.removeValidCss(res[index].elem);\r\n mcWeb.validation.addErrorClass(res[index].elem);\r\n mcWeb.validation.qTipActionShow(res[index].elem, vm.getErrorMessage(res[index].elem, res[index].rule));\r\n break;\r\n }\r\n }\r\n\r\n return res;\r\n });\r\n };\r\n\r\n this.validateElement = function (eledata, event) {\r\n mcWeb.validation.validateElement(vm.validationRules, event.target)\r\n .then(function (elemValidationResult) {\r\n if (elemValidationResult.valid) {\r\n mcWeb.validation.setValidCss(event.target);\r\n } else {\r\n mcWeb.validation.removeValidCss(event.target);\r\n };\r\n });\r\n };\r\n };\r\n});","mcWeb.salesConditions = new function () {\r\n\r\n this.events = {\r\n }\r\n\r\n this.vm = function (id) {\r\n var self = this;\r\n this.id = \"#\" + id;\r\n\r\n self.hasCartItems = ko.observable(false);\r\n self.showConditons = ko.observable(false);\r\n\r\n this.load = function (data, settings) {};\r\n\r\n this.onClickConditions = function () {\r\n self.showConditons(!self.showConditons());\r\n }\r\n\r\n PubSub.subscribe(mcWeb.cart.events.hasCartItems, function (message, hasCartItems) {\r\n if (hasCartItems != null) {\r\n self.hasCartItems(hasCartItems); \r\n }\r\n });\r\n };\r\n};\r\n","mcWeb.shipment = jQuery.extend(mcWeb.shipment, new function () {\r\n\r\n this.vm = function (id) {\r\n var $ = jQuery;\r\n var self = this;\r\n\r\n self.id = \"#\" + id;\r\n self.service = new WebApiService(\"Shipment\");\r\n\r\n self.showShipments = ko.observable(false);\r\n self.hasCartItems = ko.observable(false);\r\n self.showShipmentsDetails = ko.observable(true);\r\n\r\n self.showShipmentPrice = ko.observable(false);\r\n self.showOnlyCarrierList = ko.observable();\r\n self.showCheckoutZipCode = ko.observable(true);\r\n self.selectedCarrierName = ko.observable();\r\n self.carrierList = ko.observableArray();\r\n self.selectedCarrierId = ko.observable();\r\n self.selectedCarrierPrice = ko.observable();\r\n\r\n self.logistraPickupPointsForSelectedCarrier = ko.observableArray();\r\n self.selectedLogistraPickupPoint = ko.observable();\r\n\r\n self.pickupPointEnabled = ko.observable(false);\r\n self.pickupPointRegionList = ko.observableArray();\r\n self.pickupPointCustomerList = ko.observableArray();\r\n self.pickupPointSelectedRegion = ko.observable();\r\n self.pickupPointSelectedCustomer = ko.observable();\r\n self.pickupPointRegion = ko.observable();\r\n self.pickupPointRegionId = ko.observable();\r\n self.pickupPointCustomername = ko.observable();\r\n self.popoverOpen = ko.observable(false);\r\n\r\n self.zipCodePrev = ko.observable();\r\n self.zipCode = ko.observable();\r\n self.focusZipCode = ko.observable(false);\r\n\r\n self.postOffice = ko.observable();\r\n self.adressDelivery = ko.observable();\r\n self.adresstillegDelivery = ko.observable();\r\n self.poststedDelivery = ko.observable();\r\n\r\n self.showRefreshSpin = ko.observable(false);\r\n self.showRefreshSpinMargin = ko.observable(0);\r\n self.isCheckout = ko.observable(false);\r\n self.inlineEditor = ko.observable(false);\r\n self.showCollectedDelivery = ko.observable(false);\r\n self.useCollectedDeliveryPrev = ko.observable(false);\r\n self.useCollectedDelivery = ko.observable(false);\r\n self.previousCarrierId = null;\r\n self.previousCarrierList = null;\r\n\r\n self.useCollectedDelivery.subscribe(function (newValue) {\r\n if (self.useCollectedDeliveryPrev() != newValue) {\r\n self.useCollectedDeliveryPrev(newValue);\r\n PubSub.publish(mcWeb.cart.events.onChangeCollectedDelivery, newValue);\r\n }\r\n });\r\n\r\n self.showInsuranceProduct = ko.observable(false);\r\n self.useInsuranceProduct = ko.observable(false);\r\n self.klarnaShippingAssistantEnabled = ko.observable(false);\r\n\r\n self.showPrintPackingList = ko.observable(false);\r\n self.usePrintPackingListPrev = ko.observable(false);\r\n self.usePrintPackingList = ko.observable(false);\r\n\r\n self.usePrintPackingList.subscribe(function (newValue) {\r\n if (self.usePrintPackingListPrev() !== newValue) {\r\n //self.usePrintPackingListPrev(newValue); //Denne skal IKKE være med\r\n PubSub.publish(mcWeb.events.customerRegistration.onChangedUsePrintPackingList, newValue);\r\n }\r\n });\r\n\r\n getLibrary(\"mcWeb.customerRegistration\").then(() => {\r\n PubSub.subscribe(mcWeb.events.customerRegistration.onChangedUsePrintPackingList, function (message, active) {\r\n if (active === true || active === false) {\r\n if (self.usePrintPackingList() !== active) {\r\n self.usePrintPackingList(active);\r\n } else {\r\n self.usePrintPackingListPrev(active);\r\n }\r\n }\r\n });\r\n });\r\n\r\n //Set the hight of \"update icon\"\r\n this.showRefreshSpin.subscribe(function () {\r\n var hight = parseFloat($(\"#carrier-selected.panel\").height());\r\n if (hight != NaN && hight > 1) {\r\n self.showRefreshSpinMargin(((hight / 2) - 30) + 'px');\r\n }\r\n });\r\n\r\n this.load = function (data, settings) {\r\n\r\n self.showRefreshSpin(true);\r\n\r\n //Settings\r\n if (settings) {\r\n self.showShipments(settings.ShowShipments);\r\n self.showShipmentPrice(settings.ShowShipmentPrice);\r\n self.showOnlyCarrierList(settings.ShowOnlyCarrierList);\r\n self.showCheckoutZipCode(settings.ShowCheckoutZipCode);\r\n self.isCheckout(($('.body-checkout').length > 0) ? true : false);\r\n\r\n self.showCollectedDelivery(settings.ShowCollectedDelivery);\r\n self.showPrintPackingList(settings.ShowPrintPackingList);\r\n self.showInsuranceProduct(settings.ShowInsuranceProduct);\r\n self.inlineEditor(settings.InlineEditor);\r\n }\r\n\r\n //Loading data width ajax\r\n if (!data) {\r\n self.service.GetAction(\"CarrierList\", { isCheckout: self.isCheckout() }).then(function (result) {\r\n if (result == null) {\r\n self.showRefreshSpin(false);\r\n return;\r\n }\r\n\r\n self.load(result);\r\n });\r\n return;\r\n }\r\n\r\n self.pickupPointEnabled(data.PickupPointEnabled);\r\n if (data.CarrierList)\r\n self.carrierList(data.CarrierList);\r\n self.selectedCarrierId(data.SelectedCarrierId);\r\n setSelectedCarrier(data);\r\n if (self.zipCode() == null && self.zipCodePrev() == null) {\r\n self.zipCodePrev(data.ZipCode);\r\n self.zipCode(data.ZipCode);\r\n }\r\n\r\n self.useCollectedDeliveryPrev(data.UseCollectedDelivery);\r\n self.useCollectedDelivery(data.UseCollectedDelivery);\r\n\r\n self.useInsuranceProduct(data.UseInsuranceProduct);\r\n\r\n self.klarnaShippingAssistantEnabled(data.KlarnaShippingAssistantEnabled);\r\n self.showShipmentsDetails(!data.KlarnaShippingAssistantEnabled);\r\n\r\n self.usePrintPackingList(data.UsePrintPackingList);\r\n self.usePrintPackingListPrev(data.UsePrintPackingList); //Denne skal ligge neders pga event oppdatering\r\n\r\n self.showRefreshSpin(false);\r\n\r\n if (self.previousCarrierId == null) {\r\n PubSub.publish(mcWeb.shipment.events.onChangedShipment, data);\r\n self.previousCarrierId = self.selectedCarrierId();\r\n self.previousCarrierList = self.carrierList();\r\n }\r\n else if (self.carrierHasChanged(self.carrierList(), data.SelectedCarrierId)) {\r\n PubSub.publish(mcWeb.shipment.events.onChangedShipment, data);\r\n self.previousCarrierId = self.selectedCarrierId();\r\n self.previousCarrierList = self.carrierList();\r\n }\r\n };\r\n\r\n self.carrierHasChanged = function (newCarrierList, newSelectedCarrierId) {\r\n if (self.previousCarrierId !== newSelectedCarrierId)\r\n return true;\r\n if (self.previousCarrierList === null && newCarrierList !== null)\r\n return true;\r\n if (self.previousCarrierList !== null && newCarrierList === null)\r\n return true;\r\n if (self.previousCarrierList.length !== newCarrierList.length)\r\n return true;\r\n for (var i = 0; i < self.previousCarrierList.length; i++) {\r\n var previousCarrier = self.previousCarrierList[i];\r\n var currentCarrier = newCarrierList[i];\r\n if (previousCarrier.Id !== currentCarrier.Id)\r\n return true;\r\n if (previousCarrier.Name !== currentCarrier.Name)\r\n return true;\r\n if (previousCarrier.PrintPrice !== currentCarrier.PrintPrice)\r\n return true;\r\n }\r\n return false;\r\n }\r\n \r\n this.useInsuranceProduct.subscribe(function (checked) {\r\n if (!self.showInsuranceProduct()) return true;\r\n\r\n self.showRefreshSpin(true);\r\n\r\n var data = { addProduct: checked }\r\n try {\r\n self.service.GetAction(\"SetInsuranceProduct\", data).then(function (result) {\r\n self.showRefreshSpin(false);\r\n if (result == null || result.length < 1) return;\r\n if (result.Success === false)\r\n alert(result.Message);\r\n PubSub.publish(mcWeb.cart.events.onChangedCart, \"\");\r\n });\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n\r\n\r\n return true;\r\n });\r\n\r\n this.getPickupPointRegions = function () {\r\n if (!self.pickupPointEnabled()) return true;\r\n self.showRefreshSpin(true);\r\n\r\n self.service.GetAction(\"GetPickupPointRegions\", null).then(function (result) {\r\n self.showRefreshSpin(false);\r\n\r\n if (result == null || result.length < 1) return;\r\n\r\n self.pickupPointRegionList(result);\r\n self.pickupPointRegion(self.pickupPointRegionList()[0].Region);\r\n self.pickupPointRegionId(self.pickupPointRegionList()[0].RegionId);\r\n if (result.length === 1) self.pickupPointSelectedRegion(self.pickupPointRegionId());\r\n });\r\n return true;\r\n }\r\n\r\n this.pickupPointSelectedRegion.subscribe(function (regionId) {\r\n if (regionId == null) return false;\r\n if (regionId === \"\") return false;\r\n if (self.selectedCarrierId == null) return false;\r\n\r\n self.showRefreshSpin(true);\r\n\r\n var data = { regionId: regionId }\r\n self.service.GetAction(\"GetPickupPointCustomers\", data).then(function (result) {\r\n self.showRefreshSpin(false);\r\n\r\n if (result == null || result.length < 1) return;\r\n\r\n self.pickupPointCustomerList(result);\r\n self.pickupPointCustomername(self.pickupPointCustomerList()[0].Customername);\r\n });\r\n return true;\r\n });\r\n\r\n this.saveSelectedPickupPointCustomer = function (customerId, customerName, customerEmail) {\r\n if (customerId == null || customerName == null || customerEmail == null) return false;\r\n var data = { customerId: customerId, customerName: customerName, customerEmail: customerEmail }\r\n\r\n self.showRefreshSpin(true);\r\n self.service.GetAction(\"SaveSelectedPickupPointCustomer\", data).then(function (result) {\r\n self.showRefreshSpin(false);\r\n });\r\n\r\n return true;\r\n }\r\n\r\n this.pickupPointSelectedCustomer.subscribe(function (selectedPickupPoint) {\r\n if (selectedPickupPoint == null) return false;\r\n if (self.selectedCarrierId == null) return false;\r\n\r\n var customername = \"\";\r\n var customerEmail = \"\";\r\n\r\n if (selectedPickupPoint.Customername != null) customername = selectedPickupPoint.Customername.trim();\r\n if (selectedPickupPoint.EmailAddress != null) customerEmail = selectedPickupPoint.EmailAddress.trim();\r\n\r\n self.saveSelectedPickupPointCustomer(selectedPickupPoint.CustomerId, customername, customerEmail);\r\n\r\n return true;\r\n });\r\n\r\n var setSelectedCarrier = function (data) {\r\n jQuery.each(data.CarrierList, function (index, obj) {\r\n if (obj.Id == data.SelectedCarrierId && (self.selectedCarrierName() !== obj.Name || self.selectedCarrierPrice() !== obj.PrintPrice)) {\r\n var publishEvent = self.selectedCarrierName() !== undefined;\r\n\r\n self.selectedCarrierName(obj.Name);\r\n self.selectedCarrierPrice(obj.PrintPrice);\r\n\r\n self.logistraPickupPointsForSelectedCarrier(obj.LogistraPickupPoints);\r\n if (!self.selectedLogistraPickupPoint())\r\n self.saveLogistraPickupPoint(null);\r\n\r\n if (publishEvent)//no need upon first load\r\n PubSub.publish(mcWeb.cartsmall.events.onChangedQuantityCartSmall, \"\");\r\n }\r\n else if (obj.Id == data.SelectedCarrierId) {\r\n self.logistraPickupPointsForSelectedCarrier(obj.LogistraPickupPoints);\r\n if (!self.selectedLogistraPickupPoint())\r\n self.saveLogistraPickupPoint(null);\r\n }\r\n });\r\n self.getPickupPointRegions();\r\n }\r\n\r\n this.onChangedLogistraPickupPoint = function (context) {\r\n try {\r\n var id = self.selectedLogistraPickupPoint();\r\n if (!id) return;\r\n var data = context.logistraPickupPointsForSelectedCarrier().find(obj => { return obj.Id === id })\r\n self.saveLogistraPickupPoint(data);\r\n\r\n // Frakt må oppdateres. Prisen kan være annen for valgt utleveringssted.\r\n PubSub.publish(mcWeb.shipment.events.reloadShipment);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n };\r\n\r\n this.saveLogistraPickupPoint = function (saveRequest) {\r\n self.showRefreshSpin(true);\r\n\r\n try {\r\n self.service.GetAction(\"SaveSelectedLogistraPickupPoint\", saveRequest).then(function (result) {\r\n self.showRefreshSpin(false);\r\n if (result == null || result.length < 1) return;\r\n if (result.Success === false)\r\n alert(result.Message);\r\n });\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }\r\n\r\n //Subscribe to event\r\n this.saveSelectedCarrier = function (carrier) {\r\n self.showRefreshSpin(true);\r\n\r\n self.pickupPointSelectedCustomer(undefined);\r\n self.pickupPointSelectedRegion(undefined);\r\n self.pickupPointCustomerList.removeAll();\r\n\r\n self.selectedCarrierName(carrier.Name);\r\n self.selectedCarrierPrice(carrier.PrintPrice);\r\n\r\n var authenticationGuid = mcWeb.currentUser.getAuthenticationGUID();\r\n var email = mcWeb.loginCheckout.getEmail();\r\n carrier.PickupPoint = null;\r\n\r\n var data = {\r\n carrierItem: carrier,\r\n email: email,\r\n zipCode: null,\r\n isCheckout: self.isCheckout,\r\n authenticationGuid: authenticationGuid\r\n }\r\n\r\n self.service.PostAction(\"SaveSelectedCarrier\", data).then(function (result) {\r\n self.showRefreshSpin(false); \r\n \r\n PubSub.publish(mcWeb.shipment.events.onSelectedShipment, carrier);\r\n\r\n if (result !== null && result != undefined) {\r\n PubSub.publish(mcWeb.events.customerRegistration.onChangedCustomerData, result.CustomerRegistration);\r\n if (result.SelectedCarrierRemoved) {\r\n PubSub.publish(mcWeb.shipment.events.reloadShipment, result.Carriers);\r\n }\r\n //result.HasLockedDeliveryAddress = true / false;\r\n }\r\n });\r\n return true;\r\n };\r\n\r\n PubSub.subscribe(mcWeb.shipment.events.onSelectedShipment, function (message, carrier) {\r\n if (!carrier)\r\n return;\r\n\r\n self.selectedCarrierName(carrier.Name);\r\n self.selectedCarrierPrice(carrier.PrintPrice);\r\n });\r\n\r\n this.showCarrierList = function () {\r\n self.showOnlyCarrierList(true);\r\n }\r\n\r\n PubSub.subscribe(mcWeb.cart.events.hasCartItems, function (message, data) {\r\n\r\n if (data != null) {\r\n self.hasCartItems(data); //was False\r\n }\r\n });\r\n\r\n PubSub.subscribe(mcWeb.shipment.events.reloadShipment, function (message, data) {\r\n self.load(data);\r\n });\r\n\r\n PubSub.subscribe(mcWeb.events.customerRegistration.onChangedCustomerData, function (message, data) {\r\n if (data == null)\r\n return\r\n\r\n if (data.useDifferentDeliveryAddress != null && data.useDifferentDeliveryAddress == true) {\r\n if (data.postnrDelivery != null && data.postnrDelivery != self.zipCode()) {\r\n self.LoadZipCode(data.postnrDelivery);\r\n }\r\n\r\n self.adressDelivery((data.adressDelivery == null) ? \"\" : data.adressDelivery);\r\n self.adresstillegDelivery((data.adresstillegDelivery == null) ? \"\" : data.adresstillegDelivery);\r\n self.poststedDelivery((data.poststedDelivery == null) ? \"\" : data.poststedDelivery);\r\n }\r\n else {\r\n if (data.postnr != null && data.postnr != self.zipCode()) {\r\n self.LoadZipCode(data.postnr);\r\n }\r\n\r\n self.adressDelivery((data.adress == null) ? \"\" : data.adress);\r\n self.adresstillegDelivery((data.adresstilleg == null) ? \"\" : data.adresstilleg);\r\n self.poststedDelivery((data.poststed == null) ? \"\" : data.poststed);\r\n }\r\n });\r\n\r\n PubSub.subscribe(mcWeb.events.customerRegistration.onChangedCity, function (message, city) {\r\n self.poststedDelivery((city == null || city.length < 1) ? '' : city);\r\n });\r\n\r\n PubSub.subscribe(mcWeb.events.customerRegistration.onChangedZipCode, function (message, data) {\r\n if (!data)\r\n return;\r\n\r\n var zipCode = data.zipCode;\r\n if (!zipCode)\r\n return;\r\n\r\n if (self.zipCode() != zipCode) {\r\n self.zipCodePrev(zipCode);\r\n self.zipCode(zipCode);\r\n self.load();\r\n }\r\n });\r\n\r\n PubSub.subscribe(mcWeb.payments.events.onSelectedPayment, function (message, paymentId) {\r\n if (paymentId != null) {\r\n self.service.GetAction(\"ShowCollectedDeliveryBasedOnPayment\", { betBetId: paymentId }).then(function (result) {\r\n if (result == 2) {\r\n self.showCollectedDelivery(false);\r\n self.useCollectedDelivery(true);\r\n }\r\n self.showCollectedDelivery((result === 1));\r\n });\r\n }\r\n });\r\n\r\n this.LoadZipCode = function (zipCode) {\r\n if (zipCode == null || zipCode.length < 3)\r\n return\r\n\r\n try {\r\n if ((zipCode.indexOf(\"*\") > -1)) {\r\n self.showCheckoutZipCode(false);\r\n return;\r\n }\r\n\r\n self.showRefreshSpin(true);\r\n\r\n var data = { zipCode: zipCode };\r\n PubSub.publish(mcWeb.events.customerRegistration.onChangedZipCode, data);\r\n PubSub.publish(mcWeb.cart.events.onChangedCart, null);\r\n\r\n } catch (e) {\r\n stopUpdateIcon();\r\n console.error(e);\r\n }\r\n };\r\n\r\n this.shipmentInfo = function () {\r\n if (self.zipCode() != null && self.zipCode().indexOf('*') > -1) {\r\n return \"\";\r\n }\r\n\r\n var text = (self.postOffice() == null || self.postOffice().length < 1) ? \"\" : self.postOffice() + ' ';\r\n text += (self.zipCode() == null || self.zipCode().length < 1) ? \"\" : self.zipCode() + ' ';\r\n text += (self.poststedDelivery() == null || self.poststedDelivery().length < 1) ? \"\" : self.poststedDelivery() + ' ';\r\n\r\n return text;\r\n };\r\n\r\n /* NEW */\r\n this.onToggleCarrierTypes = function () {\r\n $('#carriers').slideToggle();\r\n };\r\n\r\n this.isNumberKey = function (sender, e) {\r\n var key = (e.which) ? e.which : e.keyCode;\r\n if (key == 13) {\r\n document.activeElement.blur();\r\n return false;\r\n }\r\n return !(key > 31 && (key < 48 || key > 57));\r\n };\r\n\r\n self.zipCode.subscribe(function (zipCode) {\r\n\r\n if (self.zipCodePrev() == zipCode)\r\n return;\r\n\r\n self.poststedDelivery('');\r\n\r\n if (zipCode != null && zipCode.length > 3) {\r\n self.zipCodePrev(zipCode);\r\n self.LoadZipCode(zipCode);\r\n }\r\n });\r\n\r\n $('#qt-carrier-zipcode-i').popover({\r\n trigger: 'hover',\r\n title: $('#qt-carrier-zipcode-t').html(),\r\n content: $('#qt-carrier-zipcode-c').html(),\r\n placement: 'top',\r\n container: 'body'\r\n });\r\n\r\n $('#qt-coll-delivery-i').popover({\r\n trigger: 'hover',\r\n title: $('#qt-coll-delivery-t').html(),\r\n content: $('#qt-coll-delivery-c').html(),\r\n placement: 'top',\r\n container: 'body'\r\n });\r\n\r\n $('#qt-print-packing-i').popover({\r\n trigger: 'hover',\r\n title: $('#qt-print-packing-t').html(),\r\n content: $('#qt-print-packing-c').html(),\r\n placement: 'top',\r\n container: 'body'\r\n });\r\n\r\n $('#qt-insurance-i').popover({\r\n trigger: 'hover',\r\n title: $('#qt-insurance-t').html(),\r\n content: $('#qt-insurance-c').html(),\r\n placement: 'top',\r\n container: 'body'\r\n });\r\n\r\n ko.bindingHandlers.popoverShipping = {\r\n init: function (element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {\r\n var node = $(element);\r\n self.popoverNode = node;\r\n var option = ko.utils.unwrapObservable(valueAccessor());\r\n var conId = option.contentid, titId = option.titleid, kn = \"-kn\";\r\n var contentkn = \"
\" + $('#' + conId).html() + \"
\";\r\n var titlekn = \"
\" + $('#' + titId).html() + \"
\";\r\n\r\n self.togglePopover = function () {\r\n $(event.target.parentElement).popover('toggle');\r\n var innerData = document.getElementById(conId);\r\n\r\n ko.cleanNode(innerData);\r\n }\r\n\r\n node.popover({\r\n title: titlekn,\r\n content: contentkn,\r\n html: option.html,\r\n trigger: 'manual',\r\n placement: function (context) {\r\n var con = jQuery(context);\r\n con.addClass(option.contentClass);\r\n\r\n var module = $('body.mc-inline-editor');\r\n if (module.length > 0)\r\n return 'bottom';\r\n\r\n con.on('mouseleave', function () {\r\n node.popover('hide');\r\n self.popoverOpen(false);\r\n return true;\r\n });\r\n return 'bottom';\r\n }\r\n });\r\n\r\n node.click(function () {\r\n\r\n self.togglePopover();\r\n self.popoverOpen(!self.popoverOpen());\r\n\r\n if (self.inlineEditor && !!mcWeb.inlineEditor) {\r\n mcWeb.inlineEditor.init(true);\r\n }\r\n });\r\n }\r\n };\r\n };\r\n});\r\n"],"names":["mcWeb","checkout","events","onShowSendOrder","$","jQuery","self","service","WebApiService","langService","LanguageService","cartName","cartGuid","isCheckoutPage","length","returnCode","getParameterByName","showErrorMessageFromReturnCode","btnOrderEl","priceEl","salesConditionsEl","PubSub","subscribe","message","status","registration","customerRegistration","instances","registrationVM","blockedCustomer","showBtn","disabledBtn","hide","removeClass","addClass","show","showPrice","showSalesConditions","findElement","payment","element","selectedPayment","find","findClass","cssClass","validatePayment","paymentId","validate","isValid","resName","CustomerType","isFodselsnummerValid","isOrgnrValid","paymentViewSantander","payments","validSantander","validateSantander","IsValid","ResName","Element","paymentViewSvea","validSveaWebPay","validateSveaWebPay","ShowOrgnrSsn","fieldType","ShowOrgnrSsnField","isBirthdateValid","errorText","validation","getErrorMessage","then","result","qTipActionShow","addErrorClass","setValidCss","disableOrderButton","attr","enableOrderButton","removeAttr","insertOrder","conditionsVM","btnSendOrder","showErrorMessage","html","zipCode","undefined","val","focus","epost","toLowerCase","paymentValidationResult","showWaitTemplate","validateCustomerSelectionType","validationResult","success","requireLogin","invalidElements","scrollToFirstInvalidElement","elem","salesConditionsAccepted","saveDeliveryAddressChanges","saveDeliveryResult","Success","Message","GetAction","getLibrary","SkiAssembly","load","SkiAttributeAssembly","publish","MessageToPublish","MessageToPublishData","console","log","alert","lightbox","onShowLightbox","backdrop","keyboard","customer","getJsonData","paymentData","paymentDetails","resourceName","validateSantanderAddress","postnr","poststed","adress","getValue","value","santanderApplicationDetails","RegisteredPostCode","Birthdate","birthDate","customerType","deliveryWindow","start","end","token","expiresAt","porterbuddyProduct","product","PostAction","CustomerData","PaymentDetails","CartGuid","CartName","ReturnCode","window","location","RedirectUrl","ErrorMessageSpecified","ErrorMessage","selectCurrencyParam","SupportedCurrencies","loginServcie","changedCurrencyResult","Msg","on","e","cart","onChangedCart","SecondaryErrorMessageSpecified","UseSecondaryErrorMessageAsReturnCode","SecondaryErrorMessage","onShowShipment","shipment","reloadShipment","reload","catch","error","modal","salesCondCheckbox","salesconditions","is","prop","showAlertErrorMessage","unknownErrorCodes","indexOf","country","replace","email","asHtml","msg","append","showTemplate","animationTime","topOffset","animate","scrollTop","offset","top","name","regex","RegExp","results","exec","search","decodeURIComponent","wait","template","data","checkoutConfirmation","instance","checkoutConfirmationObj","id","json","jsonSetting","vm","view","referenceNo","ko","observable","obj","setting","ReferenceNo","applyBindings","document","getElementById","checkoutFooterView","conditionsStatus","isFunctionalConditionAccepted","acceptDocuments","observableArray","usageArea","refCondVm","isOrderRefRequired","settings","conditions","onAcceptChange","evt","conditionStatus","functionalConditionIsAccepted","onOrderRefReqChange","el","tooltip","blur","source","condsForProcessing","highlightRequired","qTipActionShowClickHide","innerText","_regeneratorRuntime","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","constructor","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","_asyncToGenerator","fn","args","arguments","apply","err","extend","KCO_BETBETID","SVEA_PARTPAYMENT","ARVATO_PARTPAYMENT","ARVATO_BUSINESS","NETS_EASY_BETBETID","VIPPS_BETBETID","SCO_BETBETID","netsEasyCheckout","netsEasyCheckoutHtml","betBetIdList","isBound","isPublishMode","publishModeBody","kcoValidateCountry","netsEasyCheckoutUrl","netsEasyProduction","netsEasyEnabled","waitCheckoutSnippet","cancelEnter","event","keyCode","preventDefault","isPaymentChange","onCustomerRegLoaded","innerLoad","onShowUpdateIcon","Porterbuddy","CustomerCountryId","klarnaShowCustomerTypeSelection","klarnaShippingAssistantEnabled","klarnaShowChangedCustomerTypeMessage","Klarna","ShowCustomerTypeSelection","ShippingAssistantEnabled","ShowChangedCustomerTypeMessage","sveaCheckoutShowCustomerTypeSelection","SveaCheckout","vippsExpressCheckoutInCart","vippsShowCustomerTypeSelection","vippsAllowBusinessCustomer","Vipps","isLoggedIn","readOnly","ExpressCheckoutInCart","AllowBusinessCustomer","NetsEasy","Enabled","Production","netsEasyShowCustomerTypeSelection","CheckoutUrl","setNetsEasyCheckoutScriptSource","experianRemoved","hideExperianBetBet","expIndex","PaymentTypes","PaymentId","experianBetBetId","splice","hideOrgnrSsn","KlarnaCustomerType","addBindings","IsLoggedIn","BirthDate","paymentMethodSelected","hasKlarnaCheckout","doLoadCustomerForm","selectPaymentType","SelectedId","PaymentList","reloadPayments","onHideUpdateIcon","showCustomerRegButtonPrivate","computed","onlyBusiness","showCustomerRegButtonBusiness","onlyPrivate","vmNode","VMID","lockPorterbuddyRecipientInfo","loadCustomerForm","highlightRequiredConditions","hasCartItems","functionalConditionsAccepted","showPayments","selectedPaymentOld","newValue","onSelectedPayment","KlarnaCampaigns","Fodselsnummer","RegisteredZip","isValidDateddmmyy","date","input","symbol","Orgnr","updateOrgNr","selectedSveaPaymentPlanOptionRadio","showSveaPaymentPlanOptionInfo","campaignCode","formatMoney","money","formatInterest","interest","GothiaTOS","GothiaRequireCustomerConfirmation","AcceptedTermsAndConditions","showRefreshSpin","showRefreshSpinMargin","SveaWebPayPaymentPlanOptions","GetSveaWebPayPaymentPlanOptions","showCustomerSelection","hight","parseFloat","height","NaN","hasCartItem","onChangedCustomerData","RegisterKlarnaListener","previousFunctionalAcceptanceStatus","KCOisLoaded","processPaymentMethods","UpdateCheckoutCartItems","loginCheckout","onShowLoginPassword","tabContent","tabHeight","css","form","detach","tab","appendTo","queue","duration","nav","onShowHideLogin","getGothiaAccountTos","getSveaWebPayPaymentPlanOptions","inlineEditor","init","paymentType","paymentText","PaymentText","handlePaymentChange","qtip","clickPrivate","porterbuddy","setRecipientInfoLocked","orgnrTemp","birthdate","SocialSecurityNumber","CampaignCode","AcceptCreditCheck","OrgNumber","updatePaymentWithPBAddress","recipientInfo","provider","addressLine","streetAddress","postCode","req","Provider","AddressLine","ZipCode","Email","radioButtonListArray","checked","paymentDiv","toFind","found","JSON","parse","TermsAndConditions","RequireCustomerConfirmation","gothiaShowTermsAndConditions","generator","open","write","close","getFakturaGebyr","klarna","regEx","test","isZipCodeValid","isZipCodeValidFormat","landId","match","isPhoneValidFormat","phone","dateString","selectFirstInList","filter","GetCheckoutSnippet","GetCheckout","disableSveaCheckout","customerData","trim","Customer","IsPaymentChange","SetKlarnaCheckout","SetNetsEasyCheckout","CheckoutOptions","enableSveaCheckout","SetSveaCheckout","scoApi","setCheckoutEnabled","snippet","RegisterSveaCheckoutListener","netsEasyCheckoutPaymentId","checkoutOptions","checkoutSnippetHtml","cleanup","Dibs","Checkout","RegisterNetsEasyCallback","response","redirectMsg","onHideLightbox","address","countryCode","postalCode","landKode3","onChangedZipCode","UpdateCheckoutZipCode","paymentAddress","Name","StreetAddress","StreetAddress2","PostalCode","City","CountryCode","SetPorterbuddyRecipientInfo","defaultCustomerType","showPaymentProviderCartReloadLightbox","send","SuspendKlarnaCheckout","_klarnaCheckout","api","suspend","ResumeKlarnaCheckout","resume","IsKcoEnabled","kcoEnabled","isKcoEnabled","netsEasyFrozen","freezeCheckout","netsEasyFreezeStack","thawCheckout","showKcoCartReloadLightbox","addEventListener","changeCustomerType","onChangedCustomerType","clickBusiness","showCustomerType","showRegButtons","VippsExpressCheckout","checkoutFooter","okToContinue","url","ajax","contentType","logPb","customEventHandlers","observeEvent","_ref","_callee","valid","_callee$","_context","ValidateSveaTransaction","callback","_x","toString","previousPbEmail","previousPbPostCode","previousPbStreetAddress","_ValidateSveaTransaction","_callee2","validateResult","_callee2$","_context2","shippingOptionsHandled","shippingOptions","homeDeliveryOptions","refreshShippingOptions","includes","setRecipientInfo","localStorage","getItem","savePbRecipientToLocalStorage","getShippingOptions","pb","sri","refresh","SetRecipientInfo","PostCode","PreviousEmail","PreviousPostCode","PreviousStreetAddress","recipient","setItem","logTxt","logData","Text","Data","stringify","cartService","change","kcoData","onChangedEmail","postal_code","give_name","family_name","city","shipping_option_change","jsonData","shippingId","price","taxRate","tax_rate","taxAmount","tax_amount","shipmentService","billing_address_change","selectedCountry","m_Item1","countryText","m_Item2","zipCodePrev","showOrgnrSsn","Show","FieldToShow","updateKco","onChangedCampaignCode","onChangedQuantityCart","parentEvent","onSelectedShipment","onChangedShipment","ResetLoginCheckoutPosision","mcwe","car","focusFirstName","responsive","getScreenSize","setTimeout","login","onIsloggedIn","promise","validateModel","res","lastValidationResult","every","elementIsValid","SoftAdressValidation","addressWarningFlag","remove","index","validationRules","removeValidCss","rule","validateElement","eledata","target","elemValidationResult","salesConditions","showConditons","onClickConditions","showShipments","showShipmentsDetails","showShipmentPrice","showOnlyCarrierList","showCheckoutZipCode","selectedCarrierName","carrierList","selectedCarrierId","selectedCarrierPrice","logistraPickupPointsForSelectedCarrier","selectedLogistraPickupPoint","pickupPointEnabled","pickupPointRegionList","pickupPointCustomerList","pickupPointSelectedRegion","pickupPointSelectedCustomer","pickupPointRegion","pickupPointRegionId","pickupPointCustomername","popoverOpen","focusZipCode","postOffice","adressDelivery","adresstillegDelivery","poststedDelivery","isCheckout","showCollectedDelivery","useCollectedDeliveryPrev","useCollectedDelivery","previousCarrierId","previousCarrierList","onChangeCollectedDelivery","showInsuranceProduct","useInsuranceProduct","showPrintPackingList","usePrintPackingListPrev","usePrintPackingList","onChangedUsePrintPackingList","active","ShowShipments","ShowShipmentPrice","ShowOnlyCarrierList","ShowCheckoutZipCode","ShowCollectedDelivery","ShowPrintPackingList","ShowInsuranceProduct","InlineEditor","PickupPointEnabled","CarrierList","SelectedCarrierId","setSelectedCarrier","UseCollectedDelivery","UseInsuranceProduct","KlarnaShippingAssistantEnabled","UsePrintPackingList","carrierHasChanged","newCarrierList","newSelectedCarrierId","previousCarrier","currentCarrier","Id","PrintPrice","addProduct","getPickupPointRegions","Region","RegionId","regionId","Customername","saveSelectedPickupPointCustomer","customerId","customerName","customerEmail","selectedPickupPoint","customername","EmailAddress","CustomerId","each","publishEvent","LogistraPickupPoints","saveLogistraPickupPoint","cartsmall","onChangedQuantityCartSmall","onChangedLogistraPickupPoint","context","saveRequest","saveSelectedCarrier","carrier","removeAll","authenticationGuid","currentUser","getAuthenticationGUID","getEmail","PickupPoint","carrierItem","CustomerRegistration","SelectedCarrierRemoved","Carriers","showCarrierList","useDifferentDeliveryAddress","postnrDelivery","LoadZipCode","adresstilleg","onChangedCity","betBetId","stopUpdateIcon","shipmentInfo","text","onToggleCarrierTypes","slideToggle","isNumberKey","sender","which","activeElement","popover","trigger","title","content","placement","container","bindingHandlers","popoverShipping","valueAccessor","allBindingsAccessor","viewModel","bindingContext","node","popoverNode","option","utils","unwrapObservable","conId","contentid","titId","titleid","kn","contentkn","titlekn","togglePopover","parentElement","innerData","cleanNode","con","contentClass","module","click"],"sourceRoot":""}