{"version":3,"file":"./frontend/certificates.js","mappings":";;;;;AAAA;AACE,WAAUA,CAAC,EAAG;EACf,IAAIC,KAAK,EAAEC,qBAAqB,EAAEC,uBAAuB,EACxDC,0BAA0B,EAAEC,aAAa,EAAEC,qBAAqB,EAChEC,cAAc,EAAEC,iCAAiC;EAElD,IAAIC,+BAA+B;EACnC,IAAIC,8BAA8B;EAElCC,MAAM,CAACC,cAAc,GAAG,UAAUC,EAAE,EAAEC,OAAO,EAAG;IAC/C,IAAIC,IAAI,GAAG,IAAI;MACdC,QAAQ,GAAG;QACVC,KAAK,EAAE,CAAC;QACRC,MAAM,EAAE,CAAC;QACTC,aAAa,EAAE,CAAC;QAChBC,cAAc,EAAE,CAAC;QACjBC,KAAK,EAAE;MACR,CAAC;MACDC,GAAG,GAAGtB,CAAC,CAAEa,EAAG,CAAC;MACbU,OAAO,GAAG,IAAI;MACdC,YAAY;MAAEC,UAAU;IAEzB,IAAIC,sBAAsB,EAAEC,WAAW,EAAEC,qBAAqB;IAE9D,SAASC,IAAIA,CAAA,EAAG;MACfL,YAAY,GAAGxB,CAAC,CAAEW,MAAO,CAAC,CAACO,MAAM,CAAC,CAAC;MACnCO,UAAU,GAAGzB,CAAC,CAAEW,MAAO,CAAC,CAACM,KAAK,CAAC,CAAC;MAChCa,WAAW,CAAC,CAAC;MACbC,UAAU,CAAC,CAAC;MACZ/B,CAAC,CAAEgC,QAAS,CAAC,CAACC,EAAE,CAAE,OAAO,EAAE,cAAc,GAAGX,GAAG,CAACY,IAAI,CAAE,IAAK,CAAC,GAAG,IAAI,EAAE,UAAUC,CAAC,EAAG;QAClFA,CAAC,CAACC,cAAc,CAAC,CAAC;QAClBC,QAAQ,CAAC,CAAC;MACX,CAAE,CAAC;MACHtB,IAAI,CAACQ,OAAO,GAAGA,OAAO;IACvB;IAEA,SAASO,WAAWA,CAAA,EAAG;MACtBJ,sBAAsB,GAAG1B,CAAC,CAAE,sBAAuB,CAAC;IACrD;IAEA,SAAS+B,UAAUA,CAAA,EAAG;MACrB,IAAK,CAAER,OAAO,EAAG;QAChBA,OAAO,GAAGD,GAAG,CAACgB,IAAI,CAAE,QAAS,CAAC;QAC9Bf,OAAO,GAAG,IAAIgB,MAAM,CAACC,MAAM,CAAEjB,OAAO,CAACkB,GAAG,CAAE,CAAE,CAAE,CAAC;QAC/ClB,OAAO,CAACmB,SAAS,GAAG,KAAK;QAEzB1C,CAAC,CAAC2C,IAAI,CAAE7B,OAAO,CAAC8B,MAAM,EAAE,UAAUC,CAAC,EAAG;UACrCC,WAAW,EAAE;QACd,CAAE,CAAC;QAEH9C,CAAC,CAAC2C,IAAI,CAAE7B,OAAO,CAAC8B,MAAM,EAAE,UAAUC,CAAC,EAAEE,KAAK,EAAG;UAC5C,IAAK,CAAEA,KAAK,CAACC,IAAI,EAAG;YACnB;UACD;UAEA,IAAKhD,CAAC,CAACiD,aAAa,CAAEF,KAAM,CAAC,EAAG;YAC/BG,WAAW,CAAEH,KAAM,CAAC;UACrB;QACD,CAAE,CAAC;MACJ;IACD;IAEA,SAASI,aAAaA,CAAEC,OAAO,EAAG;MACjC;MACA;MACA,MAAMC,UAAU,GAAGC,IAAI,CAAEF,OAAO,CAACG,KAAK,CAAE,GAAI,CAAC,CAAE,CAAC,CAAG,CAAC;;MAEpD;MACA,MAAMC,UAAU,GAAGJ,OAAO,CAACG,KAAK,CAAE,GAAI,CAAC,CAAE,CAAC,CAAE,CAACA,KAAK,CAAE,GAAI,CAAC,CAAE,CAAC,CAAE,CAACA,KAAK,CAAE,GAAI,CAAC,CAAE,CAAC,CAAE;;MAEhF;MACA,MAAME,EAAE,GAAG,IAAIC,WAAW,CAAEL,UAAU,CAACM,MAAO,CAAC;;MAE/C;MACA,MAAMC,EAAE,GAAG,IAAIC,UAAU,CAAEJ,EAAG,CAAC;;MAE/B;MACA,KAAM,IAAIZ,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGQ,UAAU,CAACM,MAAM,EAAEd,CAAC,EAAE,EAAG;QAC7Ce,EAAE,CAAEf,CAAC,CAAE,GAAGQ,UAAU,CAACS,UAAU,CAAEjB,CAAE,CAAC;MACrC;;MAEA;MACA,MAAMkB,IAAI,GAAG,IAAIC,IAAI,CAAE,CAAEP,EAAE,CAAE,EAAE;QAAET,IAAI,EAAEQ;MAAW,CAAE,CAAC;MACrD,OAAOO,IAAI;IACZ;IAEA,IAAIE,kBAAkB,GAAG,aAAa;IAEtC,SAAS5B,QAAQA,CAAA,EAAG;MACnB,IAAKV,WAAW,CAACgC,MAAM,EAAG;QACzB,MAAMO,YAAY,GAAGvC,WAAW,CAACwC,IAAI,CAAE,eAAgB,CAAC;QAExD,IAAKC,SAAS,KAAKtD,OAAO,CAACuD,IAAI,EAAG;UACjCJ,kBAAkB,GAAGnD,OAAO,CAACuD,IAAI;QAClC;QAEA,QAASH,YAAY;UACrB,KAAK,KAAK;YACTI,WAAW,CAAC,CAAC;YACb;UACD,KAAK,OAAO;UACZ;YACCC,aAAa,CAAC,CAAC;YACf;QACD;MACD;IACD;IAEA,SAASA,aAAaA,CAAA,EAAG;MACxB,MAAMC,IAAI,GAAG;QACZC,MAAM,EAAE,KAAK;QACbC,UAAU,EAAE,CAAC,GAAGnD,OAAO,CAACoD,OAAO,CAAC;MACjC,CAAC;MAED,MAAMC,QAAQ,GAAGrD,OAAO,CAACsD,SAAS,CAAC,CAAC;MACpC,MAAMC,SAAS,GAAG3B,aAAa,CAAEyB,QAAS,CAAC;MAC3C,MAAMG,QAAQ,GAAG,IAAIC,QAAQ,CAAC,CAAC;MAE/Bf,kBAAkB,GAAGA,kBAAkB,GAAG,MAAM;MAEhDc,QAAQ,CAACE,MAAM,CAAE,OAAO,EAAEH,SAAS,EAAEb,kBAAmB,CAAC;MAEzDiB,UAAU,CAAE3D,OAAO,CAACsD,SAAS,CAAEL,IAAK,CAAC,EAAEP,kBAAmB,CAAC;MAE3D,OAAO,KAAK;IACb;IAEA,SAASkB,aAAaA,CAAA,EAAG;MACxB,MAAMX,IAAI,GAAG;QACZC,MAAM,EAAE,KAAK;QACbC,UAAU,EAAE,CAAC,GAAGnD,OAAO,CAACoD,OAAO,CAAC,CAAC;QACjCS,OAAO,EAAE;MACV,CAAC;MAED,MAAMjB,IAAI,GAAG5C,OAAO,CAACsD,SAAS,CAAEL,IAAK,CAAC;MAEtC,MAAMa,IAAI,GAAGrF,CAAC,CAAE,oCAAqC,CAAC,CAACsF,YAAY,CAAE,GAAG,GAAGhE,GAAG,CAAE,CAAC,CAAE,CAACiE,EAAG,CAAC;MAExF3D,qBAAqB,GAAG5B,CAAC,CAAE,qBAAsB,CAAC;MAElDqF,IAAI,CAACnD,IAAI,CAAE,KAAK,EAAEiC,IAAK,CAAC;;MAExB;MACAqB,UAAU,CAAE,YAAW;QACtB,IAAKH,IAAI,CAACpE,KAAK,CAAC,CAAC,GAAGQ,UAAU,EAAG;UAChCG,qBAAqB,CAAC6D,GAAG,CAAE,OAAO,EAAE,MAAO,CAAC;QAC7C;MACD,CAAC,EAAE,GAAI,CAAC;IACT;IAEA,IAAI3C,WAAW,GAAG,CAAC;IACnB,IAAI4C,kBAAkB,GAAG,CAAC;IAE1B,SAASC,uBAAuBA,CAAA,EAAG;MAClCD,kBAAkB,EAAE;MAEpB,IAAKA,kBAAkB,KAAK5C,WAAW,EAAG;QACzC,MAAM8C,cAAc,GAAG9E,OAAO,CAAC+E,QAAQ;QACvC;;QAEA,MAAMC,UAAU,GAAG,IAAIC,KAAK,CAAC,CAAC;QAC9B,MAAMC,WAAW,GAAG,CAAC,CAAC;;QAEtB;QACA,IAAK5B,SAAS,KAAK6B,kBAAkB,EAAG;UACvC,MAAMC,cAAc,GAAG,IAAIC,MAAM,CAAE,GAAG,GAAGF,kBAAkB,CAACG,QAAS,CAAC;UAEtE,IAAK,CAAEF,cAAc,CAACG,IAAI,CAAET,cAAe,CAAC,EAAG;YAC9CE,UAAU,CAACQ,WAAW,GAAG,WAAW;YACpCN,WAAW,CAACM,WAAW,GAAG,WAAW;UACtC;QACD;QAEAR,UAAU,CAACS,MAAM,GAAG,YAAW;UAC9BvF,QAAQ,GAAG;YACVC,KAAK,EAAE,IAAI,CAACA,KAAK;YACjBC,MAAM,EAAE,IAAI,CAACA;UACd,CAAC;UAEDqB,MAAM,CAACwD,KAAK,CAACS,OAAO,CAAEV,UAAU,CAACW,GAAG,EAAE,UAAUC,GAAG,EAAG;YACrDnF,OAAO,CAACoF,eAAe,GAAGD,GAAG;YAC7BE,UAAU,CAAC,CAAC;YACZzB,aAAa,CAAC,CAAC;YAEf,IAAK3E,iCAAiC,CAACmD,MAAM,EAAG;cAC/CkD,iBAAiB,CAAC,CAAC;YACpB;YAEA,IAAKnF,sBAAsB,CAACiC,MAAM,EAAG;cACpChC,WAAW,GAAGD,sBAAsB,CAACY,IAAI,CAAE,WAAY,CAAC;YACzD;YAEA,MAAMwE,YAAY,GAAG9G,CAAC,CAAEgC,QAAS,CAAC,CAACM,IAAI,CAAEzB,EAAG,CAAC;YAC7C,IAAKiG,YAAY,EAAG;cACnB,MAAMC,WAAW,GAAGD,YAAY,CAACxE,IAAI,CAAE,qBAAsB,CAAC;cAC9DyE,WAAW,CAACC,QAAQ,CAAE,QAAS,CAAC;YACjC;;YAEA;YACAhH,CAAC,CAAEgC,QAAS,CAAC,CAACiF,cAAc,CAAE,iCAAkC,CAAC;UAClE,CAAC,EAAEjB,WAAY,CAAC;QACjB,CAAC;QAEDF,UAAU,CAACW,GAAG,GAAGb,cAAc;MAChC;IACD;IAEA,SAASiB,iBAAiBA,CAAA,EAAG;MAC5B,MAAM1C,IAAI,GAAG;QACZ+C,MAAM,EAAE,mBAAmB;QAC3BC,MAAM,EAAEvF,qBAAqB,CAACM,IAAI,CAAE,KAAM,CAAC;QAC3CkF,UAAU,EAAEtG,OAAO,CAACuG;MACrB,CAAC;MAEDrH,CAAC,CAACsH,IAAI,CAAE;QACPC,GAAG,EAAEtB,kBAAkB,CAACuB,QAAQ;QAChCrD,IAAI;QACJsD,MAAM,EAAE,MAAM;QACdC,QAAQ,EAAE,MAAM;QAChBC,UAAUA,CAAA,EAAG;UACZjG,sBAAsB,CAACuD,MAAM,CAAE,wDAAyD,CAAC;QAC1F,CAAC;QACD2C,OAAOA,CAAEC,EAAE,EAAG;UACb,IAAKA,EAAE,CAACC,IAAI,KAAK,CAAC,EAAG;YACpB9H,CAAC,CAAC2C,IAAI,CAAEpC,cAAc,EAAE,UAAU4B,CAAC,EAAG;cACrC,MAAM4F,MAAM,GAAG/H,CAAC,CAAE,IAAK,CAAC,CAACsC,IAAI,CAAE,GAAI,CAAC;cACpC,MAAM0F,SAAS,GAAGD,MAAM,CAAC7F,IAAI,CAAE,MAAO,CAAC;cACvC,MAAM+F,cAAc,GAAGD,SAAS,GAAGH,EAAE,CAACK,QAAQ;cAC9CH,MAAM,CAAC7F,IAAI,CAAE,MAAM,EAAE+F,cAAe,CAAC;YACtC,CAAE,CAAC;YAEH1H,cAAc,CAAC4H,IAAI,CAAC,CAAC;UACtB;QACD,CAAC;QACDC,QAAQA,CAAA,EAAG;UACV1G,sBAAsB,CAACY,IAAI,CAAE,aAAc,CAAC,CAAC+F,MAAM,CAAC,CAAC;QACtD,CAAC;QACDC,KAAKA,CAAEnG,CAAC,EAAG;UACVoG,OAAO,CAACC,GAAG,CAAErG,CAAE,CAAC;QACjB;MACD,CAAE,CAAC;IACJ;IAEA,SAASsG,UAAUA,CAAEC,KAAK,EAAG;MAC5B,MAAMvG,CAAC,GAAGH,QAAQ,CAAC2G,aAAa,CAAE,KAAM,CAAC;MACzCxG,CAAC,CAACyG,SAAS,GAAGF,KAAK;MACnB,OAAOvG,CAAC,CAAC0G,UAAU,CAAClF,MAAM,KAAK,CAAC,GAAG,EAAE,GAAGxB,CAAC,CAAC0G,UAAU,CAAE,CAAC,CAAE,CAACC,SAAS;IACpE;IAEA,SAAS5F,WAAWA,CAAEsB,IAAI,EAAG;MAC5BA,IAAI,CAACuE,IAAI,GAAGN,UAAU,CAAEjE,IAAI,CAACuE,IAAK,CAAC,IAAI,EAAE;MAEzC,MAAMC,QAAQ,GAAGhJ,CAAC,CAACiJ,MAAM,CAAE;UACzBC,QAAQ,EAAE,EAAE;UACZC,IAAI,EAAE,CAAC;UACPC,GAAG,EAAE,CAAC;UACNC,UAAU,EAAE,CAAC;UACbC,OAAO,EAAE,QAAQ;UACjBC,OAAO,EAAE,QAAQ;UACjBC,UAAU,EAAE,WAAW;UACvBC,SAAS,EAAE,QAAQ;UACnBC,OAAO,EAAE;QACV,CAAC,EAAElF,IAAK,CAAC;QACTuE,IAAI,GAAGvE,IAAI,CAACuE,IAAI,IAAI,EAAE;MAEvB,IAAIY,OAAO,GAAG,IAAI;MAElB,IAAI;QACH,MAAMC,MAAM,GAAG,uBAAuB,CAACvD,IAAI,CAAE7B,IAAI,CAACuE,IAAK,CAAC;QAExD,IAAKvE,IAAI,CAACiF,SAAS,KAAK,eAAe,IAAIG,MAAM,EAAG;UACnD,MAAMC,OAAO,GAAG,IAAI9D,KAAK,CAAC,CAAC;UAC3B8D,OAAO,CAACvD,WAAW,GAAG,WAAW;UAEjCuD,OAAO,CAACtD,MAAM,GAAG,YAAW;YAC3BoD,OAAO,GAAG,IAAIpH,MAAM,CAACwD,KAAK,CAAE,IAAI,EAAEiD,QAAS,CAAC;YAC5CW,OAAO,CAACG,MAAM,CAAED,OAAO,CAACpD,GAAG,EAAE,YAAW,CAAC,CAAC,EAAE;cAAEH,WAAW,EAAE;YAAY,CAAE,CAAC;YAC1E/E,OAAO,CAACwI,GAAG,CAAEJ,OAAQ,CAAC;YACtB;YACAhE,uBAAuB,CAAC,CAAC;UAC1B,CAAC;UAEDkE,OAAO,CAACpD,GAAG,GAAGjC,IAAI,CAACuE,IAAI;QACxB,CAAC,MAAM;UACN,MAAMiB,IAAI,GAAKC,CAAC,IAAMA,CAAC,CAACC,OAAO,CAC9B,kCAAkC,EAAE,MACrC,CAAC;UAEDP,OAAO,GAAG,IAAIpH,MAAM,CAAC4H,IAAI,CAAE,EAAE,EAAEnB,QAAS,CAAC;UAEzCW,OAAO,CAACZ,IAAI,GAAGiB,IAAI,CAAEL,OAAO,CAACZ,IAAK,CAAC;UACnC;;UAEAxH,OAAO,CAACwI,GAAG,CAAEJ,OAAQ,CAAC;UAEtBhE,uBAAuB,CAAC,CAAC;QAC1B;MACD,CAAC,CAAC,OAAQxD,CAAC,EAAG;QACboG,OAAO,CAACC,GAAG,CAAErG,CAAE,CAAC;MACjB;MAEA,OAAOwH,OAAO;IACf;IAEA,SAASS,WAAWA,CAAA,EAAG;MACtB,OAAO9I,GAAG,CAACL,KAAK,CAAC,CAAC;IACnB;IAEA,SAAS2F,UAAUA,CAAA,EAAG;MACrBrF,OAAO,CAAC8I,SAAS,CAAErJ,QAAQ,CAACE,MAAO,CAAC;MACpCK,OAAO,CAAC+I,QAAQ,CAAEtJ,QAAQ,CAACC,KAAM,CAAC;MAClCM,OAAO,CAACgJ,OAAO,CAAEvJ,QAAQ,CAACK,KAAM,CAAC;MACjCE,OAAO,CAACiJ,UAAU,CAAC,CAAC;MACpBjJ,OAAO,CAACkJ,SAAS,CAAC,CAAC;;MAEnB;IACD;IAEA,SAASC,QAAQA,CAAA,EAAG;MACnB,IAAIC,QAAQ,GAAGrJ,GAAG,CAACsJ,QAAQ,CAAE,qBAAsB,CAAC;QACnDC,QAAQ,GAAGvJ,GAAG,CAACwJ,MAAM,CAAC,CAAC,CAAC7J,KAAK,CAAC,CAAC;QAC/B8J,SAAS,GAAG/K,CAAC,CAAEW,MAAO,CAAC,CAACO,MAAM,CAAC,CAAC,IAAK,EAAE,GAAG8J,QAAQ,CAAE1J,GAAG,CAACwJ,MAAM,CAAC,CAAC,CAACG,QAAQ,CAAC,CAAC,CAAC7B,GAAI,CAAC,CAAE;QACnF8B,QAAQ,GAAGlK,QAAQ,CAACC,KAAK;QACzBkK,SAAS,GAAGnK,QAAQ,CAACE,MAAM;MAE5B,MAAMkK,KAAK,GAAGC,IAAI,CAACC,GAAG,CACrBT,QAAQ,GAAGK,QAAQ,EACnBH,SAAS,GAAGI,SACb,CAAC;MAEDD,QAAQ,GAAGA,QAAQ,GAAGE,KAAK;MAC3B,IAAKF,QAAQ,EAAG;QACfP,QAAQ,CAAClF,GAAG,CAAE;UACb;QAAA,CACC,CAAC;MACJ;IACD;IAEA,SAAS8F,YAAYA,CAAEC,MAAM,EAAEC,IAAI,EAAEC,KAAK,EAAG;MAC5C,MAAM5K,OAAO,GAAG,CAAC,CAAC;MAClB,QAAS2K,IAAI;QACb,KAAK,WAAW;UACf;UACA;QACD,KAAK,OAAO;UACX;UACA3K,OAAO,CAAC6K,IAAI,GAAGD,KAAK;UACpB;QACD,KAAK,QAAQ;QACb,KAAK,QAAQ;UACZ,IAAKA,KAAK,GAAG,CAAC,EAAG;YAChB,IAAKD,IAAI,KAAK,QAAQ,EAAG;cACxBD,MAAM,CAACI,KAAK,GAAG,IAAI;YACpB,CAAC,MAAM;cACNJ,MAAM,CAACK,KAAK,GAAG,IAAI;YACpB;UACD,CAAC,MAAM,IAAKJ,IAAI,KAAK,QAAQ,EAAG;YAC/BD,MAAM,CAACI,KAAK,GAAG,KAAK;UACrB,CAAC,MAAM;YACNJ,MAAM,CAACK,KAAK,GAAG,KAAK;UACrB;UACA/K,OAAO,CAAE2K,IAAI,CAAE,GAAKJ,IAAI,CAACS,GAAG,CAAEJ,KAAM,CAAG;UACvC;QACD,KAAK,KAAK;QACV,KAAK,MAAM;QACX,KAAK,OAAO;UACX5K,OAAO,CAAE2K,IAAI,CAAE,GAAGT,QAAQ,CAAEU,KAAM,CAAC;UACnC;QACD;UACC5K,OAAO,CAAE2K,IAAI,CAAE,GAAGC,KAAK;MACxB;MACA1L,CAAC,CAAC2C,IAAI,CAAE7B,OAAO,EAAE,UAAUiL,CAAC,EAAEC,CAAC,EAAG;QACjCR,MAAM,CAACS,GAAG,CAAEF,CAAC,EAAEC,CAAE,CAAC;MACnB,CAAE,CAAC;MACHR,MAAM,CAACU,SAAS,CAAC,CAAC;IACnB;IAEA,SAAS5H,WAAWA,CAAA,EAAG;MACtB,MAAM6H,eAAe,GAAG,SAAAA,CAAU5E,GAAG,EAAE6E,QAAQ,EAAG;QACjD,MAAM1F,GAAG,GAAG,IAAIX,KAAK,CAAC,CAAC;QACvB;;QAEAW,GAAG,CAAC2F,OAAO,GAAG,YAAW;UACxBC,KAAK,CAAE,sBAAsB,GAAG/E,GAAG,GAAG,GAAI,CAAC;QAC5C,CAAC;QACDb,GAAG,CAACH,MAAM,GAAG,YAAW;UACvB6F,QAAQ,CAAE1F,GAAG,EAAEA,GAAG,CAACzF,KAAK,EAAEyF,GAAG,CAACxF,MAAO,CAAC;QACvC,CAAC;QACDwF,GAAG,CAACD,GAAG,GAAGc,GAAG;MACd,CAAC;MAED,MAAMgF,SAAS,GAAG,SAAAA,CAAUC,OAAO,EAAEvL,KAAK,EAAEC,MAAM,EAAG;QACpD,IAAIuL,GAAG,EAAEC,QAAQ,EAAEC,SAAS;QAE5B,IAAK1L,KAAK,IAAIC,MAAM,EAAG;UACtBuL,GAAG,GAAG,IAAIG,KAAK,CAAE,GAAG,EAAE,IAAI,EAAE,CAAE3L,KAAK,EAAEC,MAAM,CAAE,EAAE,IAAK,CAAC;UACrDwL,QAAQ,GAAGD,GAAG,CAACI,QAAQ,CAACC,QAAQ,CAACC,QAAQ,CAAC,CAAC;UAC3CJ,SAAS,GAAKzL,MAAM,GAAGwL,QAAQ,GAAKzL,KAAK;QAC1C,CAAC,MAAM;UACNwL,GAAG,GAAG,IAAIG,KAAK,CAAE,GAAG,EAAE,IAAI,EAAE,CAAE3L,KAAK,EAAEC,MAAM,CAAE,EAAE,IAAK,CAAC;UACrDwL,QAAQ,GAAGD,GAAG,CAACI,QAAQ,CAACC,QAAQ,CAACC,QAAQ,CAAC,CAAC;UAC3C;UACAJ,SAAS,GAAGF,GAAG,CAACI,QAAQ,CAACC,QAAQ,CAACE,SAAS,CAAC,CAAC;QAC9C;QAEAP,GAAG,CAACQ,QAAQ,CAAET,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAEE,QAAQ,EAAEC,SAAS,EAAE,EAAE,EAAE,MAAO,CAAC;QACrEF,GAAG,CAACS,IAAI,CAAEjJ,kBAAkB,GAAG,MAAO,CAAC;MACxC,CAAC;MAEDrC,qBAAqB,GAAG5B,CAAC,CAAE,qBAAsB,CAAC;MAElD,IAAK4B,qBAAqB,CAAC+B,MAAM,EAAG;QACnC,MAAM4D,GAAG,GAAG3F,qBAAqB,CAACM,IAAI,CAAE,KAAM,CAAC;QAE/CiK,eAAe,CAAE5E,GAAG,EAAEgF,SAAU,CAAC;MAClC;IACD;IAEA1K,IAAI,CAAC,CAAC;EACP,CAAC;EAED,SAASC,WAAWA,CAAA,EAAG;IACtB7B,KAAK,GAAGD,CAAC,CAAE,YAAa,CAAC;IACzBE,qBAAqB,GAAGF,CAAC,CAAE,qBAAsB,CAAC;IAClDG,uBAAuB,GAAGH,CAAC,CAAE,yCAA0C,CAAC;IACxEI,0BAA0B,GAAGJ,CAAC,CAAE,sCAAuC,CAAC;IACxEK,aAAa,GAAGL,CAAC,CAAE,oBAAqB,CAAC;IACzCM,qBAAqB,GAAGN,CAAC,CAAE,6BAA8B,CAAC;IAC1DO,cAAc,GAAGP,CAAC,CAAE,oBAAqB,CAAC;IAC1CQ,iCAAiC,GAAGR,CAAC,CAAE,4CAA6C,CAAC;IAErFS,+BAA+B,GAAGT,CAAC,CAAE,yCAA0C,CAAC;IAChFU,8BAA8B,GAAGV,CAAC,CAAE,kCAAmC,CAAC;EACzE;EAEA,SAASmN,QAAQA,CAAA,EAAG;IACnB,IAAK9M,aAAa,CAACsD,MAAM,EAAG;MAC3B,SAASyJ,KAAKA,CAAA,EAAG;QAChB/M,aAAa,CAACgN,OAAO,CAAE,YAAW;UACjCpN,KAAK,CAACwF,GAAG,CAAE,UAAU,EAAE,MAAO,CAAC;QAChC,CAAE,CAAC;MACJ;MAEA,SAAS6H,IAAIA,CAAA,EAAG;QACfrN,KAAK,CAACwF,GAAG,CAAE,UAAU,EAAE,QAAS,CAAC;QACjCpF,aAAa,CAACkN,MAAM,CAAC,CAAC;MACvB;MAEAvN,CAAC,CAAEgC,QAAS,CAAC,CAACC,EAAE,CAAE,iCAAiC,EAAE,YAAW;QAC/D5B,aAAa,CAAC2G,QAAQ,CAAE,OAAQ,CAAC,CAACwG,IAAI,CAAC,CAAC;QAExCvN,KAAK,CACHgC,EAAE,CAAE,OAAO,EAAE,UAAUE,CAAC,EAAG;UAC3B,IAAKA,CAAC,CAACsL,OAAO,KAAK,EAAE,EAAG;YACvBL,KAAK,CAAC,CAAC;UACR;QACD,CAAE,CAAC,CACFnL,EAAE,CAAE,OAAO,EAAE,cAAc,EAAE,UAAUE,CAAC,EAAG;UAC3CiL,KAAK,CAAC,CAAC;UACPjL,CAAC,CAACC,cAAc,CAAC,CAAC;QACnB,CAAE,CAAC;QAEJhC,0BAA0B,CAAC6B,EAAE,CAAE,QAAQ,EAAE,UAAUE,CAAC,EAAG;UACtDA,CAAC,CAACC,cAAc,CAAC,CAAC;UAClBkL,IAAI,CAAC,CAAC;QACP,CAAE,CAAC;QAEH,IAAKnN,uBAAuB,CAACwD,MAAM,EAAG;UACrC2J,IAAI,CAAC,CAAC;QACP;MACD,CAAE,CAAC;IACJ;EACD;EAEA,SAASI,gBAAgBA,CAAEC,IAAI,EAAG;IACjC,MAAMC,IAAI,GAAGC,MAAM,CAACC,SAAS,CAACF,IAAI,GAAI,SAASC,MAAM,CAACC,SAAS,CAACF,IAAM,EAAC,GAAG,EAAE;IAC5E,MAAMG,GAAG,GAAGJ,IAAI,CAACK,aAAa,CAAE,2BAA4B,CAAC;IAC7D,MAAMC,QAAQ,GAAG,IAAIjJ,QAAQ,CAAE2I,IAAK,CAAC;IACrC,MAAMxJ,IAAI,GAAG+J,MAAM,CAACC,WAAW,CAAEF,QAAQ,CAACG,OAAO,CAAC,CAAE,CAAC;IACrDjK,IAAI,CAAC+C,MAAM,GAAG,yBAAyB;IAEvClH,CAAC,CAACsH,IAAI,CAAE;MACPC,GAAG,EAAEtB,kBAAkB,CAACuB,QAAQ,GAAGoG,IAAI;MACvCzJ,IAAI;MACJsD,MAAM,EAAE,MAAM;MACdE,UAAUA,CAAA,EAAG;QACZoG,GAAG,CAACM,SAAS,CAACtE,GAAG,CAAE,SAAU,CAAC;MAC/B,CAAC;MACDnC,OAAOA,CAAEC,EAAE,EAAG;QACb,IAAKA,EAAE,CAACC,IAAI,KAAK,CAAC,EAAG;UACpB,IAAK1D,SAAS,KAAKyD,EAAE,CAACyG,WAAW,EAAG;YACnC3N,MAAM,CAAC4N,QAAQ,CAACrE,OAAO,CAAErC,EAAE,CAACyG,WAAY,CAAC;UAC1C,CAAC,MAAM;YACNX,IAAI,CAACa,OAAO,CAAE,kCAAmC,CAAC,CAACC,kBAAkB,CAAE,WAAW,EAAE5G,EAAE,CAAC6G,gBAAiB,CAAC;YACzGf,IAAI,CAACtF,MAAM,CAAC,CAAC;UACd;QACD,CAAC,MAAM;UACNiE,KAAK,CAAEzE,EAAE,CAAC8G,OAAQ,CAAC;QACpB;MACD,CAAC;MACDrG,KAAKA,CAAEnG,CAAC,EAAG;QACVoG,OAAO,CAACC,GAAG,CAAErG,CAAE,CAAC;MACjB,CAAC;MACDiG,QAAQA,CAAA,EAAG;QACV2F,GAAG,CAACM,SAAS,CAAChG,MAAM,CAAE,SAAU,CAAC;MAClC;IACD,CAAE,CAAC;EACJ;;EAEA;AACD;AACA;AACA;EACC,SAASuG,eAAeA,CAAEjB,IAAI,EAAG;IAChC,IAAIgB,OAAO,GAAG,EAAE;IAChB,IAAIE,MAAM,GAAG,EAAE;IACf,MAAMZ,QAAQ,GAAG,IAAIjJ,QAAQ,CAAE2I,IAAK,CAAC;IACrC,MAAMxJ,IAAI,GAAG+J,MAAM,CAACC,WAAW,CAAEF,QAAQ,CAACG,OAAO,CAAC,CAAE,CAAC;IACrD,MAAML,GAAG,GAAGJ,IAAI,CAACK,aAAa,CAAE,2BAA4B,CAAC;IAC7DD,GAAG,CAACM,SAAS,CAACtE,GAAG,CAAE,SAAU,CAAC;IAE9B,MAAM+E,YAAY,GAAG9M,QAAQ,CAAC2G,aAAa,CAAE,KAAM,CAAC;IACpDmG,YAAY,CAACT,SAAS,CAACtE,GAAG,CAAE,qBAAsB,CAAC;IAEnDgF,EAAE,CAACC,QAAQ,CAAE;MACZC,IAAI,EAAE,6BAA6B;MACnCxH,MAAM,EAAE,MAAM;MACdtD;IACD,CAAE,CAAC,CAAC+K,IAAI,CAAIC,GAAG,IAAM;MACpB,MAAM;QAAEhL;MAAK,CAAC,GAAGgL,GAAG;MACpBN,MAAM,GAAGM,GAAG,CAACN,MAAM;MACnBF,OAAO,GAAGQ,GAAG,CAACR,OAAO;MAErBG,YAAY,CAACT,SAAS,CAACtE,GAAG,CAAE8E,MAAO,CAAC;MACpCC,YAAY,CAAClG,SAAS,GAAG+F,OAAO;MAChChB,IAAI,CAACyB,qBAAqB,CAAE,WAAW,EAAEN,YAAa,CAAC;MAEvD,IAAK1K,SAAS,KAAKyK,MAAM,IAAIA,MAAM,KAAK,SAAS,EAAG;QACnD,IAAK1K,IAAI,CAACkL,QAAQ,EAAG;UACpB7J,UAAU,CAAE,YAAW;YACtB7E,MAAM,CAAC4N,QAAQ,CAACe,IAAI,GAAGnL,IAAI,CAACkL,QAAQ;UACrC,CAAC,EAAE,GAAI,CAAC;QACT;MACD;IACD,CAAE,CAAC,CAACE,KAAK,CAAIC,GAAG,IAAM;MACrBV,YAAY,CAACT,SAAS,CAACtE,GAAG,CAAE,OAAQ,CAAC;MACrC+E,YAAY,CAAClG,SAAS,GAAG4G,GAAG,CAACb,OAAO;MACpChB,IAAI,CAACyB,qBAAqB,CAAE,WAAW,EAAEN,YAAa,CAAC;IACxD,CAAE,CAAC,CAACI,IAAI,CAAE,MAAM;MACfnB,GAAG,CAAC1F,MAAM,CAAC,CAAC;IACb,CAAE,CAAC;EACJ;EAEArI,CAAC,CAAEgC,QAAS,CAAC,CAACyN,KAAK,CAAE,YAAW;IAC/B3N,WAAW,CAAC,CAAC;IACbvB,cAAc,CAACiN,IAAI,CAAC,CAAC;IAErB,IAAK,CAAErN,uBAAuB,CAACwD,MAAM,EAAG;MACvCvD,0BAA0B,CAACqF,GAAG,CAAE,SAAS,EAAE,cAAe,CAAC;IAC5D;;IAEA;;IAEA;IACA,IAAKvF,qBAAqB,CAACyD,MAAM,EAAG;MACnC,IAAI;QACH3D,CAAC,CAAC2C,IAAI,CAAEzC,qBAAqB,EAAE,UAAU2C,CAAC,EAAG;UAC5C,MAAM6M,eAAe,GAAGC,IAAI,CAACC,KAAK,CAAE5P,CAAC,CAAE,IAAK,CAAC,CAAC6P,GAAG,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC;UAE3D7P,CAAC,CAAE,IAAK,CAAC,CAAC6P,GAAG,CAAE,EAAG,CAAC;UACnB,MAAMC,aAAa,GAAG,GAAG,GAAG9P,CAAC,CAAE,IAAK,CAAC,CAACwO,OAAO,CAAE,KAAM,CAAC,CAACtM,IAAI,CAAE,IAAK,CAAC;UAEnE,MAAM6N,GAAG,GAAGnP,cAAc,CAAEkP,aAAa,EAAEJ,eAAgB,CAAC;;UAE5D;QACD,CAAE,CAAC;MACJ,CAAC,CAAC,OAAQvN,CAAC,EAAG;QACboG,OAAO,CAACC,GAAG,CAAErG,CAAE,CAAC;MACjB;IACD;;IAEA;IACAgL,QAAQ,CAAC,CAAC;;IAEV;IACAnL,QAAQ,CAACgO,gBAAgB,CAAE,QAAQ,EAAE,UAAU7N,CAAC,EAAG;MAClD,MAAMtB,EAAE,GAAGsB,CAAC,CAAC8N,MAAM;MAEnB,IAAKpP,EAAE,CAACqP,YAAY,CAAE,MAAO,CAAC,KAAK,uBAAuB,EAAG;QAC5D/N,CAAC,CAACC,cAAc,CAAC,CAAC;QAClBwM,eAAe,CAAE/N,EAAG,CAAC;MACtB,CAAC,MAAM,IAAKA,EAAE,CAACqP,YAAY,CAAE,MAAO,CAAC,KAAK,8BAA8B,EAAG;QAC1E/N,CAAC,CAACC,cAAc,CAAC,CAAC;QAClBsL,gBAAgB,CAAE7M,EAAG,CAAC;MACvB;IACD,CAAE,CAAC;EACJ,CAAE,CAAC;AACJ,CAAC,EAAEsP,MAAO,CAAC,C","sources":["webpack://learnpress-certificates/./assets/src/js/frontend/certificates.js"],"sourcesContent":["/* eslint-disable camelcase */\n( function( $ ) {\n\tlet $html, el_lp_data_config_cer, el_show_cer_popup_first,\n\t\tel_form_certificate_button, el_popup_cert, el_single_certificate,\n\t\tel_social_cert, el_need_upload_cert_img_to_server;\n\n\tlet el_form_lp_cert_add_to_cart_woo;\n\tlet el_form_lp_cert_add_to_cart_lp;\n\n\twindow.LP_Certificate = function( el, options ) {\n\t\tlet self = this,\n\t\t\tviewport = {\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0,\n\t\t\t\ttemplateWidth: 0,\n\t\t\t\ttemplateHeight: 0,\n\t\t\t\tratio: 1,\n\t\t\t},\n\t\t\t$el = $( el ),\n\t\t\t$canvas = null,\n\t\t\twindowHeight, windowWith;\n\n\t\tlet el_certificate_actions, el_download, el_certificate_result;\n\n\t\tfunction init() {\n\t\t\twindowHeight = $( window ).height();\n\t\t\twindowWith = $( window ).width();\n\t\t\tgetElements();\n\t\t\tinitCanvas();\n\t\t\t$( document ).on( 'click', '[data-cert=\"' + $el.attr( 'id' ) + '\"]', function( e ) {\n\t\t\t\te.preventDefault();\n\t\t\t\tdownload();\n\t\t\t} );\n\t\t\tself.$canvas = $canvas;\n\t\t}\n\n\t\tfunction getElements() {\n\t\t\tel_certificate_actions = $( '.certificate-actions' );\n\t\t}\n\n\t\tfunction initCanvas() {\n\t\t\tif ( ! $canvas ) {\n\t\t\t\t$canvas = $el.find( 'canvas' );\n\t\t\t\t$canvas = new fabric.Canvas( $canvas.get( 0 ) );\n\t\t\t\t$canvas.selection = false;\n\n\t\t\t\t$.each( options.layers, function( i ) {\n\t\t\t\t\ttotal_layer++;\n\t\t\t\t} );\n\n\t\t\t\t$.each( options.layers, function( i, layer ) {\n\t\t\t\t\tif ( ! layer.type ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( $.isPlainObject( layer ) ) {\n\t\t\t\t\t\tcreateLayer( layer );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\tfunction dataURItoBlob( dataURI ) {\n\t\t\t// convert base64 to raw binary data held in a string\n\t\t\t// doesn't handle URLEncoded DataURIs - see SO answer #6850276 for code that does this\n\t\t\tconst byteString = atob( dataURI.split( ',' )[ 1 ] );\n\n\t\t\t// separate out the mime component\n\t\t\tconst mimeString = dataURI.split( ',' )[ 0 ].split( ':' )[ 1 ].split( ';' )[ 0 ];\n\n\t\t\t// write the bytes of the string to an ArrayBuffer\n\t\t\tconst ab = new ArrayBuffer( byteString.length );\n\n\t\t\t// create a view into the buffer\n\t\t\tconst ia = new Uint8Array( ab );\n\n\t\t\t// set the bytes of the buffer to the correct values\n\t\t\tfor ( let i = 0; i < byteString.length; i++ ) {\n\t\t\t\tia[ i ] = byteString.charCodeAt( i );\n\t\t\t}\n\n\t\t\t// write the ArrayBuffer to a blob, and you're done\n\t\t\tconst blob = new Blob( [ ab ], { type: mimeString } );\n\t\t\treturn blob;\n\t\t}\n\n\t\tlet name_file_download = 'certificate';\n\n\t\tfunction download() {\n\t\t\tif ( el_download.length ) {\n\t\t\t\tconst downloadType = el_download.data( 'type-download' );\n\n\t\t\t\tif ( undefined !== options.name ) {\n\t\t\t\t\tname_file_download = options.name;\n\t\t\t\t}\n\n\t\t\t\tswitch ( downloadType ) {\n\t\t\t\tcase 'pdf':\n\t\t\t\t\tdownloadPDF();\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'image':\n\t\t\t\tdefault:\n\t\t\t\t\tdownloadImage();\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction downloadImage() {\n\t\t\tconst args = {\n\t\t\t\tformat: 'png',\n\t\t\t\tmultiplier: 1 / $canvas.getZoom(),\n\t\t\t};\n\n\t\t\tconst data_url = $canvas.toDataURL();\n\t\t\tconst imageBlob = dataURItoBlob( data_url );\n\t\t\tconst ajaxData = new FormData();\n\n\t\t\tname_file_download = name_file_download + '.png';\n\n\t\t\tajaxData.append( 'files', imageBlob, name_file_download );\n\n\t\t\tdownloadjs( $canvas.toDataURL( args ), name_file_download );\n\n\t\t\treturn false;\n\t\t}\n\n\t\tfunction createPreview() {\n\t\t\tconst args = {\n\t\t\t\tformat: 'png',\n\t\t\t\tmultiplier: 1 / $canvas.getZoom(),\n\t\t\t\tquality: 1,\n\t\t\t};\n\n\t\t\tconst data = $canvas.toDataURL( args );\n\n\t\t\tconst $img = $( '' ).insertBefore( '#' + $el[ 0 ].id );\n\n\t\t\tel_certificate_result = $( '.certificate-result' );\n\n\t\t\t$img.attr( 'src', data );\n\n\t\t\t// Resize image certificate preview\n\t\t\tsetTimeout( function() {\n\t\t\t\tif ( $img.width() > windowWith ) {\n\t\t\t\t\tel_certificate_result.css( 'width', '100%' );\n\t\t\t\t}\n\t\t\t}, 100 );\n\t\t}\n\n\t\tlet total_layer = 0;\n\t\tlet total_layer_loaded = 0;\n\n\t\tfunction check_layers_added_done() {\n\t\t\ttotal_layer_loaded++;\n\n\t\t\tif ( total_layer_loaded === total_layer ) {\n\t\t\t\tconst url_img_cer_bg = options.template;\n\t\t\t\t//var url_img_cer_bg = 'https://cdn.glitch.com/4c9ebeb9-8b9a-4adc-ad0a-238d9ae00bb5%2Fmdn_logo-only_color.svg?1535749917189';\n\n\t\t\t\tconst img_cer_bg = new Image();\n\t\t\t\tconst args_fabric = {};\n\n\t\t\t\t// Check image crossOrigin\n\t\t\t\tif ( undefined !== localize_lp_cer_js ) {\n\t\t\t\t\tconst is_same_domain = new RegExp( '^' + localize_lp_cer_js.base_url );\n\n\t\t\t\t\tif ( ! is_same_domain.test( url_img_cer_bg ) ) {\n\t\t\t\t\t\timg_cer_bg.crossOrigin = 'Anonymous';\n\t\t\t\t\t\targs_fabric.crossOrigin = 'Anonymous';\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\timg_cer_bg.onload = function() {\n\t\t\t\t\tviewport = {\n\t\t\t\t\t\twidth: this.width,\n\t\t\t\t\t\theight: this.height,\n\t\t\t\t\t};\n\n\t\t\t\t\tfabric.Image.fromURL( img_cer_bg.src, function( img ) {\n\t\t\t\t\t\t$canvas.backgroundImage = img;\n\t\t\t\t\t\tupdateView();\n\t\t\t\t\t\tcreatePreview();\n\n\t\t\t\t\t\tif ( el_need_upload_cert_img_to_server.length ) {\n\t\t\t\t\t\t\tsaveImageToServer();\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( el_certificate_actions.length ) {\n\t\t\t\t\t\t\tel_download = el_certificate_actions.find( '.download' );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst elCerPreview = $( document ).find( el );\n\t\t\t\t\t\tif ( elCerPreview ) {\n\t\t\t\t\t\t\tconst elCerConfig = elCerPreview.find( '.lp-data-config-cer' );\n\t\t\t\t\t\t\telCerConfig.addClass( 'loaded' );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Show popup certificate\n\t\t\t\t\t\t$( document ).triggerHandler( 'learn-press/certificates/loaded' );\n\t\t\t\t\t}, args_fabric );\n\t\t\t\t};\n\n\t\t\t\timg_cer_bg.src = url_img_cer_bg;\n\t\t\t}\n\t\t}\n\n\t\tfunction saveImageToServer() {\n\t\t\tconst data = {\n\t\t\t\taction: 'lpCertCreateImage',\n\t\t\t\tdata64: el_certificate_result.attr( 'src' ),\n\t\t\t\tname_image: options.key_cer,\n\t\t\t};\n\n\t\t\t$.ajax( {\n\t\t\t\turl: localize_lp_cer_js.url_ajax,\n\t\t\t\tdata,\n\t\t\t\tmethod: 'post',\n\t\t\t\tdataType: 'json',\n\t\t\t\tbeforeSend() {\n\t\t\t\t\tel_certificate_actions.append( '
  • Loading share social...
  • ' );\n\t\t\t\t},\n\t\t\t\tsuccess( rs ) {\n\t\t\t\t\tif ( rs.code === 1 ) {\n\t\t\t\t\t\t$.each( el_social_cert, function( e ) {\n\t\t\t\t\t\t\tconst elLink = $( this ).find( 'a' );\n\t\t\t\t\t\t\tconst hrefShare = elLink.attr( 'href' );\n\t\t\t\t\t\t\tconst url_cert_share = hrefShare + rs.url_cert;\n\t\t\t\t\t\t\telLink.attr( 'href', url_cert_share );\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\tel_social_cert.show();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tcomplete() {\n\t\t\t\t\tel_certificate_actions.find( '.fa-spinner' ).remove();\n\t\t\t\t},\n\t\t\t\terror( e ) {\n\t\t\t\t\tconsole.log( e );\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\tfunction htmlDecode( input ) {\n\t\t\tconst e = document.createElement( 'div' );\n\t\t\te.innerHTML = input;\n\t\t\treturn e.childNodes.length === 0 ? '' : e.childNodes[ 0 ].nodeValue;\n\t\t}\n\n\t\tfunction createLayer( args ) {\n\t\t\targs.text = htmlDecode( args.text ) || '';\n\n\t\t\tconst defaults = $.extend( {\n\t\t\t\t\tfontSize: 24,\n\t\t\t\t\tleft: 0,\n\t\t\t\t\ttop: 0,\n\t\t\t\t\tlineHeight: 1,\n\t\t\t\t\toriginX: 'center',\n\t\t\t\t\toriginY: 'center',\n\t\t\t\t\tfontFamily: 'Helvetica',\n\t\t\t\t\tfieldType: 'custom',\n\t\t\t\t\tqr_size: 40,\n\t\t\t\t}, args ),\n\t\t\t\ttext = args.text || '';\n\n\t\t\tlet $object = null;\n\n\t\t\ttry {\n\t\t\t\tconst is_url = /^(https?|s?ftp):\\/\\//i.test( args.text );\n\n\t\t\t\tif ( args.fieldType === 'verified-link' && is_url ) {\n\t\t\t\t\tconst qr_code = new Image();\n\t\t\t\t\tqr_code.crossOrigin = 'Anonymous';\n\n\t\t\t\t\tqr_code.onload = function() {\n\t\t\t\t\t\t$object = new fabric.Image( null, defaults );\n\t\t\t\t\t\t$object.setSrc( qr_code.src, function() {}, { crossOrigin: 'Anonymous' } );\n\t\t\t\t\t\t$canvas.add( $object );\n\t\t\t\t\t\t//console.log(qr_code.src);\n\t\t\t\t\t\tcheck_layers_added_done();\n\t\t\t\t\t};\n\n\t\t\t\t\tqr_code.src = args.text;\n\t\t\t\t} else {\n\t\t\t\t\tconst wrap = ( s ) => s.replace(\n\t\t\t\t\t\t/(?![^\\n]{1,64}$)([^\\n]{1,64})\\s/g, '$1\\n'\n\t\t\t\t\t);\n\n\t\t\t\t\t$object = new fabric.Text( '', defaults );\n\n\t\t\t\t\t$object.text = wrap( $object.text );\n\t\t\t\t\t//console.log($object.text);\n\n\t\t\t\t\t$canvas.add( $object );\n\n\t\t\t\t\tcheck_layers_added_done();\n\t\t\t\t}\n\t\t\t} catch ( e ) {\n\t\t\t\tconsole.log( e );\n\t\t\t}\n\n\t\t\treturn $object;\n\t\t}\n\n\t\tfunction getMaxWidth() {\n\t\t\treturn $el.width();\n\t\t}\n\n\t\tfunction updateView() {\n\t\t\t$canvas.setHeight( viewport.height );\n\t\t\t$canvas.setWidth( viewport.width );\n\t\t\t$canvas.setZoom( viewport.ratio );\n\t\t\t$canvas.calcOffset();\n\t\t\t$canvas.renderAll();\n\n\t\t\t//fitImage();\n\t\t}\n\n\t\tfunction fitImage() {\n\t\t\tlet $preview = $el.siblings( '.certificate-result' ),\n\t\t\t\tscrWidth = $el.parent().width(),\n\t\t\t\tscrHeight = $( window ).height() - ( 60 + parseInt( $el.parent().position().top ) ),\n\t\t\t\tmaxWidth = viewport.width,\n\t\t\t\tmaxHeight = viewport.height;\n\n\t\t\tconst scale = Math.min(\n\t\t\t\tscrWidth / maxWidth,\n\t\t\t\tscrHeight / maxHeight\n\t\t\t);\n\n\t\t\tmaxWidth = maxWidth * scale;\n\t\t\tif ( maxWidth ) {\n\t\t\t\t$preview.css( {\n\t\t\t\t\t//maxWidth: maxWidth * scale\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\tfunction setLayerProp( $layer, prop, value ) {\n\t\t\tconst options = {};\n\t\t\tswitch ( prop ) {\n\t\t\tcase 'textAlign':\n\t\t\t\t//$layer.originX = value;\n\t\t\t\tbreak;\n\t\t\tcase 'color':\n\t\t\t\t//$layer.set('fill', value);\n\t\t\t\toptions.fill = value;\n\t\t\t\tbreak;\n\t\t\tcase 'scaleX':\n\t\t\tcase 'scaleY':\n\t\t\t\tif ( value < 0 ) {\n\t\t\t\t\tif ( prop === 'scaleX' ) {\n\t\t\t\t\t\t$layer.flipX = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$layer.flipY = true;\n\t\t\t\t\t}\n\t\t\t\t} else if ( prop === 'scaleX' ) {\n\t\t\t\t\t$layer.flipX = false;\n\t\t\t\t} else {\n\t\t\t\t\t$layer.flipY = false;\n\t\t\t\t}\n\t\t\t\toptions[ prop ] = ( Math.abs( value ) );\n\t\t\t\tbreak;\n\t\t\tcase 'top':\n\t\t\tcase 'left':\n\t\t\tcase 'angle':\n\t\t\t\toptions[ prop ] = parseInt( value );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\toptions[ prop ] = value;\n\t\t\t}\n\t\t\t$.each( options, function( k, v ) {\n\t\t\t\t$layer.set( k, v );\n\t\t\t} );\n\t\t\t$layer.setCoords();\n\t\t}\n\n\t\tfunction downloadPDF() {\n\t\t\tconst getImageFromUrl = function( url, callback ) {\n\t\t\t\tconst img = new Image();\n\t\t\t\t// img.crossOrigin = 'anonymous'\n\n\t\t\t\timg.onError = function() {\n\t\t\t\t\talert( 'Cannot load image: \"' + url + '\"' );\n\t\t\t\t};\n\t\t\t\timg.onload = function() {\n\t\t\t\t\tcallback( img, img.width, img.height );\n\t\t\t\t};\n\t\t\t\timg.src = url;\n\t\t\t};\n\n\t\t\tconst createPDF = function( imgData, width, height ) {\n\t\t\t\tlet doc, pdfWidth, pdfHeight;\n\n\t\t\t\tif ( width >= height ) {\n\t\t\t\t\tdoc = new jsPDF( 'l', 'mm', [ width, height ], true );\n\t\t\t\t\tpdfWidth = doc.internal.pageSize.getWidth();\n\t\t\t\t\tpdfHeight = ( height * pdfWidth ) / width;\n\t\t\t\t} else {\n\t\t\t\t\tdoc = new jsPDF( 'p', 'mm', [ width, height ], true );\n\t\t\t\t\tpdfWidth = doc.internal.pageSize.getWidth();\n\t\t\t\t\t// pdfHeight = (height * pdfWidth) / width;\n\t\t\t\t\tpdfHeight = doc.internal.pageSize.getHeight();\n\t\t\t\t}\n\n\t\t\t\tdoc.addImage( imgData, 'jpg', 0, 0, pdfWidth, pdfHeight, '', 'FAST' );\n\t\t\t\tdoc.save( name_file_download + '.pdf' );\n\t\t\t};\n\n\t\t\tel_certificate_result = $( '.certificate-result' );\n\n\t\t\tif ( el_certificate_result.length ) {\n\t\t\t\tconst url = el_certificate_result.attr( 'src' );\n\n\t\t\t\tgetImageFromUrl( url, createPDF );\n\t\t\t}\n\t\t}\n\n\t\tinit();\n\t};\n\n\tfunction getElements() {\n\t\t$html = $( 'html, body' );\n\t\tel_lp_data_config_cer = $( '.lp-data-config-cer' );\n\t\tel_show_cer_popup_first = $( 'input[name=f_auto_show_cer_popup_first]' );\n\t\tel_form_certificate_button = $( 'form[name=\"certificate-form-button\"]' );\n\t\tel_popup_cert = $( '#certificate-popup' );\n\t\tel_single_certificate = $( '.single-certificate-content' );\n\t\tel_social_cert = $( '.share-social-cert' );\n\t\tel_need_upload_cert_img_to_server = $( 'input[name=need_upload_cert_img_to_server]' );\n\n\t\tel_form_lp_cert_add_to_cart_woo = $( 'form[name=form-lp-cert-add-to-cart-woo]' );\n\t\tel_form_lp_cert_add_to_cart_lp = $( 'form[name=form-lp-cert-purchase]' );\n\t}\n\n\tfunction popupCer() {\n\t\tif ( el_popup_cert.length ) {\n\t\t\tfunction close() {\n\t\t\t\tel_popup_cert.fadeOut( function() {\n\t\t\t\t\t$html.css( 'overflow', 'auto' );\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tfunction open() {\n\t\t\t\t$html.css( 'overflow', 'hidden' );\n\t\t\t\tel_popup_cert.fadeIn();\n\t\t\t}\n\n\t\t\t$( document ).on( 'learn-press/certificates/loaded', function() {\n\t\t\t\tel_popup_cert.addClass( 'ready' ).hide();\n\n\t\t\t\t$html\n\t\t\t\t\t.on( 'keyup', function( e ) {\n\t\t\t\t\t\tif ( e.keyCode === 27 ) {\n\t\t\t\t\t\t\tclose();\n\t\t\t\t\t\t}\n\t\t\t\t\t} )\n\t\t\t\t\t.on( 'click', '.close-popup', function( e ) {\n\t\t\t\t\t\tclose();\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t} );\n\n\t\t\t\tel_form_certificate_button.on( 'submit', function( e ) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\topen();\n\t\t\t\t} );\n\n\t\t\t\tif ( el_show_cer_popup_first.length ) {\n\t\t\t\t\topen();\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction addCertToCartWoo( form ) {\n\t\tconst lang = lpData.urlParams.lang ? `?lang=${ lpData.urlParams.lang }` : '';\n\t\tconst btn = form.querySelector( '.btn-add-cert-to-cart-woo' );\n\t\tconst formData = new FormData( form );\n\t\tconst data = Object.fromEntries( formData.entries() );\n\t\tdata.action = 'lp_cert_add_to_cart_woo';\n\n\t\t$.ajax( {\n\t\t\turl: localize_lp_cer_js.url_ajax + lang,\n\t\t\tdata,\n\t\t\tmethod: 'post',\n\t\t\tbeforeSend() {\n\t\t\t\tbtn.classList.add( 'loading' );\n\t\t\t},\n\t\t\tsuccess( rs ) {\n\t\t\t\tif ( rs.code === 1 ) {\n\t\t\t\t\tif ( undefined !== rs.redirect_to ) {\n\t\t\t\t\t\twindow.location.replace( rs.redirect_to );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tform.closest( '.wrapper-lp-cert-add-to-cart-woo' ).insertAdjacentHTML( 'beforeend', rs.button_view_cart );\n\t\t\t\t\t\tform.remove();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\talert( rs.message );\n\t\t\t\t}\n\t\t\t},\n\t\t\terror( e ) {\n\t\t\t\tconsole.log( e );\n\t\t\t},\n\t\t\tcomplete() {\n\t\t\t\tbtn.classList.remove( 'loading' );\n\t\t\t},\n\t\t} );\n\t}\n\n\t/**\n\t * Event add certificate to cart LP\n\t * @param form\n\t */\n\tfunction addCertToCartLP( form ) {\n\t\tlet message = '';\n\t\tlet status = '';\n\t\tconst formData = new FormData( form );\n\t\tconst data = Object.fromEntries( formData.entries() );\n\t\tconst btn = form.querySelector( '.btn-purchase-certificate' );\n\t\tbtn.classList.add( 'loading' );\n\n\t\tconst newElMessage = document.createElement( 'div' );\n\t\tnewElMessage.classList.add( 'learn-press-message' );\n\n\t\twp.apiFetch( {\n\t\t\tpath: '/lp/v1/certificate/purchase',\n\t\t\tmethod: 'POST',\n\t\t\tdata,\n\t\t} ).then( ( res ) => {\n\t\t\tconst { data } = res;\n\t\t\tstatus = res.status;\n\t\t\tmessage = res.message;\n\n\t\t\tnewElMessage.classList.add( status );\n\t\t\tnewElMessage.innerHTML = message;\n\t\t\tform.insertAdjacentElement( 'beforeend', newElMessage );\n\n\t\t\tif ( undefined !== status && status === 'success' ) {\n\t\t\t\tif ( data.redirect ) {\n\t\t\t\t\tsetTimeout( function() {\n\t\t\t\t\t\twindow.location.href = data.redirect;\n\t\t\t\t\t}, 800 );\n\t\t\t\t}\n\t\t\t}\n\t\t} ).catch( ( err ) => {\n\t\t\tnewElMessage.classList.add( 'error' );\n\t\t\tnewElMessage.innerHTML = err.message;\n\t\t\tform.insertAdjacentElement( 'beforeend', newElMessage );\n\t\t} ).then( () => {\n\t\t\tbtn.remove();\n\t\t} );\n\t}\n\n\t$( document ).ready( function() {\n\t\tgetElements();\n\t\tel_social_cert.hide();\n\n\t\tif ( ! el_show_cer_popup_first.length ) {\n\t\t\tel_form_certificate_button.css( 'display', 'inline-block' );\n\t\t}\n\n\t\t//console.log(localize_lp_cer_js);\n\n\t\t/*** Create certificates ***/\n\t\tif ( el_lp_data_config_cer.length ) {\n\t\t\ttry {\n\t\t\t\t$.each( el_lp_data_config_cer, function( i ) {\n\t\t\t\t\tconst data_config_cer = JSON.parse( $( this ).val() ) || {};\n\n\t\t\t\t\t$( this ).val( '' );\n\t\t\t\t\tconst id_div_parent = '#' + $( this ).closest( 'div' ).attr( 'id' );\n\n\t\t\t\t\tconst cer = LP_Certificate( id_div_parent, data_config_cer );\n\n\t\t\t\t\t//console.log(data_config_cer);\n\t\t\t\t} );\n\t\t\t} catch ( e ) {\n\t\t\t\tconsole.log( e );\n\t\t\t}\n\t\t}\n\n\t\t// Popup Certificate\n\t\tpopupCer();\n\n\t\t// Events submit form\n\t\tdocument.addEventListener( 'submit', function( e ) {\n\t\t\tconst el = e.target;\n\n\t\t\tif ( el.getAttribute( 'name' ) === 'form-lp-cert-purchase' ) {\n\t\t\t\te.preventDefault();\n\t\t\t\taddCertToCartLP( el );\n\t\t\t} else if ( el.getAttribute( 'name' ) === 'form-lp-cert-add-to-cart-woo' ) {\n\t\t\t\te.preventDefault();\n\t\t\t\taddCertToCartWoo( el );\n\t\t\t}\n\t\t} );\n\t} );\n}( jQuery ) );\n\n"],"names":["$","$html","el_lp_data_config_cer","el_show_cer_popup_first","el_form_certificate_button","el_popup_cert","el_single_certificate","el_social_cert","el_need_upload_cert_img_to_server","el_form_lp_cert_add_to_cart_woo","el_form_lp_cert_add_to_cart_lp","window","LP_Certificate","el","options","self","viewport","width","height","templateWidth","templateHeight","ratio","$el","$canvas","windowHeight","windowWith","el_certificate_actions","el_download","el_certificate_result","init","getElements","initCanvas","document","on","attr","e","preventDefault","download","find","fabric","Canvas","get","selection","each","layers","i","total_layer","layer","type","isPlainObject","createLayer","dataURItoBlob","dataURI","byteString","atob","split","mimeString","ab","ArrayBuffer","length","ia","Uint8Array","charCodeAt","blob","Blob","name_file_download","downloadType","data","undefined","name","downloadPDF","downloadImage","args","format","multiplier","getZoom","data_url","toDataURL","imageBlob","ajaxData","FormData","append","downloadjs","createPreview","quality","$img","insertBefore","id","setTimeout","css","total_layer_loaded","check_layers_added_done","url_img_cer_bg","template","img_cer_bg","Image","args_fabric","localize_lp_cer_js","is_same_domain","RegExp","base_url","test","crossOrigin","onload","fromURL","src","img","backgroundImage","updateView","saveImageToServer","elCerPreview","elCerConfig","addClass","triggerHandler","action","data64","name_image","key_cer","ajax","url","url_ajax","method","dataType","beforeSend","success","rs","code","elLink","hrefShare","url_cert_share","url_cert","show","complete","remove","error","console","log","htmlDecode","input","createElement","innerHTML","childNodes","nodeValue","text","defaults","extend","fontSize","left","top","lineHeight","originX","originY","fontFamily","fieldType","qr_size","$object","is_url","qr_code","setSrc","add","wrap","s","replace","Text","getMaxWidth","setHeight","setWidth","setZoom","calcOffset","renderAll","fitImage","$preview","siblings","scrWidth","parent","scrHeight","parseInt","position","maxWidth","maxHeight","scale","Math","min","setLayerProp","$layer","prop","value","fill","flipX","flipY","abs","k","v","set","setCoords","getImageFromUrl","callback","onError","alert","createPDF","imgData","doc","pdfWidth","pdfHeight","jsPDF","internal","pageSize","getWidth","getHeight","addImage","save","popupCer","close","fadeOut","open","fadeIn","hide","keyCode","addCertToCartWoo","form","lang","lpData","urlParams","btn","querySelector","formData","Object","fromEntries","entries","classList","redirect_to","location","closest","insertAdjacentHTML","button_view_cart","message","addCertToCartLP","status","newElMessage","wp","apiFetch","path","then","res","insertAdjacentElement","redirect","href","catch","err","ready","data_config_cer","JSON","parse","val","id_div_parent","cer","addEventListener","target","getAttribute","jQuery"],"sourceRoot":""}