{"version":3,"file":"static/js/main.baeb4ec0.js","mappings":"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IAAK,GAAI,GAAI,GAC3G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAEpD2F,OAAQ,CACJ,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,WAIFirB,GAAyB,CAC3B5wB,SAAU,CACN,IAAO,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC7G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAEpD2F,OAAQ,CACJ,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,eACA,eACA,eACA,eACA,eACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,WAIFkrB,GAA2B,CAC7B7wB,SAAU,CACN,IAAO,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAC1G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAE5D2F,OAAQ,CACJ,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,WAIFmrB,GAAwB,SAC1B7iC,EACAuW,EACAlT,EACAy/B,EACAC,EACAC,GAEA,OAAIhjC,EAAQuW,GAAOvW,EAAQqD,E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T,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAO,YACxB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,YACD,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,C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GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IAGEN,EAA2B,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEEq1E,EAA0B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC7DjxE,EAA2B,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEEhB,EAA0B,CAC5B,EACA,EACA,EACA,EACA,EACA,GACA,EACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,EACA,GACA,IACA,GACA,GACA,IACA,IACA,IACA,EACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,IACA,IACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAGE9D,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEEm2E,EAA4B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC/DzhE,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEEgiE,EAA4B,CAC9B,EACA,EACA,EACA,EACA,GACA,EACA,EACA,GACA,GACA,EACA,GACA,GACA,GACA,EACA,GACA,IACA,GACA,GACA,GACA,IACA,EACA,GACA,GACA,IACA,IACA,IACA,IACA,EACA,GACA,GACA,GACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,IACA,GACA,IACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,cAuKO5U,EAAkBvhE,EAAShB,GAAA,QAC9Be,EAAY,EACZH,EAAe,EACff,EAAK,IAAIyD,MACJhC,EAAI,EAAGA,GAAK,GAAIA,IAAK,KACvB,IAAI41D,EAAI,EAAGA,GAAKl2D,EAAQM,GAAI41D,IAC/Br3D,EAAGG,EAAUY,IAAiB,GAC9Bf,EAAGG,EAAUY,IAAe,GAAKG,EACjClB,EAAGG,EAAUY,IAAe,GAAKU,EACjCV,IACAG,IAEFA,GAAa,SAERlB,CAAA,UA2DAi3E,EAAU91E,GAAA,QACbhB,EAAQgB,EAAG,GACXD,EAASC,EAAG,GAAK,EACdD,GAAU,GACXf,EAAS,GAAKe,IAChBJ,GAAW,GAAKM,GAElBF,MACAE,EACc,IACG,KAAXN,GACFi3E,EAAU,KACVA,EAAU,IAEVA,EAAUj3E,GAEZM,EAAU,EACVN,EAAU,YAKPi3E,EAAU52E,GAEjBT,EAAQyF,KAAKhF,EAAA,UAGN+2E,EAAU/2E,GACjB42E,EAAW52E,GAAS,EAAK,KACzB42E,EAAkB,IAAR52E,EAAA,UAyOHkU,EAAUlU,EAAKhB,EAAOe,EAAIH,EAAMf,GAAA,QAGnCyB,EAFA41D,EAAMr3D,EAAK,GACXqE,EAAYrE,EAAK,KAKjBO,EAAA,SA5OaY,EAAMhB,GAAA,IACnBe,EAAIH,EAAIf,EAAIyB,EAAI41D,EAAIhzD,EAAI9D,EAAImB,EAG5Bf,EAkHAE,EAnHAJ,EAAU,MAITE,EAAI,EAAGA,EAFH,IAEaA,EAAG,CACvBO,EAAKC,EAAKV,GACVM,EAAKI,EAAKV,EAAU,GACpBT,EAAKmB,EAAKV,EAAU,GACpBgB,EAAKN,EAAKV,EAAU,GACpB42D,EAAKl2D,EAAKV,EAAU,GACpB4D,EAAKlD,EAAKV,EAAU,GACpBF,EAAKY,EAAKV,EAAU,OAGhBO,EAAOE,GAFXQ,EAAKP,EAAKV,EAAU,IAGhBC,EAAOQ,EAAKQ,EACZZ,EAAOC,EAAKR,EACZa,EAAOL,EAAKR,EACZH,EAAOJ,EAAKqE,EACZ9C,EAAOvB,EAAKqE,EACZhD,EAAOI,EAAK41D,EACZqf,EAAOj1E,EAAK41D,EAGZ98B,EAAQv5B,EAAOK,EACfO,EAAQZ,EAAOK,EACfC,EAAQR,EAAOV,EACfu2E,EAAQ71E,EAAOV,EAEnBe,EAAKV,GAAW85B,EAAQj5B,EACxBH,EAAKV,EAAU,GAAK85B,EAAQj5B,EAAA,IAExBoE,EAAuB,YAAjBixE,EAAQ/0E,GAClBT,EAAKV,EAAU,GAAKmB,EAAQ8D,EAC5BvE,EAAKV,EAAU,GAAKmB,EAAQ8D,EAAA,IAQxBhB,EAAuB,aAL3B61B,EAAQm8C,EAAOn1E,IAEfo1E,EAAQv1E,EAAOV,IAIXE,EAAK,SAAY25B,EAAQ71B,EACzBqyE,EAAK,YAAcJ,EAAQjyE,EAC3B4Q,EAAa,YAPjBhU,EAAQC,EAAOH,GASXk2E,EAAM52E,EAAO4U,EACbotD,EAAMhiE,EAAO4U,EAEjBnU,EAAKV,EAAU,GAAKiiE,EAAM9hE,EAC1BO,EAAKV,EAAU,GAAKiiE,EAAM9hE,EAC1BO,EAAKV,EAAU,GAAK62E,EAAMP,EAC1B51E,EAAKV,EAAU,GAAK62E,EAAMP,EAE1Bt2E,GAAW,MAIbA,EAAU,EACLE,EAAI,EAAGA,EA1DH,IA0DaA,EAAG,CACvBO,EAAKC,EAAKV,GACVM,EAAKI,EAAKV,EAAU,GACpBT,EAAKmB,EAAKV,EAAU,IACpBgB,EAAKN,EAAKV,EAAU,IACpB42D,EAAKl2D,EAAKV,EAAU,IACpB4D,EAAKlD,EAAKV,EAAU,IACpBF,EAAKY,EAAKV,EAAU,QAGhBw2E,EAAS/1E,GAFbQ,EAAKP,EAAKV,EAAU,KAGhBs3E,EAAS72E,EAAKQ,EACdw2E,EAASn3E,EAAKR,EACd8U,EAAStU,EAAKR,EACdU,EAASjB,EAAKqE,EACdu3E,EAAS57E,EAAKqE,EACd23E,EAASv6E,EAAK41D,EACd58B,EAASh5B,EAAK41D,EAGd9hD,EAAU0hE,EAAS+E,EACnBx6E,EAAUy1E,EAAS+E,EACnBG,EAAUjE,EAASj3E,EACnBo7E,EAAUnE,EAASj3E,EAEvBE,EAAKV,GAAW8U,EAAU4mE,EAC1Bh7E,EAAKV,EAAU,IAAM8U,EAAU4mE,EAAA,IAE3B3hD,EAA6B,YAArB6hD,EAAU76E,GACtBL,EAAKV,EAAU,IAAMe,EAAUg5B,EAC/Br5B,EAAKV,EAAU,IAAMe,EAAUg5B,EAAA,IAQ3B8hD,EAA6B,aALjC/mE,EAAUklB,EAASmhD,IAEnBS,EAAUhnE,EAAS0iE,IAIfyE,EAAO,SAAYjnE,EAAU+mE,EAC7BK,EAAO,YAAcN,EAAUC,EAC/Be,EAAiB,YAPrBlB,EAAUP,EAASvmE,GASfkoE,EAAQxF,EAASsF,EACjB7nE,EAAQuiE,EAASsF,EAErBl8E,EAAKV,EAAU,IAAM+U,EAAQgnE,EAC7Br7E,EAAKV,EAAU,IAAM+U,EAAQgnE,EAC7Br7E,EAAKV,EAAU,GAAK88E,EAAQZ,EAC5Bx7E,EAAKV,EAAU,IAAM88E,EAAQZ,EAE7Bl8E,GAAA,KAKGE,EAAI,EAAGA,EAjHF,KAiHaA,EAErBE,EAAYM,EAAKR,GAAKR,EAAMQ,GAC5BH,EAAgBG,GACdE,EAAY,EAAOA,EAAY,GAAO,EAAKA,EAAY,GAAO,SAG3DL,CAAA,CA8GH,CAAmBW,EAAKhB,GAEnBuB,EAAI,EAAGA,EAHN,KAGiBA,EACzBV,EAAGY,EAAOF,IAAMnB,EAAOmB,GAAA,IAErBf,EAAOK,EAAG,GAAKE,EACnBA,EAAKF,EAAG,GAEI,GAARL,EACFs2E,EAAUl2E,EAAK,KAGfk2E,EAAUl2E,EAAKN,EADfgB,EAAM,MAAQd,KAEds2E,EAAUp2E,EAAQY,KAAA,QAGhBf,EAAU,GACPA,EAAU,GAAoB,GAAfM,EAAGN,IACvBA,IAAA,GAGa,GAAXA,EAAA,OACFu2E,EAAU5f,GACHn2D,EAAA,QAGLJ,EADAM,EAAI,EAEDA,GAAKV,GAAS,SACfN,EAAWgB,EACC,GAATJ,EAAGI,IAAWA,GAAKV,KACtBU,EAAA,IAEAG,EAAWH,EAAIhB,EAAA,GACfmB,GApCI,GAoCa,CACnBT,EAAMS,GAAY,MACb,IAAIF,EAAW,EAAGA,GAAYP,IAAOO,EACxC41E,EAAU5yE,GACZ9C,GAAsB,GAExBE,EAAM,MAAQT,EAAGI,GACjB61E,EAAUj3E,GAAMuB,GAAY,GAAKd,EAASgB,KAC1Cw1E,EAAUp2E,EAAQY,IAClBL,GAAA,QA5CQ,IA8CNV,GACFu2E,EAAU5f,GAELn2D,CAAA,UA8HAD,EAAWE,GAClBA,EAAU8G,KAAKmT,IAAInT,KAAKC,IAAI/G,EAAS,GAAI,KAErCM,GAAkBN,IAAA,SA1qBCA,GAAA,QACnBhB,EAAM,CACR,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IAGOe,EAAI,EAAGA,EAAI,GAAIA,IAAK,KACvBH,EAAIs2D,GAAQl3D,EAAIe,GAAKC,EAAK,IAAM,KACpCJ,EAAIkH,KAAKmT,IAAInT,KAAKC,IAAInH,EAAG,GAAI,KAC7BsD,EAAOzC,EAAOV,IAAMH,CAAA,SAElBf,EAAO,CACT,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IAEOyB,EAAI,EAAGA,EAAI,GAAIA,IAAK,KACvBZ,EAAIw2D,GAAQr3D,EAAKyB,GAAKN,EAAK,IAAM,KACrCN,EAAIoH,KAAKmT,IAAInT,KAAKC,IAAIrH,EAAG,GAAI,KAC7BN,EAAQqB,EAAOH,IAAMZ,CAAA,SAEnBJ,EAAO,CACT,EACA,YACA,YACA,YACA,EACA,WACA,SACA,YAEED,EAAI,EACCQ,EAAM,EAAGA,EAAM,EAAGA,IAAA,IACpB,IAAIN,EAAM,EAAGA,EAAM,EAAGA,IACzBgB,EAAQlB,GAAK,GAAO6D,EAAOzC,EAAOpB,IAAMC,EAAKO,GAAOP,EAAKC,GAAO,GAChEC,EAASH,GAAK,GAAOD,EA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A,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEJxwB,EAAE,aAAc,iBAChB76E,EAAKw9G,WAAa,kBACT,YAETx9G,EAAKy9G,WAAa,SAASz9G,GAAA,OA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oD,EAAKg/G,iBAAmB,IAAIpiH,OAAS,OAClC6zG,GACFO,GACAC,GACAG,GACAG,GACAJ,GA+3BAqJ,GAIAC,GACAI,GACAH,GACAC,GACAC,GACAl1C,GACAq1C,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GAIAnN,GACA+C,GACAhD,GACA8E,GAz5BAiH,GAAK95G,EAAE,KACP+5G,GAAK/5G,EAAE,MACPg6G,GAAKh6G,EAAE,KACPi6G,GAAKj6G,EAAE,KACP65G,GAAK,EACL+B,GAAK7B,GACLnkB,GAAKokB,GACL2B,GAAI1B,GACJ4B,GAAI/B,GACJrJ,GAAK,EACLvC,GAAK,EACL0C,GAAK,EACLzC,GAAK,EACLN,GAAK,EACLO,GAAK,EACL4C,GAAK,EACL1F,GAAK,EACLC,GAAK,EACLC,GAAK,EACLC,GAAK,GACLiH,GAAK,CAAC,EAAG,EAAG,GACZD,GAAK,CAAC,EAAG,EAAG,IACZF,GAAK,CAAC,IAAK,IAAK,IAAK,IAAK,IAC1BI,GAAK,CAAC,EAAG,EAAG,EAAG,EAAG,GAClBH,GAAK,CAAC,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,IACpEnD,GAAK,CACH,GACA,EACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,EACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,EACA,IACA,IACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,IACA,GACA,GACA,EACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,IACA,GACA,IACA,IACA,GACA,GACA,GACA,IACA,IACA,GACA,IACA,GACA,IACA,IACA,GACA,KAEFiD,GAAK,CACH,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEF5oC,GAAK,EACLyvC,GAAK,CACH,EACA,EACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEFC,GAAK,CACH,EACA,EACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA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ACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,QAIzDE,GAAK,CAAC,EAAG,EAAG,EAAG,EAAG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CA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,IACA,MACA,MACA,IACA,MACA,MACA,IACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,MACA,MACA,IACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,KACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,KACA,IACA,IACA,IACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IA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BAEI0oL,GAAmB,CAC9BxiM,MAAO,0BACPizK,WAAY,GACZE,WAAW,EACXC,YAAa,EACbt5J,MAAO,yBAGI2oL,GAA+B,CAC1CziM,MAAO,YACPizK,WAAY,GACZE,WAAW,EACXC,YAAa,EACbt5J,MAAO,wBAII4oL,GAAsB,CACjC1iM,MAAO,UACPizK,WAAY,GACZE,WAAW,EACXC,YAAa,EACbt5J,MAAO,yBAII6oL,GAA8B,CACzC,CACE3iM,MAAO,MACPd,MAAO,OAET,CACEc,MAAO,MACPd,MAAO,QAwFL0jM,GAAc,CAClB,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEWC,GAtHQ,CACnB,UACA,SACA,UACA,WACA,iBACA,aACA,WACA,cACA,WACA,uBACA,UACA,UACA,OACA,SACA,QACA,WACA,UACA,OACA,SACA,WACA,YACA,QACA,WACA,gBACA,WACA,YACA,cACA,WACA,UACA,WACA,SACA,gBACA,aACA,aACA,WACA,iBACA,eACA,2BACA,OACA,WACA,SACA,eACA,cACA,eACA,iBACA,eACA,YACA,QACA,oBACA,OACA,UACA,WACA,iBACA,aACA,gBACA,YACA,WA6D6C32L,KAAI,SAAC0zF,EAAOr8F,GACzD,MAAO,CACLvD,MAAO4/F,EACP1gG,MAAO0jM,GAAYr/L,GAEvB,IAGau/L,GAA4B,CACvC,aACA,QACA,6BAGWC,GAA2B,WAAiC,IAAhCC,EAAexqM,UAAAJ,OAAA,QAAAiU,IAAA7T,UAAA,GAAAA,UAAA,GAAG,WAAO,EAK1DyqM,EAAoB,CACxB,CACEhmD,OAAQ,gBACRD,SAAU,SAACk6C,GAAa,IAAAgM,EAAAC,EAAA,OACT,OAAbj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S,GAAqC,CAChDt4S,MAAO,qBACPizK,WAAY,GACZE,WAAW,EACXC,YAAa,EACbt5J,MAAO,uBACP7hB,KAAM,OACNiJ,MAAO,GAIIq3S,GAA8B,CACzCv4S,MAAO,MACPizK,WAAY,GACZE,WAAW,EACXC,YAAa,EACbt5J,MAAO,yBAaH0+R,GAA0B,CAC9B,aACA,mBACA,qBACA,mBACA,gBACA,gBACA,sBACA,YAEA,MACA,OACA,QACA,OACA,YACA,cACA,eACA,eAEA,aACA,eACA,sBACA,OACA,MACA,sCACA,iBACA,qBAEIC,GAA+B,CACnC,aACA,qBACA,8BACA,2BACA,2BACA,2BACA,qCACA,sBAGA,MACA,OACA,QACA,OACA,YACA,cACA,eACA,eAEA,SACA,eACA,sBACA,OACA,mBACA,aACA,iBACA,aAEIC,GAAqC,CACzC,GACA,mBACA,mBACA,kBACA,KACA,KACA,kBACA,QACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,UACA,IAEWC,GAAiCH,GAAwBtsS,KACpE,SAACg/B,GAAI,MAAM,CACTlrC,MAAOkrC,EACPhsC,MAAOu5S,GAA6BD,GAAwB1tS,QAAQogC,IACpE0tQ,OACEF,GAAmCF,GAAwB1tS,QAAQogC,IACtE,IAEU2tQ,GAAqB,CAChC,aACA,qBACA,2BACA,qCACA,sBACA,2BACA,4BAEWC,GAA4B,CACvC7oI,QAAQ,EACR18F,QAAS,CACPwgG,mBAAoB,CAClB97K,KAAM,cACN+H,MAAO,mBACP+V,KAAM,wBACN5P,KAAM,CAAC,EAAG,GACVw+I,OAAQ,CAAC,EAAG,IAEdmvB,oBAAqB,CACnB77K,KAAM,cACN+H,MAAO,YACP+V,KAAM,QACN5P,KAAM,CAAC,EAAG,GACVw+I,OAAQ,CAAC,EAAG,IAEdkvB,mCAAoC,CAClC57K,KAAM,cACN+H,MAAO,sBACP+V,KAAM,uBACN5P,KAAM,CAAC,EAAG,GACVw+I,OAAQ,CAAC,EAAG,IAEd4wB,yBAA0B,CACxBt9K,KAAM,cACN+H,MAAO,mBACP+V,KAAM,uBACN5P,KAAM,CAAC,EAAG,GACVw+I,OAAQ,CAAC,EAAG,IAEdgwB,yBAA0B,CACxB18K,KAAM,cACN+H,MAAO,gBACP+V,KAAM,KACN5P,KAAM,CAAC,EAAG,GACVw+I,OAAQ,CAAC,EAAG,GACZ23I,UAAW,MAEb5nH,yBAA0B,CACxBz8K,KAAM,cACN+H,MAAO,gBACP+V,KAAM,KACN5P,KAAM,CAAC,EAAG,GACVw+I,OAAQ,CAAC,EAAG,GACZ23I,UAAW,QAIJyc,GAAsBjmI,GAAAA,GAAA,GAC9BgmI,IAAyB,IAC5BvlO,QAAOu/F,GAAAA,GAAA,GACuB,OAAzBgmI,SAAyB,IAAzBA,QAAyB,EAAzBA,GAA2BvlO,SAAO,IACrCihG,OAAQ,CACNv8K,KAAM,cACN+H,MAAO,aACPmG,KAAM,CAAC,EAAG,KACVw+I,OAAQ,CAAC,EAAG,KACZ23I,UAAW,OAKJ0c,GAAoB,SAC/BjiH,GAEI,IADJnyI,EAAOpsD,UAAAJ,OAAA,QAAAiU,IAAA7T,UAAA,GAAAA,UAAA,GAAGqgT,GAGJ5hH,EAAankB,GAAAA,GAAA,GACdsjB,IAFkB,CAAE9hB,UAAW,cAKpC,OAAc,OAAP1vH,QAAO,IAAPA,OAAO,EAAPA,EAAS14C,KAAI,SAAC83C,GACnB,MAAe,eAAXA,EACK,CACLtD,GAAI,aACJu8F,OAAQ,UACRD,SAAU,SAACj5F,GAAG,OACZu0H,EAAAA,GAAAA,KAAA,OACEx3I,UAAU,uBACV0yG,QAAS,kBAAMujD,EAA6B,OAAHhzI,QAAG,IAAHA,OAAG,EAAHA,EAAK6vH,WAAW,EAAChyE,SAEzDzwF,SAAY,OAAH4yC,QAAG,IAAHA,OAAG,EAAHA,EAAK6vH,cAAkB,OAAH7vH,QAAG,IAAHA,OAAG,EAAHA,EAAK6vH,aAC/B,EAERujB,UAAW,SAACpzI,GAAG,OAAQ,OAAHA,QAAG,IAAHA,OAAG,EAAHA,EAAK6vH,UAAU,GAI9B,CACLlzH,GAAIsD,EACJi5F,QACe,OAAbg6C,QAAa,IAAbA,OAAa,EAAbA,EAAgBjzI,MACV,OAANA,QAAM,IAANA,GAAmB,QAAbozI,EAANpzI,EAAQljD,MAAM,EAAG,UAAE,IAAAs2L,OAAb,EAANA,EAAqBz9K,gBACb,OAANqqC,QAAM,IAANA,GAA4B,QAAtBqzI,EAANrzI,EAAQszI,WAAW,IAAK,YAAI,IAAAD,OAAtB,EAANA,EAA8Bv2L,MAAM,IACxCk8I,SAAUh5F,EACVmzI,UAAW,SAACpzI,GAAG,OAAQ,OAAHA,QAAG,IAAHA,OAAG,EAAHA,EAAMC,EAAO,GAT7B,IAADozI,EAAAC,CAYT,GACF,EAGa4hH,GAAsC,CACjDC,QAAS,CACPtlI,WAAY,CAAE5zK,MAAO,UAAW+V,KAAM,IACtCi+J,IAAK,CAAEh0K,MAAO,MAAO+V,KAAM,IAC3Bk+J,KAAM,CAAEj0K,MAAO,OAAQ+V,KAAM,IAC7Bo+J,KAAM,CAAEn0K,MAAO,OAAQ+V,KAAM,IAE7Bq+J,YAAa,CAAEp0K,MAAO,SAAU+V,KAAM,KAExCojS,aAAc,CACZrkI,8BAA+B,CAAE90K,MAAO,WAAY+V,KAAM,SAC1DqjS,iBAAkB,CAAEp5S,MAAO,iBAAkB+V,KAAM,OACnD+9J,oBAAqB,CAAE9zK,MAAO,YAAa+V,KAAM,SACjD6+J,8BAA+B,CAAE50K,MAAO,iBAAkB+V,KAAM,WAChEsjS,sBAAuB,CACrBr5S,MAAO,sBACP+V,KAAM,kBAERg/J,gBAAiB,CAAE/0K,MAAO,aAAc+V,KAAM,SAC9CujS,oBAAqB,CACnBt5S,MAAO,sBACP+V,KAAM,IACN2pL,MAAOkB,IAET3rB,YAAa,CACXj1K,MAAO,cACP+V,KAAM,OACN2pL,MAAOmB,KAGX04G,aAAc,CACZjlI,UAAW,CAAEt0K,MAAO,YAAa+V,KAAM,IACvCm/J,4BAA6B,CAAEl1K,MAAO,YAAa+V,KAAM,WACzDo/J,6BAA8B,CAC5Bn1K,MAAO,oBACP+V,KAAM,WAERq/J,qBAAsB,CACpBp1K,MAAO,eACP+V,KAAM,IACNyjS,YAAY,IAGhBC,UAAW,CACTC,WAAY,CAAE15S,MAAO,wBAAoB+V,KAAM,YAC/Cw/J,yBAA0B,CACxBv1K,MAAO,mBACP+V,KAAM,eAER4+J,yBAA0B,CAAE30K,MAAO,gBAAiB+V,KAAM,MAC1D2+J,yBAA0B,CAAE10K,MAAO,gBAAiB+V,KAAM,MAC1D89J,mCAAoC,CAClC7zK,MAAO,iBACP+V,KAAM,eAER4jS,wBAAyB,CACvB35S,MAAO,wBACP+V,KAAM,aAERg+J,mBAAoB,CAAE/zK,MAAO,mBAAoB+V,KAAM,oBAEvDw+J,QAAS,CAAEv0K,MAAO,gBAAiB+V,KAAM,MAKvC6jS,GAAsB97S,MAAM6C,KAChC,CAAEvI,OAAQ,KACV,SAACqD,EAAGpB,GAAC,OAAKA,EAAI,IAAI,IAClBsmE,MAAK,SAAC7kE,EAAGrB,GAAC,OAAKA,EAAIqB,CAAC,IACT+9S,GAAuB,CAClClqI,YAAaiqI,GAAoB1tS,KAAI,SAACioK,GACpC,MAAO,CACLj1K,MAAOkmF,KAAKC,UAAU8uF,GACtBn0K,MAAOolF,KAAKC,UAAU8uF,GAE1B,KAGW2lI,GAAoB,CAC/BC,gBAAgB,EAChBC,iBAAiB,EACjBC,YAAY,GCrYC,SAASC,GAAoBx8I,GAAgB,IAADy8I,EAAAC,EAATppL,EAAK53H,OAAAqF,OAAA,IAAA84S,GAAA75I,GAAAA,IAE7ComC,GAAqBv1D,EAAAA,EAAAA,YAAWomK,IAAhC7wG,iBAGR6tG,GAAkDpjK,EAAAA,EAAAA,YAAWs4D,IAArDU,EAAgBoqG,EAAhBpqG,iBAAkBC,EAAmBmqG,EAAnBnqG,oBAGpBkwG,EAAgBtkG,GAAO,kBAMvBvsC,EAAWR,KAGX0wB,EAA4B,SAAC5wL,GACjC,IAAM5C,EAAY,OAAJ4C,QAAI,IAAJA,OAAI,EAAJA,EAAM2E,QAAQ,KACtBuvS,EAAY,OAAJl0S,QAAI,IAAJA,OAAI,EAAJA,EAAMqT,UAAUjW,EAAQ,GACtCytH,EAAM42E,aAAY90B,GAAAA,GAAC,CAAC,EACf9hD,EAAM22E,WAAS,IAClB,uBAAwB,KAG1B,IAAMioG,EAAM,oDAAA11S,OAAuDmgT,GACnExzI,EAAS+oI,EACX,EACA,OACEt3H,EAAAA,GAAAA,KAAAyC,GAAAA,SAAA,CAAAn5E,SACoB,OAAhBkiG,QAAgB,IAAhBA,GAAAA,EAAkB7zB,QAGlB6K,EAAAA,GAAAA,MAAA,OAAKh6I,UAAU,gBAAe8gE,SAAA,EAC5Bk5E,EAAAA,GAAAA,MAAA,OAAKh6I,UAAU,sBAAqB8gE,SAAA,EAClCk5E,EAAAA,GAAAA,MAAA,OAAKh6I,UAAU,kBAAiB8gE,SAAA,EAC9B02E,EAAAA,GAAAA,KAAA,OAAKx3I,UAAU,aAAY8gE,SAAC,8BACP,OAApBm+F,SAAoB,IAApBA,QAAoB,EAApBA,GAAsBL,MACF,OAApBK,SAAoB,IAApBA,QAAoB,EAApBA,GAAsBJ,WAEzBrnB,EAAAA,GAAAA,KAAA,OAAKx3I,UAAU,kCAAiC8gE,UAC9C02E,EAAAA,GAAAA,KAACk+B,GAAc,CACb5/L,OAAQo6G,EAAMk2E,WACdK,iBAAkBA,EAClBC,oBAAqBA,EACrBmP,sBAlCgB,mBAmChBK,eAAgB,UAChBF,6BAA6B,8BAC7BI,sBAAsB,UAI5Bp8B,EAAAA,GAAAA,MAAA,OAAKh6I,UAAU,sBAAqB8gE,SAAA,EAClC02E,EAAAA,GAAAA,KAACvmH,GAAK,CACJwwO,UAA2B,OAAhBz+F,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkB39L,KAAKrF,MAChC,EACgB,QAAhBq5S,EAAAnpL,EAAMxsF,kBAAU,IAAA21Q,GAAhBA,EAAkBj5S,MAAQ,EAAI,GAEhCi4D,OAAQs+O,GACNC,EACA,EACA3gH,GAEF8rG,kBAAkB,mCAEH,QAAhBuX,EAAAppL,EAAMxsF,kBAAU,IAAA41Q,OAAA,EAAhBA,EAAkBl5S,SACjBo3K,EAAAA,GAAAA,KAACvmH,GAAK,CACJwwO,UAA2B,OAAhBz+F,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkB39L,KAAKrF,MAAM,GACxCq4D,OAAQs+O,GACNC,EACA,EACA3gH,GAEF8rG,kBAAkB,yCA1C1BvqH,EAAAA,GAAAA,KAACu/B,GAAQ,CAAC12M,OAAQ,UAkD1B,CCzFe,SAASm5S,GAAa58I,GAKjC,IAAD68I,EAAA78I,EAJD88I,OAAAA,OAAM,IAAAD,EAAG,GAAEA,EACXE,EAAS/8I,EAAT+8I,UAASC,EAAAh9I,EACTi9I,iBAAAA,OAAgB,IAAAD,EAAG,SAAQA,EAAA5Y,EAAApkI,EAC3B19J,MAAAA,OAAK,IAAA8hS,EAAG,mBAAkBA,EAGpB8Y,GAAmB9rK,EAAAA,EAAAA,QAAO,MAmJhC,OA/IAN,EAAAA,EAAAA,YAAU,WAER,GAAKosK,EAAiBzvS,SAAYrN,MAAM8G,QAAQ41S,IAG5CA,EAAQ,CAEV,IAAMK,EACM,qBAAV76S,EACI,CAEE8gR,UAAW,SAAC9xD,GACV,IAAM72L,EAAM62L,EAAM72L,IAGZrR,EAFKkoM,EAAM92L,OAAOz1B,YAER,EACVskB,EAFKioM,EAAM92L,OAAOt1B,aAER,IAChBu1B,EAAI0hB,OACJ1hB,EAAIpL,UAAY,SAChBoL,EAAIshB,aAAe,SACnBthB,EAAIO,UAAY,UAChBP,EAAI4iB,KAAO,gBACX,IAAM+/P,EAAW,iBACjB3iR,EAAIqiB,SAASsgQ,EAAUh0R,EAAIC,GAC3BoR,EAAI0hB,OAEJ,IAAMm6K,EAAY77L,EAAIuiB,YAAYogQ,GAAU55S,MAAQ,EAEpDi3B,EAAI4iB,KAAO,aACX5iB,EAAIqiB,SAAS,SAAK1zB,EAAiB,KAAZktM,EAAkBjtM,EAAK,KAC9CoR,EAAI0hB,OAGJ1hB,EAAI4iB,KAAO,gBACX5iB,EAAIqiB,SAAS,IAAK1zB,EAAiB,IAAZktM,EAAiBjtM,GACxCoR,EAAI0hB,OACJ1hB,EAAI6hB,SACN,GAEF,CACE8mO,UAAW,SAAC9xD,GACV,IAAM72L,EAAM62L,EAAM72L,IAGZrR,EAFKkoM,EAAM92L,OAAOz1B,YAER,EACVskB,EAFKioM,EAAM92L,OAAOt1B,aAER,IAChBu1B,EAAI0hB,OACJ1hB,EAAIpL,UAAY,SAChBoL,EAAIshB,aAAe,SACnBthB,EAAIO,UAAY,UAChBP,EAAI4iB,KAAO,gBACX5iB,EAAIqiB,SAASx6C,EAAO8mB,EAAIC,GACxBoR,EAAI0hB,MACN,GAGFi4H,EAAS0oI,EAAOtuS,KAAI,SAAC6uS,GAAK,OAAKA,EAAM/6S,KAAK,IAC1C4W,EAAS4jS,EAAOtuS,KAAI,SAAC6uS,GAAK,OAAKA,EAAMjlB,eAAe,IAGpDklB,EAAmBR,EAAOtuS,KAAI,SAAC8yG,GAAQ,IAADi8L,EAAAC,EACpCC,EAAqB,OAAFn8L,QAAE,IAAFA,GAAS,QAAPi8L,EAAFj8L,EAAIh/G,aAAK,IAAAi7S,OAAP,EAAFA,EAAWhmS,cAAc4xC,MAAM,KAAK1tC,KAAK,IAClE,OAAgB,OAATshS,QAAS,IAATA,GAA6B,QAApBS,EAATT,EAAYU,UAAiB,IAAAD,OAApB,EAATA,EAA+BphS,QAAS,SACjD,IAcMshS,EAAsB,CAC1BnjT,KAjFY,WAkFZ+pJ,QAAS,CACP,CAEE8+H,UAAW,SAAC9xD,GACV,IAAMsnF,EAAW,GAAAp8S,OAAMygT,GAEjBxiR,EAAM62L,EAAM72L,IAGZrR,EAFKkoM,EAAM92L,OAAOz1B,YAER,EACVskB,EAFKioM,EAAM92L,OAAOt1B,aAER,IAEhBu1B,EAAI0hB,OACJ1hB,EAAIpL,UAAY,SAChBoL,EAAIshB,aAAe,SACnBthB,EAAIO,UAAY,QAChBP,EAAI4iB,KAAO,iBACX5iB,EAAIqiB,SAAS87P,EAAaxvR,EAAIC,GAC9BoR,EAAI6hB,SACN,GAEF6gQ,GAEF10S,KArCW,CACX2rK,OAAQA,EACR05B,SAAU,CACR,CACErlM,KAAMyQ,EACN4N,gBAAiBw2R,EACjBvwP,YAAa,KAgCjB3+C,QAAS,CACP8rO,OAAQ,MACR51F,QAAS,CACP29C,OAAQ,CACNt0K,SAAS,GAEXiuP,QAAS,CACP34N,SAAS,GAEX06P,WAAY,CACVvhS,MAAO,OACP00M,UAAW,SAACtvN,EAAOoC,GACjB,IAEMsxD,EADJtxD,EAAQ0tN,MAAM7oN,KAAKqlM,SAASlqM,EAAQkkN,cAChBr/M,KAAKygB,QAAO,SAAC4B,EAAKqlL,GAAI,OAAKrlL,EAAMqlL,CAAI,GAAE,GAE7D,OADmBvrM,KAAK8X,MAAOlb,EAAQ0zD,EAAS,KAAO,GAEzD,EACA0oP,OAAQ,SACRp0P,MAAO,SACP/vB,QAAS,GACT4jB,KAAM,CACJxzB,KAAM,GACN8zE,OAAQ,YAQZ2zH,EAAQ,IAAIkrC,GAAM0gD,EAAiBzvS,QAASiwS,GAGlD,OAAO,WACLpsF,EAAM/kL,SACR,CACF,CACF,GAAG,CAACuwQ,EAAQC,EAAWz6S,EAAO26S,KAG5BriI,EAAAA,GAAAA,KAAA,UACE/8E,IAAKq/M,EACLl6P,GAAG,2BACH5f,UAAU,kBAGhB,CC5Je,SAASy6Q,GAA+B79I,GAGnD,IAFFu3I,EAA8Bv3I,EAA9Bu3I,+BACAE,EAAsBz3I,EAAtBy3I,uBAGArD,EAA4BhC,GAAW,0BAA/BjpI,EAAQirI,EAARjrI,SAAUqpI,EAAK4B,EAAL5B,MAGZsL,EAAqBpiT,OAAOqiT,YAChCriT,OAAO4sJ,QAAQivJ,GAAgC/oS,KAAI,SAAA+pK,GAAA,IAAAgF,GAAAnhB,EAAAA,EAAAA,GAAAmc,EAAA,GAAE37K,EAAG2gL,EAAA,GAAE/7K,EAAK+7K,EAAA,SAAM,CACnE3gL,EAAI2a,cACJ/V,EACD,KAIGw8S,GACJpjI,EAAAA,GAAAA,KAAA,OAAKx3I,UAAU,qCAAoC8gE,UACjD02E,EAAAA,GAAAA,KAACgiI,GAAa,CACZE,OAAQphT,OAAOwd,OAAOq+R,IAAmC,GACzDwF,UAAWe,EACXb,iBAAwC,OAAtBxF,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBj2S,UAM1CwvS,EACJ52H,aAAaC,QAAQ,iBAA+B,OAAbvI,SAAa,IAAbA,QAAa,EAAbA,GAAel8J,OAGlDqoS,EAAiB,SAACxiP,GAAY,IAADs0O,EACjC,OAA0B,QAA1BA,EAAOr0S,OAAOa,KAAKk/D,UAAO,IAAAs0O,OAAA,EAAnBA,EACH3sS,MAAM,EAAG,GACVoL,KAAI,SAACg/B,EAAM3nC,GAAW,IAADq4S,EACuBr3I,EAAAs3I,EAAAtxI,EAAAuxI,EAAAC,EAAAC,EAA3C,OAAwC,KAA9B,OAAN7iP,QAAM,IAANA,GAAc,QAARyiP,EAANziP,EAASjuB,UAAK,IAAA0wQ,OAAR,EAANA,EAAgB9lB,kBAEhBh7G,EAAAA,GAAAA,MAAA,OAAiBh6I,UAAU,kCAAiC8gE,SAAA,EAC1Dk5E,EAAAA,GAAAA,MAAA,OAAKh6I,UAAU,iCAAgC8gE,SAAA,EAC7Ck5E,EAAAA,GAAAA,MAAA,OAAKh6I,UAAU,8CAA6C8gE,SAAA,EACnB,QAAtC2iE,EAAmC,KAA5B,OAANprG,QAAM,IAANA,GAAc,QAAR0iP,EAAN1iP,EAASjuB,UAAK,IAAA2wQ,OAAR,EAANA,EAAgB/lB,wBAAqB,IAAAvxH,OAAA,EAAtCA,EAAyCpuF,QAAQ,KAAM,IAAI,QAE9DmiG,EAAAA,GAAAA,KAACu9G,GAAW,CACVC,gBACuC,QADxBvrH,EACqB,KAA5B,OAANpxG,QAAM,IAANA,GAAc,QAAR2iP,EAAN3iP,EAASjuB,UAAK,IAAA4wQ,OAAR,EAANA,EAAgBhmB,wBAAqB,IAAAvrH,OAAA,EADtBA,EAEdp0F,QAAQ,GACX+/M,kBAAiB,YAAAh8R,OAAcgxC,SAGnC4vI,EAAAA,GAAAA,MAAA,OAAKh6I,UAAU,iCAAgC8gE,SAAA,EAC7C02E,EAAAA,GAAAA,KAAA,OAAKx3I,UAAU,6CAA4C8gE,SAClD,OAANzoC,QAAM,IAANA,GAAc,QAAR4iP,EAAN5iP,EAASjuB,UAAK,IAAA6wQ,OAAR,EAANA,EAAgB/7S,SAEnBs4K,EAAAA,GAAAA,KAAA,OAAKx3I,UAAU,0CAAyC8gE,SAC/C,OAANzoC,QAAM,IAANA,GAAc,QAAR6iP,EAAN7iP,EAASjuB,UAAK,IAAA8wQ,OAAR,EAANA,EAAgBr8G,cAjBbp8L,IAwBVu3K,EAAAA,GAAAA,MAAA,OACEp6H,GAAG,uCACH5f,UAAU,yCACV0yG,QAAS,kBAAMyoK,GAAwB,EAACr6M,SAAA,EAExC02E,EAAAA,GAAAA,KAAA,KAAA12E,SAAG,+BACH02E,EAAAA,GAAAA,KAAA,KAAA12E,SAAG,6BACH02E,EAAAA,GAAAA,KAAA,KAAA12E,SAAG,8CAIX,GACJ,EAGMq6M,EAAyB,WAC7Bp1I,EAASqpI,EAAO,CAAEtwM,MAAO,CAAE+nG,UAAW,GAAKxrK,SAAS,GACtD,EAEA,OACEm8I,EAAAA,GAAAA,KAAAyC,GAAAA,SAAA,CAAAn5E,SACI8sM,GASAp2H,EAAAA,GAAAA,KAAAyC,GAAAA,SAAA,CAAAn5E,UACEk5E,EAAAA,GAAAA,MAAA,OAAKp6H,GAAG,yCAAwCkhD,SAAA,EAC9Ck5E,EAAAA,GAAAA,MAAA,OAAKh6I,UAAU,iCAAgC8gE,SAAA,EAC7C02E,EAAAA,GAAAA,KAAA,KAAGx3I,UAAU,aAAY8gE,SAAEo/F,KAC1B06G,MAEHpjI,EAAAA,GAAAA,KAAA,OAAA12E,SAAM+5M,EAAe1G,WAdzBn6H,EAAAA,GAAAA,MAAA,OAAKp6H,GAAG,yCAAwCkhD,SAAA,EAC9Ck5E,EAAAA,GAAAA,MAAA,OAAKh6I,UAAU,iCAAgC8gE,SAAA,EAC7C02E,EAAAA,GAAAA,KAAA,KAAGx3I,UAAU,aAAY8gE,SAAEo/F,KAC1B06G,MAEHpjI,EAAAA,GAAAA,KAAA,OAAA12E,SAAM+5M,EAAe1G,SAe/B,CCvGe,SAASiH,GAAqBx+I,GAAgB,IAAV1sC,EAAK53H,OAAAqF,OAAA,IAAA84S,GAAA75I,GAAAA,IAEtDyY,GAAkCpnC,EAAAA,EAAAA,WAAS,GAAMqnC,GAAAtc,EAAAA,EAAAA,GAAAqc,EAAA,GAA1C+1H,EAAS91H,EAAA,GAAE+1H,EAAY/1H,EAAA,GAG9BgE,GACE7rC,EAAAA,EAAAA,YAAWomK,IADLQ,EAAsB/6H,EAAtB+6H,uBAAwBF,EAA8B76H,EAA9B66H,+BAgB1BkH,GACJ7jI,EAAAA,GAAAA,KAACqoH,GAAK,CACJxM,QAPqB,WACvBgY,GAAa,EACf,EAMIvqM,UACE02E,EAAAA,GAAAA,KAACijI,GAA+B,CAC9BtG,+BAAgCA,EAChCE,uBAAwBA,MAO1BiH,GACJ9jI,EAAAA,GAAAA,KAAA,OACEx3I,UAAW,4CACX0yG,QAAS,WAxBX24J,GAAa,EAwBiB,EAACvqM,SAC9B,kBAIH,OACEk5E,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAn5E,SAAA,CAC0B,OAAtBuzM,QAAsB,IAAtBA,GAAAA,EAAwBllI,QAGxBqI,EAAAA,GAAAA,KAACk7B,GAAe,CACduC,UAAWo/F,EACXh/F,UAAWimG,EACX5mG,gBACE,sEAEFe,aACEj+B,EAAAA,GAAAA,KAACk+B,GAAc,CACb5/L,OAAQo6G,EAAMk2E,WACdK,iBAAkBv2E,EAAMu2E,iBACxBC,oBAAqBx2E,EAAMw2E,oBAC3BmP,sBAjDkB,oBAkDlBK,eAAe,aAdrB1+B,EAAAA,GAAAA,KAACu/B,GAAQ,CAAC12M,OAAQ,SAmBnB+qS,GAAaiQ,IAGpB,CCzEe,SAASE,GAAgB3+I,GAAoB,IAAjBq3I,EAAYr3I,EAAZq3I,aACzC,OACEz8H,EAAAA,GAAAA,KAAAyC,GAAAA,SAAA,CAAAn5E,SACgB,OAAZmzM,QAAY,IAAZA,GAAAA,EAAc9kI,OAEY,OAAZ,OAAZ8kI,QAAY,IAAZA,OAAY,EAAZA,EAAc71S,QAChBo5K,EAAAA,GAAAA,KAAAyC,GAAAA,SAAA,KAEAzC,EAAAA,GAAAA,KAAC0+H,GAAqB,CAACC,gBAAiBlC,KAJxCz8H,EAAAA,GAAAA,KAACu/B,GAAQ,CAAC12M,OAAQ,WAQ1B,CCJe,SAASm7S,GAAY5+I,GAAkB,IAAfl5H,EAAUk5H,EAAVl5H,WAErC41I,GAMI7rC,EAAAA,EAAAA,YAAWs4D,IALbK,EAAU9sB,EAAV8sB,WACAK,EAAgBntB,EAAhBmtB,iBACAC,EAAmBptB,EAAnBotB,oBACAG,EAASvtB,EAATutB,UACAC,EAAYxtB,EAAZwtB,aAIF+pG,GAA0CpjK,EAAAA,EAAAA,YAAWomK,IAA7CI,EAAYpD,EAAZoD,aAAcQ,EAAe5D,EAAf4D,gBAEtB,OACEz6H,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAn5E,SAAA,EACE02E,EAAAA,GAAAA,KAAC26B,GAAiB,CAChBC,WAAY,WACZyD,sBAAuB,cAEzBr+B,EAAAA,GAAAA,KAAAyC,GAAAA,SAAA,CAAAn5E,UACE02E,EAAAA,GAAAA,KAAA,OAAA12E,UACEk5E,EAAAA,GAAAA,MAAA,OAAKp6H,GAAG,0BAAyBkhD,SAAA,EAC/Bk5E,EAAAA,GAAAA,MAAA,OAAAl5E,SAAA,EACEk5E,EAAAA,GAAAA,MAAA,OAAKh6I,UAAU,2BAA0B8gE,SAAA,EACvC02E,EAAAA,GAAAA,KAAC4jI,GAAqB,CACpBh1G,WAAYA,EACZK,iBAAkBA,EAClBC,oBAAqBA,KAEvBlvB,EAAAA,GAAAA,KAACu+H,GAAwB,CACvB3vG,WAAYA,EACZK,iBAAkBA,EAClBC,oBAAqBA,EACrBhjK,WAAYA,QAGhB8zI,EAAAA,GAAAA,KAAC4hI,GAAoB,CACnBhzG,WAAYA,EACZK,iBAAkBA,EAClBC,oBAAqBA,EACrBI,aAAcA,EACdD,UAAWA,EACXnjK,WAAYA,OAGF,OAAZuwQ,QAAY,IAAZA,GAAAA,EAAc9kI,QAA0B,OAAfslI,QAAe,IAAfA,GAAAA,EAAiBtlI,QAG1CqI,EAAAA,GAAAA,KAAA,OAAKx3I,UAAU,4BAA2B8gE,UACxCk5E,EAAAA,GAAAA,MAAA,OAAKh6I,UAAU,+BAA8B8gE,SAAA,EAC3C02E,EAAAA,GAAAA,KAAC+jI,GAAgB,CAACtH,aAAcA,IACP,OAAZ,OAAZA,QAAY,IAAZA,OAAY,EAAZA,EAAc71S,SACbo5K,EAAAA,GAAAA,KAAA,OAAKx3I,UAAU,2DAA0D8gE,UACvE02E,EAAAA,GAAAA,KAACk+B,GAAc,CACb5/L,OAAQswL,EACRK,iBAAkBA,EAClBC,oBAAqBA,EACrBmP,sBAAuB,qBACvBK,eAAgB,UAChBF,6BAA6B,mCAInCx+B,EAAAA,GAAAA,KAAC++H,GAAmB,CAClB9B,gBAAiBA,EACjBruG,WAAYA,EACZK,iBAAkBA,EAClBC,oBAAqBA,EACrButG,aAAcA,UAtBpBz8H,EAAAA,GAAAA,KAACu/B,GAAQ,CAAC12M,OAAQ,mBAgChC,CCtFA,gBAIao7S,GAJiC,CAC5C,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACvE,KAGsCrwS,KAAI,SAAChN,GACzC,MAAO,CACLc,MAAM,GAAD9F,OAAKgF,EAAK,KACfA,MAAOA,EAEX,IAGWs9S,GAAoC,CAC/C1qI,OAAQ,GACR05B,SAAU,CACR,CACExrM,MAAO,SACPwkB,gBAAiB,uBACjBimC,YAAa,EACbtkD,KAAM,GACN6uO,cAAe,IAEjB,CACEh1O,MAAO,SACPwkB,gBAAiB,yBACjBimC,YAAa,EACbtkD,KAAM,GACN6uO,cAAe,MAMRynE,GAAgC,CAC3C3qI,OAAQ,GACRC,WAAY,GACZI,aAAc,GACdlC,QAAQ,GCpCGysI,GAA6B,SAAA1kI,EAAAilB,EAAAC,EAAAC,EAAAC,GAAA,OAAA1/B,GAAAA,KAAA7F,EAAAA,GAAAA,IAAAnI,EAAAA,GAAAA,KAAAC,MAAG,SAAAmmB,EAC3CwnB,EACAq/G,EACAC,EACAC,EACAC,GAAQ,IAAAC,EAAAC,EAAA,OAAAttJ,EAAAA,GAAAA,KAAAE,MAAA,SAAA/2I,GAAA,cAAAA,EAAA9N,KAAA8N,EAAArZ,MAAA,OAKuE,OAFzEw9S,EAAqB,GAAA9iT,OrL+Ba,sBqL/BsB,YAAAA,OAC5DiX,SAAyB,OAAhB0rS,QAAgB,IAAhBA,GAAqB,QAALE,EAAhBF,EAAmB,UAAE,IAAAE,OAAL,EAAhBA,EAAuB79S,OAAS,KAAO,GAAG,eAAAhF,OACvCyiT,EAAY,eAAAziT,OAAc4iT,EAAQ,mBAAA5iT,OAAkB0iT,GAAa/jS,EAAArZ,KAAA,EACzEg1L,GACH7tL,IAAIq2S,GACJp9S,MAAK,SAAC8tC,GAAc,IAADs8J,EAEZP,EAAuB,OAAR/7J,QAAQ,IAARA,OAAQ,EAARA,EAAUvnC,KAGzB82S,EAA6B,OAAZxzG,QAAY,IAAZA,GAAkB,QAANO,EAAZP,EAAc1qE,YAAI,IAAAirE,OAAN,EAAZA,EAAoB99L,KAAI,SAACg/B,GAAI,OAClDwqJ,GAAcxqJ,EAAK,IAIfgyQ,EAAapqI,GAAAA,GAAA,GACd0pI,IAAiC,IACpC1qI,OAAQmrI,IAEVC,EAAc1xG,SAAS,GAAGrlM,KAAmB,OAAZsjM,QAAY,IAAZA,OAAY,EAAZA,EAAc0zG,OAC/CD,EAAc1xG,SAAS,GAAGrlM,KAAmB,OAAZsjM,QAAY,IAAZA,OAAY,EAAZA,EAAc2zG,SAC/C9/G,EAAQ,CAAErtB,QAAQ,EAAM9pK,KAAM+2S,GAChC,IACCjkR,OAAM,WACLqkK,EAAQ,CAAErtB,QAAQ,EAAM9pK,KAAM,IAChC,IAAG,KAAD,mBAAA0S,EAAA8L,OAAA,GAAAmxJ,EAAA,MACLn3K,MAAA,KAAAnG,UAAA,ECpCY6kT,GAAoC,SAAArlI,EAAAilB,EAAAC,GAAA,OAAAx/B,GAAAA,KAAA7F,EAAAA,GAAAA,IAAAnI,EAAAA,GAAAA,KAAAC,MAAG,SAAAmmB,EAClDwnB,EACAggH,EACAC,GAAmB,OAAA7tJ,EAAAA,GAAAA,KAAAE,MAAA,SAAA/2I,GAAA,cAAAA,EAAA9N,KAAA8N,EAAArZ,MAAA,cAAAqZ,EAAArZ,KAAA,EAEbg1L,GACH7tL,IAAI4uL,IACJ31L,MAAK,SAAC8tC,GAEL,IAAM+7J,EAAuB,OAAR/7J,QAAQ,IAARA,OAAQ,EAARA,EAAUvnC,KAGzBq3S,EAAep4N,KAAKC,UAAsB,OAAZokH,QAAY,IAAZA,OAAY,EAAZA,EAAcpD,WAC5Co3G,EAAe,GAAAvjT,OAAMkrF,KAAKC,UACF,KAAhB,OAAZokH,QAAY,IAAZA,OAAY,EAAZA,EAAci0G,cACf,KACK5nB,EAAsB,OAAJ1wM,WAAI,IAAJA,UAAI,EAAJA,KAAMC,UAAsC,KAAhB,OAAZokH,QAAY,IAAZA,OAAY,EAAZA,EAAci0G,cAChDC,EAAqBv4N,KAAKC,UAAsB,OAAZokH,QAAY,IAAZA,OAAY,EAAZA,EAAcm0G,aAExDN,EAAe,CACb,CACEt9S,MAAO29S,EACPz+S,MAAOy+S,KAGXJ,EAAoB,CAClB,CACEv9S,MAAOy9S,EACPv+S,MAAO42R,KAIXx4F,EAAQ,CACNrtB,QAAQ,EACRo2B,UAAW,CACT,CACErmM,MAAOw9S,EACPt+S,MAAOs+S,IAGXl3G,kBAAmB,CACjB,CACEtmM,MAAOy9S,EACPv+S,MAAO42R,IAGXvvF,gBAAiB,CACf,CACEvmM,MAAO29S,EACPz+S,MAAOy+S,KAIf,IACC1kR,OAAM,WAAO,IAAG,KAAD,mBAAApgB,EAAA8L,OAAA,GAAAmxJ,EAAA,MACnBn3K,MAAA,KAAAnG,UAAA,EChCYqlT,GAA0B,SAAA7lI,GAAA,OAAAta,GAAAA,KAAA7F,EAAAA,GAAAA,IAAAnI,EAAAA,GAAAA,KAAAC,MAAG,SAAAmmB,EAAOwnB,GAAO,OAAA5tC,EAAAA,GAAAA,KAAAE,MAAA,SAAA/2I,GAAA,cAAAA,EAAA9N,KAAA8N,EAAArZ,MAAA,cAAAqZ,EAAArZ,KAAA,EAChDg1L,GACH7tL,IvLkBiC,auLjBjC/G,MAAK,SAAC8tC,GAAc,IAAD+9J,EAAAC,EAAAoyG,EAAAC,EAAAC,EAAAnyG,EAAAoyG,EAAA5rI,EAAA6rI,EAAAC,EAAA5rI,EAAA6rI,EAEd30G,EAAuB,OAAR/7J,QAAQ,IAARA,OAAQ,EAARA,EAAUvnC,KAEvB+lM,EAAyB,OAAZzC,QAAY,IAAZA,GAAmB,QAAPgC,EAAZhC,EAAcr4B,aAAK,IAAAq6B,OAAP,EAAZA,EAAqBrzM,OAClC+zM,GAA2B,OAAZ1C,QAAY,IAAZA,GAAmB,QAAPiC,EAAZjC,EAAcr4B,aAAK,IAAAs6B,OAAP,EAAZA,EAAqBtzM,QAAS,EAE7CimT,EAA2B,OAAZ50G,QAAY,IAAZA,OAAY,EAAZA,EAAc60G,QAAQlmT,OAErCmmT,EAAcryG,EAAamyG,EAAe,EAE1CxzG,EAA6B,OAAZpB,QAAY,IAAZA,GAAqB,QAATq0G,EAAZr0G,EAAc60G,eAAO,IAAAR,GACP,QADOC,EAArBD,EACnB5jT,OAAmB,OAAZuvM,QAAY,IAAZA,OAAY,EAAZA,EAAc+0G,oBAAY,IAAAT,GACA,QADAC,EADdD,EAEnB7jT,OAAmB,OAAZuvM,QAAY,IAAZA,OAAY,EAAZA,EAAcg1G,oBAAY,IAAAT,OAFF,EAAZA,EAGnB9jT,OAAmB,OAAZuvM,QAAY,IAAZA,OAAY,EAAZA,EAAci1G,aACnB3tI,EAAWzuK,KAAKC,IAAG5D,MAAR2D,MAAI43J,EAAAA,EAAAA,GAAQ2wC,IAO7BvN,EAAOxqB,GAAAA,GAAC,CAAC,EACJ2pI,IAA6B,IAChCvqI,QAAqB,OAAZu3B,QAAY,IAAZA,GAAmB,QAAPoC,EAAZpC,EAAcr4B,aAAK,IAAAy6B,OAAP,EAAZA,EAAqB3/L,KAAI,SAACg/B,EAAM3nC,GACvC,OAAOA,CACT,IACAuuK,OAAoB,OAAZ23B,QAAY,IAAZA,OAAY,EAAZA,EAAcr4B,MAAMllK,KAAI,SAACg/B,GAC/B,OAAOwqJ,GAAcxqJ,EAAM,YAC7B,IACA6mI,WAAwB,OAAZ03B,QAAY,IAAZA,GAAqB,QAATw0G,EAAZx0G,EAAc60G,eAAO,IAAAL,OAAT,EAAZA,EAAuBn9S,MAAM,EAAGu9S,GAC5ClsI,aACa,QADDE,EAAEv0K,MAAMugT,EAAe,GAChCxiQ,KAAK,aAAK,IAAAw2H,GAC+B,QAD/B6rI,EADC7rI,EAEVn4K,OAAmB,OAAZuvM,QAAY,IAAZA,GAAqB,QAAT00G,EAAZ10G,EAAc60G,eAAO,IAAAH,OAAT,EAAZA,EAAuBr9S,OAAO,WAAG,IAAAo9S,OAD/B,EADCA,EAGVhkT,OAAmB,OAAZuvM,QAAY,IAAZA,OAAY,EAAZA,EAAc+0G,YAAY19S,MAAqB,EAAdy9S,IAC5CnsI,eACa,QADCG,EAAEz0K,MAAMugT,GACnBxiQ,KAAK,aAAK,IAAA02H,OAAA,EADGA,EAEZr4K,OAAmB,OAAZuvM,QAAY,IAAZA,OAAY,EAAZA,EAAcg1G,YAAY39S,MAAqB,EAAdy9S,IAC5CjsI,eACa,QADC8rI,EAAEtgT,MAAMugT,GACnBxiQ,KAAK,aAAK,IAAAuiQ,OAAA,EADGA,EAEZlkT,OAAmB,OAAZuvM,QAAY,IAAZA,OAAY,EAAZA,EAAci1G,YAAY59S,MAAqB,EAAdy9S,IAC5C/zS,YAAW2hM,GAAekyG,EAAe,EACzCpuI,QAAQ,EACRc,SAAUA,EACVC,gBAGE,CAAEjsJ,OAAO,EAAO6yB,QAAQ,KAG9B,IACC3e,OAAM,WACLqkK,EAAOxqB,GAAAA,GAAC,CAAC,EACJ2pI,IAA6B,IAChC3qI,OAAQ,GACRC,WAAY,GACZI,aAAc,GACdC,eAAgB,GAChBE,eAAgB,GAChBrC,QAAQ,EACRc,SAAU,EACVC,gBAAiB,CAAEjsJ,MAAO,EAAG6yB,OAAQ,KAEzC,IAAG,KAAD,mBAAA/+B,EAAA8L,OAAA,GAAAmxJ,EAAA,MACLn3K,MAAA,KAAAnG,UAAA,ECvEKmmT,IAAmB1sJ,EAAAA,EAAAA,eAAc,CAAC,GAG3B2sJ,GAAoB,SAAHlhJ,GAAsB,IAAhB97D,EAAQ87D,EAAR97D,SAE1B2lG,GAAqBh5D,EAAAA,EAAAA,YAAWs4D,IAAhCU,iBAGRpxB,GAAoDpnC,EAAAA,EAAAA,WAAS,GAAKqnC,GAAAtc,EAAAA,EAAAA,GAAAqc,EAAA,GAA3D0oI,EAAkBzoI,EAAA,GAAE0oI,EAAqB1oI,EAAA,GAIhDG,GACExnC,EAAAA,EAAAA,UAAS,CAAEkhC,QAAQ,EAAO9pK,KAAM,KAAKqwK,GAAA1c,EAAAA,EAAAA,GAAAyc,EAAA,GADhCwoI,EAA4BvoI,EAAA,GAAEwoI,EAA+BxoI,EAAA,GAIpEG,GAA4D5nC,EAAAA,EAAAA,UAC1Dq3D,IACDxvB,GAAA9c,EAAAA,EAAAA,GAAA6c,EAAA,GAFMsoI,EAAsBroI,EAAA,GAAEsoI,EAAyBtoI,EAAA,GAKxDG,GAGIhoC,EAAAA,EAAAA,UAAS,IAAGioC,GAAAld,EAAAA,EAAAA,GAAAid,EAAA,GAFdooI,EAAgCnoI,EAAA,GAChCooI,EAAmCpoI,EAAA,GAIrCG,GACEpoC,EAAAA,EAAAA,UAAS,IAAGsoC,GAAAvd,EAAAA,EAAAA,GAAAqd,EAAA,GADPkoI,EAA8BhoI,EAAA,GAAEioI,EAAiCjoI,EAAA,GAKxEG,GAAgEzoC,EAAAA,EAAAA,UAAS,IAAG0oC,GAAA3d,EAAAA,EAAAA,GAAA0d,EAAA,GAArE+nI,EAAwB9nI,EAAA,GAAE+nI,EAA2B/nI,EAAA,GAGtDnkK,EAAQwkK,aAAaC,QAAQ,eAGnCvpC,EAAAA,EAAAA,YACE,WACE,IAAMujE,EACJ34M,OAAOwd,OAAO2wL,GAAkBtuL,QAAO,SAAC8lH,GAAI,MAAc,KAATA,CAAW,IAAE3mI,OAC9D,EACF,GAAIymT,GAAsB9sG,GAAaz+L,KAAuB,OAAbk8J,SAAa,IAAbA,QAAa,EAAbA,GAAel8J,OAAO,CACrE,IAAM4nJ,EAAW,CACf2iJ,GAA2B2B,GAC3BnC,GACE6B,EACAI,EACAF,IAGJhgT,QAAQorC,IAAI0wH,GAAUt7J,MAAK,WAEzBk/S,GAAsB,EACxB,GACF,MAAO,GAAI/sG,GAAaz+L,KAAuB,OAAbk8J,SAAa,IAAbA,QAAa,EAAbA,GAAel8J,OAAO,CAAC,IAADmsS,EACtDT,EAAgC,CAC9B/uI,QAAQ,EACR9pK,KAAI2sK,GAAAA,GAAA,GACC0pI,IAAiC,IACpC1qI,OAAuC,OAA/BD,SAA+B,IAA/BA,QAA+B,EAA/BA,GAAiCC,OACzC05B,SAAU,CAAA14B,GAAAA,GAAA,GAEH0pI,GAAkChxG,SAAS,IAAE,IAChDrlM,KAAqC,OAA/B0rK,SAA+B,IAA/BA,IAA2C,QAAZ4tI,EAA/B5tI,GAAiCE,kBAAU,IAAA0tI,OAAZ,EAA/BA,EACY,OAAhBl4G,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkBpD,2BACnBrxB,GAAAA,GAAA,GAGE0pI,GAAkChxG,SAAS,IAAE,IAChDrlM,KAAqC,OAA/B0rK,SAA+B,IAA/BA,QAA+B,EAA/BA,GAAiCG,kBAK/CwtI,EAA4BvtI,IAC5BqtI,EACE1tI,GAEJ,CACF,GAEA,CAAC21B,EAAkBj0L,IAIrB,IAAM0+L,GAAuBljE,EAAAA,EAAAA,QAAOy4D,GAG9Bm4G,GAAyB5wK,EAAAA,EAAAA,QAAOuwK,GAGhCM,GAAuB7wK,EAAAA,EAAAA,QAAOqwK,IAGpC3wK,EAAAA,EAAAA,YACE,WAAO,IAAD8jE,EAAAC,EAAAqtG,EAAAC,EAuBAC,EAAAC,EAAAC,EAW2DC,EAAAC,EAAAC,EA9BzDC,EAFJhnT,OAAOwd,OAAO2wL,GAAkBtuL,QAAO,SAAC8lH,GAAI,MAAc,KAATA,CAAW,IAAE3mI,OAC9D,GAGAkb,GACAA,KAAuB,OAAbk8J,SAAa,IAAbA,QAAa,EAAbA,GAAel8J,SACxBurS,EAIDuB,IAC4B,QAA5B9tG,EAAAN,EAAqB7mM,eAAO,IAAAmnM,GAAyB,QAAzBC,EAA5BD,EAA8BnO,+BAAuB,IAAAoO,OAAzB,EAA5BA,EAAuDn6M,QAAS,IACpC,QAA5BwnT,EAAAD,EAAqBx0S,eAAO,IAAAy0S,OAAA,EAA5BA,EAA8BxnT,QAAS,IACT,QAA9BynT,EAAAH,EAAuBv0S,eAAO,IAAA00S,OAAA,EAA9BA,EAAgCznT,QAAS,GACnB,OAAtB6mT,QAAsB,IAAtBA,GAAAA,EAAwBhvI,UAGF,OAApB+hC,QAAoB,IAApBA,OAAoB,EAApBA,EAAsB7mM,QAAQg5L,2BAC5BoD,EAAiBpD,0BACC,OAApBw7G,QAAoB,IAApBA,OAAoB,EAApBA,EAAsBx0S,WAAYg0S,IACZ,OAAtBO,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBv0S,WAAYk0S,GAEpC3C,GACEsC,EACgB,OAAhBz3G,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkBpD,wBACY,OAA9Bk7G,QAA8B,IAA9BA,GAAmC,QAALS,EAA9BT,EAAiC,UAAE,IAAAS,OAAL,EAA9BA,EAAqC5gT,MACrCigT,EACsB,OAAtBF,QAAsB,IAAtBA,GAAiC,QAAXc,EAAtBd,EAAwB54G,iBAAS,IAAA05G,GAAK,QAALC,EAAjCD,EAAoC,UAAE,IAAAC,OAAhB,EAAtBA,EAAwC9gT,SAK1CkhT,GAAiD,OAA5BrB,QAA4B,IAA5BA,GAAAA,EAA8B9uI,QACrDysI,GACEsC,EACgB,OAAhBz3G,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkBpD,wBACY,OAA9Bk7G,QAA8B,IAA9BA,GAAmC,QAALY,EAA9BZ,EAAiC,UAAE,IAAAY,OAAL,EAA9BA,EAAqC/gT,MACrCigT,EACsB,OAAtBF,QAAsB,IAAtBA,GAAiC,QAAXiB,EAAtBjB,EAAwB54G,iBAAS,IAAA65G,GAAK,QAALC,EAAjCD,EAAoC,UAAE,IAAAC,OAAhB,EAAtBA,EAAwCjhT,OAG5C8yM,EAAqB7mM,QAAUo8L,EAC/Bm4G,EAAuBv0S,QAAUk0S,EACjCM,EAAqBx0S,QAAUg0S,CACjC,GAEA,CACE53G,EACA43G,EACAE,EACA/rS,EACAurS,IAIJ,IAAM3/S,EAAQ,CACZ6/S,6BAAAA,EACAQ,yBAAAA,EACAF,+BAAAA,EACAC,kCAAAA,EACAH,iCAAAA,EACAC,oCAAAA,EACAF,0BAAAA,EACAD,uBAAAA,EACAJ,mBAAAA,GAGF,OACEvmI,EAAAA,GAAAA,KAACqmI,GAAiBvsJ,SAAQ,CAAClzJ,MAAOA,EAAM0iG,SACrCA,GAGP,EAEA,gLChMe,SAASy+M,GAAc3iJ,GAYlC,IAAD0/H,EAAA1/H,EAXD5xJ,QAAAA,OAAO,IAAAsxR,EAAG,GAAEA,EAAAC,EAAA3/H,EACZ4/H,cAAAA,OAAa,IAAAD,GAAQA,EAAAE,EAAA7/H,EACrB8/H,gBAAAA,OAAe,IAAAD,EAAG,GAAEA,EAAAE,EAAA//H,EACpBggI,mBAAAA,OAAkB,IAAAD,EAAG,WAAO,EAACA,EAAA6iB,EAAA5iJ,EAC7B6iJ,gBAAAA,OAAe,IAAAD,GAAQA,EAAArrG,EAAAv3C,EACvBw3C,aAAAA,OAAY,IAAAD,EAAG,qDAAoDA,EAAA0oF,EAAAjgI,EACnEkgI,gBAAAA,OAAe,IAAAD,EAAG,mDAAkDA,EAAAE,EAAAngI,EACpEogI,kBAAAA,OAAiB,IAAAD,EAAG,oCAAmCA,EAAAE,EAAArgI,EACvDsgI,gBAAAA,OAAe,IAAAD,EAAG,yBAAwBA,EAAAtB,EAAA/+H,EAC1CtpC,SAAAA,OAAQ,IAAAqoK,GAAQA,EACbzrK,EAAKmiF,GAAAz1C,EAAAwP,IAGRiJ,GAA4CpnC,EAAAA,EAAAA,WAAS,GAAMqnC,GAAAtc,EAAAA,EAAAA,GAAAqc,EAAA,GAApDkoH,EAAcjoH,EAAA,GAAEkoH,EAAiBloH,EAAA,GAClCqoH,GAAc3vJ,EAAAA,EAAAA,QAAO,MAGrB0xK,EAAmBD,GAAmB,SAEtCE,EACJjjB,EAAgBplS,OAAS,GACvBkgL,EAAAA,GAAAA,KAAA,OAAKx3I,UAAU,qCAAoC8gE,SAChD47L,EAAgBtxR,KAAI,SAACm4D,GAAG,OACvBi0G,EAAAA,GAAAA,KAAA,OAAqBx3I,UAAU,iCAAgC8gE,SAC5Dv9B,EAAIrkE,OADGqkE,EAAInlE,MAER,MAIVqhT,GAAmBC,EAIjBE,EAAqBpjB,EACvBmjB,EACAjjB,EAAgBplS,OAAS,EACzBolS,EAAgB,GAAGx9R,MACnBugT,GAAmBC,EAUjB7hB,EAAqB,SAACr/J,GACtBm/J,EAAYtzR,UAAYszR,EAAYtzR,QAAQkkB,SAASiwG,EAAMt0F,SAC7DszP,GAAkB,EAEtB,EAuCA,OAPA9vJ,EAAAA,EAAAA,YAAU,WAER,OADArsI,SAAS0rC,iBAAiB,QAAS8wP,GAC5B,WACLx8R,SAASu1H,oBAAoB,QAASinK,EACxC,CACF,GAAG,KAGD7jH,EAAAA,GAAAA,MAAA,OAAKh6I,UAAWo0K,EAAc35G,IAAKkjM,EAAY78L,SAAA,EAC7Ck5E,EAAAA,GAAAA,MAAA,OAAKh6I,UAAW88P,EAAiBpqJ,QApDd,WAChBpf,GACHkqK,GAAmBD,EAEvB,EAgD6Dz8L,SAAA,CACtD8+M,GACDpoI,EAAAA,GAAAA,KAAA,OACEp/I,MAAM,6BACNh4B,MAAM,KACNC,OAAO,KACPi1M,QAAQ,YACRv6J,KAAK,OAAM+lD,UAEX02E,EAAAA,GAAAA,KAAA,QAAMz9K,EAAE,uBAAuBghD,KAAK,iBAGvCwiP,IACC/lH,EAAAA,GAAAA,KAAA,MAAIx3I,UAAWg9P,EAAkBl8L,SACvB,OAAP91F,QAAO,IAAPA,OAAO,EAAPA,EAASI,KAAI,SAACkyB,GAAM,OACnBk6I,EAAAA,GAAAA,KAAA,MAEEx3I,UAAS,GAAA5mC,OAAK8jS,EAAe,KAAA9jS,OACZ,OAAfsjS,QAAe,IAAfA,GAAAA,EAAiBxqQ,MACf,SAAC6+P,GAAc,OAAKA,EAAe3yR,QAAUk/B,EAAOl/B,KAAK,IAEvD,WACA,IAENs0I,QAAS,kBA9DM,SAACp1G,GACtB4yF,EAAMivB,UACRjvB,EAAMivB,SAAS7hH,GACfkgQ,GAAkB,IAGdhB,EACFI,GAAmB,SAACmB,GAIlB,OAHsC,OAAnBA,QAAmB,IAAnBA,OAAmB,EAAnBA,EAAqB7rQ,MACtC,SAACkY,GAAI,OAAS,OAAJA,QAAI,IAAJA,OAAI,EAAJA,EAAMhsC,UAAgB,OAANk/B,QAAM,IAANA,OAAM,EAANA,EAAQl/B,MAAK,KAGb,OAAnB2/R,QAAmB,IAAnBA,OAAmB,EAAnBA,EAAqB5lR,QAC1B,SAACiyB,GAAI,OAAS,OAAJA,QAAI,IAAJA,OAAI,EAAJA,EAAMhsC,UAAgB,OAANk/B,QAAM,IAANA,OAAM,EAANA,EAAQl/B,MAAK,IAGnC,GAANhF,QAAAggK,EAAAA,EAAAA,GAAW2kI,GAAmB,CAAEzgQ,GAEpC,KAIAs/P,EAAmB,CAACt/P,IACpBkgQ,GAAkB,GAGxB,CAoC2BM,CAAmBxgQ,EAAO,EAACwjE,SAEnC,OAANxjE,QAAM,IAANA,OAAM,EAANA,EAAQp+B,OAVJo+B,EAAOl/B,MAWT,QAMjB,CC7He,SAASyhT,GAAQjjJ,GAK5B,IAJF8tC,EAAQ9tC,EAAR8tC,SAAQo1G,EAAAljJ,EACRmjJ,QAAAA,OAAO,IAAAD,EAAG,GAAEA,EAAAE,EAAApjJ,EACZqjJ,SAAAA,OAAQ,IAAAD,EAAG,UAASA,EAAAE,EAAAtjJ,EACpBujJ,iBAAAA,OAAgB,IAAAD,EAAG,IAAGA,EAGhBE,GAAcpyK,EAAAA,EAAAA,QAAO,MAmG3B,OA/FAN,EAAAA,EAAAA,YAAU,WACR,GAAK0yK,EAAY/1S,SACbqgM,EAAU,CAEZ,IAcI21G,EAAe,CACjBxlT,EAAG,CACD0tD,KAAM,CACJh+B,SAAS,IAGbzvB,EAAG,CAAE02N,aAAa,IAIJ,YAAZuuF,GACFM,EAAaxlT,EAAE8sO,SAAU,EACzB04E,EAAavlT,EAAE6sO,SAAU,GACJ,YAAZo4E,IACTM,EAAaxlT,EAAEy4O,SAAU,GAI3B,IAAMtoO,EAAU,CACd+kN,OAAQ,CACNl1N,EAAG,CACD8sO,SAAS,EACTsM,mBAAoB,GACpB1rL,KAAM,CACJh+B,SAAS,IAGbzvB,EAAG,CACD6sO,SAAS,EACTnW,aAAa,EACbxD,MAAO,CACL+0D,SAAUo9B,KAIhBj/J,QAAS,CACP29C,OAAQ,CACNt0K,SAAS,KAKT+1R,EAAiB,CACrBnpT,KAhEY,MAiEZkO,KACc,YAAZ06S,EACIr1G,EACA,CACE15B,OAAQ05B,EAAS,GAAGv4B,WAAW/mK,KAAI,SAACg/B,GAAI,OAAKA,EAAKvvC,CAAC,IACnD6vM,SA9DDA,EAASt/L,KAAI,SAACimI,EAAS5uI,GAAK,MAAM,CACvCvD,MAAOmyI,EAAQnyI,MACfmG,KAAMgsI,EAAQ8gC,WAAW/mK,KAAI,SAACg/B,GAAI,OAAKA,EAAKtvC,CAAC,IAC7C4oB,iBAAwB,OAAP2tH,QAAO,IAAPA,OAAO,EAAPA,EAASr4H,QAASinS,EACnCn2P,aAAoB,OAAPunF,QAAO,IAAPA,OAAO,EAAPA,EAASr4H,QAASinS,EAC/B/rE,cAAe,GACf/8O,MAAa,OAAPk6I,QAAO,IAAPA,OAAO,EAAPA,EAASl6I,OAAQ,MACvBm7K,YAAa,EACb3oH,aAAoB,OAAP0nF,QAAO,IAAPA,OAAO,EAAPA,EAASjxI,QAAS,IAChC,KAuDD4K,QACc,YAAZ+0S,EACI/0S,EACA,CACE2kN,qBAAqB,EAErBG,YAAY,EACZC,OAAQswF,EACRn/J,QAAS,CACP29C,OAAQ,CACNr3K,SAAU,SACV4+B,MAAO,YAMf8nK,EAAQ,IAAIkrC,GAAMgnD,EAAY/1S,QAASi2S,GAG7C,OAAO,WACLpyF,EAAM/kL,SACR,CACF,CACF,GAAG,CAACuhK,EAAUq1G,EAASE,EAAUE,KAG/B3oI,EAAAA,GAAAA,KAAA,UAAQ/8E,IAAK2lN,EAAaxgQ,GAAG,sBAAsB5f,UAAU,aAEjE,CC9GO,IAAMugR,GAA6B,SAAArpI,EAAAilB,EAAAC,EAAAC,GAAA,OAAAz/B,GAAAA,KAAA7F,EAAAA,GAAAA,IAAAnI,EAAAA,GAAAA,KAAAC,MAAG,SAAAmmB,EAC3CwrI,EACA1E,EACAC,EACAroB,GAAM,IAAA+sB,EAAAC,EAAAzE,EAAA,OAAArtJ,EAAAA,GAAAA,KAAAE,MAAA,SAAA/2I,GAAA,cAAAA,EAAA9N,KAAA8N,EAAArZ,MAAA,cAAAqZ,EAAArZ,KAAA,EAEAg1L,GACH3/E,IAAI0gF,GAAoC,CACvC8Q,UAA2B,OAAhBi7G,QAAgB,IAAhBA,GAAqB,QAALC,EAAhBD,EAAmB,UAAE,IAAAC,OAAL,EAAhBA,EAAuBriT,MAClC0+S,YAA0B,OAAbhB,QAAa,IAAbA,GAAkB,QAAL4E,EAAb5E,EAAgB,UAAE,IAAA4E,OAAL,EAAbA,EAAoBtiT,MACjCw+S,YAAavsS,SAAyB,OAAhB0rS,QAAgB,IAAhBA,GAAqB,QAALE,EAAhBF,EAAmB,UAAE,IAAAE,OAAL,EAAhBA,EAAuB79S,OAAS,KAAO,KAE9DU,MAAK,WACJ40R,EAAO,CAAEl9P,KAAM,oCAAqCw9P,IAAK,WAC3D,IACC77P,OAAM,WACLu7P,EAAO,CACLl9P,KAAM,6CACNw9P,IAAK,WAET,IAAG,KAAD,mBAAAj8Q,EAAA8L,OAAA,GAAAmxJ,EAAA,MACLn3K,MAAA,KAAAnG,UAAA,ECdc,SAASipT,GAAoC/jJ,GAOxD,IAADqiJ,EAAAC,EAAAE,EAAAC,EAAAuB,EAAAC,EAAAC,EANDrF,EAAiC7+I,EAAjC6+I,kCACAn1G,EAAU1pC,EAAV0pC,WACA63G,EAAsBvhJ,EAAtBuhJ,uBACAK,EAAiC5hJ,EAAjC4hJ,kCACAF,EAAmC1hJ,EAAnC0hJ,oCACAF,EAAyBxhJ,EAAzBwhJ,0BAGA/oI,GAAkCpnC,EAAAA,EAAAA,WAAS,GAAMqnC,GAAAtc,EAAAA,EAAAA,GAAAqc,EAAA,GAA1C+1H,EAAS91H,EAAA,GAAE+1H,EAAY/1H,EAAA,GAC9BG,GAAsCxnC,EAAAA,EAAAA,WAAS,GAAKynC,GAAA1c,EAAAA,EAAAA,GAAAyc,EAAA,GAA7CsrI,EAAWrrI,EAAA,GAAEsrI,EAActrI,EAAA,GAClCG,GAAgD5nC,EAAAA,EAAAA,UACxB,OAAtBkwK,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwB54G,WACzBzvB,GAAA9c,EAAAA,EAAAA,GAAA6c,EAAA,GAFM2qI,EAAgB1qI,EAAA,GAAEmrI,EAAmBnrI,EAAA,GAG5CG,GAA0ChoC,EAAAA,EAAAA,UAClB,OAAtBkwK,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwB14G,iBACzBvvB,GAAAld,EAAAA,EAAAA,GAAAid,EAAA,GAFM6lI,EAAa5lI,EAAA,GAAEgrI,EAAgBhrI,EAAA,GAGtCG,GAAgDpoC,EAAAA,EAAAA,UACxB,OAAtBkwK,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwB34G,mBACzBjvB,GAAAvd,EAAAA,EAAAA,GAAAqd,EAAA,GAFM0lI,EAAgBxlI,EAAA,GAAEkmI,EAAmBlmI,EAAA,GAG5CG,GAAoCzoC,EAAAA,EAAAA,UAAS,CAAEz3G,KAAM,GAAIw9P,IAAK,KAAKr9G,GAAA3d,EAAAA,EAAAA,GAAA0d,EAAA,GAA5Di3H,EAAUh3H,EAAA,GAAE6wH,EAAa7wH,EAAA,GAO1BwqI,EAAkB,WACtB9V,GAAa,GACb2V,GAAe,EACjB,GAaAtzK,EAAAA,EAAAA,YAAU,WAAO,IAADggK,GACA,OAAVC,QAAU,IAAVA,GAAgB,QAAND,EAAVC,EAAYn3Q,YAAI,IAAAk3Q,OAAN,EAAVA,EAAkBp2S,QAAS,GAC7BilT,GACE6B,EACAI,EACAF,EAGN,GAAG,CAAC3Q,IAEJ,IAAMyT,GACJ5pI,EAAAA,GAAAA,KAACs9G,GAAY,CACX90P,UAAU,2BACV0yG,QAjCoB,WACtB24J,GAAa,EACf,IAmCMgW,GACY,OAAhBb,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkBlpT,QAAS,IACd,OAAbwkT,QAAa,IAAbA,OAAa,EAAbA,EAAexkT,QAAS,IACR,OAAhBykT,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkBzkT,QAAS,EAYvBgqT,GACJtnI,EAAAA,GAAAA,MAAA,OAAAl5E,SAAA,EACEk5E,EAAAA,GAAAA,MAAA,OAAKh6I,UAAU,wDAAuD8gE,SAAA,EACpE02E,EAAAA,GAAAA,KAAA,KAAA12E,SAAG,wCAAwC,IACzCigN,GAA2BvpI,EAAAA,GAAAA,KAACoB,GAAU,KAAxBpB,EAAAA,GAAAA,KAACqB,GAAM,QAEzBmB,EAAAA,GAAAA,MAAA,OAAKh6I,UAAU,sCAAqC8gE,SAAA,EAClD02E,EAAAA,GAAAA,KAAA,KAAA12E,SAAG,wKAMHk5E,EAAAA,GAAAA,MAAA,KAAGh6I,UAAU,aAAY8gE,SAAA,CAAC,sCACY,IACb,OAAtBq9M,QAAsB,IAAtBA,GAAyC,QAAnBc,EAAtBd,EAAwB34G,yBAAiB,IAAAy5G,GAAK,QAALC,EAAzCD,EAA4C,UAAE,IAAAC,OAAxB,EAAtBA,EAAgDhgT,MAAM,gBAAc,IAC9C,OAAtBi/S,QAAsB,IAAtBA,GAAuC,QAAjBiB,EAAtBjB,EAAwB14G,uBAAe,IAAA25G,GAAK,QAALC,EAAvCD,EAA0C,UAAE,IAAAC,OAAtB,EAAtBA,EAA8CngT,MAAM,4BACtB,OAAtBi/S,QAAsB,IAAtBA,GAAiC,QAAXyC,EAAtBzC,EAAwB54G,iBAAS,IAAAq7G,GAAK,QAALC,EAAjCD,EAAoC,UAAE,IAAAC,OAAhB,EAAtBA,EAAwC3hT,MAAM,WAG3D86K,EAAAA,GAAAA,MAAA,OAAKh6I,UAAU,uCAAsC8gE,SAAA,EACnDk5E,EAAAA,GAAAA,MAAA,OAAKh6I,UAAU,kCAAiC8gE,SAAA,EAC9C02E,EAAAA,GAAAA,KAAA,KAAA12E,SAAG,gBACH02E,EAAAA,GAAAA,KAAC+nI,GAAc,CACbv0S,QAjCc,WAAO,IAADu2S,EAC5B,OAAwC,KAA1B,OAAVj7G,QAAU,IAAVA,GAAuB,QAAbi7G,EAAVj7G,EAAYz3B,mBAAW,IAAA0yI,OAAb,EAAVA,EAAyBjqT,QACV,OAAVgvM,QAAU,IAAVA,OAAU,EAAVA,EAAYz3B,YAEF,OAAVy3B,QAAU,IAAVA,OAAU,EAAVA,EAAYz3B,YAAY7uK,MAAM,GAAI,EAE7C,CA2BmBwhT,IAAqB,GAC9B9kB,gBAAiB8jB,EACjB5jB,mBAAoBqkB,EACpB3tL,UAAWytL,EACXjkB,gBAAe,mCAAA1jS,OACZ2nT,EAA4B,GAAd,YAAgB,0BAIrC/mI,EAAAA,GAAAA,MAAA,OAAKh6I,UAAU,kCAAiC8gE,SAAA,EAC9C02E,EAAAA,GAAAA,KAAA,KAAA12E,SAAG,wBACH02E,EAAAA,GAAAA,KAAC+nI,GAAc,CACbv0S,QAASywS,EACT/e,gBAAiBqf,EACjBnf,mBAAoB6f,EACpBnpL,UAAWytL,EACXjkB,gBAAe,mCAAA1jS,OACZ2nT,EAA4B,GAAd,YAAgB,0BAIrC/mI,EAAAA,GAAAA,MAAA,OAAKh6I,UAAU,kCAAiC8gE,SAAA,EAC9C02E,EAAAA,GAAAA,KAAA,KAAA12E,SAAG,kBACH02E,EAAAA,GAAAA,KAAC+nI,GAAc,CACbv0S,SAAmB,OAAVs7L,QAAU,IAAVA,OAAU,EAAVA,EAAYx3B,aAAc,GACnC4tH,gBAAiBof,EACjBlf,mBAAoBskB,EACpB5tL,UAAWytL,EACXjkB,gBAAe,mCAAA1jS,OACZ2nT,EAA4B,GAAd,YAAgB,6BAKvC/mI,EAAAA,GAAAA,MAAA,OAAKh6I,UAAU,yBAAwB8gE,SAAA,CACnCigN,GAUAvpI,EAAAA,GAAAA,KAAA,WATAA,EAAAA,GAAAA,KAACjlF,GAAM,CACL4gM,WAAW,UACXnzP,UAAU,wBACV0yG,QAAS,WACPsuK,GAAe,EACjB,EACA1tL,SAAUytL,KAKd/mI,EAAAA,GAAAA,MAAA,OAAKh6I,UAAU,wBAAuB8gE,SAAA,EACpC02E,EAAAA,GAAAA,KAACjlF,GAAM,CACL4gM,WAAW,SACXnzP,UAAU,wBACV0yG,QAASyuK,IAEVJ,IACCvpI,EAAAA,GAAAA,KAACjlF,GAAM,CACL4gM,WAAW,SACXnzP,UAAU,sBACV0yG,QAAS,WACPsuK,GAAe,EACjB,EACA1tL,UAAWytL,IAAgBM,KAG7BN,IACAvpI,EAAAA,GAAAA,KAACjlF,GAAM,CACL4gM,WAAW,SACXnzP,UAAU,sBACV0yG,QAAS,WApInB6tK,GACEC,EACA1E,EACAC,EACAvU,GAEF2Z,IACA30Q,YAAW,kBAAMg7P,EAAc,CAAEhxQ,KAAM,GAAIw9P,IAAK,IAAK,GAAE,IA+H7C,EACA1gK,SAAUytL,aAShBU,GACJjqI,EAAAA,GAAAA,KAACqoH,GAAK,CACJxM,QAAS8tB,EACTrgN,SAAUwgN,EACVnhB,kBAAkB,oBAGtB,OACEnmH,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAn5E,SAAA,CACGsgN,EACAhW,GAAaqW,GACdjqI,EAAAA,GAAAA,KAAC47G,GAAQ,CACPliN,QAAmB,OAAVy8N,QAAU,IAAVA,OAAU,EAAVA,EAAYn3Q,KACrB66L,SAAmB,OAAVs8E,QAAU,IAAVA,GAAgB,QAANmT,EAAVnT,EAAYn3Q,YAAI,IAAAsqR,OAAN,EAAVA,EAAkBxpT,QAAS,EACpCg8R,SAAoB,OAAVqa,QAAU,IAAVA,OAAU,EAAVA,EAAY3Z,QAI9B,CCnMe,SAAS0tB,KAA+B,IAADtC,EAAAC,EAEpD/lI,GAQI7rC,EAAAA,EAAAA,YAAWowK,IAPbI,EAA4B3kI,EAA5B2kI,6BACAM,EAA8BjlI,EAA9BilI,+BACAC,EAAiCllI,EAAjCklI,kCACAH,EAAgC/kI,EAAhC+kI,iCACAC,EAAmChlI,EAAnCglI,oCACAH,EAAsB7kI,EAAtB6kI,uBACAC,EAAyB9kI,EAAzB8kI,0BAIFvN,GACEpjK,EAAAA,EAAAA,YAAWs4D,IADLO,EAAUuqG,EAAVvqG,WAAYG,EAAgBoqG,EAAhBpqG,iBAAkBC,EAAmBmqG,EAAnBnqG,oBAuBhC4vG,GACJt8H,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAn5E,SAAA,EACEk5E,EAAAA,GAAAA,MAAA,OAAKh6I,UAAU,kDAAiD8gE,SAAA,EAC9Dk5E,EAAAA,GAAAA,MAAA,OAAKh6I,UAAU,aAAY8gE,SAAA,CAAC,4BAEE,OAA3By+F,SAA2B,IAA3BA,QAA2B,EAA3BA,GAA6BX,OAC9BpnB,EAAAA,GAAAA,KAACmpI,GAAoC,CACnClF,kCACEA,GAEFn1G,WAAYA,EACZ63G,uBAAwBA,EACxBK,kCACEA,EAEFF,oCACEA,EAEFF,0BAA2BA,QAG/B5mI,EAAAA,GAAAA,KAAA,OAAA12E,UACE02E,EAAAA,GAAAA,KAAA,OAAKx3I,UAAU,wBAAuB8gE,UACpC02E,EAAAA,GAAAA,KAACk+B,GAAc,CACb5/L,OAxCQ,WAAO,IAADyrS,EACxB,GAAwC,KAA1B,OAAVj7G,QAAU,IAAVA,GAAuB,QAAbi7G,EAAVj7G,EAAYz3B,mBAAW,IAAA0yI,OAAb,EAAVA,EAAyBjqT,QAC3B,OAAiB,OAAVgvM,QAAU,IAAVA,OAAU,EAAVA,EAAYz3B,YACb,IAAD8yI,EAAAC,EAAAC,EACCl/I,EAAuB,OAAV2jC,QAAU,IAAVA,GAAuB,QAAbq7G,EAAVr7G,EAAYz3B,mBAAW,IAAA8yI,GAKtC,QALsCC,EAAvBD,EACfv2S,KAAI,SAACg/B,EAAM3nC,GAAW,IAADw8S,EAAAC,EACrB,GAAI90Q,EAAKhsC,SAAgC,OAAtB+/S,QAAsB,IAAtBA,GAAiC,QAAXc,EAAtBd,EAAwB54G,iBAAS,IAAA05G,GAAK,QAALC,EAAjCD,EAAoC,UAAE,IAAAC,OAAhB,EAAtBA,EAAwC9gT,OACzD,OAAOqE,CAEX,WAAE,IAAAm/S,GACoC,QADpCC,EALeD,EAMfzpS,QAAO,SAACiyB,GAAI,YAAc7+B,IAAT6+B,CAAkB,WAAC,IAAAy3Q,OANX,EAAVA,EAMwB,GAC3C,OAAiB,OAAVv7G,QAAU,IAAVA,OAAU,EAAVA,EAAYz3B,YAAY7uK,MAAM2iK,EAAa,EAEtD,CA2BoBm/I,IAAiB,GACzBr7G,iBAAkBA,EAClBC,oBAAqBA,EACrBmP,sBA9CkB,0BA+ClBK,eAAgB,UAChBF,6BAA6B,wCAKrCh8B,EAAAA,GAAAA,MAAA,OAAKh6I,UAAU,oBAAmB8gE,SAAA,EAChC02E,EAAAA,GAAAA,KAAA,KAAGx3I,UAAU,gBAAe8gE,SAAC,qCAC7B02E,EAAAA,GAAAA,KAAA,KAAGx3I,UAAU,qBAAoB8gE,SAAC,mCAMlCihN,GACJvqI,EAAAA,GAAAA,KAAAyC,GAAAA,SAAA,CAAAn5E,UACEk5E,EAAAA,GAAAA,MAAA,OAAKh6I,UAAU,2CAA0C8gE,SAAA,EACvD02E,EAAAA,GAAAA,KAAA,KAAGx3I,UAAU,eAAc8gE,SAAC,aAC5B02E,EAAAA,GAAAA,KAAC+nI,GAAc,CACbnrG,aAAa,iDACb0oF,gBAAgB,mDAChB9xR,QAASywS,GACT/e,gBAAiB2hB,EACjBzhB,mBAAoB0hB,KAEtB9mI,EAAAA,GAAAA,KAAA,KAAGx3I,UAAU,eAAc8gE,SAAC,2BAC5B02E,EAAAA,GAAAA,KAAC+nI,GAAc,CACbnrG,aAAa,iDACb0oF,gBAAgB,mDAChB9xR,SAAmB,OAAVs7L,QAAU,IAAVA,OAAU,EAAVA,EAAYx3B,aAAc,GACnC4tH,gBAAiB6hB,EACjB3hB,mBAAoB4hB,KAEtBxkI,EAAAA,GAAAA,MAAA,KAAGh6I,UAAU,eAAc8gE,SAAA,CAAC,uBACiB,OAAtBq9M,QAAsB,IAAtBA,GAAiC,QAAXiB,EAAtBjB,EAAwB54G,iBAAS,IAAA65G,GAAK,QAALC,EAAjCD,EAAoC,UAAE,IAAAC,OAAhB,EAAtBA,EAAwCngT,cAO/D8iT,GACJxqI,EAAAA,GAAAA,KAAA,OAAKx3I,UAAU,uBAAsB8gE,UACnC02E,EAAAA,GAAAA,KAACqoI,GAAQ,CACPn1G,SAAsC,OAA5BuzG,QAA4B,IAA5BA,OAA4B,EAA5BA,EAA8B54S,KACxC06S,QAAQ,UACRI,iBAAkB,MAKxB,OACE3oI,EAAAA,GAAAA,KAAAyC,GAAAA,SAAA,CAAAn5E,SACgC,OAA5Bm9M,QAA4B,IAA5BA,GAAAA,EAA8B9uI,QAG9B6K,EAAAA,GAAAA,MAAA,OAAKh6I,UAAU,sCAAqC8gE,SAAA,CACjDw1M,EACAyL,EACAC,MALHxqI,EAAAA,GAAAA,KAACu/B,GAAQ,CAAC12M,OAAQ,OAU1B,CC9HA,IAAMmvN,GAAc,CAClBmvB,MAAO,CAOL1rM,MAAK,SAAC6rD,EAAO0/B,GACX,OAAOyjL,GAAenjN,EAAO0/B,EAAO,CAACixF,WAAW,GAClD,EASAmvB,QAAO,SAAC9/I,EAAO0/B,EAAOxzH,GACpB,OA0DN,SAAwB8zF,EAAO0/B,EAAOxzH,GACpC,IAAIizO,EAAc/8J,OAAOilI,kBAEzB,OAAO87F,GAAenjN,EAAO0/B,EAAOxzH,GACjC8a,QAAO,SAACo8R,EAAc3wR,GACrB,IAAM6hN,EAAS7hN,EAAQ2sN,iBACjBikE,EAnBZ,SAAwB3jL,EAAO40G,EAAQppB,GACrC,GAAa,MAATA,EACF,MAAO,CAACnvN,EAAG2jI,EAAM3jI,EAAGC,EAAGs4O,EAAOt4O,GACzB,GAAa,MAATkvN,EACT,MAAO,CAACnvN,EAAGu4O,EAAOv4O,EAAGC,EAAG0jI,EAAM1jI,GAEhC,OAAOs4O,CACT,CAYwBgvE,CAAe5jL,EAAO40G,EAAQpoO,EAAQg/M,MAClDtkM,EAAWgiM,GAAsBlpF,EAAO2jL,GAS9C,OARIz8R,EAAWu4N,GACbikE,EAAe,CAAC3wR,GAChB0sN,EAAcv4N,GACLA,IAAau4N,GAEtBikE,EAAaxiT,KAAK6xB,GAGb2wR,CACT,GAAG,IACFriP,MAAK,SAAC7kE,EAAGrB,GAAC,OAAKqB,EAAEqnT,OAAS1oT,EAAE0oT,MAAM,IAClCriT,MAAM,EAAG,EACd,CA9EasiT,CAAexjN,EAAO0/B,EAAOxzH,EACtC,EAQAnQ,EAAC,SAACikG,EAAO0/B,EAAOxzH,GACd,OAAOi3S,GAAenjN,EAAO0/B,EAAO,CAACixF,UAAWzkN,EAAQykN,UAAWzF,KAAM,KAC3E,EASAlvN,EAAC,SAACgkG,EAAO0/B,EAAOxzH,GACd,OAAOi3S,GAAenjN,EAAO0/B,EAAO,CAACixF,UAAWzkN,EAAQykN,UAAWzF,KAAM,KAC3E,IAWJ,SAASu4F,GAAYzjN,EAAO0/B,EAAOxzH,GAEjC,OADawkN,GAAYmvB,MAAM3zO,EAAQw6H,OAASgqF,GAAYmvB,MAAMC,SACtD9/I,EAAO0/B,EAAOxzH,EAC5B,CAkBA,SAASi3S,GAAenjN,EAAO0/B,EAAOxzH,GACpC,OAAO8zF,EAAM0jN,gBAAgBrqS,QAAO,SAACoZ,GAAO,OAAKvmB,EAAQykN,UAAYl+L,EAAQosN,QAAQn/G,EAAM3jI,EAAG2jI,EAAM1jI,GAjBtG,SAAuBy2B,EAASitG,EAAOwrF,GACrC,MAAa,MAATA,GAAyB,MAATA,EACXz4L,EAAQosN,QAAQn/G,EAAM3jI,EAAG2jI,EAAM1jI,EAAG,KAAK,IAASy2B,EAAQosN,QAAQn/G,EAAM3jI,EAAG2jI,EAAM1jI,EAAG,KAAK,GAEzFy2B,EAAQosN,QAAQn/G,EAAM3jI,EAAG2jI,EAAM1jI,EAAGkvN,GAAM,EACjD,CAY2Gy4F,CAAclxR,EAASitG,EAAOxzH,EAAQg/M,KAAK,GACtJ,CAwBA,IAAM04F,GAAc,SAACC,EAAKC,GAAG,OAAKA,EAAMD,GAAQA,EAAIrrT,OAASsrT,EAAItrT,QAAUqrT,EAAI3iT,MAAM,EAAG4iT,EAAItrT,UAAYsrT,CAAI,EAQtGxnF,GAAU,KACVynF,GAAQ,SAAChoT,EAAGgF,EAAMD,GAAE,OAAK4B,KAAKmT,IAAI/U,EAAI4B,KAAKC,IAAI5B,EAAMhF,GAAG,EAQ9D,SAASioT,GAAS7qJ,EAAKp4J,EAAMD,GAC3B,IAAK,IAAL0C,EAAA,EAAAqqS,EAAkBr0S,OAAOa,KAAK8+J,GAAI31J,EAAAqqS,EAAAr1S,OAAAgL,IAAE,CAA/B,IAAM9I,EAAGmzS,EAAArqS,GACZ21J,EAAIz+J,GAAOqpT,GAAM5qJ,EAAIz+J,GAAMqG,EAAMD,EACnC,CACA,OAAOq4J,CACT,CAwBA,SAAS8qJ,GAAW9vQ,EAAK2pH,EAAkBotD,EAAMrgK,GAAa,IAAlC9uD,EAAC+hK,EAAD/hK,EAAGC,EAAC8hK,EAAD9hK,EAAGs8D,EAAEwlG,EAAFxlG,GAAIC,EAAEulG,EAAFvlG,GAC9B2rP,EAAer5P,EAAc,EAC7Bs5P,EAAWhwQ,EAAMp4C,GAAKA,EAAImoT,EAAe5nF,IAAWnoL,EAAMp4C,GAAKu8D,EAAK4rP,EAAe5nF,GACnF8nF,EAAWjwQ,EAAMn4C,GAAKA,EAAIkoT,EAAe5nF,IAAWnoL,EAAMn4C,GAAKu8D,EAAK2rP,EAAe5nF,GACzF,MAAa,MAATpR,EACKi5F,GACW,MAATj5F,GAGJi5F,IAFEC,CAGX,CAOA,SAASC,GAAsB5xR,EAASksN,GACtC,IAAAW,EAA2B7sN,EAAQ8sN,SAAS,CAAC,UAAW,WAAYZ,GACpE,MAAO,CAAC5iP,EADMujP,EAAPv5N,QACa/pB,EADGsjP,EAAPt5N,QAElB,CA4BA,IAAMs+R,GAAkB,SAACxlT,GAAC,MAAkB,kBAANA,GAAkBA,EAAEgjK,SAAS,IAAI,EACjEyiJ,GAAY,SAACzlT,GAAC,OAAKgsD,WAAWhsD,GAAK,GAAG,EACtC0lT,GAAoB,SAAC1lT,GAAC,OAAKilT,GAAMQ,GAAUzlT,GAAI,EAAG,EAAE,EAEpD2lT,GAAc,SAAC1oT,EAAGC,GAAC,MAAM,CAACD,EAAAA,EAAGC,EAAAA,EAAGs8D,GAAIv8D,EAAGw8D,GAAIv8D,EAAGsF,MAAO,EAAGC,OAAQ,EAAE,EAClEmjT,GAAuB,CAC3B1oQ,IAAK,SAACk2K,GAAU,OAAKuyF,GAAYvyF,EAAWnsM,QAASmsM,EAAWlsM,QAAQ,EACxEmjE,QAAS,SAAC+oI,GAAU,MAAM,CAACnsM,QAASmsM,EAAWnsM,QAASC,QAASksM,EAAWnsM,QAAS+3E,OAAQ,EAAGx8F,MAAO,EAAGC,OAAQ,EAAE,EACpHnB,MAAO,SAAC8xN,GAAU,OAAKuyF,GAAYvyF,EAAWnsM,QAASmsM,EAAWlsM,QAAQ,EAC1EiJ,KAAM,SAACijM,GAAU,OAAKuyF,GAAYvyF,EAAWn2N,EAAGm2N,EAAWl2N,EAAE,EAC7Dm4C,MAAO,SAAC+9K,GAAU,MAAM,CAACnsM,QAASmsM,EAAWnsM,QAASC,QAASksM,EAAWlsM,QAAS83E,OAAQ,EAAGx8F,MAAO,EAAGC,OAAQ,EAAE,EAClHojT,QAAS,SAACzyF,GAAU,OAAKuyF,GAAYvyF,EAAWnsM,QAASmsM,EAAWlsM,QAAQ,GAiB9E,SAASu5M,GAAoB53M,EAAMe,GACjC,MAAiB,UAAbA,EACK,EAEQ,QAAbA,EACKf,EAEL28R,GAAgB57R,GACX87R,GAAkB97R,GAAYf,EAEhCA,EAAO,CAChB,CAQA,SAASi9R,GAAQj9R,EAAMroB,GAA+B,IAAxBulT,IAAejsT,UAAAJ,OAAA,QAAAiU,IAAA7T,UAAA,KAAAA,UAAA,GAC3C,MAAqB,kBAAV0G,EACFA,EACEglT,GAAgBhlT,IACjBulT,EAAkBL,GAAkBllT,GAASilT,GAAUjlT,IAAUqoB,EAEpEA,CACT,CAuBA,SAASm9R,GAAWxlT,GAAgC,IAAzBsoD,EAAYhvD,UAAAJ,OAAA,QAAAiU,IAAA7T,UAAA,GAAAA,UAAA,GAAG,SACxC,OAAIsjL,GAAS58K,GACJ,CACLvD,EAAGopN,GAAe7lN,EAAMvD,EAAG6rD,GAC3B5rD,EAAGmpN,GAAe7lN,EAAMtD,EAAG4rD,IAIxB,CACL7rD,EAFFuD,EAAQ6lN,GAAe7lN,EAAOsoD,GAG5B5rD,EAAGsD,EAEP,CAMA,SAASylT,GAAe74S,GACtB,OAAOA,IAAY46M,GAAQ56M,EAAQkkR,SAAWtpE,GAAQ56M,EAAQmkR,QAChE,CAQA,SAAS20B,GAAwB51F,EAAO8C,EAAYhmN,GAClD,IAAM+4S,EAAW/4S,EAAQ8wI,KACzB,GAAKioK,EAEE,OAAiB,IAAbA,EACFC,GAAahzF,EAAYhmN,GA6BpC,SAAsBkjN,EAAO8C,EAAYhmN,GACvC,IAAMpM,EAASggG,GAAS5zF,EAAQ8wI,KAAM,CAAC,CAACoyE,MAAAA,EAAO8C,WAAAA,EAAYhmN,QAAAA,KAC3D,IAAe,IAAXpM,EACF,OAAOolT,GAAahzF,EAAYhmN,GAC3B,GAAIgwK,GAASp8K,GAClB,OAAOA,CAEX,CAlCSqlT,CAAa/1F,EAAO8C,EAAYhmN,EACzC,CAQA,SAASk5S,GAAUl5S,EAASmjD,EAAOg2P,GACjC,IAAIlkD,GAAY,EAShB,OARA9xM,EAAMrkD,SAAQ,SAAAq7C,GACR21H,GAAW9vK,EAAQm6C,KACrB86M,GAAY,EACZkkD,EAAeh/P,GAAQn6C,EAAQm6C,IACtBygK,GAAQu+F,EAAeh/P,YACzBg/P,EAAeh/P,EAE1B,IACO86M,CACT,CAEA,SAAS+jD,GAAahzF,EAAYhmN,GAChC,IAAM7T,EAAO6T,EAAQ7T,MAAQ,OAC7B,OAAOqsT,GAAqBrsT,GAAM65N,EACpC,CAWA,IAAMozF,GAAa,IAAI5rP,IAEjB6rP,GAAW,SAACt/Q,GAAK,OAAKA,EAAMjf,QAAO,SAAS7b,EAAMmgC,GAEtD,OADAngC,GAAQmgC,EAAK9I,MAEf,GAAG,GAAG,EAcN,SAASgjR,GAAgB91R,GACvB,GAAIA,GAA8B,kBAAZA,EAAsB,CAC1C,IAAMr3B,EAAOq3B,EAAQL,WACrB,MAAiB,8BAATh3B,GAAiD,+BAATA,CAClD,CACF,CAQA,SAASuhD,GAAUrhB,EAAG89I,EAAUt+E,GAAU,IAAjBh8F,EAACs6K,EAADt6K,EAAGC,EAACq6K,EAADr6K,EACtB+7F,IACFx/D,EAAIqhB,UAAU79C,EAAGC,GACjBu8B,EAAIqkD,OAAOqrI,GAAUlwH,IACrBx/D,EAAIqhB,WAAW79C,GAAIC,GAEvB,CAOA,SAASypT,GAAeltR,EAAKrsB,GAC3B,GAAIA,GAAWA,EAAQ2+C,YAOrB,OANAtyB,EAAI8nB,QAAUn0C,EAAQ83N,eACtBzrM,EAAI6nB,YAAYl0C,EAAQ+3N,YACxB1rM,EAAIukE,eAAiB5wF,EAAQg4N,iBAC7B3rM,EAAIqjB,SAAW1vC,EAAQi4N,gBACvB5rM,EAAIojB,UAAYzvC,EAAQ2+C,YACxBtyB,EAAImjB,YAAcxvC,EAAQ8+C,aACnB,CAEX,CAMA,SAAS06P,GAAentR,EAAKrsB,GAC3BqsB,EAAI+iB,YAAcpvC,EAAQy5S,sBAC1BptR,EAAIkjB,WAAavvC,EAAQuvC,WACzBljB,EAAIgjB,cAAgBrvC,EAAQqvC,cAC5BhjB,EAAIijB,cAAgBtvC,EAAQsvC,aAC9B,CAOA,SAASoqQ,GAAiBrtR,EAAKrsB,GAC7B,IAAMwjB,EAAUxjB,EAAQwjB,QACxB,GAAI81R,GAAgB91R,GAClB,MAAO,CACLpuB,MAAOsjT,GAAQl1R,EAAQpuB,MAAO4K,EAAQ5K,OACtCC,OAAQqjT,GAAQl1R,EAAQnuB,OAAQ2K,EAAQ3K,SAG5C,IAAMskT,EAAU35S,EAAQivC,KAClBlV,EAAQjhC,GAAQ6gT,GAAWA,EAAQv5S,KAAI,SAAApR,GAAC,OAAIg9N,GAAOh9N,EAAE,IAAI,CAACg9N,GAAO2tF,IACjE7uL,EAAc9qH,EAAQqnN,gBACtBxqI,EAAQ/jF,GAAQ0qB,GAAWA,EAAU,CAACA,GACtCo2R,EAAS/8N,EAAMxvE,OAASgsS,GAASt/Q,GAAS+wF,GAAez+F,EAAI27L,aAAe,YAAc,IAIhG,OAHKoxF,GAAWv4Q,IAAI+4Q,IAClBR,GAAWzrP,IAAIisP,EAgMnB,SAA4BvtR,EAAKwwD,EAAO9iD,EAAO+wF,GAC7Cz+F,EAAI0hB,OAIJ,IAHA,IAAMjuC,EAAQ+8E,EAAMvwF,OAChB8I,EAAQ,EACRC,EAASy1H,EACJv8H,EAAI,EAAGA,EAAIuR,EAAOvR,IAAK,CAC9B,IAAM0gD,EAAOlV,EAAMvjC,KAAKmT,IAAIpb,EAAGwrC,EAAMztC,OAAS,IAC9C+/B,EAAI4iB,KAAOA,EAAK3Y,OAChB,IAAM9K,EAAOqxD,EAAMtuF,GACnB6G,EAAQoB,KAAKC,IAAIrB,EAAOi3B,EAAIuiB,YAAYpjB,GAAMp2B,MAAQ01H,GACtDz1H,GAAU45C,EAAKlvB,UACjB,CAEA,OADAsM,EAAI6hB,UACG,CAAC94C,MAAAA,EAAOC,OAAAA,EACjB,CA9M2BwkT,CAAmBxtR,EAAKwwD,EAAO9iD,EAAO+wF,IAExDsuL,GAAWv+S,IAAI++S,EACxB,CAOA,SAASE,GAAQztR,EAAKt2B,EAAMiK,GAC1B,IAAOnQ,EAAuBkG,EAAvBlG,EAAGC,EAAoBiG,EAApBjG,EAAGsF,EAAiBW,EAAjBX,MAAOC,EAAUU,EAAVV,OACpBg3B,EAAI0hB,OACJyrQ,GAAentR,EAAKrsB,GACpB,IAAMo0C,EAASmlQ,GAAeltR,EAAKrsB,GACnCqsB,EAAIO,UAAY5sB,EAAQ0Y,gBACxB2T,EAAI2jB,YACJg7K,GAAmB3+L,EAAK,CACtBx8B,EAAAA,EAAGC,EAAAA,EAAGF,EAAGwF,EAAOlG,EAAGmG,EACnBu8F,OAAQkmN,GAAShsF,GAAc9rN,EAAQ4sM,cAAe,EAAGp2M,KAAKmT,IAAIvU,EAAOC,GAAU,KAErFg3B,EAAI8kB,YACJ9kB,EAAI0jB,OACAqE,IACF/nB,EAAI+iB,YAAcpvC,EAAQ+5S,kBAC1B1tR,EAAI+nB,UAEN/nB,EAAI6hB,SACN,CAOA,SAAS8rQ,GAAU3tR,EAAKt2B,EAAMiK,GAC5B,IAAMwjB,EAAUxjB,EAAQwjB,QACxB,GAAI81R,GAAgB91R,GAKlB,OAJA6I,EAAI0hB,OACJ1hB,EAAI2hB,YAqMR,SAAoB56C,EAAO6mT,GACzB,IAAMr3R,EAAUmtJ,GAAS38K,GAASA,EAAQ6mT,EAC1C,OAAOlqI,GAASntJ,GAAWi1R,GAAMj1R,EAAS,EAAG,GAAK,CACpD,CAxMsBs3R,CAAWl6S,EAAQ4iB,QAASY,EAAQ5E,MAAMgE,SAC5DyJ,EAAIG,UAAUhJ,EAASztB,EAAKlG,EAAGkG,EAAKjG,EAAGiG,EAAKX,MAAOW,EAAKV,aACxDg3B,EAAI6hB,UAGN,IAAM83H,EAASltK,GAAQ0qB,GAAWA,EAAU,CAACA,GACvCm2R,EAAU35S,EAAQivC,KAClBlV,EAAQjhC,GAAQ6gT,GAAWA,EAAQv5S,KAAI,SAAApR,GAAC,OAAIg9N,GAAOh9N,EAAE,IAAI,CAACg9N,GAAO2tF,IACjEQ,EAAWn6S,EAAQgO,MACnBw4D,EAAS1tE,GAAQqhT,GAAYA,EAAW,CAACA,GACzCtqT,EA/NR,SAAgC4rB,EAAMzb,GACpC,IAAOnQ,EAAY4rB,EAAZ5rB,EAAGuF,EAASqmB,EAATrmB,MACJ6rB,EAAYjhB,EAAQihB,UAC1B,MAAkB,WAAdA,EACKpxB,EAAIuF,EAAQ,EACI,QAAd6rB,GAAqC,UAAdA,EACzBpxB,EAAIuF,EAENvF,CACT,CAsNYuqT,CAAuBrkT,EAAMiK,GACjClQ,EAAIiG,EAAKjG,EAAIkQ,EAAQqnN,gBAAkB,EAC7Ch7L,EAAI0hB,OACJ1hB,EAAIshB,aAAe,SACnBthB,EAAIpL,UAAYjhB,EAAQihB,UAQ1B,SAA4BoL,EAAKrsB,GAC/B,GAAIA,EAAQqnN,gBAAkB,EAM5B,OAJAh7L,EAAIqjB,SAAW,QACfrjB,EAAIqkE,WAAa,EACjBrkE,EAAIojB,UAAYzvC,EAAQqnN,gBACxBh7L,EAAImjB,YAAcxvC,EAAQsnN,iBACnB,CAEX,CAhBM+yF,CAAmBhuR,EAAKrsB,IA0J9B,SAA8BqsB,EAAGosI,EAAUuN,EAAQjsI,GAAO,IAAtBlqC,EAAC4oK,EAAD5oK,EAAGC,EAAC2oK,EAAD3oK,EACrCu8B,EAAI2jB,YACJ,IAAIsqQ,EAAM,EACVt0I,EAAOlnK,SAAQ,SAAS1P,EAAGb,GACzB,IAAMS,EAAI+qC,EAAMvjC,KAAKmT,IAAIpb,EAAGwrC,EAAMztC,OAAS,IACrC2xI,EAAKjvI,EAAE+wB,WACbsM,EAAI4iB,KAAOjgD,EAAEsnC,OACbjK,EAAIujB,WAAWxgD,EAAGS,EAAGC,EAAImuI,EAAK,EAAIq8K,GAClCA,GAAOr8K,CACT,IACA5xG,EAAI+nB,QACN,CApKImmQ,CAAqBluR,EAAK,CAACx8B,EAAAA,EAAGC,EAAAA,GAAIk2K,EAAQjsI,GAsK9C,SAA2B1N,EAAGoyI,EAAUuH,EAAMrG,GAAmB,IAAhC9vK,EAAC4uK,EAAD5uK,EAAGC,EAAC2uK,EAAD3uK,EAAaiqC,EAAK4lI,EAAL5lI,MAAOysC,EAAMm5F,EAANn5F,OAClD8zO,EAAM,EACVt0I,EAAOlnK,SAAQ,SAAS1P,EAAGb,GACzB,IAAMO,EAAI03E,EAAOhwE,KAAKmT,IAAIpb,EAAGi4E,EAAOl6E,OAAS,IACvC0C,EAAI+qC,EAAMvjC,KAAKmT,IAAIpb,EAAGwrC,EAAMztC,OAAS,IACrC2xI,EAAKjvI,EAAE+wB,WACbsM,EAAI2jB,YACJ3jB,EAAI4iB,KAAOjgD,EAAEsnC,OACbjK,EAAIO,UAAY99B,EAChBu9B,EAAIqiB,SAASt/C,EAAGS,EAAGC,EAAImuI,EAAK,EAAIq8K,GAChCA,GAAOr8K,EACP5xG,EAAI0jB,MACN,GACF,CAjLEyqQ,CAAkBnuR,EAAK,CAACx8B,EAAAA,EAAGC,EAAAA,GAAIk2K,EAAQ,CAACjsI,MAAAA,EAAOysC,OAAAA,IAC/Cn6C,EAAI6hB,SACN,CAmBA,SAAS46K,GAAUz8L,EAAK9F,EAAS12B,EAAGC,GAClC,IAAO8hG,EAAmBrrE,EAAnBqrE,OAAQ5xF,EAAWumB,EAAXvmB,QACT4e,EAAQ5e,EAAQmpN,WAChBt9H,EAAW7rF,EAAQ6rF,SACrBu9H,GAAOv9H,GAAY,GAAKuvH,GAE5B,GAAIk+F,GAAgB16R,GAMlB,OALAyN,EAAI0hB,OACJ1hB,EAAIqhB,UAAU79C,EAAGC,GACjBu8B,EAAIqkD,OAAO04I,GACX/8L,EAAIG,UAAU5N,GAAQA,EAAMxpB,MAAQ,GAAIwpB,EAAMvpB,OAAS,EAAGupB,EAAMxpB,MAAOwpB,EAAMvpB,aAC7Eg3B,EAAI6hB,WA/KU,SAAC0jD,GAAM,OAAK9zC,MAAM8zC,IAAWA,GAAU,CAAC,EAkLpD6oN,CAAU7oN,IAMhB,SAAwBvlE,EAAG8iJ,GAAwC,IAC7D/3E,EAASC,EAAS57E,EAAMutM,EADAn5N,EAACs/K,EAADt/K,EAAGC,EAACq/K,EAADr/K,EAAG8hG,EAAMu9E,EAANv9E,OAAQ/F,EAAQsjF,EAARtjF,SAAUjtE,EAAKuwJ,EAALvwJ,MAAOwqM,EAAGj6C,EAAHi6C,IAI3D,OAFA/8L,EAAI2jB,YAEIpxB,GAER,QACEyN,EAAI4jB,IAAIpgD,EAAGC,EAAG8hG,EAAQ,EAAGopH,IACzB3uL,EAAI8kB,YACJ,MACF,IAAK,WACH9kB,EAAI2kB,OAAOnhD,EAAI2G,KAAK2jB,IAAIivM,GAAOx3H,EAAQ9hG,EAAI0G,KAAK4jB,IAAIgvM,GAAOx3H,GAC3Dw3H,GAAO7N,GACPlvL,EAAI4kB,OAAOphD,EAAI2G,KAAK2jB,IAAIivM,GAAOx3H,EAAQ9hG,EAAI0G,KAAK4jB,IAAIgvM,GAAOx3H,GAC3Dw3H,GAAO7N,GACPlvL,EAAI4kB,OAAOphD,EAAI2G,KAAK2jB,IAAIivM,GAAOx3H,EAAQ9hG,EAAI0G,KAAK4jB,IAAIgvM,GAAOx3H,GAC3DvlE,EAAI8kB,YACJ,MACF,IAAK,cASH11B,EAAOm2E,GADPo3H,EAAwB,KAATp3H,GAEfwF,EAAU5gG,KAAK4jB,IAAIgvM,EAAM9N,IAAc7/L,EACvC47E,EAAU7gG,KAAK2jB,IAAIivM,EAAM9N,IAAc7/L,EACvC4Q,EAAI4jB,IAAIpgD,EAAIunG,EAAStnG,EAAIunG,EAAS2xH,EAAcI,EAAMp8M,GAAIo8M,EAAM/N,IAChEhvL,EAAI4jB,IAAIpgD,EAAIwnG,EAASvnG,EAAIsnG,EAAS4xH,EAAcI,EAAM/N,GAAS+N,GAC/D/8L,EAAI4jB,IAAIpgD,EAAIunG,EAAStnG,EAAIunG,EAAS2xH,EAAcI,EAAKA,EAAM/N,IAC3DhvL,EAAI4jB,IAAIpgD,EAAIwnG,EAASvnG,EAAIsnG,EAAS4xH,EAAcI,EAAM/N,GAAS+N,EAAMp8M,IACrEqf,EAAI8kB,YACJ,MACF,IAAK,OACH,IAAK06C,EAAU,CACbpwE,EAAOjlB,KAAK6yN,QAAUz3H,EACtBvlE,EAAIt2B,KAAKlG,EAAI4rB,EAAM3rB,EAAI2rB,EAAM,EAAIA,EAAM,EAAIA,GAC3C,KACF,CACA2tM,GAAO9N,GAET,IAAK,UACHlkH,EAAU5gG,KAAK4jB,IAAIgvM,GAAOx3H,EAC1ByF,EAAU7gG,KAAK2jB,IAAIivM,GAAOx3H,EAC1BvlE,EAAI2kB,OAAOnhD,EAAIunG,EAAStnG,EAAIunG,GAC5BhrE,EAAI4kB,OAAOphD,EAAIwnG,EAASvnG,EAAIsnG,GAC5B/qE,EAAI4kB,OAAOphD,EAAIunG,EAAStnG,EAAIunG,GAC5BhrE,EAAI4kB,OAAOphD,EAAIwnG,EAASvnG,EAAIsnG,GAC5B/qE,EAAI8kB,YACJ,MACF,IAAK,WACHi4K,GAAO9N,GAET,IAAK,QACHlkH,EAAU5gG,KAAK4jB,IAAIgvM,GAAOx3H,EAC1ByF,EAAU7gG,KAAK2jB,IAAIivM,GAAOx3H,EAC1BvlE,EAAI2kB,OAAOnhD,EAAIunG,EAAStnG,EAAIunG,GAC5BhrE,EAAI4kB,OAAOphD,EAAIunG,EAAStnG,EAAIunG,GAC5BhrE,EAAI2kB,OAAOnhD,EAAIwnG,EAASvnG,EAAIsnG,GAC5B/qE,EAAI4kB,OAAOphD,EAAIwnG,EAASvnG,EAAIsnG,GAC5B,MACF,IAAK,OACHA,EAAU5gG,KAAK4jB,IAAIgvM,GAAOx3H,EAC1ByF,EAAU7gG,KAAK2jB,IAAIivM,GAAOx3H,EAC1BvlE,EAAI2kB,OAAOnhD,EAAIunG,EAAStnG,EAAIunG,GAC5BhrE,EAAI4kB,OAAOphD,EAAIunG,EAAStnG,EAAIunG,GAC5BhrE,EAAI2kB,OAAOnhD,EAAIwnG,EAASvnG,EAAIsnG,GAC5B/qE,EAAI4kB,OAAOphD,EAAIwnG,EAASvnG,EAAIsnG,GAC5BgyH,GAAO9N,GACPlkH,EAAU5gG,KAAK4jB,IAAIgvM,GAAOx3H,EAC1ByF,EAAU7gG,KAAK2jB,IAAIivM,GAAOx3H,EAC1BvlE,EAAI2kB,OAAOnhD,EAAIunG,EAAStnG,EAAIunG,GAC5BhrE,EAAI4kB,OAAOphD,EAAIunG,EAAStnG,EAAIunG,GAC5BhrE,EAAI2kB,OAAOnhD,EAAIwnG,EAASvnG,EAAIsnG,GAC5B/qE,EAAI4kB,OAAOphD,EAAIwnG,EAASvnG,EAAIsnG,GAC5B,MACF,IAAK,OACHA,EAAU5gG,KAAK4jB,IAAIgvM,GAAOx3H,EAC1ByF,EAAU7gG,KAAK2jB,IAAIivM,GAAOx3H,EAC1BvlE,EAAI2kB,OAAOnhD,EAAIunG,EAAStnG,EAAIunG,GAC5BhrE,EAAI4kB,OAAOphD,EAAIunG,EAAStnG,EAAIunG,GAC5B,MACF,IAAK,OACHhrE,EAAI2kB,OAAOnhD,EAAGC,GACdu8B,EAAI4kB,OAAOphD,EAAI2G,KAAK4jB,IAAIgvM,GAAOx3H,EAAQ9hG,EAAI0G,KAAK2jB,IAAIivM,GAAOx3H,GAI7DvlE,EAAI0jB,MACN,CA/FE2qQ,CAAeruR,EAAK,CAACx8B,EAAAA,EAAGC,EAAAA,EAAG8hG,OAAAA,EAAQ/F,SAAAA,EAAUjtE,MAAAA,EAAOwqM,IAAAA,GACtD,CAiJA,IAAMuxF,GAAmB,CACvBC,SAAU,CAACjxS,IAAK,OAAQlT,IAAK,OAAQkD,MAAO,OAAQC,IAAK,QAASihT,UAAW,IAAKC,QAAS,MAC3FC,SAAU,CAACpxS,IAAK,OAAQlT,IAAK,OAAQkD,MAAO,SAAUC,IAAK,MAAOihT,UAAW,IAAKC,QAAS,OAoB7F,SAASE,GAAWxtQ,EAAOp6C,EAAO+iC,GAEhC,OAAOy9I,GADPxgL,EAAyB,kBAAVA,EAAqBA,EAAQo6C,EAAM1gC,MAAM1Z,IAC/Bo6C,EAAM6xK,iBAAiBjsN,GAAS+iC,CAC3D,CASA,SAAS8kR,GAAgBl2F,EAAQ/kN,EAASxR,GACxC,IAAMgyO,EAAUxgO,EAAQxR,GACxB,GAAIgyO,GAAmB,YAARhyO,EACb,OAAOgyO,EAET,IAAMxhB,EAAOxwN,EAAImtE,OAAO,GAClBu/O,EAAO5tT,OAAOwd,OAAOi6M,GAAQ53M,QAAO,SAACqgC,GAAK,OAAKA,EAAMwxK,MAAQxxK,EAAMwxK,OAASA,CAAI,IACtF,OAAIk8F,EAAK5uT,OACA4uT,EAAK,GAAGtmQ,GAEVoqK,CACT,CAOA,SAASm8F,GAAoB3tQ,EAAOxtC,GAClC,GAAIwtC,EAAO,CACT,IAAM9J,EAAU8J,EAAMxtC,QAAQ0jC,QAG9B,MAAO,CACL/pC,MAHYqhT,GAAWxtQ,EAAOxtC,EAAQ2J,IAAK+5B,EAAU1jC,EAAQpG,IAAMoG,EAAQrG,OAI3EC,IAHUohT,GAAWxtQ,EAAOxtC,EAAQvJ,IAAKitC,EAAU1jC,EAAQrG,MAAQqG,EAAQpG,KAK/E,CACF,CAOA,SAASwhT,GAAcl4F,EAAOljN,GAC5B,IAAOujO,EAAqBrgB,EAArBqgB,UAAWxe,EAAU7B,EAAV6B,OACZxF,EAASwF,EAAOk2F,GAAgBl2F,EAAQ/kN,EAAS,aACjDw/M,EAASuF,EAAOk2F,GAAgBl2F,EAAQ/kN,EAAS,aACnDnQ,EAAI0zO,EAAUnuO,MAAQ,EACtBtF,EAAIyzO,EAAUluO,OAAS,EAS3B,OAPIkqN,IACF1vN,EAAImrT,GAAWz7F,EAAQv/M,EAAQkkR,OAAQ3kE,EAAOrqN,KAAOqqN,EAAOnqN,MAAQ,IAGlEoqN,IACF1vN,EAAIkrT,GAAWx7F,EAAQx/M,EAAQmkR,OAAQ3kE,EAAOrqN,IAAMqqN,EAAOnqN,OAAS,IAE/D,CAACxF,EAAAA,EAAGC,EAAAA,EACb,CAOA,SAASurT,GAAqBn4F,EAAOljN,GACnC,IAAM+kN,EAAS7B,EAAM6B,OACfxF,EAASwF,EAAOk2F,GAAgBl2F,EAAQ/kN,EAAS,aACjDw/M,EAASuF,EAAOk2F,GAAgBl2F,EAAQ/kN,EAAS,aAEvD,IAAKu/M,IAAWC,EACd,MAAO,CAAC,EAGV,IAAA2iD,EAA2B5iD,GAAU2D,EAAMqgB,UAAhC1zO,EAACsyQ,EAAPjtQ,KAAgBk3D,EAAE+1M,EAATxmN,MACd4mN,EAA2B/iD,GAAU0D,EAAMqgB,UAAjCzzO,EAACyyQ,EAANptQ,IAAgBk3D,EAAEk2M,EAAV3mN,OACP0/P,EAAOC,GAAyBh8F,EAAQ,CAAC51M,IAAK3J,EAAQm7G,KAAM1kH,IAAKuJ,EAAQq7G,KAAM1hH,MAAO9J,EAAG+J,IAAKwyD,IACpGv8D,EAAIyrT,EAAK3hT,MACTyyD,EAAKkvP,EAAK1hT,IACV,IAAM4hT,EAAOD,GAAyB/7F,EAAQ,CAAC71M,IAAK3J,EAAQo7G,KAAM3kH,IAAKuJ,EAAQs7G,KAAM3hH,MAAO0yD,EAAIzyD,IAAK9J,IAIrG,MAAO,CACLD,EAAAA,EACAC,EALFA,EAAI0rT,EAAK7hT,MAMPyyD,GAAAA,EACAC,GANFA,EAAKmvP,EAAK5hT,IAORxE,MAAOg3D,EAAKv8D,EACZwF,OAAQg3D,EAAKv8D,EACb+pB,QAAShqB,GAAKu8D,EAAKv8D,GAAK,EACxBiqB,QAAShqB,GAAKu8D,EAAKv8D,GAAK,EAE5B,CAOA,SAAS2rT,GAAuBv4F,EAAOljN,GACrC,IAAK64S,GAAe74S,GAAU,CAC5B,IAAM8vC,EAAMurQ,GAAqBn4F,EAAOljN,GACpC4xF,EAAS5xF,EAAQ4xF,OAChBA,IAAU9zC,MAAM8zC,KACnBA,EAASp7F,KAAKmT,IAAImmC,EAAI16C,MAAO06C,EAAIz6C,QAAU,EAC3C2K,EAAQ4xF,OAASA,GAEnB,IAAMn2E,EAAgB,EAATm2E,EACP8pN,EAAgB5rQ,EAAIj2B,QAAU7Z,EAAQ27S,QACtCC,EAAgB9rQ,EAAIh2B,QAAU9Z,EAAQ67S,QAC5C,MAAO,CACLhsT,EAAG6rT,EAAgB9pN,EACnB9hG,EAAG8rT,EAAgBhqN,EACnBxlC,GAAIsvP,EAAgB9pN,EACpBvlC,GAAIuvP,EAAgBhqN,EACpB/3E,QAAS6hS,EACT5hS,QAAS8hS,EACTxmT,MAAOqmB,EACPpmB,OAAQomB,EACRm2E,OAAAA,EAEJ,CACA,OAsCF,SAAwBsxH,EAAOljN,GAC7B,IAAMioC,EAAQmzQ,GAAcl4F,EAAOljN,GAC7Byb,EAAwB,EAAjBzb,EAAQ4xF,OACrB,MAAO,CACL/hG,EAAGo4C,EAAMp4C,EAAImQ,EAAQ4xF,OAAS5xF,EAAQ27S,QACtC7rT,EAAGm4C,EAAMn4C,EAAIkQ,EAAQ4xF,OAAS5xF,EAAQ67S,QACtCzvP,GAAInkB,EAAMp4C,EAAImQ,EAAQ4xF,OAAS5xF,EAAQ27S,QACvCtvP,GAAIpkB,EAAMn4C,EAAIkQ,EAAQ4xF,OAAS5xF,EAAQ67S,QACvChiS,QAASouB,EAAMp4C,EAAImQ,EAAQ27S,QAC3B7hS,QAASmuB,EAAMn4C,EAAIkQ,EAAQ67S,QAC3BjqN,OAAQ5xF,EAAQ4xF,OAChBx8F,MAAOqmB,EACPpmB,OAAQomB,EAEZ,CApDSqgS,CAAe54F,EAAOljN,EAC/B,CAMA,SAAS+7S,GAAsB74F,EAAOljN,GACpC,IAAO+kN,EAAqB7B,EAArB6B,OAAQwe,EAAargB,EAAbqgB,UACT/1L,EAAQu3K,EAAO/kN,EAAQwgO,SACvBx1G,EAAO,CAACn7H,EAAG0zO,EAAUruO,KAAMpF,EAAGyzO,EAAUpuO,IAAKi3D,GAAIm3K,EAAU5nL,MAAO0Q,GAAIk3K,EAAU3nL,QAOtF,OALIpO,EAkDN,SAAmCA,EAAOw9E,EAAMhrH,GAC9C,IAAM2J,EAAMqxS,GAAWxtQ,EAAOxtC,EAAQ5M,MAAOivO,KACvC5rO,EAAMukT,GAAWxtQ,EAAOxtC,EAAQimO,SAAUt8N,GAC5C6jC,EAAMm6L,gBACR38G,EAAKn7H,EAAI8Z,EACTqhH,EAAK5+D,GAAK31D,IAEVu0H,EAAKl7H,EAAI6Z,EACTqhH,EAAK3+D,GAAK51D,EAEd,CA3DIulT,CAA0BxuQ,EAAOw9E,EAAMhrH,GA6D3C,SAAsC+kN,EAAQ/5F,EAAMhrH,GAClD,IAAK,IAALi8S,EAAA,EAAAC,EAAsB5uT,OAAOa,KAAKwsT,IAAiBsB,EAAAC,EAAA5vT,OAAA2vT,IAAE,CAAhD,IAAME,EAAOD,EAAAD,GACVzuQ,EAAQu3K,EAAOk2F,GAAgBl2F,EAAQ/kN,EAASm8S,IACtD,GAAI3uQ,EAAO,CACT,IAAA4uQ,EAAmDzB,GAAiBwB,GAA7DxyS,EAAGyyS,EAAHzyS,IAAKlT,EAAG2lT,EAAH3lT,IAAKkD,EAAKyiT,EAALziT,MAAOC,EAAGwiT,EAAHxiT,IAAKihT,EAASuB,EAATvB,UAAWC,EAAOsB,EAAPtB,QAClCuB,EAAMlB,GAAoB3tQ,EAAO,CAAC7jC,IAAK3J,EAAQ2J,GAAMlT,IAAKuJ,EAAQvJ,GAAMkD,MAAO6zC,EAAM7zC,GAAQC,IAAK4zC,EAAM5zC,KAC9GoxH,EAAK6vL,GAAawB,EAAI1iT,MACtBqxH,EAAK8vL,GAAWuB,EAAIziT,GACtB,CACF,CACF,CArEI0iT,CAA6Bv3F,EAAQ/5F,EAAMhrH,GAEtCgrH,CACT,CAQA,SAASuxL,GAA6Br5F,EAAOljN,GAC3C,IAAMgmN,EAAaq1F,GAAqBn4F,EAAOljN,GAQ/C,OAPAgmN,EAAWw2F,eAAiB1D,GAAwB51F,EAAO8C,EAAYhmN,GACvEgmN,EAAWn/L,SAAW,CAAC,CACrB16B,KAAM,QACNswT,YAAa,QACbz2F,WAAY02F,GAAgCx5F,EAAO8C,EAAYhmN,GAC/Dw8S,eAAgBx2F,EAAWw2F,iBAEtBx2F,CACT,CAkBA,SAASu1F,GAAyB/tQ,EAAOxtC,GACvC,IAAMpM,EAASunT,GAAoB3tQ,EAAOxtC,IAAYA,EACtD,MAAO,CACLrG,MAAOnD,KAAKmT,IAAI/V,EAAO+F,MAAO/F,EAAOgG,KACrCA,IAAKpD,KAAKC,IAAI7C,EAAO+F,MAAO/F,EAAOgG,KAEvC,CA8CA,SAAS+iT,GAAoBC,EAAS11C,GACpC,IAAOvtQ,EAA2BijT,EAA3BjjT,MAAOC,EAAoBgjT,EAApBhjT,IAAK+kD,EAAei+P,EAAfj+P,YACZniC,EAA6D0qP,EAA7D1qP,SAAQqgS,EAAqD31C,EAAnDr6N,QAAiBmwP,EAAQ6f,EAAfljT,MAAsBmjT,EAAMD,EAAXjjT,IAE5C,OAAOD,EAAQglD,EAAc,EAFuCuoN,EAAV61C,OAEhB1pF,GADpBz5N,EAAM+kD,EAAchlD,EAAQqjS,EAAW8f,EAAS51C,EAAUzrP,KACHe,EAC/E,CAEA,SAASkgS,GAAgCx5F,EAAO8C,EAAYhmN,GAC1D,IAAM9L,EAAQ8L,EAAQ9L,MACtBA,EAAMwkB,gBAAkB,cACxBxkB,EAAM8oT,QAAQz9R,SAAU,EACxB,IAAM/C,EAAWo8R,GAAW1kT,EAAMsoB,UAC5BqwB,EAAUk/K,GAAU73N,EAAM24C,SAC1BowQ,EAAYvD,GAAiBx2F,EAAM72L,IAAKn4B,GACxCrE,EAlCR,SAAmB40Q,EAAwBw4C,EAAWzgS,EAAUqwB,GAAS,IAApDm5K,EAAUy+C,EAAVz+C,WAAYhmN,EAAOykQ,EAAPzkQ,QAE/B,OAAO28S,GAAoB,CAAChjT,MADaqsN,EAAlCn2N,EAC4B+J,IADMosN,EAAxB55J,GACuB3wC,KADCuqM,EAAf5wN,MACoBupD,YAAa3+C,EAAQ2+C,aAAc,CAC/EniC,SAAUA,EAAS3sB,EACnBg9C,QAAS,CAAClzC,MAAOkzC,EAAQ33C,KAAM0E,IAAKizC,EAAQ8O,OAC5CohQ,OAAQ/8S,EAAQ9L,MAAMynT,QACtBlgS,KAAMwhS,EAAU7nT,OAEpB,CA0BY8nT,CAAW,CAACl3F,WAAAA,EAAYhmN,QAAAA,GAAUi9S,EAAWzgS,EAAUqwB,GAC3D/8C,EAzBR,SAAmB22Q,EAAwBw2C,EAAWzgS,EAAUqwB,GAAS,IAApDm5K,EAAUygD,EAAVzgD,WAAYhmN,EAAOymQ,EAAPzmQ,QAE/B,OAAO28S,GAAoB,CAAChjT,MADcqsN,EAAnCl2N,EAC4B8J,IADOosN,EAAzB35J,GACuB5wC,KADEuqM,EAAhB3wN,OACoBspD,YAAa3+C,EAAQ2+C,aAAc,CAC/EniC,SAAUA,EAAS1sB,EACnB+8C,QAAS,CAAClzC,MAAOkzC,EAAQ13C,IAAKyE,IAAKizC,EAAQ+O,QAC3CmhQ,OAAQ/8S,EAAQ9L,MAAM2nT,QACtBpgS,KAAMwhS,EAAU5nT,QAEpB,CAiBY8nT,CAAW,CAACn3F,WAAAA,EAAYhmN,QAAAA,GAAUi9S,EAAWzgS,EAAUqwB,GAC3Dz3C,EAAQ6nT,EAAU7nT,MAAQy3C,EAAQz3C,MAClCC,EAAS4nT,EAAU5nT,OAASw3C,EAAQx3C,OAC1C,MAAO,CACLxF,EAAAA,EACAC,EAAAA,EACAs8D,GAAIv8D,EAAIuF,EACRi3D,GAAIv8D,EAAIuF,EACRD,MAAAA,EACAC,OAAAA,EACAwkB,QAAShqB,EAAIuF,EAAQ,EACrB0kB,QAAShqB,EAAIuF,EAAS,EACtBw2F,SAAU33F,EAAM23F,SAGpB,CAaA,SAASuxN,GAAQn1Q,EAAOmgM,EAAQv7N,GAC9B,IAAMuN,EAAM5jB,KAAK4jB,IAAIvN,GACfsN,EAAM3jB,KAAK2jB,IAAItN,GACfmO,EAAKotN,EAAOv4O,EACZorB,EAAKmtN,EAAOt4O,EAElB,MAAO,CACLD,EAAGmrB,EAAKZ,GAAO6tB,EAAMp4C,EAAImrB,GAAMb,GAAO8tB,EAAMn4C,EAAImrB,GAChDnrB,EAAGmrB,EAAKd,GAAO8tB,EAAMp4C,EAAImrB,GAAMZ,GAAO6tB,EAAMn4C,EAAImrB,GAEpD,CAEA,IAAMoiS,GAAY,CAAC,QAAS,SAOtBC,GAAaD,GAAUjvT,OAAO,SAyCpC,SAASo9Q,GAAY13K,EAAO0/B,EAAOxzH,GACjC,GAAI8zF,EAAMypN,SACR,OAAQ/pL,EAAMrnI,MACd,IAAK,YACL,IAAK,WACH,OAON,SAA0B2nG,EAAO0/B,EAAOxzH,GACtC,IAAK8zF,EAAM0pN,aACT,OAGF,IAAI32R,EAGFA,EADiB,cAAf2sG,EAAMrnI,KACGorT,GAAYzjN,EAAO0/B,EAAOxzH,EAAQwkN,aAElC,GAGb,IAAMprM,EAAW06E,EAAM2pN,QACvB3pN,EAAM2pN,QAAU52R,EAEhB,IAAMrxB,EAAU,CAACs+F,MAAAA,EAAO0/B,MAAAA,GACpBusF,EAAU29F,GAAmBloT,EAAS,QAAS4jB,EAAUyN,GAC7D,OAAO62R,GAAmBloT,EAAS,QAASqxB,EAAUzN,IAAa2mM,CACrE,CA1Ba49F,CAAiB7pN,EAAO0/B,EAAOxzH,GACxC,IAAK,QACH,OAoCN,SAA2B8zF,EAAO0/B,EAAOxzH,GACvC,IAEI+/M,EAC0BjF,EAHxBrnF,EAAY3/B,EAAM2/B,UAClB5sG,EAAW0wR,GAAYzjN,EAAO0/B,EAAOxzH,EAAQwkN,aACvCzJ,GAAAzuD,EAAAA,EAAAA,GACUzlI,GAAQ,IAA9B,IAAAk0L,EAAAnoN,MAAAkoN,EAAAC,EAAAzrN,KAAAuE,MAAgC,KAArB0yB,EAAOu0L,EAAA1nN,MAChB2sN,EAAUxlJ,GAAch0C,EAAQvmB,QAAQ49S,OAASnqL,EAAUmqL,MAAOr3R,EAASitG,IAAUusF,CACvF,CAAC,OAAAx6F,GAAAw1F,EAAArsN,EAAA62H,EAAA,SAAAw1F,EAAA/rN,GAAA,CACD,OAAO+wN,CACT,CA5Ca89F,CAAkB/pN,EAAO0/B,EAAOxzH,GAG7C,CAuBA,SAAS09S,GAAkBjpC,EAAiBt6N,EAAMtzB,EAAUi3R,GAAe,IACrE/9F,EAC0BvF,EAFH1mH,EAAK2gL,EAAL3gL,MAAO0/B,EAAKihJ,EAALjhJ,MACtBinF,GAAAnuD,EAAAA,EAAAA,GACUzlI,GAAQ,IAA9B,IAAA4zL,EAAA7nN,MAAA4nN,EAAAC,EAAAnrN,KAAAuE,MAAgC,KAArB0yB,EAAOi0L,EAAApnN,MACZ0qT,EAAc9+S,QAAQunB,GAAW,IACnCw5L,EAAUxlJ,GAAch0C,EAAQvmB,QAAQm6C,IAAS25C,EAAM2/B,UAAUt5E,GAAO5zB,EAASitG,IAAUusF,EAE/F,CAAC,OAAAx6F,GAAAk1F,EAAA/rN,EAAA62H,EAAA,SAAAk1F,EAAAzrN,GAAA,CACD,OAAO+wN,CACT,CAYA,SAASxlJ,GAAc7T,EAASngC,EAASitG,GACvC,OAAwD,IAAjD5/B,GAASltC,EAAS,CAACngC,EAAQy4M,SAAUxrG,GAC9C,CAQA,IAAMuqL,GAAe,CAAC,YAAa,cA6BnC,SAASC,GAAWlqN,EAAOvtE,EAAS4zB,GAClC,GAAI25C,EAAMmqN,OAER,OAAOrqN,GADcrtE,EAAQvmB,QAAQm6C,IAAS25C,EAAM3wC,MAAMhJ,GAC5B,CAAC5zB,EAAQy4M,UAE3C,CAaA,SAASk/E,GAAiBh7F,EAAO11K,EAAO01C,GACtC,IAAM34D,EAoDR,SAAwBw6L,EAAQv3K,EAAO01C,GACrC,IAOoCgrI,EAP9BlP,EAAOxxK,EAAMwxK,KACbwhB,EAAUhzL,EAAMoH,GAChBupQ,EAAgBn/F,EAAO,UACvB86D,EAAS,CACbnwQ,IAAKsvM,GAAezrK,EAAM7jC,IAAKusE,OAAOwsJ,mBACtCjsO,IAAKwiN,GAAezrK,EAAM/2C,IAAKy/E,OAAOilI,oBACtCgT,GAAA7hE,EAAAA,EAAAA,GACuBppE,GAAW,IAApC,IAAAirI,EAAAv7N,MAAAs7N,EAAAC,EAAA7+N,KAAAuE,MAAsC,KAA3B4wR,EAAUv2D,EAAA96N,MACfqxR,EAAWjkD,UAAYA,EACzBg6C,GAAaiK,EAAYj3O,EAAO,CAAC,QAAS,YAAassO,GAC9CmhC,GAAgBl2F,EAAQ0/D,EAAY05B,KAAmB39E,GAChEg6C,GAAaiK,EAAYj3O,EAAO,CAACwxK,EAAO,MAAOA,EAAO,MAAOA,EAAO,SAAU86D,EAElF,CAAC,OAAAv0J,GAAA4oG,EAAAz/N,EAAA62H,EAAA,SAAA4oG,EAAAn/N,GAAA,CACD,OAAO8qR,CACT,CApEgBskC,CAAel7F,EAAM6B,OAAQv3K,EAAO01C,GAC9C68H,EAAUs+F,GAAiB7wQ,EAAOjjB,EAAO,MAAO,iBACpDw1L,EAAUs+F,GAAiB7wQ,EAAOjjB,EAAO,MAAO,iBAAmBw1L,IACpDjwC,GAAWtiI,EAAM+qO,yBAC9B/qO,EAAM+qO,wBAEV,CAYA,SAAS8lC,GAAiB7wQ,EAAOjjB,EAAOg6N,EAAO+5D,GAC7C,GAAI1qI,GAASrpJ,EAAMg6N,MAOrB,SAA2BgG,EAAchG,EAAO+5D,GAC9C,OAAO1jG,GAAQ2vC,EAAahG,KAAW3pC,GAAQ2vC,EAAa+zD,GAC9D,CATiCC,CAAkB/wQ,EAAMxtC,QAASukP,EAAO+5D,GAAiB,CACtF,IAAMv+F,EAAUvyK,EAAM+2M,KAAWh6N,EAAMg6N,GAEvC,OADA/2M,EAAM+2M,GAASh6N,EAAMg6N,GACdxkC,CACT,CACF,CAMA,SAASy+F,GAAe/5B,EAAY1/D,GAClC,IAAK,IAAL0lC,EAAA,EAAAg0D,EAAkB,CAAC,UAAW,WAAY,YAAWh0D,EAAAg0D,EAAAnyT,OAAAm+P,IAAE,CAAlD,IAAMj8P,EAAGiwT,EAAAh0D,GACNjqB,EAAUy6E,GAAgBl2F,EAAQ0/D,EAAYj2R,GAChDgyO,IAAYzb,EAAOyb,IAAYk+E,GAAiBj6B,EAAYj2R,IAC9DwmD,QAAQrb,KAAK,2BAADvrC,OAA4BoyO,EAAO,sBAAApyO,OAAqBq2R,EAAW7vO,GAAE,KAErF,CACF,CAEA,SAAS8pQ,GAAiBj6B,EAAYj2R,GACpC,GAAY,YAARA,EACF,OAAO,EAGT,IADA,IAAMwwN,EAAOxwN,EAAImtE,OAAO,GACxBsyL,EAAA,EAAA0wD,EAAmB,CAAC,MAAO,MAAO,SAAQ1wD,EAAA0wD,EAAAryT,OAAA2hQ,IAAE,CAC1C,GAAIrzC,GAAQ6pE,EAAWzlE,EADV2/F,EAAA1wD,KAEX,OAAO,CAEX,CACA,OAAO,CACT,CAoBA,SAASusB,GAAaiK,EAAYj3O,EAAO03E,EAAO40J,GAAQ,IAC9B5qD,EAD8BC,GAAA7iE,EAAAA,EAAAA,GACnCpnC,GAAK,IAAxB,IAAAiqG,EAAAv8N,MAAAs8N,EAAAC,EAAA7/N,KAAAuE,MAA0B,KAClBozD,EAAMw9N,EADCv1D,EAAA97N,OAEb,GAAIwnN,GAAQ3zJ,GAAM,CAChB,IAAM7zD,EAAQo6C,EAAM1gC,MAAMm6C,GAC1B6yN,EAAOnwQ,IAAMnT,KAAKmT,IAAImwQ,EAAOnwQ,IAAKvW,GAClC0mR,EAAOrjR,IAAMD,KAAKC,IAAIqjR,EAAOrjR,IAAKrD,EACpC,CACF,CAAC,OAAAmyH,GAAA4pG,EAAAzgO,EAAA62H,EAAA,SAAA4pG,EAAAngO,GAAA,CACH,CAAC,IAEK4vT,GAAa,SAAArhE,IAAAlwF,EAAAA,EAAAA,GAAAuxJ,EAAArhE,GAAA,IAAA5sN,GAAAg8H,EAAAA,EAAAA,GAAAiyJ,GAAA,SAAAA,IAAA,OAAA5yJ,EAAAA,EAAAA,GAAA,KAAA4yJ,GAAAjuR,EAAA99B,MAAA,KAAAnG,UAAA,CAwBhB,OAxBgBy/J,EAAAA,EAAAA,GAAAyyJ,EAAA,EAAApwT,IAAA,UAAA4E,MAEjB,SAAQ4pQ,EAAQC,EAAQj+C,EAAMyzB,GAC5B,IAAAosE,EAAezB,GAAQ,CAACvtT,EAAGmtQ,EAAQltQ,EAAGmtQ,GAAS1qQ,KAAK2gP,eAAeT,GAAmB12B,IAAWxpN,KAAKyN,QAAQ6rF,WAC9G,OAAOksN,GAAW,CAACloT,EADXgvT,EAADhvT,EACeC,EADX+uT,EAAD/uT,GACgByC,KAAK8gP,SAAS,CAAC,IAAK,IAAK,KAAM,MAAOZ,GAAmBzzB,EAAMzsN,KAAKyN,QAAQ2+C,YACxG,GAAC,CAAAnwD,IAAA,iBAAA4E,MAED,SAAeq/O,GACb,OAAO0lE,GAAsB5lT,KAAMkgP,EACrC,GAAC,CAAAjkP,IAAA,OAAA4E,MAED,SAAKi5B,GACHA,EAAI0hB,OACJL,GAAUrhB,EAAK95B,KAAK2gP,iBAAkB3gP,KAAKyN,QAAQ6rF,UACnDiuN,GAAQztR,EAAK95B,KAAMA,KAAKyN,SACxBqsB,EAAI6hB,SACN,GAAC,CAAA1/C,IAAA,QAAAqM,IAED,WACE,OAAOtI,KAAKs0B,UAAYt0B,KAAKs0B,SAAS,EACxC,GAAC,CAAAr4B,IAAA,2BAAA4E,MAED,SAAyB8vN,EAAOljN,GAC9B,OAAOu8S,GAA6Br5F,EAAOljN,EAC7C,KAAC4+S,CAAA,CAxBgB,CAASpuT,IA2B5BouT,GAAchqQ,GAAK,gBAEnBgqQ,GAAcrlQ,SAAW,CACvB2kQ,kBAAkB,EAClBzE,sBAAuB,cACvB3hF,eAAgB,OAChBC,WAAY,GACZC,iBAAkB,EAClBC,gBAAiB,QACjBrrB,aAAc,EACdmtG,kBAAmB,cACnBp7P,YAAa,EACbp/B,SAAS,EACTuxH,UAAMvwI,EACNrM,MAAO,CACLwkB,gBAAiB,cACjBimC,YAAa,EACbq+P,QAAS,CACPz9R,SAAS,GAEXvR,MAAO,QACPwV,QAAS,KACTjE,SAAS,EACTunP,cAAUvmQ,EACV0uC,KAAM,CACJqgD,YAAQ/uF,EACRwf,gBAAYxf,EACZkb,UAAMlb,EACNqe,WAAOre,EACPgvF,OAAQ,QAEVl6F,YAAQkL,EACRqiB,aAASriB,EACTssC,QAAS,EACTrwB,SAAU,SACVqvE,cAAUtrF,EACV0gB,UAAW,QACXqmM,qBAAiB/mN,EACjB8mN,gBAAiB,EACjBjyN,WAAOmL,EACPo7S,QAAS,EACTE,QAAS,EACT9rT,OAAGwQ,GAELsrF,SAAU,EACVt8C,WAAY,EACZF,cAAe,EACfC,cAAe,EACf+rE,UAAM96G,EACN46G,UAAM56G,EACNq6S,cAAUr6S,EACV+6G,UAAM/6G,EACN66G,UAAM76G,EACNw6S,cAAUx6S,EACVxQ,EAAG,GAGL6uT,GAAc33D,cAAgB,CAC5BnoM,YAAa,QACbpmC,gBAAiB,SAGnBkmS,GAAcztI,YAAc,CAC1Bj9K,MAAO,CACL2xN,WAAW,IAIf,IAAMqN,GAAY,CAAC,OAAQ,SAAU,MAAO,SAEtC4rF,GAAe,SAAAvmD,IAAAlrG,EAAAA,EAAAA,GAAAyxJ,EAAAvmD,GAAA,IAAA3tB,GAAAj+E,EAAAA,EAAAA,GAAAmyJ,GAAA,SAAAA,IAAA,OAAA9yJ,EAAAA,EAAAA,GAAA,KAAA8yJ,GAAAl0E,EAAA/3O,MAAA,KAAAnG,UAAA,CA2ClB,OA3CkBy/J,EAAAA,EAAAA,GAAA2yJ,EAAA,EAAAtwT,IAAA,UAAA4E,MAEnB,SAAQ4pQ,EAAQC,EAAQj+C,EAAMyzB,GAC5B,IAAAssE,EAAe3B,GAAQ,CAACvtT,EAAGmtQ,EAAQltQ,EAAGmtQ,GAAS1qQ,KAAK2gP,eAAeT,GAAmB12B,IAAWxpN,KAAKs5F,WACtG,OAAOksN,GAAW,CAACloT,EADXkvT,EAADlvT,EACeC,EADXivT,EAADjvT,GACgByC,KAAK8gP,SAAS,CAAC,IAAK,IAAK,KAAM,MAAOZ,GAAmBzzB,EAAMzsN,KAAKyN,QAAQ2+C,YACxG,GAAC,CAAAnwD,IAAA,iBAAA4E,MAED,SAAeq/O,GACb,OAAO0lE,GAAsB5lT,KAAMkgP,EACrC,GAAC,CAAAjkP,IAAA,OAAA4E,MAED,SAAKi5B,GACH,IAAMrsB,EAAUzN,KAAKyN,QACfqmN,GAAWzL,GAAQroN,KAAKysT,WAAazsT,KAAKysT,SAC3Ch/S,EAAQuf,SAAYvf,EAAQwjB,SAAY6iM,IAG7Ch6L,EAAI0hB,OACJL,GAAUrhB,EAAK95B,KAAK2gP,iBAAkB3gP,KAAKs5F,UAqH/C,SAAqBx/D,EAAK9F,GACxB,IAAO04R,EAA2B14R,EAA3B04R,OAAQC,EAAmB34R,EAAnB24R,OAAQl/S,EAAWumB,EAAXvmB,QACjBg9S,EAAUh9S,EAAQg9S,QAClBmC,EAAkBnC,GAAWA,EAAQz9R,SA2E7C,SAAgCgH,EAASvmB,GACvC,IAAMwc,EAAWxc,EAAQwc,SACzB,GAAI02M,GAAU3rG,SAAS/qG,GACrB,OAAOA,EAET,OAGF,SAAoC+J,EAASvmB,GAS3C,IARA,IAAOnQ,EAA2E02B,EAA3E12B,EAAGC,EAAwEy2B,EAAxEz2B,EAAGs8D,EAAqE7lC,EAArE6lC,GAAIC,EAAiE9lC,EAAjE8lC,GAAIj3D,EAA6DmxB,EAA7DnxB,MAAOC,EAAsDkxB,EAAtDlxB,OAAQ4pT,EAA8C14R,EAA9C04R,OAAQC,EAAsC34R,EAAtC24R,OAAQrlS,EAA8B0M,EAA9B1M,QAASC,EAAqByM,EAArBzM,QAAS+xE,EAAYtlE,EAAZslE,SAChEu8I,EAAS,CAACv4O,EAAGgqB,EAAS/pB,EAAGgqB,GACzBngB,EAAQqG,EAAQrG,MAChBgiT,EAAUjD,GAAQtjT,EAAOuE,GACzBkiT,EAAUnD,GAAQrjT,EAAQsE,GAC1BylT,EAAU,CAACvvT,EAAGA,EAAI8rT,EAAS9rT,EAAI8rT,EAASvvP,GACxCizP,EAAU,CAACvvT,EAAI+rT,EAASxvP,EAAIv8D,EAAGu8D,GAC/Bz4D,EAAS,GACN6D,EAAQ,EAAGA,EAAQ,EAAGA,IAAS,CACtC,IAAM6nT,EAAelC,GAAQ,CAACvtT,EAAGuvT,EAAQ3nT,GAAQ3H,EAAGuvT,EAAQ5nT,IAAS2wO,EAAQrsB,GAAUlwH,IACvFj4F,EAAOc,KAAK,CACV8nB,SAAU02M,GAAUz7N,GACpBijB,SAAUgiM,GAAsB4iG,EAAc,CAACzvT,EAAGovT,EAAQnvT,EAAGovT,KAEjE,CACA,OAAOtrT,EAAOihE,MAAK,SAAC7kE,EAAGrB,GAAC,OAAKqB,EAAE0qB,SAAW/rB,EAAE+rB,QAAQ,IAAE,GAAG8B,QAC3D,CApBS+iS,CAA2Bh5R,EAASvmB,EAC7C,CAjFwDw/S,CAAuBj5R,EAASy2R,GACtF,IAAKmC,GAgHP,SAAwB54R,EAASy2R,EAASxgS,GACxC,IAAOyiS,EAAkB14R,EAAlB04R,OAAQC,EAAU34R,EAAV24R,OACTtyQ,EAASowQ,EAAQpwQ,OACnB/8C,EAAIovT,EACJnvT,EAAIovT,EACS,SAAb1iS,EACF3sB,GAAK+8C,EACiB,UAAbpwB,EACT3sB,GAAK+8C,EACiB,QAAbpwB,EACT1sB,GAAK88C,EACiB,WAAbpwB,IACT1sB,GAAK88C,GAEP,OAAOrmB,EAAQosN,QAAQ9iP,EAAGC,EAC5B,CA/H0B2vT,CAAel5R,EAASy2R,EAASmC,GACvD,OAGF9yR,EAAI0hB,OACJ1hB,EAAI2jB,YACJ,IAAMoE,EAASmlQ,GAAeltR,EAAK2wR,GACnC,IAAK5oQ,EACH,OAAO/nB,EAAI6hB,UAEb,IAAAwxQ,EAcF,SAAkCn5R,EAAS/J,GACzC,IAEImjS,EAAgBC,EAFb/vT,EAAgB02B,EAAhB12B,EAAGC,EAAay2B,EAAbz2B,EAAGs8D,EAAU7lC,EAAV6lC,GAAIC,EAAM9lC,EAAN8lC,GACX0wP,EAaR,SAAmCx2R,EAAS/J,GAC1C,IAAOpnB,EAA0BmxB,EAA1BnxB,MAAOC,EAAmBkxB,EAAnBlxB,OAAQ2K,EAAWumB,EAAXvmB,QAChB+8S,EAAS/8S,EAAQg9S,QAAQpwQ,OAAS5sC,EAAQ2+C,YAAc,EAC9D,GAAiB,UAAbniC,EACF,OAAOpnB,EAAQ2nT,EACV,GAAiB,WAAbvgS,EACT,OAAOnnB,EAAS0nT,EAElB,OAAQA,CACV,CAtBiB8C,CAA0Bt5R,EAAS/J,GAIhDojS,EAFe,SAAbpjS,GAAoC,UAAbA,EAEV,CAAC3sB,GADhB8vT,EAAiB,CAAC9vT,EAAGA,EAAIktT,EAAQjtT,EAAAA,IACCD,EAAGC,EAAGu8D,GAIzB,CAACx8D,EAAGu8D,EAAIt8D,GADvB6vT,EAAiB,CAAC9vT,EAAAA,EAAGC,EAAGA,EAAIitT,IACajtT,GAE3C,MAAO,CAAC6vT,eAAAA,EAAgBC,aAAAA,EAC1B,CA3ByCE,CAAyBv5R,EAAS44R,GAAlEQ,EAAcD,EAAdC,eAAgBC,EAAYF,EAAZE,aACvBG,EAuCF,SAA6Bx5R,EAAS/J,EAAUmjS,GAC9C,IAGIK,EAAWC,EAHRnwT,EAA6By2B,EAA7Bz2B,EAAGsF,EAA0BmxB,EAA1BnxB,MAAOC,EAAmBkxB,EAAnBlxB,OAAQ2K,EAAWumB,EAAXvmB,QACnBrG,EAAQqG,EAAQg9S,QAAQrjT,MACxBskB,EAaR,SAA8BzB,EAAUxc,GACtC,IAAMie,EAAOje,EAAQie,KACrB,GAAiB,SAAbzB,GAAoC,QAAbA,EACzB,OAAQyB,EAEV,OAAOA,CACT,CAnBeiiS,CAAqB1jS,EAAUxc,EAAQg9S,SAIlDiD,EAFe,SAAbzjS,GAAoC,UAAbA,EAEf,CAAC3sB,GADXmwT,EAAY,CAACnwT,EAAG8vT,EAAe9vT,EAAGC,EAAGA,EAAI4oT,GAAQrjT,EAAQsE,KACjC9J,EAAIouB,EAAMnuB,EAAGkwT,EAAUlwT,GAIrC,CAACD,GADXmwT,EAAY,CAACnwT,EAAG8vT,EAAe9vT,EAAI6oT,GAAQtjT,EAAOuE,GAAQ7J,EAAG6vT,EAAe7vT,IACpDD,EAAGC,EAAGkwT,EAAUlwT,EAAImuB,GAE9C,MAAO,CAAC+hS,UAAAA,EAAWC,QAAAA,EACrB,CArD+BE,CAAoB55R,EAAS44R,EAAiBQ,GAApEK,EAASD,EAATC,UAAWC,EAAOF,EAAPE,SACdjD,EAAQpwQ,OAAS,GAA6B,IAAxB5sC,EAAQ2+C,eAChCtyB,EAAI2kB,OAAO2uQ,EAAe9vT,EAAG8vT,EAAe7vT,GAC5Cu8B,EAAI4kB,OAAO2uQ,EAAa/vT,EAAG+vT,EAAa9vT,IAE1Cu8B,EAAI2kB,OAAOgvQ,EAAUnwT,EAAGmwT,EAAUlwT,GAClCu8B,EAAI4kB,OAAOgvQ,EAAQpwT,EAAGowT,EAAQnwT,GAC9B,IAAMwvT,EAAelC,GAAQ,CAACvtT,EAAGovT,EAAQnvT,EAAGovT,GAAS34R,EAAQ2sN,iBAAkBn3B,IAAWx1L,EAAQslE,WAClGx/D,EAAI4kB,OAAOquQ,EAAazvT,EAAGyvT,EAAaxvT,GACxCu8B,EAAI+nB,SACJ/nB,EAAI6hB,SACN,CA9IIkyQ,CAAY/zR,EAAK95B,MACjBunT,GAAQztR,EAAK95B,KAAMyN,GACnBg6S,GAAU3tR,EA2Nd,SAAqB01I,GAAiC,IAA/BlyK,EAACkyK,EAADlyK,EAAGC,EAACiyK,EAADjyK,EAAGsF,EAAK2sK,EAAL3sK,MAAOC,EAAM0sK,EAAN1sK,OAAQ2K,EAAO+hK,EAAP/hK,QACpCg4S,EAAeh4S,EAAQ2+C,YAAc,EACrC9R,EAAUk/K,GAAU/rN,EAAQ6sC,SAClC,MAAO,CACLh9C,EAAGA,EAAIg9C,EAAQ33C,KAAO8iT,EACtBloT,EAAGA,EAAI+8C,EAAQ13C,IAAM6iT,EACrB5iT,MAAOA,EAAQy3C,EAAQ33C,KAAO23C,EAAQ8O,MAAQ37C,EAAQ2+C,YACtDtpD,OAAQA,EAASw3C,EAAQ13C,IAAM03C,EAAQ+O,OAAS57C,EAAQ2+C,YAE5D,CApOmB0hQ,CAAa9tT,MAAOyN,GACnCqsB,EAAI6hB,UACN,GAAC,CAAA1/C,IAAA,2BAAA4E,MAED,SAAyB8vN,EAAOljN,GAC9B,IAAIioC,EACJ,GAAK4wQ,GAAe74S,GAIlBioC,EAAQmzQ,GAAcl4F,EAAOljN,OAJD,CAC5B,IAAAsgT,EAA2BjF,GAAqBn4F,EAAOljN,GACvDioC,EAAQ,CAACp4C,EADKywT,EAAPzmS,QACc/pB,EADEwwT,EAAPxmS,QAElB,CAGA,IAAM+yB,EAAUk/K,GAAU/rN,EAAQ6sC,SAE5B0zQ,EA6EV,SAAqBt4Q,EAAOxsB,EAAMzb,EAAS6sC,GACzC,IAAMz3C,EAAQqmB,EAAKrmB,MAAQy3C,EAAQz3C,MAAQ4K,EAAQ2+C,YAC7CtpD,EAASomB,EAAKpmB,OAASw3C,EAAQx3C,OAAS2K,EAAQ2+C,YAChDniC,EAAWo8R,GAAW54S,EAAQwc,SAAU,UACxC3sB,EAAI2wT,GAAkBv4Q,EAAMp4C,EAAGuF,EAAO4K,EAAQ27S,QAASn/R,EAAS3sB,GAChEC,EAAI0wT,GAAkBv4Q,EAAMn4C,EAAGuF,EAAQ2K,EAAQ67S,QAASr/R,EAAS1sB,GAEvE,MAAO,CACLD,EAAAA,EACAC,EAAAA,EACAs8D,GAAIv8D,EAAIuF,EACRi3D,GAAIv8D,EAAIuF,EACRD,MAAAA,EACAC,OAAAA,EACAwkB,QAAShqB,EAAIuF,EAAQ,EACrB0kB,QAAShqB,EAAIuF,EAAS,EAE1B,CA9FoBorT,CAAYx4Q,EADVyxQ,GAAiBx2F,EAAM72L,IAAKrsB,GACAA,EAAS6sC,GACvD,OAAAm6H,GAAAA,GAAA,CACEw1I,eAAgB1D,GAAwB51F,EAAOq9F,EAASvgT,GACxDi/S,OAAQh3Q,EAAMp4C,EACdqvT,OAAQj3Q,EAAMn4C,GACXywT,GAAO,IACV10N,SAAU7rF,EAAQ6rF,UAEtB,KAACizN,CAAA,CA3CkB,CAAStuT,IAmI9B,SAASgwT,GAAkB7mT,EAAO8hB,GAA4B,IAAtBshS,EAAMrwT,UAAAJ,OAAA,QAAAiU,IAAA7T,UAAA,GAAAA,UAAA,GAAG,EAC/C,OAAOiN,EAAQ05N,GAAoB53M,EADuB/uB,UAAAJ,OAAA,EAAAI,UAAA,QAAA6T,GACLw8S,CACvD,CAvFA+B,GAAgBlqQ,GAAK,kBAErBkqQ,GAAgBvlQ,SAAW,CACzB2kQ,kBAAkB,EAClBxlS,gBAAiB,cACjB+gS,sBAAuB,cACvB3hF,eAAgB,OAChBC,WAAY,GACZC,iBAAkB,EAClBC,gBAAiB,QACjBrrB,aAAc,EACdmtG,kBAAmB,cACnBp7P,YAAa,EACbq+P,QAAS,CACPllF,eAAgB,OAChBh5K,iBAAav+C,EACbw3N,WAAY,GACZC,iBAAkB,EAClBC,gBAAiB,QACjBt5K,YAAa,EACbp/B,SAAS,EACTqtB,OAAQ,EACRpwB,SAAU,OACVyB,KAAM,EACNtkB,MAAO,OAETqU,MAAO,QACPwV,QAAS,KACTjE,SAAS,EACT0vB,KAAM,CACJqgD,YAAQ/uF,EACRwf,gBAAYxf,EACZkb,UAAMlb,EACNqe,WAAOre,EACPgvF,YAAQhvF,GAEVlL,YAAQkL,EACRuwI,UAAMvwI,EACNqiB,aAASriB,EACTssC,QAAS,EACTrwB,SAAU,SACVqvE,SAAU,EACVt8C,WAAY,EACZF,cAAe,EACfC,cAAe,EACfruB,UAAW,SACXqmM,qBAAiB/mN,EACjB8mN,gBAAiB,EACjBjyN,WAAOmL,EACPo7S,QAAS,EACTtgM,UAAM96G,EACN46G,UAAM56G,EACNq6S,cAAUr6S,EACV2jR,YAAQ3jR,EACRs7S,QAAS,EACTvgM,UAAM/6G,EACN66G,UAAM76G,EACNw6S,cAAUx6S,EACV4jR,YAAQ5jR,EACRxQ,EAAG,GAGL+uT,GAAgB73D,cAAgB,CAC9BnoM,YAAa,SA+Jf,IAAM4hQ,GAAc,SAAClwR,EAAIC,EAAI/gC,GAAC,MAAM,CAACG,EAAG2gC,EAAG3gC,EAAIH,GAAK+gC,EAAG5gC,EAAI2gC,EAAG3gC,GAAIC,EAAG0gC,EAAG1gC,EAAIJ,GAAK+gC,EAAG3gC,EAAI0gC,EAAG1gC,GAAG,EACxF6wT,GAAe,SAAC7wT,EAAG0gC,EAAIC,GAAE,OAAKiwR,GAAYlwR,EAAIC,EAAIj6B,KAAK0jB,KAAKpqB,EAAI0gC,EAAG1gC,IAAM2gC,EAAG3gC,EAAI0gC,EAAG1gC,KAAKD,CAAC,EACzF+wT,GAAe,SAAC/wT,EAAG2gC,EAAIC,GAAE,OAAKiwR,GAAYlwR,EAAIC,EAAIj6B,KAAK0jB,KAAKrqB,EAAI2gC,EAAG3gC,IAAM4gC,EAAG5gC,EAAI2gC,EAAG3gC,KAAKC,CAAC,EACzF+wT,GAAM,SAAAlxT,GAAC,OAAIA,EAAIA,CAAC,EAGhBmxT,GAAe,SAACnnT,EAAOonT,EAAInnT,EAAKlK,GAAC,OAAM,EAAIA,IAAM,EAAIA,GAAKiK,EAAQ,GAAK,EAAIjK,GAAKA,EAAIqxT,EAAKrxT,EAAIA,EAAIkK,CAAG,EACpGonT,GAAe,SAACrnT,EAAOonT,EAAInnT,EAAKlK,GAAC,MAAM,CAACG,EAAGixT,GAAannT,EAAM9J,EAAGkxT,EAAGlxT,EAAG+J,EAAI/J,EAAGH,GAAII,EAAGgxT,GAAannT,EAAM7J,EAAGixT,EAAGjxT,EAAG8J,EAAI9J,EAAGJ,GAAG,EAC3HuxT,GAAoB,SAACtnT,EAAOonT,EAAInnT,EAAKlK,GAAC,OAAK,GAAK,EAAIA,IAAMqxT,EAAKpnT,GAAS,EAAIjK,GAAKkK,EAAMmnT,EAAG,EAC1FG,GAAe,SAACvnT,EAAOonT,EAAInnT,EAAKlK,GAAC,OAAM8G,KAAKujB,MAAMknS,GAAkBtnT,EAAM9J,EAAGkxT,EAAGlxT,EAAG+J,EAAI/J,EAAGH,GAAIuxT,GAAkBtnT,EAAM7J,EAAGixT,EAAGjxT,EAAG8J,EAAI9J,EAAGJ,IAAM,GAAMsd,EAAE,EAEpJm0S,GAAc,SAAAxlD,IAAAtuG,EAAAA,EAAAA,GAAA8zJ,EAAAxlD,GAAA,IAAA1wB,GAAAt+E,EAAAA,EAAAA,GAAAw0J,GAAA,SAAAA,IAAA,OAAAn1J,EAAAA,EAAAA,GAAA,KAAAm1J,GAAAl2E,EAAAp4O,MAAA,KAAAnG,UAAA,CAqFjB,OArFiBy/J,EAAAA,EAAAA,GAAAg1J,EAAA,EAAA3yT,IAAA,UAAA4E,MAElB,SAAQ4pQ,EAAQC,EAAQj+C,EAAMyzB,GAC5B,IAAMulE,EAAezlT,KAAKyN,QAAQ2+C,YAAc,EAChD,GAAa,MAATqgK,GAAyB,MAATA,EAAc,CAChC,IAAM/2K,EAAQ,CAAC+0N,OAAAA,EAAQC,OAAAA,GAChBr5N,EAAarxC,KAAbqxC,KAAMvX,EAAO95B,KAAP85B,IACb,GAAIuX,EAAM,CACR21Q,GAAeltR,EAAK95B,KAAKyN,SACzB,IAAOkjN,EAAS3wN,KAAKysO,SAAd9b,MACDk+F,EAAKpkD,EAAS95C,EAAMyF,wBACpBn2G,EAAKyqJ,EAAS/5C,EAAMyF,wBACpB/0N,EAASy4B,EAAIg1R,gBAAgBz9Q,EAAMw9Q,EAAI5uM,IAAO8uM,GAAU/uT,KAAM01C,EAAOwqM,GAE3E,OADApmN,EAAI6hB,UACGt6C,CACT,CAEA,OA4NN,SAAoB2yB,EAAOg7R,GAAyD,IAO9EC,EAAIC,EAPoBzkD,EAAMukD,EAANvkD,OAAQC,EAAMskD,EAANtkD,OAASvhD,EAAOhvN,UAAAJ,OAAA,QAAAiU,IAAA7T,UAAA,GAAAA,UAAA,GAAG0jO,GAASqiB,EAAgB/lP,UAAAJ,OAAA,EAAAI,UAAA,QAAA6T,EAEhFmhT,EAA+Bn7R,EAAQ8sN,SAAS,CAAC,IAAK,IAAK,KAAM,MAAOZ,GAA9D7gM,EAAE8vQ,EAAL7xT,EAAUiiD,EAAE4vQ,EAAL5xT,EAAOs8D,EAAEs1P,EAAFt1P,GAAIC,EAAEq1P,EAAFr1P,GACnBq1M,EAAKt1M,EAAKxa,EACV+vQ,EAAKt1P,EAAKva,EACV8vQ,EAAQf,GAAIn/C,GAAMm/C,GAAIc,GACtBjyT,EAAc,IAAVkyT,GAAe,IAAM5kD,EAASprN,GAAM8vN,GAAMzE,EAASnrN,GAAM6vQ,GAAMC,EAErElyT,EAAI,GACN8xT,EAAK5vQ,EACL6vQ,EAAK3vQ,GACIpiD,EAAI,GACb8xT,EAAKp1P,EACLq1P,EAAKp1P,IAELm1P,EAAK5vQ,EAAKliD,EAAIgyQ,EACd+/C,EAAK3vQ,EAAKpiD,EAAIiyT,GAEhB,OAAQd,GAAI7jD,EAASwkD,GAAMX,GAAI5jD,EAASwkD,IAAQ/lG,CAClD,CA/OammG,CAAWtvT,KAAM01C,EADR44Q,GAAI7I,GACoBvlE,IAAqB6uE,GAAU/uT,KAAM01C,EAAOwqM,EACtF,CACA,OAkLJ,SAAqBlsN,EAAOu7R,EAAoB9iG,EAAI+iG,GAAoC,IAAzD/kD,EAAM8kD,EAAN9kD,OAAQC,EAAM6kD,EAAN7kD,OAAgB+6C,EAAY+J,EAAZ/J,aAAcvlE,EAAgBsvE,EAAhBtvE,iBAC7D8R,EA7MW,SAACyY,EAAQC,EAAM+b,EAAkBh6D,GAAI,IAAnBnvN,EAACmpR,EAADnpR,EAAGC,EAACkpR,EAADlpR,EAAGs8D,EAAE4sN,EAAF5sN,GAAIC,EAAE2sN,EAAF3sN,GAAE,MAAqB,MAAT2yJ,EAAe,CAACrlN,MAAOnD,KAAKmT,IAAI7Z,EAAGu8D,GAAKzyD,IAAKpD,KAAKC,IAAI3G,EAAGu8D,GAAKj5D,MAAO6pQ,GAAU,CAACtjQ,MAAOnD,KAAKmT,IAAI9Z,EAAGu8D,GAAKxyD,IAAKpD,KAAKC,IAAI5G,EAAGu8D,GAAKh5D,MAAO4pQ,EAAO,CA6MzLglD,CAAWhlD,EAAQC,EAAQ12O,EAAQ8sN,SAAS,CAAC,IAAK,IAAK,KAAM,MAAOZ,GAAmBzzB,GACrG,OAAQulC,EAAMnxP,OAASmxP,EAAM5qP,MAAQq+S,GAAgBzzD,EAAMnxP,OAASmxP,EAAM3qP,IAAMo+S,GAAiBsJ,GAAU/6R,EAAS,CAACy2O,OAAAA,EAAQC,OAAAA,GAASxqB,EAAkBzzB,EAC1J,CArLWijG,CAAY1vT,KAAM,CAACyqQ,OAAAA,EAAQC,OAAAA,GAASj+C,EAAM,CAACg5F,aAAAA,EAAcvlE,iBAAAA,GAClE,GAAC,CAAAjkP,IAAA,iBAAA4E,MAED,SAAeq/O,GACb,OAAO0lE,GAAsB5lT,KAAMkgP,EACrC,GAAC,CAAAjkP,IAAA,OAAA4E,MAED,SAAKi5B,GACH,IAAOx8B,EAA6B0C,KAA7B1C,EAAGC,EAA0ByC,KAA1BzC,EAAGs8D,EAAuB75D,KAAvB65D,GAAIC,EAAmB95D,KAAnB85D,GAAI00P,EAAexuT,KAAfwuT,GAAI/gT,EAAWzN,KAAXyN,QAGzB,GADAqsB,EAAI0hB,QACCwrQ,GAAeltR,EAAKrsB,GAEvB,OAAOqsB,EAAI6hB,UAEbsrQ,GAAentR,EAAKrsB,GAEpB,IAAM1T,EAASkK,KAAKmkB,KAAKnkB,KAAKoP,IAAIwmD,EAAKv8D,EAAG,GAAK2G,KAAKoP,IAAIymD,EAAKv8D,EAAG,IAChE,GAAIkQ,EAAQkiT,OAASnB,EAEnB,OA6YN,SAAmB10R,EAAK9F,EAASw6R,EAAIz0T,GACnC,IAAOuD,EAAyB02B,EAAzB12B,EAAGC,EAAsBy2B,EAAtBz2B,EAAGs8D,EAAmB7lC,EAAnB6lC,GAAIC,EAAe9lC,EAAf8lC,GAAIrsD,EAAWumB,EAAXvmB,QACrBmiT,EAAqDC,GAAc77R,GAA5D87R,EAASF,EAATE,UAAWC,EAAOH,EAAPG,QAASC,EAAWJ,EAAXI,YAAaC,EAASL,EAATK,UAClChyR,EAAK,CAAC3gC,EAAAA,EAAGC,EAAAA,GACT2gC,EAAK,CAAC5gC,EAAGu8D,EAAIt8D,EAAGu8D,GAChBwlC,EAAaqvN,GAAa1wR,EAAIuwR,EAAItwR,EAAI,GACtCqhE,EAAWovN,GAAa1wR,EAAIuwR,EAAItwR,EAAI,GAAKzjB,GACzCy1S,EAAKzB,GAAaxwR,EAAIuwR,EAAItwR,EAAI8xR,EAAcj2T,GAC5C2pF,EAAK+qO,GAAaxwR,EAAIuwR,EAAItwR,EAAI,EAAI+xR,EAAYl2T,GAE9Cs3C,EAAO,IAAIu3N,OACjB9uO,EAAI2jB,YACJpM,EAAKoN,OAAOyxQ,EAAG5yT,EAAG4yT,EAAG3yT,GACrB8zC,EAAK8tD,iBAAiBqvN,EAAGlxT,EAAGkxT,EAAGjxT,EAAGmmF,EAAGpmF,EAAGomF,EAAGnmF,GAC3Cu8B,EAAI+iB,YAAcpvC,EAAQ+5S,kBAC1B1tR,EAAI+nB,OAAOxQ,GACXrd,EAAQqd,KAAOA,EACfrd,EAAQ8F,IAAMA,EACdq2R,GAAqBr2R,EAAKo2R,EAAI,CAAC51S,MAAOglF,EAAYkrN,OAAQwF,GAAcF,GACxEK,GAAqBr2R,EAAK4pD,EAAI,CAACppE,MAAOilF,EAAUirN,OAAQyF,GAAYF,EACtE,CAlaMK,CAAUt2R,EAAK95B,KAAMwuT,EAAIz0T,GAClB+/B,EAAI6hB,UAEb,IAAA00Q,EAAqDR,GAAc7vT,MAA5D8vT,EAASO,EAATP,UAAWC,EAAOM,EAAPN,QAASC,EAAWK,EAAXL,YAAaC,EAASI,EAATJ,UAClC31S,EAAQrW,KAAKujB,MAAMsyC,EAAKv8D,EAAGs8D,EAAKv8D,GACtCw8B,EAAIqhB,UAAU79C,EAAGC,GACjBu8B,EAAIqkD,OAAO7jE,GACXwf,EAAI2jB,YACJ3jB,EAAI2kB,OAAO,EAAIuxQ,EAAa,GAC5Bl2R,EAAI4kB,OAAO3kD,EAASk2T,EAAW,GAC/Bn2R,EAAI+iB,YAAcpvC,EAAQ+5S,kBAC1B1tR,EAAI+nB,SACJyuQ,GAAcx2R,EAAK,EAAGk2R,EAAaF,GACnCQ,GAAcx2R,EAAK//B,GAASk2T,EAAWF,GACvCj2R,EAAI6hB,SACN,GAAC,CAAA1/C,IAAA,QAAAqM,IAED,WACE,OAAOtI,KAAKs0B,UAAYt0B,KAAKs0B,SAAS,EACxC,GAAC,CAAAr4B,IAAA,2BAAA4E,MAED,SAAyB8vN,EAAOljN,GAC9B,IAAMgrH,EAAO+wL,GAAsB74F,EAAOljN,GACnCnQ,EAAgBm7H,EAAhBn7H,EAAGC,EAAak7H,EAAbl7H,EAAGs8D,EAAU4+D,EAAV5+D,GAAIC,EAAM2+D,EAAN3+D,GACXkqK,EA4IV,SAAqBusF,EAAAC,GAA6C,IAA3ClzT,EAACizT,EAADjzT,EAAGC,EAACgzT,EAADhzT,EAAGs8D,EAAE02P,EAAF12P,GAAIC,EAAEy2P,EAAFz2P,GAAMl3D,EAAG4tT,EAAH5tT,IAAKwmD,EAAKonQ,EAALpnQ,MAAOC,EAAMmnQ,EAANnnQ,OAAQ1mD,EAAI6tT,EAAJ7tT,KACzD,QACGrF,EAAIqF,GAAQk3D,EAAKl3D,GACjBrF,EAAI8rD,GAASyQ,EAAKzQ,GAClB7rD,EAAIqF,GAAOk3D,EAAKl3D,GAChBrF,EAAI8rD,GAAUyQ,EAAKzQ,EAExB,CAnJmBonQ,CAAah4L,EAAMk4F,EAAMqgB,WAClCvd,EAAauQ,EAwKvB,SAAyB/lM,EAAIC,EAAIu6F,GAC/B,IAAAi4L,EAAeC,GAAiB1yR,EAAIC,EAAIu6F,GAAjCn7H,EAACozT,EAADpzT,EAAGC,EAACmzT,EAADnzT,EACVqzT,EAAuBD,GAAiBzyR,EAAID,EAAIw6F,GAAtC5+D,EAAE+2P,EAALtzT,EAAUw8D,EAAE82P,EAALrzT,EACd,MAAO,CAACD,EAAAA,EAAGC,EAAAA,EAAGs8D,GAAAA,EAAIC,GAAAA,EAAIj3D,MAAOoB,KAAK0jB,IAAIkyC,EAAKv8D,GAAIwF,OAAQmB,KAAK0jB,IAAImyC,EAAKv8D,GACvE,CA3KQszT,CAAgB,CAACvzT,EAAAA,EAAGC,EAAAA,GAAI,CAACD,EAAGu8D,EAAIt8D,EAAGu8D,GAAK62J,EAAMqgB,WAC9C,CAAC1zO,EAAAA,EAAGC,EAAAA,EAAGs8D,GAAAA,EAAIC,GAAAA,EAAIj3D,MAAOoB,KAAK0jB,IAAIkyC,EAAKv8D,GAAIwF,OAAQmB,KAAK0jB,IAAImyC,EAAKv8D,IAIlE,GAHAk2N,EAAWnsM,SAAWuyC,EAAKv8D,GAAK,EAChCm2N,EAAWlsM,SAAWuyC,EAAKv8D,GAAK,EAChCk2N,EAAWw2F,eAAiB1D,GAAwB51F,EAAO8C,EAAYhmN,GACnEA,EAAQkiT,MAAO,CACjB,IAAM1xR,EAAK,CAAC3gC,EAAGm2N,EAAWn2N,EAAGC,EAAGk2N,EAAWl2N,GACrC2gC,EAAK,CAAC5gC,EAAGm2N,EAAW55J,GAAIt8D,EAAGk2N,EAAW35J,IAC5C25J,EAAW+6F,GAsVjB,SAAyB/6F,EAAYhmN,EAAS0a,GAC5C,IAAO7qB,EAAkCm2N,EAAlCn2N,EAAGC,EAA+Bk2N,EAA/Bl2N,EAAGs8D,EAA4B45J,EAA5B55J,GAAIC,EAAwB25J,EAAxB35J,GAAIxyC,EAAoBmsM,EAApBnsM,QAASC,EAAWksM,EAAXlsM,QACxBjN,EAAQrW,KAAKujB,MAAMsyC,EAAKv8D,EAAGs8D,EAAKv8D,GAChCkxT,EAAKnI,GAAW54S,EAAQqjT,aAAc,GAK5C,OAAOjG,GAJO,CACZvtT,EAAGgqB,EAAU6+R,GAAQh+R,EAAUqmS,EAAGlxT,GAAG,GACrCC,EAAGgqB,EAAU4+R,GAAQh+R,EAAUqmS,EAAGjxT,GAAG,IAEjB,CAACD,EAAGgqB,EAAS/pB,EAAGgqB,GAAUjN,EAClD,CA/VsBy2S,CAAgBt9F,EAAYhmN,EAAS08M,GAAsBlsL,EAAIC,GACjF,CACA,IAAM8yR,EA6LV,SAAuCrgG,EAAO8C,EAAYhmN,GACxD,IAAM2+C,EAAc3+C,EAAQ2+C,YACtB9R,EAAUk/K,GAAU/rN,EAAQ6sC,SAC5Bm/N,EAAW0tC,GAAiBx2F,EAAM72L,IAAKrsB,GACvC5K,EAAQ42Q,EAAS52Q,MAAQy3C,EAAQz3C,MAAQupD,EACzCtpD,EAAS22Q,EAAS32Q,OAASw3C,EAAQx3C,OAASspD,EAClD,OAUF,SAAgCqnK,EAAY9xN,EAAOsvT,EAAOjgF,GACxD,IAAOnuO,EAA0BouT,EAA1BpuT,MAAOC,EAAmBmuT,EAAnBnuT,OAAQw3C,EAAW22Q,EAAX32Q,QACf8uQ,EAAoBznT,EAApBynT,QAASE,EAAW3nT,EAAX2nT,QACVrrR,EAAK,CAAC3gC,EAAGm2N,EAAWn2N,EAAGC,EAAGk2N,EAAWl2N,GACrC2gC,EAAK,CAAC5gC,EAAGm2N,EAAW55J,GAAIt8D,EAAGk2N,EAAW35J,IACtCw/B,EAA8B,SAAnB33F,EAAM23F,SAZzB,SAA+Bm6H,GAC7B,IAAOn2N,EAAgBm2N,EAAhBn2N,EAAGC,EAAak2N,EAAbl2N,EAAGs8D,EAAU45J,EAAV55J,GAAIC,EAAM25J,EAAN35J,GACXw/B,EAAWr1F,KAAKujB,MAAMsyC,EAAKv8D,EAAGs8D,EAAKv8D,GAEzC,OAAOg8F,EAAW7+E,GAAK,EAAI6+E,EAAW7+E,GAAK6+E,EAAW7+E,IAAM,EAAI6+E,EAAW7+E,GAAK6+E,CAClF,CAO+C43N,CAAsBz9F,GAAcjK,GAAU7nN,EAAM23F,UAC3FpwE,EAsBR,SAAqBrmB,EAAOC,EAAQw2F,GAClC,IAAMzxE,EAAM5jB,KAAK4jB,IAAIyxE,GACf1xE,EAAM3jB,KAAK2jB,IAAI0xE,GACrB,MAAO,CACLj8F,EAAG4G,KAAK0jB,IAAI9kB,EAAQglB,GAAO5jB,KAAK0jB,IAAI7kB,EAAS8kB,GAC7CjrB,EAAGsH,KAAK0jB,IAAI9kB,EAAQ+kB,GAAO3jB,KAAK0jB,IAAI7kB,EAAS+kB,GAEjD,CA7BespS,CAAYtuT,EAAOC,EAAQw2F,GAClCn8F,EA8BR,SAAoBs2N,EAAY9xN,EAAOsvT,EAAOjgF,GAC5C,IAAI7zO,EACEi0T,EAoBR,SAAqB39F,EAAYud,GAC/B,IAAO1zO,EAAgBm2N,EAAhBn2N,EAAGu8D,EAAa45J,EAAb55J,GAAIt8D,EAASk2N,EAATl2N,EAAGu8D,EAAM25J,EAAN35J,GACX38D,EAAI8G,KAAKmT,IAAI7Z,EAAGu8D,GAAMk3K,EAAUpuO,IAChC/F,EAAIoH,KAAKmT,IAAI9Z,EAAGu8D,GAAMm3K,EAAUruO,KAChCvG,EAAI40O,EAAU3nL,OAASplD,KAAKC,IAAI3G,EAAGu8D,GACnC58D,EAAI8zO,EAAU5nL,MAAQnlD,KAAKC,IAAI5G,EAAGu8D,GACxC,MAAO,CACLv8D,EAAG2G,KAAKmT,IAAIva,EAAGK,GACfK,EAAG0G,KAAKmT,IAAIja,EAAGf,GACf+yQ,GAAItyQ,GAAKK,EAAI,GAAK,EAClBkyT,GAAIjyT,GAAKf,EAAI,GAAK,EAEtB,CAhCgBi1T,CAAY59F,EAAYud,GAEpC7zO,EADqB,UAAnBwE,EAAMsoB,SACJqnS,GAAiB,CAACj0T,EAAGo2N,EAAW55J,GAAK45J,EAAWn2N,EAAGX,EAAG82N,EAAW35J,GAAK25J,EAAWl2N,GAAI0zT,EAAOtvT,EAAOyvT,GAC3E,QAAnBzvT,EAAMsoB,SACX,EAAIqnS,GAAiB,CAACj0T,EAAGo2N,EAAWn2N,EAAIm2N,EAAW55J,GAAIl9D,EAAG82N,EAAWl2N,EAAIk2N,EAAW35J,IAAKm3P,EAAOtvT,EAAOyvT,GAEvGtwF,GAAoB,EAAGn/N,EAAMsoB,UAEnC,OAAO9sB,CACT,CAzCYo0T,CAAW99F,EAAY9xN,EAAO,CAAC+oT,UAAWxhS,EAAMoxB,QAAAA,GAAU02L,GAC9Dx2J,EAAKi5I,EAAW+6F,GAAKC,GAAaxwR,EAAIw1L,EAAW+6F,GAAItwR,EAAI/gC,GAAKgxT,GAAYlwR,EAAIC,EAAI/gC,GAClFq0T,EAAmB,CAACtoS,KAAMA,EAAK7rB,EAAG+Z,IAAK45N,EAAUruO,KAAMuB,IAAK8sO,EAAU5nL,MAAO9O,QAASA,EAAQ33C,MAC9F8uT,EAAmB,CAACvoS,KAAMA,EAAKvsB,EAAGya,IAAK45N,EAAUpuO,IAAKsB,IAAK8sO,EAAU3nL,OAAQ/O,QAASA,EAAQ13C,KAC9F0kB,EAAUoqS,GAAsBl3O,EAAGl9E,EAAGk0T,GAAoBpI,EAC1D7hS,EAAUmqS,GAAsBl3O,EAAGj9E,EAAGk0T,GAAoBnI,EAChE,MAAO,CACLhsT,EAAGgqB,EAAWzkB,EAAQ,EACtBtF,EAAGgqB,EAAWzkB,EAAS,EACvB+2D,GAAIvyC,EAAWzkB,EAAQ,EACvBi3D,GAAIvyC,EAAWzkB,EAAS,EACxBwkB,QAAAA,EACAC,QAAAA,EACAmlS,OAAQlyO,EAAGl9E,EACXqvT,OAAQnyO,EAAGj9E,EACXsF,MAAAA,EACAC,OAAAA,EACAw2F,SAAUowH,GAAUpwH,GAExB,CApCSq4N,CAAuBl+F,EAAYhmN,EAAS,CAAC5K,MAAAA,EAAOC,OAAAA,EAAQw3C,QAAAA,GAAUq2K,EAAMqgB,UACrF,CApM4B4gF,CAA8BjhG,EAAO8C,EAAYhmN,EAAQ9L,OAUjF,OARAqvT,EAAgBvE,SAAWzoF,EAE3BvQ,EAAWn/L,SAAW,CAAC,CACrB16B,KAAM,QACNswT,YAAa,QACbz2F,WAAYu9F,EACZ/G,eAAgBx2F,EAAWw2F,iBAEtBx2F,CACT,KAACm7F,CAAA,CArFiB,CAAS3wT,IAwF7B2wT,GAAevsQ,GAAK,iBAEpB,IAAMwvQ,GAAqB,CACzB1rS,qBAAiBnY,EACjBk5S,2BAAuBl5S,EACvBu+C,iBAAav+C,EACbw3N,gBAAYx3N,EACZy3N,sBAAkBz3N,EAClBw5S,uBAAmBx5S,EACnBo+C,iBAAap+C,EACbgf,aAAShf,EACTwvC,UAAMxvC,EACNjU,YAAQiU,EACRgvC,gBAAYhvC,EACZ8uC,mBAAe9uC,EACf+uC,mBAAe/uC,EACfnL,WAAOmL,GA2GT,SAAS2iT,GAAgBmB,EAAS5zR,EAAE6zR,GAA8B,IAAvCz0T,EAACw0T,EAADx0T,EAAGC,EAACu0T,EAADv0T,EAASqF,EAAGmvT,EAAHnvT,IAAKwmD,EAAK2oQ,EAAL3oQ,MAAOC,EAAM0oQ,EAAN1oQ,OAAQ1mD,EAAIovT,EAAJpvT,KAiBzD,OAhBIrF,EAAIqF,IACNpF,EAAI8wT,GAAa1rT,EAAM,CAACrF,EAAAA,EAAGC,EAAAA,GAAI2gC,GAC/B5gC,EAAIqF,GAEFrF,EAAI8rD,IACN7rD,EAAI8wT,GAAajlQ,EAAO,CAAC9rD,EAAAA,EAAGC,EAAAA,GAAI2gC,GAChC5gC,EAAI8rD,GAEF7rD,EAAIqF,IACNtF,EAAI8wT,GAAaxrT,EAAK,CAACtF,EAAAA,EAAGC,EAAAA,GAAI2gC,GAC9B3gC,EAAIqF,GAEFrF,EAAI8rD,IACN/rD,EAAI8wT,GAAa/kQ,EAAQ,CAAC/rD,EAAAA,EAAGC,EAAAA,GAAI2gC,GACjC3gC,EAAI8rD,GAEC,CAAC/rD,EAAAA,EAAGC,EAAAA,EACb,CA6BA,SAASwxT,GAAU/6R,EAAOg+R,EAAoB9xE,EAAkBzzB,GAAM,IAAzCg+C,EAAMunD,EAANvnD,OAAQC,EAAMsnD,EAANtnD,OAC7B/oQ,EAAQqyB,EAAQryB,MACtB,OAAOA,EAAM8L,QAAQuf,SAAWrrB,EAAMy+O,QAAQqqB,EAAQC,EAAQj+C,EAAMyzB,EACtE,CAoEA,SAASoxE,GAAiBW,EAAUhB,EAAOtvT,EAAOyvT,GAChD,IAAO1G,EAAsBuG,EAAtBvG,UAAWpwQ,EAAW22Q,EAAX32Q,QACZ43Q,EAAQD,EAAS50T,EAAI+zT,EAAMjiD,GAC3BgjD,EAAQF,EAASt1T,EAAIy0T,EAAMhC,GAC3B9xT,EAAK40T,EAAQ,IAAQxH,EAAUrtT,EAAI,EAAIi9C,EAAQ33C,KAAOyuT,EAAM9zT,GAAK40T,EACjE30T,EAAK40T,EAAQ,IAAQzH,EAAU/tT,EAAI,EAAI29C,EAAQ13C,IAAMwuT,EAAM7zT,GAAK40T,EACtE,OAAO7M,GAAMrhT,KAAKC,IAAI5G,EAAGC,GAAI,EAAG,IAClC,CAgBA,SAASm0T,GAAsBU,EAAYxjE,GACzC,IAAO1lO,EAA2B0lO,EAA3B1lO,KAAM9R,EAAqBw3O,EAArBx3O,IAAKlT,EAAgB0qP,EAAhB1qP,IAAKo2C,EAAWs0M,EAAXt0M,QACjB+3Q,EAAWnpS,EAAO,EACxB,OAAIA,EAAOhlB,EAAMkT,GAEPlT,EAAMkT,GAAO,GAEnBA,GAAQg7S,EAAa93Q,EAAU+3Q,IACjCD,EAAah7S,EAAMkjC,EAAU+3Q,GAE3BnuT,GAAQkuT,EAAa93Q,EAAU+3Q,IACjCD,EAAaluT,EAAMo2C,EAAU+3Q,GAExBD,EACT,CAEA,SAASvC,GAAcr/R,GACrB,IAAM/iB,EAAU+iB,EAAK/iB,QACf6kT,EAAiB7kT,EAAQ8kT,YAAc9kT,EAAQ8kT,WAAWnrT,MAC1DorT,EAAe/kT,EAAQ8kT,YAAc9kT,EAAQ8kT,WAAWlrT,IAC9D,MAAO,CACLyoT,UAAWwC,EACXvC,QAASyC,EACTxC,YAAayC,GAAcjiS,EAAM8hS,GACjCrC,UAAWwC,GAAcjiS,EAAMgiS,GAEnC,CAEA,SAASC,GAAcjiS,EAAMkiS,GAC3B,IAAKA,IAAcA,EAAU1lS,QAC3B,OAAO,EAET,IAAOjzB,EAAiB24T,EAAjB34T,OAAQ8I,EAAS6vT,EAAT7vT,MACT2nT,EAASh6R,EAAK/iB,QAAQ2+C,YAAc,EACpCnuB,EAAK,CAAC3gC,EAAGvD,EAAQwD,EAAGsF,EAAQ2nT,GAC5BtsR,EAAK,CAAC5gC,EAAG,EAAGC,EAAGitT,GACrB,OAAOvmT,KAAK0jB,IAAIymS,GAAa,EAAGnwR,EAAIC,GACtC,CAEA,SAASoyR,GAAcx2R,EAAKhB,EAAQ0xR,EAAQkI,GAC1C,GAAKA,GAAcA,EAAU1lS,QAA7B,CAGA,IAAOjzB,EAAqD24T,EAArD34T,OAAQ8I,EAA6C6vT,EAA7C7vT,MAAO26C,EAAsCk1Q,EAAtCl1Q,KAAMr3B,EAAgCusS,EAAhCvsS,gBAAiBomC,EAAemmQ,EAAfnmQ,YACvComQ,EAAe1uT,KAAK0jB,IAAImR,EAAS/+B,GAAUywT,EACjD1wR,EAAI2jB,YACJwpQ,GAAentR,EAAK44R,GACpB1L,GAAeltR,EAAK44R,GACpB54R,EAAI2kB,OAAOk0Q,GAAe9vT,GAC1Bi3B,EAAI4kB,OAAO5lB,EAAS0xR,EAAQ,GAC5B1wR,EAAI4kB,OAAOi0Q,EAAc9vT,IACZ,IAAT26C,GACF1jB,EAAIO,UAAYlU,GAAmBomC,EACnCzyB,EAAI8kB,YACJ9kB,EAAI0jB,OACJ1jB,EAAI+iB,YAAc,eAElB/iB,EAAI+iB,YAAc61Q,EAAUlL,kBAE9B1tR,EAAI+nB,QAjBJ,CAkBF,CAaA,SAASsuQ,GAAqBr2R,EAAG84R,EAAAC,EAA2BH,GAAW,IAAnCp1T,EAACs1T,EAADt1T,EAAGC,EAACq1T,EAADr1T,EAAK+c,EAAKu4S,EAALv4S,MAAOkwS,EAAMqI,EAANrI,OAC5CkI,GAAcA,EAAU1lS,UAG7B8M,EAAI0hB,OACJ1hB,EAAIqhB,UAAU79C,EAAGC,GACjBu8B,EAAIqkD,OAAO7jE,GACXg2S,GAAcx2R,EAAK,GAAI0wR,EAAQkI,GAC/B54R,EAAI6hB,UACN,CAvUAizQ,GAAe5nQ,SAAW,CACxB2kQ,kBAAkB,EAClB4G,WAAY,CACVvlS,SAAS,EACT3lB,IAAKtM,OAAOqF,OAAO,CAAC,EAAGyxT,IACvBr0Q,MAAM,EACNzjD,OAAQ,GACRqN,MAAOrM,OAAOqF,OAAO,CAAC,EAAGyxT,IACzBhvT,MAAO,GAET2iO,WAAY,GACZC,iBAAkB,EAClB+hF,kBAAmB,cACnBp7P,YAAa,EACbujQ,OAAO,EACPmB,aAAc,CACZvzT,EAAG,QAELyvB,SAAS,EACT0mN,cAAU1lO,EACVuwI,UAAMvwI,EACNrM,MAAO,CACLwkB,gBAAiB,kBACjB+gS,sBAAuB,cACvB3hF,eAAgB,OAChBh5K,YAAa,QACbi5K,WAAY,GACZC,iBAAkB,EAClBC,gBAAiB,QACjBrrB,aAAc,EACdmtG,kBAAmB,cACnBp7P,YAAa,EACbq+P,QAAS1vT,OAAOqF,OAAO,CAAC,EAAGmsT,GAAgBvlQ,SAASyjQ,SACpDhvS,MAAO,OACPwV,QAAS,KACTjE,SAAS,EACTunP,cAAUvmQ,EACV0uC,KAAM,CACJqgD,YAAQ/uF,EACRwf,gBAAYxf,EACZkb,UAAMlb,EACNqe,WAAOre,EACPgvF,OAAQ,QAEVl6F,YAAQkL,EACRqiB,aAASriB,EACTssC,QAAS,EACTrwB,SAAU,SACVqvE,SAAU,EACVt8C,WAAY,EACZF,cAAe,EACfC,cAAe,EACfruB,UAAW,SACXqmM,qBAAiB/mN,EACjB8mN,gBAAiB,EACjBjyN,WAAOmL,EACPo7S,QAAS,EACTE,QAAS,EACT9rT,OAAGwQ,GAELigO,aAASjgO,EACTgvC,WAAY,EACZF,cAAe,EACfC,cAAe,EACfl8C,WAAOmN,EACP86G,UAAM96G,EACN46G,UAAM56G,EACNq6S,cAAUr6S,EACV+6G,UAAM/6G,EACN66G,UAAM76G,EACNw6S,cAAUx6S,EACVxQ,EAAG,GAGLoxT,GAAehwI,YAAc,CAC3B2zI,WAAY,CACVnrT,MAAO,CACLksN,WAAW,GAEbjsN,IAAK,CACHisN,WAAW,GAEbA,WAAW,IAIfs7F,GAAel6D,cAAgB,CAC7BnoM,YAAa,SAsQd,IAEKumQ,GAAiB,SAAAxoD,IAAAxvG,EAAAA,EAAAA,GAAAg4J,EAAAxoD,GAAA,IAAAzuB,GAAAzhF,EAAAA,EAAAA,GAAA04J,GAAA,SAAAA,IAAA,OAAAr5J,EAAAA,EAAAA,GAAA,KAAAq5J,GAAAj3E,EAAAv7O,MAAA,KAAAnG,UAAA,CA0CpB,OA1CoBy/J,EAAAA,EAAAA,GAAAk5J,EAAA,EAAA72T,IAAA,UAAA4E,MAErB,SAAQ4pQ,EAAQC,EAAQj+C,EAAMyzB,GAC5B,IAAM5mJ,EAAWt5F,KAAKyN,QAAQ6rF,SACxBltC,EAAcpsD,KAAKyN,QAAQ2+C,YACjC,GAAa,MAATqgK,GAAyB,MAATA,EAClB,OA4EN,SAAwBzvN,EAAG0tF,EAAS4O,EAAUltC,GAC5C,IAAOvpD,EAAmC6nF,EAAnC7nF,MAAOC,EAA4B4nF,EAA5B5nF,OAAQwkB,EAAoBojE,EAApBpjE,QAASC,EAAWmjE,EAAXnjE,QACzBwrS,EAAUlwT,EAAQ,EAClBmwT,EAAUlwT,EAAS,EAEzB,GAAIiwT,GAAW,GAAKC,GAAW,EAC7B,OAAO,EAGT,IAAM14S,EAAQkvM,GAAUlwH,GAAY,GAC9BmsN,EAAer5P,EAAc,GAAK,EAClC6mQ,EAAWhvT,KAAK4jB,IAAIvN,GACpB44S,EAAWjvT,KAAK2jB,IAAItN,GACpB7c,EAAIwG,KAAKoP,IAAI4/S,GAAYj2T,EAAEM,EAAIgqB,GAAW4rS,GAAYl2T,EAAEO,EAAIgqB,GAAU,GACtEnrB,EAAI6H,KAAKoP,IAAI6/S,GAAYl2T,EAAEM,EAAIgqB,GAAW2rS,GAAYj2T,EAAEO,EAAIgqB,GAAU,GAC5E,OAAQ9pB,EAAIwG,KAAKoP,IAAI0/S,EAAUtN,EAAc,GAAOrpT,EAAI6H,KAAKoP,IAAI2/S,EAAUvN,EAAc,IAAO,MAClG,CA5Fa0N,CAAe,CAAC71T,EAAGmtQ,EAAQltQ,EAAGmtQ,GAAS1qQ,KAAK8gP,SAAS,CAAC,QAAS,SAAU,UAAW,WAAYZ,GAAmB5mJ,EAAUltC,GAEtI,IAAAs8L,EAAuB1oP,KAAK8gP,SAAS,CAAC,IAAK,IAAK,KAAM,MAAOZ,GAAtD5iP,EAACorP,EAADprP,EAAGC,EAACmrP,EAADnrP,EAAGs8D,EAAE6uL,EAAF7uL,GAAIC,EAAE4uL,EAAF5uL,GACX2rP,EAAer5P,EAAc,EAC7B4lM,EAAiB,MAATvlC,EAAe,CAACrlN,MAAO7J,EAAG8J,IAAKyyD,GAAM,CAAC1yD,MAAO9J,EAAG+J,IAAKwyD,GAC7DkzP,EAAelC,GAAQ,CAACvtT,EAAGmtQ,EAAQltQ,EAAGmtQ,GAAS1qQ,KAAK2gP,eAAeT,GAAmB12B,IAAWlwH,IACvG,OAAOyzN,EAAatgG,IAASulC,EAAM5qP,MAAQq+S,EAAe5nF,IAAWkvF,EAAatgG,IAASulC,EAAM3qP,IAAMo+S,EAAe5nF,EACxH,GAAC,CAAA5hO,IAAA,iBAAA4E,MAED,SAAeq/O,GACb,OAAO0lE,GAAsB5lT,KAAMkgP,EACrC,GAAC,CAAAjkP,IAAA,OAAA4E,MAED,SAAKi5B,GACH,IAAOj3B,EAA4C7C,KAA5C6C,MAAOC,EAAqC9C,KAArC8C,OAAQwkB,EAA6BtnB,KAA7BsnB,QAASC,EAAoBvnB,KAApBunB,QAAS9Z,EAAWzN,KAAXyN,QACxCqsB,EAAI0hB,OACJL,GAAUrhB,EAAK95B,KAAK2gP,iBAAkBlzO,EAAQ6rF,UAC9C2tN,GAAentR,EAAK95B,KAAKyN,SACzBqsB,EAAI2jB,YACJ3jB,EAAIO,UAAY5sB,EAAQ0Y,gBACxB,IAAM07B,EAASmlQ,GAAeltR,EAAKrsB,GACnCqsB,EAAI4wD,QAAQpjE,EAASC,EAASzkB,EAAS,EAAGD,EAAQ,EAAG4X,GAAK,EAAG,EAAG,EAAIA,IACpEqf,EAAI0jB,OACAqE,IACF/nB,EAAI+iB,YAAcpvC,EAAQ+5S,kBAC1B1tR,EAAI+nB,UAEN/nB,EAAI6hB,SACN,GAAC,CAAA1/C,IAAA,QAAAqM,IAED,WACE,OAAOtI,KAAKs0B,UAAYt0B,KAAKs0B,SAAS,EACxC,GAAC,CAAAr4B,IAAA,2BAAA4E,MAED,SAAyB8vN,EAAOljN,GAC9B,OAAOu8S,GAA6Br5F,EAAOljN,EAC7C,KAACqlT,CAAA,CA1CoB,CAAS70T,IA8ChC60T,GAAkBzwQ,GAAK,oBAEvBywQ,GAAkB9rQ,SAAW,CAC3B2kQ,kBAAkB,EAClBzE,sBAAuB,cACvB1hF,WAAY,GACZC,iBAAkB,EAClB+hF,kBAAmB,cACnBp7P,YAAa,EACbp/B,SAAS,EACTuxH,UAAMvwI,EACNrM,MAAO5G,OAAOqF,OAAO,CAAC,EAAGisT,GAAcrlQ,SAASrlD,OAChD23F,SAAU,EACVt8C,WAAY,EACZF,cAAe,EACfC,cAAe,EACf+rE,UAAM96G,EACN46G,UAAM56G,EACNq6S,cAAUr6S,EACV+6G,UAAM/6G,EACN66G,UAAM76G,EACNw6S,cAAUx6S,EACVxQ,EAAG,GAGLs1T,GAAkBp+D,cAAgB,CAChCnoM,YAAa,QACbpmC,gBAAiB,SAGnB2sS,GAAkBl0I,YAAc,CAC9Bj9K,MAAO,CACL2xN,WAAW,IAoBd,IAEK8/F,GAAe,SAAApnD,IAAAlxG,EAAAA,EAAAA,GAAAs4J,EAAApnD,GAAA,IAAAlvB,GAAA1iF,EAAAA,EAAAA,GAAAg5J,GAAA,SAAAA,IAAA,OAAA35J,EAAAA,EAAAA,GAAA,KAAA25J,GAAAt2E,EAAAx8O,MAAA,KAAAnG,UAAA,CAwClB,OAxCkBy/J,EAAAA,EAAAA,GAAAw5J,EAAA,EAAAn3T,IAAA,UAAA4E,MAEnB,SAAQ4pQ,EAAQC,EAAQj+C,EAAMyzB,GAC5B,IAAAomB,EAA8BtmQ,KAAK8gP,SAAS,CAAC,IAAK,IAAK,KAAM,KAAM,SAAUZ,GAAtE5iP,EAACgpQ,EAADhpQ,EAAGC,EAAC+oQ,EAAD/oQ,EAAGs8D,EAAEysM,EAAFzsM,GAAIC,EAAEwsM,EAAFxsM,GAAIj3D,EAAKyjQ,EAALzjQ,MACfupD,EAAcpsD,KAAKyN,QAAQ2+C,YACjC,GAAa,MAATqgK,GAAyB,MAATA,EAClB,OA7+DN,SAAsB/2K,EAAOmgM,EAAQx2I,EAAQjzC,GAC3C,IAAK1W,IAAUmgM,GAAUx2I,GAAU,EACjC,OAAO,EAET,IAAMomN,EAAer5P,EAAc,EACnC,OAAQnoD,KAAKoP,IAAIqiC,EAAMp4C,EAAIu4O,EAAOv4O,EAAG,GAAK2G,KAAKoP,IAAIqiC,EAAMn4C,EAAIs4O,EAAOt4O,EAAG,IAAO0G,KAAKoP,IAAIgsF,EAASomN,EAAc,EAChH,CAu+Da4N,CAAa,CAAC/1T,EAAGmtQ,EAAQltQ,EAAGmtQ,GAAS1qQ,KAAK2gP,eAAeT,GAAmBr9O,EAAQ,EAAGupD,GAEhG,IAAMq5P,EAAer5P,EAAc,EAC7B4lM,EAAiB,MAATvlC,EAAe,CAACrlN,MAAO7J,EAAG8J,IAAKyyD,EAAIj5D,MAAO6pQ,GAAU,CAACtjQ,MAAO9J,EAAG+J,IAAKwyD,EAAIh5D,MAAO4pQ,GAC7F,OAAOzY,EAAMnxP,OAASmxP,EAAM5qP,MAAQq+S,GAAgBzzD,EAAMnxP,OAASmxP,EAAM3qP,IAAMo+S,CACjF,GAAC,CAAAxpT,IAAA,iBAAA4E,MAED,SAAeq/O,GACb,OAAO0lE,GAAsB5lT,KAAMkgP,EACrC,GAAC,CAAAjkP,IAAA,OAAA4E,MAED,SAAKi5B,GACH,IAAMrsB,EAAUzN,KAAKyN,QACf2+C,EAAc3+C,EAAQ2+C,YAC5B,KAAI3+C,EAAQ4xF,OAAS,IAArB,CAGAvlE,EAAI0hB,OACJ1hB,EAAIO,UAAY5sB,EAAQ0Y,gBACxB8gS,GAAentR,EAAKrsB,GACpB,IAAMo0C,EAASmlQ,GAAeltR,EAAKrsB,GACnC8oN,GAAUz8L,EAAK95B,KAAMA,KAAKsnB,QAAStnB,KAAKunB,SACpCs6B,IAAWklQ,GAAgBt5S,EAAQmpN,cACrC98L,EAAI+iB,YAAcpvC,EAAQ+5S,kBAC1B1tR,EAAI+nB,UAEN/nB,EAAI6hB,UACJluC,EAAQ2+C,YAAcA,CAXtB,CAYF,GAAC,CAAAnwD,IAAA,2BAAA4E,MAED,SAAyB8vN,EAAOljN,GAC9B,IAAMgmN,EAAay1F,GAAuBv4F,EAAOljN,GAEjD,OADAgmN,EAAWw2F,eAAiB1D,GAAwB51F,EAAO8C,EAAYhmN,GAChEgmN,CACT,KAAC2/F,CAAA,CAxCkB,CAASn1T,IA2C9Bm1T,GAAgB/wQ,GAAK,kBAErB+wQ,GAAgBpsQ,SAAW,CACzB2kQ,kBAAkB,EAClBzE,sBAAuB,cACvB1hF,WAAY,GACZC,iBAAkB,EAClB+hF,kBAAmB,cACnBp7P,YAAa,EACbp/B,SAAS,EACTuxH,UAAMvwI,EACN4oN,WAAY,SACZv3H,OAAQ,GACR/F,SAAU,EACVt8C,WAAY,EACZF,cAAe,EACfC,cAAe,EACfqsQ,QAAS,EACTtgM,UAAM96G,EACN46G,UAAM56G,EACNq6S,cAAUr6S,EACV2jR,YAAQ3jR,EACRs7S,QAAS,EACTvgM,UAAM/6G,EACN66G,UAAM76G,EACNw6S,cAAUx6S,EACV4jR,YAAQ5jR,EACRxQ,EAAG,GAGL41T,GAAgB1+D,cAAgB,CAC9BnoM,YAAa,QACbpmC,gBAAiB,SACjB,IAEImtS,GAAiB,SAAAl+C,IAAAt6G,EAAAA,EAAAA,GAAAw4J,EAAAl+C,GAAA,IAAAh3B,GAAAhkF,EAAAA,EAAAA,GAAAk5J,GAAA,SAAAA,IAAA,OAAA75J,EAAAA,EAAAA,GAAA,KAAA65J,GAAAl1E,EAAA99O,MAAA,KAAAnG,UAAA,CAwDpB,OAxDoBy/J,EAAAA,EAAAA,GAAA05J,EAAA,EAAAr3T,IAAA,UAAA4E,MAErB,SAAQ4pQ,EAAQC,EAAQj+C,EAAMyzB,GAC5B,GAAa,MAATzzB,GAAyB,MAATA,EAClB,OAAOzsN,KAAKyN,QAAQ4xF,QAAU,IAAOr/F,KAAKs0B,SAASv6B,OAAS,GAkHlE,SAA0BoyN,EAAQ7uN,EAAGC,EAAG2iP,GACtC,IAE0B/iB,EAFtBo2F,GAAW,EACX31T,EAAIuuN,EAAOA,EAAOpyN,OAAS,GAAG+mP,SAAS,CAAC,KAAM,MAAOZ,GAAkB9iB,GAAArjE,EAAAA,EAAAA,GACvDoyD,GAAM,IAA1B,IAAAiR,EAAA/8N,MAAA88N,EAAAC,EAAArgO,KAAAuE,MAA4B,KACpByyE,EADQopJ,EAAAt8N,MACEigP,SAAS,CAAC,KAAM,MAAOZ,GAClCnsK,EAAEy/O,GAAKj2T,IAAQK,EAAE41T,GAAKj2T,GAAMD,GAAKM,EAAE61T,GAAK1/O,EAAE0/O,KAAOl2T,EAAIw2E,EAAEy/O,KAAO51T,EAAE41T,GAAKz/O,EAAEy/O,IAAMz/O,EAAE0/O,KAClFF,GAAYA,GAEd31T,EAAIm2E,CACN,CAAC,OAAAi/C,GAAAoqG,EAAAjhO,EAAA62H,EAAA,SAAAoqG,EAAA3gO,GAAA,CACD,OAAO82T,CACT,CA7HuEG,CAAiB1zT,KAAKs0B,SAAUm2O,EAAQC,EAAQxqB,GAEnH,IAAM6sE,EAAelC,GAAQ,CAACvtT,EAAGmtQ,EAAQltQ,EAAGmtQ,GAAS1qQ,KAAK2gP,eAAeT,GAAmB12B,IAAWxpN,KAAKyN,QAAQ6rF,WAC9Gq6N,EAAa3zT,KAAKs0B,SAASzmB,KAAI,SAAC6nC,GAAK,MAAc,MAAT+2K,EAAe/2K,EAAM89Q,GAAK99Q,EAAM+9Q,EAAE,IAC5ErsT,EAAQnD,KAAKmT,IAAG9W,MAAR2D,MAAI43J,EAAAA,EAAAA,GAAQ83J,IACpBtsT,EAAMpD,KAAKC,IAAG5D,MAAR2D,MAAI43J,EAAAA,EAAAA,GAAQ83J,IACxB,OAAO5G,EAAatgG,IAASrlN,GAAS2lT,EAAatgG,IAASplN,CAC9D,GAAC,CAAApL,IAAA,iBAAA4E,MAED,SAAeq/O,GACb,OAAO0lE,GAAsB5lT,KAAMkgP,EACrC,GAAC,CAAAjkP,IAAA,OAAA4E,MAED,SAAKi5B,GACH,IAAOxF,EAAqBt0B,KAArBs0B,SAAU7mB,EAAWzN,KAAXyN,QACjBqsB,EAAI0hB,OACJ1hB,EAAI2jB,YACJ3jB,EAAIO,UAAY5sB,EAAQ0Y,gBACxB8gS,GAAentR,EAAKrsB,GACpB,IAEyB6sN,EAFnBz4K,EAASmlQ,GAAeltR,EAAKrsB,GAC/BiZ,GAAQ,EAAK6zM,GAAAxgE,EAAAA,EAAAA,GACAzlI,GAAQ,IAAzB,IAAAimM,EAAAl6N,MAAAi6N,EAAAC,EAAAx9N,KAAAuE,MAA2B,KAAhBq/G,EAAE25G,EAAAz5N,MACP6lB,GACFoT,EAAI2kB,OAAOkiE,EAAGrjH,EAAGqjH,EAAGpjH,GACpBmpB,GAAQ,GAERoT,EAAI4kB,OAAOiiE,EAAGrjH,EAAGqjH,EAAGpjH,EAExB,CAAC,OAAAy1H,GAAAunG,EAAAp+N,EAAA62H,EAAA,SAAAunG,EAAA99N,GAAA,CACDq9B,EAAI8kB,YACJ9kB,EAAI0jB,OAEAqE,IACF/nB,EAAI+iB,YAAcpvC,EAAQ+5S,kBAC1B1tR,EAAI+nB,UAEN/nB,EAAI6hB,SACN,GAAC,CAAA1/C,IAAA,2BAAA4E,MAED,SAAyB8vN,EAAOljN,GAM9B,IALA,IAAMgmN,EAAay1F,GAAuBv4F,EAAOljN,GAC1CmmT,EAAmBnmT,EAAnBmmT,MAAOt6N,EAAY7rF,EAAZ6rF,SACRhlE,EAAW,GACXha,EAAS,EAAIG,GAAMm5S,EACrB/8F,EAAMv9H,EAAWuvH,GACZ7sN,EAAI,EAAGA,EAAI43T,EAAO53T,IAAK66N,GAAOv8M,EAAO,CAC5C,IAAMu5S,EAAUC,GAAkBrgG,EAAYhmN,EAASopN,GACvDg9F,EAAQ5J,eAAiB1D,GAAwB51F,EAAO8C,EAAYhmN,GACpE6mB,EAASnyB,KAAK0xT,EAChB,CAEA,OADApgG,EAAWn/L,SAAWA,EACfm/L,CACT,KAAC6/F,CAAA,CAxDoB,CAASr1T,IAmGhC,SAAS61T,GAAiBC,EAAAC,EAA4Cn9F,GAAK,IAA/CvvM,EAAOysS,EAAPzsS,QAASC,EAAOwsS,EAAPxsS,QAAW83E,EAAM20N,EAAN30N,OACxC40N,EAD2DD,EAAX5nQ,YACrB,EAC3BxkC,EAAM3jB,KAAK2jB,IAAIivM,GACfhvM,EAAM5jB,KAAK4jB,IAAIgvM,GACfnhL,EAAQ,CAACp4C,EAAGgqB,EAAUM,EAAMy3E,EAAQ9hG,EAAGgqB,EAAUM,EAAMw3E,GAC7D,MAAO,CACLzlG,KAAM,QACNswT,YAAa,QACbz2F,WAAY,CACVn2N,EAAGo4C,EAAMp4C,EACTC,EAAGm4C,EAAMn4C,EACT+pB,QAASouB,EAAMp4C,EACfiqB,QAASmuB,EAAMn4C,EACfk2T,GAAInsS,EAAUM,GAAOy3E,EAAS40N,GAC9BT,GAAIjsS,EAAUM,GAAOw3E,EAAS40N,IAGpC,CAzDAX,GAAkBjxQ,GAAK,oBAEvBixQ,GAAkBtsQ,SAAW,CAC3B2kQ,kBAAkB,EAClBzE,sBAAuB,cACvB3hF,eAAgB,OAChBC,WAAY,GACZC,iBAAkB,EAClBC,gBAAiB,QACjB8hF,kBAAmB,cACnBp7P,YAAa,EACbp/B,SAAS,EACTuxH,UAAMvwI,EACN0nC,MAAO,CACL2pD,OAAQ,GAEVA,OAAQ,GACR/F,SAAU,EACVt8C,WAAY,EACZF,cAAe,EACfC,cAAe,EACf62Q,MAAO,EACPxK,QAAS,EACTtgM,UAAM96G,EACN46G,UAAM56G,EACNq6S,cAAUr6S,EACV2jR,YAAQ3jR,EACRs7S,QAAS,EACTvgM,UAAM/6G,EACN66G,UAAM76G,EACNw6S,cAAUx6S,EACV4jR,YAAQ5jR,EACRxQ,EAAG,GAGL81T,GAAkB5+D,cAAgB,CAChCnoM,YAAa,QACbpmC,gBAAiB,SAmCnB,IAAM+tS,GAAkB,CACtB32Q,IAAK8uQ,GACL3hO,QAASooO,GACTnxT,MAAO4qT,GACP/7R,KAAMo+R,GACNl5Q,MAAO09Q,GACPlN,QAASoN,IAWXv4T,OAAOa,KAAKs4T,IAAiB3nT,SAAQ,SAAAtQ,GACnC+qD,GAAS2rK,SAAS,YAAD92N,OAAaq4T,GAAgBj4T,GAAKomD,IAAM,CACvDixK,UAAW,6BAEf,IAEA,IAAM6gG,GAAgB,CACpB7qF,OAAQvuO,OAAOqF,QAGXg0T,GAAUrJ,GAAWlvT,OAAO2vT,IAC5B1qT,GAAU,SAACD,EAAOwzT,GAAO,OAAK52I,GAAS42I,GAAWC,GAAWzzT,EAAOwzT,GAAWxzT,CAAK,EAapF66N,GAAc,SAAClrK,GAAI,MAAc,UAATA,GAA6B,SAATA,CAAe,EAOjE,SAAS+jQ,KAA2B,IAAf36T,EAAIO,UAAAJ,OAAA,QAAAiU,IAAA7T,UAAA,GAAAA,UAAA,GAAG,OAC1B,OAAI+5T,GAAgBt6T,GACXA,GAET6oD,QAAQrb,KAAK,6BAADvrC,OAA8BjC,EAAI,4BACvC,OACT,CAQA,SAAS+4O,GAAehiB,EAAOpvH,EAAO9zF,EAASw6H,GAM7C,IALA,IAAM4rF,EAuCR,SAA2BlD,EAAO6jG,EAAUvsL,GAC1C,GAAa,UAATA,GAA6B,SAATA,GAA4B,WAATA,EACzC,OAAOksL,GAET,OAAO,IAAI3rF,GAAW7X,EAAO6jG,EAC/B,CA5CqBC,CAAkB9jG,EAAOljN,EAAQomN,WAAY5rF,GAE1Dt3C,EAAc4Q,EAAM5Q,YACpBr8D,EAuGR,SAAwBA,EAAUq8D,GAChC,IAAMpjF,EAAQojF,EAAY52F,OACpBqN,EAAQktB,EAASv6B,OAEvB,GAAIqN,EAAQmG,EAAO,CACjB,IAAMxK,EAAMwK,EAAQnG,EACpBktB,EAASjd,OAAM/W,MAAfg0B,EAAQ,CAAQltB,EAAO,GAACvL,QAAAggK,EAAAA,EAAAA,GAAK,IAAIp8J,MAAMsD,KACzC,MAAWqE,EAAQmG,GACjB+mB,EAASjd,OAAO9J,EAAOnG,EAAQmG,GAEjC,OAAO+mB,CACT,CAlHmBogS,CAAenzN,EAAMjtE,SAAUq8D,GAEvC30F,EAAI,EAAGA,EAAI20F,EAAY52F,OAAQiC,IAAK,CAC3C,IAAM24T,EAAoBhkO,EAAY30F,GAChCg4B,EAAU4gS,GAAmBtgS,EAAUt4B,EAAG24T,EAAkB/6T,MAC5DwqC,EAAWuwR,EAAkB1mR,WAAWlU,GAAW42L,EAAO38L,EAAS2gS,IACnElhG,EAAaz/L,EAAQ6gS,yBAAyBlkG,EAAOvsL,GAE3DqvL,EAAWsK,KAAO+2F,GAAOrhG,GAErB,aAAcA,IAChBshG,GAAkB/gS,EAASy/L,EAAWn/L,SAAU8P,EAAUyvL,UAGnDJ,EAAWn/L,UAGf+zL,GAAQr0L,EAAQ12B,IAKnBvC,OAAOqF,OAAO4zB,EAASy/L,GAGzB14N,OAAOqF,OAAO4zB,EAASy/L,EAAWw2F,gBAClCx2F,EAAWhmN,QAAUunT,GAAyB5wR,GAE9CyvL,EAAWyV,OAAOt1M,EAASy/L,EAC7B,CACF,CAEA,SAASqhG,GAAOrhG,GACd,OAAOloK,MAAMkoK,EAAWn2N,IAAMiuD,MAAMkoK,EAAWl2N,EACjD,CASA,SAASw3T,GAAkBE,EAAa3gS,EAAU8P,EAAUyvL,GAC1D,IAAMqhG,EAAcD,EAAY3gS,WAAa2gS,EAAY3gS,SAAW,IACpE4gS,EAAYn7T,OAASu6B,EAASv6B,OAC9B,IAAK,IAAIiC,EAAI,EAAGA,EAAIs4B,EAASv6B,OAAQiC,IAAK,CACxC,IAAM2gK,EAAaroI,EAASt4B,GACtBy3N,EAAa92D,EAAW82D,WACxB0hG,EAAaP,GAAmBM,EAAal5T,EAAG2gK,EAAW/iK,KAAM+iK,EAAWstJ,gBAC5EmL,EAAchxR,EAASu4H,EAAWutJ,aAAa3uF,SAAS5+D,GAC9D82D,EAAWhmN,QAAUunT,GAAyBI,GAC9CvhG,EAAWyV,OAAO6rF,EAAY1hG,EAChC,CACF,CAEA,SAASmhG,GAAmBtgS,EAAUpvB,EAAOtL,EAAMqwT,GACjD,IAAMoL,EAAenB,GAAgBK,GAAY36T,IAC7Co6B,EAAUM,EAASpvB,GAKvB,OAJK8uB,GAAaA,aAAmBqhS,IACnCrhS,EAAUM,EAASpvB,GAAS,IAAImwT,EAChCt6T,OAAOqF,OAAO4zB,EAASi2R,IAElBj2R,CACT,CAEA,SAASghS,GAAyB5wR,GAChC,IAAMixR,EAAenB,GAAgBK,GAAYnwR,EAASxqC,OACpDyH,EAAS,CAAC,EAChBA,EAAOghD,GAAKje,EAASie,GACrBhhD,EAAOzH,KAAOwqC,EAASxqC,KACvByH,EAAOkzQ,SAAWnwO,EAASmwO,SAC3Bx5Q,OAAOqF,OAAOiB,EACZizT,GAAWlwR,EAAUixR,EAAaruQ,UAClCstQ,GAAWlwR,EAAUixR,EAAa3gE,gBAAgB,IAC1Br3B,EAD0BC,GAAAvjE,EAAAA,EAAAA,GACjCq6J,IAAO,IAA1B,IAAA92F,EAAAj9N,MAAAg9N,EAAAC,EAAAvgO,KAAAuE,MAA4B,KAAjBsmD,EAAIy1K,EAAAx8N,MACbQ,EAAOumD,GAAQxjB,EAASwjB,EAC1B,CAAC,OAAAorE,GAAAsqG,EAAAnhO,EAAA62H,EAAA,SAAAsqG,EAAA7gO,GAAA,CACD,OAAO4E,CACT,CAEA,SAASizT,GAAWlwR,EAAUkxR,GAE5B,IADA,IAAMj0T,EAAS,CAAC,EAAE0mO,EAAA,WACb,IAAMv3K,EAAI+kQ,EAAAC,GACPnB,EAAUiB,EAAK9kQ,GACf3vD,EAAQujC,EAASosB,GACnBkrK,GAAYlrK,IAASjqD,GAAQ1F,GAC/BQ,EAAOmvD,GAAQ3vD,EAAMgN,KAAI,SAACg/B,GAAI,OAAK/rC,GAAQ+rC,EAAMwnR,EAAQ,IAEzDhzT,EAAOmvD,GAAQ1vD,GAAQD,EAAOwzT,EAElC,EARAmB,EAAA,EAAAD,EAAmBx6T,OAAOa,KAAK05T,GAAKE,EAAAD,EAAAx7T,OAAAy7T,IAAAztF,IASpC,OAAO1mO,CACT,CAEA,SAAS04B,GAAW42L,EAAO38L,EAASk+P,GAClC,OAAOl+P,EAAQy4M,WAAaz4M,EAAQy4M,SAAW1xO,OAAOqF,OAAOrF,OAAOmF,OAAOywN,EAAM52L,cAAe,CAC9F/F,QAAAA,EACAquB,GAAI6vO,EAAW7vO,GACfzoD,KAAM,eAEV,CAeA,OAEM67T,GAAc,IAAIx6P,IAClBrK,GAAQm6P,GAAWlvT,OAAO2vT,IAE5Bt5B,GAAa,CACf7vO,GAAI,aAEJqjC,QARY,QAUZgwO,eAAc,YA50EhB,SAAwBC,EAAKv+S,EAAKw+S,GAAoB,IAGpB/yJ,EAHKgzJ,IAAM17T,UAAAJ,OAAA,QAAAiU,IAAA7T,UAAA,KAAAA,UAAA,GACrC4tN,EAAQ6tG,EAAIptQ,MAAM,KACpBxsD,EAAI,EAAE8mK,GAAA/I,EAAAA,EAAAA,GACQ3iJ,EAAIoxC,MAAM,MAAI,IAAhC,IAAAs6G,EAAAziK,MAAAwiK,EAAAC,EAAA/lK,KAAAuE,MAAkC,KAAvB+jT,EAAGxiJ,EAAAhiK,MACNukT,EAAMr9F,EAAM/rN,KAClB,GAAI8W,SAASuyS,EAAK,IAAMvyS,SAASsyS,EAAK,IACpC,MAEF,GAAID,GAAYC,EAAKC,GAAM,CACzB,GAAIwQ,EACF,MAAM,IAAI7xT,MAAM,GAADnI,OAAI85T,EAAG,MAAA95T,OAAK+5T,EAAG,wBAAA/5T,OAAuBub,EAAG,2BAExD,OAAO,CAEX,CACF,CAAC,OAAA47G,GAAA8vC,EAAA3mK,EAAA62H,EAAA,SAAA8vC,EAAArmK,GAAA,CAEH,CA4zEIq5T,CAAe,WAAY,MAAOj6D,GAAMn2K,QAC1C,EAEAqwO,cAAa,WACXl6D,GAAMrH,SAAS0/D,GACjB,EAEA8B,gBAAe,WACbn6D,GAAMo6D,WAAW/B,GACnB,EAEAgC,WAAU,SAACvlG,GACT8kG,GAAYr6P,IAAIu1J,EAAO,CACrBhgI,YAAa,GACbr8D,SAAU,GACV2wR,gBAAiB,GACjB/jL,UAAW,CAAC,EACZ8pL,UAAU,EACVC,cAAc,EACdr6P,MAAO,CAAC,EACR86P,QAAQ,EACRR,QAAS,IAEb,EAEAz+D,aAAY,SAAC97B,EAAOr3M,EAAM7L,GACxB,IACMkjF,EADQ8kO,GAAYntT,IAAIqoN,GACJhgI,YAAc,GAEpCgkO,EAAoBlnT,EAAQkjF,YAC5B8sF,GAASk3I,GACX55T,OAAOa,KAAK+4T,GAAmBpoT,SAAQ,SAAAtQ,GACrC,IAAM4E,EAAQ8zT,EAAkB14T,GAC5BwhL,GAAS58K,KACXA,EAAMwhD,GAAKpmD,EACX00F,EAAYxuF,KAAKtB,GAErB,IACS0F,GAAQouT,IACjBhkO,EAAYxuF,KAAI7B,MAAhBqwF,GAAWkrE,EAAAA,EAAAA,GAAS84J,IAp6C1B,SAA4BhkO,EAAa6hI,GAAQ,IACX2G,EADWE,GAAAt/D,EAAAA,EAAAA,GACtBppE,GAAW,IAApC,IAAA0oI,EAAAh5N,MAAA84N,EAAAE,EAAAt8N,KAAAuE,MACE2qT,GADmB9yF,EAAAt4N,MACQ2xN,EAC5B,OAAAx/F,GAAAqmG,EAAAl9N,EAAA62H,EAAA,SAAAqmG,EAAA58N,GAAA,CACH,CAk6CI05T,CAAmBxlO,EAAaggI,EAAM6B,OACxC,EAEAy6B,gBAAe,SAACt8B,EAAOr3M,GACrB,IAAMioF,EAAQk0N,GAAYntT,IAAIqoN,GAC9Bg7F,GAAiBh7F,EAAOr3M,EAAK2hC,MAAOsmD,EAAM5Q,YAAY/1E,QAAO,SAAAnd,GAAC,OAAIA,EAAEuvB,SAAWvvB,EAAEkuT,gBAAgB,IACnG,EAEA19D,YAAW,SAACt9B,EAAOr3M,EAAM7L,GACvB,IAAM8zF,EAAQk0N,GAAYntT,IAAIqoN,IA5kDlC,SAAyBA,EAAOpvH,EAAO9zF,GACrC8zF,EAAMypN,SAAWrE,GAAUl5S,EAASs9S,GAAYxpN,EAAM2/B,WACtD3/B,EAAM0pN,cAAe,EACrB1pN,EAAM60N,aAAepR,GAErB8F,GAAUv+S,SAAQ,SAAAq7C,GACZ21H,GAAW9vK,EAAQm6C,MACrB25C,EAAM0pN,cAAe,EAEzB,IAEK1pN,EAAMypN,UAAazpN,EAAM0pN,cAC5B1pN,EAAM5Q,YAAYpkF,SAAQ,SAAAw7E,IACnBwZ,EAAMypN,UAAYztI,GAAWx1F,EAAMsjO,SACtC9pN,EAAMypN,UAAW,GAEdzpN,EAAM0pN,cACTH,GAAUv+S,SAAQ,SAAAq7C,GACZ21H,GAAWx1F,EAAMngC,MACnB25C,EAAMypN,UAAW,EACjBzpN,EAAM0pN,cAAe,EAEzB,GAEJ,GAEJ,CAmjDIoL,CAAgB1lG,EAAOpvH,EAAO9zF,GAC9BklO,GAAehiB,EAAOpvH,EAAO9zF,EAAS6L,EAAK2uH,MAC3C1mC,EAAM0jN,gBAAkB1jN,EAAMjtE,SAAS1Z,QAAO,SAAA+lG,GAAE,OAAKA,EAAGo9G,MAAQp9G,EAAGlzG,QAAQuf,OAAO,IAv+CtF,SAAqB2jM,EAAOpvH,EAAO9zF,GACjC,IAAMw3S,EAAkB1jN,EAAM0jN,gBAC9B1jN,EAAMmqN,OAAS/E,GAAUl5S,EAAS+9S,GAAcjqN,EAAM3wC,OAEjD2wC,EAAMmqN,QACTzG,EAAgB14S,SAAQ,SAAAw7E,GACjBwZ,EAAMmqN,QACTF,GAAaj/S,SAAQ,SAAAq7C,GACf21H,GAAWx1F,EAAMt6E,QAAQm6C,MAC3B25C,EAAMmqN,QAAS,EAEnB,GAEJ,GAEJ,CAy9CI4K,CAAY3lG,EAAOpvH,EAAO9zF,EAC5B,EAEA+mQ,mBAAkB,SAAC7jD,EAAO/gB,EAAOniM,GAC/Bi5N,GAAK/V,EAAO,qBAAsBljN,EAAQiuC,KAC5C,EAEA66Q,kBAAiB,SAAC5lG,EAAO/gB,EAAOniM,GAC9Bi5N,GAAK/V,EAAO,oBAAqBljN,EAAQiuC,KAC3C,EAEA44N,WAAU,SAAC3jD,EAAO/gB,EAAOniM,GACvBi5N,GAAK/V,EAAO,aAAcljN,EAAQiuC,KACpC,EAEA+mO,UAAS,SAAC9xD,EAAO/gB,EAAOniM,GACtBi5N,GAAK/V,EAAO,YAAaljN,EAAQiuC,KACnC,EAEA86Q,YAAW,SAAC7lG,EAAOr3M,EAAM7L,GAEnBwrQ,GADUw8C,GAAYntT,IAAIqoN,GACPr3M,EAAK2nH,MAAOxzH,KACjC6L,EAAKk0M,SAAU,EAEnB,EAEAipG,aAAY,SAAC9lG,GACX8kG,GAAY36L,OAAO61F,EACrB,EAEA+lG,UAAS,SAAC/lG,GACR,OAAO8kG,GAAYntT,IAAIqoN,EACzB,EAEA3pK,SAAU,CACR6sK,WAAY,CACV9uL,QAAS,CACP0uL,WAAY,CAAC,IAAK,IAAK,KAAM,KAAM,QAAS,SAAU,UAAW,UAAW,SAAU,SAAU,UAChG75N,KAAM,WAGV8hD,MAAM,EACNu2K,YAAa,CACXhqF,UAAMj6H,EACNy+M,UAAMz+M,EACNkkN,eAAWlkN,GAEb84K,OAAQ,CACNytF,SAAU,oBACVh2H,MAAM,EACN58I,MAAO,CACP,IAIJi9K,YAAa,CACXy0C,YAAY,EACZD,YAAa,SAAC5iK,GAAI,OAAMI,GAAMokE,SAASxkE,IAAkB,SAATA,CAAe,EAC/DmgC,YAAa,CACX0rI,UAAU,EACV/I,UAAW,SAAC9iK,EAAMtN,GAAI,kBAAArnD,OAAiBq4T,GAAgBK,GAAYrxQ,EAAKtpD,OAAOyoD,GAAE,GAEnF4vK,YAAa,CACXqB,WAAW,GAEbxsC,OAAQ,CACNnlL,MAAO,CACL0xN,WAAYqI,GACZpI,WAAW,GAEbD,WAAYqI,KAIhBo+B,uBAAwB,CAAC,KAG3B,SAASpzB,GAAK/V,EAAO12N,EAAQyhD,GAC3B,IAAO5hB,EAAkB62L,EAAlB72L,IAAKk3M,EAAargB,EAAbqgB,UACNzvI,EAAQk0N,GAAYntT,IAAIqoN,GAE1Bj1K,GACFs7K,GAASl9L,EAAKk3M,GAGhB,IACmCzT,EAD7Bo5F,EAUR,SAA6BriS,EAAUr6B,GACrC,IACyB+qO,EADnB2xF,EAAmB,GAAG1xF,GAAAlrE,EAAAA,EAAAA,GACXzlI,GAAQ,IAAzB,IAAA2wM,EAAA5kO,MAAA2kO,EAAAC,EAAAloO,KAAAuE,MAA2B,KAAhBq/G,EAAEqkH,EAAAnkO,MAIX,GAHI8/G,EAAGlzG,QAAQ8mQ,WAAat6Q,GAC1B08T,EAAiBx0T,KAAK,CAAC6xB,QAAS2sF,EAAIi2M,MAAM,IAExCj2M,EAAGrsF,UAAYqsF,EAAGrsF,SAASv6B,OAAQ,KACRq9P,EADQC,GAAAt9F,EAAAA,EAAAA,GACnBp5C,EAAGrsF,UAAQ,IAA7B,IAAA+iO,EAAAh3P,MAAA+2P,EAAAC,EAAAt6P,KAAAuE,MAA+B,KAApB+iO,EAAG+yB,EAAAv2P,MACRwjO,EAAI52N,QAAQuf,SAAWq3M,EAAI52N,QAAQ8mQ,WAAat6Q,GAClD08T,EAAiBx0T,KAAK,CAAC6xB,QAASqwM,GAEpC,CAAC,OAAArxG,GAAAqkI,EAAAl7P,EAAA62H,EAAA,SAAAqkI,EAAA56P,GAAA,CACH,CACF,CAAC,OAAAu2H,GAAAiyG,EAAA9oO,EAAA62H,EAAA,SAAAiyG,EAAAxoO,GAAA,CACD,OAAOk6T,CACT,CAzB2BE,CAAoBt1N,EAAM0jN,gBAAiBhrT,GAAQqoE,MAAK,SAAC7kE,EAAGrB,GAAC,OAAKqB,EAAEu2B,QAAQvmB,QAAQjQ,EAAIpB,EAAE43B,QAAQvmB,QAAQjQ,CAAC,IAAEggO,GAAAzjE,EAAAA,EAAAA,GACnH48J,GAAgB,IAAnC,IAAAn5F,EAAAn9N,MAAAk9N,EAAAC,EAAAzgO,KAAAuE,MAAqC,CACnCw1T,GAAYh9R,EAAKk3M,EAAWzvI,EADfg8H,EAAA18N,MAEf,CAAC,OAAAmyH,GAAAwqG,EAAArhO,EAAA62H,EAAA,SAAAwqG,EAAA/gO,GAAA,CAEGi/C,GACFu7K,GAAWn9L,EAEf,CAmBA,SAASg9R,GAAYh9R,EAAKk3M,EAAWzvI,EAAO10D,GAC1C,IAAM8zE,EAAK9zE,EAAK7Y,QACZ6Y,EAAK+pR,MACPnL,GAAWlqN,EAAOof,EAAI,cACtBA,EAAG+lH,KAAK5sM,EAAKk3M,GACby6E,GAAWlqN,EAAOof,EAAI,cAEtBA,EAAG+lH,KAAK5sM,EAAKk3M,EAEjB,CClrFe,SAAS+lF,GAAiB13J,GAUrC,IATFwU,EAAOxU,EAAPwU,QACAJ,EAAMpU,EAANoU,OACAC,EAAUrU,EAAVqU,WACAI,EAAYzU,EAAZyU,aACAC,EAAc1U,EAAd0U,eACAE,EAAc5U,EAAd4U,eACA9nK,EAASkzJ,EAATlzJ,UACAumK,EAAQrT,EAARqT,SACAC,EAAetT,EAAfsT,gBAGMqkJ,GAAmBvmL,EAAAA,EAAAA,QAAO,MAG1BwmL,EAA0BljJ,EAC5B,CACEpyK,MAAO,cACP4qD,YAAa,YACbH,YAAa,EACbtkD,KAAoB,OAAdisK,QAAc,IAAdA,OAAc,EAAdA,EAAgBlmK,KAAI,SAACg/B,EAAM3nC,GAC/B,MAAO,CACL5H,EAAG4H,EAAQ,GACX3H,EAAGsvC,EAEP,IACA2Q,KAAM,YACNu3H,YAAa,EACbw8G,iBAAkB,EAClBprQ,gBAAiB,aAEnB,CACExkB,MAAO,kBACP4qD,YAAa,YACbH,YAAa,GACbtkD,KAAkB,OAAZgsK,QAAY,IAAZA,OAAY,EAAZA,EAAcjmK,KAAI,SAACg/B,EAAM3nC,GAC7B,MAAO,CACL5H,EAAG4H,EAAQ,GACX3H,EAAGsvC,EAEP,IACA2Q,KAAM,KACNu3H,YAAa,EACbw8G,iBAAkB,GAElB2lC,EAA0BjjJ,EAC5B,CACEtyK,MAAO,cACP4qD,YAAa,YACbH,YAAa,EACbtkD,KAAoB,OAAdmsK,QAAc,IAAdA,OAAc,EAAdA,EAAgBpmK,KAAI,SAACg/B,EAAM3nC,GAC/B,MAAO,CACL5H,EAAG4H,EAAQ,GACX3H,EAAGsvC,EAEP,IACA2Q,KAAM,KACNu3H,YAAa,EACbw8G,iBAAkB,EAClBprQ,gBAAiB,aAEnB,CAAC,EAgJL,OA9IAgqH,EAAAA,EAAAA,YAAU,WACR,GAAK6mL,EAAiBlqT,SAElB4mK,GAAcI,EAAc,CAE9B,IAAMu6H,EAAe,CACnB56H,OAAQI,EACRs5B,SAAU,CACR,CACExrM,MAAO,cACP4qD,YAAa,UACbH,YAAa,IACbtkD,KAAgB,OAAV4rK,QAAU,IAAVA,OAAU,EAAVA,EAAY7lK,KAAI,SAACg/B,EAAM3nC,GAC3B,MAAO,CACL5H,EAAG4H,EACH3H,EAAGsvC,EAEP,IACA2Q,MAAM,EACNu3H,YAAa,EACboiJ,qBAAsB,mBACtB5lC,iBAAkB,GAElB6lC,0BAA2B,mBAC3BC,sBAAuB,GAEzB,CACE11T,MAAO,gBACP4qD,YAAa,UACbH,YAAa,IACbo5K,WAAY,CAAC,EAAG,GAChB19N,KAAkB,OAAZgsK,QAAY,IAAZA,OAAY,EAAZA,EAAcjmK,KAAI,SAACg/B,EAAM3nC,GAC7B,MAAO,CACL5H,EAAG4H,EAAQ,GACX3H,EAAGsvC,EAEP,IACA2Q,MAAM,EACNu3H,YAAa,EACboiJ,qBAAsB,mBACtB5lC,iBAAkB,GAClB+lC,sBAAuB,cACvBF,0BAA2B,mBAC3BC,sBAAuB,GAEzBJ,EACAC,IAGEzpT,EAAU,CACd2kN,qBAAqB,EACrBG,YAAY,EACZC,OAAQ,CACNl1N,EAAG,CACD8sO,SAAS,EACTp/K,KAAM,CACJh+B,SAAS,GAEXyjM,MAAO,CACLpvH,SAAU,SAACn8F,GACT,OAAOuuK,EAAOvuK,EAChB,IAGJ3H,EAAG,CACD6sO,SAAS,EACTnW,aAAa,EACbuxD,SAAU,IACVtxD,MAAO,QAGXvwE,QAAS,CACP29C,OAAQ,CACNt0K,SAAS,EACTymJ,OAAQ,CACN74J,OAAQ,SAAUiyB,EAAM8jL,GAAQ,IAAD/4C,EAC7B,OACgB,OAAV,OAAJ/qI,QAAI,IAAJA,OAAI,EAAJA,EAAM5T,SACyB,QAA/B2+I,EAAC,CAAC,cAAe,sBAAc,IAAAA,GAA9BA,EAAgC5iD,SAASnoF,EAAK5T,MAEnD,IAGJi5P,WAAY,CACVvhM,YAAa,CACX8gM,MAAO,CACL73R,KAAM,OACNgvH,KAAMz8G,EACN28G,KAAM38G,EACNogD,YAAa,QACbH,YAAajgD,EAAY,EAAI,EAC7B87H,KAAM,WACNu9F,WAAY,CAAC,EAAG,IAElBqsD,QAAuB,OAAfl/G,QAAe,IAAfA,OAAe,EAAfA,EAAiBjsJ,QAAS,CAChC9sB,KAAM,QACN+3R,OAAQxlR,EAAY,EACpBylR,OAAQl/G,EAAW,IACnBvsJ,gBAAiB,oBACjB8K,QAAS,CAAgB,OAAf0hJ,QAAe,IAAfA,OAAe,EAAfA,EAAiBjsJ,OAC3Bg2B,KAAM,CACJxzB,KAAM,KAGVwoQ,QAAuB,OAAf/+G,QAAe,IAAfA,OAAe,EAAfA,EAAiBp5H,SAAU,CACjC3/C,KAAM,QACN+3R,OAAQxlR,EAAY,EACpBylR,OAAQl/G,EAAW,IACnBvsJ,gBAAiB,oBACjB8K,QAAS,CAAgB,OAAf0hJ,QAAe,IAAfA,OAAe,EAAfA,EAAiBp5H,QAC3BmD,KAAM,CACJxzB,KAAM,OAKd+xP,QAAS,CACP/0C,UAAW,CAET9wK,MAAO,SAAUyoN,EAAa/1Q,GAAO,IAADqqR,EAC5BI,EAA4B,OAAX1U,QAAW,IAAXA,GAAgB,QAALsU,EAAXtU,EAAc,UAAE,IAAAsU,OAAL,EAAXA,EAAkBhhD,UACzC,OAAO19D,EAAO8+G,EAChB,MAOF5hE,EAAQ,IAAIkrC,GAAMm7D,EAAiBlqT,QAAS,CAChDlT,KApLY,OAqLZkO,KAAMumS,EACN5gS,QAASA,IAIX,OAAO,WACLkjN,EAAM/kL,SACR,CACF,CACF,GAAG,CAAC8nI,EAAYI,KAGdmG,EAAAA,GAAAA,KAAA,UACE/8E,IAAK85N,EACL30Q,GAAG,2BACH5f,UAAU,kBAGhB,CCpNe,SAAS80R,KAEtB,IAAQrW,GAA6BhxK,EAAAA,EAAAA,YAAWowK,IAAxCY,yBAGFnI,GACJt8H,EAAAA,GAAAA,MAAA,OAAAl5E,SAAA,EACEk5E,EAAAA,GAAAA,MAAA,OAAKh6I,UAAU,aAAY8gE,SAAA,CAAC,wBAEL,OAApB0+F,SAAoB,IAApBA,QAAoB,EAApBA,GAAsBZ,UAEzBpnB,EAAAA,GAAAA,KAAA,KAAGx3I,UAAU,gBAAe8gE,SAAEwxG,GAAO,yBAKnCyiH,GACJv9I,EAAAA,GAAAA,KAAA,OAAKx3I,UAAU,uBAAsB8gE,SACV,OAAxB29M,QAAwB,IAAxBA,GAAAA,EAA0B/0S,WACzB8tK,EAAAA,GAAAA,KAAC88I,GAAiB,CAChBtjJ,OAAgC,OAAxBytI,QAAwB,IAAxBA,OAAwB,EAAxBA,EAA0BztI,OAClCC,WAAoC,OAAxBwtI,QAAwB,IAAxBA,OAAwB,EAAxBA,EAA0BxtI,WACtCI,aAAsC,OAAxBotI,QAAwB,IAAxBA,OAAwB,EAAxBA,EAA0BptI,aACxCC,eAAwC,OAAxBmtI,QAAwB,IAAxBA,OAAwB,EAAxBA,EAA0BntI,eAC1CE,eAAwC,OAAxBitI,QAAwB,IAAxBA,OAAwB,EAAxBA,EAA0BjtI,eAC1CJ,QAAiC,OAAxBqtI,QAAwB,IAAxBA,OAAwB,EAAxBA,EAA0BrtI,QACnC1nK,UAAmC,OAAxB+0S,QAAwB,IAAxBA,OAAwB,EAAxBA,EAA0B/0S,UACrCumK,SAAkC,OAAxBwuI,QAAwB,IAAxBA,OAAwB,EAAxBA,EAA0BxuI,SACpCC,gBAAyC,OAAxBuuI,QAAwB,IAAxBA,OAAwB,EAAxBA,EAA0BvuI,mBAG7CsH,EAAAA,GAAAA,KAAA,OAAKlkD,UAAU,EAAMtzF,UAAW,8BAA8B8gE,UAC5D02E,EAAAA,GAAAA,KAAA,KAAA12E,SAAG,oHASX,OACE02E,EAAAA,GAAAA,KAAAyC,GAAAA,SAAA,CAAAn5E,SAC4B,OAAxB29M,QAAwB,IAAxBA,GAAAA,EAA0BtvI,QAG1B6K,EAAAA,GAAAA,MAAA,OAAKh6I,UAAU,iCAAgC8gE,SAAA,CAC5Cw1M,EACAye,MAJHv9I,EAAAA,GAAAA,KAACu/B,GAAQ,CAAC12M,OAAQ,OAS1B,CCxDe,SAAS20T,KACtB,OACEh7I,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAn5E,SAAA,EACE02E,EAAAA,GAAAA,KAAC26B,GAAiB,CAACC,WAAY,eAC/B56B,EAAAA,GAAAA,KAAAyC,GAAAA,SAAA,CAAAn5E,UACEk5E,EAAAA,GAAAA,MAAA,OAAKp6H,GAAG,2BAA0BkhD,SAAA,EAChC02E,EAAAA,GAAAA,KAACkqI,GAA2B,KAC5BlqI,EAAAA,GAAAA,KAACs9I,GAAoB,WAK/B,CFXA17D,GAAMrH,SAASkjE,IGQR,ICADC,IAAgB/jK,EAAAA,EAAAA,eAAc,CAAC,GAGxBgkK,GAAiB,SAAHv4J,GAAsB,IAADw4J,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAfl1N,EAAQ87D,EAAR97D,SAE/Bu0E,GAA8CpnC,EAAAA,EAAAA,WAAS,GAAKqnC,GAAAtc,EAAAA,EAAAA,GAAAqc,EAAA,GAArD4gJ,EAAe3gJ,EAAA,GAAE4gJ,EAAkB5gJ,EAAA,GAG1CG,GAAgDxnC,EAAAA,EAAAA,UAAS,IAAGynC,GAAA1c,EAAAA,EAAAA,GAAAyc,EAAA,GAArD0gJ,EAAgBzgJ,EAAA,GAAE0gJ,EAAmB1gJ,EAAA,GAG5CG,GAAoD5nC,EAAAA,EAAAA,UAAS,IAAG6nC,GAAA9c,EAAAA,EAAAA,GAAA6c,EAAA,GAAzDwgJ,EAAkBvgJ,EAAA,GAAEwgJ,EAAqBxgJ,EAAA,GAChDG,GAA0DhoC,EAAAA,EAAAA,UACjC,OAAvB2rD,SAAuB,IAAvBA,QAAuB,EAAvBA,GAAyB37D,MAC1Bi4C,GAAAld,EAAAA,EAAAA,GAAAid,EAAA,GAFMsgJ,EAAqBrgJ,EAAA,GAAEsgJ,EAAwBtgJ,EAAA,GAItDG,GAA8CpoC,EAAAA,EAAAA,UACrB,OAAvB2rD,SAAuB,IAAvBA,QAAuB,EAAvBA,GAAyBF,OAC1BnjB,GAAAvd,EAAAA,EAAAA,GAAAqd,EAAA,GAFMogJ,EAAelgJ,EAAA,GAAEmgJ,EAAkBngJ,EAAA,GAK1CG,GAA4CzoC,EAAAA,EAAAA,UACnB,OAAvB2rD,SAAuB,IAAvBA,QAAuB,EAAvBA,GAAyBD,MAC1BhjB,GAAA3d,EAAAA,EAAAA,GAAA0d,EAAA,GAFMigJ,EAAchgJ,EAAA,GAAEigJ,EAAiBjgJ,EAAA,GAKxCgwB,GAAoD14D,EAAAA,EAAAA,UAC3B,OAAvB2rD,SAAuB,IAAvBA,QAAuB,EAAvBA,GAAyBR,UAC1BwN,GAAA5tC,EAAAA,EAAAA,GAAA2tC,EAAA,GAFMkwH,EAAkBjwH,EAAA,GAAEkwH,EAAqBlwH,EAAA,GAKhDG,GAAgD94D,EAAAA,EAAAA,UACvB,OAAvB2rD,SAAuB,IAAvBA,QAAuB,EAAvBA,GAAyB1vJ,QAC1B88J,GAAAhuC,EAAAA,EAAAA,GAAA+tC,EAAA,GAFMgwH,EAAgB/vH,EAAA,GAAEgwH,EAAmBhwH,EAAA,GAK5CsH,GAAgDrgE,EAAAA,EAAAA,UACvB,OAAvB2rD,SAAuB,IAAvBA,QAAuB,EAAvBA,GAAyBN,QAC1BiV,GAAAv1C,EAAAA,EAAAA,GAAAs1C,EAAA,GAFM2oH,EAAgB1oH,EAAA,GAAE2oH,EAAmB3oH,EAAA,GAK5CG,GAAwDzgE,EAAAA,EAAAA,UAC/B,OAAvB2rD,SAAuB,IAAvBA,QAAuB,EAAvBA,GAAyBL,YAC1BoV,IAAA31C,EAAAA,EAAAA,GAAA01C,EAAA,GAFMyoH,GAAoBxoH,GAAA,GAAEyoH,GAAuBzoH,GAAA,GAKpDG,IACE7gE,EAAAA,EAAAA,UAAS,gBAAe8gE,IAAA/1C,EAAAA,EAAAA,GAAA81C,GAAA,GADnBuoH,GAAqBtoH,GAAA,GAAEuoH,GAAwBvoH,GAAA,GAGtDG,IAAoEjhE,EAAAA,EAAAA,WACnD,OAAfwoL,QAAe,IAAfA,GAAoC,QAArBrB,EAAfqB,EAAiB/7H,2BAAmB,IAAA06H,OAArB,EAAfA,EAAsCn7H,WAAY,IACnDkV,IAAAn2C,EAAAA,EAAAA,GAAAk2C,GAAA,GAFMqoH,GAA0BpoH,GAAA,GAAEqoH,GAA6BroH,GAAA,GAKhEG,IAAwDrhE,EAAAA,EAAAA,UAAS,CAC/D9wG,MAAO,gBACPi9J,SAAU,sBACVmV,IAAAv2C,EAAAA,EAAAA,GAAAs2C,GAAA,GAHKmoH,GAAoBloH,GAAA,GAAEmoH,GAAuBnoH,GAAA,GAMpDG,IAA4DzhE,EAAAA,EAAAA,UAC1Dq3D,IACDqK,IAAA32C,EAAAA,EAAAA,GAAA02C,GAAA,GAFMyuG,GAAsBxuG,GAAA,GAAEyuG,GAAyBzuG,GAAA,GAIlDn9L,GAAQwkK,aAAaC,QAAQ,eAGnCvpC,EAAAA,EAAAA,YAAU,WACR,GAAIuoL,GAAmBzjT,IAASA,MAAuB,OAAbk8J,SAAa,IAAbA,QAAa,EAAbA,GAAel8J,OAAO,CAE9DlU,QAAQorC,IADS,IACK5qC,MAAK,YDtEH,SAAAo4K,EAAAilB,EAAAC,EAAAC,EAAAC,EAAAC,EAAAo7H,EAAAC,EAAAC,IAAAj7J,GAAAA,KAAA7F,EAAAA,GAAAA,IAAAnI,EAAAA,GAAAA,KAAAC,MAAG,SAAAmmB,EAC/B8iJ,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAb,GAA6B,OAAA5oK,EAAAA,GAAAA,KAAAE,MAAA,SAAA/2I,GAAA,cAAAA,EAAA9N,KAAA8N,EAAArZ,MAAA,cAAAqZ,EAAArZ,KAAA,EAEvBg1L,GACH7tL,IlMyBuB,uBkMxBvB/G,MAAK,SAAC8tC,GAAc,IAAD0rR,EAAAC,EAAAC,EAEZ7vH,EAAuB,OAAR/7J,QAAQ,IAARA,OAAQ,EAARA,EAAUvnC,KAGzB6hM,EAAc,IAAIpnJ,KAClBqnJ,EAAeD,EAAY3wH,WAAa,EACxC6wH,EAAcF,EAAY5wH,cAAgB,EAG1CmiP,EAA8B,OAAZ9vH,QAAY,IAAZA,OAAY,EAAZA,EAA2B,WAC7C+vH,EAAmC,OAAvB9+H,SAAuB,IAAvBA,QAAuB,EAAvBA,GAAyB37D,KAC3C3lI,OAAOa,KAAKs/T,GAAiB3uT,SAAQ,SAACtQ,GACqB,IAAD27K,EAAAgF,EAAA1W,EAAxD,IAA6B,IAAzBg1J,EAAgBj/T,IAA0B,WAARA,EACpC,GAAmB,QAAnB27K,EAAI,CAAC,OAAQ,cAAM,IAAAA,GAAfA,EAAiB5iD,SAAS/4H,GAC5Bk/T,EAAUl/T,GAAKkG,KAAK,CAClBR,MAAOu5T,EAAgBj/T,GACvB4E,MACU,SAAR5E,EACI6W,SAASooT,EAAgBj/T,IACzBi/T,EAAgBj/T,UAEnB,GAAa,QAAb2gL,EAAI,CAAC,gBAAQ,IAAAA,GAATA,EAAW5nD,SAAS/4H,GAAM,CACnC,IAAMm/T,EAAoBF,EAAgBj/T,GACpCo/T,EAC4B,kBAAzBH,EAAgBj/T,GACf,OAAJ8qF,WAAI,IAAJA,UAAI,EAAJA,KAAMC,UAAUo0O,GAChBA,EACAE,EACoB,KAAb,OAAXD,QAAW,IAAXA,OAAW,EAAXA,EAAathU,QAAeshU,EAAW,IAAAx/T,OAAOw/T,GAC1CE,EAAehiI,GAAoC3+K,QACvD,SAACimH,GAAK,OAAU,OAALA,QAAK,IAALA,OAAK,EAALA,EAAOhgI,SAAUy6T,CAAgB,IAE9CH,EAAUl/T,GAAKkG,KAAiB,OAAZo5T,QAAY,IAAZA,OAAY,EAAZA,EAAe,GACrC,MAAkB,QAAXr1J,EAAI,CAAC,cAAM,IAAAA,GAAPA,EAASlxC,SAAS/4H,GAC3Bk/T,EAAgB,KAAEh5T,KAAK,CACrBR,MAAOkoM,EACPhpM,MAAOgpM,IAGTsxH,EAAUl/T,GAAO,OAEF,WAARA,IAA6C,IAAzBi/T,EAAgBj/T,KAC7Ck/T,EAAUl/T,GAAOi/T,EAAgBj/T,GAErC,IACAs+T,EAAgBY,GAGhB,IAAMK,EAA4B,OAANzgU,aAAM,IAANA,YAAM,EAANA,OAAQa,KAClCb,OAAOqiT,YACLriT,OAAO4sJ,QAAQuzK,GAAiBtgT,QAC9B,SAAAsxJ,GAAA,IAAAkB,GAAA3R,EAAAA,EAAAA,GAAAyQ,EAAA,GAAY,OAAPkB,EAAA,IAAuB,IAAhBA,EAAA,EAAqB,MA0BvCotJ,EArBoB,SAAC3xB,GACnB,IAAY,OAARA,QAAQ,IAARA,OAAQ,EAARA,EAAU9uS,QAAS,EAAG,CACxB,GAAY,OAAR8uS,QAAQ,IAARA,GAAAA,EAAU7zK,SAAS,UAAoB,OAAR6zK,QAAQ,IAARA,GAAAA,EAAU7zK,SAAS,QACpD,MAAO,QACF,GAAY,OAAR6zK,QAAQ,IAARA,GAAAA,EAAU7zK,SAAS,QAAkB,OAAR6zK,QAAQ,IAARA,GAAAA,EAAU7zK,SAAS,QACzD,MAAO,SAEX,KAAO,CACL,GAAsB,SAAV,OAAR6zK,QAAQ,IAARA,OAAQ,EAARA,EAAW,IACb,OAAqB,IAAjBj/F,EACK,OAEA,MAEJ,GAAsB,YAAV,OAARi/F,QAAQ,IAARA,OAAQ,EAARA,EAAW,IACpB,MAAO,SACF,GAAsB,UAAV,OAARA,QAAQ,IAARA,OAAQ,EAARA,EAAW,IACpB,MAAO,MAEX,CACF,CACY4yB,CAAYD,IAGxB,IAEME,GAFuC,OAA3Bx/H,SAA2B,IAA3BA,QAA2B,EAA3BA,GAA6BC,OAEhB5zK,QAAO,SAACmyI,EAAKz+J,GACJ,IAAD0/T,EAAAC,EAAAC,EAArC,GAAY,0BAAR5/T,EACFy+J,EAAIz+J,GAAO,CACTq2F,MAAwB,QAAnBqpO,EAAEvwH,EAAanvM,UAAI,IAAA0/T,GAAU,QAAVC,EAAjBD,EAAmBj/H,gBAAQ,IAAAk/H,OAAV,EAAjBA,EAA6B/6T,MACpCg8L,SAA2B,QAAnBg/H,EAAEzwH,EAAanvM,UAAI,IAAA4/T,OAAA,EAAjBA,EAAmBh/H,eAE1B,GAAY,wBAAR5gM,EAA+B,CAAC,IAAD6/T,EAAAC,EAAAC,EAClCC,EAA6B,QAApBH,EAAG1wH,EAAanvM,UAAI,IAAA6/T,GAAU,QAAVC,EAAjBD,EAAmBj/H,gBAAQ,IAAAk/H,GAC9B,QAD8BC,EAA3BD,EACdvzQ,MAAM,aAAK,IAAAwzQ,OADoB,EAAjBA,EAEdnuT,KAAI,SAACg/B,GACL,MAAO,CACLlrC,MAAOkrC,EACPhsC,MAAOgsC,EAEX,IACF6tH,EAAIz+J,GAAO,CACTygM,SAAUu/H,GAEZhC,EAA8BgC,EAChC,MAAO,GAAY,aAARhgU,EAAoB,CAAC,IAADigU,EAAAC,EAAAC,EACvBC,EAAkC,QAApBH,EAAG9wH,EAAanvM,UAAI,IAAAigU,GAAO,QAAPC,EAAjBD,EAAmBt8R,aAAK,IAAAu8R,OAAP,EAAjBA,EAA0B3zQ,MAAM,OACvDkyG,EAAIz+J,GAAO,CACTygM,SAA2B,QAAnB0/H,EAAEhxH,EAAanvM,UAAI,IAAAmgU,OAAA,EAAjBA,EAAmB1/H,SAC7B98J,OAAqB,OAAdy8R,QAAc,IAAdA,OAAc,EAAdA,EAAiB,KAAM,GAC9B1/H,QAAsB,OAAd0/H,QAAc,IAAdA,OAAc,EAAdA,EAAiB,KAAM,GAEnC,MAAWjxH,EAAa1rM,eAAezD,GACrCy+J,EAAIz+J,GAAOmvM,EAAanvM,GACdmvM,EAAa1rM,eAAezD,KACtCy+J,EAAIz+J,GAA8B,OAAvBogM,SAAuB,IAAvBA,QAAuB,EAAvBA,GAAyBF,MAAMlgM,IAE5C,OAAOy+J,CACT,GAAG,CAAC,GAEJ+/J,EAAaiB,GAGb,IAAMY,EAAsC,OAA3BpgI,SAA2B,IAA3BA,QAA2B,EAA3BA,GAA6BE,KAIxCmgI,EAA0D,OAAnCliI,SAAmC,IAAnCA,IACuB,QADY0gI,EAAnC1gI,GACzBx+L,OAAO0+L,WAAyC,IAAAwgI,OADY,EAAnCA,EAEzBl/T,OAAO4+L,IAEL+hI,EAAcF,EAAS/zS,QAAO,SAACmyI,EAAKz+J,GAAS,IAADwgU,EAEhD,GAAY,OAARH,QAAQ,IAARA,GAAmB,QAAXG,EAARH,EAAU75T,OAAO,UAAE,IAAAg6T,GAAnBA,EAAqBznM,SAAS/4H,GAAM,CAAC,IAADygU,EAAAC,EAEhCC,EAAmC,QAApBF,EAAGtxH,EAAanvM,UAAI,IAAAygU,OAAA,EAAjBA,EAAmB1/H,SAASpiL,QAAO,SAACiyB,GAAI,OAC9D0vR,EAAqBvnM,SAASnoF,EAAK,IAG/BgwR,EAAmC,QAApBF,EAAGvxH,EAAanvM,UAAI,IAAA0gU,OAAA,EAAjBA,EAAmB3/H,SAASpiL,QAClD,SAACiyB,GAAI,OAAM0vR,EAAqBvnM,SAASnoF,EAAK,IAG1CiwR,GACW,OAAfD,QAAe,IAAfA,OAAe,EAAfA,EAAiB9iU,QAAS,EACP,OAAf6iU,QAAe,IAAfA,OAAe,EAAfA,EAAiB/gU,OAAO,CAAC,UACzB+gU,EAENliK,EAAIz+J,GAAO,CACT+gM,SAAU8/H,EACVjgI,UAAyB,OAAfggI,QAAe,IAAfA,OAAe,EAAfA,EAAkB,KAAM,GAEtC,MAAWzxH,EAAa1rM,eAAezD,GACrCy+J,EAAIz+J,GAAOmvM,EAAanvM,GACdmvM,EAAa1rM,eAAezD,KACtCy+J,EAAIz+J,GAA8B,OAAvBogM,SAAuB,IAAvBA,QAAuB,EAAvBA,GAAyBD,KAAKngM,IAE3C,OAAOy+J,CACT,GAAG,CAAC,GACJggK,EAAY8B,GAGZ,IAAMO,EAA0C,OAA3B7gI,SAA2B,IAA3BA,QAA2B,EAA3BA,GAA6BL,SAG5CmhI,EACyC,OAA7CliI,SAA6C,IAA7CA,IAAwD,QAAXkgI,EAA7ClgI,GAA+CC,iBAAS,IAAAigI,GACa,QADbC,EAAxDD,EACIn/T,OAAoD,OAA7Ci/L,SAA6C,IAA7CA,QAA6C,EAA7CA,GAA+CE,mBAAW,IAAAigI,OADxB,EAA7CA,EAEIp/T,OAAoD,OAA7Ci/L,SAA6C,IAA7CA,QAA6C,EAA7CA,GAA+CG,aACtDgiI,EAAkBF,EAAax0S,QAAO,SAACmyI,EAAKz+J,GAAS,IAADihU,EACxD,GAAgB,OAAZH,QAAY,IAAZA,GAAuB,QAAXG,EAAZH,EAAct6T,OAAO,UAAE,IAAAy6T,GAAvBA,EAAyBloM,SAAS/4H,GAAM,CAAC,IAADkhU,EAAAC,EAEpCR,EAAmC,QAApBO,EAAG/xH,EAAanvM,UAAI,IAAAkhU,OAAA,EAAjBA,EAAmBngI,SAASpiL,QAAO,SAACiyB,GAAI,OACtC,OAAxBmwR,QAAwB,IAAxBA,OAAwB,EAAxBA,EAA0BhoM,SAASnoF,EAAK,IAGpCgwR,EAA8B,OAAZzxH,QAAY,IAAZA,GAAmB,QAAPgyH,EAAZhyH,EAAenvM,UAAI,IAAAmhU,OAAP,EAAZA,EAAqBpgI,SAASpiL,QACpD,SAACiyB,GAAI,QAA8B,OAAxBmwR,QAAwB,IAAxBA,GAAAA,EAA0BhoM,SAASnoF,GAAK,IAG/CiwR,GACW,OAAfD,QAAe,IAAfA,OAAe,EAAfA,EAAiB9iU,QAAS,EACP,OAAf6iU,QAAe,IAAfA,OAAe,EAAfA,EAAiB/gU,OAAO,CAAC,UACzB+gU,EAENliK,EAAIz+J,GAAO,CACT+gM,SAAU8/H,EACVjgI,UAAyB,OAAfggI,QAAe,IAAfA,OAAe,EAAfA,EAAkB,KAAM,GAEtC,MAAWzxH,EAAa1rM,eAAezD,GACrCy+J,EAAIz+J,GAAOmvM,EAAanvM,GACdmvM,EAAa1rM,eAAezD,KACtCy+J,EAAIz+J,GAA8B,OAAvBogM,SAAuB,IAAvBA,QAAuB,EAAvBA,GAAyBR,SAAS5/L,IAE/C,OAAOy+J,CACT,GAAG,CAAC,GACJigK,EAAgBsC,GAGhB,IACMI,GADwC,OAA3BnhI,SAA2B,IAA3BA,QAA2B,EAA3BA,GAA6BvvJ,QACfpkB,QAAO,SAACmyI,EAAKz+J,GAM5C,OALImvM,EAAa1rM,eAAezD,GAC9By+J,EAAIz+J,GAAOmvM,EAAanvM,GACdmvM,EAAa1rM,eAAezD,KACtCy+J,EAAIz+J,GAA8B,OAAvBogM,SAAuB,IAAvBA,QAAuB,EAAvBA,GAAyB1vJ,OAAO1wC,IAEtCy+J,CACT,GAAG,CAAC,GACJkgK,EAAcyC,GAEd,IAEMC,GAFwC,OAA3BphI,SAA2B,IAA3BA,QAA2B,EAA3BA,GAA6BH,QAEfxzK,QAAO,SAACmyI,EAAKz+J,GAM5C,OALImvM,EAAa1rM,eAAezD,GAC9By+J,EAAIz+J,GAAOmvM,EAAanvM,GACdmvM,EAAa1rM,eAAezD,KACtCy+J,EAAIz+J,GAA8B,OAAvBogM,SAAuB,IAAvBA,QAAuB,EAAvBA,GAAyBN,OAAO9/L,IAEtCy+J,CACT,GAAG,CAAC,GACJmgK,EAAcyC,GAGd,IACMC,GAD4C,OAA3BrhI,SAA2B,IAA3BA,QAA2B,EAA3BA,GAA6BF,YACXzzK,QAAO,SAACmyI,EAAKz+J,GAMpD,OALImvM,EAAa1rM,eAAezD,GAC9By+J,EAAIz+J,GAAOmvM,EAAanvM,GACdmvM,EAAa1rM,eAAezD,KACtCy+J,EAAIz+J,GAA8B,OAAvBogM,SAAuB,IAAvBA,QAAuB,EAAvBA,GAAyBL,WAAW//L,IAE1Cy+J,CACT,GAAG,CAAC,GACJogK,EAAkByC,EAGpB,IACC3iS,OAAM,WAAO,IAAG,KAAD,mBAAApgB,EAAA8L,OAAA,GAAAmxJ,EAAA,MACnBn3K,MAAA,KAAAnG,UAAA,CChLOqjU,CACEvE,EACAF,EACAI,EACAE,EACAE,EACAE,EACAE,EACAE,GACAI,IAEFjb,GACE6B,IACA,WAAO,IACP,WAAO,IAET8X,GAAmB,EACrB,GACF,MAAW1jT,MAAuB,OAAbk8J,SAAa,IAAbA,QAAa,EAAbA,GAAel8J,SAClC4jT,EAAoB3jJ,IACpByjJ,GAAmB,GAEvB,GAAG,CAACD,EAAiBzjT,KAGrB,IAiDMwoT,GAAgBhpJ,GAAAA,GAAAA,GAAAA,GAAAA,GAAAA,GAAA,CACpBipJ,WAlDuB,SAAC79H,EAAU89H,GAElC,IAC8BC,EAAAC,EAAAC,EAAAC,EAQSC,EAAAC,EAAAC,EAAAC,EAQHC,EAAAC,EAgBEC,EAAAC,EAjChCpzH,EAAewyH,EAAiBa,oBACtC,MAAqB,UAAjBrzH,EACK,CACLtqE,MAAe,OAARg/D,QAAQ,IAARA,GAAe,QAAP+9H,EAAR/9H,EAAUh/D,aAAK,IAAA+8L,GAAK,QAALC,EAAfD,EAAkB,UAAE,IAAAC,OAAZ,EAARA,EAAsBh9T,MAC7Bi1K,KAAc,OAAR+pB,QAAQ,IAARA,GAAc,QAANi+H,EAARj+H,EAAU/pB,YAAI,IAAAgoJ,GAAK,QAALC,EAAdD,EAAiB,UAAE,IAAAC,OAAX,EAARA,EAAqBl9T,MAC3By7L,KAAK,EACLC,KAAK,EACLC,QAAQ,GAEgB,YAAjB2O,EACF,CACLtqE,OAAO,EACPi1C,KAAc,OAAR+pB,QAAQ,IAARA,GAAc,QAANm+H,EAARn+H,EAAU/pB,YAAI,IAAAkoJ,GAAK,QAALC,EAAdD,EAAiB,UAAE,IAAAC,OAAX,EAARA,EAAqBp9T,MAC3By7L,IAAa,OAARuD,QAAQ,IAARA,GAAa,QAALq+H,EAARr+H,EAAUvD,WAAG,IAAA4hI,GAAK,QAALC,EAAbD,EAAgB,UAAE,IAAAC,OAAV,EAARA,EAAoBt9T,MACzB07L,KAAK,EACLC,QAAQ,GAEgB,SAAjB2O,EACF,CACLtqE,OAAO,EACPi1C,KAAc,OAAR+pB,QAAQ,IAARA,GAAc,QAANu+H,EAARv+H,EAAU/pB,YAAI,IAAAsoJ,GAAK,QAALC,EAAdD,EAAiB,UAAE,IAAAC,OAAX,EAARA,EAAqBx9T,MAC3By7L,KAAK,EACLC,KAAK,EACLC,QAAQ,GAEgB,QAAjB2O,EACF,CACLtqE,OAAO,EACPi1C,MAAM,EACNwmB,KAAK,EACLC,KAAK,EACLC,QAAQ,GAEgB,WAAjB2O,EACF,CACLtqE,OAAO,EACPi1C,MAAM,EACNwmB,KAAK,EACLC,KAAK,EACLC,OAAQ,CACNp1L,MAAe,OAARy4L,QAAQ,IAARA,GAAgB,QAARy+H,EAARz+H,EAAUrD,cAAM,IAAA8hI,OAAR,EAARA,EAAkBl3T,MACzBC,IAAa,OAARw4L,QAAQ,IAARA,GAAgB,QAAR0+H,EAAR1+H,EAAUrD,cAAM,IAAA+hI,OAAR,EAARA,EAAkBl3T,WARtB,CAYT,CAGco3T,CAAiBzF,EAAuBF,IACjDI,GAAe,IAClBz8H,SAAU,CACRC,SAAyB,OAAfw8H,QAAe,IAAfA,GAAyB,QAAVpB,EAAfoB,EAAiBz8H,gBAAQ,IAAAq7H,OAAV,EAAfA,EAA2Bp7H,SACrC98J,OACiB,OAAfs5R,QAAe,IAAfA,GAAyB,QAAVnB,EAAfmB,EAAiBz8H,gBAAQ,IAAAs7H,GAAQ,QAARC,EAAzBD,EAA2Bp7H,cAAM,IAAAq7H,OAAlB,EAAfA,EAAmCj+T,QAAS,GACzB,OAAfm/T,QAAe,IAAfA,GAAyB,QAAVjB,EAAfiB,EAAiBz8H,gBAAQ,IAAAw7H,OAAV,EAAfA,EAA2Br4R,OAC3B,OACe,OAAfs5R,QAAe,IAAfA,GAAyB,QAAVhB,EAAfgB,EAAiBz8H,gBAAQ,IAAAy7H,OAAV,EAAfA,EAA2Bv7H,QACZ,OAAfu8H,QAAe,IAAfA,GAAyB,QAAVf,EAAfe,EAAiBz8H,gBAAQ,IAAA07H,OAAV,EAAfA,EAA2Bv4R,OAEnCu9J,oBAAqB,CACnBN,SAAyB,OAAfq8H,QAAe,IAAfA,GAAoC,QAArBd,EAAfc,EAAiB/7H,2BAAmB,IAAAi7H,GAAU,QAAVC,EAApCD,EAAsC17H,gBAAQ,IAAA27H,GAC1B,QAD0BC,EAA9CD,EACNxqT,KAAI,SAACg/B,GAAI,OAAS,OAAJA,QAAI,IAAJA,OAAI,EAAJA,EAAMhsC,KAAK,WAAC,IAAAy3T,OADL,EAAfA,EAENx9S,KAAK,OAEXoiL,sBAAuB,CACrBR,SAAU,CACR/6L,MAAsB,OAAfu3T,QAAe,IAAfA,GAAsC,QAAvBX,EAAfW,EAAiBh8H,6BAAqB,IAAAq7H,OAAvB,EAAfA,EAAwCjmO,MAC/CzxF,MAAsB,OAAfq4T,QAAe,IAAfA,GAAsC,QAAvBV,EAAfU,EAAiBh8H,6BAAqB,IAAAs7H,OAAvB,EAAfA,EAAwClmO,OAEjD1yD,MAAsB,OAAfs5R,QAAe,IAAfA,GAAsC,QAAvBT,EAAfS,EAAiBh8H,6BAAqB,IAAAu7H,OAAvB,EAAfA,EAAwC57H,WAE9Cu8H,GACAE,GACAE,GACAE,GACAE,IAGC/4T,GAAQ,CACZ63T,gBAAAA,EACAE,iBAAAA,EACAE,mBAAAA,EACAC,sBAAAA,EACAC,sBAAAA,EACAC,yBAAAA,EACAC,gBAAAA,EACAC,mBAAAA,EACAC,eAAAA,EACAC,kBAAAA,EACAC,mBAAAA,EACAC,sBAAAA,EACAC,iBAAAA,EACAC,oBAAAA,EACAC,iBAAAA,EACAC,oBAAAA,EACAC,qBAAAA,GACAC,wBAAAA,GACA4D,iBAAAA,GACA3D,sBAAAA,GACAC,yBAAAA,GACAC,2BAAAA,GACAC,8BAAAA,GACAC,qBAAAA,GACAC,wBAAAA,GACAvZ,uBAAAA,IAGF,OACE3mI,EAAAA,GAAAA,KAAC09I,GAAc5jK,SAAQ,CAAClzJ,MAAOA,GAAM0iG,SAAEA,GAE3C,EAEA,MCxNe,SAASm7N,GAAoBr/J,GAMxC,IAADs/J,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EALDl3H,EAAU1pC,EAAV0pC,WACA+wH,EAAqBz6J,EAArBy6J,sBACA9wH,EAAW3pC,EAAX2pC,YACAC,EAAa5pC,EAAb4pC,cACAJ,EAAUxpC,EAAVwpC,WAGA9sB,GAKI7rC,EAAAA,EAAAA,YAAWynL,IAJbmB,EAAkB/8I,EAAlB+8I,mBACAC,EAAqBh9I,EAArBg9I,sBACAC,EAAqBj9I,EAArBi9I,sBACAC,EAAwBl9I,EAAxBk9I,yBAKIrvH,GADc,IAAIrnJ,MACSy2B,WAAa,GAE9Cm3D,EAAAA,EAAAA,YAAU,WAAO,IAAD+vL,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAERxiB,EAAoC,OAArB0a,QAAqB,IAArBA,GAA2B,QAANkH,EAArBlH,EAAuBljJ,YAAI,IAAAoqJ,GAAK,QAALC,EAA3BD,EAA8B,UAAE,IAAAC,GAAO,QAAPC,EAAhCD,EAAkCt/T,aAAK,IAAAu/T,OAAlB,EAArBA,EAAyCxvS,WACxDmwS,EAAqC,OAArB/H,QAAqB,IAArBA,GAA4B,QAAPqH,EAArBrH,EAAuBn4L,aAAK,IAAAw/L,GAAK,QAALC,EAA5BD,EAA+B,UAAE,IAAAC,GAAO,QAAPC,EAAjCD,EAAmCz/T,aAAK,IAAA0/T,OAAnB,EAArBA,EAA0C3vS,WAC1DowS,EAAuC,OAArBhI,QAAqB,IAArBA,GAA0B,QAALwH,EAArBxH,EAAuB18H,WAAG,IAAAkkI,GAAK,QAALC,EAA1BD,EAA6B,UAAE,IAAAC,GAAO,QAAPC,EAA/BD,EAAiC5/T,aAAK,IAAA6/T,OAAjB,EAArBA,EAAwC9vS,WAE1DqwS,IACQ,OAAXj4H,QAAW,IAAXA,GAA2B,QAAhB23H,EAAX33H,EAAcs1G,UAAa,IAAAqiB,GAE1B,QAF0BC,EAA3BD,EAA6B/lT,QAAO,SAACiyB,GACpC,OAAW,OAAJA,QAAI,IAAJA,OAAI,EAAJA,EAAMhsC,SAAUkgU,CACzB,WAAE,IAAAH,GAFDA,EAEG7mU,QAAS,EAETmnU,IACU,OAAbj4H,QAAa,IAAbA,GAA6B,QAAhB43H,EAAb53H,EAAgBq1G,UAAa,IAAAuiB,GAE5B,QAF4BC,EAA7BD,EAA+BjmT,QAAO,SAACiyB,GACtC,OAAW,OAAJA,QAAI,IAAJA,OAAI,EAAJA,EAAMhsC,SAAUmgU,CACzB,WAAE,IAAAF,GAFDA,EAEG/mU,QAAS,EAEXknU,GAAqC,UAAvBnI,EAChBG,EAAwBxkJ,GAAAA,GAAC,CAAC,EACrBukJ,GAAqB,IACxBn4L,MAAO,MAEAqgM,GAAuC,YAAvBpI,GACzBG,EAAwBxkJ,GAAAA,GAAC,CAAC,EACrBukJ,GAAqB,IACxB18H,IAAK,KAGX,GAAG,CAAsB,OAArB08H,QAAqB,IAArBA,OAAqB,EAArBA,EAAuBljJ,OAG3B,IAKMqrH,EAAuB,SAAChlS,EAAGvC,GAC/Bq/T,EAAwBxkJ,GAAAA,GAAC,CAAC,EACrBukJ,GAAqB,IAAAv+J,EAAAA,GAAAA,GAAA,GACvB7gK,EAAO,CAACuC,KAEb,EAGMusS,EAAqB,SAACvsS,EAAGvC,GAC7Bq/T,EAAwBxkJ,GAAAA,GAAC,CAAC,EACrBukJ,GAAqB,IACxBx8H,OAAM/nB,GAAAA,GAAA,GACoB,OAArBukJ,QAAqB,IAArBA,OAAqB,EAArBA,EAAuBx8H,QAAM,IAAA/hC,EAAAA,GAAAA,GAAA,GAC/B7gK,EAAOuC,EAAEwwC,OAAO9rC,UAGvB,EAGMsgU,EAAY,CAAC,OAAQ,QAAS,WAAWnsM,SAC7C8jM,KAEA7+I,EAAAA,GAAAA,KAAC+nI,GAAc,CACbv0S,SAAmB,OAAVs7L,QAAU,IAAVA,OAAU,EAAVA,EAAYz3B,cAAe,GACpC6tH,gBAAsC,OAArB65B,QAAqB,IAArBA,OAAqB,EAArBA,EAAuBljJ,KACxC+gC,aAAY,oEACZqrG,gBAAiB,gBACjBtgK,SAAU,SAACzlJ,GAAC,OAAKglS,EAAqBhlS,EAAG,OAAO,IAK9CilU,EAAsC,YAAvBtI,IACnB7+I,EAAAA,GAAAA,KAAC+nI,GAAc,CACbv0S,QAASw7L,EAAmC,OAArB+vH,QAAqB,IAArBA,GAA2B,QAAN2F,EAArB3F,EAAuBljJ,YAAI,IAAA6oJ,GAAK,QAALC,EAA3BD,EAA8B,UAAE,IAAAC,OAAX,EAArBA,EAAkC/9T,QAAU,GACnEs+R,gBAAsC,OAArB65B,QAAqB,IAArBA,OAAqB,EAArBA,EAAuB18H,IACxCua,aAAY,yCAAAh7M,OACY,OAArBm9T,QAAqB,IAArBA,GAA2B,QAAN6F,EAArB7F,EAAuBljJ,YAAI,IAAA+oJ,GAAK,QAALC,EAA3BD,EAA8B,UAAE,IAAAC,GAAhCA,EAAkCj+T,MAAsB,GAAd,YAAgB,+BAE7D0+R,gBAAe,mCAAA1jS,OACS,OAArBm9T,QAAqB,IAArBA,GAA2B,QAAN+F,EAArB/F,EAAuBljJ,YAAI,IAAAipJ,GAAK,QAALC,EAA3BD,EAA8B,UAAE,IAAAC,GAAhCA,EAAkCn+T,MAAsB,GAAd,YAAgB,oBAE7DqhT,gBAAiB,mBACjBtgK,SAAU,SAACzlJ,GAAC,OAAKglS,EAAqBhlS,EAAG,MAAM,EAC/C45H,WAAgC,OAArBijM,QAAqB,IAArBA,GAA2B,QAANiG,EAArBjG,EAAuBljJ,YAAI,IAAAmpJ,GAAK,QAALC,EAA3BD,EAA8B,UAAE,IAAAC,GAAhCA,EAAkCr+T,SAK3CwgU,EAAoC,UAAvBvI,IACjB7+I,EAAAA,GAAAA,KAAC+nI,GAAc,CACbv0S,QAASu7L,EAAiC,OAArBgwH,QAAqB,IAArBA,GAA2B,QAANmG,EAArBnG,EAAuBljJ,YAAI,IAAAqpJ,GAAK,QAALC,EAA3BD,EAA8B,UAAE,IAAAC,OAAX,EAArBA,EAAkCv+T,QAAU,GACjEs+R,gBAAsC,OAArB65B,QAAqB,IAArBA,OAAqB,EAArBA,EAAuBn4L,MACxCg2E,aAAY,yCAAAh7M,OACY,OAArBm9T,QAAqB,IAArBA,GAA2B,QAANqG,EAArBrG,EAAuBljJ,YAAI,IAAAupJ,GAAK,QAALC,EAA3BD,EAA8B,UAAE,IAAAC,GAAhCA,EAAkCz+T,MAAsB,GAAd,YAAgB,+BAE7D0+R,gBAAe,mCAAA1jS,OACS,OAArBm9T,QAAqB,IAArBA,GAA2B,QAANuG,EAArBvG,EAAuBljJ,YAAI,IAAAypJ,GAAK,QAALC,EAA3BD,EAA8B,UAAE,IAAAC,GAAhCA,EAAkC3+T,MAAsB,GAAd,YAAgB,oBAE7DqhT,gBAAiB,iBACjBtgK,SAAU,SAACzlJ,GAAC,OAAKglS,EAAqBhlS,EAAG,QAAQ,EACjD45H,WAAgC,OAArBijM,QAAqB,IAArBA,GAA2B,QAANyG,EAArBzG,EAAuBljJ,YAAI,IAAA2pJ,GAAK,QAALC,EAA3BD,EAA8B,UAAE,IAAAC,GAAhCA,EAAkC7+T,SAK3CygU,EAAoC,WAAvBxI,IACjBr8I,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAn5E,SAAA,EACE02E,EAAAA,GAAAA,KAACquH,GAAU,CACTO,SAAS,QACTE,gBAAgB,EAChBpnS,OAAOs4K,EAAAA,GAAAA,KAAA,OAAKx3I,UAAU,aAAY8gE,SAAC,eACnCmlM,mBAAoB,SAACvsS,GAAC,OAAKusS,EAAmBvsS,EAAG,QAAQ,EACzDgvM,aAAmC,OAArB6tH,QAAqB,IAArBA,GAA6B,QAAR2G,EAArB3G,EAAuBx8H,cAAM,IAAAmjI,OAAR,EAArBA,EAA+Bv4T,MAC7C6hS,QAAO,GAAAptS,OAAe,OAAVgtM,QAAU,IAAVA,GAAe,QAAL+2H,EAAV/2H,EAAa,UAAE,IAAA+2H,OAAL,EAAVA,EAAiB/+T,OAC7Bg2M,aAAa,sCAEf58B,EAAAA,GAAAA,KAACquH,GAAU,CACTO,SAAS,QACTE,gBAAgB,EAChBpnS,OAAOs4K,EAAAA,GAAAA,KAAA,OAAKx3I,UAAU,aAAY8gE,SAAC,aACnCmlM,mBAAoB,SAACvsS,GAAC,OAAKusS,EAAmBvsS,EAAG,MAAM,EACvDgvM,aAAmC,OAArB6tH,QAAqB,IAArBA,GAA6B,QAAR6G,EAArB7G,EAAuBx8H,cAAM,IAAAqjI,OAAR,EAArBA,EAA+Bx4T,IAC7C4hS,SAA8B,OAArB+vB,QAAqB,IAArBA,GAA6B,QAAR8G,EAArB9G,EAAuBx8H,cAAM,IAAAsjI,OAAR,EAArBA,EAA+B14T,QAAS,KACjDyvM,aAAa,mCACb9gF,WAAgC,OAArBijM,QAAqB,IAArBA,GAA6B,QAAR+G,EAArB/G,EAAuBx8H,cAAM,IAAAujI,GAAO,QAAPC,EAA7BD,EAA+B34T,aAAK,IAAA44T,GAApCA,EAAsCjmU,QAAS,OAK1DwnU,EAAiC,QAAvBzI,IACd7+I,EAAAA,GAAAA,KAAAyC,GAAAA,SAAA,CAAAn5E,UACE02E,EAAAA,GAAAA,KAAA,OAAKx3I,UAAU,kBAAiB8gE,SAAC,mBAIrC,OACEk5E,EAAAA,GAAAA,MAAA,OAAKh6I,UAAU,+BAA8B8gE,SAAA,EAC3Ck5E,EAAAA,GAAAA,MAAA,OAAKh6I,UAAU,qBAAoB8gE,SAAA,EACjC02E,EAAAA,GAAAA,KAAA,KAAGx3I,UAAU,aAAY8gE,SAAA,gBACzB02E,EAAAA,GAAAA,KAAC+nI,GAAc,CACbv0S,QACmB,IAAjBm8L,EAC+B,OAA3BzQ,SAA2B,IAA3BA,IACe,QADY8mI,EAA3B9mI,GACI12L,MAAM,EAAG,UAAE,IAAAw9T,OADY,EAA3BA,EAEIpkU,OAAkC,OAA3Bs9L,SAA2B,IAA3BA,QAA2B,EAA3BA,GAA6B12L,MAAM,IAC9C02L,GAEN+oH,gBAAiB,sBACjBtgK,SAAU,SAACzlJ,GAAC,OAlHM,SAACA,GACzB48T,EAAuB,OAAD58T,QAAC,IAADA,OAAC,EAADA,EAAG0E,MAC3B,CAgHyB2gU,CAAkBrlU,EAAE,EACrCgjS,gBACE25B,EACI,CAAC,CAAEn3T,MAAOm3T,EAAoBj4T,MAAOi4T,IACrC,SAIV7+I,EAAAA,GAAAA,KAAA,OAAKx3I,UAAU,wBAAuB8gE,UACpCk5E,EAAAA,GAAAA,MAAA,OAAKh6I,UAAU,6BAA4B8gE,SAAA,EACzC02E,EAAAA,GAAAA,KAAA,KAAA12E,SAAIu2N,KACJr9I,EAAAA,GAAAA,MAAA,OAAKh6I,UAAU,iCAAgC8gE,SAAA,CAC5C49N,EACAE,EACAD,EACAE,EACAC,YAMb,CC5Le,SAASE,GAAqBpiK,GAGzC,IAFFy6J,EAAqBz6J,EAArBy6J,sBACAC,EAAwB16J,EAAxB06J,yBAGM2H,EAAuB,SAACvlU,EAAGvC,GAClB,SAATA,EACFmgU,EACe,OAAb99H,SAAa,IAAbA,QAAa,EAAbA,IACe,OAAbA,SAAa,IAAbA,QAAa,EAAbA,GAAex9C,WAAU,SAAC5xG,GAAI,OAAKA,IAASitR,CAAqB,KAAI,IAGvD,SAATlgU,GACTmgU,EACe,OAAb99H,SAAa,IAAbA,QAAa,EAAbA,IACe,OAAbA,SAAa,IAAbA,QAAa,EAAbA,GAAex9C,WAAU,SAAC5xG,GAAI,OAAKA,IAASitR,CAAqB,KAAI,GAI7E,EAEA,OACE7/I,EAAAA,GAAAA,KAAA,OAAKx3I,UAAU,+BAA8B8gE,UAC3Ck5E,EAAAA,GAAAA,MAAA,OAAKh6I,UAAU,wBAAuB8gE,SAAA,EACpC02E,EAAAA,GAAAA,KAAA,WACAwC,EAAAA,GAAAA,MAAA,OAAKh6I,UAAU,wBAAuB8gE,SAAA,CACT,iBAA1Bu2N,IACC7/I,EAAAA,GAAAA,KAACjlF,GAAM,CACL4gM,WAAY,OACZnzP,UAAU,wBACV0yG,QAAS,SAACh5I,GAAC,OAAKulU,EAAqBvlU,EAAG,OAAO,IAGxB,eAA1B29T,IACC7/I,EAAAA,GAAAA,KAACjlF,GAAM,CACL4gM,WAAY,OACZnzP,UAAU,sBACV0yG,QAAS,SAACh5I,GAAC,OAAKulU,EAAqBvlU,EAAG,OAAO,WAO7D,CC1Ce,SAASwlU,GAActiK,GAGlC,IAFFuiK,EAA6BviK,EAA7BuiK,8BACAC,EAA0BxiK,EAA1BwiK,2BAGA9lJ,GASI7rC,EAAAA,EAAAA,YAAWynL,IARbuB,EAAen9I,EAAfm9I,gBACAE,EAAcr9I,EAAdq9I,eACAE,EAAkBv9I,EAAlBu9I,mBACAE,EAAgBz9I,EAAhBy9I,iBACAE,EAAgB39I,EAAhB29I,iBACAE,EAAoB79I,EAApB69I,qBACAE,EAAqB/9I,EAArB+9I,sBACAC,EAAwBh+I,EAAxBg+I,yBAGI+H,EAAoB,CACxBC,aAAc7I,EACd,wBAAyBE,EACzB4I,SAAU1I,EACV,sBAAuBE,EACvByI,OAAQvI,EACRwI,WAAYtI,GAGRuI,EAAoC,OAAblmI,SAAa,IAAbA,QAAa,EAAbA,GAAepuL,KAAI,SAACg/B,GAC/C,IAAMu1R,EAAqB,CAAC,wBAAyB,uBAC/CC,EAA+B,OAAlBD,QAAkB,IAAlBA,GAAAA,EAAoBptM,SAASnoF,GAAQ,EAAI,EACtDy1R,EAAsB,aAATz1R,EACnB,MAAO,CACLlrC,OACE86K,EAAAA,GAAAA,MAAA,OAAKh6I,UAAU,8BAA6B8gE,SAAA,CACzC12D,EACS,wBAATA,IACCotI,EAAAA,GAAAA,KAACu9G,GAAW,CACVC,gBAAiBmqC,EACE,OAAjBE,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAoBj1R,IACpB,EACAw1R,EACAC,GAEFvqC,2BAA4B,4BAC5B/5C,UAAU,OAKlBn9O,MAAOgsC,EAEX,IAEA,OACE4vI,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAn5E,SAAA,EACE02E,EAAAA,GAAAA,KAACo5G,GAAoB,CACnB5lR,QAAS00T,EACT3uC,eAAgBsmC,EAChBpmC,kBAAmBqmC,EACnBljH,aAAa,yBACbg9E,iBAAiB,kCAElBguC,IAGP,CCyLO,SAASU,GAAa5vM,GAC3B,OAAOooD,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,MAAM,QAAU,aAAa,MAAQ,CAAC,CAAC,IAAM,IAAI,KAAO,CAAC,EAAE,MAAQ,IAAI,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,oIAAxIA,CAA6QpoD,EACtR,iGC7Pe,SAAS6vM,GAAQnjK,GAU5B,IAADu3C,EAAAv3C,EATDw3C,aAAAA,OAAY,IAAAD,EAAG,2BAA0BA,EAAA6sF,EAAApkI,EACzC19J,MAAAA,OAAK,IAAA8hS,GAAGxpH,EAAAA,GAAAA,KAAAyC,GAAAA,SAAA,IAAK+mH,EAAAC,EAAArkI,EACbx+J,MAAAA,OAAK,IAAA6iS,EAAG,GAAEA,EAAAC,EAAAtkI,EACVhqC,SAAAA,OAAQ,IAAAsuK,EAAG,WAAO,EAACA,EAAA9T,EAAAxwH,EACnBh9G,GAAAA,OAAE,IAAAwtO,EAAG,GAAEA,EAAAiU,EAAAzkI,EACP58H,UAAAA,OAAS,IAAAqhQ,EAAG,oBAAmBA,EAAAhE,EAAAzgI,EAC/B9/H,YAAAA,OAAW,IAAAugQ,EAAG,gBAAeA,EAAA2iC,EAAApjK,EAC7BqjK,YAAAA,OAAW,IAAAD,GAAQA,EAChB9vM,EAAKmiF,GAAAz1C,EAAAwP,IAeF8zJ,EAA6BD,GAAe,IAAM7hU,EAAM9G,OAGxD6oU,GACJnmJ,EAAAA,GAAAA,MAAA,OACEh6I,UAAS,2BAAA5mC,OACP6mU,GAAeC,EAA6B,GAAK,GAAK,QACrDp/N,SAAA,CAEFm/N,GAAeC,EAA4B,IAC3CD,GAAkB,0BAIvB,OACEzoJ,EAAAA,GAAAA,KAAAyC,GAAAA,SAAA,CAAAn5E,UACEk5E,EAAAA,GAAAA,MAAA,OAAKh6I,UAAWo0K,EAAatzG,SAAA,CAC1B5hG,GACDs4K,EAAAA,GAAAA,KAAA,WAAAxF,GAAA,CACE7yB,SA/BqB,SAACzlJ,GACxBumU,GAAevmU,EAAEwwC,OAAO9rC,MAAM9G,OAAS2oU,IAGzCrtM,EAASl5H,EAAEwwC,OAAO9rC,OACd8xH,EAAMivB,UACRjvB,EAAMivB,SAASzlJ,EAAEwwC,OAAO9rC,OAG9B,EAuBQA,MAAOA,EACPwhD,GAAIA,EACJ5f,UAAWA,EACXlD,YAAaA,GACTozF,IAELiwM,MAIT,6FCtDe,SAASC,GAAaxjK,GAOjC,IAAD0/H,EAAA1/H,EAND5xJ,QAAAA,OAAO,IAAAsxR,EAAG,GAAEA,EAAAG,EAAA7/H,EACZ8/H,gBAAAA,OAAe,IAAAD,EAAG,GAAEA,EAAAE,EAAA//H,EACpBggI,mBAAAA,OAAkB,IAAAD,EAAG,WAAO,EAACA,EAAAxoF,EAAAv3C,EAC7Bw3C,aAAAA,OAAY,IAAAD,EAAG,0BAAyBA,EAAAksH,EAAAzjK,EACxCw0H,iBAAAA,OAAgB,IAAAivC,EAAG,uBAAsBA,EACtCnwM,EAAKmiF,GAAAz1C,EAAAwP,IAYR,OACEoL,EAAAA,GAAAA,KAAA,OAAKx3I,UAAWo0K,EAAatzG,SACnB,OAAP91F,QAAO,IAAPA,OAAO,EAAPA,EAASI,KAAI,SAACkyB,GAAM,OACnB08I,EAAAA,GAAAA,MAAA,OAEEh6I,UAAWoxP,EACX1+I,QAAS,kBACNxiB,EAAMivB,UAAYjvB,EAAMivB,SAAS7hH,IAhBjB,SAACA,GAC1B,IAAMgjS,EAAiB5jC,EAAgBnqK,SAASj1F,EAAOl/B,OACnDs+R,EAAgBvkR,QACd,SAAC44Q,GAAc,OAAKA,IAAmBzzP,EAAOl/B,KAAK,IACpD,GAAAhF,QAAAggK,EAAAA,EAAAA,GACGsjI,GAAe,CAAEp/P,EAAOl/B,QAChCw+R,EAAmB0jC,EACrB,CAUUjvC,CAAmB/zP,EAAO,EAC3BwjE,SAAA,EAED02E,EAAAA,GAAAA,KAAA,SACErgL,KAAK,WACLiH,MAAOk/B,EAAOl/B,MACdg/B,QAASs/P,EAAgBnqK,SAASj1F,EAAOl/B,OACzC+gJ,SAAU,WAAO,KAEnBq4B,EAAAA,GAAAA,KAAA,SAAA12E,SAAQxjE,EAAOp+B,UAbVo+B,EAAOl/B,MAcR,KAId,CCtBe,SAASmiU,GAAW3jK,GAK/B,IAAD44J,EAAAQ,EAAAwK,EAAA/K,EAAAC,EAAA+K,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAJDC,EAAqBvkK,EAArBukK,sBACAC,EAAuBxkK,EAAvBwkK,wBACA96H,EAAU1pC,EAAV0pC,WACAmxH,EAAoB76J,EAApB66J,qBAGAn+I,GAOI7rC,EAAAA,EAAAA,YAAWynL,IANbmB,EAAkB/8I,EAAlB+8I,mBACAE,EAAqBj9I,EAArBi9I,sBACAE,EAAen9I,EAAfm9I,gBACAC,EAAkBp9I,EAAlBo9I,mBACAa,EAA0Bj+I,EAA1Bi+I,2BACAC,EAA6Bl+I,EAA7Bk+I,8BAIMngJ,GAAgB5pC,EAAAA,EAAAA,YAAWwnC,IAA3BoC,aAGR3pC,EAAAA,EAAAA,YAAU,YACsB,OAA1B6pL,QAA0B,IAA1BA,OAA0B,EAA1BA,EAA4BjgU,QAAS,GACvCo/T,GAAmB,SAAC3jC,GAAS,OAAA/gH,GAAAA,GAAA,GACxB+gH,GAAS,IACZr4F,oBAAqB,CAAET,SAAUs9H,IAA4B,GAGnE,GAAG,CAACA,IAGJ,IAiCM8J,EAAuB,WAC3B3K,GAAmB,SAAC3jC,GAAS,OAAA/gH,GAAAA,GAAA,GACxB+gH,GAAS,IACZv4F,mBAAmB,GAADphM,QAAAggK,EAAAA,EAAAA,GACb25H,EAAUv4F,oBAAkB,CAC/B,CAAEP,SAAU,GAAI98J,MAAO,OACxB,GAEL,EAaMmkS,EAA0B,SAAC5nU,EAAGvC,EAAMsL,EAAOvD,GAC/Cw3T,GAAmB,SAAC3jC,GAClB,IAAMwuC,GAAyBnoK,EAAAA,EAAAA,GAAO25H,EAAUv4F,oBAMhD,MALc,aAAVt7L,EACFqiU,EAA0B9+T,GAAOw3L,SAAWvgM,EACzB,UAAVwF,IACTqiU,EAA0B9+T,GAAO06B,MAAQzjC,EAAEwwC,OAAO9rC,OAEpD4zK,GAAAA,GAAA,GACK+gH,GAAS,IAAA/6H,EAAAA,GAAAA,GAAA,GACX7gK,EAAOoqU,GAEZ,GACF,GAGA7zL,EAAAA,EAAAA,YAAU,WAAO,IAADooL,EAAAC,EAAAV,EAAAC,EAAAC,EAEsC,WAAnC,OAAfkB,QAAe,IAAfA,GAAsC,QAAvBX,EAAfW,EAAiBh8H,6BAAqB,IAAAq7H,OAAvB,EAAfA,EAAwCjmO,QACa,MAAtC,OAAf4mO,QAAe,IAAfA,GAAsC,QAAvBV,EAAfU,EAAiBh8H,6BAAqB,IAAAs7H,OAAvB,EAAfA,EAAwC37H,WAExCs8H,GAAmB,SAAC3jC,GAAS,OAAA/gH,GAAAA,GAAA,GACxB+gH,GAAS,IACZt4F,sBAAuB,CACrB5qG,MAAOkjM,EAAUt4F,sBAAsB5qG,MACvCuqG,SAAU,KACX,IAI4C,WAAhC,OAAfq8H,QAAe,IAAfA,GAAyB,QAAVpB,EAAfoB,EAAiBz8H,gBAAQ,IAAAq7H,GAAU,QAAVC,EAAzBD,EAA2Bp7H,gBAAQ,IAAAq7H,OAApB,EAAfA,EAAqCl3T,QACC,MAAvB,OAAfq4T,QAAe,IAAfA,GAAyB,QAAVlB,EAAfkB,EAAiBz8H,gBAAQ,IAAAu7H,OAAV,EAAfA,EAA2Br7H,SAE3Bw8H,GAAmB,SAAC3jC,GAAS,OAAA/gH,GAAAA,GAAA,GACxB+gH,GAAS,IACZ/4F,SAAU,CACRC,SAAU84F,EAAU/4F,SAASC,SAC7B98J,MAAO41P,EAAU/4F,SAAS78J,MAC1B+8J,OAAQ,KACT,GAGP,GAAG,CACc,OAAfu8H,QAAe,IAAfA,GAAyB,QAAVjB,EAAfiB,EAAiBz8H,gBAAQ,IAAAw7H,OAAV,EAAfA,EAA2Bv7H,SACZ,OAAfw8H,QAAe,IAAfA,GAAsC,QAAvBT,EAAfS,EAAiBh8H,6BAAqB,IAAAu7H,OAAvB,EAAfA,EAAwCnmO,MACzB,OAAf4mO,QAAe,IAAfA,GAAsC,QAAvB+J,EAAf/J,EAAiBh8H,6BAAqB,IAAA+lI,OAAvB,EAAfA,EAAwCpmI,SACxCs8H,IAIF,IAAM8K,EAAsB,CAC1B,GAAGhqJ,EAAAA,GAAAA,KAAA,KAAGx3I,UAAU,6BAA4B8gE,SAAEu2E,IAC9C,GACE2C,EAAAA,GAAAA,MAAA,OAAKh6I,UAAU,uBAAsB8gE,SAAA,EACnC02E,EAAAA,GAAAA,KAAC+nI,GAAc,CACbv0S,QAASisL,IAAiC,GAC1CylG,gBAAiB,CAAgB,OAAf+5B,QAAe,IAAfA,GAAyB,QAAVhB,EAAfgB,EAAiBz8H,gBAAQ,IAAAy7H,OAAV,EAAfA,EAA2Bx7H,UAC7CwlH,gBAAgB,mBAChBrrG,aAAa,oEACbj1D,SAAU,SAACzlJ,GAAC,OACV0nU,EACE1nU,EACA,WACA,WACAg9T,EACAD,EACD,IAG2C,WAAhC,OAAfA,QAAe,IAAfA,GAAyB,QAAVf,EAAfe,EAAiBz8H,gBAAQ,IAAA07H,GAAU,QAAV+K,EAAzB/K,EAA2Bz7H,gBAAQ,IAAAwmI,OAApB,EAAfA,EAAqCriU,SACpCo5K,EAAAA,GAAAA,KAACupH,GAAK,CACJ3iS,MAAsB,OAAfq4T,QAAe,IAAfA,GAAyB,QAAViK,EAAfjK,EAAiBz8H,gBAAQ,IAAA0mI,OAAV,EAAfA,EAA2BxmI,OAClCp9J,YAAa,OACbqiH,SAAU,SAACzlJ,GAAC,OACV0nU,EACE1nU,EACA,WACA,SACAg9T,EACAD,EACD,EAEHz2R,UAA+B,OAApBy3R,QAAoB,IAApBA,OAAoB,EAApBA,EAAsBt6R,SAGrCq6I,EAAAA,GAAAA,KAACupH,GAAK,CACJ3iS,MAAsB,OAAfq4T,QAAe,IAAfA,GAAyB,QAAVkK,EAAflK,EAAiBz8H,gBAAQ,IAAA2mI,OAAV,EAAfA,EAA2BxjS,MAClCL,YAAa,OACbqiH,SAAU,SAACzlJ,GAAC,OACV0nU,EACE1nU,EACA,WACA,QACAg9T,EACAD,EACD,EAEHz2R,UAA+B,OAApBy3R,QAAoB,IAApBA,OAAoB,EAApBA,EAAsBt6R,SAEnCq6I,EAAAA,GAAAA,KAAA,KAAGx3I,UAAU,eAAepW,MAAO,CAAE6B,WAAY,QAASq1E,SACxC,OAAf21N,QAAe,IAAfA,GAAyB,QAAVmK,EAAfnK,EAAiBz8H,gBAAQ,IAAA4mI,OAAV,EAAfA,EAA2BzjS,WAIlC,GACEq6I,EAAAA,GAAAA,KAACuoJ,GAAQ,CACP3hU,MAAsB,OAAfq4T,QAAe,IAAfA,GAAoC,QAArBoK,EAAfpK,EAAiBt8H,2BAAmB,IAAA0mI,OAArB,EAAfA,EAAsCzmI,SAC7Ct9J,YAAa,sBACbqiH,SAAU,SAACzlJ,GAAC,OACV0nU,EACE1nU,EACA,sBACA,WACAg9T,EACAD,EACD,EAEHz2R,UAA+B,OAApBy3R,QAAoB,IAApBA,OAAoB,EAApBA,EAAsBr9H,WAGrC,GACEpgB,EAAAA,GAAAA,MAAA,OAAKh6I,UAAU,sCAAqC8gE,SAAA,EAClDk5E,EAAAA,GAAAA,MAAA,KAAAl5E,SAAA,CAAIu1N,EAAmB,OAhLV,WACmB,IAADoH,EAAAC,EAESC,EAAAC,EAQHrc,EAAAI,EAAAC,EAMlCic,EAAAC,EAAAC,EAAAC,EAhBP,MAA2B,SAAvB3H,GACK7+I,EAAAA,GAAAA,KAAA,KAAA12E,SAAyB,OAArBy1N,QAAqB,IAArBA,GAA+B,QAAVkH,EAArBlH,EAA8B,YAAC,IAAAkH,GAAK,QAALC,EAA/BD,EAAkC,UAAE,IAAAC,OAAf,EAArBA,EAAsCx+T,QACjB,WAAvBm3T,GAEPr8I,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAn5E,SAAA,EACE02E,EAAAA,GAAAA,KAAA,KAAA12E,SAAyB,OAArBy1N,QAAqB,IAArBA,GAAiC,QAAZoH,EAArBpH,EAAgC,cAAC,IAAAoH,OAAZ,EAArBA,EAAmCh5T,SACvC6yK,EAAAA,GAAAA,KAAA,KAAA12E,SAAG,OACH02E,EAAAA,GAAAA,KAAA,KAAA12E,SAAyB,OAArBy1N,QAAqB,IAArBA,GAAiC,QAAZqH,EAArBrH,EAAgC,cAAC,IAAAqH,OAAZ,EAArBA,EAAmCh5T,SAGX,QAAvByxT,GAEP7+I,EAAAA,GAAAA,KAAAyC,GAAAA,SAAA,CAAAn5E,UACE02E,EAAAA,GAAAA,KAAA,KAAA12E,SAAc,OAAVwlG,QAAU,IAAVA,GAAuB,QAAbi7G,EAAVj7G,EAAYz3B,mBAAW,IAAA0yI,GAAW,QAAXI,EAAvBJ,EAAyBvhT,OAAO,UAAE,IAAA2hT,GAAK,QAALC,EAAlCD,EAAqC,UAAE,IAAAC,OAA7B,EAAVA,EAAyC1iT,WAK/C86K,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAn5E,SAAA,EACE02E,EAAAA,GAAAA,KAAA,KAAA12E,SAEyB,OAArBy1N,QAAqB,IAArBA,GAAyD,QAApCsH,EAArBtH,EAAwBF,EAAmBliT,sBAAc,IAAA0pT,GAAK,QAALC,EAAzDD,EAA4D,UAAE,IAAAC,OAAzC,EAArBA,EACI5+T,SAGRs4K,EAAAA,GAAAA,KAAA,KAAA12E,SAAyB,OAArBy1N,QAAqB,IAArBA,GAA+B,QAAVwH,EAArBxH,EAA8B,YAAC,IAAAwH,GAAK,QAALC,EAA/BD,EAAkC,UAAE,IAAAC,OAAf,EAArBA,EAAsC9+T,UAIlD,CAmJOuiU,MAGL,GACEjqJ,EAAAA,GAAAA,KAAA,OAAKx3I,UAAU,sCAAqC8gE,UAClD02E,EAAAA,GAAAA,KAAC+nI,GAAc,CACbv0S,QAASksL,GACTuoH,gBAAgB,YAChBjjB,eAAe,EACfE,gBAAiB66B,EACjB36B,mBAAoB46B,EACpBpjH,aAAa,wEAInB,GACE58B,EAAAA,GAAAA,KAACu4G,GAAc,CACb/kR,QAASmsL,GACT/4L,MAAsB,OAAfq4T,QAAe,IAAfA,GAAmC,QAApBqK,EAAfrK,EAAiBp8H,0BAAkB,IAAAymI,OAApB,EAAfA,EAAqCjxO,MAC5CukH,aAAa,0BACb+7E,iBAAiB,EACjBhxI,SAAU,SAACzlJ,GAAC,OACV0nU,EACE1nU,EACA,qBACA,QACAg9T,EACAD,EACD,IAIP,GACEj/I,EAAAA,GAAAA,KAAC4oJ,GAAa,CACZp1T,QAASosL,IAAkC,GAC3CslG,gBAAgC,OAAf+5B,QAAe,IAAfA,GAAgC,QAAjBsK,EAAftK,EAAiBn8H,uBAAe,IAAAymI,OAAjB,EAAfA,EAAkCxmI,SACnD6Z,aAAa,0BACbj1D,SAAU,SAACzlJ,GAAC,OACV0nU,EACE1nU,EACA,kBACA,WACAg9T,EACAD,EACD,IAIP,GACEj/I,EAAAA,GAAAA,KAAAyC,GAAAA,SAAA,CAAAn5E,SACG21N,EAAgBj8H,mBAAmBpvL,KAAI,SAAC6yK,EAAMx7K,GAAK,OAClDu3K,EAAAA,GAAAA,MAAA,OAAiBh6I,UAAU,uBAAsB8gE,SAAA,EAC/C02E,EAAAA,GAAAA,KAAC+nI,GAAc,CACbv0S,QAASqsL,IAA2B,GACpCqlG,gBAAiB,CAACz+G,EAAKgc,UACvBwlH,gBAAgB,2BAChBrrG,aAAa,oEACbj1D,SAAU,SAACzlJ,GAAC,OACV4nU,EACE5nU,EAAE,qBAEF+I,EACA,WACD,KAGL+0K,EAAAA,GAAAA,KAACupH,GAAK,CACJ3iS,MAAO6/K,EAAK9gJ,MACZL,YAAa,QACbqiH,SAAU,SAACzlJ,GAAC,OACV4nU,EAAwB5nU,EAAE,qBAAuB+I,EAAO,QAAQ,IAGnEA,IAAUg0T,EAAgBj8H,mBAAmBljM,OAAS,IACrDkgL,EAAAA,GAAAA,KAAA,OAAKx3I,UAAU,+CAA8C8gE,UAC3D02E,EAAAA,GAAAA,KAAA,KAAG9kC,QAAS2uL,EAAqBvgO,SAAC,QAGrC21N,EAAgBj8H,mBAAmBljM,OAAS,IAC3CkgL,EAAAA,GAAAA,KAAA,OACEx3I,UAAU,gCACV0yG,QAAS,kBAtNS,SAACjwI,GAC/Bi0T,GAAmB,SAAC3jC,GAAS,OAAA/gH,GAAAA,GAAA,GACxB+gH,GAAS,IACZv4F,mBAAoBu4F,EAAUv4F,mBAAmBriL,QAC/C,SAAClZ,EAAG1F,GAAC,OAAKA,IAAMkJ,CAAK,KACtB,GAEL,CA+M6Bi/T,CAAwBj/T,EAAM,EAACq+F,UAE9C02E,EAAAA,GAAAA,KAACinB,GAAe,QAhCZh8L,EAmCJ,MAIZ,GACEu3K,EAAAA,GAAAA,MAAA,OAAAl5E,SAAA,EACE02E,EAAAA,GAAAA,KAACu4G,GAAc,CACb/kR,QAASssL,IAAmC,GAC5Cl5L,MAAsB,OAAfq4T,QAAe,IAAfA,GAAsC,QAAvBuK,EAAfvK,EAAiBh8H,6BAAqB,IAAAumI,OAAvB,EAAfA,EAAwCnxO,MAC/CsgM,iBAAiB,EACjB/7E,aAAa,iCACbj1D,SAAU,SAACzlJ,GAAC,OACV0nU,EACE1nU,EACA,wBACA,QACAg9T,EACAD,EACD,IAG8C,WAAnC,OAAfA,QAAe,IAAfA,GAAsC,QAAvBwK,EAAfxK,EAAiBh8H,6BAAqB,IAAAwmI,OAAvB,EAAfA,EAAwCpxO,SACvC2nF,EAAAA,GAAAA,KAACuoJ,GAAQ,CACP3hU,MAAsB,OAAfq4T,QAAe,IAAfA,GAAsC,QAAvByK,EAAfzK,EAAiBh8H,6BAAqB,IAAAymI,OAAvB,EAAfA,EAAwC9mI,SAC/Cga,aAAa,GACbt3K,YAAa,YACbqiH,SAAU,SAACzlJ,GAAC,OACV0nU,EACE1nU,EACA,wBACA,WACAg9T,EACAD,EACD,EAEHz2R,UAA+B,OAApBy3R,QAAoB,IAApBA,OAAoB,EAApBA,EAAsBr9H,eAM3C,OACE5iB,EAAAA,GAAAA,KAAAyC,GAAAA,SAAA,CAAAn5E,SACGqgO,EACqB,OAApBloI,SAAoB,IAApBA,QAAoB,EAApBA,GAAsBC,aACtBsoI,IAIR,CCtVe,SAASG,GAAU/kK,GAI9B,IAADglK,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAHDrD,EAAqBvkK,EAArBukK,sBACAC,EAAuBxkK,EAAvBwkK,wBACA3J,EAAoB76J,EAApB66J,qBAGAn+I,GAA8C7rC,EAAAA,EAAAA,YAAWynL,IAAjDyB,EAAcr9I,EAAdq9I,eAAgBC,EAAiBt9I,EAAjBs9I,mBAGxBlpL,EAAAA,EAAAA,YAAU,WAAO,IAAD+2L,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAEgC,SAA9B,OAAd9O,QAAc,IAAdA,GAAgC,QAAlB8N,EAAd9N,EAAgB/7H,wBAAgB,IAAA6pI,OAAlB,EAAdA,EAAkC50O,QACa,MAAjC,OAAd8mO,QAAc,IAAdA,GAAgC,QAAlB+N,EAAd/N,EAAgB/7H,wBAAgB,IAAA8pI,OAAlB,EAAdA,EAAkCtqI,UAElCw8H,GAAkB,SAAC7jC,GAAS,OAAA/gH,GAAAA,GAAA,GACvB+gH,GAAS,IACZn4F,iBAAkB,CAChB/qG,MAAOkjM,EAAUn4F,iBAAiB/qG,MAClCuqG,SAAU,KACX,IAGyC,QAA9B,OAAdu8H,QAAc,IAAdA,GAAgC,QAAlBgO,EAAdhO,EAAgB/7H,wBAAgB,IAAA+pI,OAAlB,EAAdA,EAAkC90O,QACa,MAAjC,OAAd8mO,QAAc,IAAdA,GAAmC,QAArBiO,EAAdjO,EAAgB97H,2BAAmB,IAAA+pI,OAArB,EAAdA,EAAqC/0O,OAErC+mO,GAAkB,SAAC7jC,GAAS,OAAA/gH,GAAAA,GAAA,GACvB+gH,GAAS,IACZl4F,oBAAqB,CACnBhrG,MAAO,KACR,IAGY,OAAd8mO,QAAc,IAAdA,GAAqC,QAAvBkO,EAAdlO,EAAgBz7H,6BAAqB,IAAA2pI,GAAU,QAAVC,EAArCD,EAAuCtqI,gBAAQ,IAAAuqI,GAA/CA,EAAiDvyM,SAAS,UACP,MAAtC,OAAdokM,QAAc,IAAdA,GAAqC,QAAvBoO,EAAdpO,EAAgBz7H,6BAAqB,IAAA6pI,OAAvB,EAAdA,EAAuC3qI,UAUxB,OAAdu8H,QAAc,IAAdA,GAA0B,QAAZqO,EAAdrO,EAAgBx7H,kBAAU,IAAA6pI,GAAU,QAAVC,EAA1BD,EAA4BzqI,gBAAQ,IAAA0qI,GAApCA,EAAsC1yM,SAAS,UACP,MAA3B,OAAdokM,QAAc,IAAdA,GAA0B,QAAZuO,EAAdvO,EAAgBx7H,kBAAU,IAAA+pI,OAAZ,EAAdA,EAA4B9qI,UAUb,OAAdu8H,QAAc,IAAdA,GAA0B,QAAZwO,EAAdxO,EAAgBv7H,kBAAU,IAAA+pI,GAAU,QAAVC,EAA1BD,EAA4B5qI,gBAAQ,IAAA6qI,GAApCA,EAAsC7yM,SAAS,UACP,MAA3B,OAAdokM,QAAc,IAAdA,GAA0B,QAAZ0O,EAAd1O,EAAgBv7H,kBAAU,IAAAiqI,OAAZ,EAAdA,EAA4BjrI,UAUe,SAA7B,OAAdu8H,QAAc,IAAdA,GAA+B,QAAjB2O,EAAd3O,EAAgB37H,uBAAe,IAAAsqI,OAAjB,EAAdA,EAAiCz1O,QACa,MAAhC,OAAd8mO,QAAc,IAAdA,GAA+B,QAAjB4O,EAAd5O,EAAgB37H,uBAAe,IAAAuqI,OAAjB,EAAdA,EAAiCnrI,UAEjCw8H,GAAkB,SAAC7jC,GAAS,OAAA/gH,GAAAA,GAAA,GACvB+gH,GAAS,IACZ/3F,gBAAiB,CACfnrG,MAAOkjM,EAAU/3F,gBAAgBnrG,MACjCuqG,SAAU,KACX,IAGkD,WAAvC,OAAdu8H,QAAc,IAAdA,GAAyC,QAA3B6O,EAAd7O,EAAgB17H,iCAAyB,IAAAuqI,OAA3B,EAAdA,EAA2C31O,QACa,MAA1C,OAAd8mO,QAAc,IAAdA,GAAyC,QAA3B8O,EAAd9O,EAAgB17H,iCAAyB,IAAAwqI,OAA3B,EAAdA,EAA2CrrI,WAE3Cw8H,GAAkB,SAAC7jC,GAAS,OAAA/gH,GAAAA,GAAA,GACvB+gH,GAAS,IACZ93F,0BAA2B,CACzBprG,MAAOkjM,EAAU93F,0BAA0BprG,MAC3CuqG,SAAU,KACX,IA3BHw8H,GAAkB,SAAC7jC,GAAS,OAAA/gH,GAAAA,GAAA,GACvB+gH,GAAS,IACZ33F,WAAY,CACVb,SAAUw4F,EAAU33F,WAAWb,SAC/BH,SAAU,KACX,IAhBHw8H,GAAkB,SAAC7jC,GAAS,OAAA/gH,GAAAA,GAAA,GACvB+gH,GAAS,IACZ53F,WAAY,CACVZ,SAAUw4F,EAAU53F,WAAWZ,SAC/BH,SAAU,KACX,IAhBHw8H,GAAkB,SAAC7jC,GAAS,OAAA/gH,GAAAA,GAAA,GACvB+gH,GAAS,IACZ73F,sBAAuB,CACrBX,SAAUw4F,EAAU73F,sBAAsBX,SAC1CH,SAAU,KACX,GA+CP,GAAG,CACa,OAAdu8H,QAAc,IAAdA,GAAgC,QAAlBiL,EAAdjL,EAAgB/7H,wBAAgB,IAAAgnI,OAAlB,EAAdA,EAAkC/xO,MACpB,OAAd8mO,QAAc,IAAdA,GAAgC,QAAlBkL,EAAdlL,EAAgB/7H,wBAAgB,IAAAinI,OAAlB,EAAdA,EAAkCznI,SACpB,OAAdu8H,QAAc,IAAdA,GAAmC,QAArBmL,EAAdnL,EAAgB97H,2BAAmB,IAAAinI,OAArB,EAAdA,EAAqCjyO,MACvB,OAAd8mO,QAAc,IAAdA,GAA+B,QAAjBoL,EAAdpL,EAAgB37H,uBAAe,IAAA+mI,OAAjB,EAAdA,EAAiClyO,MACnB,OAAd8mO,QAAc,IAAdA,GAA+B,QAAjBqL,EAAdrL,EAAgB37H,uBAAe,IAAAgnI,OAAjB,EAAdA,EAAiC5nI,SACnB,OAAdu8H,QAAc,IAAdA,GAAyC,QAA3BsL,EAAdtL,EAAgB17H,iCAAyB,IAAAgnI,OAA3B,EAAdA,EAA2CpyO,MAC7B,OAAd8mO,QAAc,IAAdA,GAAyC,QAA3BuL,EAAdvL,EAAgB17H,iCAAyB,IAAAinI,OAA3B,EAAdA,EAA2C9nI,SAC7B,OAAdu8H,QAAc,IAAdA,GAAqC,QAAvBwL,EAAdxL,EAAgBz7H,6BAAqB,IAAAinI,OAAvB,EAAdA,EAAuC5nI,SACzB,OAAdo8H,QAAc,IAAdA,GAAqC,QAAvByL,EAAdzL,EAAgBz7H,6BAAqB,IAAAknI,OAAvB,EAAdA,EAAuChoI,SACzB,OAAdu8H,QAAc,IAAdA,GAA0B,QAAZ0L,EAAd1L,EAAgBv7H,kBAAU,IAAAinI,OAAZ,EAAdA,EAA4B9nI,SACd,OAAdo8H,QAAc,IAAdA,GAA0B,QAAZ2L,EAAd3L,EAAgBv7H,kBAAU,IAAAknI,OAAZ,EAAdA,EAA4BloI,SACd,OAAdu8H,QAAc,IAAdA,GAA0B,QAAZ4L,EAAd5L,EAAgBx7H,kBAAU,IAAAonI,OAAZ,EAAdA,EAA4BhoI,SACd,OAAdo8H,QAAc,IAAdA,GAA0B,QAAZ6L,EAAd7L,EAAgBx7H,kBAAU,IAAAqnI,OAAZ,EAAdA,EAA4BpoI,SAC5Bw8H,IAIF,IAAM4K,EAAsB,CAC1B,GACEhqJ,EAAAA,GAAAA,KAAAyC,GAAAA,SAAA,CAAAn5E,UACE02E,EAAAA,GAAAA,KAACu4G,GAAc,CACb/kR,QAASusL,IAA0B,GACnCn5L,MAAqB,OAAdu4T,QAAc,IAAdA,GAA6B,QAAf8L,EAAd9L,EAAgBh8H,qBAAa,IAAA8nI,OAAf,EAAdA,EAA+B5yO,MACtCsgM,iBAAiB,EACjBhxI,SAAU,SAACzlJ,GAAC,OACV0nU,EACE1nU,EACA,gBACA,QACAk9T,EACAD,EACD,EAEHviH,aAAa,8BAInB,GACEp6B,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAn5E,SAAA,EACE02E,EAAAA,GAAAA,KAACu4G,GAAc,CACb/kR,QAAkC,OAAzB+rL,SAAyB,IAAzBA,QAAyB,EAAzBA,GAA2B/2L,MAAM,EAAG,GAC7C5B,MAAqB,OAAdu4T,QAAc,IAAdA,GAAgC,QAAlB+L,EAAd/L,EAAgB/7H,wBAAgB,IAAA8nI,OAAlB,EAAdA,EAAkC7yO,MACzCsvD,SAAU,SAACzlJ,GAAC,OACV0nU,EACE1nU,EACA,mBACA,QACAk9T,EACAD,EACD,EAEHviH,aAAa,4BAE8B,SAA9B,OAAduiH,QAAc,IAAdA,GAAgC,QAAlBgM,EAAdhM,EAAgB/7H,wBAAgB,IAAA+nI,OAAlB,EAAdA,EAAkC9yO,SACjC2nF,EAAAA,GAAAA,KAACuoJ,GAAQ,CACP3hU,MAAqB,OAAdu4T,QAAc,IAAdA,GAAgC,QAAlBiM,EAAdjM,EAAgB/7H,wBAAgB,IAAAgoI,OAAlB,EAAdA,EAAkCxoI,SACzCt9J,YAAa,UACbqiH,SAAU,SAACzlJ,GAAC,OACV0nU,EACE1nU,EACA,mBACA,WACAk9T,EACAD,EACD,EAEH32R,UAA+B,OAApBy3R,QAAoB,IAApBA,OAAoB,EAApBA,EAAsBr9H,WAGQ,QAA9B,OAAdu8H,QAAc,IAAdA,GAAgC,QAAlBkM,EAAdlM,EAAgB/7H,wBAAgB,IAAAioI,OAAlB,EAAdA,EAAkChzO,SACjC2nF,EAAAA,GAAAA,KAAAyC,GAAAA,SAAA,CAAAn5E,UACEk5E,EAAAA,GAAAA,MAAA,OAAKh6I,UAAU,kCAAiC8gE,SAAA,EAC9C02E,EAAAA,GAAAA,KAAA,KAAGx3I,UAAU,2CAA0C8gE,SAChC,OAApBm4F,SAAoB,IAApBA,IAA0C,QAAtB6pI,EAApB7pI,GAAsBE,4BAAoB,IAAA2pI,OAAtB,EAApBA,EAA4C9iU,OAAO,MAEtDw3K,EAAAA,GAAAA,KAACu4G,GAAc,CACb/kR,QAASwsL,GACTp5L,MAAqB,OAAdu4T,QAAc,IAAdA,GAAmC,QAArBoM,EAAdpM,EAAgB97H,2BAAmB,IAAAkoI,OAArB,EAAdA,EAAqClzO,MAC5CsgM,iBAAiB,EACjBhxI,SAAU,SAACzlJ,GAAC,OACV0nU,EACE1nU,EACA,sBACA,QACAk9T,EACAD,EACD,EAEHviH,aAAa,oCAOzB,GACE58B,EAAAA,GAAAA,KAAAyC,GAAAA,SAAA,CAAAn5E,UACE02E,EAAAA,GAAAA,KAACu4G,GAAc,CACb/kR,QAASysL,GACTr5L,MAAqB,OAAdu4T,QAAc,IAAdA,GAAiC,QAAnBqM,EAAdrM,EAAgB77H,yBAAiB,IAAAkoI,OAAnB,EAAdA,EAAmCnzO,MAC1CsgM,iBAAiB,EACjBhxI,SAAU,SAACzlJ,GAAC,OACV0nU,EACE1nU,EACA,oBACA,QACAk9T,EACAD,EACD,EAEHviH,aAAa,8BAInB,GACE58B,EAAAA,GAAAA,KAAAyC,GAAAA,SAAA,CAAAn5E,UACE02E,EAAAA,GAAAA,KAACu4G,GAAc,CACb/kR,QAAS0sL,GACTt5L,MAAqB,OAAdu4T,QAAc,IAAdA,GAA+B,QAAjBsM,EAAdtM,EAAgB57H,uBAAe,IAAAkoI,OAAjB,EAAdA,EAAiCpzO,MACxCsgM,iBAAiB,EACjBhxI,SAAU,SAACzlJ,GAAC,OACV0nU,EACE1nU,EACA,kBACA,QACAk9T,EACAD,EACD,EAEHviH,aAAa,8BAInB,GACEp6B,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAn5E,SAAA,EACE02E,EAAAA,GAAAA,KAACu4G,GAAc,CACb/kR,QAAkC,OAAzB+rL,SAAyB,IAAzBA,QAAyB,EAAzBA,GAA2B/2L,MAAM,EAAG,GAC7C5B,MAAqB,OAAdu4T,QAAc,IAAdA,GAA+B,QAAjBuM,EAAdvM,EAAgB37H,uBAAe,IAAAkoI,OAAjB,EAAdA,EAAiCrzO,MACxCsgM,iBAAiB,EACjBhxI,SAAU,SAACzlJ,GAAC,OACV0nU,EACE1nU,EACA,kBACA,QACAk9T,EACAD,EACD,EAEHviH,aAAa,4BAE6B,SAA7B,OAAduiH,QAAc,IAAdA,GAA+B,QAAjBwM,EAAdxM,EAAgB37H,uBAAe,IAAAmoI,OAAjB,EAAdA,EAAiCtzO,SAChC2nF,EAAAA,GAAAA,KAACuoJ,GAAQ,CACP3hU,MAAqB,OAAdu4T,QAAc,IAAdA,GAA+B,QAAjByM,EAAdzM,EAAgB37H,uBAAe,IAAAooI,OAAjB,EAAdA,EAAiChpI,SACxCt9J,YAAa,UACbqiH,SAAU,SAACzlJ,GAAC,OACV0nU,EACE1nU,EACA,kBACA,WACAk9T,EACAD,EACD,EAEH32R,UAA+B,OAApBy3R,QAAoB,IAApBA,OAAoB,EAApBA,EAAsBr9H,cAKzC,GACEpgB,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAn5E,SAAA,EACE02E,EAAAA,GAAAA,KAACu4G,GAAc,CACb/kR,QAAS2sL,GACTv5L,MAAqB,OAAdu4T,QAAc,IAAdA,GAAyC,QAA3B0M,EAAd1M,EAAgB17H,iCAAyB,IAAAooI,OAA3B,EAAdA,EAA2CxzO,MAClDsgM,iBAAiB,EACjBhxI,SAAU,SAACzlJ,GAAC,OACV0nU,EACE1nU,EACA,4BACA,QACAk9T,EACAD,EACD,EAEHviH,aAAa,4BAEuC,WAAvC,OAAduiH,QAAc,IAAdA,GAAyC,QAA3B2M,EAAd3M,EAAgB17H,iCAAyB,IAAAqoI,OAA3B,EAAdA,EAA2CzzO,SAC1C2nF,EAAAA,GAAAA,KAACuoJ,GAAQ,CACP3hU,MAAqB,OAAdu4T,QAAc,IAAdA,GAAyC,QAA3B4M,EAAd5M,EAAgB17H,iCAAyB,IAAAsoI,OAA3B,EAAdA,EAA2CnpI,SAClDt9J,YAAa,UACbqiH,SAAU,SAACzlJ,GAAC,OACV0nU,EACE1nU,EACA,4BACA,WACAk9T,EACAD,EACD,EAEH32R,UAA+B,OAApBy3R,QAAoB,IAApBA,OAAoB,EAApBA,EAAsBr9H,cAKzC,GACEpgB,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAn5E,SAAA,EACEk5E,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAn5E,SAAA,EACE02E,EAAAA,GAAAA,KAAA,KAAGx3I,UAAU,2CAA0C8gE,SAAC,yBAGxD02E,EAAAA,GAAAA,KAAC4oJ,GAAa,CACZp1T,QAAS6sL,IAAgD,GACzD6kG,gBAA+B,OAAdi6B,QAAc,IAAdA,GAAqC,QAAvB6M,EAAd7M,EAAgBz7H,6BAAqB,IAAAsoI,OAAvB,EAAdA,EAAuCjpI,SACxD6Z,aAAa,0BACbj1D,SAAU,SAACzlJ,GAAC,OACV0nU,EACE1nU,EACA,wBACA,WACAk9T,EACAD,EACD,KAGU,OAAdA,QAAc,IAAdA,GAAqC,QAAvB8M,EAAd9M,EAAgBz7H,6BAAqB,IAAAuoI,GAAU,QAAVC,EAArCD,EAAuClpI,gBAAQ,IAAAmpI,OAAjC,EAAdA,EAAiDnxM,SAChD,YAEAilD,EAAAA,GAAAA,KAACuoJ,GAAQ,CACPjjS,YAAa,UACb1+B,MAAqB,OAAdu4T,QAAc,IAAdA,GAAqC,QAAvBgN,EAAdhN,EAAgBz7H,6BAAqB,IAAAyoI,OAAvB,EAAdA,EAAuCvpI,SAC9Cj7C,SAAU,SAACzlJ,GAAC,OACV0nU,EACE1nU,EACA,wBACA,WACAk9T,EACAD,EACD,QAKT38I,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAn5E,SAAA,EACE02E,EAAAA,GAAAA,KAAA,KAAGx3I,UAAU,2CAA0C8gE,SAAC,gBACxD02E,EAAAA,GAAAA,KAAC4oJ,GAAa,CACZp1T,QAAS+sL,IAAqD,GAC9D2kG,gBAA+B,OAAdi6B,QAAc,IAAdA,GAA0B,QAAZiN,EAAdjN,EAAgBx7H,kBAAU,IAAAyoI,OAAZ,EAAdA,EAA4BrpI,SAC7C6Z,aAAa,0BACbj1D,SAAU,SAACzlJ,GAAC,OACV0nU,EACE1nU,EACA,aACA,WACAk9T,EACAD,EACD,KAGU,OAAdA,QAAc,IAAdA,GAA0B,QAAZkN,EAAdlN,EAAgBx7H,kBAAU,IAAA0oI,GAAU,QAAVC,EAA1BD,EAA4BtpI,gBAAQ,IAAAupI,OAAtB,EAAdA,EAAsCvxM,SAAS,YAC9CilD,EAAAA,GAAAA,KAACuoJ,GAAQ,CACPjjS,YAAa,UACb1+B,MAAqB,OAAdu4T,QAAc,IAAdA,GAA0B,QAAZoN,EAAdpN,EAAgBx7H,kBAAU,IAAA4oI,OAAZ,EAAdA,EAA4B3pI,SACnCj7C,SAAU,SAACzlJ,GAAC,OACV0nU,EACE1nU,EACA,aACA,WACAk9T,EACAD,EACD,QAKT38I,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAn5E,SAAA,EACE02E,EAAAA,GAAAA,KAAA,KAAGx3I,UAAU,2CAA0C8gE,SAAC,gBACxD02E,EAAAA,GAAAA,KAAC4oJ,GAAa,CACZp1T,QAASitL,IAAqD,GAC9DykG,gBAA+B,OAAdi6B,QAAc,IAAdA,GAA0B,QAAZqN,EAAdrN,EAAgBv7H,kBAAU,IAAA4oI,OAAZ,EAAdA,EAA4BzpI,SAC7C6Z,aAAa,0BACbj1D,SAAU,SAACzlJ,GAAC,OACV0nU,EACE1nU,EACA,aACA,WACAk9T,EACAD,EACD,KAGU,OAAdA,QAAc,IAAdA,GAA0B,QAAZsN,EAAdtN,EAAgBv7H,kBAAU,IAAA6oI,GAAU,QAAVC,EAA1BD,EAA4B1pI,gBAAQ,IAAA2pI,OAAtB,EAAdA,EAAsC3xM,SAAS,YAC9CilD,EAAAA,GAAAA,KAACuoJ,GAAQ,CACPjjS,YAAa,UACb1+B,MAAqB,OAAdu4T,QAAc,IAAdA,GAA0B,QAAZwN,EAAdxN,EAAgBv7H,kBAAU,IAAA+oI,OAAZ,EAAdA,EAA4B/pI,SACnCj7C,SAAU,SAACzlJ,GAAC,OACV0nU,EACE1nU,EACA,aACA,WACAk9T,EACAD,EACD,UAOb,GACE38I,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAn5E,SAAA,EACE02E,EAAAA,GAAAA,KAACu4G,GAAc,CACb/kR,QAASktL,GACT95L,MAAqB,OAAdu4T,QAAc,IAAdA,GAA8B,QAAhByN,EAAdzN,EAAgBt7H,sBAAc,IAAA+oI,OAAhB,EAAdA,EAAgCv0O,MACvCsgM,iBAAiB,EACjBhxI,SAAU,SAACzlJ,GAAC,OACV0nU,EACE1nU,EACA,iBACA,QACAk9T,EACAD,EACD,EAEHviH,aAAa,6BAEA,OAAduiH,QAAc,IAAdA,GAA8B,QAAhB0N,EAAd1N,EAAgBt7H,sBAAc,IAAAgpI,GAAO,QAAPC,EAA9BD,EAAgCx0O,aAAK,IAAAy0O,OAAvB,EAAdA,EAAuC/xM,SAAS,UAC/CynD,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAn5E,SAAA,EACE02E,EAAAA,GAAAA,KAAA,KAAGx3I,UAAU,2CAA0C8gE,SAAC,gGAIxD02E,EAAAA,GAAAA,KAACuoJ,GAAQ,CACP3hU,MAAqB,OAAdu4T,QAAc,IAAdA,GAA8B,QAAhB4N,EAAd5N,EAAgBt7H,sBAAc,IAAAkpI,OAAhB,EAAdA,EAAgCnqI,SACvCt9J,YAAa,UACbqiH,SAAU,SAACzlJ,GAAC,OACV0nU,EACE1nU,EACA,iBACA,WACAk9T,EACAD,EACD,EAEH32R,UAA+B,OAApBy3R,QAAoB,IAApBA,OAAoB,EAApBA,EAAsBr9H,kBAO7C,OACE5iB,EAAAA,GAAAA,KAAAyC,GAAAA,SAAA,CAAAn5E,SACGqgO,EACqB,OAApBloI,SAAoB,IAApBA,IAA0C,QAAtBurI,EAApBvrI,GAAsBE,4BAAoB,IAAAqrI,OAAtB,EAApBA,EAA4CxkU,MAAM,EAAG,GACrDwhU,IAIR,CAEA,IAAMkE,GAAsB,CAC1BvE,sBAAuB3vM,KAAAA,KACvB4vM,wBAAyB5vM,KAAAA,MC1cZ,SAASm0M,GAAY/oK,GAIhC,IAADgpK,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA3D,EAAA4D,EAAAC,EAAAC,EAHDzF,EAAqBvkK,EAArBukK,sBACAC,EAAuBxkK,EAAvBwkK,wBACA3J,EAAoB76J,EAApB66J,qBAGApiJ,GAA0DpnC,EAAAA,EAAAA,UAAS,CACjEjjI,QAAS,GACTmkK,QAAQ,IACRmG,GAAAtc,EAAAA,EAAAA,GAAAqc,EAAA,GAHKwxJ,EAAqBvxJ,EAAA,GAAEwxJ,EAAwBxxJ,EAAA,GAMtDgE,GACE7rC,EAAAA,EAAAA,YAAWynL,IADL6B,EAAgBz9I,EAAhBy9I,iBAAkBC,EAAmB19I,EAAnB09I,oBAAqB7Y,EAAsB7kI,EAAtB6kI,wBAI/CzwK,EAAAA,EAAAA,YAAU,WAAO,IAADq5L,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAEwC,WAApC,OAAhBxQ,QAAgB,IAAhBA,GAAwC,QAAxBgQ,EAAhBhQ,EAAkBl7H,8BAAsB,IAAAkrI,OAAxB,EAAhBA,EAA0Cl3O,QACuB,SAAjD,OAAhBknO,QAAgB,IAAhBA,GAAwC,QAAxBiQ,EAAhBjQ,EAAkBl7H,8BAAsB,IAAAmrI,GAAO,QAAPC,EAAxCD,EAA0Cn3O,aAAK,IAAAo3O,OAA/B,EAAhBA,EAAiDjnU,MAAM,EAAG,KACH,MAAvC,OAAhB+2T,QAAgB,IAAhBA,GAAwC,QAAxBmQ,EAAhBnQ,EAAkBl7H,8BAAsB,IAAAqrI,OAAxB,EAAhBA,EAA0C9sI,UAE1C48H,GAAoB,SAACjkC,GAAS,OAAA/gH,GAAAA,GAAA,GACzB+gH,GAAS,IACZl3F,uBAAwB,CACtBhsG,MAAOkjM,EAAUl3F,uBAAuBhsG,MACxCuqG,SAAU,KACX,IAG8D,QAAjD,OAAhB28H,QAAgB,IAAhBA,GAAwC,QAAxBoQ,EAAhBpQ,EAAkBl7H,8BAAsB,IAAAsrI,GAAO,QAAPC,EAAxCD,EAA0Ct3O,aAAK,IAAAu3O,OAA/B,EAAhBA,EAAiDpnU,MAAM,EAAG,KACH,MAAvC,OAAhB+2T,QAAgB,IAAhBA,GAA2C,QAA3BsQ,EAAhBtQ,EAAkBj7H,iCAAyB,IAAAurI,OAA3B,EAAhBA,EAA6Cx3O,OAE7CmnO,GAAoB,SAACjkC,GAAS,OAAA/gH,GAAAA,GAAA,GACzB+gH,GAAS,IACZj3F,0BAA2B,CACzBjsG,MAAO,GACPuqG,SAAU,KACX,IAGoD,WAAvC,OAAhB28H,QAAgB,IAAhBA,GAA2C,QAA3BuQ,EAAhBvQ,EAAkBj7H,iCAAyB,IAAAwrI,OAA3B,EAAhBA,EAA6Cz3O,QACa,MAA1C,OAAhBknO,QAAgB,IAAhBA,GAA2C,QAA3BwQ,EAAhBxQ,EAAkBj7H,iCAAyB,IAAAyrI,OAA3B,EAAhBA,EAA6CntI,WAE7C48H,GAAoB,SAACjkC,GAAS,OAAA/gH,GAAAA,GAAA,GACzB+gH,GAAS,IACZj3F,0BAA2B,CACzBjsG,MAAOkjM,EAAUj3F,0BAA0BjsG,MAC3CuqG,SAAU,KACX,GAGP,GAAG,CACe,OAAhB28H,QAAgB,IAAhBA,GAAwC,QAAxB6O,EAAhB7O,EAAkBl7H,8BAAsB,IAAA+pI,OAAxB,EAAhBA,EAA0C/1O,MAC1B,OAAhBknO,QAAgB,IAAhBA,GAAwC,QAAxB8O,EAAhB9O,EAAkBl7H,8BAAsB,IAAAgqI,OAAxB,EAAhBA,EAA0CzrI,SAC1B,OAAhB28H,QAAgB,IAAhBA,GAA2C,QAA3B+O,EAAhB/O,EAAkBj7H,iCAAyB,IAAAgqI,OAA3B,EAAhBA,EAA6Cj2O,MAC7B,OAAhBknO,QAAgB,IAAhBA,GAA2C,QAA3BgP,EAAhBhP,EAAkBj7H,iCAAyB,IAAAiqI,OAA3B,EAAhBA,EAA6C3rI,SAC7C48H,KAEFtpL,EAAAA,EAAAA,YAAU,WACR,GAA0B,OAArBm5L,QAAqB,IAArBA,IAAAA,EAAuB13J,OAAQ,CAAC,IAADq4J,EAAAC,EAAAC,EAAAC,EAAA1oB,EAAAC,EAAAE,EAAAC,EAAAuB,EAAAC,EAC5B+mB,EAAwC,OAA1BhvI,SAA0B,IAA1BA,QAA0B,EAA1BA,GAA4B54L,MAAM,GAChD6nU,EAA8C,OAA1BjvI,SAA0B,IAA1BA,IAA+B,QAAL4uI,EAA1B5uI,GAA6B,UAAE,IAAA4uI,GAAO,QAAPC,EAA/BD,EAAiCtoU,aAAK,IAAAuoU,GAI7D,QAJ6DC,EAAtCD,EACtBpsS,QACA,WACsB,OAAtB8iR,QAAsB,IAAtBA,GAAuC,QAAjBc,EAAtBd,EAAwB14G,uBAAe,IAAAw5G,GAAK,QAALC,EAAvCD,EAA0C,UAAE,IAAAC,OAAtB,EAAtBA,EAA8ChgT,cAC/C,IAAAwoU,GACmE,QADnEC,EAJuBD,EAKtBrsS,QAAQ,WAAkC,OAAtB8iR,QAAsB,IAAtBA,GAAiC,QAAXiB,EAAtBjB,EAAwB54G,iBAAS,IAAA65G,GAAK,QAALC,EAAjCD,EAAoC,UAAE,IAAAC,OAAhB,EAAtBA,EAAwCngT,cAAM,IAAAyoU,OALlB,EAA1BA,EAMtBtsS,QACA,OACsB,OAAtB8iR,QAAsB,IAAtBA,GAAyC,QAAnByC,EAAtBzC,EAAwB34G,yBAAiB,IAAAo7G,GAAK,QAALC,EAAzCD,EAA4C,UAAE,IAAAC,OAAxB,EAAtBA,EAAgD3hT,OAKpD4nU,EAAyB,CACvB97T,QAAQ,GAAD5R,OAJkB,CACzB,CAAE8F,MAAO2oU,EAAmBzpU,MAAOypU,KAGJzuK,EAAAA,EAAAA,GAAKwuK,IACpCz4J,QAAQ,GAEZ,CACF,GAAG,CAAsB,OAArB03J,QAAqB,IAArBA,OAAqB,EAArBA,EAAuB13J,UAE3BzhC,EAAAA,EAAAA,YAAU,WAAO,IAADo6L,EAAAC,EAES,OAArBlB,QAAqB,IAArBA,GAAAA,EAAuB13J,QAC0C,SAAjD,OAAhB4nJ,QAAgB,IAAhBA,GAAwC,QAAxB+Q,EAAhB/Q,EAAkBl7H,8BAAsB,IAAAisI,GAAO,QAAPC,EAAxCD,EAA0Cj4O,aAAK,IAAAk4O,OAA/B,EAAhBA,EAAiD/nU,MAAM,EAAG,KAE1Dg3T,GAAoB,SAACjkC,GAAS,IAAAi1C,EAAAC,EAAA,OAAAj2J,GAAAA,GAAA,GACzB+gH,GAAS,IACZl3F,uBAAwB,CACtBhsG,MAA4B,OAArBg3O,QAAqB,IAArBA,GAA8B,QAATmB,EAArBnB,EAAuB77T,eAAO,IAAAg9T,GAAK,QAALC,EAA9BD,EAAiC,UAAE,IAAAC,OAAd,EAArBA,EAAqC7pU,MAC5Cg8L,SAAU24F,EAAUl3F,uBAAuBzB,WAC5C,GAGP,GAAG,CAAsB,OAArBysI,QAAqB,IAArBA,OAAqB,EAArBA,EAAuB13J,SAG3B,IAAMqyJ,EAAsB,CAC1B,GACExnJ,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAn5E,SAAA,EACE02E,EAAAA,GAAAA,KAACu4G,GAAc,CACb/kR,QAA8B,OAArB67T,QAAqB,IAArBA,OAAqB,EAArBA,EAAuB77T,QAChCm0I,SAAU,SAACzlJ,GAAC,OACV0nU,EACE1nU,EACA,yBACA,QACAs9T,EACAD,EACD,EAEH5mC,iBAAiB,EACjB/xR,OACkB,OAAhB24T,QAAgB,IAAhBA,GAAwC,QAAxBiP,EAAhBjP,EAAkBl7H,8BAAsB,IAAAmqI,OAAxB,EAAhBA,EAA0Cn2O,SACrB,OAArBg3O,QAAqB,IAArBA,GAA8B,QAATZ,EAArBY,EAAuB77T,eAAO,IAAAi7T,GAAK,QAALC,EAA9BD,EAAiC,UAAE,IAAAC,OAAd,EAArBA,EAAqC9nU,OAEvCg2M,aAAa,4BAEsC,WAApC,OAAhB2iH,QAAgB,IAAhBA,GAAwC,QAAxBoP,EAAhBpP,EAAkBl7H,8BAAsB,IAAAsqI,OAAxB,EAAhBA,EAA0Ct2O,SACzC2nF,EAAAA,GAAAA,KAACuoJ,GAAQ,CACP3hU,MAAuB,OAAhB24T,QAAgB,IAAhBA,GAAwC,QAAxBqP,EAAhBrP,EAAkBl7H,8BAAsB,IAAAuqI,OAAxB,EAAhBA,EAA0ChsI,SACjDt9J,YAAa,UACbqiH,SAAU,SAACzlJ,GAAC,OACV0nU,EACE1nU,EACA,yBACA,WACAs9T,EACAD,EACD,EAEH/2R,UAA+B,OAApBy3R,QAAoB,IAApBA,OAAoB,EAApBA,EAAsBr9H,WAInC,SADe,OAAhB28H,QAAgB,IAAhBA,GAAwC,QAAxBsP,EAAhBtP,EAAkBl7H,8BAAsB,IAAAwqI,GAAO,QAAPC,EAAxCD,EAA0Cx2O,aAAK,IAAAy2O,OAA/B,EAAhBA,EAAiDtmU,MAAM,EAAG,MAEzDw3K,EAAAA,GAAAA,KAAAyC,GAAAA,SAAA,CAAAn5E,UACEk5E,EAAAA,GAAAA,MAAA,OAAKh6I,UAAU,kCAAiC8gE,SAAA,EAC9C02E,EAAAA,GAAAA,KAAA,KAAGx3I,UAAU,2CAA0C8gE,SAAC,gDAGxD02E,EAAAA,GAAAA,KAACuoJ,GAAQ,CACP3hU,MAAuB,OAAhB24T,QAAgB,IAAhBA,GAAwC,QAAxBwP,EAAhBxP,EAAkBl7H,8BAAsB,IAAA0qI,OAAxB,EAAhBA,EAA0CnsI,SACjDt9J,YAAa,UACbqiH,SAAU,SAACzlJ,GAAC,OACV0nU,EACE1nU,EACA,yBACA,WACAs9T,EACAD,EACD,EAEH/2R,UAA+B,OAApBy3R,QAAoB,IAApBA,OAAoB,EAApBA,EAAsBr9H,gBAMvC,QADe,OAAhB28H,QAAgB,IAAhBA,GAAwC,QAAxByP,EAAhBzP,EAAkBl7H,8BAAsB,IAAA2qI,GAAO,QAAPC,EAAxCD,EAA0C32O,aAAK,IAAA42O,OAA/B,EAAhBA,EAAiDzmU,MAAM,EAAG,MAEzDw3K,EAAAA,GAAAA,KAAAyC,GAAAA,SAAA,CAAAn5E,UACEk5E,EAAAA,GAAAA,MAAA,OAAKh6I,UAAU,kCAAiC8gE,SAAA,EAC9C02E,EAAAA,GAAAA,KAAA,KAAGx3I,UAAU,2CAA0C8gE,SAChC,OAApBm4F,SAAoB,IAApBA,IAAyC,QAArB6pI,EAApB7pI,GAAsBI,2BAAmB,IAAAypI,OAArB,EAApBA,EAA2C9iU,MAAM,MAEpDw3K,EAAAA,GAAAA,KAACu4G,GAAc,CACb/kR,QAAS6tL,GACT15C,SAAU,SAACzlJ,GAAC,OACV0nU,EACE1nU,EACA,4BACA,QACAs9T,EACAD,EACD,EAEH34T,MAAuB,OAAhB24T,QAAgB,IAAhBA,GAA2C,QAA3B2P,EAAhB3P,EAAkBj7H,iCAAyB,IAAA4qI,OAA3B,EAAhBA,EAA6C72O,MACpDukH,aAAa,4BAGb,WADe,OAAhB2iH,QAAgB,IAAhBA,GAA2C,QAA3B4P,EAAhB5P,EAAkBj7H,iCAAyB,IAAA6qI,OAA3B,EAAhBA,EAA6C92O,SAE5C2nF,EAAAA,GAAAA,KAACuoJ,GAAQ,CACP3hU,MAAuB,OAAhB24T,QAAgB,IAAhBA,GAA2C,QAA3B6P,EAAhB7P,EAAkBj7H,iCAAyB,IAAA8qI,OAA3B,EAAhBA,EAA6CxsI,SACpDt9J,YAAa,UACbqiH,SAAU,SAACzlJ,GAAC,OACV0nU,EACE1nU,EACA,4BACA,WACAs9T,EACAD,EACD,EAEH/2R,UAA+B,OAApBy3R,QAAoB,IAApBA,OAAoB,EAApBA,EAAsBr9H,oBASjD,OACE5iB,EAAAA,GAAAA,KAAAyC,GAAAA,SAAA,CAAAn5E,SACGqgO,EACqB,OAApBloI,SAAoB,IAApBA,QAAoB,EAApBA,GAAsBI,oBAAoBr5L,MAAM,EAAG,GACnDwhU,IAIR,CD0PAG,GAAWzqU,UAAYwuU,GCvPvB,IAAMwC,GAAwB,CAC5B/G,sBAAuB3vM,KAAAA,KACvB4vM,wBAAyB5vM,KAAAA,MCnNZ,SAAS22M,GAAcvrK,GAIlC,IAADwrK,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,GAHDrK,GAAqBvkK,EAArBukK,sBACAC,GAAuBxkK,EAAvBwkK,wBACA3J,GAAoB76J,EAApB66J,qBAGAn+I,IACE7rC,EAAAA,EAAAA,YAAWynL,IADL2B,GAAkBv9I,GAAlBu9I,mBAAoBC,GAAqBx9I,GAArBw9I,uBAI5BppL,EAAAA,EAAAA,YAAU,WAAO,IAAD+9L,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAEgC,WAA1B,OAAlBlW,SAAkB,IAAlBA,IAAgC,QAAd4U,EAAlB5U,GAAoBv7H,oBAAY,IAAAmwI,OAAd,EAAlBA,EAAkC57O,QACa,MAA7B,OAAlBgnO,SAAkB,IAAlBA,IAAgC,QAAd6U,EAAlB7U,GAAoBv7H,oBAAY,IAAAowI,OAAd,EAAlBA,EAAkCtxI,UAElC08H,IAAsB,SAAC/jC,GAAS,OAAA/gH,GAAAA,GAAA,GAC3B+gH,GAAS,IACZz3F,aAAc,CACZzrG,MAAOkjM,EAAUz3F,aAAazrG,MAC9BuqG,SAAU,KACX,IAG8C,WAA/B,OAAlBy8H,SAAkB,IAAlBA,IAAqC,QAAnB8U,EAAlB9U,GAAoBt7H,yBAAiB,IAAAowI,OAAnB,EAAlBA,EAAuC97O,QACa,MAAlC,OAAlBgnO,SAAkB,IAAlBA,IAAqC,QAAnB+U,EAAlB/U,GAAoBt7H,yBAAiB,IAAAqwI,OAAnB,EAAlBA,EAAuCxxI,UAEvC08H,IAAsB,SAAC/jC,GAAS,OAAA/gH,GAAAA,GAAA,GAC3B+gH,GAAS,IACZx3F,kBAAmB,CACjB1rG,MAAOkjM,EAAUx3F,kBAAkB1rG,MACnCuqG,SAAU,KACX,IAGgB,OAAlBy8H,SAAkB,IAAlBA,IAA6B,QAAXgV,EAAlBhV,GAAoBv+H,iBAAS,IAAAuzI,GAAU,QAAVC,EAA7BD,EAA+BtxI,gBAAQ,IAAAuxI,GAAvCA,EAAyCv5M,SAAS,UACP,MAA1B,OAAlBskM,SAAkB,IAAlBA,IAA6B,QAAXkV,EAAlBlV,GAAoBv+H,iBAAS,IAAAyzI,OAAX,EAAlBA,EAA+B3xI,UAUZ,OAAlBy8H,SAAkB,IAAlBA,IAA8B,QAAZmV,EAAlBnV,GAAoBt+H,kBAAU,IAAAyzI,GAAU,QAAVC,EAA9BD,EAAgCzxI,gBAAQ,IAAA0xI,GAAxCA,EAA0C15M,SAAS,UACP,MAA3B,OAAlBskM,SAAkB,IAAlBA,IAA8B,QAAZqV,EAAlBrV,GAAoBt+H,kBAAU,IAAA2zI,OAAZ,EAAlBA,EAAgC9xI,UAUb,OAAlBy8H,SAAkB,IAAlBA,IAA+B,QAAbsV,EAAlBtV,GAAoBr+H,mBAAW,IAAA2zI,GAAU,QAAVC,EAA/BD,EAAiC5xI,gBAAQ,IAAA6xI,GAAzCA,EAA2C75M,SAAS,UACP,MAA5B,OAAlBskM,SAAkB,IAAlBA,IAA+B,QAAbwV,EAAlBxV,GAAoBr+H,mBAAW,IAAA6zI,OAAb,EAAlBA,EAAiCjyI,UAUa,SAA5B,OAAlBy8H,SAAkB,IAAlBA,IAAkC,QAAhByV,EAAlBzV,GAAoBr7H,sBAAc,IAAA8wI,OAAhB,EAAlBA,EAAoCz8O,QACa,MAA/B,OAAlBgnO,SAAkB,IAAlBA,IAAkC,QAAhB0V,EAAlB1V,GAAoBr7H,sBAAc,IAAA+wI,OAAhB,EAAlBA,EAAoCnyI,UAEpC08H,IAAsB,SAAC/jC,GAAS,OAAA/gH,GAAAA,GAAA,GAC3B+gH,GAAS,IACZv3F,eAAgB,CACd3rG,MAAOkjM,EAAUv3F,eAAe3rG,MAChCuqG,SAAU,KACX,IAGqD,SAAtC,OAAlBy8H,SAAkB,IAAlBA,IAA4C,QAA1B2V,EAAlB3V,GAAoBp7H,gCAAwB,IAAA+wI,OAA1B,EAAlBA,EAA8C38O,QACa,MAAzC,OAAlBgnO,SAAkB,IAAlBA,IAA4C,QAA1B4V,EAAlB5V,GAAoBp7H,gCAAwB,IAAAgxI,OAA1B,EAAlBA,EAA8CryI,UAE9C08H,IAAsB,SAAC/jC,GAAS,OAAA/gH,GAAAA,GAAA,GAC3B+gH,GAAS,IACZt3F,yBAA0B,CACxB5rG,MAAOkjM,EAAUt3F,yBAAyB5rG,MAC1CuqG,SAAU,KACX,IAGoD,SAArC,OAAlBy8H,SAAkB,IAAlBA,IAA2C,QAAzB6V,EAAlB7V,GAAoBn7H,+BAAuB,IAAAgxI,OAAzB,EAAlBA,EAA6C78O,QACa,MAAxC,OAAlBgnO,SAAkB,IAAlBA,IAA2C,QAAzB8V,EAAlB9V,GAAoBn7H,+BAAuB,IAAAixI,OAAzB,EAAlBA,EAA6CvyI,UAE7C08H,IAAsB,SAAC/jC,GAAS,OAAA/gH,GAAAA,GAAA,GAC3B+gH,GAAS,IACZr3F,wBAAyB,CACvB7rG,MAAOkjM,EAAUr3F,wBAAwB7rG,MACzCuqG,SAAU,KACX,IAGoD,SAArC,OAAlBy8H,SAAkB,IAAlBA,IAA2C,QAAzB+V,EAAlB/V,GAAoBl7H,+BAAuB,IAAAixI,OAAzB,EAAlBA,EAA6C/8O,QACa,MAAxC,OAAlBgnO,SAAkB,IAAlBA,IAA2C,QAAzBgW,EAAlBhW,GAAoBl7H,+BAAuB,IAAAkxI,OAAzB,EAAlBA,EAA6CzyI,UAE7C08H,IAAsB,SAAC/jC,GAAS,OAAA/gH,GAAAA,GAAA,GAC3B+gH,GAAS,IACZp3F,wBAAyB,CACvB9rG,MAAOkjM,EAAUp3F,wBAAwB9rG,MACzCuqG,SAAU,KACX,IAGqD,SAAtC,OAAlBy8H,SAAkB,IAAlBA,IAA4C,QAA1BiW,EAAlBjW,GAAoBj7H,gCAAwB,IAAAkxI,OAA1B,EAAlBA,EAA8Cj9O,QACa,MAAzC,OAAlBgnO,SAAkB,IAAlBA,IAA4C,QAA1BkW,EAAlBlW,GAAoBj7H,gCAAwB,IAAAmxI,OAA1B,EAAlBA,EAA8C3yI,WAE9C08H,IAAsB,SAAC/jC,GAAS,OAAA/gH,GAAAA,GAAA,GAC3B+gH,GAAS,IACZn3F,yBAA0B,CACxB/rG,MAAOkjM,EAAUn3F,yBAAyB/rG,MAC1CuqG,SAAU,KACX,IA5DH08H,IAAsB,SAAC/jC,GAAS,OAAA/gH,GAAAA,GAAA,GAC3B+gH,GAAS,IACZv6F,YAAa,CACX+B,SAAUw4F,EAAUv6F,YAAY+B,SAChCH,SAAU,KACX,IAhBH08H,IAAsB,SAAC/jC,GAAS,OAAA/gH,GAAAA,GAAA,GAC3B+gH,GAAS,IACZx6F,WAAY,CACVgC,SAAUw4F,EAAUx6F,WAAWgC,SAC/BH,SAAU,KACX,IAhBH08H,IAAsB,SAAC/jC,GAAS,OAAA/gH,GAAAA,GAAA,GAC3B+gH,GAAS,IACZz6F,UAAW,CACTiC,SAAUw4F,EAAUz6F,UAAUiC,SAC9BH,SAAU,KACX,GAgFP,GAAG,CACiB,OAAlBy8H,SAAkB,IAAlBA,IAAgC,QAAduR,EAAlBvR,GAAoBv7H,oBAAY,IAAA8sI,OAAd,EAAlBA,EAAkCv4O,MAChB,OAAlBgnO,SAAkB,IAAlBA,IAAgC,QAAdwR,EAAlBxR,GAAoBv7H,oBAAY,IAAA+sI,OAAd,EAAlBA,EAAkCjuI,SAChB,OAAlBy8H,SAAkB,IAAlBA,IAAqC,QAAnByR,EAAlBzR,GAAoBt7H,yBAAiB,IAAA+sI,OAAnB,EAAlBA,EAAuCz4O,MACrB,OAAlBgnO,SAAkB,IAAlBA,IAAqC,QAAnB0R,EAAlB1R,GAAoBt7H,yBAAiB,IAAAgtI,OAAnB,EAAlBA,EAAuCnuI,SACrB,OAAlBy8H,SAAkB,IAAlBA,IAA6B,QAAX2R,EAAlB3R,GAAoBv+H,iBAAS,IAAAkwI,OAAX,EAAlBA,EAA+BjuI,SACb,OAAlBs8H,SAAkB,IAAlBA,IAA6B,QAAX4R,EAAlB5R,GAAoBv+H,iBAAS,IAAAmwI,OAAX,EAAlBA,EAA+BruI,SACb,OAAlBy8H,SAAkB,IAAlBA,IAA8B,QAAZ6R,EAAlB7R,GAAoBt+H,kBAAU,IAAAmwI,OAAZ,EAAlBA,EAAgCnuI,SACd,OAAlBs8H,SAAkB,IAAlBA,IAA8B,QAAZ8R,EAAlB9R,GAAoBt+H,kBAAU,IAAAowI,OAAZ,EAAlBA,EAAgCvuI,SACd,OAAlBy8H,SAAkB,IAAlBA,IAA+B,QAAb+R,EAAlB/R,GAAoBr+H,mBAAW,IAAAowI,OAAb,EAAlBA,EAAiCruI,SACf,OAAlBs8H,SAAkB,IAAlBA,IAA+B,QAAbgS,EAAlBhS,GAAoBr+H,mBAAW,IAAAqwI,OAAb,EAAlBA,EAAiCzuI,SACf,OAAlBy8H,SAAkB,IAAlBA,IAAkC,QAAhBiS,EAAlBjS,GAAoBr7H,sBAAc,IAAAstI,OAAhB,EAAlBA,EAAoCj5O,MAClB,OAAlBgnO,SAAkB,IAAlBA,IAAkC,QAAhBkS,EAAlBlS,GAAoBr7H,sBAAc,IAAAutI,OAAhB,EAAlBA,EAAoC3uI,SAClB,OAAlBy8H,SAAkB,IAAlBA,IAA4C,QAA1BmS,EAAlBnS,GAAoBp7H,gCAAwB,IAAAutI,OAA1B,EAAlBA,EAA8Cn5O,MAC5B,OAAlBgnO,SAAkB,IAAlBA,IAA4C,QAA1BoS,EAAlBpS,GAAoBp7H,gCAAwB,IAAAwtI,OAA1B,EAAlBA,EAA8C7uI,SAC5B,OAAlBy8H,SAAkB,IAAlBA,IAA2C,QAAzBqS,EAAlBrS,GAAoBn7H,+BAAuB,IAAAwtI,OAAzB,EAAlBA,EAA6Cr5O,MAC3B,OAAlBgnO,SAAkB,IAAlBA,IAA2C,QAAzBsS,EAAlBtS,GAAoBn7H,+BAAuB,IAAAytI,OAAzB,EAAlBA,EAA6C/uI,SAC3B,OAAlBy8H,SAAkB,IAAlBA,IAA2C,QAAzBuS,EAAlBvS,GAAoBl7H,+BAAuB,IAAAytI,OAAzB,EAAlBA,EAA6Cv5O,MAC3B,OAAlBgnO,SAAkB,IAAlBA,IAA2C,QAAzBwS,EAAlBxS,GAAoBl7H,+BAAuB,IAAA0tI,OAAzB,EAAlBA,EAA6CjvI,SAC3B,OAAlBy8H,SAAkB,IAAlBA,IAA4C,QAA1ByS,EAAlBzS,GAAoBj7H,gCAAwB,IAAA0tI,OAA1B,EAAlBA,EAA8Cz5O,MAC5B,OAAlBgnO,SAAkB,IAAlBA,IAA4C,QAA1B0S,EAAlB1S,GAAoBj7H,gCAAwB,IAAA2tI,OAA1B,EAAlBA,EAA8CnvI,SAC9C08H,KAIF,IAAM0K,GAAsB,CAC1B,GACExnJ,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAn5E,SAAA,EACE02E,EAAAA,GAAAA,KAACu4G,GAAc,CACb/kR,QAASmtL,GACTh5C,SAAU,SAACzlJ,GAAC,OACV0nU,GACE1nU,EACA,eACA,QACAo9T,GACAD,GACD,EAEH1mC,iBAAiB,EACjB/xR,MAAyB,OAAlBy4T,SAAkB,IAAlBA,IAAgC,QAAd2S,EAAlB3S,GAAoBv7H,oBAAY,IAAAkuI,OAAd,EAAlBA,EAAkC35O,MACzCukH,aAAa,4BAE8B,WAA1B,OAAlByiH,SAAkB,IAAlBA,IAAgC,QAAd4S,EAAlB5S,GAAoBv7H,oBAAY,IAAAmuI,OAAd,EAAlBA,EAAkC55O,SACjC2nF,EAAAA,GAAAA,KAACuoJ,GAAQ,CACP3hU,MAAyB,OAAlBy4T,SAAkB,IAAlBA,IAAgC,QAAd6S,EAAlB7S,GAAoBv7H,oBAAY,IAAAouI,OAAd,EAAlBA,EAAkCtvI,SACzCt9J,YAAa,UACbqiH,SAAU,SAACzlJ,GAAC,OACV0nU,GACE1nU,EACA,eACA,WACAo9T,GACAD,GACD,EAEH72R,UAA+B,OAApBy3R,SAAoB,IAApBA,QAAoB,EAApBA,GAAsBr9H,cAKzC,GACEpgB,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAn5E,SAAA,EACE02E,EAAAA,GAAAA,KAACu4G,GAAc,CACb/kR,QAASotL,GACTj5C,SAAU,SAACzlJ,GAAC,OACV0nU,GACE1nU,EACA,oBACA,QACAo9T,GACAD,GACD,EAEHz4T,MAAyB,OAAlBy4T,SAAkB,IAAlBA,IAAqC,QAAnB8S,EAAlB9S,GAAoBt7H,yBAAiB,IAAAouI,OAAnB,EAAlBA,EAAuC95O,MAC9CukH,aAAa,4BAEmC,WAA/B,OAAlByiH,SAAkB,IAAlBA,IAAqC,QAAnB+S,EAAlB/S,GAAoBt7H,yBAAiB,IAAAquI,OAAnB,EAAlBA,EAAuC/5O,SACtC2nF,EAAAA,GAAAA,KAACuoJ,GAAQ,CACP3hU,MAAyB,OAAlBy4T,SAAkB,IAAlBA,IAAqC,QAAnBgT,EAAlBhT,GAAoBt7H,yBAAiB,IAAAsuI,OAAnB,EAAlBA,EAAuCzvI,SAC9Ct9J,YAAa,UACbqiH,SAAU,SAACzlJ,GAAC,OACV0nU,GACE1nU,EACA,oBACA,WACAo9T,GACAD,GACD,EAEH72R,UAA+B,OAApBy3R,SAAoB,IAApBA,QAAoB,EAApBA,GAAsBr9H,cAKzC,GACEpgB,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAn5E,SAAA,EACE02E,EAAAA,GAAAA,KAAA,KAAGx3I,UAAU,2CAA0C8gE,SAAC,wBAGxDk5E,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAn5E,SAAA,EACE02E,EAAAA,GAAAA,KAAC4oJ,GAAa,CACZp1T,QAASytL,IAAoC,GAC7CikG,gBAAmC,OAAlBm6B,SAAkB,IAAlBA,IAA6B,QAAXiT,EAAlBjT,GAAoBv+H,iBAAS,IAAAwxI,OAAX,EAAlBA,EAA+BvvI,SAChD6Z,aAAa,0BACbj1D,SAAU,SAACzlJ,GAAC,OACV0nU,GACE1nU,EACA,YACA,WACAo9T,GACAD,GACD,KAGc,OAAlBA,SAAkB,IAAlBA,IAA6B,QAAXkT,EAAlBlT,GAAoBv+H,iBAAS,IAAAyxI,GAAU,QAAVC,EAA7BD,EAA+BxvI,gBAAQ,IAAAyvI,OAArB,EAAlBA,EAAyCz3M,SAAS,YACjDilD,EAAAA,GAAAA,KAACuoJ,GAAQ,CACP3hU,MAAyB,OAAlBy4T,SAAkB,IAAlBA,IAA6B,QAAXoT,EAAlBpT,GAAoBv+H,iBAAS,IAAA2xI,OAAX,EAAlBA,EAA+B7vI,SACtCt9J,YAAa,UACbqiH,SAAU,SAACzlJ,GAAC,OACV0nU,GACE1nU,EACA,YACA,WACAo9T,GACAD,GACD,QAKTr/I,EAAAA,GAAAA,KAAA,KAAGx3I,UAAU,2CAA0C8gE,SAAC,yBAGxDk5E,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAn5E,SAAA,EACE02E,EAAAA,GAAAA,KAAC4oJ,GAAa,CACZp1T,QAAS0tL,IAAqC,GAC9CgkG,gBAAmC,OAAlBm6B,SAAkB,IAAlBA,IAA8B,QAAZqT,EAAlBrT,GAAoBt+H,kBAAU,IAAA2xI,OAAZ,EAAlBA,EAAgC3vI,SACjD6Z,aAAa,0BACbj1D,SAAU,SAACzlJ,GAAC,OACV0nU,GACE1nU,EACA,aACA,WACAo9T,GACAD,GACD,KAGc,OAAlBA,SAAkB,IAAlBA,IAA8B,QAAZsT,EAAlBtT,GAAoBt+H,kBAAU,IAAA4xI,GAAU,QAAVC,EAA9BD,EAAgC5vI,gBAAQ,IAAA6vI,OAAtB,EAAlBA,EAA0C73M,SAAS,YAClDilD,EAAAA,GAAAA,KAACuoJ,GAAQ,CACP3hU,MAAyB,OAAlBy4T,SAAkB,IAAlBA,IAA8B,QAAZwT,EAAlBxT,GAAoBt+H,kBAAU,IAAA8xI,OAAZ,EAAlBA,EAAgCjwI,SACvCt9J,YAAa,UACbqiH,SAAU,SAACzlJ,GAAC,OACV0nU,GACE1nU,EACA,aACA,WACAo9T,GACAD,GACD,QAKTr/I,EAAAA,GAAAA,KAAA,KAAGx3I,UAAU,2CAA0C8gE,SAAC,0BAGxDk5E,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAn5E,SAAA,EACE02E,EAAAA,GAAAA,KAAC4oJ,GAAa,CACZp1T,QAAS2tL,IAAsC,GAC/C+jG,gBAA+C,QAAhC4tC,EAAEzT,GAAmBr+H,mBAAW,IAAA8xI,OAAA,EAA9BA,EAAgC/vI,SACjD6Z,aAAa,0BACbj1D,SAAU,SAACzlJ,GAAC,OACV0nU,GACE1nU,EACA,cACA,WACAo9T,GACAD,GACD,KAGc,OAAlBA,SAAkB,IAAlBA,IAA+B,QAAb0T,EAAlB1T,GAAoBr+H,mBAAW,IAAA+xI,GAAU,QAAVC,EAA/BD,EAAiChwI,gBAAQ,IAAAiwI,OAAvB,EAAlBA,EAA2Cj4M,SAAS,YACnDilD,EAAAA,GAAAA,KAACuoJ,GAAQ,CACP3hU,MAAyB,OAAlBy4T,SAAkB,IAAlBA,IAA+B,QAAb4T,EAAlB5T,GAAoBr+H,mBAAW,IAAAiyI,OAAb,EAAlBA,EAAiCrwI,SACxCt9J,YAAa,UACbqiH,SAAU,SAACzlJ,GAAC,OACV0nU,GACE1nU,EACA,cACA,WACAo9T,GACAD,GACD,UAOb,GACE78I,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAn5E,SAAA,EACE02E,EAAAA,GAAAA,KAACu4G,GAAc,CACb/kR,QAAkC,OAAzB+rL,SAAyB,IAAzBA,QAAyB,EAAzBA,GAA2B/2L,MAAM,EAAG,GAC7Cm/I,SAAU,SAACzlJ,GAAC,OACV0nU,GACE1nU,EACA,iBACA,QACAo9T,GACAD,GACD,EAEHz4T,MAAyB,OAAlBy4T,SAAkB,IAAlBA,IAAkC,QAAhB6T,EAAlB7T,GAAoBr7H,sBAAc,IAAAkvI,OAAhB,EAAlBA,EAAoC76O,MAC3CukH,aAAa,4BAEgC,SAA5B,OAAlByiH,SAAkB,IAAlBA,IAAkC,QAAhB8T,EAAlB9T,GAAoBr7H,sBAAc,IAAAmvI,OAAhB,EAAlBA,EAAoC96O,SACnCmqF,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAn5E,SAAA,EACE02E,EAAAA,GAAAA,KAAA,KAAGx3I,UAAU,2CAA0C8gE,SAAC,2GAIxD02E,EAAAA,GAAAA,KAACuoJ,GAAQ,CACP3hU,MAAyB,OAAlBy4T,SAAkB,IAAlBA,IAAkC,QAAhB+T,EAAlB/T,GAAoBr7H,sBAAc,IAAAovI,OAAhB,EAAlBA,EAAoCxwI,SAC3Ct9J,YAAa,UACbqiH,SAAU,SAACzlJ,GAAC,OACV0nU,GACE1nU,EACA,iBACA,WACAo9T,GACAD,GACD,EAEH72R,UAA+B,OAApBy3R,SAAoB,IAApBA,QAAoB,EAApBA,GAAsBr9H,iBAM3C,GACEpgB,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAn5E,SAAA,EACE02E,EAAAA,GAAAA,KAACu4G,GAAc,CACb/kR,QAAkC,OAAzB+rL,SAAyB,IAAzBA,QAAyB,EAAzBA,GAA2B/2L,MAAM,EAAG,GAC7Cm/I,SAAU,SAACzlJ,GAAC,OACV0nU,GACE1nU,EACA,2BACA,QACAo9T,GACAD,GACD,EAEHz4T,MAAyB,OAAlBy4T,SAAkB,IAAlBA,IAA4C,QAA1BgU,EAAlBhU,GAAoBp7H,gCAAwB,IAAAovI,OAA1B,EAAlBA,EAA8Ch7O,MACrDukH,aAAa,4BAE0C,SAAtC,OAAlByiH,SAAkB,IAAlBA,IAA4C,QAA1BiU,EAAlBjU,GAAoBp7H,gCAAwB,IAAAqvI,OAA1B,EAAlBA,EAA8Cj7O,SAC7CmqF,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAn5E,SAAA,EACE02E,EAAAA,GAAAA,KAAA,KAAGx3I,UAAU,2CAA0C8gE,SAAC,6IAKxD02E,EAAAA,GAAAA,KAACuoJ,GAAQ,CACP3hU,MAAyB,OAAlBy4T,SAAkB,IAAlBA,IAA4C,QAA1BkU,EAAlBlU,GAAoBp7H,gCAAwB,IAAAsvI,OAA1B,EAAlBA,EAA8C3wI,SACrDt9J,YAAa,UACbqiH,SAAU,SAACzlJ,GAAC,OACV0nU,GACE1nU,EACA,2BACA,WACAo9T,GACAD,GACD,EAEH72R,UAA+B,OAApBy3R,SAAoB,IAApBA,QAAoB,EAApBA,GAAsBr9H,iBAM3C,GACEpgB,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAn5E,SAAA,EACE02E,EAAAA,GAAAA,KAACu4G,GAAc,CACb/kR,QAAkC,OAAzB+rL,SAAyB,IAAzBA,QAAyB,EAAzBA,GAA2B/2L,MAAM,EAAG,GAC7Cm/I,SAAU,SAACzlJ,GAAC,OACV0nU,GACE1nU,EACA,0BACA,QACAo9T,GACAD,GACD,EAEHz4T,MAAyB,OAAlBy4T,SAAkB,IAAlBA,IAA2C,QAAzBmU,EAAlBnU,GAAoBn7H,+BAAuB,IAAAsvI,OAAzB,EAAlBA,EAA6Cn7O,MACpDukH,aAAa,4BAEyC,SAArC,OAAlByiH,SAAkB,IAAlBA,IAA2C,QAAzBoU,EAAlBpU,GAAoBn7H,+BAAuB,IAAAuvI,OAAzB,EAAlBA,EAA6Cp7O,SAC5CmqF,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAn5E,SAAA,EACE02E,EAAAA,GAAAA,KAAA,KAAGx3I,UAAU,2CAA0C8gE,SAAC,kIAIxD02E,EAAAA,GAAAA,KAACuoJ,GAAQ,CACP3hU,MAAyB,OAAlBy4T,SAAkB,IAAlBA,IAA2C,QAAzBqU,EAAlBrU,GAAoBn7H,+BAAuB,IAAAwvI,OAAzB,EAAlBA,EAA6C9wI,SACpDt9J,YAAa,UACbqiH,SAAU,SAACzlJ,GAAC,OACV0nU,GACE1nU,EACA,0BACA,WACAo9T,GACAD,GACD,EAEH72R,UAA+B,OAApBy3R,SAAoB,IAApBA,QAAoB,EAApBA,GAAsBr9H,iBAM3C,GACEpgB,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAn5E,SAAA,EACE02E,EAAAA,GAAAA,KAACu4G,GAAc,CACb/kR,QAAkC,OAAzB+rL,SAAyB,IAAzBA,QAAyB,EAAzBA,GAA2B/2L,MAAM,EAAG,GAC7Cm/I,SAAU,SAACzlJ,GAAC,OACV0nU,GACE1nU,EACA,0BACA,QACAo9T,GACAD,GACD,EAEHz4T,MAAyB,OAAlBy4T,SAAkB,IAAlBA,IAA2C,QAAzBsU,EAAlBtU,GAAoBl7H,+BAAuB,IAAAwvI,OAAzB,EAAlBA,EAA6Ct7O,MACpDukH,aAAa,4BAEyC,SAArC,OAAlByiH,SAAkB,IAAlBA,IAA2C,QAAzBuU,EAAlBvU,GAAoBl7H,+BAAuB,IAAAyvI,OAAzB,EAAlBA,EAA6Cv7O,SAC5CmqF,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAn5E,SAAA,EACE02E,EAAAA,GAAAA,KAAA,KAAGx3I,UAAU,2CAA0C8gE,SAAC,6BAGxD02E,EAAAA,GAAAA,KAACuoJ,GAAQ,CACP3hU,MAAyB,OAAlBy4T,SAAkB,IAAlBA,IAA2C,QAAzBwU,EAAlBxU,GAAoBl7H,+BAAuB,IAAA0vI,OAAzB,EAAlBA,EAA6CjxI,SACpDt9J,YAAa,UACbqiH,SAAU,SAACzlJ,GAAC,OACV0nU,GACE1nU,EACA,0BACA,WACAo9T,GACAD,GACD,EAEH72R,UAA+B,OAApBy3R,SAAoB,IAApBA,QAAoB,EAApBA,GAAsBr9H,iBAM3C,GACEpgB,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAn5E,SAAA,EACE02E,EAAAA,GAAAA,KAACu4G,GAAc,CACb/kR,QAAkC,OAAzB+rL,SAAyB,IAAzBA,QAAyB,EAAzBA,GAA2B/2L,MAAM,EAAG,GAC7Cm/I,SAAU,SAACzlJ,GAAC,OACV0nU,GACE1nU,EACA,2BACA,QACAo9T,GACAD,GACD,EAEHz4T,MAAyB,OAAlBy4T,SAAkB,IAAlBA,IAA4C,QAA1ByU,EAAlBzU,GAAoBj7H,gCAAwB,IAAA0vI,OAA1B,EAAlBA,EAA8Cz7O,MACrDukH,aAAa,4BAE0C,SAAtC,OAAlByiH,SAAkB,IAAlBA,IAA4C,QAA1B0U,EAAlB1U,GAAoBj7H,gCAAwB,IAAA2vI,OAA1B,EAAlBA,EAA8C17O,SAC7CmqF,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAn5E,SAAA,EACE02E,EAAAA,GAAAA,KAAA,KAAGx3I,UAAU,2CAA0C8gE,SAAC,4JAKxD02E,EAAAA,GAAAA,KAACuoJ,GAAQ,CACP3hU,MAAyB,OAAlBy4T,SAAkB,IAAlBA,IAA4C,QAA1B2U,GAAlB3U,GAAoBj7H,gCAAwB,IAAA4vI,QAA1B,EAAlBA,GAA8CpxI,SACrDt9J,YAAa,UACbqiH,SAAU,SAACzlJ,GAAC,OACV0nU,GACE1nU,EACA,2BACA,WACAo9T,GACAD,GACD,EAEH72R,UAA+B,OAApBy3R,SAAoB,IAApBA,QAAoB,EAApBA,GAAsBr9H,kBAQ7C,OACE5iB,EAAAA,GAAAA,KAAAyC,GAAAA,SAAA,CAAAn5E,SACGqgO,GACqB,OAApBloI,SAAoB,IAApBA,QAAoB,EAApBA,GAAsBG,SACtBooI,KAIR,CDhUAmE,GAAazuU,UAAYgxU,GCmUzB,IAAM8E,GAA0B,CAC9B7L,sBAAuB3vM,KAAAA,KACvB4vM,wBAAyB5vM,KAAAA,MChiBZ,SAASy7M,GAAYrwK,GAA6B,IAA1BukK,EAAqBvkK,EAArBukK,sBAErC7nJ,GAAkD7rC,EAAAA,EAAAA,YAAWynL,IAArD+B,EAAgB39I,EAAhB29I,iBAAkBC,EAAmB59I,EAAnB49I,oBAC1B7hJ,GAA0CpnC,EAAAA,EAAAA,WAAS,GAAMqnC,GAAAtc,EAAAA,EAAAA,GAAAqc,EAAA,GAAnC63J,GAAF53J,EAAA,GAAkBA,EAAA,IAWhC63J,EAA8D,OAAxCp0I,SAAwC,IAAxCA,QAAwC,EAAxCA,GAA0C3tL,KACpE,SAACg/B,EAAM3nC,GACL,OACEu3K,EAAAA,GAAAA,MAAA,OAAiBh6I,UAAU,kCAAiC8gE,SAAA,EAC1D02E,EAAAA,GAAAA,KAAA,KAAA12E,SAAI12D,KACJotI,EAAAA,GAAAA,KAAC+nI,GAAc,CACbv0S,QAAkC,OAAzB+rL,SAAyB,IAAzBA,QAAyB,EAAzBA,GAA2B/2L,MAAM,EAAG,GAC7C08R,gBAAiBu6B,EAAiBjgI,GAAcv0L,IAChD08I,SAAU,SAACzlJ,GAAC,OAhBO,SAAC+I,EAAOrE,GACnC,IAAMgvU,EAAiBp7J,GAAA,GAAQilJ,GAC/BmW,EAAkBp2I,GAAcv0L,IAAU,CAACrE,GAC3C84T,EAAoBkW,GACpBF,GAAiB,EACnB,CAW2BxuC,CAAqBj8R,EAAO/I,EAAE,MALzC+I,EASd,IAII++T,EAAsB,CAC1B,GAAGhqJ,EAAAA,GAAAA,KAAAyC,GAAAA,SAAA,CAAAn5E,SAAGqsO,KAGR,OACE31J,EAAAA,GAAAA,KAAAyC,GAAAA,SAAA,CAAAn5E,SACGqgO,EAA0C,OAApBloI,SAAoB,IAApBA,QAAoB,EAApBA,GAAsBK,OAAQkoI,IAG3D,CCxCe,SAAS6L,GAAgBzwK,GAIpC,IAAD0wK,EAAAC,EAAAC,EAAAC,EAAAC,EAHDvM,EAAqBvkK,EAArBukK,sBACAC,EAAuBxkK,EAAvBwkK,wBACA3J,EAAoB76J,EAApB66J,qBAGAn+I,GACE7rC,EAAAA,EAAAA,YAAWynL,IADLiC,EAAoB79I,EAApB69I,qBAAsBC,EAAuB99I,EAAvB89I,yBAI9B1pL,EAAAA,EAAAA,YAAU,WAAO,IAADigM,EAAAC,EAEgC,WAAxB,OAApBzW,QAAoB,IAApBA,GAAgC,QAAZwW,EAApBxW,EAAsB59H,kBAAU,IAAAo0I,OAAZ,EAApBA,EAAkC99O,QACa,MAA3B,OAApBsnO,QAAoB,IAApBA,GAAgC,QAAZyW,EAApBzW,EAAsB59H,kBAAU,IAAAq0I,OAAZ,EAApBA,EAAkCxzI,WAElCg9H,GAAwB,SAACrkC,GAAS,OAAA/gH,GAAAA,GAAA,GAC7B+gH,GAAS,IACZx5F,WAAY,CACV1pG,MAAOkjM,EAAUx5F,WAAW1pG,MAC5BuqG,SAAU,KACX,GAGP,GAAG,CACmB,OAApB+8H,QAAoB,IAApBA,GAAgC,QAAZmW,EAApBnW,EAAsB59H,kBAAU,IAAA+zI,OAAZ,EAApBA,EAAkCz9O,MACd,OAApBsnO,QAAoB,IAApBA,GAAgC,QAAZoW,EAApBpW,EAAsB59H,kBAAU,IAAAg0I,OAAZ,EAApBA,EAAkCnzI,SAClCg9H,IAGF,IAAMoK,EAAsB,CAC1B,GACExnJ,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAn5E,SAAA,EACE02E,EAAAA,GAAAA,KAACu4G,GAAc,CACb/kR,QAASguL,GACT56L,MAA2B,OAApB+4T,QAAoB,IAApBA,GAAgC,QAAZqW,EAApBrW,EAAsB59H,kBAAU,IAAAi0I,OAAZ,EAApBA,EAAkC39O,MACzCukH,aAAa,0BACb+7E,iBAAiB,EACjBhxI,SAAU,SAACzlJ,GAAC,OACV0nU,EACE1nU,EACA,aACA,QACA09T,EACAD,EACD,IAGwC,WAAxB,OAApBA,QAAoB,IAApBA,GAAgC,QAAZsW,EAApBtW,EAAsB59H,kBAAU,IAAAk0I,OAAZ,EAApBA,EAAkC59O,SACjC2nF,EAAAA,GAAAA,KAACuoJ,GAAQ,CACP3hU,MAA2B,OAApB+4T,QAAoB,IAApBA,GAAgC,QAAZuW,EAApBvW,EAAsB59H,kBAAU,IAAAm0I,OAAZ,EAApBA,EAAkCtzI,SACzCt9J,YAAa,UACbqiH,SAAU,SAACzlJ,GAAC,OACV0nU,EACE1nU,EACA,aACA,WACA09T,EACAD,EACD,EAEHn3R,UAA+B,OAApBy3R,QAAoB,IAApBA,OAAoB,EAApBA,EAAsBr9H,eAM3C,OACE5iB,EAAAA,GAAAA,KAAAyC,GAAAA,SAAA,CAAAn5E,SACGqgO,EACqB,OAApBloI,SAAoB,IAApBA,QAAoB,EAApBA,GAAsBM,WACtBioI,IAIR,CF0dA2G,GAAejxU,UAAY81U,GEvd3B,OAAMa,GAA4B,CAChC1M,sBAAuB3vM,KAAAA,KACvB4vM,wBAAyB5vM,KAAAA,MAG3B67M,GAAiBn2U,UAAY22U,GCzFtB,IAAMC,GAAgB,SAAA52J,EAAAilB,EAAAC,GAAA,OAAAx/B,GAAAA,KAAA7F,EAAAA,GAAAA,IAAAnI,EAAAA,GAAAA,KAAAC,MAAG,SAAAmmB,EAAO3vK,EAAM0oU,EAAcr6C,GAAM,OAAA9kI,EAAAA,GAAAA,KAAAE,MAAA,SAAA/2I,GAAA,cAAAA,EAAA9N,KAAA8N,EAAArZ,MAAA,cAAAqZ,EAAArZ,KAAA,EACzDg1L,GACHrwH,KhN6C0B,oBgN7CDh+D,GACzBvG,MAAK,SAAC8tC,GACL,IAAMohS,EAAUphS,EAASvnC,KAAK4oU,aACxBzzB,EAASn5S,SAASo0B,cAAc,KACtC+kR,EAAOp+Q,aAAa,OAAQ4xS,GAC5BxzB,EAAOp+Q,aAAa,WAAW,eAC/Bo+Q,EAAOp+Q,aAAa,SAAU,SAC9Bo+Q,EAAO5wR,MAAMW,QAAU,OACvBlpB,SAASrC,KAAK02B,YAAY8kR,GAC1BA,EAAOoO,QACPvnT,SAASrC,KAAK82B,YAAY0kR,GAC1B9mB,EAAO,CAAEl9P,KAAM,gCAAiCw9P,IAAK,WACvD,IACC77P,OAAM,SAACo4F,GACNmjK,EAAO,CAAEl9P,KAAM,4BAA6Bw9P,IAAK,WACnD,IACCie,SAAQ,WACP87B,GAAa,EACf,IAAG,KAAD,mBAAAh2T,EAAA8L,OAAA,GAAAmxJ,EAAA,MACLn3K,MAAA,KAAAnG,UAAA,ECzBUw2U,GAAgB,UAChBC,GAA6B,CACpC,aAAa,EACbnxL,KAAM,2CCmmBV,OAtmBA,SAAqBpnE,GACnB,SAASnE,EAAE13E,EAAGD,EAAGJ,EAAGQ,EAAGc,GACrB,IAAK,IAAgCR,EAAGP,EAAiBE,EAAuEW,EAAmC+1E,EAA1Jx2E,EAAI,EAAGV,EAAI,EAAGgB,EAAI,EAAGL,EAAI,EAASO,EAAI,EAAGi8E,EAAI,EAAM77E,EAAId,EAAIK,EAAI,EAAGJ,EAAI,EAAGK,EAAI,EAAG61E,EAAI,EAAG51E,EAAI,EAAG42E,EAAI53E,EAAEpC,OAAQ4+E,EAAI5E,EAAI,EAAMt3E,EAAI,GAAIO,EAAI,GAAIsU,EAAI,GAAIgnE,EAAI,GAAOz7E,EAAIk3E,GAAI,CAI5K,GAHAr3E,EAAIP,EAAEyI,WAAW/H,GACjBA,IAAM87E,GAAK,IAAMv8E,EAAIW,EAAIK,EAAIN,IAAM,IAAMV,IAAMM,EAAI,KAAON,EAAI,GAAK,IAAKW,EAAIK,EAAIN,EAAI,EAAGi3E,IAAK4E,KAExF,IAAMv8E,EAAIW,EAAIK,EAAIN,EAAG,CACvB,GAAID,IAAM87E,IAAM,EAAIz7E,IAAMT,EAAIA,EAAEqhC,QAAQ40C,EAAG,KAAM,EAAIj2E,EAAE6/B,OAAOviC,QAAS,CACrE,OAAQ2C,GACN,KAAK,GACL,KAAK,EACL,KAAK,GACL,KAAK,GACL,KAAK,GACH,MAEF,QACED,GAAKN,EAAEitE,OAAOvsE,GAGlBH,EAAI,EACN,CAEA,OAAQA,GACN,KAAK,IAKH,IAHAO,GADAR,EAAIA,EAAE6/B,QACA13B,WAAW,GACjBhI,EAAI,EAECO,IAAMN,EAAGA,EAAIk3E,GAAI,CACpB,OAAQr3E,EAAIP,EAAEyI,WAAW/H,IACvB,KAAK,IACHD,IACA,MAEF,KAAK,IACHA,IACA,MAEF,KAAK,GACH,OAAQF,EAAIP,EAAEyI,WAAW/H,EAAI,IAC3B,KAAK,GACL,KAAK,GACHY,EAAG,CACD,IAAKC,EAAIb,EAAI,EAAGa,EAAIi7E,IAAKj7E,EACvB,OAAQvB,EAAEyI,WAAWlH,IACnB,KAAK,GACH,GAAI,KAAOhB,GAAK,KAAOP,EAAEyI,WAAWlH,EAAI,IAAMb,EAAI,IAAMa,EAAG,CACzDb,EAAIa,EAAI,EACR,MAAMD,CACR,CAEA,MAEF,KAAK,GACH,GAAI,KAAOf,EAAG,CACZG,EAAIa,EAAI,EACR,MAAMD,CACR,EAKNZ,EAAIa,CACN,EAIJ,MAEF,KAAK,GACHhB,IAEF,KAAK,GACHA,IAEF,KAAK,GACL,KAAK,GACH,KAAOG,IAAM87E,GAAKx8E,EAAEyI,WAAW/H,KAAOH,KAK1C,GAAI,IAAME,EAAG,MACbC,GACF,CAKA,GAHAD,EAAIT,EAAEgf,UAAUhe,EAAGN,GACnB,IAAMI,IAAMA,GAAKR,EAAIA,EAAEqhC,QAAQkwE,EAAI,IAAI1xE,QAAQ13B,WAAW,IAGnD,KADC3H,EACN,CAIE,OAHA,EAAIC,IAAMT,EAAIA,EAAEqhC,QAAQ40C,EAAG,KAC3Bh2E,EAAID,EAAEmI,WAAW,IAGf,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,GACH1H,EAAIX,EACJ,MAEF,QACEW,EAAI+1E,EAMR,GAFA91E,GADAP,EAAIs3E,EAAE33E,EAAGW,EAAGN,EAAGF,EAAGe,EAAI,IAChB1D,OACN,EAAI6D,IAAsB01E,EAAI6E,EAAE,EAAGv7E,EAAzBM,EAAIm8E,EAAEpG,EAAGx2E,EAAGs2E,GAAmBx2E,EAAGq7E,EAAGp6E,EAAGL,EAAGT,EAAGe,EAAGd,GAAIF,EAAIS,EAAE4d,KAAK,SAAK,IAAWw4D,GAAK,KAAOn2E,GAAKP,EAAI02E,EAAEh3C,QAAQviC,UAAY2C,EAAI,EAAGE,EAAI,KAC5I,EAAIO,EAAG,OAAQT,GACjB,KAAK,IACHD,EAAIA,EAAEqhC,QAAQysE,EAAInB,GAEpB,KAAK,IACL,KAAK,IACL,KAAK,GACHxsG,EAAIH,EAAI,IAAMG,EAAI,IAClB,MAEF,KAAK,IAEHA,GADAH,EAAIA,EAAEqhC,QAAQ8rE,EAAI,UACV,IAAMhtG,EAAI,IAClBA,EAAI,IAAMS,GAAK,IAAMA,GAAKk5B,EAAE,IAAM35B,EAAG,GAAK,YAAcA,EAAI,IAAMA,EAAI,IAAMA,EAC5E,MAEF,QACEA,EAAIH,EAAIG,EAAG,MAAQD,IAAWK,GAAKJ,EAAVA,EAAa,SACnCA,EAAI,EACN,MAGLA,EAAIs3E,EAAE33E,EAAG88E,EAAE98E,EAAGE,EAAGs2E,GAAIn2E,EAAGD,EAAGc,EAAI,GAGnC6T,GAAK1U,EACLA,EAAIm2E,EAAI71E,EAAIQ,EAAIT,EAAI,EACpBR,EAAI,GACJC,EAAIP,EAAEyI,aAAa/H,GACnB,MAEF,KAAK,IACL,KAAK,GAEH,GAAI,GAAKM,GADTV,GAAK,EAAIS,EAAIT,EAAEqhC,QAAQ40C,EAAG,IAAMj2E,GAAG6/B,QACpBviC,QAAS,OAAQ,IAAM2D,IAAMT,EAAIR,EAAEmI,WAAW,GAAI,KAAO3H,GAAK,GAAKA,GAAK,IAAMA,KAAOE,GAAKV,EAAIA,EAAEqhC,QAAQ,IAAK,MAAM/jC,QAAS,EAAI6D,QAAK,KAAY01E,EAAI6E,EAAE,EAAG17E,EAAGF,EAAGC,EAAGo7E,EAAGp6E,EAAGR,EAAEjD,OAAQ4C,EAAGc,EAAGd,KAAO,KAAOQ,GAAKV,EAAI62E,EAAEh3C,QAAQviC,UAAY0C,EAAI,QAAaQ,EAAIR,EAAEmI,WAAW,GAAIlI,EAAID,EAAEmI,WAAW,GAAI3H,GAC9S,KAAK,EACH,MAEF,KAAK,GACH,GAAI,MAAQP,GAAK,KAAOA,EAAG,CACzB47E,GAAK77E,EAAIN,EAAEitE,OAAOvsE,GAClB,KACF,CAEF,QACE,KAAOJ,EAAEmI,WAAWzH,EAAI,KAAOH,GAAK0D,EAAEjE,EAAGQ,EAAGP,EAAGD,EAAEmI,WAAW,KAEhEmuE,EAAI71E,EAAIQ,EAAIT,EAAI,EAChBR,EAAI,GACJC,EAAIP,EAAEyI,aAAa/H,GAEzB,CAEA,OAAQH,GACN,KAAK,GACL,KAAK,GACH,KAAON,EAAIA,EAAI,EAAI,IAAM,EAAIa,GAAK,MAAQN,GAAK,EAAIF,EAAE1C,SAAWmD,EAAI,EAAGT,GAAK,MAC5E,EAAImB,EAAI46E,GAAKL,EAAE,EAAG17E,EAAGF,EAAGC,EAAGo7E,EAAGp6E,EAAGR,EAAEjD,OAAQ4C,EAAGc,EAAGd,GACjDa,EAAI,EACJo6E,IACA,MAEF,KAAK,GACL,KAAK,IACH,GAAI,IAAMx7E,EAAIW,EAAIK,EAAIN,EAAG,CACvBU,IACA,KACF,CAEF,QAIE,OAHAA,IACAD,EAAIpB,EAAEitE,OAAOvsE,GAELH,GACN,KAAK,EACL,KAAK,GACH,GAAI,IAAMK,EAAID,EAAIV,EAAG,OAAQkB,GAC3B,KAAK,GACL,KAAK,GACL,KAAK,EACL,KAAK,GACHC,EAAI,GACJ,MAEF,QACE,KAAOb,IAAMa,EAAI,KAErB,MAEF,KAAK,EACHA,EAAI,MACJ,MAEF,KAAK,GACHA,EAAI,MACJ,MAEF,KAAK,GACHA,EAAI,MACJ,MAEF,KAAK,GACH,IAAMR,EAAIX,EAAIU,IAAMI,EAAI61E,EAAI,EAAGx1E,EAAI,KAAOA,GAC1C,MAEF,KAAK,IACH,GAAI,IAAMR,EAAIX,EAAIU,EAAIuU,GAAK,EAAI3T,EAAG,OAAQb,EAAIa,GAC5C,KAAK,EACH,MAAQJ,GAAK,KAAOnB,EAAEyI,WAAW/H,EAAI,KAAOwU,EAAI/T,GAElD,KAAK,EACH,MAAQi8E,IAAMloE,EAAIkoE,GAEtB,MAEF,KAAK,GACH,IAAMx8E,EAAIX,EAAIU,IAAMY,EAAIb,GACxB,MAEF,KAAK,GACH,IAAMT,EAAIgB,EAAIL,EAAID,IAAMI,EAAI,EAAGK,GAAK,MACpC,MAEF,KAAK,GACL,KAAK,GACH,IAAMnB,IAAMW,EAAIA,IAAML,EAAI,EAAI,IAAMK,EAAIL,EAAIK,GAC5C,MAEF,KAAK,GACH,IAAMA,EAAIX,EAAIgB,GAAKN,IACnB,MAEF,KAAK,GACH,IAAMC,EAAIX,EAAIgB,GAAKN,IACnB,MAEF,KAAK,GACH,IAAMC,EAAIX,EAAIU,GAAKM,IACnB,MAEF,KAAK,GACH,GAAI,IAAML,EAAIX,EAAIU,EAAG,CACnB,GAAI,IAAMG,EAAG,GAAQ,EAAIK,EAAI,EAAIi8E,IAC1B,UAIHt8E,EAAI,EAERG,GACF,CAEA,MAEF,KAAK,GACH,IAAMhB,EAAIgB,EAAIL,EAAID,EAAIY,EAAId,IAAMA,EAAI,GACpC,MAEF,KAAK,GACL,KAAK,GACH,KAAM,EAAIG,EAAID,EAAIM,GAAI,OAAQhB,GAC5B,KAAK,EACH,OAAQ,EAAIM,EAAI,EAAIP,EAAEyI,WAAW/H,EAAI,IACnC,KAAK,IACHT,EAAI,GACJ,MAEF,KAAK,IACHe,EAAIN,EAAGT,EAAI,GAGf,MAEF,KAAK,GACH,KAAOM,GAAK,KAAOY,GAAKH,EAAI,IAAMN,IAAM,KAAOV,EAAEyI,WAAWzH,EAAI,KAAOH,GAAKb,EAAEgf,UAAUhe,EAAGN,EAAI,IAAKU,EAAI,GAAInB,EAAI,IAIxH,IAAMA,IAAMK,GAAKc,GAGrBg8E,EAAIj8E,EACJA,EAAIZ,EACJG,GACF,CAIA,GAAI,GAFJM,EAAIH,EAAEjD,QAEK,CAET,GADAmD,EAAIX,EACA,EAAIqB,SAA2C,KAArC01E,EAAI6E,EAAE,EAAGn7E,EAAGE,EAAGV,EAAGo7E,EAAGp6E,EAAGL,EAAGR,EAAGc,EAAGd,KAAoB,KAAOK,EAAIs2E,GAAGv5E,QAAS,OAAOu+E,EAAIt7E,EAAIsU,EAGzG,GAFAtU,EAAIE,EAAE4d,KAAK,KAAO,IAAM9d,EAAI,IAExB,IAAMK,EAAIgU,EAAG,CAGf,OAFA,IAAMhU,GAAKk5B,EAAEv5B,EAAG,KAAOqU,EAAI,GAEnBA,GACN,KAAK,IACHrU,EAAIA,EAAE8gC,QAAQ44E,EAAI,YAAc15G,EAChC,MAEF,KAAK,IACHA,EAAIA,EAAE8gC,QAAQg7C,EAAG,sBAAwB97E,EAAE8gC,QAAQg7C,EAAG,aAAe97E,EAAE8gC,QAAQg7C,EAAG,iBAAmB97E,EAGzGqU,EAAI,CACN,CACF,CAEA,OAAOinE,EAAIt7E,EAAIsU,CACjB,CAEA,SAAS+nE,EAAE78E,EAAGD,EAAGJ,GACf,IAAIQ,EAAIJ,EAAE+/B,OAAOksB,MAAM+pD,GACvBh2G,EAAII,EACJ,IAAIc,EAAId,EAAE5C,OACN+C,EAAIN,EAAEzC,OAEV,OAAQ+C,GACN,KAAK,EACL,KAAK,EACH,IAAIV,EAAI,EAER,IAAKI,EAAI,IAAMM,EAAI,GAAKN,EAAE,GAAK,IAAKJ,EAAIqB,IAAKrB,EAC3CG,EAAEH,GAAKoV,EAAEhV,EAAGD,EAAEH,GAAID,GAAGmgC,OAGvB,MAEF,QACE,IAAIl/B,EAAIhB,EAAI,EAEZ,IAAKG,EAAI,GAAIH,EAAIqB,IAAKrB,EACpB,IAAK,IAAIW,EAAI,EAAGA,EAAID,IAAKC,EACvBR,EAAEa,KAAOoU,EAAEhV,EAAEO,GAAK,IAAKJ,EAAEP,GAAID,GAAGmgC,OAMxC,OAAO//B,CACT,CAEA,SAASiV,EAAEhV,EAAGD,EAAGJ,GACf,IAAIQ,EAAIJ,EAAEqI,WAAW,GAGrB,OAFA,GAAKjI,IAAMA,GAAKJ,EAAIA,EAAE+/B,QAAQ13B,WAAW,IAEjCjI,GACN,KAAK,GACH,OAAOJ,EAAEuhC,QAAQxsB,EAAG,KAAO9U,EAAE8/B,QAE/B,KAAK,GACH,OAAO9/B,EAAE8/B,OAAS//B,EAAEuhC,QAAQxsB,EAAG,KAAO9U,EAAE8/B,QAE1C,QACE,GAAI,EAAI,EAAIngC,GAAK,EAAII,EAAEkQ,QAAQ,MAAO,OAAOlQ,EAAEuhC,QAAQxsB,GAAI,KAAO9U,EAAEoI,WAAW,GAAK,GAAK,MAAQpI,EAAE8/B,QAGvG,OAAO9/B,EAAID,CACb,CAEA,SAASmE,EAAElE,EAAGD,EAAGJ,EAAGQ,GAClB,IAAIc,EAAIjB,EAAI,IACRM,EAAI,EAAIP,EAAI,EAAIJ,EAAI,EAAIQ,EAE5B,GAAI,MAAQG,EAAG,CACbN,EAAIiB,EAAEgP,QAAQ,IAAK,GAAK,EACxB,IAAIrQ,EAAIqB,EAAE0d,UAAU3e,EAAGiB,EAAE1D,OAAS,GAAGuiC,OAErC,OADAlgC,EAAIqB,EAAE0d,UAAU,EAAG3e,GAAG8/B,OAASlgC,EAAI,IAC5B,IAAMiB,GAAK,IAAMA,GAAKk5B,EAAEn6B,EAAG,GAAK,WAAaA,EAAIA,EAAIA,CAC9D,CAEA,GAAI,IAAMiB,GAAK,IAAMA,IAAMk5B,EAAE94B,EAAG,GAAI,OAAOA,EAE3C,OAAQX,GACN,KAAK,KACH,OAAO,KAAOW,EAAEmH,WAAW,IAAM,WAAanH,EAAIA,EAAIA,EAExD,KAAK,IACH,OAAO,MAAQA,EAAEmH,WAAW,GAAK,WAAanH,EAAIA,EAAIA,EAExD,KAAK,IACH,OAAO,MAAQA,EAAEmH,WAAW,GAAK,WAAanH,EAAIA,EAAIA,EAExD,KAAK,KACH,GAAI,MAAQA,EAAEmH,WAAW,GAAI,MAE/B,KAAK,IACL,KAAK,IACH,MAAO,WAAanH,EAAIA,EAE1B,KAAK,IACH,MAAO,WAAaA,EAAI,QAAUA,EAAIA,EAExC,KAAK,KACL,KAAK,IACH,MAAO,WAAaA,EAAI,QAAUA,EAAI,OAASA,EAAIA,EAErD,KAAK,IACH,GAAI,KAAOA,EAAEmH,WAAW,GAAI,MAAO,WAAanH,EAAIA,EACpD,GAAI,EAAIA,EAAEgP,QAAQ,aAAc,IAAK,OAAOhP,EAAEqgC,QAAQ43E,EAAI,gBAAkBj4G,EAC5E,MAEF,KAAK,IACH,GAAI,KAAOA,EAAEmH,WAAW,GAAI,OAAQnH,EAAEmH,WAAW,IAC/C,KAAK,IACH,MAAO,eAAiBnH,EAAEqgC,QAAQ,QAAS,IAAM,WAAargC,EAAI,OAASA,EAAEqgC,QAAQ,OAAQ,YAAcrgC,EAE7G,KAAK,IACH,MAAO,WAAaA,EAAI,OAASA,EAAEqgC,QAAQ,SAAU,YAAcrgC,EAErE,KAAK,GACH,MAAO,WAAaA,EAAI,OAASA,EAAEqgC,QAAQ,QAAS,kBAAoBrgC,EAE5E,MAAO,WAAaA,EAAI,OAASA,EAAIA,EAEvC,KAAK,IACH,MAAO,WAAaA,EAAI,YAAcA,EAAIA,EAE5C,KAAK,KACH,GAAI,KAAOA,EAAEmH,WAAW,GAAI,MAE5B,MAAO,oBADPxI,EAAIqB,EAAE0d,UAAU1d,EAAEgP,QAAQ,IAAK,KAAKqxB,QAAQ,QAAS,IAAIA,QAAQ,gBAAiB,YAClD,WAAargC,EAAI,gBAAkBrB,EAAIqB,EAEzE,KAAK,KACH,OAAOotG,EAAG7jE,KAAKvpC,GAAKA,EAAEqgC,QAAQs1E,EAAI,aAAe31G,EAAEqgC,QAAQs1E,EAAI,UAAY31G,EAAIA,EAEjF,KAAK,IAIH,OAFAlB,GADAH,EAAIqB,EAAE0d,UAAU,IAAImhB,QACd7vB,QAAQ,KAAO,EAEbrQ,EAAEwI,WAAW,GAAKxI,EAAEwI,WAAWrI,IACrC,KAAK,IACHH,EAAIqB,EAAEqgC,QAAQw6C,EAAG,MACjB,MAEF,KAAK,IACHl8E,EAAIqB,EAAEqgC,QAAQw6C,EAAG,SACjB,MAEF,KAAK,IACHl8E,EAAIqB,EAAEqgC,QAAQw6C,EAAG,MACjB,MAEF,QACE,OAAO76E,EAGX,MAAO,WAAaA,EAAI,OAASrB,EAAIqB,EAEvC,KAAK,KACH,IAAK,IAAMA,EAAEgP,QAAQ,SAAU,GAAI,MAErC,KAAK,IAIH,OAHAlQ,GAAKkB,EAAIjB,GAAGzC,OAAS,GAGb+C,GAFRV,GAAK,KAAOqB,EAAEmH,WAAWrI,GAAKkB,EAAE0d,UAAU,EAAG5e,GAAKkB,GAAG0d,UAAU3e,EAAEiQ,QAAQ,IAAK,GAAK,GAAG6vB,QAExE13B,WAAW,IAAwB,EAAlBxI,EAAEwI,WAAW,KAC1C,KAAK,IACH,GAAI,IAAMxI,EAAEwI,WAAW,GAAI,MAE7B,KAAK,IACHnH,EAAIA,EAAEqgC,QAAQ1hC,EAAG,WAAaA,GAAK,IAAMqB,EACzC,MAEF,KAAK,IACL,KAAK,IACHA,EAAIA,EAAEqgC,QAAQ1hC,EAAG,YAAc,IAAMU,EAAI,UAAY,IAAM,OAAS,IAAMW,EAAEqgC,QAAQ1hC,EAAG,WAAaA,GAAK,IAAMqB,EAAEqgC,QAAQ1hC,EAAG,OAASA,EAAI,OAAS,IAAMqB,EAG5J,OAAOA,EAAI,IAEb,KAAK,IACH,GAAI,KAAOA,EAAEmH,WAAW,GAAI,OAAQnH,EAAEmH,WAAW,IAC/C,KAAK,IACH,OAAOxI,EAAIqB,EAAEqgC,QAAQ,SAAU,IAAK,WAAargC,EAAI,eAAiBrB,EAAI,YAAcA,EAAIqB,EAE9F,KAAK,IACH,MAAO,WAAaA,EAAI,iBAAmBA,EAAEqgC,QAAQ8sE,EAAI,IAAMntG,EAEjE,QACE,MAAO,WAAaA,EAAI,qBAAuBA,EAAEqgC,QAAQ,gBAAiB,IAAIA,QAAQ8sE,EAAI,IAAMntG,EAEpG,MAEF,KAAK,IACL,KAAK,IACH,GAAI,KAAOA,EAAEmH,WAAW,IAAM,MAAQnH,EAAEmH,WAAW,GAAI,MAEzD,KAAK,IACL,KAAK,IACH,IAAI,IAAOutG,EAAGnrE,KAAKxqC,GAAI,OAAO,OAASJ,EAAII,EAAE2e,UAAU3e,EAAEiQ,QAAQ,KAAO,IAAI7H,WAAW,GAAKlE,EAAElE,EAAEshC,QAAQ,UAAW,kBAAmBvhC,EAAGJ,EAAGQ,GAAGmhC,QAAQ,kBAAmB,YAAcrgC,EAAEqgC,QAAQ1hC,EAAG,WAAaA,GAAKqB,EAAEqgC,QAAQ1hC,EAAG,QAAUA,EAAE0hC,QAAQ,QAAS,KAAOrgC,EACxQ,MAEF,KAAK,IACH,GAAIA,EAAI,WAAaA,GAAK,MAAQA,EAAEmH,WAAW,GAAK,OAASnH,EAAI,IAAMA,EAAG,MAAQtB,EAAIQ,GAAK,MAAQc,EAAEmH,WAAW,KAAO,EAAInH,EAAEgP,QAAQ,YAAa,IAAK,OAAOhP,EAAE0d,UAAU,EAAG1d,EAAEgP,QAAQ,IAAK,IAAM,GAAGqxB,QAAQ4tE,EAAI,gBAAkBjuG,EAGvO,OAAOA,CACT,CAEA,SAAS84B,EAAE/5B,EAAGD,GACZ,IAAIJ,EAAIK,EAAEiQ,QAAQ,IAAMlQ,EAAI,IAAM,KAC9BI,EAAIH,EAAE2e,UAAU,EAAG,IAAM5e,EAAIJ,EAAI,IAErC,OADAA,EAAIK,EAAE2e,UAAUhf,EAAI,EAAGK,EAAEzC,OAAS,GAC3Bi+E,EAAE,IAAMz7E,EAAII,EAAIA,EAAEmhC,QAAQ07E,EAAI,MAAOr9G,EAAGI,EACjD,CAEA,SAAS6sG,EAAG5sG,EAAGD,GACb,IAAIJ,EAAIuE,EAAEnE,EAAGA,EAAEqI,WAAW,GAAIrI,EAAEqI,WAAW,GAAIrI,EAAEqI,WAAW,IAC5D,OAAOzI,IAAMI,EAAI,IAAMJ,EAAE2hC,QAAQgqE,EAAI,YAAY3sF,UAAU,GAAK,IAAM5e,EAAI,GAC5E,CAEA,SAAS47E,EAAE37E,EAAGD,EAAGJ,EAAGQ,EAAGc,EAAGX,EAAGV,EAAGgB,EAAGL,EAAGE,GACpC,IAAK,IAAkBI,EAAdX,EAAI,EAAGY,EAAIf,EAAMG,EAAIkB,IAAKlB,EACjC,OAAQW,EAAIs1E,EAAEj2E,GAAGiD,KAAKo0E,EAAGv3E,EAAGc,EAAGnB,EAAGQ,EAAGc,EAAGX,EAAGV,EAAGgB,EAAGL,EAAGE,IAClD,UAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,KACH,MAEF,QACEK,EAAID,EAIV,GAAIC,IAAMf,EAAG,OAAOe,CACtB,CAkBA,SAASiU,EAAE/U,GAGT,YADA,KADAA,EAAIA,EAAE0pB,UACW8xD,EAAI,KAAMx7E,EAAI,oBAAsBA,EAAIa,EAAI,GAAKA,EAAI,EAAG26E,EAAIx7E,GAAKa,EAAI,GAC/EkU,CACT,CAEA,SAASwiE,EAAEv3E,EAAGD,GACZ,IAAIJ,EAAIK,EAKR,GAJA,GAAKL,EAAEyI,WAAW,KAAOzI,EAAIA,EAAEmgC,QAE/BngC,EAAI,CADAA,GAGA,EAAIyB,EAAG,CACT,IAAIjB,EAAIw7E,GAAG,EAAG57E,EAAGJ,EAAGA,EAAGy7E,EAAGp6E,EAAG,EAAG,EAAG,EAAG,QACtC,IAAWb,GAAK,kBAAoBA,IAAMJ,EAAII,EAChD,CAEA,IAAIc,EAAIy2E,EAAEjB,EAAG92E,EAAGI,EAAG,EAAG,GAKtB,OAJA,EAAIqB,SAAmD,KAA7CjB,EAAIw7E,GAAG,EAAG16E,EAAGtB,EAAGA,EAAGy7E,EAAGp6E,EAAGC,EAAE1D,OAAQ,EAAG,EAAG,MAAqB0D,EAAId,IACxE,GACJ0U,EAAI,EACJ7T,EAAIo6E,EAAI,EACDn6E,CACT,CAEA,IAAIuwG,EAAK,QACLt7B,EAAI,YACJ0gC,EAAK,OACLvI,EAAK,UACLa,EAAK,sBACL6G,EAAK,SACLjhG,EAAI,oBACJs4F,EAAK,qBACL9wB,EAAI,aACJ49B,EAAK,gBACLp+B,EAAI,qBACJiyB,EAAK,kBACLzC,EAAK,eACL8C,EAAK,eACL4O,EAAK,8BACLrH,EAAK,mCACLuD,EAAK,sBACLl4G,EAAI,EACJo6E,EAAI,EACJvmE,EAAI,EACJhU,EAAI,EACJ41E,EAAI,GACJN,EAAI,GACJ/0E,EAAI,EACJo6E,EAAI,KACJQ,EAAI,EAKR,OAHAzE,EAAEojH,IApEF,SAAS1gK,EAAEj6B,GACT,OAAQA,GACN,UAAK,EACL,KAAK,KACHoB,EAAI+0E,EAAE54E,OAAS,EACf,MAEF,QACE,GAAI,oBAAsByC,EAAGm2E,EAAE/0E,KAAOpB,OAAO,GAAI,kBAAoBA,EAAG,IAAK,IAAID,EAAI,EAAGJ,EAAIK,EAAEzC,OAAQwC,EAAIJ,IAAKI,EAC7Gk6B,EAAEj6B,EAAED,SACCi8E,EAAU,IAAJh8E,EAGjB,OAAOi6B,CACT,EAuDAs9C,EAAE3Y,IAAM7pD,OACR,IAAW8mE,GAAK9mE,EAAE8mE,GACXtE,CACT,ECnjBA,GAjDmB,CACjBuiD,wBAAyB,EACzBE,kBAAmB,EACnBC,iBAAkB,EAClBC,iBAAkB,EAClBC,QAAS,EACTC,aAAc,EACdC,gBAAiB,EACjBC,YAAa,EACbvwE,QAAS,EACTwwE,KAAM,EACNC,SAAU,EACVC,aAAc,EACdC,WAAY,EACZC,aAAc,EACdC,UAAW,EACXE,QAAS,EACTC,WAAY,EACZC,YAAa,EACbC,aAAc,EACdC,WAAY,EACZC,cAAe,EACfC,eAAgB,EAChBC,gBAAiB,EACjBg5M,UAAW,EACXC,cAAe,EACfC,aAAc,EACdC,iBAAkB,EAClBngT,WAAY,EACZrD,WAAY,EACZ6C,QAAS,EACTF,MAAO,EACP4nG,QAAS,EACTC,QAAS,EACTC,OAAQ,EACRhoG,OAAQ,EACR6pE,KAAM,EACNm3O,gBAAiB,EAEjBlzO,YAAa,EACbm6B,aAAc,EACdC,YAAa,EACbC,gBAAiB,EACjBC,iBAAkB,EAClBC,iBAAkB,EAClBz6B,cAAe,EACf06B,YAAa,GC9Cf,SAAS24M,GAAQh5N,GACf,IAAIxtF,EAAQ3vB,OAAOmF,OAAO,MAC1B,OAAO,SAAUqZ,GAEf,YADmBvL,IAAf0c,EAAMnR,KAAoBmR,EAAMnR,GAAO2+F,EAAG3+F,IACvCmR,EAAMnR,EACf,CACF,CCJA,IAAI43T,GAAkB,o9HAElBC,GAA6BF,IAAQ,SAAU1gR,GACjD,OAAO2gR,GAAgBnqS,KAAKwpB,IAAgC,MAAvBA,EAAK5rD,WAAW,IAE3B,MAAvB4rD,EAAK5rD,WAAW,IAEhB4rD,EAAK5rD,WAAW,GAAK,EAC1B,2OCPA,IAAAxH,GAAA,SACEjB,EACAgB,GAAA,QAEMJ,EAAS,CAACZ,EAAQ,IAEfe,EAAI,EAAGm2D,EAAMl2D,EAAepD,OAAQmD,EAAIm2D,EAAKn2D,GAAK,EACzDH,EAAOoF,KAAKhF,EAAeD,GAAIf,EAAQe,EAAI,WAGtCH,CAAA,EAAAL,GAAA,SCVOS,GAAA,OACR,OAANA,GACa,iBAANA,GAC6D,qBAAnEA,EAAEyzB,SAAWzzB,EAAEyzB,WAAa71B,OAAOf,UAAU42B,SAASjxB,KAAKxC,OAC3DhB,EAAAA,GAAAA,QAAOgB,EAAA,ECNGw1E,GAAc53E,OAAOkpJ,OAAO,IAC5B5mJ,GAAetC,OAAOkpJ,OAAO,CAAC,GCD5B,SAAS5yI,GAAWlV,GAAA,MACV,mBAATA,CAAA,CCCD,SAASC,GACtBD,GAAA,OAKEA,EAAO7C,aAEP6C,EAAOrC,MACP,YCXW,SAAS4H,GAAkBvF,GAAA,OACjCA,GAA8C,iBAA7BA,EAAOk1U,iBAAA,CCG1B,IAAM3+P,GACS,oBAAZP,cAAA,IACCA,CAAAA,SAAAA,aAAAA,WAAAA,GAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,EAAAA,kBAAAA,uBAAAA,wBAAAA,8BAAAA,uBAAAA,uEACNA,CAAAA,SAAAA,aAAAA,WAAAA,GAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,EAAAA,kBAAAA,uBAAAA,wBAAAA,8BAAAA,uBAAAA,qEAAYm/P,mBAAqBn/P,CAAAA,SAAAA,aAAAA,WAAAA,GAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,EAAAA,kBAAAA,uBAAAA,wBAAAA,8BAAAA,uBAAAA,qEAAYo/P,UAChD,cAOWj+P,GAA+B,oBAAX9+C,QAA0B,gBAAiBA,OAE/Du+C,GAAiB4e,QACC,kBAAtB6/O,kBACHA,kBACmB,oBAAZr/P,cAAA,IAAkCA,CAAAA,SAAAA,aAAAA,WAAAA,GAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,EAAAA,kBAAAA,uBAAAA,wBAAAA,8BAAAA,uBAAAA,4EAAQ,IAC1CA,CAAAA,SAAAA,aAAAA,WAAAA,GAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,EAAAA,kBAAAA,uBAAAA,wBAAAA,8BAAAA,uBAAAA,qEAAYs/P,6BACyB,KAA5Ct/P,CAAAA,SAAAA,aAAAA,WAAAA,GAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,EAAAA,kBAAAA,uBAAAA,wBAAAA,8BAAAA,uBAAAA,qEAAYs/P,4BACkC,UAA5Ct/P,CAAAA,SAAAA,aAAAA,WAAAA,GAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,EAAAA,kBAAAA,uBAAAA,wBAAAA,8BAAAA,uBAAAA,qEAAYs/P,6BAEVt/P,CAAAA,SAAAA,aAAAA,WAAAA,GAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,EAAAA,kBAAAA,uBAAAA,wBAAAA,8BAAAA,uBAAAA,qEAAYs/P,iCAAA,IACPt/P,CAAAA,SAAAA,aAAAA,WAAAA,GAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,EAAAA,kBAAAA,uBAAAA,wBAAAA,8BAAAA,uBAAAA,qEAAYq/P,mBAAuE,KAAlCr/P,CAAAA,SAAAA,aAAAA,WAAAA,GAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,EAAAA,kBAAAA,uBAAAA,wBAAAA,8BAAAA,uBAAAA,qEAAYq/P,oBAClC,UAAlCr/P,CAAAA,SAAAA,aAAAA,WAAAA,GAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,EAAAA,kBAAAA,uBAAAA,wBAAAA,8BAAAA,uBAAAA,qEAAYq/P,mBAEVr/P,CAAAA,SAAAA,aAAAA,WAAAA,GAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,EAAAA,kBAAAA,uBAAAA,wBAAAA,8BAAAA,uBAAAA,qEAAYq/P,qBCHP,SAAS55P,GACtBz7E,GAAA,QAAAgB,EAAAhD,UAAAJ,OACGgD,EAAA,IAAA0C,MAAAtC,EAAA,EAAAA,EAAA,KAAAD,EAAA,EAAAA,EAAAC,EAAAD,IAAAH,EAAAG,EAAA,GAAA/C,UAAA+C,GAAA,MAGK,IAAI8G,MAAA,+CACuC7H,EAAA,0BAC7CY,EAAehD,OAAS,EAAI,UAAUgD,EAAe+d,KAAK,MAAU,IAIhB,CC9BrD,IAMD4jD,GAAA,oBAAAviE,EAOQA,GAAA,KACLu1U,WAAa,IAAIlqU,YAVR,UAWTzN,OAXS,SAYT8wH,IAAM1uH,CAAA,KAAAgB,EAAAhB,EAAAnC,UAAA,OAAAmD,EAGbw0U,aAAA,SAAax1U,GAAA,QACPgB,EAAQ,EACHJ,EAAI,EAAGA,EAAIZ,EAAOY,IACzBI,GAAS6C,KAAK0xU,WAAW30U,GAAA,OAGpBI,CAAA,EAAAA,EAGTy0U,YAAA,SAAYz1U,EAAegB,GAAA,GACrBhB,GAAS6D,KAAK0xU,WAAW33U,OAAQ,SAC7BgD,EAAYiD,KAAK0xU,WACjBx0U,EAAUH,EAAUhD,OAEtBs5D,EAAUn2D,EACPf,GAASk3D,IACdA,IAAY,GACE,GACZukB,GAAiB,GAAI,GAAGz7E,GAAA,KAIvBu1U,WAAa,IAAIlqU,YAAY6rD,GAAA,KAC7Bq+Q,WAAWt2Q,IAAIr+D,GAAA,KACfhD,OAASs5D,EAAA,IAET,IAAIhzD,EAAInD,EAASmD,EAAIgzD,EAAShzD,IAAA,KAC5BqxU,WAAWrxU,GAAK,UAIrBrE,EAAYgE,KAAK2xU,aAAax1U,EAAQ,GACjCsB,EAAI,EAAGlB,EAAIY,EAAMpD,OAAQ0D,EAAIlB,EAAGkB,IACnCuC,KAAK6qH,IAAIgnN,WAAW71U,EAAWmB,EAAMM,MAAA,KAClCi0U,WAAWv1U,KAChBH,IAAA,EAAAmB,EAKN20U,WAAA,SAAW31U,GAAA,GACLA,EAAQ6D,KAAKjG,OAAQ,KACjBoD,EAAS6C,KAAK0xU,WAAWv1U,GACzBY,EAAaiD,KAAK2xU,aAAax1U,GAC/Be,EAAWH,EAAaI,EAAA,KAEzBu0U,WAAWv1U,GAAS,MAEpB,IAAIk3D,EAAIt2D,EAAYs2D,EAAIn2D,EAAUm2D,IAAA,KAChCw3D,IAAIknN,WAAWh1U,EAAA,GAAAI,EAK1B60U,SAAA,SAAS71U,GAAA,IACHgB,EAAM,MACNhB,GAAS6D,KAAKjG,QAAqC,IAA3BiG,KAAK0xU,WAAWv1U,GAAA,OACnCgB,EAAA,QAGHJ,EAASiD,KAAK0xU,WAAWv1U,GACzBe,EAAa8C,KAAK2xU,aAAax1U,GAC/Bk3D,EAAWn2D,EAAaH,EAErBsD,EAAInD,EAAYmD,EAAIgzD,EAAUhzD,IACrClD,GAAU6C,KAAK6qH,IAAIonN,QAAQ5xU,GF9ET,mBEiFblD,CAAA,EAAAhB,CAAA,CAjFL,GCRFs6B,GAAuC,IAAIwkC,IAC3C39D,GAAuC,IAAI29D,IAC3Cr+D,GAAgB,EAQP45B,GAAgB,SAACr6B,GAAA,GACxBs6B,GAAgB6X,IAAInyC,GAAA,OACds6B,GAAgBnuB,IAAInM,GAAA,KAGvBmB,GAAgBgxC,IAAI1xC,KACzBA,KAAA,IAGIO,EAAQP,KAAA,OASd65B,GAAgB2kC,IAAIj/D,EAAIgB,GACxBG,GAAgB89D,IAAIj+D,EAAOhB,GACpBgB,CAAA,EAGI42E,GAAgB,SAAC53E,GAAA,OACrBmB,GAAgBgL,IAAInM,EAAA,EAGhBqB,GAAgB,SAACrB,EAAYgB,GACpCA,GAASP,KACXA,GAAgBO,EAAQ,GAG1Bs5B,GAAgB2kC,IAAIj/D,EAAIgB,GACxBG,GAAgB89D,IAAIj+D,EAAOhB,EAAA,EC3CvB+3E,GAAA,SAAoBxB,GAAA,kCACpB4F,GAAY,IAAIooB,OAAA,IAAWhuB,GAAA,gDAkC3Bn8C,GAA4B,SAACp6B,EAAcgB,EAAYJ,GAAA,QAEvDG,EADEm2D,EAAQt2D,EAAQyrD,MAAM,KAGnBnoD,EAAI,EAAGrE,EAAIq3D,EAAMt5D,OAAQsG,EAAIrE,EAAGqE,KAElCnD,EAAOm2D,EAAMhzD,KAChBlE,EAAM+1U,aAAa/0U,EAAID,EAAA,EAKvBoU,GAAwB,SAACnV,EAAcgB,GAAA,QACrCJ,GAASI,EAAM0rC,aAAe,IAAI2f,MJxClB,aIyChBtrD,EAAkB,GAEfm2D,EAAI,EAAGhzD,EAAItD,EAAMhD,OAAQs5D,EAAIhzD,EAAGgzD,IAAK,KACtCr3D,EAAOe,EAAMs2D,GAAG/2B,OAAA,GACjBtgC,EAAA,KAECyB,EAASzB,EAAK0yC,MAAM4pC,IAAA,GAEtB76E,EAAQ,KACJlB,EAAkC,EAA1BuW,SAASrV,EAAO,GAAI,IAC5BC,EAAKD,EAAO,GAEJ,IAAVlB,IAEFiB,GAAcE,EAAInB,GAGlBg6B,GAA0Bp6B,EAAOuB,EAAID,EAAO,IAC5CtB,EAAMg2U,SAASP,YAAYr1U,EAAOW,IAGpCA,EAAMnD,OAAS,OAEfmD,EAAMiF,KAAKnG,EAAA,ICzEXw8E,GAAW,kBACmC45P,EAAAA,EAAoB,ECiB3Dn1U,GAAe,SAACd,GAAA,IACrBgB,EAAS2G,SAASyjD,KAClBxqD,EAASZ,GAAUgB,EACnBD,EAAQ4G,SAASo0B,cAAc,SAC/Bm7B,EAlBiB,SAACl3D,GAAA,QAChBgB,EAAehB,EAAfowC,WAECxvC,EAAII,EAAWpD,OAAQgD,GAAK,EAAGA,IAAK,KACrCG,EAAUC,EAAWJ,GAAA,GACvBG,GARa,IAQJA,EAAMklC,UAA6BllC,EAAM4sC,aAAa4oC,IAAA,OACxDx1E,CAAA,EANU,CAkBYH,GAC7BsD,OAAA,IAAcgzD,EAA0BA,EAAUvyB,YAAc,KAEtE5jC,EAAM2hC,aAAa6zC,GNnBS,UMoB5Bx1E,EAAM2hC,aNnBuB,sBACL,cMoBlB7iC,EAAQw8E,KAAA,OAEVx8E,GAAOkB,EAAM2hC,aAAa,QAAS7iC,GAEvCe,EAAO0tC,aAAavtC,EAAOmD,GAEpBnD,CAAA,ECtBIi7E,GAAA,oBAAAh8E,EAOCA,GAAA,IACJgB,EAAW6C,KAAKg0B,QAAU/2B,GAAad,GAG7CgB,EAAQg7B,YAAYr0B,SAASomC,eAAe,UAEvC1B,MDae,SAACrsC,GAAA,GACnBA,EAAIqsC,MAAA,OACGrsC,EAAIqsC,MAAA,QAIPrrC,EAAgB2G,SAAhBuuU,YACCt1U,EAAI,EAAGG,EAAIC,EAAYpD,OAAQgD,EAAIG,EAAGH,IAAK,KAC5Cs2D,EAAQl2D,EAAYJ,GAAA,GACtBs2D,EAAMi/Q,YAAcn2U,EAAA,OACbk3D,CAAA,CAIbukB,GAAiB,IAdK,CCbEz6E,GAAA,KACjBpD,OAAS,MAAAoD,EAAAhB,EAAAnC,UAAA,OAAAmD,EAGhB00U,WAAA,SAAW11U,EAAegB,GAAA,gBAEjBqrC,MAAMqpS,WAAW10U,EAAMhB,GAAA,KACvBpC,UAAA,CACE,CACP,MAAOoC,GAAA,QACA,GAAAgB,EAIX40U,WAAA,SAAW51U,GAAA,KACJqsC,MAAMupS,WAAW51U,GAAA,KACjBpC,QAAA,EAAAoD,EAGP80U,QAAA,SAAQ91U,GAAA,IACAgB,EAAO6C,KAAKwoC,MAAMC,SAAStsC,GAAA,gBAE7BgB,GAA8C,iBAAjBA,EAAKyrC,QAC7BzrC,EAAKyrC,QAEL,IAAAzsC,CAAA,CAtCA,GA4CAu9E,GAAA,oBAAAv9E,EAOCA,GAAA,IACJgB,EAAW6C,KAAKg0B,QAAU/2B,GAAad,GAAA,KACxCo2U,MAAQp1U,EAAQovC,WAAA,KAChBxyC,OAAS,MAAAoD,EAAAhB,EAAAnC,UAAA,OAAAmD,EAGhB00U,WAAA,SAAW11U,EAAegB,GAAA,GACpBhB,GAAS6D,KAAKjG,QAAUoC,GAAS,EAAG,KAChCY,EAAO+G,SAASomC,eAAe/sC,GAC/BD,EAAU8C,KAAKuyU,MAAMp2U,GAAA,YACtB63B,QAAQyW,aAAa1tC,EAAMG,GAAW,WACtCnD,UAAA,CACE,SAEA,EAAAoD,EAIX40U,WAAA,SAAW51U,GAAA,KACJ63B,QAAQuE,YAAYv4B,KAAKuyU,MAAMp2U,IAAA,KAC/BpC,QAAA,EAAAoD,EAGP80U,QAAA,SAAQ91U,GAAA,OACFA,EAAQ6D,KAAKjG,OACRiG,KAAKuyU,MAAMp2U,GAAO0sC,YAElB,IAAA1sC,CAAA,CAlCA,GAwCAk8E,GAAA,oBAAAl8E,EAKCA,GAAA,KACLq2U,MAAQ,QACRz4U,OAAS,MAAAoD,EAAAhB,EAAAnC,UAAA,OAAAmD,EAGhB00U,WAAA,SAAW11U,EAAegB,GAAA,OACpBhB,GAAS6D,KAAKjG,SAAA,KACXy4U,MAAMn7T,OAAOlb,EAAO,EAAGgB,GAAA,KACvBpD,UAAA,EACE,EAAAoD,EAMX40U,WAAA,SAAW51U,GAAA,KACJq2U,MAAMn7T,OAAOlb,EAAO,QACpBpC,QAAA,EAAAoD,EAGP80U,QAAA,SAAQ91U,GAAA,OACFA,EAAQ6D,KAAKjG,OACRiG,KAAKwyU,MAAMr2U,GAEX,IAAAA,CAAA,CA7BA,GC5FToV,GAAmB+hE,GAWjBqF,GAA+B,CACnC85P,UAAWn/P,GACXo/P,mBAAoB3/P,IAIDsG,GAAA,oBAAAl9E,EAiBjBA,EACAgB,EACAJ,QAAA,IAFAZ,IAAAA,EAAgCkB,SAAA,IAChCF,IAAAA,EAA2C,CAAC,GAAD,KAGtCsQ,QAAAlQ,GAAA,GACAo7E,GAAA,GACAx8E,GAAA,KAGAw2U,GAAKx1U,EAAA,KACL6xH,MAAQ,IAAI/zD,IAAIl+D,GAAA,KAChB61U,SAAWz2U,EAAQs2U,UAGnBzyU,KAAK4yU,QAAUt/P,IAAc/hE,KAChCA,IAAA,EJyBwB,SAACpV,GAAA,QACvBgB,EAAQ2G,SAAS23I,iBAAiBvnE,IAE/Bn3E,EAAI,EAAGG,EAAIC,EAAMpD,OAAQgD,EAAIG,EAAGH,IAAK,KACtCs2D,EAASl2D,EAAMJ,GACjBs2D,GJ7EsB,WI6EdA,EAAKp/B,aAAay+C,MAC5BphE,GAAsBnV,EAAOk3D,GAEzBA,EAAKl2B,YACPk2B,EAAKl2B,WAAW5E,YAAY86B,GAAA,EATN,CIxBTrzD,MAAA,CAAA7D,EArBZ02U,WAAP,SAAkB12U,GAAA,OACTq6B,GAAcr6B,EAAA,MAAAgB,EAAAhB,EAAAnC,UAAA,OAAAmD,EAwBvB21U,uBAAA,SAAuB31U,EAA+BJ,GAAA,gBAAAA,IAAAA,GAAA,GAC7C,IAAIZ,EAAAoB,GAAA,GACJyC,KAAKyN,QAAA,GAAYtQ,GACtB6C,KAAK2yU,GACJ51U,GAAaiD,KAAKgvH,YAAA,EAAU,EAAA7xH,EAIjC41U,mBAAA,SAAmB52U,GAAA,OACT6D,KAAK2yU,GAAGx2U,IAAO6D,KAAK2yU,GAAGx2U,IAAO,GAAK,GAAAgB,EAI7Cg1U,OAAA,kBACSnyU,KAAK6qH,MAAQ7qH,KAAK6qH,KDtEH9tH,GAAAI,ECsEgC6C,KAAKyN,SDtErCglU,SAAUv1U,EAAAC,EAAAu1U,kBAAmBr/Q,EAAAl2D,EAAAwvC,OLCxBxwC,EKAzBY,EACK,IAAIs7E,GAAWhlB,GACbn2D,EACF,IAAIi7E,GAAS9kB,GAEb,IAAIqmB,GAAQrmB,GLJd,IAAIqL,GAAkBviE,KADD,IAACA,EAAAgB,EKDLJ,EAAUG,EAAmBm2D,CAAA,EAAAl2D,EC0ErD61U,aAAA,SAAa72U,EAAYgB,GAAA,OAChB6C,KAAKgvH,MAAM1gF,IAAInyC,IAAQ6D,KAAKgvH,MAAM1mH,IAAInM,GAAUmyC,IAAInxC,EAAA,EAAAA,EAI7D+0U,aAAA,SAAa/1U,EAAYgB,GAAA,GACvBq5B,GAAcr6B,GAET6D,KAAKgvH,MAAM1gF,IAAInyC,GAAA,KAKZ6yH,MAAM1mH,IAAInM,GAAU4G,IAAI5F,OALP,KACjBJ,EAAa,IAAIm3H,IACvBn3H,EAAWgG,IAAI5F,GAAA,KACV6xH,MAAM5zD,IAAIj/D,EAAIY,EAAA,GAAAI,EAOvBy0U,YAAA,SAAYz1U,EAAYgB,EAAcJ,GAAA,KAC/Bm1U,aAAa/1U,EAAIgB,GAAA,KACjBg1U,SAASP,YAAYp7S,GAAcr6B,GAAKY,EAAA,EAAAI,EAI/C81U,WAAA,SAAW92U,GACL6D,KAAKgvH,MAAM1gF,IAAInyC,IAAA,KACX6yH,MAAM1mH,IAAInM,GAAU8lG,OAAA,EAAA9kG,EAK9B+1U,WAAA,SAAW/2U,GAAA,KACJg2U,SAASL,WAAWt7S,GAAcr6B,IAAA,KAClC82U,WAAW92U,EAAA,EAAAgB,EAIlBg2U,SAAA,gBAGOtoN,SAAA,CAAM,EAAA1tH,EAIbyzB,SAAA,kBJpHyB,SAACz0B,GAAA,QACpBgB,EAAMhB,EAAMg2U,SACVp1U,EAAWI,EAAXpD,OAEJmD,EAAM,GACDm2D,EAAQ,EAAGA,EAAQt2D,EAAQs2D,IAAS,KACrChzD,EAAK0zE,GAAc1gB,GAAA,YACrBhzD,EAAA,KAEErE,EAAQG,EAAM6yH,MAAM1mH,IAAIjI,GACxB5C,EAAQN,EAAI60U,SAAS3+Q,GAAA,GACtBr3D,GAAUyB,GAAUzB,EAAMktB,KAAA,KAEzB3sB,EAAcm2E,GAAA,KAAYrf,EAAA,QAAahzD,EAAA,KAEzC3C,EAAU,YACV1B,GACFA,EAAMuQ,SAAQ,SAAApQ,GACRA,EAAKpC,OAAS,IAChB2D,GAAcvB,EAAA,QAOpBe,GAAA,GAAUO,EAAQlB,EAAA,aAAqBmB,EAAA,uBAGlCR,CAAA,CA7BkB,CIqHJ8C,KAAA,EAAA7D,CAAA,CApGF,GCvBfqV,GAAgB,WAOhB+nE,GAAoB,SAACp9E,GAAA,OACzB2D,OAAOsF,aAAajJ,GAAQA,EAAO,GAAK,GAAK,MAGhC,SAAS28E,GAAuB38E,GAAA,IAEzCgB,EADAJ,EAAO,OAINI,EAAI8G,KAAK0jB,IAAIxrB,GAAOgB,EAZP,GAYwBA,EAAKA,EAZ7B,GAYgD,EAChEJ,EAAOw8E,GAAkBp8E,EAbT,IAa4BJ,EAAA,OAGtCw8E,GAAkBp8E,EAhBR,IAgB2BJ,GAAM+gC,QAAQtsB,GAAe,SCpBrE,IAKMyuE,GAAQ,SAAC9jF,EAAWgB,GAAA,QAC3BJ,EAAII,EAAEpD,OAEHgD,GACLZ,EAAS,GAAJA,EAAUgB,EAAEyH,aAAa7H,GAAA,OAGzBZ,CAAA,EAII6jF,GAAO,SAAC7jF,GAAA,OACZ8jF,GAjBW,KAiBC9jF,EAAA,ECfN,SAASskF,GAActkF,GAAA,IAC/B,IAAIgB,EAAI,EAAGA,EAAIhB,EAAMpC,OAAQoD,GAAK,EAAG,KAClCJ,EAAOZ,EAAMgB,GAAA,GAEfkU,GAAWtU,KAAU2E,GAAkB3E,GAAA,QAGlC,SAIJ,CCPT,IAAMk1E,GAAO+N,GZIa,UYCLmC,GAAA,oBAAAhmF,EAaPA,EAAgBgB,EAAqBJ,GAAA,KAC1Cy1U,MAAQr2U,EAAA,KACRi3U,cAAgB,QAChBC,eAAuB,IACzBt2U,GAA2BA,EAAUs2U,WACtC5yP,GAActkF,GAAA,KACXm3U,YAAcn2U,EAAA,KAIdo2U,SAAWtzP,GAAMhO,GAAM90E,GAAA,KAEvBunO,UAAY3nO,EAIjBs8E,GAAWw5P,WAAW11U,EAAA,QAAAhB,EAAAnC,UAQxBw5U,wBAAA,SAAwBr3U,EAA0BgB,EAAwBJ,GAAA,IAChEG,EAAgB8C,KAAhBszU,YAEFjgR,EAAQ,MAEVrzD,KAAK0kO,WACPrxK,EAAMlxD,KAAKnC,KAAK0kO,UAAU8uG,wBAAwBr3U,EAAkBgB,EAAYJ,IAI9EiD,KAAKqzU,WAAat2U,EAAOmiK,KAAA,GACvBl/J,KAAKozU,eAAiBj2U,EAAW61U,aAAa91U,EAAa8C,KAAKozU,eAClE//Q,EAAMlxD,KAAKnC,KAAKozU,mBACX,KACC/yU,EAAYy9C,GAAQ99C,KAAKwyU,MAAOr2U,EAAkBgB,EAAYJ,GAAQ+d,KAAK,IAC3E9e,EAAO88E,GAAamH,GAAMjgF,KAAKuzU,SAAUlzU,KAAe,OAEzDlD,EAAW61U,aAAa91U,EAAalB,GAAO,KACzCyB,EAAqBV,EAAOsD,EAAA,IAAerE,OAAA,EAAmBkB,GAEpEC,EAAWy0U,YAAY10U,EAAalB,EAAMyB,EAAA,CAG5C41D,EAAMlxD,KAAKnG,GAAA,KACNo3U,cAAgBp3U,CAAA,KAElB,SACGO,EAAWyD,KAAKwyU,MAAhBz4U,OACJ2D,EAAcuiF,GAAMjgF,KAAKuzU,SAAUx2U,EAAOmiK,MAC1CriK,EAAM,GAEDL,EAAI,EAAGA,EAAID,EAAQC,IAAK,KACzBG,EAAWqD,KAAKwyU,MAAMh2U,GAAA,GAEJ,iBAAbG,EACTE,GAAOF,OAGF,GAAIA,EAAU,KACbK,EAAY8gD,GAAQnhD,EAAUR,EAAkBgB,EAAYJ,GAC5DN,EAAagD,MAAM8G,QAAQvJ,GAAaA,EAAU8d,KAAK,IAAM9d,EACnEU,EAAcuiF,GAAMviF,EAAajB,EAAaD,GAC9CK,GAAOJ,CAAA,KAIPI,EAAK,KACDC,EAAOg8E,GAAap7E,IAAgB,OAErCP,EAAW61U,aAAa91U,EAAaJ,GAAO,KACzCS,EAAeR,EAAOF,EAAA,IAASC,OAAA,EAAmBI,GACxDC,EAAWy0U,YAAY10U,EAAaJ,EAAMS,EAAA,CAG5C81D,EAAMlxD,KAAKrF,EAAA,SAIRu2D,EAAMv4C,KAAK,MAAA3e,CAAA,CA/FD,GCPfkmF,GAAgB,gBAChB1B,GAA0B,CAAC,IAAK,IAAK,IAAK,KAOjC,SAASS,GAAAjlF,GAAA,IAyBlBgB,EACAJ,EACAG,EACAm2D,EAAAhzD,OAAA,IAAAlE,EAzB6BkB,GAAAlB,EAAAH,EAAAqE,EAFjCoN,QAAAhQ,OAAA,IAAAzB,EAAUqB,GAAArB,EAAAO,EAAA8D,EACVsjJ,QAAAjmJ,OAAA,IAAAnB,EAAUo2E,GAAAp2E,EAEJM,EAAS,IAAIF,GAAOc,GAMtBjB,EAAe,GAWbQ,ECdR,SAAwBb,GAAA,SAIbgB,EAAQA,GAAA,GACXA,EAAA,IAEAhB,EAAcgB,EAAA,KACd,MAAOhB,GAAA,SAIN,SACLY,EACAG,EACAm2D,EACAhzD,EACArE,EACAyB,EACAlB,EACAmB,EACAb,EACAL,GAAA,OAEQO,GAAA,KAED,KAEW,IAAVF,GAAyC,KAA1BK,EAAQ0H,WAAW,GAAW,OAAOzI,EAAce,EAAA,KAAa,cAGhF,KACQ,IAAPQ,EAAU,OAAOR,EA/BT,mBAkCT,SACKQ,GAAA,KAED,SACA,WACIvB,EAAWk3D,EAAU,GAAKn2D,GAAU,kBAEpCA,GAAkB,IAAPV,EAzCV,QAyCiC,SAEzC,EACJU,EAAQsrD,MA3CI,UA2CUj8C,QAAQpP,GAAA,EA7CtC,EDc4C,SAAAhB,GACxCK,EAAa2F,KAAKhG,EAAA,IAQdM,EAAwB,SAACN,EAAOe,EAAQmD,GAAA,OAG9B,IAAXnD,IAA8E,IAA/DyjF,GAAwBl0E,QAAQpM,EAAOtD,EAAUhD,UAEhEsG,EAAOquC,MAAM2kB,GAKTl3D,EAAA,IAHMgB,CAAA,WA4BNL,EAAeX,EAAKkE,EAAUrE,EAAQyB,QAAA,IAAAA,IAAAA,EAAc,SACrDlB,EAAUJ,EAAI2hC,QAAQukD,GAAe,IACrC3kF,EAAS2C,GAAYrE,EAAYA,EAAA,IAAUqE,EAAA,MAAc9D,EAAA,KAAcA,EAAA,OAK7EY,EAAeM,EACfV,EAAYsD,EACZnD,EAAkB,IAAIwjG,OAAA,KAAY3jG,EAAA,MAAgB,KAClDs2D,EAA4B,IAAIqtC,OAAA,MAAa3jG,EAAA,YAEtCF,EAAOb,IAAWqE,EAAW,GAAKA,EAAU3C,EAAA,QAdrDb,EAAOs6L,IAAA,GAAAt7L,OAAQ6B,EAAA,CAPwB,SAACvB,EAASgB,EAAGk2D,GAClC,IAAZl3D,GAAiBk3D,EAAUt5D,QAAUs5D,EAAU,GAAG0xI,YAAYhoM,GAAa,IAE7Es2D,EAAU,GAAKA,EAAU,GAAGv1B,QAAQ5gC,EAAiBT,GAAA,EAIDO,EAlD9B,SAAAb,GAAA,IACP,IAAbA,EAAgB,KACZgB,EAAcX,EAAA,OACpBA,EAAe,GACRW,CAAA,MA+DXL,EAAeoiK,KAAOxhK,EAAQ3D,OAC1B2D,EACG6qB,QAAO,SAACpsB,EAAKgB,GAAA,OACPA,EAAOrD,MACV89E,GAAiB,IAGZqI,GAAM9jF,EAAKgB,EAAOrD,KAAA,GHnGf,MGqGX82B,WACH,GAEG9zB,CAAA,KE3FIymF,GAAgDrmF,EAAAA,gBAEhDiiE,IADqBokB,GAAkBywE,SACM92J,EAAAA,iBAG7C0lF,IAFiBzjB,GAAc60F,SAEL,IAAI36E,IAC9BoK,GAA4BrC,KAEzC,SAAgBsC,KAAA,OACPrjF,EAAAA,EAAAA,YAAWkjF,KAAsBX,EAAA,CAG1C,SAAgBD,KAAA,OACPtiF,EAAAA,EAAAA,YAAW8+D,KAAkBskB,EAAA,CAGvB,SAASD,GAAkBrnF,GAAA,IAAAgB,GACVk2D,EAAAA,EAAAA,UAASl3D,EAAMs3U,eAAtC12U,EAAAI,EAAA,GAASkD,EAAAlD,EAAA,GACVZ,EAAoBmnF,KAEpBhmF,GAAa1B,EAAAA,EAAAA,UAAQ,eACrBmB,EAAQZ,EAAA,OAERJ,EAAMqsC,MAERrrC,EAAQhB,EAAMqsC,MACLrsC,EAAMwwC,SACfxvC,EAAQA,EAAM21U,uBAAuB,CAAEnmS,OAAQxwC,EAAMwwC,SAAA,IAGnDxwC,EAAMu3U,wBACRv2U,EAAQA,EAAM21U,uBAAuB,CAAEJ,mBAAA,KAGlCv1U,CAAA,GACN,CAAChB,EAAMu3U,sBAAuBv3U,EAAMqsC,MAAOrsC,EAAMwwC,SAE9C9vC,GAASb,EAAAA,EAAAA,UACb,kBACEolF,GAAqB,CACnB3zE,QAAS,CAAEyY,QAAS/pB,EAAMw3U,uBAC1BhwL,QAAA5mJ,GAAA,GAEJ,CAACZ,EAAMw3U,sBAAuB52U,IAAA,OAGhCU,EAAAA,EAAAA,YAAU,WACHjB,KAAaO,EAASZ,EAAMs3U,gBAAgBpzU,EAAWlE,EAAMs3U,cAAA,GACjE,CAACt3U,EAAMs3U,gBAGRv2U,EAAAA,cAACqmF,GAAkBwwE,SAAA,CAASlzJ,MAAOnD,GACjCR,EAAAA,cAACiiE,GAAc40F,SAAA,CAASlzJ,MAAOhE,GAGzBV,EAAMonG,UAAA,KCjEGtgB,GAAA,oBAAA9mF,EAOPA,EAAcgB,GAAA,IAAAJ,EAAA,UAM1BygJ,OAAS,SAACrhJ,EAAwBgB,QAAA,IAAAA,IAAAA,EAA8BsmF,IAAA,IACxDvmF,EAAeH,EAAKjD,KAAOqD,EAAe+hK,KAE3C/iK,EAAW62U,aAAaj2U,EAAKslD,GAAInlD,IACpCf,EAAWy1U,YACT70U,EAAKslD,GACLnlD,EACAC,EAAeJ,EAAKy1U,MAAOt1U,EAAc,qBAK/C0zB,SAAW,kBACFgnD,GAAiB,GAAI93E,OAAO/C,EAAKjD,MAAA,OAlBnCA,KAAOqC,EAAA,KACPkmD,GAAA,gBAAqBlmD,EAAA,KACrBq2U,MAAQr1U,CAAA,QAAAhB,EAAAnC,UAmBf45U,QAAA,SAAQz3U,GAAA,gBAAAA,IAAAA,EAA8BsnF,IAC7BzjF,KAAKlG,KAAOqC,EAAe+iK,IAAA,EAAA/iK,CAAA,CA9BjB,GCCfknF,GAAiB,UACjBN,GAAmB,WACnBuD,GAAY,OACZpD,GAAqB,SAAC/mF,GAAA,UAA6BA,EAAKya,aAAA,EAkB/C,SAASuuE,GAAmBhpF,GAAA,OAClCknF,GAAer8C,KAAK7qC,GACzBA,EACC2hC,QAAQilD,GAAkBG,IAC1BplD,QAAQwoD,GAAW,QACpBnqF,CAAA,CClBJ,IAAM68G,GAAY,SAAA78G,GAAA,OAAS,MAAAA,IAAA,IAAyCA,GAA6B,KAAVA,CAAA,EAoBvF,SAAwB2hD,GACtB3hD,EACAY,EACAG,EACAm2D,GAAA,GAEI5zD,MAAM8G,QAAQpK,GAAQ,SAGYkE,EAF9BrE,EAAU,GAEPyB,EAAI,EAAGlB,EAAMJ,EAAMpC,OAAgB0D,EAAIlB,EAAKkB,GAAK,EAGzC,MAFf4C,EAASy9C,GAAQ3hD,EAAMsB,GAAIV,EAAkBG,EAAYm2D,MAGhD5zD,MAAM8G,QAAQlG,GAASrE,EAAQmG,KAAA7B,MAARtE,EAAgBqE,GAC3CrE,EAAQmG,KAAK9B,IAAA,OAGbrE,CAAA,QAGLg9G,GAAU78G,GACL,GAILuF,GAAkBvF,GAAA,IACTA,EAAMk1U,kBAIfhgU,GAAWlV,GC9DG,mBAFwBU,EDiEhBV,IC7DtBU,EAAK7C,WACF6C,EAAK7C,UAAUygJ,mBD4Dc19I,EAapBZ,EADL2hD,GAXQ3hD,EAAMY,GAWEA,EAAkBG,EAAYm2D,GAIrDl3D,aAAiB8mF,GACf/lF,GACFf,EAAMqhJ,OAAOtgJ,EAAYm2D,GAClBl3D,EAAMy3U,QAAQvgR,IACTl3D,EAITO,GAAcP,GAzEM,SAAhBA,EAAiBgB,EAAaJ,GAAA,IEbHG,EAAcm2D,EFc9ChzD,EAAQ,OAET,IAAMrE,KAAOmB,EACXA,EAAIuC,eAAe1D,KAAQg9G,GAAU77G,EAAInB,MAEzCyD,MAAM8G,QAAQpJ,EAAInB,KAASmB,EAAInB,GAAK63U,OAAUxiU,GAAWlU,EAAInB,IAChEqE,EAAM8B,KAAQgjF,GAAUnpF,GAAA,IAASmB,EAAInB,GAAM,KAClCU,GAAcS,EAAInB,IAC3BqE,EAAM8B,KAAA7B,MAAND,EAAclE,EAAcgB,EAAInB,GAAMA,IAEtCqE,EAAM8B,KAAQgjF,GAAUnpF,GAAA,MExBUkB,EFwBelB,GErBxC,OAHuCq3D,EFwBMl2D,EAAInB,KErBxB,kBAAVq3D,GAAiC,KAAVA,EAC1C,GAGY,iBAAVA,GAAgC,IAAVA,GAAiBn2D,KAAQF,IAAcE,EAAKulK,WAAW,MAIjF3iK,OAAOuzD,GAAO/2B,OAHT+2B,EAAA,oBFoBLt2D,EAAA,CAAcA,EAAA,MAAAlB,OAAgBwE,EAAA,CAAO,MAAOA,CAAA,CAfxB,CAyEiBlE,GAASA,EAAMy0B,WAX3C,IC9E0B/zB,CDyFiB,CG9E7D,IAAMsmF,GAAS,SAAAhnF,GAAA,OACTsD,MAAM8G,QAAQpK,KAEhBA,EAAI03U,OAAA,GAEC13U,CAAA,EAGM,SAAS6mF,GAAI7mF,GAAA,QAAAgB,EAAAhD,UAAAJ,OAAmBgD,EAAA,IAAA0C,MAAAtC,EAAA,EAAAA,EAAA,KAAAD,EAAA,EAAAA,EAAAC,EAAAD,IAAAH,EAAAG,EAAA,GAAA/C,UAAA+C,GAAA,OACzCmU,GAAWlV,IAAWO,GAAcP,GAE/BgnF,GAAOrlC,GAAQ1gD,GAAWu1E,GAAA,CAAcx2E,GAAAN,OAAWkB,MAG9B,IAA1BA,EAAehD,QAAkC,IAAlBoC,EAAOpC,QAAqC,iBAAdoC,EAAO,GAE/DA,EAIFgnF,GAAOrlC,GAAQ1gD,GAAWjB,EAAQY,IAAA,CC3B9B,IAAIm3H,IADjB,IAiDsBtvC,GAAA,SC9CNzoF,EAAcgB,EAAoBJ,GAAA,gBAAAA,IAAAA,EAAoBM,IAC5DlB,EAAMy1D,QAAU70D,EAAa60D,OAASz1D,EAAMy1D,OAAUz0D,GAAiBJ,EAAa60D,KAAA,ECJxF+zB,GAAc,wCAEdH,GAAe,WAMN,SAASf,GAAOtoF,GAAA,OAE3BA,EAEG2hC,QAAQ6nD,GAAa,KAGrB7nD,QAAQ0nD,GAAc,ICd7B,IAAAK,GAAA,SAAgB1pF,GAAA,OACP28E,GAAuBkH,GAAK7jF,KAAS,ICH/B,SAASmnF,GAAMnnF,GAAA,MAER,iBAAXA,IACmB,CACgB,CCqB9C,IAAM28G,GAAW,SAAA38G,GAAA,MAEE,mBAARA,GAAsC,iBAARA,GAA4B,OAARA,IAAiBsD,MAAM8G,QAAQpK,EAAA,EAItFuqF,GAAa,SAAAvqF,GAAA,MACF,cAARA,GAA+B,gBAARA,GAAiC,cAARA,CAAA,EAGzD,SAAS+oF,GAAM/oF,EAAQgB,EAAKJ,GAAA,IACpBG,EAAMf,EAAOY,GACf+7G,GAAS37G,IAAQ27G,GAAS57G,GAC5BgpF,GAAUhpF,EAAKC,GAEfhB,EAAOY,GAAOI,CAAA,CAIH,SAAS+oF,GAAU/pF,GAAA,QAAAgB,EAAAhD,UAAAJ,OAAWgD,EAAA,IAAA0C,MAAAtC,EAAA,EAAAA,EAAA,KAAAD,EAAA,EAAAA,EAAAC,EAAAD,IAAAH,EAAAG,EAAA,GAAA/C,UAAA+C,GAAA,QAAAm2D,EAAA,EAAAhzD,EACzBtD,EAAAs2D,EAAAhzD,EAAAtG,OAAAs5D,IAAM,KAAbr3D,EAAAqE,EAAAgzD,GAAA,GACLylD,GAAS98G,GAAA,IACN,IAAMyB,KAAOzB,EACZ0qF,GAAWjpF,IACbynF,GAAM/oF,EAAQH,EAAIyB,GAAMA,EAAA,QAMzBtB,CAAA,KC5CIwoF,GAAsCznF,EAAAA,gBAEtBynF,GAAaqvE,SCc1C,IAAMxvE,GAAc,CAAC,EA4IrB,SAAwB9L,GACtBv8E,EACAgB,EAOAJ,GAAA,IAEMs2D,EAAqB3xD,GAAkBvF,GACvCH,GAAwBsnF,GAAMnnF,GAAAsB,EAMhCN,EAHF22U,MAAAv3U,OAAA,IAAAkB,EAAQk1E,GAAAl1E,EAAAZ,EAGNM,EAFFm2U,YAAA92U,OAAA,IAAAK,EAzJJ,SAAoBV,EAAsBgB,GAAA,IAClCJ,EAA8B,iBAAhBZ,EAA2B,KAAOsoF,GAAOtoF,GAE7DqoF,GAAYznF,IAASynF,GAAYznF,IAAS,GAAK,MAEzCG,EAAiBH,EAAA,IAAQ8oF,G7BzBP,S6B4BT9oF,EAAOynF,GAAYznF,IAAA,OAG3BI,EAAuBA,EAAA,IAAqBD,EAAgBA,CAAA,CAXrE,CAyJ6BC,EAAQ7D,YAAa6D,EAAQ42U,mBAAAl3U,EAAAF,EAEpDQ,EADF7D,YAAA0D,OAAA,IAAAL,ECtLW,SACbR,GAAA,OAEOmnF,GAAMnnF,GAAA,UAAoBA,EAAA,UAAqBC,GAAiBD,GAAA,IAH1D,CDsLuBA,GAAAQ,EAG9BS,EACJD,EAAQ7D,aAAe6D,EAAQm2U,YACxB7uP,GAAOtnF,EAAQ7D,aAAA,IAAgB6D,EAAQm2U,YAC1Cn2U,EAAQm2U,aAAe92U,EAGvBE,EACJ22D,GAAwBl3D,EAAgC23U,MACpDr0U,MAAMzF,UAAU6B,OAASM,EAAgC23U,MAAOv3U,GAAOqe,OAAO+2E,SAC9Ep1F,EAGFm2E,EAAoBv1E,EAAQ62U,kBAE5B3gR,GAAsBl3D,EAAO63U,oBAG7BthQ,EAFEv1E,EAAQ62U,kBAEU,SAACj3U,EAAMG,EAAUm2D,GAAA,OAC/Bl3D,EAAgC63U,kBAClCj3U,EACAG,EACAm2D,IAEAl2D,EAAQ62U,kBAA4Cj3U,EAAMG,EAAUm2D,EAAA,EAGlDl3D,EAAgC63U,mBAAA,IAkBtDp2U,EAdE01E,EAAiB,IAAI6O,GACzBplF,EACAK,EACAi2D,EAAuBl3D,EAAgB83U,oBAAA,GAKnClhQ,EAAWO,EAAe+/P,UAA6B,IAAjB92U,EAAMxC,OAQ5C2G,EAAa,SAACvE,EAAOgB,GAAA,OA7I7B,SACEhB,EACAgB,EACAJ,EACAG,GAAA,IAGSm2D,EAOLl3D,EAPF23U,MACA93U,EAMEG,EANF83U,eACAx2U,EAKEtB,EALF9C,aACAkD,EAIEJ,EAJF+3U,mBACAr3U,EAGEV,EAHF63U,kBACAx3U,EAEEL,EAFFk1U,kBACA10U,EACER,EADFwwC,OAAA3vC,EA7DJ,SAAkCb,EAA2BgB,EAAeJ,QAAA,IAA1CZ,IAAAA,EAAakB,IAAA,IAIvCH,EAAAK,GAAA,GAAeJ,EAAA,CAAOy0D,MAAAz1D,IACtBk3D,EAAgB,CAAC,EAAD,OAEtBt2D,EAAMwP,SAAQ,SAAApQ,GAAA,IAERgB,EErD4BJ,EAAYsD,EFoDxCrE,EAAkBG,EAAA,IAQjBgB,KALDkU,GAAWrV,KACbA,EAAkBA,EAAgBkB,IAIxBlB,EACVkB,EAAQC,GAAOk2D,EAAcl2D,GACnB,cAARA,GE9D4BJ,EF+DZs2D,EAAcl2D,GE/DUkD,EF+DJrE,EAAgBmB,GE9DnDJ,GAAKsD,EAAOtD,EAAA,IAAKsD,EAAMtD,GAAKsD,GF+DzBrE,EAAgBmB,EAAA,IAKnB,CAACD,EAASm2D,EAAA,CAzBnB,CAmEgBuxB,GAAeznF,GAAOkD,EAAAA,EAAAA,YAAWskF,IAAelnF,IAEXJ,GAAcF,EAAOk2D,GAAjEv2D,EAAAE,EAAA,GAASI,EAAAJ,EAAA,GAEVN,EA3CR,SACEP,EACAgB,EACAJ,EACAG,GAAA,IAEMm2D,EAAaqwB,KACbrjF,EAASsiF,KAIuD,OAFpDxlF,EACdhB,EAAeq3U,wBAAwBn2U,GAAcg2D,EAAYhzD,GACjElE,EAAeq3U,wBAAwBz2U,EAAes2D,EAAYhzD,EAM/D,CAjBT,CA4CIrE,EACAkB,EACAJ,GAII61E,EAAe51E,EAEfX,EAA6BgB,EAAM+2U,KAAOh3U,EAAMg3U,KAAO/2U,EAAMyiH,IAAM1iH,EAAM0iH,IAAMljH,EAE/E+E,EAAc4hF,GAAMlnF,GACpBs2E,EAAgBt1E,IAAUD,EAAAI,GAAA,GAAaJ,EAAA,GAAUC,GAAUD,EAC3DS,EAAkB,CAAC,EAAD,IAGnB,IAAM01E,KAAOZ,EACD,MAAXY,EAAI,IAAsB,OAARA,IACL,gBAARA,EACP11E,EAAgBiiH,GAAKntC,EAAcY,IAEnCz2E,EACIA,EAAkBy2E,EAAK72E,GAAWL,IAClCsF,GACAjF,GAAU62E,MAId11E,EAAgB01E,GAAOZ,EAAcY,KAAA,OAIrCn2E,EAAMkvB,OAASjvB,EAAMivB,QAAUlvB,EAAMkvB,QACvCzuB,EAAgByuB,MAAA9uB,GAAA,GAAaJ,EAAMkvB,MAAA,GAAUjvB,EAAMivB,QAGrDzuB,EAAgB6kC,UAAYhjC,MAAMzF,UAC/B6B,OACCU,EACAC,EACAE,IAAuBF,EAAoBE,EAAqB,KAChES,EAAMslC,UACNrlC,EAAMqlC,WAEP7nB,OAAO+2E,SACP72E,KAAK,KAERld,EAAgBs/F,IAAMvqB,GAEfj1E,EAAAA,EAAAA,eAActB,EAAoBwB,EAAA,CAxE3C,CA+I2BA,EAAwBzB,EAAOgB,EAAK41E,EAAA,SAE7DryE,EAAWpH,YAAc0D,GAEzBY,EAA2BV,EAAAA,WAAiBwD,IACrBozU,MAAQp3U,EAC/BkB,EAAuBq2U,eAAiB3gQ,EACxC11E,EAAuBtE,YAAc0D,EACrCY,EAAuBo2U,kBAAoBthQ,EAI3C90E,EAAuBs2U,mBAAqB7gR,EACxC5zD,MAAMzF,UAAU6B,OACZM,EAAgC+3U,mBAChC/3U,EAAgCk1U,mBAEpC1+P,GAEJ/0E,EAAuByzU,kBAAoBj0U,EAG3CQ,EAAuB+uC,OAAS0mB,EAC1Bl3D,EAAgCwwC,OAClCxwC,EAEJyB,EAAuBw2U,cAAgB,SAAuBj4U,GAAA,IACvCe,EAA0CC,EAAvDm2U,YAAqCjgR,EAAA,SAAAl3D,EAAAgB,GAAA,SAAAhB,EAAA,aAAAY,EAAAG,EAAAm2D,EAAA,GAAAhzD,EAAAtF,OAAAa,KAAAO,GAAA,IAAAe,EAAA,EAAAA,EAAAmD,EAAAtG,OAAAmD,IAAAH,EAAAsD,EAAAnD,GAAAC,EAAAsP,QAAA1P,IAAA,IAAAs2D,EAAAt2D,GAAAZ,EAAAY,IAAA,OAAAs2D,CAAA,EAAkBl2D,EAAA,iBAEzDkD,EACJnD,GACGA,EAAA,KAAuBomF,GAAMnnF,GAAOA,EAAMsoF,GAAOroF,GAAiBD,KAAA,OAQhEu8E,GAAsBv8E,EAAAoB,GAAA,GALxB81D,EAAA,CACHygR,MAAOp3U,EACP42U,YAAajzU,IAG+BtD,EAAA,EAGhDhC,OAAOD,eAAe8C,EAAwB,eAAgB,CAC5D0K,IAAA,kBACStI,KAAKq0U,mBAAA,EAGdj5Q,IAAA,SAAIj+D,GAAA,KACGk3U,oBAAsBhhR,EACvB6yB,GAAM,CAAC,EAAK/pF,EAAgC9C,aAAc8D,GAC1DA,CAAA,IAiBRpC,OAAOD,eAAe8C,EAAwB,WAAY,CAAEiD,MAAO,qBAAUjD,EAAuByzU,iBAAA,IAEhGr1U,GACFc,KAIEc,EAA0BzB,EAA0D,CAEpF23U,OAAA,EACAG,gBAAA,EACA36U,aAAA,EACA46U,oBAAA,EACAF,mBAAA,EACA3C,mBAAA,EACA1kS,QAAA,EACAynS,eAAA,IAIGx2U,CAAA,CGlUT,ICIMwnF,GAAS,SAACjpF,GAAA,gBCCQA,EACtBgB,EACAD,EACAm2D,GAAA,YAAAA,IAAAA,EAAkBh2D,MAEbN,EAAAA,GAAAA,oBAAmBG,GAAA,OACf06E,GAAiB,EAAG93E,OAAO5C,IAAA,IAK9BmD,EAAmB,kBAAalD,EAAqBD,EAAKm2D,EAAS2vB,GAAA1iF,WAAA,EAAAnG,WAAA,SAGzEkG,EAAiBi0U,WAAa,SAAAv3U,GAAA,OAC5BZ,EAAqBgB,EAAsBD,EAAAK,GAAA,GAAU81D,EAAA,GAAYt2D,GAAA,EAGnEsD,EAAiByzU,MAAQ,SAAA/2U,GAAA,OACvBZ,EAAqBgB,EAAsBD,EAAAK,GAAA,GACtC81D,EAAA,CACHygR,MAAOr0U,MAAMzF,UAAU6B,OAAOw3D,EAAQygR,MAAO/2U,GAAO6d,OAAO+2E,WAAA,EAGxDtxF,CAAA,CDzBO,CAAqCq4E,GAAiBv8E,EAAA,EDJvD,CACb,IACA,OACA,UACA,OACA,UACA,QACA,QACA,IACA,OACA,MACA,MACA,MACA,aACA,OACA,KACA,SACA,SACA,UACA,OACA,OACA,MACA,WACA,OACA,WACA,KACA,MACA,UACA,MACA,SACA,MACA,KACA,KACA,KACA,QACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,SACA,KACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,SACA,QACA,SACA,KACA,OACA,OACA,MACA,OACA,UACA,OACA,WACA,OACA,QACA,MACA,WACA,SACA,KACA,WACA,SACA,SACA,IACA,QACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,SACA,UACA,SACA,QACA,SACA,OACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,QACA,KACA,QACA,IACA,KACA,MACA,QACA,MAGA,SACA,WACA,OACA,UACA,gBACA,IACA,QACA,OACA,iBACA,SACA,OACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,MACA,OACA,WACA,SCnIUoQ,SAAQ,SAAApQ,GAClBipF,GAAOjpF,GAAcipF,GAAOjpF,EAAA,KELT,oBAAAA,EAOPA,EAAgBgB,GAAA,KACrBq1U,MAAQr2U,EAAA,KACRm3U,YAAcn2U,EAAA,KACdk2U,SAAW5yP,GAActkF,GAI9Bk9E,GAAWw5P,WAAW7yU,KAAKszU,YAAc,OAAAn2U,EAAAhB,EAAAnC,UAAAmD,EAG3CmwC,aAAA,SACEnxC,EACAgB,EACAJ,EACAG,GAAA,IAGMm2D,EAAMn2D,EADI4gD,GAAQ99C,KAAKwyU,MAAOr1U,EAAkBJ,EAAYG,GACvC4d,KAAK,IAAK,IAC/Bza,EAAKL,KAAKszU,YAAcn3U,EAG9BY,EAAW60U,YAAYvxU,EAAIA,EAAIgzD,EAAA,EAAAl2D,EAGjCo3U,aAAA,SAAap4U,EAAkBgB,GAC7BA,EAAW+1U,WAAWlzU,KAAKszU,YAAcn3U,EAAA,EAAAgB,EAG3Cq3U,aAAA,SACEr4U,EACAgB,EACAJ,EACAG,GAEIf,EAAW,GAAGk9E,GAAWw5P,WAAW7yU,KAAKszU,YAAcn3U,GAAA,KAGtDo4U,aAAap4U,EAAUY,GAAA,KACvBuwC,aAAanxC,EAAUgB,EAAkBJ,EAAYG,EAAA,EA7CzC,GCEN,SAASspF,GACtBrqF,GAWI,QAAAgB,EAAAhD,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","sources":["../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/hoist-non-react-statics/node_modules/react-is/index.js","../node_modules/html2canvas/node_modules/tslib/tslib.es6.js","../node_modules/html2canvas/node_modules/src/Util.ts","../node_modules/src/css/layout/bounds.ts","../node_modules/html2canvas/node_modules/css-line-break/node_modules/src/Util.ts","../node_modules/html2canvas/node_modules/css-line-break/node_modules/utrie/node_modules/src/index.ts","../node_modules/html2canvas/node_modules/css-line-break/node_modules/src/Trie.ts","../node_modules/html2canvas/node_modules/src/linebreak-trie.ts","../node_modules/html2canvas/node_modules/src/LineBreak.ts","../node_modules/src/css/syntax/tokenizer.ts","../node_modules/src/css/syntax/parser.ts","../node_modules/src/css/types/length.ts","../node_modules/src/css/types/length-percentage.ts","../node_modules/src/css/types/angle.ts","../node_modules/src/css/types/color.ts","../node_modules/src/css/property-descriptors/background-clip.ts","../node_modules/src/css/property-descriptors/background-color.ts","../node_modules/src/css/types/functions/gradient.ts","../node_modules/src/css/types/functions/-prefix-linear-gradient.ts","../node_modules/src/css/types/functions/radial-gradient.ts","../node_modules/src/css/types/functions/-prefix-radial-gradient.ts","../node_modules/src/css/types/image.ts","../node_modules/src/css/property-descriptors/background-size.ts","../node_modules/src/css/types/functions/linear-gradient.ts","../node_modules/src/css/types/functions/-webkit-gradient.ts","../node_modules/src/css/property-descriptors/background-image.ts","../node_modules/src/css/property-descriptors/background-origin.ts","../node_modules/src/css/property-descriptors/background-position.ts","../node_modules/src/css/property-descriptors/background-repeat.ts","../node_modules/src/css/property-descriptors/line-break.ts","../node_modules/src/css/property-descriptors/border-color.ts","../node_modules/src/css/property-descriptors/border-radius.ts","../node_modules/src/css/property-descriptors/border-style.ts","../node_modules/src/css/property-descriptors/border-width.ts","../node_modules/src/css/property-descriptors/color.ts","../node_modules/src/css/property-descriptors/direction.ts","../node_modules/src/css/property-descriptors/display.ts","../node_modules/src/css/property-descriptors/float.ts","../node_modules/src/css/property-descriptors/letter-spacing.ts","../node_modules/src/css/property-descriptors/word-break.ts","../node_modules/src/css/property-descriptors/line-height.ts","../node_modules/src/css/property-descriptors/list-style-image.ts","../node_modules/src/css/property-descriptors/list-style-position.ts","../node_modules/src/css/property-descriptors/list-style-type.ts","../node_modules/src/css/property-descriptors/margin.ts","../node_modules/src/css/property-descriptors/overflow.ts","../node_modules/src/css/property-descriptors/overflow-wrap.ts","../node_modules/src/css/property-descriptors/padding.ts","../node_modules/src/css/property-descriptors/text-align.ts","../node_modules/src/css/property-descriptors/position.ts","../node_modules/src/css/property-descriptors/text-shadow.ts","../node_modules/src/css/property-descriptors/text-transform.ts","../node_modules/src/css/property-descriptors/transform.ts","../node_modules/src/css/property-descriptors/transform-origin.ts","../node_modules/src/css/property-descriptors/visibility.ts","../node_modules/html2canvas/node_modules/text-segmentation/node_modules/src/Util.ts","../node_modules/src/css/property-descriptors/z-index.ts","../node_modules/src/css/types/time.ts","../node_modules/src/css/property-descriptors/opacity.ts","../node_modules/src/css/property-descriptors/text-decoration-color.ts","../node_modules/src/css/property-descriptors/text-decoration-line.ts","../node_modules/src/css/property-descriptors/font-family.ts","../node_modules/src/css/property-descriptors/font-size.ts","../node_modules/src/css/property-descriptors/font-weight.ts","../node_modules/src/css/property-descriptors/font-variant.ts","../node_modules/src/css/property-descriptors/font-style.ts","../node_modules/src/core/bitwise.ts","../node_modules/src/css/property-descriptors/content.ts","../node_modules/src/css/property-descriptors/counter-increment.ts","../node_modules/src/css/property-descriptors/counter-reset.ts","../node_modules/src/css/property-descriptors/duration.ts","../node_modules/src/css/property-descriptors/quotes.ts","../node_modules/src/css/property-descriptors/box-shadow.ts","../node_modules/src/css/property-descriptors/paint-order.ts","../node_modules/src/css/property-descriptors/webkit-text-stroke-color.ts","../node_modules/src/css/property-descriptors/webkit-text-stroke-width.ts","../node_modules/src/css/index.ts","../node_modules/src/core/debugger.ts","../node_modules/src/dom/element-container.ts","../node_modules/html2canvas/node_modules/src/grapheme-break-trie.ts","../node_modules/html2canvas/node_modules/text-segmentation/node_modules/utrie/node_modules/src/index.ts","../node_modules/html2canvas/node_modules/text-segmentation/node_modules/src/Trie.ts","../node_modules/html2canvas/node_modules/src/GraphemeBreak.ts","../node_modules/src/dom/document-cloner.ts","../node_modules/src/core/features.ts","../node_modules/src/css/layout/text.ts","../node_modules/src/dom/text-container.ts","../node_modules/src/dom/replaced-elements/image-element-container.ts","../node_modules/src/dom/replaced-elements/canvas-element-container.ts","../node_modules/src/dom/replaced-elements/svg-element-container.ts","../node_modules/src/dom/elements/li-element-container.ts","../node_modules/src/dom/elements/ol-element-container.ts","../node_modules/src/dom/replaced-elements/input-element-container.ts","../node_modules/src/dom/elements/select-element-container.ts","../node_modules/src/dom/elements/textarea-element-container.ts","../node_modules/src/dom/replaced-elements/iframe-element-container.ts","../node_modules/src/dom/node-parser.ts","../node_modules/src/css/types/functions/counter.ts","../node_modules/src/render/bound-curves.ts","../node_modules/src/core/cache-storage.ts","../node_modules/src/render/vector.ts","../node_modules/src/render/bezier-curve.ts","../node_modules/src/render/effects.ts","../node_modules/src/render/path.ts","../node_modules/src/render/stacking-context.ts","../node_modules/src/render/border.ts","../node_modules/src/render/box-sizing.ts","../node_modules/src/render/background.ts","../node_modules/src/core/util.ts","../node_modules/src/render/font-metrics.ts","../node_modules/src/render/renderer.ts","../node_modules/src/render/canvas/canvas-renderer.ts","../node_modules/src/render/canvas/foreignobject-renderer.ts","../node_modules/src/core/logger.ts","../node_modules/src/core/context.ts","../node_modules/src/index.ts","../node_modules/jspdf-autotable/dist/jspdf.plugin.autotable.js","../node_modules/fflate/esm/browser.js","../node_modules/jspdf/src/libs/globalObject.js","../node_modules/jspdf/src/libs/console.js","../node_modules/jspdf/src/libs/FileSaver.js","../node_modules/jspdf/src/libs/AtobBtoa.js","../node_modules/jspdf/src/libs/rgbcolor.js","../node_modules/jspdf/src/libs/md5.js","../node_modules/jspdf/src/libs/rc4.js","../node_modules/jspdf/src/libs/pdfsecurity.js","../node_modules/jspdf/src/libs/pdfname.js","../node_modules/jspdf/src/jspdf.js","../node_modules/jspdf/src/modules/acroform.js","../node_modules/jspdf/src/libs/fontFace.js","../node_modules/jspdf/src/modules/addimage.js","../node_modules/jspdf/src/modules/annotations.js","../node_modules/jspdf/src/modules/arabic.js","../node_modules/jspdf/src/modules/autoprint.js","../node_modules/jspdf/src/modules/canvas.js","../node_modules/jspdf/src/modules/cell.js","../node_modules/jspdf/src/modules/javascript.js","../node_modules/jspdf/src/modules/fileloading.js","../node_modules/jspdf/src/modules/context2d.js","../node_modules/jspdf/src/modules/filters.js","../node_modules/jspdf/src/modules/html.js","../node_modules/jspdf/src/modules/outline.js","../node_modules/jspdf/src/modules/jpeg_support.js","../node_modules/jspdf/src/libs/png.js","../node_modules/jspdf/src/modules/split_text_to_size.js","../node_modules/jspdf/src/libs/omggif.js","../node_modules/jspdf/src/libs/JPEGEncoder.js","../node_modules/jspdf/src/libs/BMPDecoder.js","../node_modules/jspdf/src/libs/WebPDecoder.js","../node_modules/jspdf/src/modules/png_support.js","../node_modules/jspdf/src/modules/gif_support.js","../node_modules/jspdf/src/modules/bmp_support.js","../node_modules/jspdf/src/modules/webp_support.js","../node_modules/jspdf/src/modules/rgba_support.js","../node_modules/jspdf/src/modules/setlanguage.js","../node_modules/jspdf/src/modules/standard_fonts_metrics.js","../node_modules/jspdf/src/modules/ttfsupport.js","../node_modules/jspdf/src/modules/svg.js","../node_modules/jspdf/src/modules/total_pages.js","../node_modules/jspdf/src/modules/viewerpreferences.js","../node_modules/jspdf/src/modules/xmp_metadata.js","../node_modules/jspdf/src/modules/utf8.js","../node_modules/jspdf/src/modules/vfs.js","../node_modules/jspdf/src/libs/bidiEngine.js","../node_modules/jspdf/src/libs/ttffont.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/client.js","../node_modules/react-dom/index.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/index.js","../node_modules/react-table/src/publicUtils.js","../node_modules/react-table/src/utils.js","../node_modules/react-table/src/makeDefaultPluginHooks.js","../node_modules/react-table/src/hooks/useColumnVisibility.js","../node_modules/react-table/src/hooks/useTable.js","../node_modules/react-table/src/plugin-hooks/useExpanded.js","../node_modules/react-table/src/filterTypes.js","../node_modules/react-table/src/plugin-hooks/useFilters.js","../node_modules/react-table/src/plugin-hooks/useGlobalFilter.js","../node_modules/react-table/src/aggregations.js","../node_modules/react-table/src/plugin-hooks/useGroupBy.js","../node_modules/react-table/src/sortTypes.js","../node_modules/react-table/src/plugin-hooks/useSortBy.js","../node_modules/react-table/src/plugin-hooks/usePagination.js","../node_modules/react-table/src/plugin-hooks/_UNSTABLE_usePivotColumns.js","../node_modules/react-table/src/plugin-hooks/useRowSelect.js","../node_modules/react-table/src/plugin-hooks/useRowState.js","../node_modules/react-table/src/plugin-hooks/useColumnOrder.js","../node_modules/react-table/src/plugin-hooks/useResizeColumns.js","../node_modules/react-table/src/plugin-hooks/useAbsoluteLayout.js","../node_modules/react-table/src/plugin-hooks/useBlockLayout.js","../node_modules/react-table/src/plugin-hooks/useFlexLayout.js","../node_modules/react-table/src/plugin-hooks/useGridLayout.js","../node_modules/react-table/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/shallowequal/index.js","../node_modules/@babel/runtime/helpers/regeneratorRuntime.js","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/get.js","../node_modules/@babel/runtime/helpers/esm/superPropBase.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/create fake namespace object","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/publicPath","../webpack/runtime/jsonp chunk loading","../webpack/runtime/nonce","../node_modules/@babel/runtime/helpers/esm/construct.js","../node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","../node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","../node_modules/@remix-run/router/history.ts","../node_modules/@remix-run/router/utils.ts","../node_modules/@babel/runtime/helpers/esm/toArray.js","../node_modules/@remix-run/router/router.ts","../node_modules/react-router/lib/context.ts","../node_modules/react-router/lib/hooks.tsx","../node_modules/react-router/lib/components.tsx","../node_modules/react-router-dom/dom.ts","../node_modules/react-router-dom/index.tsx","../node_modules/jwt-decode/build/esm/index.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","constants/mockDataConfig.js","context/AuthProvider.js","context/NavigationProvider.js","constants/NavigationConfig.js","../node_modules/react-icons/lib/esm/iconContext.js","../node_modules/react-icons/lib/esm/iconBase.js","../node_modules/react-icons/fa/index.esm.js","../node_modules/react-icons/io5/index.esm.js","layouts/NavigationBar.js","layouts/ApplicationLayout.js","hooks/use-queryParams.js","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/platform/browser/index.js","../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/classes/Blob.js","../node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/speedometer.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/adapters/adapters.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/HttpStatusCode.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","api/paths.js","api/loadBalancerAxios.js","hooks/use-DateFormat.js","constants/UniversalTableConfig.js","constants/ReportsConfig.js","api/Auth/DatesAPI.js","../node_modules/react-icons/bs/index.esm.js","constants/TileConfig.js","../node_modules/react-icons/pi/index.esm.js","constants/EmissionsConfig.js","constants/initialDataConfig.js","context/DateProvider.js","hooks/use-NumberFormat.js","api/Emissions/Scope1API.js","hooks/use-FindYearChange.js","api/Emissions/Scope1ChartAPI.js","api/Emissions/Scope2API.js","api/Emissions/Scope2Manager/getScope2ManagerAPI.js","api/Emissions/Scope2ChartCardAPI.js","api/Emissions/Scope2Manager/getSiteLocationAPI.js","api/Emissions/LifeCycleAPI.js","api/Settings/FuelTypeOptionsAPI.js","context/EmissionsProvider.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","layouts/ApplicationHeader.js","hooks/use-Sub.js","components/MetricTileGroup.js","components/SwitchCarousel.js","../node_modules/react-loading-skeleton/dist/index.js","pages/EmissionsPage/Scope1Card.js","pages/EmissionsPage/Scope2Card.js","../node_modules/@kurkle/color/dist/color.esm.js","../node_modules/chart.js/src/helpers/helpers.core.ts","../node_modules/chart.js/src/helpers/helpers.math.ts","../node_modules/chart.js/src/helpers/helpers.collection.ts","../node_modules/chart.js/src/helpers/helpers.extras.ts","../node_modules/chart.js/src/helpers/helpers.easing.ts","../node_modules/chart.js/src/helpers/helpers.color.ts","../node_modules/chart.js/src/core/core.animations.defaults.js","../node_modules/chart.js/src/helpers/helpers.intl.ts","../node_modules/chart.js/src/core/core.ticks.js","../node_modules/chart.js/src/core/core.defaults.js","../node_modules/chart.js/src/core/core.layouts.defaults.js","../node_modules/chart.js/src/core/core.scale.defaults.js","../node_modules/chart.js/src/helpers/helpers.canvas.ts","../node_modules/chart.js/src/helpers/helpers.options.ts","../node_modules/chart.js/src/helpers/helpers.config.ts","../node_modules/chart.js/src/helpers/helpers.curve.ts","../node_modules/chart.js/src/helpers/helpers.dom.ts","../node_modules/chart.js/src/helpers/helpers.interpolation.ts","../node_modules/chart.js/src/helpers/helpers.rtl.ts","../node_modules/chart.js/src/helpers/helpers.segment.js","../node_modules/chart.js/src/core/core.animator.js","../node_modules/chart.js/src/core/core.animation.js","../node_modules/chart.js/src/core/core.animations.js","../node_modules/chart.js/src/core/core.datasetController.js","../node_modules/chart.js/src/controllers/controller.bar.js","../node_modules/chart.js/src/controllers/controller.bubble.js","../node_modules/chart.js/src/controllers/controller.doughnut.js","../node_modules/chart.js/src/controllers/controller.line.js","../node_modules/chart.js/src/controllers/controller.polarArea.js","../node_modules/chart.js/src/controllers/controller.pie.js","../node_modules/chart.js/src/controllers/controller.radar.js","../node_modules/chart.js/src/controllers/controller.scatter.js","../node_modules/chart.js/src/core/core.adapters.ts","../node_modules/chart.js/src/core/core.interaction.js","../node_modules/chart.js/src/core/core.layouts.js","../node_modules/chart.js/src/platform/platform.base.js","../node_modules/chart.js/src/platform/platform.basic.js","../node_modules/chart.js/src/platform/platform.dom.js","../node_modules/chart.js/src/platform/index.js","../node_modules/chart.js/src/core/core.element.ts","../node_modules/chart.js/src/core/core.scale.autoskip.js","../node_modules/chart.js/src/core/core.scale.js","../node_modules/chart.js/src/core/core.typedRegistry.js","../node_modules/chart.js/src/core/core.registry.js","../node_modules/chart.js/src/core/core.plugins.js","../node_modules/chart.js/src/core/core.config.js","../node_modules/chart.js/src/core/core.controller.js","../node_modules/chart.js/src/elements/element.arc.ts","../node_modules/chart.js/src/elements/element.line.js","../node_modules/chart.js/src/elements/element.point.ts","../node_modules/chart.js/src/elements/element.bar.js","../node_modules/chart.js/src/plugins/plugin.colors.ts","../node_modules/chart.js/src/plugins/plugin.decimation.js","../node_modules/chart.js/src/plugins/plugin.filler/filler.segment.js","../node_modules/chart.js/src/plugins/plugin.filler/filler.helper.js","../node_modules/chart.js/src/plugins/plugin.filler/filler.options.js","../node_modules/chart.js/src/plugins/plugin.filler/filler.target.stack.js","../node_modules/chart.js/src/plugins/plugin.filler/simpleArc.js","../node_modules/chart.js/src/plugins/plugin.filler/filler.target.js","../node_modules/chart.js/src/plugins/plugin.filler/filler.drawing.js","../node_modules/chart.js/src/plugins/plugin.filler/index.js","../node_modules/chart.js/src/plugins/plugin.legend.js","../node_modules/chart.js/src/plugins/plugin.title.js","../node_modules/chart.js/src/plugins/plugin.subtitle.js","../node_modules/chart.js/src/plugins/plugin.tooltip.js","../node_modules/chart.js/src/scales/scale.category.js","../node_modules/chart.js/src/scales/scale.linearbase.js","../node_modules/chart.js/src/scales/scale.linear.js","../node_modules/chart.js/src/scales/scale.logarithmic.js","../node_modules/chart.js/src/scales/scale.radialLinear.js","../node_modules/chart.js/src/scales/scale.time.js","../node_modules/chart.js/src/scales/scale.timeseries.js","../node_modules/chart.js/src/index.ts","../node_modules/chart.js/auto/auto.js","visualizations/LineChart.js","components/RadioItemGroup.js","constants/AuthConfig.js","pages/EmissionsPage/Scope1ChartCard.js","pages/EmissionsPage/Scope2ChartCard.js","components/Button.js","components/SnackBar.js","api/Emissions/Scope2Manager/postScope2ManagerAPI.js","api/Emissions/Scope2Manager/postNewSiteLocationAPI.js","../node_modules/react-icons/go/index.esm.js","../node_modules/react-icons/io/index.esm.js","components/ProgressBar.js","components/Accordion.js","../node_modules/react-slider/dist/es/prod/components/ReactSlider/ReactSlider.mjs","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","components/RangeSlider.js","../node_modules/react-icons/md/index.esm.js","components/SearchBar.js","pages/EmissionsPage/Scope2Manager/PreviousSubmissions/Scope2PreviousSubmissionsFilter.js","components/Modal.js","components/Pagination.js","components/Input.js","components/Table.js","hooks/use-Sort.js","pages/EmissionsPage/Scope2Manager/FormFields/Scope2DeleteEntry.js","components/DatePicker.js","pages/EmissionsPage/Scope2Manager/FormFields/Scope2EditEntry.js","api/Emissions/Scope2Manager/deleteScope2ManagerEntries.js","api/Emissions/Scope2Manager/putScope2ManagerEntries.js","pages/EmissionsPage/Scope2Manager/PreviousSubmissions/Scope2PreviousSubmissionsTable.js","pages/EmissionsPage/Scope2Manager/FormFields/Scope2DeleteAddress.js","pages/EmissionsPage/Scope2Manager/FormFields/Scope2EditAddress.js","api/Emissions/Scope2Manager/deleteSiteLocationAPI.js","api/Emissions/Scope2Manager/putSiteLocationAPI.js","pages/EmissionsPage/Scope2Manager/FormFields/Scope2NewAddress.js","pages/EmissionsPage/Scope2Manager/FormFields/Scope2NewEntry.js","pages/EmissionsPage/Scope2Manager/PreviousSubmissions/Scope2PreviousSubmissionsModals.js","pages/EmissionsPage/Scope2Manager/Scope2PreviousSubmissions.js","pages/EmissionsPage/Scope2Manager/Scope2EmptyState.js","pages/EmissionsPage/Scope2Manager.js","components/TabbedContainer.js","hooks/use-NavHook.js","components/MetricTileGroupMini.js","pages/EmissionsPage/LifeCycleTab/GlecFrameworkCards.js","pages/EmissionsPage/LifeCycleTab/GlecFrameworkVisual.js","pages/EmissionsPage/LifeCyclePage.js","pages/EmissionsPage.js","layouts/AuthHeader.js","pages/LoginPage/LoginFields.js","api/Auth/LoginAPI.js","pages/LoginPage/LoginSubmit.js","pages/LoginPage/ForgotPasswordRedirect.js","pages/LoginPage.js","api/Overview/CostOfCarbonAPI.js","api/Overview/EmissionsFootprintAPI.js","api/Overview/VehicleEmissionsAPI.js","api/Overview/FuelConsumptionAPI.js","api/Overview/IndustryCarbonRatingAPI.js","context/OverviewProvider.js","constants/ICRConfig.js","visualizations/GaugeChart.js","hooks/use-labelCarbonRating.js","pages/OverviewPage/IndustryCarbonRatingCard.js","components/MetricTileGroupSimple.js","pages/OverviewPage/FuelConsumption.js","../node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js","constants/VehicleConfig.js","pages/OverviewPage/VehicleEmissionsCard.js","visualizations/DoughnutChart.js","pages/OverviewPage/EmissionFootprint/EmissionsFootprintBreakdownCard.js","pages/OverviewPage/EmissionFootprintCard.js","pages/OverviewPage/CostofCarbonCard.js","pages/OverviewPage.js","constants/ReductionConfig.js","api/Reduction/EmissionReductionTarget/EmissionReductionTargetAPI.js","api/Reduction/EmissionReductionTarget/getDefaultEmissionReductionTargetAPI.js","api/Reduction/EmissionsForecastingAPI.js","context/ReductionProvider.js","components/SelectDropdown.js","visualizations/BarChart.js","api/Reduction/EmissionReductionTarget/putEmissionReductionTarget.js","pages/ReductionPage/EmissionReductionTargetSettingsModal.js","pages/ReductionPage/EmissionReductionTarget.js","../node_modules/chartjs-plugin-annotation/dist/chartjs-plugin-annotation.esm.js","visualizations/ForecastChart.js","pages/ReductionPage/EmissionsForecasting.js","pages/ReductionPage.js","api/Reports/ReportAutoFillAPI.js","context/ReportsProvider.js","pages/ReportsPage/ReportBreakdown/NewReportsTitleGroup.js","pages/ReportsPage/ReportBreakdown/NewReportsFooterGroup.js","pages/ReportsPage/ReportsSideBar.js","../node_modules/react-icons/tfi/index.esm.js","components/TextArea.js","components/CheckBox.js","pages/ReportsPage/ReportBreakdown/IntroReport.js","pages/ReportsPage/ReportBreakdown/RiskReport.js","pages/ReportsPage/ReportBreakdown/TargetReport.js","pages/ReportsPage/ReportBreakdown/StrategyReport.js","pages/ReportsPage/ReportBreakdown/EnergyReport.js","pages/ReportsPage/ReportBreakdown/ChallengesReport.js","api/Reports/NewReportAPI.js","../node_modules/react-loader-spinner/dist/esm/type.js","../node_modules/@emotion/stylis/dist/stylis.browser.esm.js","../node_modules/@emotion/unitless/dist/unitless.browser.esm.js","../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","../node_modules/styled-components/src/utils/interleave.js","../node_modules/styled-components/src/utils/isPlainObject.js","../node_modules/styled-components/src/utils/empties.js","../node_modules/styled-components/src/utils/isFunction.js","../node_modules/styled-components/src/utils/getComponentName.js","../node_modules/styled-components/src/utils/isStyledComponent.js","../node_modules/styled-components/src/constants.js","../node_modules/styled-components/src/utils/error.js","../node_modules/styled-components/src/sheet/GroupedTag.js","../node_modules/styled-components/src/sheet/GroupIDAllocator.js","../node_modules/styled-components/src/sheet/Rehydration.js","../node_modules/styled-components/src/utils/nonce.js","../node_modules/styled-components/src/sheet/dom.js","../node_modules/styled-components/src/sheet/Tag.js","../node_modules/styled-components/src/sheet/Sheet.js","../node_modules/styled-components/src/utils/generateAlphabeticName.js","../node_modules/styled-components/src/utils/hash.js","../node_modules/styled-components/src/utils/isStaticRules.js","../node_modules/styled-components/src/models/ComponentStyle.js","../node_modules/styled-components/src/utils/stylis.js","../node_modules/styled-components/src/utils/stylisPluginInsertRule.js","../node_modules/styled-components/src/models/StyleSheetManager.js","../node_modules/styled-components/src/models/Keyframes.js","../node_modules/styled-components/src/utils/hyphenateStyleName.js","../node_modules/styled-components/src/utils/flatten.js","../node_modules/styled-components/src/utils/isStatelessFunction.js","../node_modules/styled-components/src/utils/addUnitIfNeeded.js","../node_modules/styled-components/src/constructors/css.js","../node_modules/styled-components/src/utils/checkDynamicCreation.js","../node_modules/styled-components/src/utils/determineTheme.js","../node_modules/styled-components/src/utils/escape.js","../node_modules/styled-components/src/utils/generateComponentId.js","../node_modules/styled-components/src/utils/isTag.js","../node_modules/styled-components/src/utils/mixinDeep.js","../node_modules/styled-components/src/models/ThemeProvider.js","../node_modules/styled-components/src/models/StyledComponent.js","../node_modules/styled-components/src/utils/generateDisplayName.js","../node_modules/styled-components/src/utils/joinStrings.js","../node_modules/styled-components/src/utils/domElements.js","../node_modules/styled-components/src/constructors/styled.js","../node_modules/styled-components/src/constructors/constructWithOptions.js","../node_modules/styled-components/src/models/GlobalStyle.js","../node_modules/styled-components/src/constructors/keyframes.js","../node_modules/styled-components/src/models/ServerStyleSheet.js","../node_modules/react-loader-spinner/dist/esm/loader/InfinitySpin.js","../node_modules/styled-components/src/base.js","../node_modules/styled-tools/dist/es/prop.js","../node_modules/styled-tools/dist/es/ifProp.js","../node_modules/react-loader-spinner/dist/esm/loader/RotatingLines.js","../node_modules/react-loader-spinner/dist/esm/loader/TailSpin.js","../node_modules/react-loader-spinner/dist/esm/loader/Triangle.js","../node_modules/react-loader-spinner/dist/esm/loader/Hourglass.js","components/LoadingSpinner.js","pages/ReportsPage/NewReportComponent.js","pages/ReportsPage.js","hooks/use-ValidatePassword.js","api/Auth/UpdatePasswordAPI.js","pages/SettingsPage/SettingsResetPasswordModal.js","api/Settings/VehicleSettingsAPI.js","api/Settings/GetAllVehiclesAPI.js","context/SettingsProvider.js","constants/SettingsConfig.js","api/Settings/VinDecoderImportAPI.js","components/ToggleSwitch.js","pages/SettingsPage/VinDecoderSettings/VinDecoderOutput/VinDecoderOutputEditModal.js","pages/SettingsPage/VinDecoderSettings/VinDecoderOutput/VinDecoderImportModalVerify.js","../node_modules/react-icons/bi/index.esm.js","constants/test.js","pages/SettingsPage/VinDecoderSettings/VinDecoderOutput/VinDecoderOutputTable.js","pages/SettingsPage/VehicleSettings/SingleVinDecoderModal.js","pages/SettingsPage/VehicleSettings/SingleInsiteVehicleEditModal.js","pages/SettingsPage/VehicleSettings/VehicleSettingsEditModal.js","api/Settings/EditVehicleSettingsAPI.js","pages/SettingsPage/VinDecoderSettings/VinDecoderSidebar.js","../node_modules/react-icons/si/index.esm.js","pages/SettingsPage/VinDecoderSettings/VinDecoderDownloadFile.js","pages/SettingsPage/VinDecoderSettings/VinDecoderUploadFile.js","pages/SettingsPage/VinDecoderSettings/VinDecoderCheckInitialUpload/NoInitialRecords.js","pages/SettingsPage/VinDecoderSettings/VinDecoderCheckInitialUpload/SuccessInitialRecords.js","pages/SettingsPage/VinDecoderSettings/VinDecoderCheckInitialUpload/FailedInitialRecordsSummary.js","../node_modules/react-icons/fa6/index.esm.js","pages/SettingsPage/VinDecoderSettings/VinDecoderCheckInitialUpload/FailedInitialRecordsModalVerify.js","pages/SettingsPage/VinDecoderSettings/VinDecoderCheckInitialUpload/FailedInitialRecordsTable.js","pages/SettingsPage/VinDecoderSettings/VinDecoderCheckInitialUpload.js","pages/SettingsPage/VinDecoderSettings/VinDecoderFetch.js","pages/SettingsPage/VinDecoderSettings.js","pages/SettingsPage/VehicleSettings.js","pages/SettingsPage.js","api/VehiclePerformance/EmissionsPerVehicleAPI.js","api/VehiclePerformance/AverageEmissionsPerVehicleAPI.js","api/VehiclePerformance/TotalIdleTimeAPI.js","api/VehiclePerformance/IdleTimeEmissionsAPI.js","api/VehiclePerformance/VehiclePerformanceDataAPI.js","api/VehiclePerformance/RankedVehicleProfileGroupAPI.js","context/VehiclePerformanceProvider.js","pages/VehiclePerformancePage/Data/VPDataSidebar.js","pages/VehiclePerformancePage/Data/VPDataTable.js","pages/VehiclePerformancePage/VehiclePerformanceDataTab.js","pages/VehiclePerformancePage/Overview/AverageEmissionsPerVehicleCard.js","pages/VehiclePerformancePage/Overview/EmissionsPerVehicleCard.js","pages/VehiclePerformancePage/Overview/IdleTimeEmissionsCard.js","pages/VehiclePerformancePage/Overview/TotalIdleTimeCard.js","pages/VehiclePerformancePage/VehiclePerformanceOverviewTab.js","pages/VehiclePerformancePage/ProfileGroup/VPProfileGroupCards.js","api/VehiclePerformance/VehicleProfilesAPI.js","pages/VehiclePerformancePage/VehicleProfile.js","pages/VehiclePerformancePage/VehicleProfileGroupPage.js","pages/VehiclePerformancePage.js","layouts/HubspotOnboardFormLayout.js","components/SolidLine.js","pages/RegistrationOnboardingFormPage.js","pages/RegistrationInvitedFormPage.js","context/SignupProvider.js","pages/SignupPage/SignupHeader.js","pages/SignupPage/SignupFields.js","api/Auth/CreatePasswordAPI.js","pages/SignupPage/SignupSubmit.js","pages/SignupPage.js","layouts/HubspotFormLayout.js","pages/HelpPage.js","pages/ForgotPassword/ForgotPasswordFields.js","api/Auth/ForgotPasswordEmailAPI.js","pages/ForgotPassword/ForgotPasswordSubmitEmail.js","pages/ForgotPassword/BackLoginRedirect.js","components/VerificationCode.js","pages/ForgotPassword/ForgotPasswordResetFields.js","api/Auth/ForgotPasswordVerifyAPI.js","pages/ForgotPassword/ResetPasswordSubmit.js","pages/ForgotPasswordPage.js","context/DemoOnboardProvider.js","pages/DemoOnboardPage/DemoTermsModal.js","pages/DemoOnboardPage/DemoOnboardCheck.js","pages/DemoOnboardPage.js","App.js","index.js"],"sourcesContent":["'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","export const toCodePoints = (str: string): number[] => {\n const codePoints = [];\n let i = 0;\n const length = str.length;\n while (i < length) {\n const value = str.charCodeAt(i++);\n if (value >= 0xd800 && value <= 0xdbff && i < length) {\n const extra = str.charCodeAt(i++);\n if ((extra & 0xfc00) === 0xdc00) {\n codePoints.push(((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000);\n } else {\n codePoints.push(value);\n i--;\n }\n } else {\n codePoints.push(value);\n }\n }\n return codePoints;\n};\n\nexport const fromCodePoint = (...codePoints: number[]): string => {\n if (String.fromCodePoint) {\n return String.fromCodePoint(...codePoints);\n }\n\n const length = codePoints.length;\n if (!length) {\n return '';\n }\n\n const codeUnits = [];\n\n let index = -1;\n let result = '';\n while (++index < length) {\n let codePoint = codePoints[index];\n if (codePoint <= 0xffff) {\n codeUnits.push(codePoint);\n } else {\n codePoint -= 0x10000;\n codeUnits.push((codePoint >> 10) + 0xd800, (codePoint % 0x400) + 0xdc00);\n }\n if (index + 1 === length || codeUnits.length > 0x4000) {\n result += String.fromCharCode(...codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n};\n\nconst chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const decode = (base64: string): ArrayBuffer | number[] => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const buffer =\n typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n typeof Uint8Array.prototype.slice !== 'undefined'\n ? new ArrayBuffer(bufferLength)\n : new Array(bufferLength);\n const bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return buffer;\n};\n\nexport const polyUint16Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 2) {\n bytes.push((buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n\nexport const polyUint32Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 4) {\n bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n","import {Context} from '../../core/context';\n\nexport class Bounds {\n constructor(readonly left: number, readonly top: number, readonly width: number, readonly height: number) {}\n\n add(x: number, y: number, w: number, h: number): Bounds {\n return new Bounds(this.left + x, this.top + y, this.width + w, this.height + h);\n }\n\n static fromClientRect(context: Context, clientRect: ClientRect): Bounds {\n return new Bounds(\n clientRect.left + context.windowBounds.left,\n clientRect.top + context.windowBounds.top,\n clientRect.width,\n clientRect.height\n );\n }\n\n static fromDOMRectList(context: Context, domRectList: DOMRectList): Bounds {\n const domRect = Array.from(domRectList).find((rect) => rect.width !== 0);\n return domRect\n ? new Bounds(\n domRect.left + context.windowBounds.left,\n domRect.top + context.windowBounds.top,\n domRect.width,\n domRect.height\n )\n : Bounds.EMPTY;\n }\n\n static EMPTY = new Bounds(0, 0, 0, 0);\n}\n\nexport const parseBounds = (context: Context, node: Element): Bounds => {\n return Bounds.fromClientRect(context, node.getBoundingClientRect());\n};\n\nexport const parseDocumentSize = (document: Document): Bounds => {\n const body = document.body;\n const documentElement = document.documentElement;\n\n if (!body || !documentElement) {\n throw new Error(`Unable to get document size`);\n }\n const width = Math.max(\n Math.max(body.scrollWidth, documentElement.scrollWidth),\n Math.max(body.offsetWidth, documentElement.offsetWidth),\n Math.max(body.clientWidth, documentElement.clientWidth)\n );\n\n const height = Math.max(\n Math.max(body.scrollHeight, documentElement.scrollHeight),\n Math.max(body.offsetHeight, documentElement.offsetHeight),\n Math.max(body.clientHeight, documentElement.clientHeight)\n );\n\n return new Bounds(0, 0, width, height);\n};\n","const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const decode = (base64: string): ArrayBuffer | number[] => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const buffer =\n typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n typeof Uint8Array.prototype.slice !== 'undefined'\n ? new ArrayBuffer(bufferLength)\n : new Array(bufferLength);\n const bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return buffer;\n};\n\nexport const polyUint16Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 2) {\n bytes.push((buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n\nexport const polyUint32Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 4) {\n bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n","const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const encode = (arraybuffer: ArrayBuffer): string => {\n let bytes = new Uint8Array(arraybuffer),\n i,\n len = bytes.length,\n base64 = '';\n\n for (i = 0; i < len; i += 3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n\n if (len % 3 === 2) {\n base64 = base64.substring(0, base64.length - 1) + '=';\n } else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + '==';\n }\n\n return base64;\n};\n\nexport const decode = (base64: string): ArrayBuffer => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const arraybuffer = new ArrayBuffer(bufferLength),\n bytes = new Uint8Array(arraybuffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return arraybuffer;\n};\n","import {decode, polyUint16Array, polyUint32Array} from './Util';\n\nexport type int = number;\n\n/** Shift size for getting the index-2 table offset. */\nexport const UTRIE2_SHIFT_2 = 5;\n\n/** Shift size for getting the index-1 table offset. */\nexport const UTRIE2_SHIFT_1 = 6 + 5;\n\n/**\n * Shift size for shifting left the index array values.\n * Increases possible data size with 16-bit index values at the cost\n * of compactability.\n * This requires data blocks to be aligned by UTRIE2_DATA_GRANULARITY.\n */\nexport const UTRIE2_INDEX_SHIFT = 2;\n\n/**\n * Difference between the two shift sizes,\n * for getting an index-1 offset from an index-2 offset. 6=11-5\n */\nexport const UTRIE2_SHIFT_1_2 = UTRIE2_SHIFT_1 - UTRIE2_SHIFT_2;\n\n/**\n * The part of the index-2 table for U+D800..U+DBFF stores values for\n * lead surrogate code _units_ not code _points_.\n * Values for lead surrogate code _points_ are indexed with this portion of the table.\n * Length=32=0x20=0x400>>UTRIE2_SHIFT_2. (There are 1024=0x400 lead surrogates.)\n */\nexport const UTRIE2_LSCP_INDEX_2_OFFSET = 0x10000 >> UTRIE2_SHIFT_2;\n\n/** Number of entries in a data block. 32=0x20 */\nexport const UTRIE2_DATA_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_2;\n/** Mask for getting the lower bits for the in-data-block offset. */\nexport const UTRIE2_DATA_MASK = UTRIE2_DATA_BLOCK_LENGTH - 1;\n\nexport const UTRIE2_LSCP_INDEX_2_LENGTH = 0x400 >> UTRIE2_SHIFT_2;\n/** Count the lengths of both BMP pieces. 2080=0x820 */\nexport const UTRIE2_INDEX_2_BMP_LENGTH = UTRIE2_LSCP_INDEX_2_OFFSET + UTRIE2_LSCP_INDEX_2_LENGTH;\n/**\n * The 2-byte UTF-8 version of the index-2 table follows at offset 2080=0x820.\n * Length 32=0x20 for lead bytes C0..DF, regardless of UTRIE2_SHIFT_2.\n */\nexport const UTRIE2_UTF8_2B_INDEX_2_OFFSET = UTRIE2_INDEX_2_BMP_LENGTH;\nexport const UTRIE2_UTF8_2B_INDEX_2_LENGTH = 0x800 >> 6; /* U+0800 is the first code point after 2-byte UTF-8 */\n/**\n * The index-1 table, only used for supplementary code points, at offset 2112=0x840.\n * Variable length, for code points up to highStart, where the last single-value range starts.\n * Maximum length 512=0x200=0x100000>>UTRIE2_SHIFT_1.\n * (For 0x100000 supplementary code points U+10000..U+10ffff.)\n *\n * The part of the index-2 table for supplementary code points starts\n * after this index-1 table.\n *\n * Both the index-1 table and the following part of the index-2 table\n * are omitted completely if there is only BMP data.\n */\nexport const UTRIE2_INDEX_1_OFFSET = UTRIE2_UTF8_2B_INDEX_2_OFFSET + UTRIE2_UTF8_2B_INDEX_2_LENGTH;\n\n/**\n * Number of index-1 entries for the BMP. 32=0x20\n * This part of the index-1 table is omitted from the serialized form.\n */\nexport const UTRIE2_OMITTED_BMP_INDEX_1_LENGTH = 0x10000 >> UTRIE2_SHIFT_1;\n\n/** Number of entries in an index-2 block. 64=0x40 */\nexport const UTRIE2_INDEX_2_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_1_2;\n/** Mask for getting the lower bits for the in-index-2-block offset. */\nexport const UTRIE2_INDEX_2_MASK = UTRIE2_INDEX_2_BLOCK_LENGTH - 1;\n\nconst slice16 = (view: number[] | Uint16Array, start: number, end?: number) => {\n if (view.slice) {\n return view.slice(start, end);\n }\n\n return new Uint16Array(Array.prototype.slice.call(view, start, end));\n};\n\nconst slice32 = (view: number[] | Uint32Array, start: number, end?: number) => {\n if (view.slice) {\n return view.slice(start, end);\n }\n\n return new Uint32Array(Array.prototype.slice.call(view, start, end));\n};\n\nexport const createTrieFromBase64 = (base64: string, _byteLength: number): Trie => {\n const buffer = decode(base64);\n const view32 = Array.isArray(buffer) ? polyUint32Array(buffer) : new Uint32Array(buffer);\n const view16 = Array.isArray(buffer) ? polyUint16Array(buffer) : new Uint16Array(buffer);\n const headerLength = 24;\n\n const index = slice16(view16, headerLength / 2, view32[4] / 2);\n const data =\n view32[5] === 2\n ? slice16(view16, (headerLength + view32[4]) / 2)\n : slice32(view32, Math.ceil((headerLength + view32[4]) / 4));\n\n return new Trie(view32[0], view32[1], view32[2], view32[3], index, data);\n};\n\nexport class Trie {\n initialValue: int;\n errorValue: int;\n highStart: int;\n highValueIndex: int;\n index: Uint16Array | number[];\n data: Uint32Array | Uint16Array | number[];\n\n constructor(\n initialValue: int,\n errorValue: int,\n highStart: int,\n highValueIndex: int,\n index: Uint16Array | number[],\n data: Uint32Array | Uint16Array | number[]\n ) {\n this.initialValue = initialValue;\n this.errorValue = errorValue;\n this.highStart = highStart;\n this.highValueIndex = highValueIndex;\n this.index = index;\n this.data = data;\n }\n\n /**\n * Get the value for a code point as stored in the Trie.\n *\n * @param codePoint the code point\n * @return the value\n */\n get(codePoint: number): number {\n let ix;\n if (codePoint >= 0) {\n if (codePoint < 0x0d800 || (codePoint > 0x0dbff && codePoint <= 0x0ffff)) {\n // Ordinary BMP code point, excluding leading surrogates.\n // BMP uses a single level lookup. BMP index starts at offset 0 in the Trie2 index.\n // 16 bit data is stored in the index array itself.\n ix = this.index[codePoint >> UTRIE2_SHIFT_2];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n\n if (codePoint <= 0xffff) {\n // Lead Surrogate Code Point. A Separate index section is stored for\n // lead surrogate code units and code points.\n // The main index has the code unit data.\n // For this function, we need the code point data.\n // Note: this expression could be refactored for slightly improved efficiency, but\n // surrogate code points will be so rare in practice that it's not worth it.\n ix = this.index[UTRIE2_LSCP_INDEX_2_OFFSET + ((codePoint - 0xd800) >> UTRIE2_SHIFT_2)];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n\n if (codePoint < this.highStart) {\n // Supplemental code point, use two-level lookup.\n ix = UTRIE2_INDEX_1_OFFSET - UTRIE2_OMITTED_BMP_INDEX_1_LENGTH + (codePoint >> UTRIE2_SHIFT_1);\n ix = this.index[ix];\n ix += (codePoint >> UTRIE2_SHIFT_2) & UTRIE2_INDEX_2_MASK;\n ix = this.index[ix];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n if (codePoint <= 0x10ffff) {\n return this.data[this.highValueIndex];\n }\n }\n\n // Fall through. The code point is outside of the legal range of 0..0x10ffff.\n return this.errorValue;\n }\n}\n","export const base64 =\n 'KwAAAAAAAAAACA4AUD0AADAgAAACAAAAAAAIABAAGABAAEgAUABYAGAAaABgAGgAYgBqAF8AZwBgAGgAcQB5AHUAfQCFAI0AlQCdAKIAqgCyALoAYABoAGAAaABgAGgAwgDKAGAAaADGAM4A0wDbAOEA6QDxAPkAAQEJAQ8BFwF1AH0AHAEkASwBNAE6AUIBQQFJAVEBWQFhAWgBcAF4ATAAgAGGAY4BlQGXAZ8BpwGvAbUBvQHFAc0B0wHbAeMB6wHxAfkBAQIJAvEBEQIZAiECKQIxAjgCQAJGAk4CVgJeAmQCbAJ0AnwCgQKJApECmQKgAqgCsAK4ArwCxAIwAMwC0wLbAjAA4wLrAvMC+AIAAwcDDwMwABcDHQMlAy0DNQN1AD0DQQNJA0kDSQNRA1EDVwNZA1kDdQB1AGEDdQBpA20DdQN1AHsDdQCBA4kDkQN1AHUAmQOhA3UAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AKYDrgN1AHUAtgO+A8YDzgPWAxcD3gPjA+sD8wN1AHUA+wMDBAkEdQANBBUEHQQlBCoEFwMyBDgEYABABBcDSARQBFgEYARoBDAAcAQzAXgEgASIBJAEdQCXBHUAnwSnBK4EtgS6BMIEyAR1AHUAdQB1AHUAdQCVANAEYABgAGAAYABgAGAAYABgANgEYADcBOQEYADsBPQE/AQEBQwFFAUcBSQFLAU0BWQEPAVEBUsFUwVbBWAAYgVgAGoFcgV6BYIFigWRBWAAmQWfBaYFYABgAGAAYABgAKoFYACxBbAFuQW6BcEFwQXHBcEFwQXPBdMF2wXjBeoF8gX6BQIGCgYSBhoGIgYqBjIGOgZgAD4GRgZMBmAAUwZaBmAAYABgAGAAYABgAGAAYABgAGAAYABgAGIGYABpBnAGYABgAGAAYABgAGAAYABgAGAAYAB4Bn8GhQZgAGAAYAB1AHcDFQSLBmAAYABgAJMGdQA9A3UAmwajBqsGqwaVALMGuwbDBjAAywbSBtIG1QbSBtIG0gbSBtIG0gbdBuMG6wbzBvsGAwcLBxMHAwcbByMHJwcsBywHMQcsB9IGOAdAB0gHTgfSBkgHVgfSBtIG0gbSBtIG0gbSBtIG0gbSBiwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdgAGAALAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdbB2MHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB2kH0gZwB64EdQB1AHUAdQB1AHUAdQB1AHUHfQdgAIUHjQd1AHUAlQedB2AAYAClB6sHYACzB7YHvgfGB3UAzgfWBzMB3gfmB1EB7gf1B/0HlQENAQUIDQh1ABUIHQglCBcDLQg1CD0IRQhNCEEDUwh1AHUAdQBbCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIcAh3CHoIMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIgggwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAALAcsBywHLAcsBywHLAcsBywHLAcsB4oILAcsB44I0gaWCJ4Ipgh1AHUAqgiyCHUAdQB1AHUAdQB1AHUAdQB1AHUAtwh8AXUAvwh1AMUIyQjRCNkI4AjoCHUAdQB1AO4I9gj+CAYJDgkTCS0HGwkjCYIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiAAIAAAAFAAYABgAGIAXwBgAHEAdQBFAJUAogCyAKAAYABgAEIA4ABGANMA4QDxAMEBDwE1AFwBLAE6AQEBUQF4QkhCmEKoQrhCgAHIQsAB0MLAAcABwAHAAeDC6ABoAHDCwMMAAcABwAHAAdDDGMMAAcAB6MM4wwjDWMNow3jDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEjDqABWw6bDqABpg6gAaABoAHcDvwOPA+gAaABfA/8DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DpcPAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAB9cPKwkyCToJMAB1AHUAdQBCCUoJTQl1AFUJXAljCWcJawkwADAAMAAwAHMJdQB2CX4JdQCECYoJjgmWCXUAngkwAGAAYABxAHUApgn3A64JtAl1ALkJdQDACTAAMAAwADAAdQB1AHUAdQB1AHUAdQB1AHUAowYNBMUIMAAwADAAMADICcsJ0wnZCRUE4QkwAOkJ8An4CTAAMAB1AAAKvwh1AAgKDwoXCh8KdQAwACcKLgp1ADYKqAmICT4KRgowADAAdQB1AE4KMAB1AFYKdQBeCnUAZQowADAAMAAwADAAMAAwADAAMAAVBHUAbQowADAAdQC5CXUKMAAwAHwBxAijBogEMgF9CoQKiASMCpQKmgqIBKIKqgquCogEDQG2Cr4KxgrLCjAAMADTCtsKCgHjCusK8Qr5CgELMAAwADAAMAB1AIsECQsRC3UANAEZCzAAMAAwADAAMAB1ACELKQswAHUANAExCzkLdQBBC0kLMABRC1kLMAAwADAAMAAwADAAdQBhCzAAMAAwAGAAYABpC3ELdwt/CzAAMACHC4sLkwubC58Lpwt1AK4Ltgt1APsDMAAwADAAMAAwADAAMAAwAL4LwwvLC9IL1wvdCzAAMADlC+kL8Qv5C/8LSQswADAAMAAwADAAMAAwADAAMAAHDDAAMAAwADAAMAAODBYMHgx1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1ACYMMAAwADAAdQB1AHUALgx1AHUAdQB1AHUAdQA2DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AD4MdQBGDHUAdQB1AHUAdQB1AEkMdQB1AHUAdQB1AFAMMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQBYDHUAdQB1AF8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUA+wMVBGcMMAAwAHwBbwx1AHcMfwyHDI8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAYABgAJcMMAAwADAAdQB1AJ8MlQClDDAAMACtDCwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB7UMLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AA0EMAC9DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAsBywHLAcsBywHLAcsBywHLQcwAMEMyAwsBywHLAcsBywHLAcsBywHLAcsBywHzAwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1ANQM2QzhDDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMABgAGAAYABgAGAAYABgAOkMYADxDGAA+AwADQYNYABhCWAAYAAODTAAMAAwADAAFg1gAGAAHg37AzAAMAAwADAAYABgACYNYAAsDTQNPA1gAEMNPg1LDWAAYABgAGAAYABgAGAAYABgAGAAUg1aDYsGVglhDV0NcQBnDW0NdQ15DWAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAlQCBDZUAiA2PDZcNMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAnw2nDTAAMAAwADAAMAAwAHUArw23DTAAMAAwADAAMAAwADAAMAAwADAAMAB1AL8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQDHDTAAYABgAM8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA1w11ANwNMAAwAD0B5A0wADAAMAAwADAAMADsDfQN/A0EDgwOFA4wABsOMAAwADAAMAAwADAAMAAwANIG0gbSBtIG0gbSBtIG0gYjDigOwQUuDsEFMw7SBjoO0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGQg5KDlIOVg7SBtIGXg5lDm0OdQ7SBtIGfQ6EDooOjQ6UDtIGmg6hDtIG0gaoDqwO0ga0DrwO0gZgAGAAYADEDmAAYAAkBtIGzA5gANIOYADaDokO0gbSBt8O5w7SBu8O0gb1DvwO0gZgAGAAxA7SBtIG0gbSBtIGYABgAGAAYAAED2AAsAUMD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHJA8sBywHLAcsBywHLAccDywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywPLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAc0D9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHPA/SBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gYUD0QPlQCVAJUAMAAwADAAMACVAJUAlQCVAJUAlQCVAEwPMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA//8EAAQABAAEAAQABAAEAAQABAANAAMAAQABAAIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQACgATABcAHgAbABoAHgAXABYAEgAeABsAGAAPABgAHABLAEsASwBLAEsASwBLAEsASwBLABgAGAAeAB4AHgATAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYAGwASAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWAA0AEQAeAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAFAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJABYAGgAbABsAGwAeAB0AHQAeAE8AFwAeAA0AHgAeABoAGwBPAE8ADgBQAB0AHQAdAE8ATwAXAE8ATwBPABYAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAFAATwBAAE8ATwBPAEAATwBQAFAATwBQAB4AHgAeAB4AHgAeAB0AHQAdAB0AHgAdAB4ADgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgBQAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkACQAJAAkACQAJAAkABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAFAAHgAeAB4AKwArAFAAUABQAFAAGABQACsAKwArACsAHgAeAFAAHgBQAFAAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUAAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAYAA0AKwArAB4AHgAbACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAB4ABAAEAB4ABAAEABMABAArACsAKwArACsAKwArACsAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAKwArACsAKwBWAFYAVgBWAB4AHgArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AGgAaABoAGAAYAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQAEwAEACsAEwATAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABLAEsASwBLAEsASwBLAEsASwBLABoAGQAZAB4AUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABMAUAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABABQAFAABAAEAB4ABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUAAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAFAABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQAUABQAB4AHgAYABMAUAArACsABAAbABsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAFAABAAEAAQABAAEAFAABAAEAAQAUAAEAAQABAAEAAQAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArACsAHgArAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEAA0ADQBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUAArACsAKwBQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABABQACsAKwArACsAKwArACsAKwAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUAAaABoAUABQAFAAUABQAEwAHgAbAFAAHgAEACsAKwAEAAQABAArAFAAUABQAFAAUABQACsAKwArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQACsAUABQACsAKwAEACsABAAEAAQABAAEACsAKwArACsABAAEACsAKwAEAAQABAArACsAKwAEACsAKwArACsAKwArACsAUABQAFAAUAArAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLAAQABABQAFAAUAAEAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAArACsAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AGwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAKwArACsAKwArAAQABAAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAAQAUAArAFAAUABQAFAAUABQACsAKwArAFAAUABQACsAUABQAFAAUAArACsAKwBQAFAAKwBQACsAUABQACsAKwArAFAAUAArACsAKwBQAFAAUAArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAAQABAAEAAQABAArACsAKwAEAAQABAArAAQABAAEAAQAKwArAFAAKwArACsAKwArACsABAArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAHgAeAB4AHgAeAB4AGwAeACsAKwArACsAKwAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAUABQAFAAKwArACsAKwArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwAOAFAAUABQAFAAUABQAFAAHgBQAAQABAAEAA4AUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAKwArAAQAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAKwArACsAKwArACsAUAArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABABQAB4AKwArACsAKwBQAFAAUAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQABoAUABQAFAAUABQAFAAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQACsAUAArACsAUABQAFAAUABQAFAAUAArACsAKwAEACsAKwArACsABAAEAAQABAAEAAQAKwAEACsABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgAqACsAKwArACsAGwBcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAeAEsASwBLAEsASwBLAEsASwBLAEsADQANACsAKwArACsAKwBcAFwAKwBcACsAXABcAFwAXABcACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAXAArAFwAXABcAFwAXABcAFwAXABcAFwAKgBcAFwAKgAqACoAKgAqACoAKgAqACoAXAArACsAXABcAFwAXABcACsAXAArACoAKgAqACoAKgAqACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwBcAFwAXABcAFAADgAOAA4ADgAeAA4ADgAJAA4ADgANAAkAEwATABMAEwATAAkAHgATAB4AHgAeAAQABAAeAB4AHgAeAB4AHgBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQAFAADQAEAB4ABAAeAAQAFgARABYAEQAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAAQABAAEAAQADQAEAAQAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAA0ADQAeAB4AHgAeAB4AHgAEAB4AHgAeAB4AHgAeACsAHgAeAA4ADgANAA4AHgAeAB4AHgAeAAkACQArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgBcAEsASwBLAEsASwBLAEsASwBLAEsADQANAB4AHgAeAB4AXABcAFwAXABcAFwAKgAqACoAKgBcAFwAXABcACoAKgAqAFwAKgAqACoAXABcACoAKgAqACoAKgAqACoAXABcAFwAKgAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqAFwAKgBLAEsASwBLAEsASwBLAEsASwBLACoAKgAqACoAKgAqAFAAUABQAFAAUABQACsAUAArACsAKwArACsAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAKwBQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsABAAEAAQAHgANAB4AHgAeAB4AHgAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUAArACsADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWABEAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQANAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAANAA0AKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUAArAAQABAArACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqAA0ADQAVAFwADQAeAA0AGwBcACoAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwAeAB4AEwATAA0ADQAOAB4AEwATAB4ABAAEAAQACQArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAHgArACsAKwATABMASwBLAEsASwBLAEsASwBLAEsASwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAXABcAFwAXABcACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAXAArACsAKwAqACoAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsAHgAeAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKwAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKwArAAQASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACoAKgAqACoAKgAqACoAXAAqACoAKgAqACoAKgArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABABQAFAAUABQAFAAUABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwANAA0AHgANAA0ADQANAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwAeAB4AHgAeAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArAA0ADQANAA0ADQBLAEsASwBLAEsASwBLAEsASwBLACsAKwArAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUAAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAAQAUABQAFAAUABQAFAABABQAFAABAAEAAQAUAArACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQACsAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQACsAKwAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQACsAHgAeAB4AHgAeAB4AHgAOAB4AKwANAA0ADQANAA0ADQANAAkADQANAA0ACAAEAAsABAAEAA0ACQANAA0ADAAdAB0AHgAXABcAFgAXABcAFwAWABcAHQAdAB4AHgAUABQAFAANAAEAAQAEAAQABAAEAAQACQAaABoAGgAaABoAGgAaABoAHgAXABcAHQAVABUAHgAeAB4AHgAeAB4AGAAWABEAFQAVABUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ADQAeAA0ADQANAA0AHgANAA0ADQAHAB4AHgAeAB4AKwAEAAQABAAEAAQABAAEAAQABAAEAFAAUAArACsATwBQAFAAUABQAFAAHgAeAB4AFgARAE8AUABPAE8ATwBPAFAAUABQAFAAUAAeAB4AHgAWABEAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArABsAGwAbABsAGwAbABsAGgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGgAbABsAGwAbABoAGwAbABoAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAHgAeAFAAGgAeAB0AHgBQAB4AGgAeAB4AHgAeAB4AHgAeAB4AHgBPAB4AUAAbAB4AHgBQAFAAUABQAFAAHgAeAB4AHQAdAB4AUAAeAFAAHgBQAB4AUABPAFAAUAAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgBQAFAAUABQAE8ATwBQAFAAUABQAFAATwBQAFAATwBQAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAUABQAFAATwBPAE8ATwBPAE8ATwBPAE8ATwBQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABPAB4AHgArACsAKwArAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHQAdAB4AHgAeAB0AHQAeAB4AHQAeAB4AHgAdAB4AHQAbABsAHgAdAB4AHgAeAB4AHQAeAB4AHQAdAB0AHQAeAB4AHQAeAB0AHgAdAB0AHQAdAB0AHQAeAB0AHgAeAB4AHgAeAB0AHQAdAB0AHgAeAB4AHgAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB0AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAdAB0AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAWABEAHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AHQAdAB0AHgAeAB0AHgAeAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlAB4AHQAdAB4AHgAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AJQAlAB0AHQAlAB4AJQAlACUAIAAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAdAB0AHQAeAB0AJQAdAB0AHgAdAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAdAB0AHQAdACUAHgAlACUAJQAdACUAJQAdAB0AHQAlACUAHQAdACUAHQAdACUAJQAlAB4AHQAeAB4AHgAeAB0AHQAlAB0AHQAdAB0AHQAdACUAJQAlACUAJQAdACUAJQAgACUAHQAdACUAJQAlACUAJQAlACUAJQAeAB4AHgAlACUAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AFwAXABcAFwAXABcAHgATABMAJQAeAB4AHgAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARABYAEQAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAeAB4AKwArACsAKwArABMADQANAA0AUAATAA0AUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUAANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAA0ADQANAA0ADQANAA0ADQAeAA0AFgANAB4AHgAXABcAHgAeABcAFwAWABEAFgARABYAEQAWABEADQANAA0ADQATAFAADQANAB4ADQANAB4AHgAeAB4AHgAMAAwADQANAA0AHgANAA0AFgANAA0ADQANAA0ADQANAA0AHgANAB4ADQANAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArAA0AEQARACUAJQBHAFcAVwAWABEAFgARABYAEQAWABEAFgARACUAJQAWABEAFgARABYAEQAWABEAFQAWABEAEQAlAFcAVwBXAFcAVwBXAFcAVwBXAAQABAAEAAQABAAEACUAVwBXAFcAVwA2ACUAJQBXAFcAVwBHAEcAJQAlACUAKwBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBRAFcAUQBXAFEAVwBXAFcAVwBXAFcAUQBXAFcAVwBXAFcAVwBRAFEAKwArAAQABAAVABUARwBHAFcAFQBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBRAFcAVwBXAFcAVwBXAFEAUQBXAFcAVwBXABUAUQBHAEcAVwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwAlACUAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACsAKwArACsAKwArACsAKwArACsAKwArAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBPAE8ATwBPAE8ATwBPAE8AJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADQATAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQAHgBQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAeAA0ADQANAA0ADQArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAAQAUABQAFAABABQAFAAUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAeAB4AHgAeAAQAKwArACsAUABQAFAAUABQAFAAHgAeABoAHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADgAOABMAEwArACsAKwArACsAKwArACsABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUAAeAB4AHgBQAA4AUABQAAQAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAB4AWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYACsAKwArAAQAHgAeAB4AHgAeAB4ADQANAA0AHgAeAB4AHgArAFAASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArAB4AHgBcAFwAXABcAFwAKgBcAFwAXABcAFwAXABcAFwAXABcAEsASwBLAEsASwBLAEsASwBLAEsAXABcAFwAXABcACsAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAFAAUABQAAQAUABQAFAAUABQAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAHgANAA0ADQBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAKgAqACoAXABcACoAKgBcAFwAXABcAFwAKgAqAFwAKgBcACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAA0ADQBQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQADQAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAVABVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBUAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVACsAKwArACsAKwArACsAKwArACsAKwArAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAKwArACsAKwBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAKwArACsAKwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArACsAKwArAFYABABWAFYAVgBWAFYAVgBWAFYAVgBWAB4AVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgArAFYAVgBWAFYAVgArAFYAKwBWAFYAKwBWAFYAKwBWAFYAVgBWAFYAVgBWAFYAVgBWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEQAWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAaAB4AKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAARABEAGAAYABMAEwAWABEAFAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACUAJQAlACUAJQAWABEAFgARABYAEQAWABEAFgARABYAEQAlACUAFgARACUAJQAlACUAJQAlACUAEQAlABEAKwAVABUAEwATACUAFgARABYAEQAWABEAJQAlACUAJQAlACUAJQAlACsAJQAbABoAJQArACsAKwArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAcAKwATACUAJQAbABoAJQAlABYAEQAlACUAEQAlABEAJQBXAFcAVwBXAFcAVwBXAFcAVwBXABUAFQAlACUAJQATACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXABYAJQARACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAWACUAEQAlABYAEQARABYAEQARABUAVwBRAFEAUQBRAFEAUQBRAFEAUQBRAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcARwArACsAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXACsAKwBXAFcAVwBXAFcAVwArACsAVwBXAFcAKwArACsAGgAbACUAJQAlABsAGwArAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAAQAB0AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsADQANAA0AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAA0AUABQAFAAUAArACsAKwArAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwBQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAUABQAFAAUABQAAQABAAEACsABAAEACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAKwBQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAA0ADQANAA0ADQANAA0ADQAeACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAArACsAKwArAFAAUABQAFAAUAANAA0ADQANAA0ADQAUACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsADQANAA0ADQANAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArAAQABAANACsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAB4AHgAeAB4AHgArACsAKwArACsAKwAEAAQABAAEAAQABAAEAA0ADQAeAB4AHgAeAB4AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsASwBLAEsASwBLAEsASwBLAEsASwANAA0ADQANAFAABAAEAFAAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAeAA4AUAArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAADQANAB4ADQAEAAQABAAEAB4ABAAEAEsASwBLAEsASwBLAEsASwBLAEsAUAAOAFAADQANAA0AKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAA0AHgANAA0AHgAEACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAA0AKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsABAAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAUAArACsAKwArACsAKwAEACsAKwArACsAKwBQAFAAUABQAFAABAAEACsAKwAEAAQABAAEAAQABAAEACsAKwArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABABQAFAAUABQAA0ADQANAA0AHgBLAEsASwBLAEsASwBLAEsASwBLAA0ADQArAB4ABABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUAAeAFAAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABAAEAAQADgANAA0AEwATAB4AHgAeAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAFAAUABQAFAABAAEACsAKwAEAA0ADQAeAFAAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKwArACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBcAFwADQANAA0AKgBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQAKwAEAAQAKwArAAQABAAEAAQAUAAEAFAABAAEAA0ADQANACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABABQAA4AUAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAOAB4ADQANAA0ADQAOAB4ABAArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA0ADQANAFAADgAOAA4ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAFAADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAOABMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAArACsAKwAEACsABAAEACsABAAEAAQABAAEAAQABABQAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAaABoAGgAaAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABIAEgAQwBDAEMAUABQAFAAUABDAFAAUABQAEgAQwBIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABDAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAJAAkACQAJAAkACQAJABYAEQArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwANAA0AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAANACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQANAB4AHgAeAB4AHgAeAFAAUABQAFAADQAeACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAA0AHgAeACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAARwBHABUARwAJACsAKwArACsAKwArACsAKwArACsAKwAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUQBRAFEAKwArACsAKwArACsAKwArACsAKwArACsAKwBRAFEAUQBRACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAHgAEAAQADQAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQABAAEAAQABAAeAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQAHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAKwArAFAAKwArAFAAUAArACsAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUAArAFAAUABQAFAAUABQAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAHgAeAFAAUABQAFAAUAArAFAAKwArACsAUABQAFAAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeACsAKwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4ABAAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAHgAeAA0ADQANAA0AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArAAQABAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwBQAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArABsAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAB4AHgAeAB4ABAAEAAQABAAEAAQABABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArABYAFgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAGgBQAFAAUAAaAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUAArACsAKwArACsAKwBQACsAKwArACsAUAArAFAAKwBQACsAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUAArAFAAKwBQACsAUAArAFAAUAArAFAAKwArAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAKwBQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AJQAlACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeACUAJQAlAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAlACUAJQAlACUAHgAlACUAJQAlACUAIAAgACAAJQAlACAAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACEAIQAhACEAIQAlACUAIAAgACUAJQAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAIAAlACUAJQAlACAAIAAgACUAIAAgACAAJQAlACUAJQAlACUAJQAgACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAlAB4AJQAeACUAJQAlACUAJQAgACUAJQAlACUAHgAlAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACAAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABcAFwAXABUAFQAVAB4AHgAeAB4AJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAgACUAJQAgACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAIAAgACUAJQAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACAAIAAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACAAIAAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAA==';\nexport const byteLength = 39664;\n","'use strict';\n\nimport {createTrieFromBase64} from 'utrie';\nimport {base64, byteLength} from './linebreak-trie';\nimport {fromCodePoint, toCodePoints} from './Util';\n\nexport const LETTER_NUMBER_MODIFIER = 50;\n\n// Non-tailorable Line Breaking Classes\nconst BK = 1; // Cause a line break (after)\nconst CR = 2; // Cause a line break (after), except between CR and LF\nconst LF = 3; // Cause a line break (after)\nconst CM = 4; // Prohibit a line break between the character and the preceding character\nconst NL = 5; // Cause a line break (after)\nconst SG = 6; // Do not occur in well-formed text\nconst WJ = 7; // Prohibit line breaks before and after\nconst ZW = 8; // Provide a break opportunity\nconst GL = 9; // Prohibit line breaks before and after\nconst SP = 10; // Enable indirect line breaks\nconst ZWJ = 11; // Prohibit line breaks within joiner sequences\n// Break Opportunities\nconst B2 = 12; // Provide a line break opportunity before and after the character\nconst BA = 13; // Generally provide a line break opportunity after the character\nconst BB = 14; // Generally provide a line break opportunity before the character\nconst HY = 15; // Provide a line break opportunity after the character, except in numeric context\nconst CB = 16; // Provide a line break opportunity contingent on additional information\n// Characters Prohibiting Certain Breaks\nconst CL = 17; // Prohibit line breaks before\nconst CP = 18; // Prohibit line breaks before\nconst EX = 19; // Prohibit line breaks before\nconst IN = 20; // Allow only indirect line breaks between pairs\nconst NS = 21; // Allow only indirect line breaks before\nconst OP = 22; // Prohibit line breaks after\nconst QU = 23; // Act like they are both opening and closing\n// Numeric Context\nconst IS = 24; // Prevent breaks after any and before numeric\nconst NU = 25; // Form numeric expressions for line breaking purposes\nconst PO = 26; // Do not break following a numeric expression\nconst PR = 27; // Do not break in front of a numeric expression\nconst SY = 28; // Prevent a break before; and allow a break after\n// Other Characters\nconst AI = 29; // Act like AL when the resolvedEAW is N; otherwise; act as ID\nconst AL = 30; // Are alphabetic characters or symbols that are used with alphabetic characters\nconst CJ = 31; // Treat as NS or ID for strict or normal breaking.\nconst EB = 32; // Do not break from following Emoji Modifier\nconst EM = 33; // Do not break from preceding Emoji Base\nconst H2 = 34; // Form Korean syllable blocks\nconst H3 = 35; // Form Korean syllable blocks\nconst HL = 36; // Do not break around a following hyphen; otherwise act as Alphabetic\nconst ID = 37; // Break before or after; except in some numeric context\nconst JL = 38; // Form Korean syllable blocks\nconst JV = 39; // Form Korean syllable blocks\nconst JT = 40; // Form Korean syllable blocks\nconst RI = 41; // Keep pairs together. For pairs; break before and after other classes\nconst SA = 42; // Provide a line break opportunity contingent on additional, language-specific context analysis\nconst XX = 43; // Have as yet unknown line breaking behavior or unassigned code positions\n\nconst ea_OP = [0x2329, 0xff08];\n\nexport const classes: {[key: string]: number} = {\n BK,\n CR,\n LF,\n CM,\n NL,\n SG,\n WJ,\n ZW,\n GL,\n SP,\n ZWJ,\n B2,\n BA,\n BB,\n HY,\n CB,\n CL,\n CP,\n EX,\n IN,\n NS,\n OP,\n QU,\n IS,\n NU,\n PO,\n PR,\n SY,\n AI,\n AL,\n CJ,\n EB,\n EM,\n H2,\n H3,\n HL,\n ID,\n JL,\n JV,\n JT,\n RI,\n SA,\n XX,\n};\n\nexport const BREAK_MANDATORY = '!';\nexport const BREAK_NOT_ALLOWED = '×';\nexport const BREAK_ALLOWED = '÷';\nexport const UnicodeTrie = createTrieFromBase64(base64, byteLength);\n\nconst ALPHABETICS = [AL, HL];\nconst HARD_LINE_BREAKS = [BK, CR, LF, NL];\nconst SPACE = [SP, ZW];\nconst PREFIX_POSTFIX = [PR, PO];\nconst LINE_BREAKS = HARD_LINE_BREAKS.concat(SPACE);\nconst KOREAN_SYLLABLE_BLOCK = [JL, JV, JT, H2, H3];\nconst HYPHEN = [HY, BA];\n\nexport const codePointsToCharacterClasses = (\n codePoints: number[],\n lineBreak: string = 'strict'\n): [number[], number[], boolean[]] => {\n const types: number[] = [];\n const indices: number[] = [];\n const categories: boolean[] = [];\n codePoints.forEach((codePoint, index) => {\n let classType = UnicodeTrie.get(codePoint);\n if (classType > LETTER_NUMBER_MODIFIER) {\n categories.push(true);\n classType -= LETTER_NUMBER_MODIFIER;\n } else {\n categories.push(false);\n }\n\n if (['normal', 'auto', 'loose'].indexOf(lineBreak) !== -1) {\n // U+2010, – U+2013, 〜 U+301C, ゠ U+30A0\n if ([0x2010, 0x2013, 0x301c, 0x30a0].indexOf(codePoint) !== -1) {\n indices.push(index);\n return types.push(CB);\n }\n }\n\n if (classType === CM || classType === ZWJ) {\n // LB10 Treat any remaining combining mark or ZWJ as AL.\n if (index === 0) {\n indices.push(index);\n return types.push(AL);\n }\n\n // LB9 Do not break a combining character sequence; treat it as if it has the line breaking class of\n // the base character in all of the following rules. Treat ZWJ as if it were CM.\n const prev = types[index - 1];\n if (LINE_BREAKS.indexOf(prev) === -1) {\n indices.push(indices[index - 1]);\n return types.push(prev);\n }\n indices.push(index);\n return types.push(AL);\n }\n\n indices.push(index);\n\n if (classType === CJ) {\n return types.push(lineBreak === 'strict' ? NS : ID);\n }\n\n if (classType === SA) {\n return types.push(AL);\n }\n\n if (classType === AI) {\n return types.push(AL);\n }\n\n // For supplementary characters, a useful default is to treat characters in the range 10000..1FFFD as AL\n // and characters in the ranges 20000..2FFFD and 30000..3FFFD as ID, until the implementation can be revised\n // to take into account the actual line breaking properties for these characters.\n if (classType === XX) {\n if ((codePoint >= 0x20000 && codePoint <= 0x2fffd) || (codePoint >= 0x30000 && codePoint <= 0x3fffd)) {\n return types.push(ID);\n } else {\n return types.push(AL);\n }\n }\n\n types.push(classType);\n });\n\n return [indices, types, categories];\n};\n\nconst isAdjacentWithSpaceIgnored = (\n a: number[] | number,\n b: number,\n currentIndex: number,\n classTypes: number[]\n): boolean => {\n const current = classTypes[currentIndex];\n if (Array.isArray(a) ? a.indexOf(current) !== -1 : a === current) {\n let i = currentIndex;\n while (i <= classTypes.length) {\n i++;\n let next = classTypes[i];\n\n if (next === b) {\n return true;\n }\n\n if (next !== SP) {\n break;\n }\n }\n }\n\n if (current === SP) {\n let i = currentIndex;\n\n while (i > 0) {\n i--;\n const prev = classTypes[i];\n\n if (Array.isArray(a) ? a.indexOf(prev) !== -1 : a === prev) {\n let n = currentIndex;\n while (n <= classTypes.length) {\n n++;\n let next = classTypes[n];\n\n if (next === b) {\n return true;\n }\n\n if (next !== SP) {\n break;\n }\n }\n }\n\n if (prev !== SP) {\n break;\n }\n }\n }\n return false;\n};\n\nconst previousNonSpaceClassType = (currentIndex: number, classTypes: number[]): number => {\n let i = currentIndex;\n while (i >= 0) {\n let type = classTypes[i];\n if (type === SP) {\n i--;\n } else {\n return type;\n }\n }\n return 0;\n};\n\nexport type BREAK_OPPORTUNITIES = typeof BREAK_NOT_ALLOWED | typeof BREAK_ALLOWED | typeof BREAK_MANDATORY;\n\nconst _lineBreakAtIndex = (\n codePoints: number[],\n classTypes: number[],\n indicies: number[],\n index: number,\n forbiddenBreaks?: boolean[]\n): BREAK_OPPORTUNITIES => {\n if (indicies[index] === 0) {\n return BREAK_NOT_ALLOWED;\n }\n\n let currentIndex = index - 1;\n if (Array.isArray(forbiddenBreaks) && forbiddenBreaks[currentIndex] === true) {\n return BREAK_NOT_ALLOWED;\n }\n\n let beforeIndex = currentIndex - 1;\n let afterIndex = currentIndex + 1;\n let current = classTypes[currentIndex];\n\n // LB4 Always break after hard line breaks.\n // LB5 Treat CR followed by LF, as well as CR, LF, and NL as hard line breaks.\n let before = beforeIndex >= 0 ? classTypes[beforeIndex] : 0;\n let next = classTypes[afterIndex];\n\n if (current === CR && next === LF) {\n return BREAK_NOT_ALLOWED;\n }\n\n if (HARD_LINE_BREAKS.indexOf(current) !== -1) {\n return BREAK_MANDATORY;\n }\n\n // LB6 Do not break before hard line breaks.\n if (HARD_LINE_BREAKS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB7 Do not break before spaces or zero width space.\n if (SPACE.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB8 Break before any character following a zero-width space, even if one or more spaces intervene.\n if (previousNonSpaceClassType(currentIndex, classTypes) === ZW) {\n return BREAK_ALLOWED;\n }\n\n // LB8a Do not break after a zero width joiner.\n if (UnicodeTrie.get(codePoints[currentIndex]) === ZWJ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // zwj emojis\n if ((current === EB || current === EM) && UnicodeTrie.get(codePoints[afterIndex]) === ZWJ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB11 Do not break before or after Word joiner and related characters.\n if (current === WJ || next === WJ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB12 Do not break after NBSP and related characters.\n if (current === GL) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB12a Do not break before NBSP and related characters, except after spaces and hyphens.\n if ([SP, BA, HY].indexOf(current) === -1 && next === GL) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB13 Do not break before ‘]’ or ‘!’ or ‘;’ or ‘/’, even after spaces.\n if ([CL, CP, EX, IS, SY].indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB14 Do not break after ‘[’, even after spaces.\n if (previousNonSpaceClassType(currentIndex, classTypes) === OP) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB15 Do not break within ‘”[’, even with intervening spaces.\n if (isAdjacentWithSpaceIgnored(QU, OP, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB16 Do not break between closing punctuation and a nonstarter (lb=NS), even with intervening spaces.\n if (isAdjacentWithSpaceIgnored([CL, CP], NS, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB17 Do not break within ‘——’, even with intervening spaces.\n if (isAdjacentWithSpaceIgnored(B2, B2, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB18 Break after spaces.\n if (current === SP) {\n return BREAK_ALLOWED;\n }\n\n // LB19 Do not break before or after quotation marks, such as ‘ ” ’.\n if (current === QU || next === QU) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB20 Break before and after unresolved CB.\n if (next === CB || current === CB) {\n return BREAK_ALLOWED;\n }\n\n // LB21 Do not break before hyphen-minus, other hyphens, fixed-width spaces, small kana, and other non-starters, or after acute accents.\n if ([BA, HY, NS].indexOf(next) !== -1 || current === BB) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB21a Don't break after Hebrew + Hyphen.\n if (before === HL && HYPHEN.indexOf(current) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB21b Don’t break between Solidus and Hebrew letters.\n if (current === SY && next === HL) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB22 Do not break before ellipsis.\n if (next === IN) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB23 Do not break between digits and letters.\n if ((ALPHABETICS.indexOf(next) !== -1 && current === NU) || (ALPHABETICS.indexOf(current) !== -1 && next === NU)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB23a Do not break between numeric prefixes and ideographs, or between ideographs and numeric postfixes.\n if (\n (current === PR && [ID, EB, EM].indexOf(next) !== -1) ||\n ([ID, EB, EM].indexOf(current) !== -1 && next === PO)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB24 Do not break between numeric prefix/postfix and letters, or between letters and prefix/postfix.\n if (\n (ALPHABETICS.indexOf(current) !== -1 && PREFIX_POSTFIX.indexOf(next) !== -1) ||\n (PREFIX_POSTFIX.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB25 Do not break between the following pairs of classes relevant to numbers:\n if (\n // (PR | PO) × ( OP | HY )? NU\n ([PR, PO].indexOf(current) !== -1 &&\n (next === NU || ([OP, HY].indexOf(next) !== -1 && classTypes[afterIndex + 1] === NU))) ||\n // ( OP | HY ) × NU\n ([OP, HY].indexOf(current) !== -1 && next === NU) ||\n // NU ×\t(NU | SY | IS)\n (current === NU && [NU, SY, IS].indexOf(next) !== -1)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // NU (NU | SY | IS)* × (NU | SY | IS | CL | CP)\n if ([NU, SY, IS, CL, CP].indexOf(next) !== -1) {\n let prevIndex = currentIndex;\n while (prevIndex >= 0) {\n let type = classTypes[prevIndex];\n if (type === NU) {\n return BREAK_NOT_ALLOWED;\n } else if ([SY, IS].indexOf(type) !== -1) {\n prevIndex--;\n } else {\n break;\n }\n }\n }\n\n // NU (NU | SY | IS)* (CL | CP)? × (PO | PR))\n if ([PR, PO].indexOf(next) !== -1) {\n let prevIndex = [CL, CP].indexOf(current) !== -1 ? beforeIndex : currentIndex;\n while (prevIndex >= 0) {\n let type = classTypes[prevIndex];\n if (type === NU) {\n return BREAK_NOT_ALLOWED;\n } else if ([SY, IS].indexOf(type) !== -1) {\n prevIndex--;\n } else {\n break;\n }\n }\n }\n\n // LB26 Do not break a Korean syllable.\n if (\n (JL === current && [JL, JV, H2, H3].indexOf(next) !== -1) ||\n ([JV, H2].indexOf(current) !== -1 && [JV, JT].indexOf(next) !== -1) ||\n ([JT, H3].indexOf(current) !== -1 && next === JT)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB27 Treat a Korean Syllable Block the same as ID.\n if (\n (KOREAN_SYLLABLE_BLOCK.indexOf(current) !== -1 && [IN, PO].indexOf(next) !== -1) ||\n (KOREAN_SYLLABLE_BLOCK.indexOf(next) !== -1 && current === PR)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB28 Do not break between alphabetics (“at”).\n if (ALPHABETICS.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB29 Do not break between numeric punctuation and alphabetics (“e.g.”).\n if (current === IS && ALPHABETICS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB30 Do not break between letters, numbers, or ordinary symbols and opening or closing parentheses.\n if (\n (ALPHABETICS.concat(NU).indexOf(current) !== -1 &&\n next === OP &&\n ea_OP.indexOf(codePoints[afterIndex]) === -1) ||\n (ALPHABETICS.concat(NU).indexOf(next) !== -1 && current === CP)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB30a Break between two regional indicator symbols if and only if there are an even number of regional\n // indicators preceding the position of the break.\n if (current === RI && next === RI) {\n let i = indicies[currentIndex];\n let count = 1;\n while (i > 0) {\n i--;\n if (classTypes[i] === RI) {\n count++;\n } else {\n break;\n }\n }\n if (count % 2 !== 0) {\n return BREAK_NOT_ALLOWED;\n }\n }\n\n // LB30b Do not break between an emoji base and an emoji modifier.\n if (current === EB && next === EM) {\n return BREAK_NOT_ALLOWED;\n }\n\n return BREAK_ALLOWED;\n};\n\nexport const lineBreakAtIndex = (codePoints: number[], index: number): BREAK_OPPORTUNITIES => {\n // LB2 Never break at the start of text.\n if (index === 0) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB3 Always break at the end of text.\n if (index >= codePoints.length) {\n return BREAK_MANDATORY;\n }\n\n const [indices, classTypes] = codePointsToCharacterClasses(codePoints);\n\n return _lineBreakAtIndex(codePoints, classTypes, indices, index);\n};\n\nexport type LINE_BREAK = 'auto' | 'normal' | 'strict';\nexport type WORD_BREAK = 'normal' | 'break-all' | 'break-word' | 'keep-all';\n\ninterface IOptions {\n lineBreak?: LINE_BREAK;\n wordBreak?: WORD_BREAK;\n}\n\nconst cssFormattedClasses = (codePoints: number[], options?: IOptions): [number[], number[], boolean[] | undefined] => {\n if (!options) {\n options = {lineBreak: 'normal', wordBreak: 'normal'};\n }\n let [indicies, classTypes, isLetterNumber] = codePointsToCharacterClasses(codePoints, options.lineBreak);\n\n if (options.wordBreak === 'break-all' || options.wordBreak === 'break-word') {\n classTypes = classTypes.map((type) => ([NU, AL, SA].indexOf(type) !== -1 ? ID : type));\n }\n\n const forbiddenBreakpoints =\n options.wordBreak === 'keep-all'\n ? isLetterNumber.map((letterNumber, i) => {\n return letterNumber && codePoints[i] >= 0x4e00 && codePoints[i] <= 0x9fff;\n })\n : undefined;\n\n return [indicies, classTypes, forbiddenBreakpoints];\n};\n\nexport const inlineBreakOpportunities = (str: string, options?: IOptions): string => {\n const codePoints = toCodePoints(str);\n let output = BREAK_NOT_ALLOWED;\n const [indicies, classTypes, forbiddenBreakpoints] = cssFormattedClasses(codePoints, options);\n\n codePoints.forEach((codePoint, i) => {\n output +=\n fromCodePoint(codePoint) +\n (i >= codePoints.length - 1\n ? BREAK_MANDATORY\n : _lineBreakAtIndex(codePoints, classTypes, indicies, i + 1, forbiddenBreakpoints));\n });\n\n return output;\n};\n\nclass Break {\n private readonly codePoints: number[];\n readonly required: boolean;\n readonly start: number;\n readonly end: number;\n\n constructor(codePoints: number[], lineBreak: string, start: number, end: number) {\n this.codePoints = codePoints;\n this.required = lineBreak === BREAK_MANDATORY;\n this.start = start;\n this.end = end;\n }\n\n slice(): string {\n return fromCodePoint(...this.codePoints.slice(this.start, this.end));\n }\n}\n\nexport type LineBreak =\n | {\n done: true;\n value: null;\n }\n | {\n done: false;\n value: Break;\n };\n\ninterface ILineBreakIterator {\n next: () => LineBreak;\n}\n\nexport const LineBreaker = (str: string, options?: IOptions): ILineBreakIterator => {\n const codePoints = toCodePoints(str);\n const [indicies, classTypes, forbiddenBreakpoints] = cssFormattedClasses(codePoints, options);\n const length = codePoints.length;\n let lastEnd = 0;\n let nextIndex = 0;\n\n return {\n next: () => {\n if (nextIndex >= length) {\n return {done: true, value: null};\n }\n let lineBreak = BREAK_NOT_ALLOWED;\n while (\n nextIndex < length &&\n (lineBreak = _lineBreakAtIndex(codePoints, classTypes, indicies, ++nextIndex, forbiddenBreakpoints)) ===\n BREAK_NOT_ALLOWED\n ) {}\n\n if (lineBreak !== BREAK_NOT_ALLOWED || nextIndex === length) {\n const value = new Break(codePoints, lineBreak, lastEnd, nextIndex);\n lastEnd = nextIndex;\n return {value, done: false};\n }\n\n return {done: true, value: null};\n },\n };\n};\n","// https://www.w3.org/TR/css-syntax-3\n\nimport {fromCodePoint, toCodePoints} from 'css-line-break';\n\nexport const enum TokenType {\n STRING_TOKEN,\n BAD_STRING_TOKEN,\n LEFT_PARENTHESIS_TOKEN,\n RIGHT_PARENTHESIS_TOKEN,\n COMMA_TOKEN,\n HASH_TOKEN,\n DELIM_TOKEN,\n AT_KEYWORD_TOKEN,\n PREFIX_MATCH_TOKEN,\n DASH_MATCH_TOKEN,\n INCLUDE_MATCH_TOKEN,\n LEFT_CURLY_BRACKET_TOKEN,\n RIGHT_CURLY_BRACKET_TOKEN,\n SUFFIX_MATCH_TOKEN,\n SUBSTRING_MATCH_TOKEN,\n DIMENSION_TOKEN,\n PERCENTAGE_TOKEN,\n NUMBER_TOKEN,\n FUNCTION,\n FUNCTION_TOKEN,\n IDENT_TOKEN,\n COLUMN_TOKEN,\n URL_TOKEN,\n BAD_URL_TOKEN,\n CDC_TOKEN,\n CDO_TOKEN,\n COLON_TOKEN,\n SEMICOLON_TOKEN,\n LEFT_SQUARE_BRACKET_TOKEN,\n RIGHT_SQUARE_BRACKET_TOKEN,\n UNICODE_RANGE_TOKEN,\n WHITESPACE_TOKEN,\n EOF_TOKEN\n}\n\ninterface IToken {\n type: TokenType;\n}\n\nexport interface Token extends IToken {\n type:\n | TokenType.BAD_URL_TOKEN\n | TokenType.BAD_STRING_TOKEN\n | TokenType.LEFT_PARENTHESIS_TOKEN\n | TokenType.RIGHT_PARENTHESIS_TOKEN\n | TokenType.COMMA_TOKEN\n | TokenType.SUBSTRING_MATCH_TOKEN\n | TokenType.PREFIX_MATCH_TOKEN\n | TokenType.SUFFIX_MATCH_TOKEN\n | TokenType.COLON_TOKEN\n | TokenType.SEMICOLON_TOKEN\n | TokenType.LEFT_SQUARE_BRACKET_TOKEN\n | TokenType.RIGHT_SQUARE_BRACKET_TOKEN\n | TokenType.LEFT_CURLY_BRACKET_TOKEN\n | TokenType.RIGHT_CURLY_BRACKET_TOKEN\n | TokenType.DASH_MATCH_TOKEN\n | TokenType.INCLUDE_MATCH_TOKEN\n | TokenType.COLUMN_TOKEN\n | TokenType.WHITESPACE_TOKEN\n | TokenType.CDC_TOKEN\n | TokenType.CDO_TOKEN\n | TokenType.EOF_TOKEN;\n}\n\nexport interface StringValueToken extends IToken {\n type:\n | TokenType.STRING_TOKEN\n | TokenType.DELIM_TOKEN\n | TokenType.FUNCTION_TOKEN\n | TokenType.IDENT_TOKEN\n | TokenType.URL_TOKEN\n | TokenType.AT_KEYWORD_TOKEN;\n value: string;\n}\n\nexport interface HashToken extends IToken {\n type: TokenType.HASH_TOKEN;\n flags: number;\n value: string;\n}\n\nexport interface NumberValueToken extends IToken {\n type: TokenType.PERCENTAGE_TOKEN | TokenType.NUMBER_TOKEN;\n flags: number;\n number: number;\n}\n\nexport interface DimensionToken extends IToken {\n type: TokenType.DIMENSION_TOKEN;\n flags: number;\n unit: string;\n number: number;\n}\n\nexport interface UnicodeRangeToken extends IToken {\n type: TokenType.UNICODE_RANGE_TOKEN;\n start: number;\n end: number;\n}\n\nexport type CSSToken = Token | StringValueToken | NumberValueToken | DimensionToken | UnicodeRangeToken | HashToken;\n\nexport const FLAG_UNRESTRICTED = 1 << 0;\nexport const FLAG_ID = 1 << 1;\nexport const FLAG_INTEGER = 1 << 2;\nexport const FLAG_NUMBER = 1 << 3;\n\nconst LINE_FEED = 0x000a;\nconst SOLIDUS = 0x002f;\nconst REVERSE_SOLIDUS = 0x005c;\nconst CHARACTER_TABULATION = 0x0009;\nconst SPACE = 0x0020;\nconst QUOTATION_MARK = 0x0022;\nconst EQUALS_SIGN = 0x003d;\nconst NUMBER_SIGN = 0x0023;\nconst DOLLAR_SIGN = 0x0024;\nconst PERCENTAGE_SIGN = 0x0025;\nconst APOSTROPHE = 0x0027;\nconst LEFT_PARENTHESIS = 0x0028;\nconst RIGHT_PARENTHESIS = 0x0029;\nconst LOW_LINE = 0x005f;\nconst HYPHEN_MINUS = 0x002d;\nconst EXCLAMATION_MARK = 0x0021;\nconst LESS_THAN_SIGN = 0x003c;\nconst GREATER_THAN_SIGN = 0x003e;\nconst COMMERCIAL_AT = 0x0040;\nconst LEFT_SQUARE_BRACKET = 0x005b;\nconst RIGHT_SQUARE_BRACKET = 0x005d;\nconst CIRCUMFLEX_ACCENT = 0x003d;\nconst LEFT_CURLY_BRACKET = 0x007b;\nconst QUESTION_MARK = 0x003f;\nconst RIGHT_CURLY_BRACKET = 0x007d;\nconst VERTICAL_LINE = 0x007c;\nconst TILDE = 0x007e;\nconst CONTROL = 0x0080;\nconst REPLACEMENT_CHARACTER = 0xfffd;\nconst ASTERISK = 0x002a;\nconst PLUS_SIGN = 0x002b;\nconst COMMA = 0x002c;\nconst COLON = 0x003a;\nconst SEMICOLON = 0x003b;\nconst FULL_STOP = 0x002e;\nconst NULL = 0x0000;\nconst BACKSPACE = 0x0008;\nconst LINE_TABULATION = 0x000b;\nconst SHIFT_OUT = 0x000e;\nconst INFORMATION_SEPARATOR_ONE = 0x001f;\nconst DELETE = 0x007f;\nconst EOF = -1;\nconst ZERO = 0x0030;\nconst a = 0x0061;\nconst e = 0x0065;\nconst f = 0x0066;\nconst u = 0x0075;\nconst z = 0x007a;\nconst A = 0x0041;\nconst E = 0x0045;\nconst F = 0x0046;\nconst U = 0x0055;\nconst Z = 0x005a;\n\nconst isDigit = (codePoint: number) => codePoint >= ZERO && codePoint <= 0x0039;\nconst isSurrogateCodePoint = (codePoint: number) => codePoint >= 0xd800 && codePoint <= 0xdfff;\nconst isHex = (codePoint: number) =>\n isDigit(codePoint) || (codePoint >= A && codePoint <= F) || (codePoint >= a && codePoint <= f);\nconst isLowerCaseLetter = (codePoint: number) => codePoint >= a && codePoint <= z;\nconst isUpperCaseLetter = (codePoint: number) => codePoint >= A && codePoint <= Z;\nconst isLetter = (codePoint: number) => isLowerCaseLetter(codePoint) || isUpperCaseLetter(codePoint);\nconst isNonASCIICodePoint = (codePoint: number) => codePoint >= CONTROL;\nconst isWhiteSpace = (codePoint: number): boolean =>\n codePoint === LINE_FEED || codePoint === CHARACTER_TABULATION || codePoint === SPACE;\nconst isNameStartCodePoint = (codePoint: number): boolean =>\n isLetter(codePoint) || isNonASCIICodePoint(codePoint) || codePoint === LOW_LINE;\nconst isNameCodePoint = (codePoint: number): boolean =>\n isNameStartCodePoint(codePoint) || isDigit(codePoint) || codePoint === HYPHEN_MINUS;\nconst isNonPrintableCodePoint = (codePoint: number): boolean => {\n return (\n (codePoint >= NULL && codePoint <= BACKSPACE) ||\n codePoint === LINE_TABULATION ||\n (codePoint >= SHIFT_OUT && codePoint <= INFORMATION_SEPARATOR_ONE) ||\n codePoint === DELETE\n );\n};\nconst isValidEscape = (c1: number, c2: number): boolean => {\n if (c1 !== REVERSE_SOLIDUS) {\n return false;\n }\n\n return c2 !== LINE_FEED;\n};\nconst isIdentifierStart = (c1: number, c2: number, c3: number): boolean => {\n if (c1 === HYPHEN_MINUS) {\n return isNameStartCodePoint(c2) || isValidEscape(c2, c3);\n } else if (isNameStartCodePoint(c1)) {\n return true;\n } else if (c1 === REVERSE_SOLIDUS && isValidEscape(c1, c2)) {\n return true;\n }\n return false;\n};\n\nconst isNumberStart = (c1: number, c2: number, c3: number): boolean => {\n if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) {\n if (isDigit(c2)) {\n return true;\n }\n\n return c2 === FULL_STOP && isDigit(c3);\n }\n\n if (c1 === FULL_STOP) {\n return isDigit(c2);\n }\n\n return isDigit(c1);\n};\n\nconst stringToNumber = (codePoints: number[]): number => {\n let c = 0;\n let sign = 1;\n if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) {\n if (codePoints[c] === HYPHEN_MINUS) {\n sign = -1;\n }\n c++;\n }\n\n const integers = [];\n\n while (isDigit(codePoints[c])) {\n integers.push(codePoints[c++]);\n }\n\n const int = integers.length ? parseInt(fromCodePoint(...integers), 10) : 0;\n\n if (codePoints[c] === FULL_STOP) {\n c++;\n }\n\n const fraction = [];\n while (isDigit(codePoints[c])) {\n fraction.push(codePoints[c++]);\n }\n\n const fracd = fraction.length;\n const frac = fracd ? parseInt(fromCodePoint(...fraction), 10) : 0;\n\n if (codePoints[c] === E || codePoints[c] === e) {\n c++;\n }\n\n let expsign = 1;\n\n if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) {\n if (codePoints[c] === HYPHEN_MINUS) {\n expsign = -1;\n }\n c++;\n }\n\n const exponent = [];\n\n while (isDigit(codePoints[c])) {\n exponent.push(codePoints[c++]);\n }\n\n const exp = exponent.length ? parseInt(fromCodePoint(...exponent), 10) : 0;\n\n return sign * (int + frac * Math.pow(10, -fracd)) * Math.pow(10, expsign * exp);\n};\n\nconst LEFT_PARENTHESIS_TOKEN: Token = {\n type: TokenType.LEFT_PARENTHESIS_TOKEN\n};\nconst RIGHT_PARENTHESIS_TOKEN: Token = {\n type: TokenType.RIGHT_PARENTHESIS_TOKEN\n};\nconst COMMA_TOKEN: Token = {type: TokenType.COMMA_TOKEN};\nconst SUFFIX_MATCH_TOKEN: Token = {type: TokenType.SUFFIX_MATCH_TOKEN};\nconst PREFIX_MATCH_TOKEN: Token = {type: TokenType.PREFIX_MATCH_TOKEN};\nconst COLUMN_TOKEN: Token = {type: TokenType.COLUMN_TOKEN};\nconst DASH_MATCH_TOKEN: Token = {type: TokenType.DASH_MATCH_TOKEN};\nconst INCLUDE_MATCH_TOKEN: Token = {type: TokenType.INCLUDE_MATCH_TOKEN};\nconst LEFT_CURLY_BRACKET_TOKEN: Token = {\n type: TokenType.LEFT_CURLY_BRACKET_TOKEN\n};\nconst RIGHT_CURLY_BRACKET_TOKEN: Token = {\n type: TokenType.RIGHT_CURLY_BRACKET_TOKEN\n};\nconst SUBSTRING_MATCH_TOKEN: Token = {type: TokenType.SUBSTRING_MATCH_TOKEN};\nconst BAD_URL_TOKEN: Token = {type: TokenType.BAD_URL_TOKEN};\nconst BAD_STRING_TOKEN: Token = {type: TokenType.BAD_STRING_TOKEN};\nconst CDO_TOKEN: Token = {type: TokenType.CDO_TOKEN};\nconst CDC_TOKEN: Token = {type: TokenType.CDC_TOKEN};\nconst COLON_TOKEN: Token = {type: TokenType.COLON_TOKEN};\nconst SEMICOLON_TOKEN: Token = {type: TokenType.SEMICOLON_TOKEN};\nconst LEFT_SQUARE_BRACKET_TOKEN: Token = {\n type: TokenType.LEFT_SQUARE_BRACKET_TOKEN\n};\nconst RIGHT_SQUARE_BRACKET_TOKEN: Token = {\n type: TokenType.RIGHT_SQUARE_BRACKET_TOKEN\n};\nconst WHITESPACE_TOKEN: Token = {type: TokenType.WHITESPACE_TOKEN};\nexport const EOF_TOKEN: Token = {type: TokenType.EOF_TOKEN};\n\nexport class Tokenizer {\n private _value: number[];\n\n constructor() {\n this._value = [];\n }\n\n write(chunk: string): void {\n this._value = this._value.concat(toCodePoints(chunk));\n }\n\n read(): CSSToken[] {\n const tokens = [];\n let token = this.consumeToken();\n while (token !== EOF_TOKEN) {\n tokens.push(token);\n token = this.consumeToken();\n }\n return tokens;\n }\n\n private consumeToken(): CSSToken {\n const codePoint = this.consumeCodePoint();\n\n switch (codePoint) {\n case QUOTATION_MARK:\n return this.consumeStringToken(QUOTATION_MARK);\n case NUMBER_SIGN:\n const c1 = this.peekCodePoint(0);\n const c2 = this.peekCodePoint(1);\n const c3 = this.peekCodePoint(2);\n if (isNameCodePoint(c1) || isValidEscape(c2, c3)) {\n const flags = isIdentifierStart(c1, c2, c3) ? FLAG_ID : FLAG_UNRESTRICTED;\n const value = this.consumeName();\n\n return {type: TokenType.HASH_TOKEN, value, flags};\n }\n break;\n case DOLLAR_SIGN:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return SUFFIX_MATCH_TOKEN;\n }\n break;\n case APOSTROPHE:\n return this.consumeStringToken(APOSTROPHE);\n case LEFT_PARENTHESIS:\n return LEFT_PARENTHESIS_TOKEN;\n case RIGHT_PARENTHESIS:\n return RIGHT_PARENTHESIS_TOKEN;\n case ASTERISK:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return SUBSTRING_MATCH_TOKEN;\n }\n break;\n case PLUS_SIGN:\n if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n break;\n case COMMA:\n return COMMA_TOKEN;\n case HYPHEN_MINUS:\n const e1 = codePoint;\n const e2 = this.peekCodePoint(0);\n const e3 = this.peekCodePoint(1);\n\n if (isNumberStart(e1, e2, e3)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n\n if (isIdentifierStart(e1, e2, e3)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n\n if (e2 === HYPHEN_MINUS && e3 === GREATER_THAN_SIGN) {\n this.consumeCodePoint();\n this.consumeCodePoint();\n return CDC_TOKEN;\n }\n break;\n\n case FULL_STOP:\n if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n break;\n case SOLIDUS:\n if (this.peekCodePoint(0) === ASTERISK) {\n this.consumeCodePoint();\n while (true) {\n let c = this.consumeCodePoint();\n if (c === ASTERISK) {\n c = this.consumeCodePoint();\n if (c === SOLIDUS) {\n return this.consumeToken();\n }\n }\n if (c === EOF) {\n return this.consumeToken();\n }\n }\n }\n break;\n case COLON:\n return COLON_TOKEN;\n case SEMICOLON:\n return SEMICOLON_TOKEN;\n case LESS_THAN_SIGN:\n if (\n this.peekCodePoint(0) === EXCLAMATION_MARK &&\n this.peekCodePoint(1) === HYPHEN_MINUS &&\n this.peekCodePoint(2) === HYPHEN_MINUS\n ) {\n this.consumeCodePoint();\n this.consumeCodePoint();\n return CDO_TOKEN;\n }\n break;\n case COMMERCIAL_AT:\n const a1 = this.peekCodePoint(0);\n const a2 = this.peekCodePoint(1);\n const a3 = this.peekCodePoint(2);\n if (isIdentifierStart(a1, a2, a3)) {\n const value = this.consumeName();\n return {type: TokenType.AT_KEYWORD_TOKEN, value};\n }\n break;\n case LEFT_SQUARE_BRACKET:\n return LEFT_SQUARE_BRACKET_TOKEN;\n case REVERSE_SOLIDUS:\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n break;\n case RIGHT_SQUARE_BRACKET:\n return RIGHT_SQUARE_BRACKET_TOKEN;\n case CIRCUMFLEX_ACCENT:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return PREFIX_MATCH_TOKEN;\n }\n break;\n case LEFT_CURLY_BRACKET:\n return LEFT_CURLY_BRACKET_TOKEN;\n case RIGHT_CURLY_BRACKET:\n return RIGHT_CURLY_BRACKET_TOKEN;\n case u:\n case U:\n const u1 = this.peekCodePoint(0);\n const u2 = this.peekCodePoint(1);\n if (u1 === PLUS_SIGN && (isHex(u2) || u2 === QUESTION_MARK)) {\n this.consumeCodePoint();\n this.consumeUnicodeRangeToken();\n }\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n case VERTICAL_LINE:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return DASH_MATCH_TOKEN;\n }\n if (this.peekCodePoint(0) === VERTICAL_LINE) {\n this.consumeCodePoint();\n return COLUMN_TOKEN;\n }\n break;\n case TILDE:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return INCLUDE_MATCH_TOKEN;\n }\n break;\n case EOF:\n return EOF_TOKEN;\n }\n\n if (isWhiteSpace(codePoint)) {\n this.consumeWhiteSpace();\n return WHITESPACE_TOKEN;\n }\n\n if (isDigit(codePoint)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n\n if (isNameStartCodePoint(codePoint)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n\n return {type: TokenType.DELIM_TOKEN, value: fromCodePoint(codePoint)};\n }\n\n private consumeCodePoint(): number {\n const value = this._value.shift();\n\n return typeof value === 'undefined' ? -1 : value;\n }\n\n private reconsumeCodePoint(codePoint: number) {\n this._value.unshift(codePoint);\n }\n\n private peekCodePoint(delta: number): number {\n if (delta >= this._value.length) {\n return -1;\n }\n\n return this._value[delta];\n }\n\n private consumeUnicodeRangeToken(): UnicodeRangeToken {\n const digits = [];\n let codePoint = this.consumeCodePoint();\n while (isHex(codePoint) && digits.length < 6) {\n digits.push(codePoint);\n codePoint = this.consumeCodePoint();\n }\n let questionMarks = false;\n while (codePoint === QUESTION_MARK && digits.length < 6) {\n digits.push(codePoint);\n codePoint = this.consumeCodePoint();\n questionMarks = true;\n }\n\n if (questionMarks) {\n const start = parseInt(\n fromCodePoint(...digits.map((digit) => (digit === QUESTION_MARK ? ZERO : digit))),\n 16\n );\n const end = parseInt(fromCodePoint(...digits.map((digit) => (digit === QUESTION_MARK ? F : digit))), 16);\n return {type: TokenType.UNICODE_RANGE_TOKEN, start, end};\n }\n\n const start = parseInt(fromCodePoint(...digits), 16);\n if (this.peekCodePoint(0) === HYPHEN_MINUS && isHex(this.peekCodePoint(1))) {\n this.consumeCodePoint();\n codePoint = this.consumeCodePoint();\n const endDigits = [];\n while (isHex(codePoint) && endDigits.length < 6) {\n endDigits.push(codePoint);\n codePoint = this.consumeCodePoint();\n }\n const end = parseInt(fromCodePoint(...endDigits), 16);\n\n return {type: TokenType.UNICODE_RANGE_TOKEN, start, end};\n } else {\n return {type: TokenType.UNICODE_RANGE_TOKEN, start, end: start};\n }\n }\n\n private consumeIdentLikeToken(): StringValueToken | Token {\n const value = this.consumeName();\n if (value.toLowerCase() === 'url' && this.peekCodePoint(0) === LEFT_PARENTHESIS) {\n this.consumeCodePoint();\n return this.consumeUrlToken();\n } else if (this.peekCodePoint(0) === LEFT_PARENTHESIS) {\n this.consumeCodePoint();\n return {type: TokenType.FUNCTION_TOKEN, value};\n }\n\n return {type: TokenType.IDENT_TOKEN, value};\n }\n\n private consumeUrlToken(): StringValueToken | Token {\n const value = [];\n this.consumeWhiteSpace();\n\n if (this.peekCodePoint(0) === EOF) {\n return {type: TokenType.URL_TOKEN, value: ''};\n }\n\n const next = this.peekCodePoint(0);\n if (next === APOSTROPHE || next === QUOTATION_MARK) {\n const stringToken = this.consumeStringToken(this.consumeCodePoint());\n if (stringToken.type === TokenType.STRING_TOKEN) {\n this.consumeWhiteSpace();\n\n if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) {\n this.consumeCodePoint();\n return {type: TokenType.URL_TOKEN, value: stringToken.value};\n }\n }\n\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n\n while (true) {\n const codePoint = this.consumeCodePoint();\n if (codePoint === EOF || codePoint === RIGHT_PARENTHESIS) {\n return {type: TokenType.URL_TOKEN, value: fromCodePoint(...value)};\n } else if (isWhiteSpace(codePoint)) {\n this.consumeWhiteSpace();\n if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) {\n this.consumeCodePoint();\n return {type: TokenType.URL_TOKEN, value: fromCodePoint(...value)};\n }\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n } else if (\n codePoint === QUOTATION_MARK ||\n codePoint === APOSTROPHE ||\n codePoint === LEFT_PARENTHESIS ||\n isNonPrintableCodePoint(codePoint)\n ) {\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n } else if (codePoint === REVERSE_SOLIDUS) {\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n value.push(this.consumeEscapedCodePoint());\n } else {\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n } else {\n value.push(codePoint);\n }\n }\n }\n\n private consumeWhiteSpace(): void {\n while (isWhiteSpace(this.peekCodePoint(0))) {\n this.consumeCodePoint();\n }\n }\n\n private consumeBadUrlRemnants(): void {\n while (true) {\n const codePoint = this.consumeCodePoint();\n if (codePoint === RIGHT_PARENTHESIS || codePoint === EOF) {\n return;\n }\n\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n this.consumeEscapedCodePoint();\n }\n }\n }\n\n private consumeStringSlice(count: number): string {\n const SLICE_STACK_SIZE = 50000;\n let value = '';\n while (count > 0) {\n const amount = Math.min(SLICE_STACK_SIZE, count);\n value += fromCodePoint(...this._value.splice(0, amount));\n count -= amount;\n }\n this._value.shift();\n\n return value;\n }\n\n private consumeStringToken(endingCodePoint: number): StringValueToken | Token {\n let value = '';\n let i = 0;\n\n do {\n const codePoint = this._value[i];\n if (codePoint === EOF || codePoint === undefined || codePoint === endingCodePoint) {\n value += this.consumeStringSlice(i);\n return {type: TokenType.STRING_TOKEN, value};\n }\n\n if (codePoint === LINE_FEED) {\n this._value.splice(0, i);\n return BAD_STRING_TOKEN;\n }\n\n if (codePoint === REVERSE_SOLIDUS) {\n const next = this._value[i + 1];\n if (next !== EOF && next !== undefined) {\n if (next === LINE_FEED) {\n value += this.consumeStringSlice(i);\n i = -1;\n this._value.shift();\n } else if (isValidEscape(codePoint, next)) {\n value += this.consumeStringSlice(i);\n value += fromCodePoint(this.consumeEscapedCodePoint());\n i = -1;\n }\n }\n }\n\n i++;\n } while (true);\n }\n\n private consumeNumber() {\n const repr = [];\n let type = FLAG_INTEGER;\n let c1 = this.peekCodePoint(0);\n if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) {\n repr.push(this.consumeCodePoint());\n }\n\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n c1 = this.peekCodePoint(0);\n let c2 = this.peekCodePoint(1);\n if (c1 === FULL_STOP && isDigit(c2)) {\n repr.push(this.consumeCodePoint(), this.consumeCodePoint());\n type = FLAG_NUMBER;\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n }\n\n c1 = this.peekCodePoint(0);\n c2 = this.peekCodePoint(1);\n const c3 = this.peekCodePoint(2);\n if ((c1 === E || c1 === e) && (((c2 === PLUS_SIGN || c2 === HYPHEN_MINUS) && isDigit(c3)) || isDigit(c2))) {\n repr.push(this.consumeCodePoint(), this.consumeCodePoint());\n type = FLAG_NUMBER;\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n }\n\n return [stringToNumber(repr), type];\n }\n\n private consumeNumericToken(): NumberValueToken | DimensionToken {\n const [number, flags] = this.consumeNumber();\n const c1 = this.peekCodePoint(0);\n const c2 = this.peekCodePoint(1);\n const c3 = this.peekCodePoint(2);\n\n if (isIdentifierStart(c1, c2, c3)) {\n const unit = this.consumeName();\n return {type: TokenType.DIMENSION_TOKEN, number, flags, unit};\n }\n\n if (c1 === PERCENTAGE_SIGN) {\n this.consumeCodePoint();\n return {type: TokenType.PERCENTAGE_TOKEN, number, flags};\n }\n\n return {type: TokenType.NUMBER_TOKEN, number, flags};\n }\n\n private consumeEscapedCodePoint(): number {\n const codePoint = this.consumeCodePoint();\n\n if (isHex(codePoint)) {\n let hex = fromCodePoint(codePoint);\n while (isHex(this.peekCodePoint(0)) && hex.length < 6) {\n hex += fromCodePoint(this.consumeCodePoint());\n }\n\n if (isWhiteSpace(this.peekCodePoint(0))) {\n this.consumeCodePoint();\n }\n\n const hexCodePoint = parseInt(hex, 16);\n\n if (hexCodePoint === 0 || isSurrogateCodePoint(hexCodePoint) || hexCodePoint > 0x10ffff) {\n return REPLACEMENT_CHARACTER;\n }\n\n return hexCodePoint;\n }\n\n if (codePoint === EOF) {\n return REPLACEMENT_CHARACTER;\n }\n\n return codePoint;\n }\n\n private consumeName(): string {\n let result = '';\n while (true) {\n const codePoint = this.consumeCodePoint();\n if (isNameCodePoint(codePoint)) {\n result += fromCodePoint(codePoint);\n } else if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n result += fromCodePoint(this.consumeEscapedCodePoint());\n } else {\n this.reconsumeCodePoint(codePoint);\n return result;\n }\n }\n }\n}\n","import {\n CSSToken,\n DimensionToken,\n EOF_TOKEN,\n NumberValueToken,\n StringValueToken,\n Tokenizer,\n TokenType\n} from './tokenizer';\n\nexport type CSSBlockType =\n | TokenType.LEFT_PARENTHESIS_TOKEN\n | TokenType.LEFT_SQUARE_BRACKET_TOKEN\n | TokenType.LEFT_CURLY_BRACKET_TOKEN;\n\nexport interface CSSBlock {\n type: CSSBlockType;\n values: CSSValue[];\n}\n\nexport interface CSSFunction {\n type: TokenType.FUNCTION;\n name: string;\n values: CSSValue[];\n}\n\nexport type CSSValue = CSSFunction | CSSToken | CSSBlock;\n\nexport class Parser {\n private _tokens: CSSToken[];\n\n constructor(tokens: CSSToken[]) {\n this._tokens = tokens;\n }\n\n static create(value: string): Parser {\n const tokenizer = new Tokenizer();\n tokenizer.write(value);\n return new Parser(tokenizer.read());\n }\n\n static parseValue(value: string): CSSValue {\n return Parser.create(value).parseComponentValue();\n }\n\n static parseValues(value: string): CSSValue[] {\n return Parser.create(value).parseComponentValues();\n }\n\n parseComponentValue(): CSSValue {\n let token = this.consumeToken();\n while (token.type === TokenType.WHITESPACE_TOKEN) {\n token = this.consumeToken();\n }\n\n if (token.type === TokenType.EOF_TOKEN) {\n throw new SyntaxError(`Error parsing CSS component value, unexpected EOF`);\n }\n\n this.reconsumeToken(token);\n const value = this.consumeComponentValue();\n\n do {\n token = this.consumeToken();\n } while (token.type === TokenType.WHITESPACE_TOKEN);\n\n if (token.type === TokenType.EOF_TOKEN) {\n return value;\n }\n\n throw new SyntaxError(`Error parsing CSS component value, multiple values found when expecting only one`);\n }\n\n parseComponentValues(): CSSValue[] {\n const values = [];\n while (true) {\n const value = this.consumeComponentValue();\n if (value.type === TokenType.EOF_TOKEN) {\n return values;\n }\n values.push(value);\n values.push();\n }\n }\n\n private consumeComponentValue(): CSSValue {\n const token = this.consumeToken();\n\n switch (token.type) {\n case TokenType.LEFT_CURLY_BRACKET_TOKEN:\n case TokenType.LEFT_SQUARE_BRACKET_TOKEN:\n case TokenType.LEFT_PARENTHESIS_TOKEN:\n return this.consumeSimpleBlock(token.type);\n case TokenType.FUNCTION_TOKEN:\n return this.consumeFunction(token);\n }\n\n return token;\n }\n\n private consumeSimpleBlock(type: CSSBlockType): CSSBlock {\n const block: CSSBlock = {type, values: []};\n\n let token = this.consumeToken();\n while (true) {\n if (token.type === TokenType.EOF_TOKEN || isEndingTokenFor(token, type)) {\n return block;\n }\n\n this.reconsumeToken(token);\n block.values.push(this.consumeComponentValue());\n token = this.consumeToken();\n }\n }\n\n private consumeFunction(functionToken: StringValueToken): CSSFunction {\n const cssFunction: CSSFunction = {\n name: functionToken.value,\n values: [],\n type: TokenType.FUNCTION\n };\n\n while (true) {\n const token = this.consumeToken();\n if (token.type === TokenType.EOF_TOKEN || token.type === TokenType.RIGHT_PARENTHESIS_TOKEN) {\n return cssFunction;\n }\n\n this.reconsumeToken(token);\n cssFunction.values.push(this.consumeComponentValue());\n }\n }\n\n private consumeToken(): CSSToken {\n const token = this._tokens.shift();\n return typeof token === 'undefined' ? EOF_TOKEN : token;\n }\n\n private reconsumeToken(token: CSSToken): void {\n this._tokens.unshift(token);\n }\n}\n\nexport const isDimensionToken = (token: CSSValue): token is DimensionToken => token.type === TokenType.DIMENSION_TOKEN;\nexport const isNumberToken = (token: CSSValue): token is NumberValueToken => token.type === TokenType.NUMBER_TOKEN;\nexport const isIdentToken = (token: CSSValue): token is StringValueToken => token.type === TokenType.IDENT_TOKEN;\nexport const isStringToken = (token: CSSValue): token is StringValueToken => token.type === TokenType.STRING_TOKEN;\nexport const isIdentWithValue = (token: CSSValue, value: string): boolean =>\n isIdentToken(token) && token.value === value;\n\nexport const nonWhiteSpace = (token: CSSValue): boolean => token.type !== TokenType.WHITESPACE_TOKEN;\nexport const nonFunctionArgSeparator = (token: CSSValue): boolean =>\n token.type !== TokenType.WHITESPACE_TOKEN && token.type !== TokenType.COMMA_TOKEN;\n\nexport const parseFunctionArgs = (tokens: CSSValue[]): CSSValue[][] => {\n const args: CSSValue[][] = [];\n let arg: CSSValue[] = [];\n tokens.forEach((token) => {\n if (token.type === TokenType.COMMA_TOKEN) {\n if (arg.length === 0) {\n throw new Error(`Error parsing function args, zero tokens for arg`);\n }\n args.push(arg);\n arg = [];\n return;\n }\n\n if (token.type !== TokenType.WHITESPACE_TOKEN) {\n arg.push(token);\n }\n });\n if (arg.length) {\n args.push(arg);\n }\n\n return args;\n};\n\nconst isEndingTokenFor = (token: CSSToken, type: CSSBlockType): boolean => {\n if (type === TokenType.LEFT_CURLY_BRACKET_TOKEN && token.type === TokenType.RIGHT_CURLY_BRACKET_TOKEN) {\n return true;\n }\n if (type === TokenType.LEFT_SQUARE_BRACKET_TOKEN && token.type === TokenType.RIGHT_SQUARE_BRACKET_TOKEN) {\n return true;\n }\n\n return type === TokenType.LEFT_PARENTHESIS_TOKEN && token.type === TokenType.RIGHT_PARENTHESIS_TOKEN;\n};\n","import {CSSValue} from '../syntax/parser';\nimport {DimensionToken, NumberValueToken, TokenType} from '../syntax/tokenizer';\n\nexport type Length = DimensionToken | NumberValueToken;\n\nexport const isLength = (token: CSSValue): token is Length =>\n token.type === TokenType.NUMBER_TOKEN || token.type === TokenType.DIMENSION_TOKEN;\n","import {DimensionToken, FLAG_INTEGER, NumberValueToken, TokenType} from '../syntax/tokenizer';\nimport {CSSValue, isDimensionToken} from '../syntax/parser';\nimport {isLength} from './length';\nexport type LengthPercentage = DimensionToken | NumberValueToken;\nexport type LengthPercentageTuple = [LengthPercentage] | [LengthPercentage, LengthPercentage];\n\nexport const isLengthPercentage = (token: CSSValue): token is LengthPercentage =>\n token.type === TokenType.PERCENTAGE_TOKEN || isLength(token);\nexport const parseLengthPercentageTuple = (tokens: LengthPercentage[]): LengthPercentageTuple =>\n tokens.length > 1 ? [tokens[0], tokens[1]] : [tokens[0]];\nexport const ZERO_LENGTH: NumberValueToken = {\n type: TokenType.NUMBER_TOKEN,\n number: 0,\n flags: FLAG_INTEGER\n};\n\nexport const FIFTY_PERCENT: NumberValueToken = {\n type: TokenType.PERCENTAGE_TOKEN,\n number: 50,\n flags: FLAG_INTEGER\n};\n\nexport const HUNDRED_PERCENT: NumberValueToken = {\n type: TokenType.PERCENTAGE_TOKEN,\n number: 100,\n flags: FLAG_INTEGER\n};\n\nexport const getAbsoluteValueForTuple = (\n tuple: LengthPercentageTuple,\n width: number,\n height: number\n): [number, number] => {\n const [x, y] = tuple;\n return [getAbsoluteValue(x, width), getAbsoluteValue(typeof y !== 'undefined' ? y : x, height)];\n};\nexport const getAbsoluteValue = (token: LengthPercentage, parent: number): number => {\n if (token.type === TokenType.PERCENTAGE_TOKEN) {\n return (token.number / 100) * parent;\n }\n\n if (isDimensionToken(token)) {\n switch (token.unit) {\n case 'rem':\n case 'em':\n return 16 * token.number; // TODO use correct font-size\n case 'px':\n default:\n return token.number;\n }\n }\n\n return token.number;\n};\n","import {CSSValue, isIdentToken} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {ITypeDescriptor} from '../ITypeDescriptor';\nimport {HUNDRED_PERCENT, ZERO_LENGTH} from './length-percentage';\nimport {GradientCorner} from './image';\nimport {Context} from '../../core/context';\n\nconst DEG = 'deg';\nconst GRAD = 'grad';\nconst RAD = 'rad';\nconst TURN = 'turn';\n\nexport const angle: ITypeDescriptor = {\n name: 'angle',\n parse: (_context: Context, value: CSSValue): number => {\n if (value.type === TokenType.DIMENSION_TOKEN) {\n switch (value.unit) {\n case DEG:\n return (Math.PI * value.number) / 180;\n case GRAD:\n return (Math.PI / 200) * value.number;\n case RAD:\n return value.number;\n case TURN:\n return Math.PI * 2 * value.number;\n }\n }\n\n throw new Error(`Unsupported angle type`);\n }\n};\n\nexport const isAngle = (value: CSSValue): boolean => {\n if (value.type === TokenType.DIMENSION_TOKEN) {\n if (value.unit === DEG || value.unit === GRAD || value.unit === RAD || value.unit === TURN) {\n return true;\n }\n }\n return false;\n};\n\nexport const parseNamedSide = (tokens: CSSValue[]): number | GradientCorner => {\n const sideOrCorner = tokens\n .filter(isIdentToken)\n .map((ident) => ident.value)\n .join(' ');\n\n switch (sideOrCorner) {\n case 'to bottom right':\n case 'to right bottom':\n case 'left top':\n case 'top left':\n return [ZERO_LENGTH, ZERO_LENGTH];\n case 'to top':\n case 'bottom':\n return deg(0);\n case 'to bottom left':\n case 'to left bottom':\n case 'right top':\n case 'top right':\n return [ZERO_LENGTH, HUNDRED_PERCENT];\n case 'to right':\n case 'left':\n return deg(90);\n case 'to top left':\n case 'to left top':\n case 'right bottom':\n case 'bottom right':\n return [HUNDRED_PERCENT, HUNDRED_PERCENT];\n case 'to bottom':\n case 'top':\n return deg(180);\n case 'to top right':\n case 'to right top':\n case 'left bottom':\n case 'bottom left':\n return [HUNDRED_PERCENT, ZERO_LENGTH];\n case 'to left':\n case 'right':\n return deg(270);\n }\n\n return 0;\n};\n\nexport const deg = (deg: number): number => (Math.PI * deg) / 180;\n","import {CSSValue, nonFunctionArgSeparator, Parser} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {ITypeDescriptor} from '../ITypeDescriptor';\nimport {angle, deg} from './angle';\nimport {getAbsoluteValue, isLengthPercentage} from './length-percentage';\nimport {Context} from '../../core/context';\nexport type Color = number;\n\nexport const color: ITypeDescriptor = {\n name: 'color',\n parse: (context: Context, value: CSSValue): Color => {\n if (value.type === TokenType.FUNCTION) {\n const colorFunction = SUPPORTED_COLOR_FUNCTIONS[value.name];\n if (typeof colorFunction === 'undefined') {\n throw new Error(`Attempting to parse an unsupported color function \"${value.name}\"`);\n }\n return colorFunction(context, value.values);\n }\n\n if (value.type === TokenType.HASH_TOKEN) {\n if (value.value.length === 3) {\n const r = value.value.substring(0, 1);\n const g = value.value.substring(1, 2);\n const b = value.value.substring(2, 3);\n return pack(parseInt(r + r, 16), parseInt(g + g, 16), parseInt(b + b, 16), 1);\n }\n\n if (value.value.length === 4) {\n const r = value.value.substring(0, 1);\n const g = value.value.substring(1, 2);\n const b = value.value.substring(2, 3);\n const a = value.value.substring(3, 4);\n return pack(parseInt(r + r, 16), parseInt(g + g, 16), parseInt(b + b, 16), parseInt(a + a, 16) / 255);\n }\n\n if (value.value.length === 6) {\n const r = value.value.substring(0, 2);\n const g = value.value.substring(2, 4);\n const b = value.value.substring(4, 6);\n return pack(parseInt(r, 16), parseInt(g, 16), parseInt(b, 16), 1);\n }\n\n if (value.value.length === 8) {\n const r = value.value.substring(0, 2);\n const g = value.value.substring(2, 4);\n const b = value.value.substring(4, 6);\n const a = value.value.substring(6, 8);\n return pack(parseInt(r, 16), parseInt(g, 16), parseInt(b, 16), parseInt(a, 16) / 255);\n }\n }\n\n if (value.type === TokenType.IDENT_TOKEN) {\n const namedColor = COLORS[value.value.toUpperCase()];\n if (typeof namedColor !== 'undefined') {\n return namedColor;\n }\n }\n\n return COLORS.TRANSPARENT;\n }\n};\n\nexport const isTransparent = (color: Color): boolean => (0xff & color) === 0;\n\nexport const asString = (color: Color): string => {\n const alpha = 0xff & color;\n const blue = 0xff & (color >> 8);\n const green = 0xff & (color >> 16);\n const red = 0xff & (color >> 24);\n return alpha < 255 ? `rgba(${red},${green},${blue},${alpha / 255})` : `rgb(${red},${green},${blue})`;\n};\n\nexport const pack = (r: number, g: number, b: number, a: number): Color =>\n ((r << 24) | (g << 16) | (b << 8) | (Math.round(a * 255) << 0)) >>> 0;\n\nconst getTokenColorValue = (token: CSSValue, i: number): number => {\n if (token.type === TokenType.NUMBER_TOKEN) {\n return token.number;\n }\n\n if (token.type === TokenType.PERCENTAGE_TOKEN) {\n const max = i === 3 ? 1 : 255;\n return i === 3 ? (token.number / 100) * max : Math.round((token.number / 100) * max);\n }\n\n return 0;\n};\n\nconst rgb = (_context: Context, args: CSSValue[]): number => {\n const tokens = args.filter(nonFunctionArgSeparator);\n\n if (tokens.length === 3) {\n const [r, g, b] = tokens.map(getTokenColorValue);\n return pack(r, g, b, 1);\n }\n\n if (tokens.length === 4) {\n const [r, g, b, a] = tokens.map(getTokenColorValue);\n return pack(r, g, b, a);\n }\n\n return 0;\n};\n\nfunction hue2rgb(t1: number, t2: number, hue: number): number {\n if (hue < 0) {\n hue += 1;\n }\n if (hue >= 1) {\n hue -= 1;\n }\n\n if (hue < 1 / 6) {\n return (t2 - t1) * hue * 6 + t1;\n } else if (hue < 1 / 2) {\n return t2;\n } else if (hue < 2 / 3) {\n return (t2 - t1) * 6 * (2 / 3 - hue) + t1;\n } else {\n return t1;\n }\n}\n\nconst hsl = (context: Context, args: CSSValue[]): number => {\n const tokens = args.filter(nonFunctionArgSeparator);\n const [hue, saturation, lightness, alpha] = tokens;\n\n const h = (hue.type === TokenType.NUMBER_TOKEN ? deg(hue.number) : angle.parse(context, hue)) / (Math.PI * 2);\n const s = isLengthPercentage(saturation) ? saturation.number / 100 : 0;\n const l = isLengthPercentage(lightness) ? lightness.number / 100 : 0;\n const a = typeof alpha !== 'undefined' && isLengthPercentage(alpha) ? getAbsoluteValue(alpha, 1) : 1;\n\n if (s === 0) {\n return pack(l * 255, l * 255, l * 255, 1);\n }\n\n const t2 = l <= 0.5 ? l * (s + 1) : l + s - l * s;\n\n const t1 = l * 2 - t2;\n const r = hue2rgb(t1, t2, h + 1 / 3);\n const g = hue2rgb(t1, t2, h);\n const b = hue2rgb(t1, t2, h - 1 / 3);\n return pack(r * 255, g * 255, b * 255, a);\n};\n\nconst SUPPORTED_COLOR_FUNCTIONS: {\n [key: string]: (context: Context, args: CSSValue[]) => number;\n} = {\n hsl: hsl,\n hsla: hsl,\n rgb: rgb,\n rgba: rgb\n};\n\nexport const parseColor = (context: Context, value: string): Color =>\n color.parse(context, Parser.create(value).parseComponentValue());\n\nexport const COLORS: {[key: string]: Color} = {\n ALICEBLUE: 0xf0f8ffff,\n ANTIQUEWHITE: 0xfaebd7ff,\n AQUA: 0x00ffffff,\n AQUAMARINE: 0x7fffd4ff,\n AZURE: 0xf0ffffff,\n BEIGE: 0xf5f5dcff,\n BISQUE: 0xffe4c4ff,\n BLACK: 0x000000ff,\n BLANCHEDALMOND: 0xffebcdff,\n BLUE: 0x0000ffff,\n BLUEVIOLET: 0x8a2be2ff,\n BROWN: 0xa52a2aff,\n BURLYWOOD: 0xdeb887ff,\n CADETBLUE: 0x5f9ea0ff,\n CHARTREUSE: 0x7fff00ff,\n CHOCOLATE: 0xd2691eff,\n CORAL: 0xff7f50ff,\n CORNFLOWERBLUE: 0x6495edff,\n CORNSILK: 0xfff8dcff,\n CRIMSON: 0xdc143cff,\n CYAN: 0x00ffffff,\n DARKBLUE: 0x00008bff,\n DARKCYAN: 0x008b8bff,\n DARKGOLDENROD: 0xb886bbff,\n DARKGRAY: 0xa9a9a9ff,\n DARKGREEN: 0x006400ff,\n DARKGREY: 0xa9a9a9ff,\n DARKKHAKI: 0xbdb76bff,\n DARKMAGENTA: 0x8b008bff,\n DARKOLIVEGREEN: 0x556b2fff,\n DARKORANGE: 0xff8c00ff,\n DARKORCHID: 0x9932ccff,\n DARKRED: 0x8b0000ff,\n DARKSALMON: 0xe9967aff,\n DARKSEAGREEN: 0x8fbc8fff,\n DARKSLATEBLUE: 0x483d8bff,\n DARKSLATEGRAY: 0x2f4f4fff,\n DARKSLATEGREY: 0x2f4f4fff,\n DARKTURQUOISE: 0x00ced1ff,\n DARKVIOLET: 0x9400d3ff,\n DEEPPINK: 0xff1493ff,\n DEEPSKYBLUE: 0x00bfffff,\n DIMGRAY: 0x696969ff,\n DIMGREY: 0x696969ff,\n DODGERBLUE: 0x1e90ffff,\n FIREBRICK: 0xb22222ff,\n FLORALWHITE: 0xfffaf0ff,\n FORESTGREEN: 0x228b22ff,\n FUCHSIA: 0xff00ffff,\n GAINSBORO: 0xdcdcdcff,\n GHOSTWHITE: 0xf8f8ffff,\n GOLD: 0xffd700ff,\n GOLDENROD: 0xdaa520ff,\n GRAY: 0x808080ff,\n GREEN: 0x008000ff,\n GREENYELLOW: 0xadff2fff,\n GREY: 0x808080ff,\n HONEYDEW: 0xf0fff0ff,\n HOTPINK: 0xff69b4ff,\n INDIANRED: 0xcd5c5cff,\n INDIGO: 0x4b0082ff,\n IVORY: 0xfffff0ff,\n KHAKI: 0xf0e68cff,\n LAVENDER: 0xe6e6faff,\n LAVENDERBLUSH: 0xfff0f5ff,\n LAWNGREEN: 0x7cfc00ff,\n LEMONCHIFFON: 0xfffacdff,\n LIGHTBLUE: 0xadd8e6ff,\n LIGHTCORAL: 0xf08080ff,\n LIGHTCYAN: 0xe0ffffff,\n LIGHTGOLDENRODYELLOW: 0xfafad2ff,\n LIGHTGRAY: 0xd3d3d3ff,\n LIGHTGREEN: 0x90ee90ff,\n LIGHTGREY: 0xd3d3d3ff,\n LIGHTPINK: 0xffb6c1ff,\n LIGHTSALMON: 0xffa07aff,\n LIGHTSEAGREEN: 0x20b2aaff,\n LIGHTSKYBLUE: 0x87cefaff,\n LIGHTSLATEGRAY: 0x778899ff,\n LIGHTSLATEGREY: 0x778899ff,\n LIGHTSTEELBLUE: 0xb0c4deff,\n LIGHTYELLOW: 0xffffe0ff,\n LIME: 0x00ff00ff,\n LIMEGREEN: 0x32cd32ff,\n LINEN: 0xfaf0e6ff,\n MAGENTA: 0xff00ffff,\n MAROON: 0x800000ff,\n MEDIUMAQUAMARINE: 0x66cdaaff,\n MEDIUMBLUE: 0x0000cdff,\n MEDIUMORCHID: 0xba55d3ff,\n MEDIUMPURPLE: 0x9370dbff,\n MEDIUMSEAGREEN: 0x3cb371ff,\n MEDIUMSLATEBLUE: 0x7b68eeff,\n MEDIUMSPRINGGREEN: 0x00fa9aff,\n MEDIUMTURQUOISE: 0x48d1ccff,\n MEDIUMVIOLETRED: 0xc71585ff,\n MIDNIGHTBLUE: 0x191970ff,\n MINTCREAM: 0xf5fffaff,\n MISTYROSE: 0xffe4e1ff,\n MOCCASIN: 0xffe4b5ff,\n NAVAJOWHITE: 0xffdeadff,\n NAVY: 0x000080ff,\n OLDLACE: 0xfdf5e6ff,\n OLIVE: 0x808000ff,\n OLIVEDRAB: 0x6b8e23ff,\n ORANGE: 0xffa500ff,\n ORANGERED: 0xff4500ff,\n ORCHID: 0xda70d6ff,\n PALEGOLDENROD: 0xeee8aaff,\n PALEGREEN: 0x98fb98ff,\n PALETURQUOISE: 0xafeeeeff,\n PALEVIOLETRED: 0xdb7093ff,\n PAPAYAWHIP: 0xffefd5ff,\n PEACHPUFF: 0xffdab9ff,\n PERU: 0xcd853fff,\n PINK: 0xffc0cbff,\n PLUM: 0xdda0ddff,\n POWDERBLUE: 0xb0e0e6ff,\n PURPLE: 0x800080ff,\n REBECCAPURPLE: 0x663399ff,\n RED: 0xff0000ff,\n ROSYBROWN: 0xbc8f8fff,\n ROYALBLUE: 0x4169e1ff,\n SADDLEBROWN: 0x8b4513ff,\n SALMON: 0xfa8072ff,\n SANDYBROWN: 0xf4a460ff,\n SEAGREEN: 0x2e8b57ff,\n SEASHELL: 0xfff5eeff,\n SIENNA: 0xa0522dff,\n SILVER: 0xc0c0c0ff,\n SKYBLUE: 0x87ceebff,\n SLATEBLUE: 0x6a5acdff,\n SLATEGRAY: 0x708090ff,\n SLATEGREY: 0x708090ff,\n SNOW: 0xfffafaff,\n SPRINGGREEN: 0x00ff7fff,\n STEELBLUE: 0x4682b4ff,\n TAN: 0xd2b48cff,\n TEAL: 0x008080ff,\n THISTLE: 0xd8bfd8ff,\n TOMATO: 0xff6347ff,\n TRANSPARENT: 0x00000000,\n TURQUOISE: 0x40e0d0ff,\n VIOLET: 0xee82eeff,\n WHEAT: 0xf5deb3ff,\n WHITE: 0xffffffff,\n WHITESMOKE: 0xf5f5f5ff,\n YELLOW: 0xffff00ff,\n YELLOWGREEN: 0x9acd32ff\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const enum BACKGROUND_CLIP {\n BORDER_BOX = 0,\n PADDING_BOX = 1,\n CONTENT_BOX = 2\n}\n\nexport type BackgroundClip = BACKGROUND_CLIP[];\n\nexport const backgroundClip: IPropertyListDescriptor = {\n name: 'background-clip',\n initialValue: 'border-box',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundClip => {\n return tokens.map((token) => {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'padding-box':\n return BACKGROUND_CLIP.PADDING_BOX;\n case 'content-box':\n return BACKGROUND_CLIP.CONTENT_BOX;\n }\n }\n return BACKGROUND_CLIP.BORDER_BOX;\n });\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nexport const backgroundColor: IPropertyTypeValueDescriptor = {\n name: `background-color`,\n initialValue: 'transparent',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n};\n","import {CSSValue} from '../../syntax/parser';\nimport {\n CSSRadialExtent,\n CSSRadialGradientImage,\n CSSRadialShape,\n GradientColorStop,\n GradientCorner,\n UnprocessedGradientColorStop\n} from '../image';\nimport {color as colorType} from '../color';\nimport {getAbsoluteValue, HUNDRED_PERCENT, isLengthPercentage, ZERO_LENGTH} from '../length-percentage';\nimport {Context} from '../../../core/context';\n\nexport const parseColorStop = (context: Context, args: CSSValue[]): UnprocessedGradientColorStop => {\n const color = colorType.parse(context, args[0]);\n const stop = args[1];\n return stop && isLengthPercentage(stop) ? {color, stop} : {color, stop: null};\n};\n\nexport const processColorStops = (stops: UnprocessedGradientColorStop[], lineLength: number): GradientColorStop[] => {\n const first = stops[0];\n const last = stops[stops.length - 1];\n if (first.stop === null) {\n first.stop = ZERO_LENGTH;\n }\n\n if (last.stop === null) {\n last.stop = HUNDRED_PERCENT;\n }\n\n const processStops: (number | null)[] = [];\n let previous = 0;\n for (let i = 0; i < stops.length; i++) {\n const stop = stops[i].stop;\n if (stop !== null) {\n const absoluteValue = getAbsoluteValue(stop, lineLength);\n if (absoluteValue > previous) {\n processStops.push(absoluteValue);\n } else {\n processStops.push(previous);\n }\n previous = absoluteValue;\n } else {\n processStops.push(null);\n }\n }\n\n let gapBegin = null;\n for (let i = 0; i < processStops.length; i++) {\n const stop = processStops[i];\n if (stop === null) {\n if (gapBegin === null) {\n gapBegin = i;\n }\n } else if (gapBegin !== null) {\n const gapLength = i - gapBegin;\n const beforeGap = processStops[gapBegin - 1] as number;\n const gapValue = (stop - beforeGap) / (gapLength + 1);\n for (let g = 1; g <= gapLength; g++) {\n processStops[gapBegin + g - 1] = gapValue * g;\n }\n gapBegin = null;\n }\n }\n\n return stops.map(({color}, i) => {\n return {color, stop: Math.max(Math.min(1, (processStops[i] as number) / lineLength), 0)};\n });\n};\n\nconst getAngleFromCorner = (corner: GradientCorner, width: number, height: number): number => {\n const centerX = width / 2;\n const centerY = height / 2;\n const x = getAbsoluteValue(corner[0], width) - centerX;\n const y = centerY - getAbsoluteValue(corner[1], height);\n\n return (Math.atan2(y, x) + Math.PI * 2) % (Math.PI * 2);\n};\n\nexport const calculateGradientDirection = (\n angle: number | GradientCorner,\n width: number,\n height: number\n): [number, number, number, number, number] => {\n const radian = typeof angle === 'number' ? angle : getAngleFromCorner(angle, width, height);\n\n const lineLength = Math.abs(width * Math.sin(radian)) + Math.abs(height * Math.cos(radian));\n\n const halfWidth = width / 2;\n const halfHeight = height / 2;\n const halfLineLength = lineLength / 2;\n\n const yDiff = Math.sin(radian - Math.PI / 2) * halfLineLength;\n const xDiff = Math.cos(radian - Math.PI / 2) * halfLineLength;\n\n return [lineLength, halfWidth - xDiff, halfWidth + xDiff, halfHeight - yDiff, halfHeight + yDiff];\n};\n\nconst distance = (a: number, b: number): number => Math.sqrt(a * a + b * b);\n\nconst findCorner = (width: number, height: number, x: number, y: number, closest: boolean): [number, number] => {\n const corners = [\n [0, 0],\n [0, height],\n [width, 0],\n [width, height]\n ];\n\n return corners.reduce(\n (stat, corner) => {\n const [cx, cy] = corner;\n const d = distance(x - cx, y - cy);\n if (closest ? d < stat.optimumDistance : d > stat.optimumDistance) {\n return {\n optimumCorner: corner,\n optimumDistance: d\n };\n }\n\n return stat;\n },\n {\n optimumDistance: closest ? Infinity : -Infinity,\n optimumCorner: null\n }\n ).optimumCorner as [number, number];\n};\n\nexport const calculateRadius = (\n gradient: CSSRadialGradientImage,\n x: number,\n y: number,\n width: number,\n height: number\n): [number, number] => {\n let rx = 0;\n let ry = 0;\n\n switch (gradient.size) {\n case CSSRadialExtent.CLOSEST_SIDE:\n // The ending shape is sized so that that it exactly meets the side of the gradient box closest to the gradient’s center.\n // If the shape is an ellipse, it exactly meets the closest side in each dimension.\n if (gradient.shape === CSSRadialShape.CIRCLE) {\n rx = ry = Math.min(Math.abs(x), Math.abs(x - width), Math.abs(y), Math.abs(y - height));\n } else if (gradient.shape === CSSRadialShape.ELLIPSE) {\n rx = Math.min(Math.abs(x), Math.abs(x - width));\n ry = Math.min(Math.abs(y), Math.abs(y - height));\n }\n break;\n\n case CSSRadialExtent.CLOSEST_CORNER:\n // The ending shape is sized so that that it passes through the corner of the gradient box closest to the gradient’s center.\n // If the shape is an ellipse, the ending shape is given the same aspect-ratio it would have if closest-side were specified.\n if (gradient.shape === CSSRadialShape.CIRCLE) {\n rx = ry = Math.min(\n distance(x, y),\n distance(x, y - height),\n distance(x - width, y),\n distance(x - width, y - height)\n );\n } else if (gradient.shape === CSSRadialShape.ELLIPSE) {\n // Compute the ratio ry/rx (which is to be the same as for \"closest-side\")\n const c = Math.min(Math.abs(y), Math.abs(y - height)) / Math.min(Math.abs(x), Math.abs(x - width));\n const [cx, cy] = findCorner(width, height, x, y, true);\n rx = distance(cx - x, (cy - y) / c);\n ry = c * rx;\n }\n break;\n\n case CSSRadialExtent.FARTHEST_SIDE:\n // Same as closest-side, except the ending shape is sized based on the farthest side(s)\n if (gradient.shape === CSSRadialShape.CIRCLE) {\n rx = ry = Math.max(Math.abs(x), Math.abs(x - width), Math.abs(y), Math.abs(y - height));\n } else if (gradient.shape === CSSRadialShape.ELLIPSE) {\n rx = Math.max(Math.abs(x), Math.abs(x - width));\n ry = Math.max(Math.abs(y), Math.abs(y - height));\n }\n break;\n\n case CSSRadialExtent.FARTHEST_CORNER:\n // Same as closest-corner, except the ending shape is sized based on the farthest corner.\n // If the shape is an ellipse, the ending shape is given the same aspect ratio it would have if farthest-side were specified.\n if (gradient.shape === CSSRadialShape.CIRCLE) {\n rx = ry = Math.max(\n distance(x, y),\n distance(x, y - height),\n distance(x - width, y),\n distance(x - width, y - height)\n );\n } else if (gradient.shape === CSSRadialShape.ELLIPSE) {\n // Compute the ratio ry/rx (which is to be the same as for \"farthest-side\")\n const c = Math.max(Math.abs(y), Math.abs(y - height)) / Math.max(Math.abs(x), Math.abs(x - width));\n const [cx, cy] = findCorner(width, height, x, y, false);\n rx = distance(cx - x, (cy - y) / c);\n ry = c * rx;\n }\n break;\n }\n\n if (Array.isArray(gradient.size)) {\n rx = getAbsoluteValue(gradient.size[0], width);\n ry = gradient.size.length === 2 ? getAbsoluteValue(gradient.size[1], height) : rx;\n }\n\n return [rx, ry];\n};\n","import {CSSValue, parseFunctionArgs} from '../../syntax/parser';\nimport {CSSImageType, CSSLinearGradientImage, GradientCorner, UnprocessedGradientColorStop} from '../image';\nimport {TokenType} from '../../syntax/tokenizer';\nimport {isAngle, angle as angleType, parseNamedSide, deg} from '../angle';\nimport {parseColorStop} from './gradient';\nimport {Context} from '../../../core/context';\n\nexport const prefixLinearGradient = (context: Context, tokens: CSSValue[]): CSSLinearGradientImage => {\n let angle: number | GradientCorner = deg(180);\n const stops: UnprocessedGradientColorStop[] = [];\n\n parseFunctionArgs(tokens).forEach((arg, i) => {\n if (i === 0) {\n const firstToken = arg[0];\n if (\n firstToken.type === TokenType.IDENT_TOKEN &&\n ['top', 'left', 'right', 'bottom'].indexOf(firstToken.value) !== -1\n ) {\n angle = parseNamedSide(arg);\n return;\n } else if (isAngle(firstToken)) {\n angle = (angleType.parse(context, firstToken) + deg(270)) % deg(360);\n return;\n }\n }\n const colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n });\n\n return {\n angle,\n stops,\n type: CSSImageType.LINEAR_GRADIENT\n };\n};\n","import {CSSValue, isIdentToken, parseFunctionArgs} from '../../syntax/parser';\nimport {\n CSSImageType,\n CSSRadialExtent,\n CSSRadialGradientImage,\n CSSRadialShape,\n CSSRadialSize,\n UnprocessedGradientColorStop\n} from '../image';\nimport {parseColorStop} from './gradient';\nimport {FIFTY_PERCENT, HUNDRED_PERCENT, isLengthPercentage, LengthPercentage, ZERO_LENGTH} from '../length-percentage';\nimport {isLength} from '../length';\nimport {Context} from '../../../core/context';\nexport const CLOSEST_SIDE = 'closest-side';\nexport const FARTHEST_SIDE = 'farthest-side';\nexport const CLOSEST_CORNER = 'closest-corner';\nexport const FARTHEST_CORNER = 'farthest-corner';\nexport const CIRCLE = 'circle';\nexport const ELLIPSE = 'ellipse';\nexport const COVER = 'cover';\nexport const CONTAIN = 'contain';\n\nexport const radialGradient = (context: Context, tokens: CSSValue[]): CSSRadialGradientImage => {\n let shape: CSSRadialShape = CSSRadialShape.CIRCLE;\n let size: CSSRadialSize = CSSRadialExtent.FARTHEST_CORNER;\n const stops: UnprocessedGradientColorStop[] = [];\n const position: LengthPercentage[] = [];\n parseFunctionArgs(tokens).forEach((arg, i) => {\n let isColorStop = true;\n if (i === 0) {\n let isAtPosition = false;\n isColorStop = arg.reduce((acc, token) => {\n if (isAtPosition) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'center':\n position.push(FIFTY_PERCENT);\n return acc;\n case 'top':\n case 'left':\n position.push(ZERO_LENGTH);\n return acc;\n case 'right':\n case 'bottom':\n position.push(HUNDRED_PERCENT);\n return acc;\n }\n } else if (isLengthPercentage(token) || isLength(token)) {\n position.push(token);\n }\n } else if (isIdentToken(token)) {\n switch (token.value) {\n case CIRCLE:\n shape = CSSRadialShape.CIRCLE;\n return false;\n case ELLIPSE:\n shape = CSSRadialShape.ELLIPSE;\n return false;\n case 'at':\n isAtPosition = true;\n return false;\n case CLOSEST_SIDE:\n size = CSSRadialExtent.CLOSEST_SIDE;\n return false;\n case COVER:\n case FARTHEST_SIDE:\n size = CSSRadialExtent.FARTHEST_SIDE;\n return false;\n case CONTAIN:\n case CLOSEST_CORNER:\n size = CSSRadialExtent.CLOSEST_CORNER;\n return false;\n case FARTHEST_CORNER:\n size = CSSRadialExtent.FARTHEST_CORNER;\n return false;\n }\n } else if (isLength(token) || isLengthPercentage(token)) {\n if (!Array.isArray(size)) {\n size = [];\n }\n size.push(token);\n return false;\n }\n return acc;\n }, isColorStop);\n }\n\n if (isColorStop) {\n const colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n }\n });\n\n return {size, shape, stops, position, type: CSSImageType.RADIAL_GRADIENT};\n};\n","import {CSSValue, isIdentToken, parseFunctionArgs} from '../../syntax/parser';\nimport {\n CSSImageType,\n CSSRadialExtent,\n CSSRadialGradientImage,\n CSSRadialShape,\n CSSRadialSize,\n UnprocessedGradientColorStop\n} from '../image';\nimport {parseColorStop} from './gradient';\nimport {FIFTY_PERCENT, HUNDRED_PERCENT, isLengthPercentage, LengthPercentage, ZERO_LENGTH} from '../length-percentage';\nimport {isLength} from '../length';\nimport {\n CIRCLE,\n CLOSEST_CORNER,\n CLOSEST_SIDE,\n CONTAIN,\n COVER,\n ELLIPSE,\n FARTHEST_CORNER,\n FARTHEST_SIDE\n} from './radial-gradient';\nimport {Context} from '../../../core/context';\n\nexport const prefixRadialGradient = (context: Context, tokens: CSSValue[]): CSSRadialGradientImage => {\n let shape: CSSRadialShape = CSSRadialShape.CIRCLE;\n let size: CSSRadialSize = CSSRadialExtent.FARTHEST_CORNER;\n const stops: UnprocessedGradientColorStop[] = [];\n const position: LengthPercentage[] = [];\n\n parseFunctionArgs(tokens).forEach((arg, i) => {\n let isColorStop = true;\n if (i === 0) {\n isColorStop = arg.reduce((acc, token) => {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'center':\n position.push(FIFTY_PERCENT);\n return false;\n case 'top':\n case 'left':\n position.push(ZERO_LENGTH);\n return false;\n case 'right':\n case 'bottom':\n position.push(HUNDRED_PERCENT);\n return false;\n }\n } else if (isLengthPercentage(token) || isLength(token)) {\n position.push(token);\n return false;\n }\n\n return acc;\n }, isColorStop);\n } else if (i === 1) {\n isColorStop = arg.reduce((acc, token) => {\n if (isIdentToken(token)) {\n switch (token.value) {\n case CIRCLE:\n shape = CSSRadialShape.CIRCLE;\n return false;\n case ELLIPSE:\n shape = CSSRadialShape.ELLIPSE;\n return false;\n case CONTAIN:\n case CLOSEST_SIDE:\n size = CSSRadialExtent.CLOSEST_SIDE;\n return false;\n case FARTHEST_SIDE:\n size = CSSRadialExtent.FARTHEST_SIDE;\n return false;\n case CLOSEST_CORNER:\n size = CSSRadialExtent.CLOSEST_CORNER;\n return false;\n case COVER:\n case FARTHEST_CORNER:\n size = CSSRadialExtent.FARTHEST_CORNER;\n return false;\n }\n } else if (isLength(token) || isLengthPercentage(token)) {\n if (!Array.isArray(size)) {\n size = [];\n }\n size.push(token);\n return false;\n }\n\n return acc;\n }, isColorStop);\n }\n\n if (isColorStop) {\n const colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n }\n });\n\n return {size, shape, stops, position, type: CSSImageType.RADIAL_GRADIENT};\n};\n","import {CSSValue} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Color} from './color';\nimport {linearGradient} from './functions/linear-gradient';\nimport {prefixLinearGradient} from './functions/-prefix-linear-gradient';\nimport {ITypeDescriptor} from '../ITypeDescriptor';\nimport {LengthPercentage} from './length-percentage';\nimport {webkitGradient} from './functions/-webkit-gradient';\nimport {radialGradient} from './functions/radial-gradient';\nimport {prefixRadialGradient} from './functions/-prefix-radial-gradient';\nimport {Context} from '../../core/context';\n\nexport const enum CSSImageType {\n URL,\n LINEAR_GRADIENT,\n RADIAL_GRADIENT\n}\n\nexport const isLinearGradient = (background: ICSSImage): background is CSSLinearGradientImage => {\n return background.type === CSSImageType.LINEAR_GRADIENT;\n};\n\nexport const isRadialGradient = (background: ICSSImage): background is CSSRadialGradientImage => {\n return background.type === CSSImageType.RADIAL_GRADIENT;\n};\n\nexport interface UnprocessedGradientColorStop {\n color: Color;\n stop: LengthPercentage | null;\n}\n\nexport interface GradientColorStop {\n color: Color;\n stop: number;\n}\n\nexport interface ICSSImage {\n type: CSSImageType;\n}\n\nexport interface CSSURLImage extends ICSSImage {\n url: string;\n type: CSSImageType.URL;\n}\n\n// interface ICSSGeneratedImage extends ICSSImage {}\n\nexport type GradientCorner = [LengthPercentage, LengthPercentage];\n\ninterface ICSSGradientImage extends ICSSImage {\n stops: UnprocessedGradientColorStop[];\n}\n\nexport interface CSSLinearGradientImage extends ICSSGradientImage {\n angle: number | GradientCorner;\n type: CSSImageType.LINEAR_GRADIENT;\n}\n\nexport const enum CSSRadialShape {\n CIRCLE,\n ELLIPSE\n}\n\nexport const enum CSSRadialExtent {\n CLOSEST_SIDE,\n FARTHEST_SIDE,\n CLOSEST_CORNER,\n FARTHEST_CORNER\n}\n\nexport type CSSRadialSize = CSSRadialExtent | LengthPercentage[];\n\nexport interface CSSRadialGradientImage extends ICSSGradientImage {\n type: CSSImageType.RADIAL_GRADIENT;\n shape: CSSRadialShape;\n size: CSSRadialSize;\n position: LengthPercentage[];\n}\n\nexport const image: ITypeDescriptor = {\n name: 'image',\n parse: (context: Context, value: CSSValue): ICSSImage => {\n if (value.type === TokenType.URL_TOKEN) {\n const image: CSSURLImage = {url: value.value, type: CSSImageType.URL};\n context.cache.addImage(value.value);\n return image;\n }\n\n if (value.type === TokenType.FUNCTION) {\n const imageFunction = SUPPORTED_IMAGE_FUNCTIONS[value.name];\n if (typeof imageFunction === 'undefined') {\n throw new Error(`Attempting to parse an unsupported image function \"${value.name}\"`);\n }\n return imageFunction(context, value.values);\n }\n\n throw new Error(`Unsupported image type ${value.type}`);\n }\n};\n\nexport function isSupportedImage(value: CSSValue): boolean {\n return (\n !(value.type === TokenType.IDENT_TOKEN && value.value === 'none') &&\n (value.type !== TokenType.FUNCTION || !!SUPPORTED_IMAGE_FUNCTIONS[value.name])\n );\n}\n\nconst SUPPORTED_IMAGE_FUNCTIONS: Record ICSSImage> = {\n 'linear-gradient': linearGradient,\n '-moz-linear-gradient': prefixLinearGradient,\n '-ms-linear-gradient': prefixLinearGradient,\n '-o-linear-gradient': prefixLinearGradient,\n '-webkit-linear-gradient': prefixLinearGradient,\n 'radial-gradient': radialGradient,\n '-moz-radial-gradient': prefixRadialGradient,\n '-ms-radial-gradient': prefixRadialGradient,\n '-o-radial-gradient': prefixRadialGradient,\n '-webkit-radial-gradient': prefixRadialGradient,\n '-webkit-gradient': webkitGradient\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken, parseFunctionArgs} from '../syntax/parser';\nimport {isLengthPercentage, LengthPercentage} from '../types/length-percentage';\nimport {StringValueToken} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\nexport enum BACKGROUND_SIZE {\n AUTO = 'auto',\n CONTAIN = 'contain',\n COVER = 'cover'\n}\n\nexport type BackgroundSizeInfo = LengthPercentage | StringValueToken;\nexport type BackgroundSize = BackgroundSizeInfo[][];\n\nexport const backgroundSize: IPropertyListDescriptor = {\n name: 'background-size',\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundSize => {\n return parseFunctionArgs(tokens).map((values) => values.filter(isBackgroundSizeInfoToken));\n }\n};\n\nconst isBackgroundSizeInfoToken = (value: CSSValue): value is BackgroundSizeInfo =>\n isIdentToken(value) || isLengthPercentage(value);\n","import {CSSValue, parseFunctionArgs} from '../../syntax/parser';\nimport {TokenType} from '../../syntax/tokenizer';\nimport {isAngle, angle as angleType, parseNamedSide, deg} from '../angle';\nimport {CSSImageType, CSSLinearGradientImage, GradientCorner, UnprocessedGradientColorStop} from '../image';\nimport {parseColorStop} from './gradient';\nimport {Context} from '../../../core/context';\n\nexport const linearGradient = (context: Context, tokens: CSSValue[]): CSSLinearGradientImage => {\n let angle: number | GradientCorner = deg(180);\n const stops: UnprocessedGradientColorStop[] = [];\n\n parseFunctionArgs(tokens).forEach((arg, i) => {\n if (i === 0) {\n const firstToken = arg[0];\n if (firstToken.type === TokenType.IDENT_TOKEN && firstToken.value === 'to') {\n angle = parseNamedSide(arg);\n return;\n } else if (isAngle(firstToken)) {\n angle = angleType.parse(context, firstToken);\n return;\n }\n }\n const colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n });\n\n return {angle, stops, type: CSSImageType.LINEAR_GRADIENT};\n};\n","import {CSSValue, isIdentToken, isNumberToken, nonFunctionArgSeparator, parseFunctionArgs} from '../../syntax/parser';\nimport {\n CSSImageType,\n CSSLinearGradientImage,\n CSSRadialExtent,\n CSSRadialGradientImage,\n CSSRadialShape,\n CSSRadialSize,\n UnprocessedGradientColorStop\n} from '../image';\nimport {deg} from '../angle';\nimport {TokenType} from '../../syntax/tokenizer';\nimport {color as colorType} from '../color';\nimport {HUNDRED_PERCENT, LengthPercentage, ZERO_LENGTH} from '../length-percentage';\nimport {Context} from '../../../core/context';\n\nexport const webkitGradient = (\n context: Context,\n tokens: CSSValue[]\n): CSSLinearGradientImage | CSSRadialGradientImage => {\n const angle = deg(180);\n const stops: UnprocessedGradientColorStop[] = [];\n let type = CSSImageType.LINEAR_GRADIENT;\n const shape: CSSRadialShape = CSSRadialShape.CIRCLE;\n const size: CSSRadialSize = CSSRadialExtent.FARTHEST_CORNER;\n const position: LengthPercentage[] = [];\n parseFunctionArgs(tokens).forEach((arg, i) => {\n const firstToken = arg[0];\n if (i === 0) {\n if (isIdentToken(firstToken) && firstToken.value === 'linear') {\n type = CSSImageType.LINEAR_GRADIENT;\n return;\n } else if (isIdentToken(firstToken) && firstToken.value === 'radial') {\n type = CSSImageType.RADIAL_GRADIENT;\n return;\n }\n }\n\n if (firstToken.type === TokenType.FUNCTION) {\n if (firstToken.name === 'from') {\n const color = colorType.parse(context, firstToken.values[0]);\n stops.push({stop: ZERO_LENGTH, color});\n } else if (firstToken.name === 'to') {\n const color = colorType.parse(context, firstToken.values[0]);\n stops.push({stop: HUNDRED_PERCENT, color});\n } else if (firstToken.name === 'color-stop') {\n const values = firstToken.values.filter(nonFunctionArgSeparator);\n if (values.length === 2) {\n const color = colorType.parse(context, values[1]);\n const stop = values[0];\n if (isNumberToken(stop)) {\n stops.push({\n stop: {type: TokenType.PERCENTAGE_TOKEN, number: stop.number * 100, flags: stop.flags},\n color\n });\n }\n }\n }\n }\n });\n\n return type === CSSImageType.LINEAR_GRADIENT\n ? {\n angle: (angle + deg(180)) % deg(360),\n stops,\n type\n }\n : {size, shape, stops, position, type};\n};\n","import {TokenType} from '../syntax/tokenizer';\nimport {ICSSImage, image, isSupportedImage} from '../types/image';\nimport {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, nonFunctionArgSeparator} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport const backgroundImage: IPropertyListDescriptor = {\n name: 'background-image',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return [];\n }\n\n const first = tokens[0];\n\n if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') {\n return [];\n }\n\n return tokens\n .filter((value) => nonFunctionArgSeparator(value) && isSupportedImage(value))\n .map((value) => image.parse(context, value));\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport const enum BACKGROUND_ORIGIN {\n BORDER_BOX = 0,\n PADDING_BOX = 1,\n CONTENT_BOX = 2\n}\n\nexport type BackgroundOrigin = BACKGROUND_ORIGIN[];\n\nexport const backgroundOrigin: IPropertyListDescriptor = {\n name: 'background-origin',\n initialValue: 'border-box',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundOrigin => {\n return tokens.map((token) => {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'padding-box':\n return BACKGROUND_ORIGIN.PADDING_BOX;\n case 'content-box':\n return BACKGROUND_ORIGIN.CONTENT_BOX;\n }\n }\n return BACKGROUND_ORIGIN.BORDER_BOX;\n });\n }\n};\n","import {PropertyDescriptorParsingType, IPropertyListDescriptor} from '../IPropertyDescriptor';\nimport {CSSValue, parseFunctionArgs} from '../syntax/parser';\nimport {isLengthPercentage, LengthPercentageTuple, parseLengthPercentageTuple} from '../types/length-percentage';\nimport {Context} from '../../core/context';\nexport type BackgroundPosition = BackgroundImagePosition[];\n\nexport type BackgroundImagePosition = LengthPercentageTuple;\n\nexport const backgroundPosition: IPropertyListDescriptor = {\n name: 'background-position',\n initialValue: '0% 0%',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundPosition => {\n return parseFunctionArgs(tokens)\n .map((values: CSSValue[]) => values.filter(isLengthPercentage))\n .map(parseLengthPercentageTuple);\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken, parseFunctionArgs} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport type BackgroundRepeat = BACKGROUND_REPEAT[];\n\nexport const enum BACKGROUND_REPEAT {\n REPEAT = 0,\n NO_REPEAT = 1,\n REPEAT_X = 2,\n REPEAT_Y = 3\n}\n\nexport const backgroundRepeat: IPropertyListDescriptor = {\n name: 'background-repeat',\n initialValue: 'repeat',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundRepeat => {\n return parseFunctionArgs(tokens)\n .map((values) =>\n values\n .filter(isIdentToken)\n .map((token) => token.value)\n .join(' ')\n )\n .map(parseBackgroundRepeat);\n }\n};\n\nconst parseBackgroundRepeat = (value: string): BACKGROUND_REPEAT => {\n switch (value) {\n case 'no-repeat':\n return BACKGROUND_REPEAT.NO_REPEAT;\n case 'repeat-x':\n case 'repeat no-repeat':\n return BACKGROUND_REPEAT.REPEAT_X;\n case 'repeat-y':\n case 'no-repeat repeat':\n return BACKGROUND_REPEAT.REPEAT_Y;\n case 'repeat':\n default:\n return BACKGROUND_REPEAT.REPEAT;\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport enum LINE_BREAK {\n NORMAL = 'normal',\n STRICT = 'strict'\n}\n\nexport const lineBreak: IPropertyIdentValueDescriptor = {\n name: 'line-break',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, lineBreak: string): LINE_BREAK => {\n switch (lineBreak) {\n case 'strict':\n return LINE_BREAK.STRICT;\n case 'normal':\n default:\n return LINE_BREAK.NORMAL;\n }\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nconst borderColorForSide = (side: string): IPropertyTypeValueDescriptor => ({\n name: `border-${side}-color`,\n initialValue: 'transparent',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n});\n\nexport const borderTopColor: IPropertyTypeValueDescriptor = borderColorForSide('top');\nexport const borderRightColor: IPropertyTypeValueDescriptor = borderColorForSide('right');\nexport const borderBottomColor: IPropertyTypeValueDescriptor = borderColorForSide('bottom');\nexport const borderLeftColor: IPropertyTypeValueDescriptor = borderColorForSide('left');\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {isLengthPercentage, LengthPercentageTuple, parseLengthPercentageTuple} from '../types/length-percentage';\nimport {Context} from '../../core/context';\nexport type BorderRadius = LengthPercentageTuple;\n\nconst borderRadiusForSide = (side: string): IPropertyListDescriptor => ({\n name: `border-radius-${side}`,\n initialValue: '0 0',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BorderRadius =>\n parseLengthPercentageTuple(tokens.filter(isLengthPercentage))\n});\n\nexport const borderTopLeftRadius: IPropertyListDescriptor = borderRadiusForSide('top-left');\nexport const borderTopRightRadius: IPropertyListDescriptor = borderRadiusForSide('top-right');\nexport const borderBottomRightRadius: IPropertyListDescriptor = borderRadiusForSide('bottom-right');\nexport const borderBottomLeftRadius: IPropertyListDescriptor = borderRadiusForSide('bottom-left');\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum BORDER_STYLE {\n NONE = 0,\n SOLID = 1,\n DASHED = 2,\n DOTTED = 3,\n DOUBLE = 4\n}\n\nconst borderStyleForSide = (side: string): IPropertyIdentValueDescriptor => ({\n name: `border-${side}-style`,\n initialValue: 'solid',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, style: string): BORDER_STYLE => {\n switch (style) {\n case 'none':\n return BORDER_STYLE.NONE;\n case 'dashed':\n return BORDER_STYLE.DASHED;\n case 'dotted':\n return BORDER_STYLE.DOTTED;\n case 'double':\n return BORDER_STYLE.DOUBLE;\n }\n return BORDER_STYLE.SOLID;\n }\n});\n\nexport const borderTopStyle: IPropertyIdentValueDescriptor = borderStyleForSide('top');\nexport const borderRightStyle: IPropertyIdentValueDescriptor = borderStyleForSide('right');\nexport const borderBottomStyle: IPropertyIdentValueDescriptor = borderStyleForSide('bottom');\nexport const borderLeftStyle: IPropertyIdentValueDescriptor = borderStyleForSide('left');\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isDimensionToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nconst borderWidthForSide = (side: string): IPropertyValueDescriptor => ({\n name: `border-${side}-width`,\n initialValue: '0',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (_context: Context, token: CSSValue): number => {\n if (isDimensionToken(token)) {\n return token.number;\n }\n return 0;\n }\n});\n\nexport const borderTopWidth: IPropertyValueDescriptor = borderWidthForSide('top');\nexport const borderRightWidth: IPropertyValueDescriptor = borderWidthForSide('right');\nexport const borderBottomWidth: IPropertyValueDescriptor = borderWidthForSide('bottom');\nexport const borderLeftWidth: IPropertyValueDescriptor = borderWidthForSide('left');\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nexport const color: IPropertyTypeValueDescriptor = {\n name: `color`,\n initialValue: 'transparent',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\n\nexport const enum DIRECTION {\n LTR = 0,\n RTL = 1\n}\n\nexport const direction: IPropertyIdentValueDescriptor = {\n name: 'direction',\n initialValue: 'ltr',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, direction: string) => {\n switch (direction) {\n case 'rtl':\n return DIRECTION.RTL;\n case 'ltr':\n default:\n return DIRECTION.LTR;\n }\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const enum DISPLAY {\n NONE = 0,\n BLOCK = 1 << 1,\n INLINE = 1 << 2,\n RUN_IN = 1 << 3,\n FLOW = 1 << 4,\n FLOW_ROOT = 1 << 5,\n TABLE = 1 << 6,\n FLEX = 1 << 7,\n GRID = 1 << 8,\n RUBY = 1 << 9,\n SUBGRID = 1 << 10,\n LIST_ITEM = 1 << 11,\n TABLE_ROW_GROUP = 1 << 12,\n TABLE_HEADER_GROUP = 1 << 13,\n TABLE_FOOTER_GROUP = 1 << 14,\n TABLE_ROW = 1 << 15,\n TABLE_CELL = 1 << 16,\n TABLE_COLUMN_GROUP = 1 << 17,\n TABLE_COLUMN = 1 << 18,\n TABLE_CAPTION = 1 << 19,\n RUBY_BASE = 1 << 20,\n RUBY_TEXT = 1 << 21,\n RUBY_BASE_CONTAINER = 1 << 22,\n RUBY_TEXT_CONTAINER = 1 << 23,\n CONTENTS = 1 << 24,\n INLINE_BLOCK = 1 << 25,\n INLINE_LIST_ITEM = 1 << 26,\n INLINE_TABLE = 1 << 27,\n INLINE_FLEX = 1 << 28,\n INLINE_GRID = 1 << 29\n}\n\nexport type Display = number;\n\nexport const display: IPropertyListDescriptor = {\n name: 'display',\n initialValue: 'inline-block',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): Display => {\n return tokens.filter(isIdentToken).reduce((bit, token) => {\n return bit | parseDisplayValue(token.value);\n }, DISPLAY.NONE);\n }\n};\n\nconst parseDisplayValue = (display: string): Display => {\n switch (display) {\n case 'block':\n case '-webkit-box':\n return DISPLAY.BLOCK;\n case 'inline':\n return DISPLAY.INLINE;\n case 'run-in':\n return DISPLAY.RUN_IN;\n case 'flow':\n return DISPLAY.FLOW;\n case 'flow-root':\n return DISPLAY.FLOW_ROOT;\n case 'table':\n return DISPLAY.TABLE;\n case 'flex':\n case '-webkit-flex':\n return DISPLAY.FLEX;\n case 'grid':\n case '-ms-grid':\n return DISPLAY.GRID;\n case 'ruby':\n return DISPLAY.RUBY;\n case 'subgrid':\n return DISPLAY.SUBGRID;\n case 'list-item':\n return DISPLAY.LIST_ITEM;\n case 'table-row-group':\n return DISPLAY.TABLE_ROW_GROUP;\n case 'table-header-group':\n return DISPLAY.TABLE_HEADER_GROUP;\n case 'table-footer-group':\n return DISPLAY.TABLE_FOOTER_GROUP;\n case 'table-row':\n return DISPLAY.TABLE_ROW;\n case 'table-cell':\n return DISPLAY.TABLE_CELL;\n case 'table-column-group':\n return DISPLAY.TABLE_COLUMN_GROUP;\n case 'table-column':\n return DISPLAY.TABLE_COLUMN;\n case 'table-caption':\n return DISPLAY.TABLE_CAPTION;\n case 'ruby-base':\n return DISPLAY.RUBY_BASE;\n case 'ruby-text':\n return DISPLAY.RUBY_TEXT;\n case 'ruby-base-container':\n return DISPLAY.RUBY_BASE_CONTAINER;\n case 'ruby-text-container':\n return DISPLAY.RUBY_TEXT_CONTAINER;\n case 'contents':\n return DISPLAY.CONTENTS;\n case 'inline-block':\n return DISPLAY.INLINE_BLOCK;\n case 'inline-list-item':\n return DISPLAY.INLINE_LIST_ITEM;\n case 'inline-table':\n return DISPLAY.INLINE_TABLE;\n case 'inline-flex':\n return DISPLAY.INLINE_FLEX;\n case 'inline-grid':\n return DISPLAY.INLINE_GRID;\n }\n\n return DISPLAY.NONE;\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum FLOAT {\n NONE = 0,\n LEFT = 1,\n RIGHT = 2,\n INLINE_START = 3,\n INLINE_END = 4\n}\n\nexport const float: IPropertyIdentValueDescriptor = {\n name: 'float',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, float: string) => {\n switch (float) {\n case 'left':\n return FLOAT.LEFT;\n case 'right':\n return FLOAT.RIGHT;\n case 'inline-start':\n return FLOAT.INLINE_START;\n case 'inline-end':\n return FLOAT.INLINE_END;\n }\n return FLOAT.NONE;\n }\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\nexport const letterSpacing: IPropertyValueDescriptor = {\n name: 'letter-spacing',\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.VALUE,\n parse: (_context: Context, token: CSSValue) => {\n if (token.type === TokenType.IDENT_TOKEN && token.value === 'normal') {\n return 0;\n }\n\n if (token.type === TokenType.NUMBER_TOKEN) {\n return token.number;\n }\n\n if (token.type === TokenType.DIMENSION_TOKEN) {\n return token.number;\n }\n\n return 0;\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport enum WORD_BREAK {\n NORMAL = 'normal',\n BREAK_ALL = 'break-all',\n KEEP_ALL = 'keep-all'\n}\n\nexport const wordBreak: IPropertyIdentValueDescriptor = {\n name: 'word-break',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, wordBreak: string): WORD_BREAK => {\n switch (wordBreak) {\n case 'break-all':\n return WORD_BREAK.BREAK_ALL;\n case 'keep-all':\n return WORD_BREAK.KEEP_ALL;\n case 'normal':\n default:\n return WORD_BREAK.NORMAL;\n }\n }\n};\n","import {IPropertyTokenValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {getAbsoluteValue, isLengthPercentage} from '../types/length-percentage';\nexport const lineHeight: IPropertyTokenValueDescriptor = {\n name: 'line-height',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.TOKEN_VALUE\n};\n\nexport const computeLineHeight = (token: CSSValue, fontSize: number): number => {\n if (isIdentToken(token) && token.value === 'normal') {\n return 1.2 * fontSize;\n } else if (token.type === TokenType.NUMBER_TOKEN) {\n return fontSize * token.number;\n } else if (isLengthPercentage(token)) {\n return getAbsoluteValue(token, fontSize);\n }\n\n return fontSize;\n};\n","import {TokenType} from '../syntax/tokenizer';\nimport {ICSSImage, image} from '../types/image';\nimport {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport const listStyleImage: IPropertyValueDescriptor = {\n name: 'list-style-image',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (context: Context, token: CSSValue) => {\n if (token.type === TokenType.IDENT_TOKEN && token.value === 'none') {\n return null;\n }\n\n return image.parse(context, token);\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum LIST_STYLE_POSITION {\n INSIDE = 0,\n OUTSIDE = 1\n}\n\nexport const listStylePosition: IPropertyIdentValueDescriptor = {\n name: 'list-style-position',\n initialValue: 'outside',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, position: string) => {\n switch (position) {\n case 'inside':\n return LIST_STYLE_POSITION.INSIDE;\n case 'outside':\n default:\n return LIST_STYLE_POSITION.OUTSIDE;\n }\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum LIST_STYLE_TYPE {\n NONE = -1,\n DISC = 0,\n CIRCLE = 1,\n SQUARE = 2,\n DECIMAL = 3,\n CJK_DECIMAL = 4,\n DECIMAL_LEADING_ZERO = 5,\n LOWER_ROMAN = 6,\n UPPER_ROMAN = 7,\n LOWER_GREEK = 8,\n LOWER_ALPHA = 9,\n UPPER_ALPHA = 10,\n ARABIC_INDIC = 11,\n ARMENIAN = 12,\n BENGALI = 13,\n CAMBODIAN = 14,\n CJK_EARTHLY_BRANCH = 15,\n CJK_HEAVENLY_STEM = 16,\n CJK_IDEOGRAPHIC = 17,\n DEVANAGARI = 18,\n ETHIOPIC_NUMERIC = 19,\n GEORGIAN = 20,\n GUJARATI = 21,\n GURMUKHI = 22,\n HEBREW = 22,\n HIRAGANA = 23,\n HIRAGANA_IROHA = 24,\n JAPANESE_FORMAL = 25,\n JAPANESE_INFORMAL = 26,\n KANNADA = 27,\n KATAKANA = 28,\n KATAKANA_IROHA = 29,\n KHMER = 30,\n KOREAN_HANGUL_FORMAL = 31,\n KOREAN_HANJA_FORMAL = 32,\n KOREAN_HANJA_INFORMAL = 33,\n LAO = 34,\n LOWER_ARMENIAN = 35,\n MALAYALAM = 36,\n MONGOLIAN = 37,\n MYANMAR = 38,\n ORIYA = 39,\n PERSIAN = 40,\n SIMP_CHINESE_FORMAL = 41,\n SIMP_CHINESE_INFORMAL = 42,\n TAMIL = 43,\n TELUGU = 44,\n THAI = 45,\n TIBETAN = 46,\n TRAD_CHINESE_FORMAL = 47,\n TRAD_CHINESE_INFORMAL = 48,\n UPPER_ARMENIAN = 49,\n DISCLOSURE_OPEN = 50,\n DISCLOSURE_CLOSED = 51\n}\n\nexport const listStyleType: IPropertyIdentValueDescriptor = {\n name: 'list-style-type',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, type: string) => {\n switch (type) {\n case 'disc':\n return LIST_STYLE_TYPE.DISC;\n case 'circle':\n return LIST_STYLE_TYPE.CIRCLE;\n case 'square':\n return LIST_STYLE_TYPE.SQUARE;\n case 'decimal':\n return LIST_STYLE_TYPE.DECIMAL;\n case 'cjk-decimal':\n return LIST_STYLE_TYPE.CJK_DECIMAL;\n case 'decimal-leading-zero':\n return LIST_STYLE_TYPE.DECIMAL_LEADING_ZERO;\n case 'lower-roman':\n return LIST_STYLE_TYPE.LOWER_ROMAN;\n case 'upper-roman':\n return LIST_STYLE_TYPE.UPPER_ROMAN;\n case 'lower-greek':\n return LIST_STYLE_TYPE.LOWER_GREEK;\n case 'lower-alpha':\n return LIST_STYLE_TYPE.LOWER_ALPHA;\n case 'upper-alpha':\n return LIST_STYLE_TYPE.UPPER_ALPHA;\n case 'arabic-indic':\n return LIST_STYLE_TYPE.ARABIC_INDIC;\n case 'armenian':\n return LIST_STYLE_TYPE.ARMENIAN;\n case 'bengali':\n return LIST_STYLE_TYPE.BENGALI;\n case 'cambodian':\n return LIST_STYLE_TYPE.CAMBODIAN;\n case 'cjk-earthly-branch':\n return LIST_STYLE_TYPE.CJK_EARTHLY_BRANCH;\n case 'cjk-heavenly-stem':\n return LIST_STYLE_TYPE.CJK_HEAVENLY_STEM;\n case 'cjk-ideographic':\n return LIST_STYLE_TYPE.CJK_IDEOGRAPHIC;\n case 'devanagari':\n return LIST_STYLE_TYPE.DEVANAGARI;\n case 'ethiopic-numeric':\n return LIST_STYLE_TYPE.ETHIOPIC_NUMERIC;\n case 'georgian':\n return LIST_STYLE_TYPE.GEORGIAN;\n case 'gujarati':\n return LIST_STYLE_TYPE.GUJARATI;\n case 'gurmukhi':\n return LIST_STYLE_TYPE.GURMUKHI;\n case 'hebrew':\n return LIST_STYLE_TYPE.HEBREW;\n case 'hiragana':\n return LIST_STYLE_TYPE.HIRAGANA;\n case 'hiragana-iroha':\n return LIST_STYLE_TYPE.HIRAGANA_IROHA;\n case 'japanese-formal':\n return LIST_STYLE_TYPE.JAPANESE_FORMAL;\n case 'japanese-informal':\n return LIST_STYLE_TYPE.JAPANESE_INFORMAL;\n case 'kannada':\n return LIST_STYLE_TYPE.KANNADA;\n case 'katakana':\n return LIST_STYLE_TYPE.KATAKANA;\n case 'katakana-iroha':\n return LIST_STYLE_TYPE.KATAKANA_IROHA;\n case 'khmer':\n return LIST_STYLE_TYPE.KHMER;\n case 'korean-hangul-formal':\n return LIST_STYLE_TYPE.KOREAN_HANGUL_FORMAL;\n case 'korean-hanja-formal':\n return LIST_STYLE_TYPE.KOREAN_HANJA_FORMAL;\n case 'korean-hanja-informal':\n return LIST_STYLE_TYPE.KOREAN_HANJA_INFORMAL;\n case 'lao':\n return LIST_STYLE_TYPE.LAO;\n case 'lower-armenian':\n return LIST_STYLE_TYPE.LOWER_ARMENIAN;\n case 'malayalam':\n return LIST_STYLE_TYPE.MALAYALAM;\n case 'mongolian':\n return LIST_STYLE_TYPE.MONGOLIAN;\n case 'myanmar':\n return LIST_STYLE_TYPE.MYANMAR;\n case 'oriya':\n return LIST_STYLE_TYPE.ORIYA;\n case 'persian':\n return LIST_STYLE_TYPE.PERSIAN;\n case 'simp-chinese-formal':\n return LIST_STYLE_TYPE.SIMP_CHINESE_FORMAL;\n case 'simp-chinese-informal':\n return LIST_STYLE_TYPE.SIMP_CHINESE_INFORMAL;\n case 'tamil':\n return LIST_STYLE_TYPE.TAMIL;\n case 'telugu':\n return LIST_STYLE_TYPE.TELUGU;\n case 'thai':\n return LIST_STYLE_TYPE.THAI;\n case 'tibetan':\n return LIST_STYLE_TYPE.TIBETAN;\n case 'trad-chinese-formal':\n return LIST_STYLE_TYPE.TRAD_CHINESE_FORMAL;\n case 'trad-chinese-informal':\n return LIST_STYLE_TYPE.TRAD_CHINESE_INFORMAL;\n case 'upper-armenian':\n return LIST_STYLE_TYPE.UPPER_ARMENIAN;\n case 'disclosure-open':\n return LIST_STYLE_TYPE.DISCLOSURE_OPEN;\n case 'disclosure-closed':\n return LIST_STYLE_TYPE.DISCLOSURE_CLOSED;\n case 'none':\n default:\n return LIST_STYLE_TYPE.NONE;\n }\n }\n};\n","import {IPropertyTokenValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nconst marginForSide = (side: string): IPropertyTokenValueDescriptor => ({\n name: `margin-${side}`,\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.TOKEN_VALUE\n});\n\nexport const marginTop: IPropertyTokenValueDescriptor = marginForSide('top');\nexport const marginRight: IPropertyTokenValueDescriptor = marginForSide('right');\nexport const marginBottom: IPropertyTokenValueDescriptor = marginForSide('bottom');\nexport const marginLeft: IPropertyTokenValueDescriptor = marginForSide('left');\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const enum OVERFLOW {\n VISIBLE = 0,\n HIDDEN = 1,\n SCROLL = 2,\n CLIP = 3,\n AUTO = 4\n}\n\nexport const overflow: IPropertyListDescriptor = {\n name: 'overflow',\n initialValue: 'visible',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): OVERFLOW[] => {\n return tokens.filter(isIdentToken).map((overflow) => {\n switch (overflow.value) {\n case 'hidden':\n return OVERFLOW.HIDDEN;\n case 'scroll':\n return OVERFLOW.SCROLL;\n case 'clip':\n return OVERFLOW.CLIP;\n case 'auto':\n return OVERFLOW.AUTO;\n case 'visible':\n default:\n return OVERFLOW.VISIBLE;\n }\n });\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum OVERFLOW_WRAP {\n NORMAL = 'normal',\n BREAK_WORD = 'break-word'\n}\n\nexport const overflowWrap: IPropertyIdentValueDescriptor = {\n name: 'overflow-wrap',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, overflow: string) => {\n switch (overflow) {\n case 'break-word':\n return OVERFLOW_WRAP.BREAK_WORD;\n case 'normal':\n default:\n return OVERFLOW_WRAP.NORMAL;\n }\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nconst paddingForSide = (side: string): IPropertyTypeValueDescriptor => ({\n name: `padding-${side}`,\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'length-percentage'\n});\n\nexport const paddingTop: IPropertyTypeValueDescriptor = paddingForSide('top');\nexport const paddingRight: IPropertyTypeValueDescriptor = paddingForSide('right');\nexport const paddingBottom: IPropertyTypeValueDescriptor = paddingForSide('bottom');\nexport const paddingLeft: IPropertyTypeValueDescriptor = paddingForSide('left');\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum TEXT_ALIGN {\n LEFT = 0,\n CENTER = 1,\n RIGHT = 2\n}\n\nexport const textAlign: IPropertyIdentValueDescriptor = {\n name: 'text-align',\n initialValue: 'left',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, textAlign: string) => {\n switch (textAlign) {\n case 'right':\n return TEXT_ALIGN.RIGHT;\n case 'center':\n case 'justify':\n return TEXT_ALIGN.CENTER;\n case 'left':\n default:\n return TEXT_ALIGN.LEFT;\n }\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum POSITION {\n STATIC = 0,\n RELATIVE = 1,\n ABSOLUTE = 2,\n FIXED = 3,\n STICKY = 4\n}\n\nexport const position: IPropertyIdentValueDescriptor = {\n name: 'position',\n initialValue: 'static',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, position: string) => {\n switch (position) {\n case 'relative':\n return POSITION.RELATIVE;\n case 'absolute':\n return POSITION.ABSOLUTE;\n case 'fixed':\n return POSITION.FIXED;\n case 'sticky':\n return POSITION.STICKY;\n }\n\n return POSITION.STATIC;\n }\n};\n","import {PropertyDescriptorParsingType, IPropertyListDescriptor} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentWithValue, parseFunctionArgs} from '../syntax/parser';\nimport {ZERO_LENGTH} from '../types/length-percentage';\nimport {color, Color, COLORS} from '../types/color';\nimport {isLength, Length} from '../types/length';\nimport {Context} from '../../core/context';\n\nexport type TextShadow = TextShadowItem[];\ninterface TextShadowItem {\n color: Color;\n offsetX: Length;\n offsetY: Length;\n blur: Length;\n}\n\nexport const textShadow: IPropertyListDescriptor = {\n name: 'text-shadow',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (context: Context, tokens: CSSValue[]): TextShadow => {\n if (tokens.length === 1 && isIdentWithValue(tokens[0], 'none')) {\n return [];\n }\n\n return parseFunctionArgs(tokens).map((values: CSSValue[]) => {\n const shadow: TextShadowItem = {\n color: COLORS.TRANSPARENT,\n offsetX: ZERO_LENGTH,\n offsetY: ZERO_LENGTH,\n blur: ZERO_LENGTH\n };\n let c = 0;\n for (let i = 0; i < values.length; i++) {\n const token = values[i];\n if (isLength(token)) {\n if (c === 0) {\n shadow.offsetX = token;\n } else if (c === 1) {\n shadow.offsetY = token;\n } else {\n shadow.blur = token;\n }\n c++;\n } else {\n shadow.color = color.parse(context, token);\n }\n }\n return shadow;\n });\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum TEXT_TRANSFORM {\n NONE = 0,\n LOWERCASE = 1,\n UPPERCASE = 2,\n CAPITALIZE = 3\n}\n\nexport const textTransform: IPropertyIdentValueDescriptor = {\n name: 'text-transform',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, textTransform: string) => {\n switch (textTransform) {\n case 'uppercase':\n return TEXT_TRANSFORM.UPPERCASE;\n case 'lowercase':\n return TEXT_TRANSFORM.LOWERCASE;\n case 'capitalize':\n return TEXT_TRANSFORM.CAPITALIZE;\n }\n\n return TEXT_TRANSFORM.NONE;\n }\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {NumberValueToken, TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\nexport type Matrix = [number, number, number, number, number, number];\nexport type Transform = Matrix | null;\n\nexport const transform: IPropertyValueDescriptor = {\n name: 'transform',\n initialValue: 'none',\n prefix: true,\n type: PropertyDescriptorParsingType.VALUE,\n parse: (_context: Context, token: CSSValue) => {\n if (token.type === TokenType.IDENT_TOKEN && token.value === 'none') {\n return null;\n }\n\n if (token.type === TokenType.FUNCTION) {\n const transformFunction = SUPPORTED_TRANSFORM_FUNCTIONS[token.name];\n if (typeof transformFunction === 'undefined') {\n throw new Error(`Attempting to parse an unsupported transform function \"${token.name}\"`);\n }\n return transformFunction(token.values);\n }\n\n return null;\n }\n};\n\nconst matrix = (args: CSSValue[]): Transform => {\n const values = args.filter((arg) => arg.type === TokenType.NUMBER_TOKEN).map((arg: NumberValueToken) => arg.number);\n\n return values.length === 6 ? (values as Matrix) : null;\n};\n\n// doesn't support 3D transforms at the moment\nconst matrix3d = (args: CSSValue[]): Transform => {\n const values = args.filter((arg) => arg.type === TokenType.NUMBER_TOKEN).map((arg: NumberValueToken) => arg.number);\n\n const [a1, b1, {}, {}, a2, b2, {}, {}, {}, {}, {}, {}, a4, b4, {}, {}] = values;\n\n return values.length === 16 ? [a1, b1, a2, b2, a4, b4] : null;\n};\n\nconst SUPPORTED_TRANSFORM_FUNCTIONS: {\n [key: string]: (args: CSSValue[]) => Transform;\n} = {\n matrix: matrix,\n matrix3d: matrix3d\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {isLengthPercentage, LengthPercentage} from '../types/length-percentage';\nimport {FLAG_INTEGER, TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\nexport type TransformOrigin = [LengthPercentage, LengthPercentage];\n\nconst DEFAULT_VALUE: LengthPercentage = {\n type: TokenType.PERCENTAGE_TOKEN,\n number: 50,\n flags: FLAG_INTEGER\n};\nconst DEFAULT: TransformOrigin = [DEFAULT_VALUE, DEFAULT_VALUE];\n\nexport const transformOrigin: IPropertyListDescriptor = {\n name: 'transform-origin',\n initialValue: '50% 50%',\n prefix: true,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n const origins: LengthPercentage[] = tokens.filter(isLengthPercentage);\n\n if (origins.length !== 2) {\n return DEFAULT;\n }\n\n return [origins[0], origins[1]];\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum VISIBILITY {\n VISIBLE = 0,\n HIDDEN = 1,\n COLLAPSE = 2\n}\n\nexport const visibility: IPropertyIdentValueDescriptor = {\n name: 'visible',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, visibility: string) => {\n switch (visibility) {\n case 'hidden':\n return VISIBILITY.HIDDEN;\n case 'collapse':\n return VISIBILITY.COLLAPSE;\n case 'visible':\n default:\n return VISIBILITY.VISIBLE;\n }\n }\n};\n","const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const decode = (base64: string): ArrayBuffer | number[] => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const buffer =\n typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n typeof Uint8Array.prototype.slice !== 'undefined'\n ? new ArrayBuffer(bufferLength)\n : new Array(bufferLength);\n const bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return buffer;\n};\n\nexport const polyUint16Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 2) {\n bytes.push((buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n\nexport const polyUint32Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 4) {\n bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isNumberToken} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\ninterface zIndex {\n order: number;\n auto: boolean;\n}\n\nexport const zIndex: IPropertyValueDescriptor = {\n name: 'z-index',\n initialValue: 'auto',\n prefix: false,\n type: PropertyDescriptorParsingType.VALUE,\n parse: (_context: Context, token: CSSValue): zIndex => {\n if (token.type === TokenType.IDENT_TOKEN) {\n return {auto: true, order: 0};\n }\n\n if (isNumberToken(token)) {\n return {auto: false, order: token.number};\n }\n\n throw new Error(`Invalid z-index number parsed`);\n }\n};\n","import {CSSValue} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {ITypeDescriptor} from '../ITypeDescriptor';\nimport {Context} from '../../core/context';\n\nexport const time: ITypeDescriptor = {\n name: 'time',\n parse: (_context: Context, value: CSSValue): number => {\n if (value.type === TokenType.DIMENSION_TOKEN) {\n switch (value.unit.toLowerCase()) {\n case 's':\n return 1000 * value.number;\n case 'ms':\n return value.number;\n }\n }\n\n throw new Error(`Unsupported time type`);\n }\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isNumberToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const opacity: IPropertyValueDescriptor = {\n name: 'opacity',\n initialValue: '1',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (_context: Context, token: CSSValue): number => {\n if (isNumberToken(token)) {\n return token.number;\n }\n return 1;\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nexport const textDecorationColor: IPropertyTypeValueDescriptor = {\n name: `text-decoration-color`,\n initialValue: 'transparent',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport const enum TEXT_DECORATION_LINE {\n NONE = 0,\n UNDERLINE = 1,\n OVERLINE = 2,\n LINE_THROUGH = 3,\n BLINK = 4\n}\n\nexport type TextDecorationLine = TEXT_DECORATION_LINE[];\n\nexport const textDecorationLine: IPropertyListDescriptor = {\n name: 'text-decoration-line',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): TextDecorationLine => {\n return tokens\n .filter(isIdentToken)\n .map((token) => {\n switch (token.value) {\n case 'underline':\n return TEXT_DECORATION_LINE.UNDERLINE;\n case 'overline':\n return TEXT_DECORATION_LINE.OVERLINE;\n case 'line-through':\n return TEXT_DECORATION_LINE.LINE_THROUGH;\n case 'none':\n return TEXT_DECORATION_LINE.BLINK;\n }\n return TEXT_DECORATION_LINE.NONE;\n })\n .filter((line) => line !== TEXT_DECORATION_LINE.NONE);\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\nexport type FONT_FAMILY = string;\n\nexport type FontFamily = FONT_FAMILY[];\n\nexport const fontFamily: IPropertyListDescriptor = {\n name: `font-family`,\n initialValue: '',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n const accumulator: string[] = [];\n const results: string[] = [];\n tokens.forEach((token) => {\n switch (token.type) {\n case TokenType.IDENT_TOKEN:\n case TokenType.STRING_TOKEN:\n accumulator.push(token.value);\n break;\n case TokenType.NUMBER_TOKEN:\n accumulator.push(token.number.toString());\n break;\n case TokenType.COMMA_TOKEN:\n results.push(accumulator.join(' '));\n accumulator.length = 0;\n break;\n }\n });\n if (accumulator.length) {\n results.push(accumulator.join(' '));\n }\n return results.map((result) => (result.indexOf(' ') === -1 ? result : `'${result}'`));\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nexport const fontSize: IPropertyTypeValueDescriptor = {\n name: `font-size`,\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'length'\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken, isNumberToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const fontWeight: IPropertyValueDescriptor = {\n name: 'font-weight',\n initialValue: 'normal',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (_context: Context, token: CSSValue): number => {\n if (isNumberToken(token)) {\n return token.number;\n }\n\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'bold':\n return 700;\n case 'normal':\n default:\n return 400;\n }\n }\n\n return 400;\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const fontVariant: IPropertyListDescriptor = {\n name: 'font-variant',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (_context: Context, tokens: CSSValue[]): string[] => {\n return tokens.filter(isIdentToken).map((token) => token.value);\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum FONT_STYLE {\n NORMAL = 'normal',\n ITALIC = 'italic',\n OBLIQUE = 'oblique'\n}\n\nexport const fontStyle: IPropertyIdentValueDescriptor = {\n name: 'font-style',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, overflow: string) => {\n switch (overflow) {\n case 'oblique':\n return FONT_STYLE.OBLIQUE;\n case 'italic':\n return FONT_STYLE.ITALIC;\n case 'normal':\n default:\n return FONT_STYLE.NORMAL;\n }\n }\n};\n","export const contains = (bit: number, value: number): boolean => (bit & value) !== 0;\n","import {TokenType} from '../syntax/tokenizer';\nimport {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport type Content = CSSValue[];\n\nexport const content: IPropertyListDescriptor = {\n name: 'content',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (_context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return [];\n }\n\n const first = tokens[0];\n\n if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') {\n return [];\n }\n\n return tokens;\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isNumberToken, nonWhiteSpace} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\nexport interface COUNTER_INCREMENT {\n counter: string;\n increment: number;\n}\n\nexport type CounterIncrement = COUNTER_INCREMENT[] | null;\n\nexport const counterIncrement: IPropertyListDescriptor = {\n name: 'counter-increment',\n initialValue: 'none',\n prefix: true,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return null;\n }\n\n const first = tokens[0];\n\n if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') {\n return null;\n }\n\n const increments = [];\n const filtered = tokens.filter(nonWhiteSpace);\n\n for (let i = 0; i < filtered.length; i++) {\n const counter = filtered[i];\n const next = filtered[i + 1];\n if (counter.type === TokenType.IDENT_TOKEN) {\n const increment = next && isNumberToken(next) ? next.number : 1;\n increments.push({counter: counter.value, increment});\n }\n }\n\n return increments;\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken, isNumberToken, nonWhiteSpace} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport interface COUNTER_RESET {\n counter: string;\n reset: number;\n}\n\nexport type CounterReset = COUNTER_RESET[];\n\nexport const counterReset: IPropertyListDescriptor = {\n name: 'counter-reset',\n initialValue: 'none',\n prefix: true,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return [];\n }\n\n const resets = [];\n const filtered = tokens.filter(nonWhiteSpace);\n\n for (let i = 0; i < filtered.length; i++) {\n const counter = filtered[i];\n const next = filtered[i + 1];\n if (isIdentToken(counter) && counter.value !== 'none') {\n const reset = next && isNumberToken(next) ? next.number : 0;\n resets.push({counter: counter.value, reset});\n }\n }\n\n return resets;\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nimport {CSSValue, isDimensionToken} from '../syntax/parser';\nimport {time} from '../types/time';\n\nexport const duration: IPropertyListDescriptor = {\n name: 'duration',\n initialValue: '0s',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (context: Context, tokens: CSSValue[]) => {\n return tokens.filter(isDimensionToken).map((token) => time.parse(context, token));\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isStringToken} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\nexport interface QUOTE {\n open: string;\n close: string;\n}\n\nexport type Quotes = QUOTE[] | null;\n\nexport const quotes: IPropertyListDescriptor = {\n name: 'quotes',\n initialValue: 'none',\n prefix: true,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return null;\n }\n\n const first = tokens[0];\n\n if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') {\n return null;\n }\n\n const quotes = [];\n const filtered = tokens.filter(isStringToken);\n\n if (filtered.length % 2 !== 0) {\n return null;\n }\n\n for (let i = 0; i < filtered.length; i += 2) {\n const open = filtered[i].value;\n const close = filtered[i + 1].value;\n quotes.push({open, close});\n }\n\n return quotes;\n }\n};\n\nexport const getQuote = (quotes: Quotes, depth: number, open: boolean): string => {\n if (!quotes) {\n return '';\n }\n\n const quote = quotes[Math.min(depth, quotes.length - 1)];\n if (!quote) {\n return '';\n }\n\n return open ? quote.open : quote.close;\n};\n","import {PropertyDescriptorParsingType, IPropertyListDescriptor} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentWithValue, parseFunctionArgs} from '../syntax/parser';\nimport {ZERO_LENGTH} from '../types/length-percentage';\nimport {color, Color} from '../types/color';\nimport {isLength, Length} from '../types/length';\nimport {Context} from '../../core/context';\n\nexport type BoxShadow = BoxShadowItem[];\ninterface BoxShadowItem {\n inset: boolean;\n color: Color;\n offsetX: Length;\n offsetY: Length;\n blur: Length;\n spread: Length;\n}\n\nexport const boxShadow: IPropertyListDescriptor = {\n name: 'box-shadow',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (context: Context, tokens: CSSValue[]): BoxShadow => {\n if (tokens.length === 1 && isIdentWithValue(tokens[0], 'none')) {\n return [];\n }\n\n return parseFunctionArgs(tokens).map((values: CSSValue[]) => {\n const shadow: BoxShadowItem = {\n color: 0x000000ff,\n offsetX: ZERO_LENGTH,\n offsetY: ZERO_LENGTH,\n blur: ZERO_LENGTH,\n spread: ZERO_LENGTH,\n inset: false\n };\n let c = 0;\n for (let i = 0; i < values.length; i++) {\n const token = values[i];\n if (isIdentWithValue(token, 'inset')) {\n shadow.inset = true;\n } else if (isLength(token)) {\n if (c === 0) {\n shadow.offsetX = token;\n } else if (c === 1) {\n shadow.offsetY = token;\n } else if (c === 2) {\n shadow.blur = token;\n } else {\n shadow.spread = token;\n }\n c++;\n } else {\n shadow.color = color.parse(context, token);\n }\n }\n return shadow;\n });\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const enum PAINT_ORDER_LAYER {\n FILL,\n STROKE,\n MARKERS\n}\n\nexport type PaintOrder = PAINT_ORDER_LAYER[];\n\nexport const paintOrder: IPropertyListDescriptor = {\n name: 'paint-order',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): PaintOrder => {\n const DEFAULT_VALUE = [PAINT_ORDER_LAYER.FILL, PAINT_ORDER_LAYER.STROKE, PAINT_ORDER_LAYER.MARKERS];\n const layers: PaintOrder = [];\n\n tokens.filter(isIdentToken).forEach((token) => {\n switch (token.value) {\n case 'stroke':\n layers.push(PAINT_ORDER_LAYER.STROKE);\n break;\n case 'fill':\n layers.push(PAINT_ORDER_LAYER.FILL);\n break;\n case 'markers':\n layers.push(PAINT_ORDER_LAYER.MARKERS);\n break;\n }\n });\n DEFAULT_VALUE.forEach((value) => {\n if (layers.indexOf(value) === -1) {\n layers.push(value);\n }\n });\n\n return layers;\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nexport const webkitTextStrokeColor: IPropertyTypeValueDescriptor = {\n name: `-webkit-text-stroke-color`,\n initialValue: 'currentcolor',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n};\n","import {CSSValue, isDimensionToken} from '../syntax/parser';\nimport {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const webkitTextStrokeWidth: IPropertyValueDescriptor = {\n name: `-webkit-text-stroke-width`,\n initialValue: '0',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (_context: Context, token: CSSValue): number => {\n if (isDimensionToken(token)) {\n return token.number;\n }\n return 0;\n }\n};\n","import {CSSPropertyDescriptor, PropertyDescriptorParsingType} from './IPropertyDescriptor';\nimport {backgroundClip} from './property-descriptors/background-clip';\nimport {backgroundColor} from './property-descriptors/background-color';\nimport {backgroundImage} from './property-descriptors/background-image';\nimport {backgroundOrigin} from './property-descriptors/background-origin';\nimport {backgroundPosition} from './property-descriptors/background-position';\nimport {backgroundRepeat} from './property-descriptors/background-repeat';\nimport {backgroundSize} from './property-descriptors/background-size';\nimport {\n borderBottomColor,\n borderLeftColor,\n borderRightColor,\n borderTopColor\n} from './property-descriptors/border-color';\nimport {\n borderBottomLeftRadius,\n borderBottomRightRadius,\n borderTopLeftRadius,\n borderTopRightRadius\n} from './property-descriptors/border-radius';\nimport {\n borderBottomStyle,\n borderLeftStyle,\n borderRightStyle,\n borderTopStyle\n} from './property-descriptors/border-style';\nimport {\n borderBottomWidth,\n borderLeftWidth,\n borderRightWidth,\n borderTopWidth\n} from './property-descriptors/border-width';\nimport {color} from './property-descriptors/color';\nimport {direction} from './property-descriptors/direction';\nimport {display, DISPLAY} from './property-descriptors/display';\nimport {float, FLOAT} from './property-descriptors/float';\nimport {letterSpacing} from './property-descriptors/letter-spacing';\nimport {lineBreak} from './property-descriptors/line-break';\nimport {lineHeight} from './property-descriptors/line-height';\nimport {listStyleImage} from './property-descriptors/list-style-image';\nimport {listStylePosition} from './property-descriptors/list-style-position';\nimport {listStyleType} from './property-descriptors/list-style-type';\nimport {marginBottom, marginLeft, marginRight, marginTop} from './property-descriptors/margin';\nimport {overflow, OVERFLOW} from './property-descriptors/overflow';\nimport {overflowWrap} from './property-descriptors/overflow-wrap';\nimport {paddingBottom, paddingLeft, paddingRight, paddingTop} from './property-descriptors/padding';\nimport {textAlign} from './property-descriptors/text-align';\nimport {position, POSITION} from './property-descriptors/position';\nimport {textShadow} from './property-descriptors/text-shadow';\nimport {textTransform} from './property-descriptors/text-transform';\nimport {transform} from './property-descriptors/transform';\nimport {transformOrigin} from './property-descriptors/transform-origin';\nimport {visibility, VISIBILITY} from './property-descriptors/visibility';\nimport {wordBreak} from './property-descriptors/word-break';\nimport {zIndex} from './property-descriptors/z-index';\nimport {CSSValue, isIdentToken, Parser} from './syntax/parser';\nimport {Tokenizer} from './syntax/tokenizer';\nimport {Color, color as colorType, isTransparent} from './types/color';\nimport {angle} from './types/angle';\nimport {image} from './types/image';\nimport {time} from './types/time';\nimport {opacity} from './property-descriptors/opacity';\nimport {textDecorationColor} from './property-descriptors/text-decoration-color';\nimport {textDecorationLine} from './property-descriptors/text-decoration-line';\nimport {isLengthPercentage, LengthPercentage, ZERO_LENGTH} from './types/length-percentage';\nimport {fontFamily} from './property-descriptors/font-family';\nimport {fontSize} from './property-descriptors/font-size';\nimport {isLength} from './types/length';\nimport {fontWeight} from './property-descriptors/font-weight';\nimport {fontVariant} from './property-descriptors/font-variant';\nimport {fontStyle} from './property-descriptors/font-style';\nimport {contains} from '../core/bitwise';\nimport {content} from './property-descriptors/content';\nimport {counterIncrement} from './property-descriptors/counter-increment';\nimport {counterReset} from './property-descriptors/counter-reset';\nimport {duration} from './property-descriptors/duration';\nimport {quotes} from './property-descriptors/quotes';\nimport {boxShadow} from './property-descriptors/box-shadow';\nimport {paintOrder} from './property-descriptors/paint-order';\nimport {webkitTextStrokeColor} from './property-descriptors/webkit-text-stroke-color';\nimport {webkitTextStrokeWidth} from './property-descriptors/webkit-text-stroke-width';\nimport {Context} from '../core/context';\n\nexport class CSSParsedDeclaration {\n animationDuration: ReturnType;\n backgroundClip: ReturnType;\n backgroundColor: Color;\n backgroundImage: ReturnType;\n backgroundOrigin: ReturnType;\n backgroundPosition: ReturnType;\n backgroundRepeat: ReturnType;\n backgroundSize: ReturnType;\n borderTopColor: Color;\n borderRightColor: Color;\n borderBottomColor: Color;\n borderLeftColor: Color;\n borderTopLeftRadius: ReturnType;\n borderTopRightRadius: ReturnType;\n borderBottomRightRadius: ReturnType;\n borderBottomLeftRadius: ReturnType;\n borderTopStyle: ReturnType;\n borderRightStyle: ReturnType;\n borderBottomStyle: ReturnType;\n borderLeftStyle: ReturnType;\n borderTopWidth: ReturnType;\n borderRightWidth: ReturnType;\n borderBottomWidth: ReturnType;\n borderLeftWidth: ReturnType;\n boxShadow: ReturnType;\n color: Color;\n direction: ReturnType;\n display: ReturnType;\n float: ReturnType;\n fontFamily: ReturnType;\n fontSize: LengthPercentage;\n fontStyle: ReturnType;\n fontVariant: ReturnType;\n fontWeight: ReturnType;\n letterSpacing: ReturnType;\n lineBreak: ReturnType;\n lineHeight: CSSValue;\n listStyleImage: ReturnType;\n listStylePosition: ReturnType;\n listStyleType: ReturnType;\n marginTop: CSSValue;\n marginRight: CSSValue;\n marginBottom: CSSValue;\n marginLeft: CSSValue;\n opacity: ReturnType;\n overflowX: OVERFLOW;\n overflowY: OVERFLOW;\n overflowWrap: ReturnType;\n paddingTop: LengthPercentage;\n paddingRight: LengthPercentage;\n paddingBottom: LengthPercentage;\n paddingLeft: LengthPercentage;\n paintOrder: ReturnType;\n position: ReturnType;\n textAlign: ReturnType;\n textDecorationColor: Color;\n textDecorationLine: ReturnType;\n textShadow: ReturnType;\n textTransform: ReturnType;\n transform: ReturnType;\n transformOrigin: ReturnType;\n visibility: ReturnType;\n webkitTextStrokeColor: Color;\n webkitTextStrokeWidth: ReturnType;\n wordBreak: ReturnType;\n zIndex: ReturnType;\n\n constructor(context: Context, declaration: CSSStyleDeclaration) {\n this.animationDuration = parse(context, duration, declaration.animationDuration);\n this.backgroundClip = parse(context, backgroundClip, declaration.backgroundClip);\n this.backgroundColor = parse(context, backgroundColor, declaration.backgroundColor);\n this.backgroundImage = parse(context, backgroundImage, declaration.backgroundImage);\n this.backgroundOrigin = parse(context, backgroundOrigin, declaration.backgroundOrigin);\n this.backgroundPosition = parse(context, backgroundPosition, declaration.backgroundPosition);\n this.backgroundRepeat = parse(context, backgroundRepeat, declaration.backgroundRepeat);\n this.backgroundSize = parse(context, backgroundSize, declaration.backgroundSize);\n this.borderTopColor = parse(context, borderTopColor, declaration.borderTopColor);\n this.borderRightColor = parse(context, borderRightColor, declaration.borderRightColor);\n this.borderBottomColor = parse(context, borderBottomColor, declaration.borderBottomColor);\n this.borderLeftColor = parse(context, borderLeftColor, declaration.borderLeftColor);\n this.borderTopLeftRadius = parse(context, borderTopLeftRadius, declaration.borderTopLeftRadius);\n this.borderTopRightRadius = parse(context, borderTopRightRadius, declaration.borderTopRightRadius);\n this.borderBottomRightRadius = parse(context, borderBottomRightRadius, declaration.borderBottomRightRadius);\n this.borderBottomLeftRadius = parse(context, borderBottomLeftRadius, declaration.borderBottomLeftRadius);\n this.borderTopStyle = parse(context, borderTopStyle, declaration.borderTopStyle);\n this.borderRightStyle = parse(context, borderRightStyle, declaration.borderRightStyle);\n this.borderBottomStyle = parse(context, borderBottomStyle, declaration.borderBottomStyle);\n this.borderLeftStyle = parse(context, borderLeftStyle, declaration.borderLeftStyle);\n this.borderTopWidth = parse(context, borderTopWidth, declaration.borderTopWidth);\n this.borderRightWidth = parse(context, borderRightWidth, declaration.borderRightWidth);\n this.borderBottomWidth = parse(context, borderBottomWidth, declaration.borderBottomWidth);\n this.borderLeftWidth = parse(context, borderLeftWidth, declaration.borderLeftWidth);\n this.boxShadow = parse(context, boxShadow, declaration.boxShadow);\n this.color = parse(context, color, declaration.color);\n this.direction = parse(context, direction, declaration.direction);\n this.display = parse(context, display, declaration.display);\n this.float = parse(context, float, declaration.cssFloat);\n this.fontFamily = parse(context, fontFamily, declaration.fontFamily);\n this.fontSize = parse(context, fontSize, declaration.fontSize);\n this.fontStyle = parse(context, fontStyle, declaration.fontStyle);\n this.fontVariant = parse(context, fontVariant, declaration.fontVariant);\n this.fontWeight = parse(context, fontWeight, declaration.fontWeight);\n this.letterSpacing = parse(context, letterSpacing, declaration.letterSpacing);\n this.lineBreak = parse(context, lineBreak, declaration.lineBreak);\n this.lineHeight = parse(context, lineHeight, declaration.lineHeight);\n this.listStyleImage = parse(context, listStyleImage, declaration.listStyleImage);\n this.listStylePosition = parse(context, listStylePosition, declaration.listStylePosition);\n this.listStyleType = parse(context, listStyleType, declaration.listStyleType);\n this.marginTop = parse(context, marginTop, declaration.marginTop);\n this.marginRight = parse(context, marginRight, declaration.marginRight);\n this.marginBottom = parse(context, marginBottom, declaration.marginBottom);\n this.marginLeft = parse(context, marginLeft, declaration.marginLeft);\n this.opacity = parse(context, opacity, declaration.opacity);\n const overflowTuple = parse(context, overflow, declaration.overflow);\n this.overflowX = overflowTuple[0];\n this.overflowY = overflowTuple[overflowTuple.length > 1 ? 1 : 0];\n this.overflowWrap = parse(context, overflowWrap, declaration.overflowWrap);\n this.paddingTop = parse(context, paddingTop, declaration.paddingTop);\n this.paddingRight = parse(context, paddingRight, declaration.paddingRight);\n this.paddingBottom = parse(context, paddingBottom, declaration.paddingBottom);\n this.paddingLeft = parse(context, paddingLeft, declaration.paddingLeft);\n this.paintOrder = parse(context, paintOrder, declaration.paintOrder);\n this.position = parse(context, position, declaration.position);\n this.textAlign = parse(context, textAlign, declaration.textAlign);\n this.textDecorationColor = parse(\n context,\n textDecorationColor,\n declaration.textDecorationColor ?? declaration.color\n );\n this.textDecorationLine = parse(\n context,\n textDecorationLine,\n declaration.textDecorationLine ?? declaration.textDecoration\n );\n this.textShadow = parse(context, textShadow, declaration.textShadow);\n this.textTransform = parse(context, textTransform, declaration.textTransform);\n this.transform = parse(context, transform, declaration.transform);\n this.transformOrigin = parse(context, transformOrigin, declaration.transformOrigin);\n this.visibility = parse(context, visibility, declaration.visibility);\n this.webkitTextStrokeColor = parse(context, webkitTextStrokeColor, declaration.webkitTextStrokeColor);\n this.webkitTextStrokeWidth = parse(context, webkitTextStrokeWidth, declaration.webkitTextStrokeWidth);\n this.wordBreak = parse(context, wordBreak, declaration.wordBreak);\n this.zIndex = parse(context, zIndex, declaration.zIndex);\n }\n\n isVisible(): boolean {\n return this.display > 0 && this.opacity > 0 && this.visibility === VISIBILITY.VISIBLE;\n }\n\n isTransparent(): boolean {\n return isTransparent(this.backgroundColor);\n }\n\n isTransformed(): boolean {\n return this.transform !== null;\n }\n\n isPositioned(): boolean {\n return this.position !== POSITION.STATIC;\n }\n\n isPositionedWithZIndex(): boolean {\n return this.isPositioned() && !this.zIndex.auto;\n }\n\n isFloating(): boolean {\n return this.float !== FLOAT.NONE;\n }\n\n isInlineLevel(): boolean {\n return (\n contains(this.display, DISPLAY.INLINE) ||\n contains(this.display, DISPLAY.INLINE_BLOCK) ||\n contains(this.display, DISPLAY.INLINE_FLEX) ||\n contains(this.display, DISPLAY.INLINE_GRID) ||\n contains(this.display, DISPLAY.INLINE_LIST_ITEM) ||\n contains(this.display, DISPLAY.INLINE_TABLE)\n );\n }\n}\n\nexport class CSSParsedPseudoDeclaration {\n content: ReturnType;\n quotes: ReturnType;\n\n constructor(context: Context, declaration: CSSStyleDeclaration) {\n this.content = parse(context, content, declaration.content);\n this.quotes = parse(context, quotes, declaration.quotes);\n }\n}\n\nexport class CSSParsedCounterDeclaration {\n counterIncrement: ReturnType;\n counterReset: ReturnType;\n\n constructor(context: Context, declaration: CSSStyleDeclaration) {\n this.counterIncrement = parse(context, counterIncrement, declaration.counterIncrement);\n this.counterReset = parse(context, counterReset, declaration.counterReset);\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst parse = (context: Context, descriptor: CSSPropertyDescriptor, style?: string | null) => {\n const tokenizer = new Tokenizer();\n const value = style !== null && typeof style !== 'undefined' ? style.toString() : descriptor.initialValue;\n tokenizer.write(value);\n const parser = new Parser(tokenizer.read());\n switch (descriptor.type) {\n case PropertyDescriptorParsingType.IDENT_VALUE:\n const token = parser.parseComponentValue();\n return descriptor.parse(context, isIdentToken(token) ? token.value : descriptor.initialValue);\n case PropertyDescriptorParsingType.VALUE:\n return descriptor.parse(context, parser.parseComponentValue());\n case PropertyDescriptorParsingType.LIST:\n return descriptor.parse(context, parser.parseComponentValues());\n case PropertyDescriptorParsingType.TOKEN_VALUE:\n return parser.parseComponentValue();\n case PropertyDescriptorParsingType.TYPE_VALUE:\n switch (descriptor.format) {\n case 'angle':\n return angle.parse(context, parser.parseComponentValue());\n case 'color':\n return colorType.parse(context, parser.parseComponentValue());\n case 'image':\n return image.parse(context, parser.parseComponentValue());\n case 'length':\n const length = parser.parseComponentValue();\n return isLength(length) ? length : ZERO_LENGTH;\n case 'length-percentage':\n const value = parser.parseComponentValue();\n return isLengthPercentage(value) ? value : ZERO_LENGTH;\n case 'time':\n return time.parse(context, parser.parseComponentValue());\n }\n break;\n }\n};\n","const elementDebuggerAttribute = 'data-html2canvas-debug';\nexport const enum DebuggerType {\n NONE,\n ALL,\n CLONE,\n PARSE,\n RENDER\n}\n\nconst getElementDebugType = (element: Element): DebuggerType => {\n const attribute = element.getAttribute(elementDebuggerAttribute);\n switch (attribute) {\n case 'all':\n return DebuggerType.ALL;\n case 'clone':\n return DebuggerType.CLONE;\n case 'parse':\n return DebuggerType.PARSE;\n case 'render':\n return DebuggerType.RENDER;\n default:\n return DebuggerType.NONE;\n }\n};\n\nexport const isDebugging = (element: Element, type: Omit): boolean => {\n const elementType = getElementDebugType(element);\n return elementType === DebuggerType.ALL || type === elementType;\n};\n","import {CSSParsedDeclaration} from '../css/index';\nimport {TextContainer} from './text-container';\nimport {Bounds, parseBounds} from '../css/layout/bounds';\nimport {isHTMLElementNode} from './node-parser';\nimport {Context} from '../core/context';\nimport {DebuggerType, isDebugging} from '../core/debugger';\n\nexport const enum FLAGS {\n CREATES_STACKING_CONTEXT = 1 << 1,\n CREATES_REAL_STACKING_CONTEXT = 1 << 2,\n IS_LIST_OWNER = 1 << 3,\n DEBUG_RENDER = 1 << 4\n}\n\nexport class ElementContainer {\n readonly styles: CSSParsedDeclaration;\n readonly textNodes: TextContainer[] = [];\n readonly elements: ElementContainer[] = [];\n bounds: Bounds;\n flags = 0;\n\n constructor(protected readonly context: Context, element: Element) {\n if (isDebugging(element, DebuggerType.PARSE)) {\n debugger;\n }\n\n this.styles = new CSSParsedDeclaration(context, window.getComputedStyle(element, null));\n\n if (isHTMLElementNode(element)) {\n if (this.styles.animationDuration.some((duration) => duration > 0)) {\n element.style.animationDuration = '0s';\n }\n\n if (this.styles.transform !== null) {\n // getBoundingClientRect takes transforms into account\n element.style.transform = 'none';\n }\n }\n\n this.bounds = parseBounds(this.context, element);\n\n if (isDebugging(element, DebuggerType.RENDER)) {\n this.flags |= FLAGS.DEBUG_RENDER;\n }\n }\n}\n","export const base64 =\n 'AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=';\nexport const byteLength = 19616;\n","const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const encode = (arraybuffer: ArrayBuffer): string => {\n let bytes = new Uint8Array(arraybuffer),\n i,\n len = bytes.length,\n base64 = '';\n\n for (i = 0; i < len; i += 3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n\n if (len % 3 === 2) {\n base64 = base64.substring(0, base64.length - 1) + '=';\n } else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + '==';\n }\n\n return base64;\n};\n\nexport const decode = (base64: string): ArrayBuffer => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const arraybuffer = new ArrayBuffer(bufferLength),\n bytes = new Uint8Array(arraybuffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return arraybuffer;\n};\n","import {decode, polyUint16Array, polyUint32Array} from './Util';\n\nexport type int = number;\n\n/** Shift size for getting the index-2 table offset. */\nexport const UTRIE2_SHIFT_2 = 5;\n\n/** Shift size for getting the index-1 table offset. */\nexport const UTRIE2_SHIFT_1 = 6 + 5;\n\n/**\n * Shift size for shifting left the index array values.\n * Increases possible data size with 16-bit index values at the cost\n * of compactability.\n * This requires data blocks to be aligned by UTRIE2_DATA_GRANULARITY.\n */\nexport const UTRIE2_INDEX_SHIFT = 2;\n\n/**\n * Difference between the two shift sizes,\n * for getting an index-1 offset from an index-2 offset. 6=11-5\n */\nexport const UTRIE2_SHIFT_1_2 = UTRIE2_SHIFT_1 - UTRIE2_SHIFT_2;\n\n/**\n * The part of the index-2 table for U+D800..U+DBFF stores values for\n * lead surrogate code _units_ not code _points_.\n * Values for lead surrogate code _points_ are indexed with this portion of the table.\n * Length=32=0x20=0x400>>UTRIE2_SHIFT_2. (There are 1024=0x400 lead surrogates.)\n */\nexport const UTRIE2_LSCP_INDEX_2_OFFSET = 0x10000 >> UTRIE2_SHIFT_2;\n\n/** Number of entries in a data block. 32=0x20 */\nexport const UTRIE2_DATA_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_2;\n/** Mask for getting the lower bits for the in-data-block offset. */\nexport const UTRIE2_DATA_MASK = UTRIE2_DATA_BLOCK_LENGTH - 1;\n\nexport const UTRIE2_LSCP_INDEX_2_LENGTH = 0x400 >> UTRIE2_SHIFT_2;\n/** Count the lengths of both BMP pieces. 2080=0x820 */\nexport const UTRIE2_INDEX_2_BMP_LENGTH = UTRIE2_LSCP_INDEX_2_OFFSET + UTRIE2_LSCP_INDEX_2_LENGTH;\n/**\n * The 2-byte UTF-8 version of the index-2 table follows at offset 2080=0x820.\n * Length 32=0x20 for lead bytes C0..DF, regardless of UTRIE2_SHIFT_2.\n */\nexport const UTRIE2_UTF8_2B_INDEX_2_OFFSET = UTRIE2_INDEX_2_BMP_LENGTH;\nexport const UTRIE2_UTF8_2B_INDEX_2_LENGTH = 0x800 >> 6; /* U+0800 is the first code point after 2-byte UTF-8 */\n/**\n * The index-1 table, only used for supplementary code points, at offset 2112=0x840.\n * Variable length, for code points up to highStart, where the last single-value range starts.\n * Maximum length 512=0x200=0x100000>>UTRIE2_SHIFT_1.\n * (For 0x100000 supplementary code points U+10000..U+10ffff.)\n *\n * The part of the index-2 table for supplementary code points starts\n * after this index-1 table.\n *\n * Both the index-1 table and the following part of the index-2 table\n * are omitted completely if there is only BMP data.\n */\nexport const UTRIE2_INDEX_1_OFFSET = UTRIE2_UTF8_2B_INDEX_2_OFFSET + UTRIE2_UTF8_2B_INDEX_2_LENGTH;\n\n/**\n * Number of index-1 entries for the BMP. 32=0x20\n * This part of the index-1 table is omitted from the serialized form.\n */\nexport const UTRIE2_OMITTED_BMP_INDEX_1_LENGTH = 0x10000 >> UTRIE2_SHIFT_1;\n\n/** Number of entries in an index-2 block. 64=0x40 */\nexport const UTRIE2_INDEX_2_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_1_2;\n/** Mask for getting the lower bits for the in-index-2-block offset. */\nexport const UTRIE2_INDEX_2_MASK = UTRIE2_INDEX_2_BLOCK_LENGTH - 1;\n\nconst slice16 = (view: number[] | Uint16Array, start: number, end?: number) => {\n if (view.slice) {\n return view.slice(start, end);\n }\n\n return new Uint16Array(Array.prototype.slice.call(view, start, end));\n};\n\nconst slice32 = (view: number[] | Uint32Array, start: number, end?: number) => {\n if (view.slice) {\n return view.slice(start, end);\n }\n\n return new Uint32Array(Array.prototype.slice.call(view, start, end));\n};\n\nexport const createTrieFromBase64 = (base64: string, _byteLength: number): Trie => {\n const buffer = decode(base64);\n const view32 = Array.isArray(buffer) ? polyUint32Array(buffer) : new Uint32Array(buffer);\n const view16 = Array.isArray(buffer) ? polyUint16Array(buffer) : new Uint16Array(buffer);\n const headerLength = 24;\n\n const index = slice16(view16, headerLength / 2, view32[4] / 2);\n const data =\n view32[5] === 2\n ? slice16(view16, (headerLength + view32[4]) / 2)\n : slice32(view32, Math.ceil((headerLength + view32[4]) / 4));\n\n return new Trie(view32[0], view32[1], view32[2], view32[3], index, data);\n};\n\nexport class Trie {\n initialValue: int;\n errorValue: int;\n highStart: int;\n highValueIndex: int;\n index: Uint16Array | number[];\n data: Uint32Array | Uint16Array | number[];\n\n constructor(\n initialValue: int,\n errorValue: int,\n highStart: int,\n highValueIndex: int,\n index: Uint16Array | number[],\n data: Uint32Array | Uint16Array | number[]\n ) {\n this.initialValue = initialValue;\n this.errorValue = errorValue;\n this.highStart = highStart;\n this.highValueIndex = highValueIndex;\n this.index = index;\n this.data = data;\n }\n\n /**\n * Get the value for a code point as stored in the Trie.\n *\n * @param codePoint the code point\n * @return the value\n */\n get(codePoint: number): number {\n let ix;\n if (codePoint >= 0) {\n if (codePoint < 0x0d800 || (codePoint > 0x0dbff && codePoint <= 0x0ffff)) {\n // Ordinary BMP code point, excluding leading surrogates.\n // BMP uses a single level lookup. BMP index starts at offset 0 in the Trie2 index.\n // 16 bit data is stored in the index array itself.\n ix = this.index[codePoint >> UTRIE2_SHIFT_2];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n\n if (codePoint <= 0xffff) {\n // Lead Surrogate Code Point. A Separate index section is stored for\n // lead surrogate code units and code points.\n // The main index has the code unit data.\n // For this function, we need the code point data.\n // Note: this expression could be refactored for slightly improved efficiency, but\n // surrogate code points will be so rare in practice that it's not worth it.\n ix = this.index[UTRIE2_LSCP_INDEX_2_OFFSET + ((codePoint - 0xd800) >> UTRIE2_SHIFT_2)];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n\n if (codePoint < this.highStart) {\n // Supplemental code point, use two-level lookup.\n ix = UTRIE2_INDEX_1_OFFSET - UTRIE2_OMITTED_BMP_INDEX_1_LENGTH + (codePoint >> UTRIE2_SHIFT_1);\n ix = this.index[ix];\n ix += (codePoint >> UTRIE2_SHIFT_2) & UTRIE2_INDEX_2_MASK;\n ix = this.index[ix];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n if (codePoint <= 0x10ffff) {\n return this.data[this.highValueIndex];\n }\n }\n\n // Fall through. The code point is outside of the legal range of 0..0x10ffff.\n return this.errorValue;\n }\n}\n","import {base64, byteLength} from './grapheme-break-trie';\nimport {createTrieFromBase64} from 'utrie';\n\nconst Other = 0;\nconst Prepend = 1;\nconst CR = 2;\nconst LF = 3;\nconst Control = 4;\nconst Extend = 5;\nconst Regional_Indicator = 6;\nconst SpacingMark = 7;\nconst L = 8;\nconst V = 9;\nconst T = 10;\nconst LV = 11;\nconst LVT = 12;\nconst ZWJ = 13;\nconst Extended_Pictographic = 14;\nconst RI = 15;\n\nexport const classes: {[key: string]: number} = {\n Other,\n Prepend,\n CR,\n LF,\n Control,\n Extend,\n Regional_Indicator,\n SpacingMark,\n L,\n V,\n T,\n LV,\n LVT,\n ZWJ,\n Extended_Pictographic,\n RI,\n};\n\nexport const toCodePoints = (str: string): number[] => {\n const codePoints = [];\n let i = 0;\n const length = str.length;\n while (i < length) {\n const value = str.charCodeAt(i++);\n if (value >= 0xd800 && value <= 0xdbff && i < length) {\n const extra = str.charCodeAt(i++);\n if ((extra & 0xfc00) === 0xdc00) {\n codePoints.push(((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000);\n } else {\n codePoints.push(value);\n i--;\n }\n } else {\n codePoints.push(value);\n }\n }\n return codePoints;\n};\n\nexport const fromCodePoint = (...codePoints: number[]): string => {\n if (String.fromCodePoint) {\n return String.fromCodePoint(...codePoints);\n }\n\n const length = codePoints.length;\n if (!length) {\n return '';\n }\n\n const codeUnits = [];\n\n let index = -1;\n let result = '';\n while (++index < length) {\n let codePoint = codePoints[index];\n if (codePoint <= 0xffff) {\n codeUnits.push(codePoint);\n } else {\n codePoint -= 0x10000;\n codeUnits.push((codePoint >> 10) + 0xd800, (codePoint % 0x400) + 0xdc00);\n }\n if (index + 1 === length || codeUnits.length > 0x4000) {\n result += String.fromCharCode(...codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n};\n\nexport const UnicodeTrie = createTrieFromBase64(base64, byteLength);\n\nexport const BREAK_NOT_ALLOWED = '×';\nexport const BREAK_ALLOWED = '÷';\n\nexport type BREAK_OPPORTUNITIES = typeof BREAK_NOT_ALLOWED | typeof BREAK_ALLOWED;\n\nexport const codePointToClass = (codePoint: number): number => UnicodeTrie.get(codePoint);\n\nconst _graphemeBreakAtIndex = (_codePoints: number[], classTypes: number[], index: number): BREAK_OPPORTUNITIES => {\n let prevIndex = index - 2;\n let prev = classTypes[prevIndex];\n const current = classTypes[index - 1];\n const next = classTypes[index];\n // GB3 Do not break between a CR and LF\n if (current === CR && next === LF) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB4 Otherwise, break before and after controls.\n if (current === CR || current === LF || current === Control) {\n return BREAK_ALLOWED;\n }\n\n // GB5\n if (next === CR || next === LF || next === Control) {\n return BREAK_ALLOWED;\n }\n\n // Do not break Hangul syllable sequences.\n // GB6\n if (current === L && [L, V, LV, LVT].indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB7\n if ((current === LV || current === V) && (next === V || next === T)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB8\n if ((current === LVT || current === T) && next === T) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB9 Do not break before extending characters or ZWJ.\n if (next === ZWJ || next === Extend) {\n return BREAK_NOT_ALLOWED;\n }\n // Do not break before SpacingMarks, or after Prepend characters.\n // GB9a\n if (next === SpacingMark) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB9a\n if (current === Prepend) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB11 Do not break within emoji modifier sequences or emoji zwj sequences.\n if (current === ZWJ && next === Extended_Pictographic) {\n while (prev === Extend) {\n prev = classTypes[--prevIndex];\n }\n if (prev === Extended_Pictographic) {\n return BREAK_NOT_ALLOWED;\n }\n }\n\n // GB12 Do not break within emoji flag sequences.\n // That is, do not break between regional indicator (RI) symbols\n // if there is an odd number of RI characters before the break point.\n if (current === RI && next === RI) {\n let countRI = 0;\n while (prev === RI) {\n countRI++;\n prev = classTypes[--prevIndex];\n }\n if (countRI % 2 === 0) {\n return BREAK_NOT_ALLOWED;\n }\n }\n\n return BREAK_ALLOWED;\n};\n\nexport const graphemeBreakAtIndex = (codePoints: number[], index: number): BREAK_OPPORTUNITIES => {\n // GB1 Break at the start and end of text, unless the text is empty.\n if (index === 0) {\n return BREAK_ALLOWED;\n }\n\n // GB2\n if (index >= codePoints.length) {\n return BREAK_ALLOWED;\n }\n\n const classTypes = codePoints.map(codePointToClass);\n return _graphemeBreakAtIndex(codePoints, classTypes, index);\n};\n\nexport const GraphemeBreaker = (str: string) => {\n const codePoints = toCodePoints(str);\n const length = codePoints.length;\n let index = 0;\n let lastEnd = 0;\n const classTypes = codePoints.map(codePointToClass);\n\n return {\n next: () => {\n if (index >= length) {\n return {done: true, value: null};\n }\n\n let graphemeBreak = BREAK_NOT_ALLOWED;\n while (\n index < length &&\n (graphemeBreak = _graphemeBreakAtIndex(codePoints, classTypes, ++index)) === BREAK_NOT_ALLOWED\n ) {}\n\n if (graphemeBreak !== BREAK_NOT_ALLOWED || index === length) {\n const value = fromCodePoint.apply(null, codePoints.slice(lastEnd, index));\n lastEnd = index;\n return {value, done: false};\n }\n\n return {done: true, value: null};\n while (index < length) {}\n\n return {done: true, value: null};\n },\n };\n};\n\nexport const splitGraphemes = (str: string): string[] => {\n const breaker = GraphemeBreaker(str);\n\n const graphemes = [];\n let bk;\n\n while (!(bk = breaker.next()).done) {\n if (bk.value) {\n graphemes.push(bk.value.slice());\n }\n }\n\n return graphemes;\n};\n","import {Bounds} from '../css/layout/bounds';\nimport {\n isBodyElement,\n isCanvasElement,\n isCustomElement,\n isElementNode,\n isHTMLElementNode,\n isIFrameElement,\n isImageElement,\n isScriptElement,\n isSelectElement,\n isSlotElement,\n isStyleElement,\n isSVGElementNode,\n isTextareaElement,\n isTextNode,\n isVideoElement\n} from './node-parser';\nimport {isIdentToken, nonFunctionArgSeparator} from '../css/syntax/parser';\nimport {TokenType} from '../css/syntax/tokenizer';\nimport {CounterState, createCounterText} from '../css/types/functions/counter';\nimport {LIST_STYLE_TYPE, listStyleType} from '../css/property-descriptors/list-style-type';\nimport {CSSParsedCounterDeclaration, CSSParsedPseudoDeclaration} from '../css/index';\nimport {getQuote} from '../css/property-descriptors/quotes';\nimport {Context} from '../core/context';\nimport {DebuggerType, isDebugging} from '../core/debugger';\n\nexport interface CloneOptions {\n ignoreElements?: (element: Element) => boolean;\n onclone?: (document: Document, element: HTMLElement) => void;\n allowTaint?: boolean;\n}\n\nexport interface WindowOptions {\n scrollX: number;\n scrollY: number;\n windowWidth: number;\n windowHeight: number;\n}\n\nexport type CloneConfigurations = CloneOptions & {\n inlineImages: boolean;\n copyStyles: boolean;\n};\n\nconst IGNORE_ATTRIBUTE = 'data-html2canvas-ignore';\n\nexport class DocumentCloner {\n private readonly scrolledElements: [Element, number, number][];\n private readonly referenceElement: HTMLElement;\n clonedReferenceElement?: HTMLElement;\n private readonly documentElement: HTMLElement;\n private readonly counters: CounterState;\n private quoteDepth: number;\n\n constructor(\n private readonly context: Context,\n element: HTMLElement,\n private readonly options: CloneConfigurations\n ) {\n this.scrolledElements = [];\n this.referenceElement = element;\n this.counters = new CounterState();\n this.quoteDepth = 0;\n if (!element.ownerDocument) {\n throw new Error('Cloned element does not have an owner document');\n }\n\n this.documentElement = this.cloneNode(element.ownerDocument.documentElement, false) as HTMLElement;\n }\n\n toIFrame(ownerDocument: Document, windowSize: Bounds): Promise {\n const iframe: HTMLIFrameElement = createIFrameContainer(ownerDocument, windowSize);\n\n if (!iframe.contentWindow) {\n return Promise.reject(`Unable to find iframe window`);\n }\n\n const scrollX = (ownerDocument.defaultView as Window).pageXOffset;\n const scrollY = (ownerDocument.defaultView as Window).pageYOffset;\n\n const cloneWindow = iframe.contentWindow;\n const documentClone: Document = cloneWindow.document;\n\n /* Chrome doesn't detect relative background-images assigned in inline \";\r\n var nW = globalObject.open();\r\n\r\n if (nW !== null) {\r\n nW.document.write(htmlForNewWindow);\r\n }\r\n return nW;\r\n } else {\r\n throw new Error(\r\n \"The option pdfobjectnewwindow just works in a browser-environment.\"\r\n );\r\n }\r\n case \"pdfjsnewwindow\":\r\n if (\r\n Object.prototype.toString.call(globalObject) === \"[object Window]\"\r\n ) {\r\n var pdfJsUrl = options.pdfJsUrl || \"examples/PDF.js/web/viewer.html\";\r\n var htmlForPDFjsNewWindow =\r\n \"\" +\r\n \"\" +\r\n '' +\r\n \"\";\r\n var dataURLNewWindow = globalObject.open();\r\n if (dataURLNewWindow !== null) {\r\n dataURLNewWindow.document.write(htmlForDataURLNewWindow);\r\n dataURLNewWindow.document.title = options.filename;\r\n }\r\n if (dataURLNewWindow || typeof safari === \"undefined\")\r\n return dataURLNewWindow;\r\n } else {\r\n throw new Error(\r\n \"The option dataurlnewwindow just works in a browser-environment.\"\r\n );\r\n }\r\n break;\r\n case \"datauri\":\r\n case \"dataurl\":\r\n return (globalObject.document.location.href = this.output(\r\n \"datauristring\",\r\n options\r\n ));\r\n default:\r\n return null;\r\n }\r\n }));\r\n\r\n /**\r\n * Used to see if a supplied hotfix was requested when the pdf instance was created.\r\n * @param {string} hotfixName - The name of the hotfix to check.\r\n * @returns {boolean}\r\n */\r\n var hasHotfix = function(hotfixName) {\r\n return (\r\n Array.isArray(hotfixes) === true && hotfixes.indexOf(hotfixName) > -1\r\n );\r\n };\r\n\r\n switch (unit) {\r\n case \"pt\":\r\n scaleFactor = 1;\r\n break;\r\n case \"mm\":\r\n scaleFactor = 72 / 25.4;\r\n break;\r\n case \"cm\":\r\n scaleFactor = 72 / 2.54;\r\n break;\r\n case \"in\":\r\n scaleFactor = 72;\r\n break;\r\n case \"px\":\r\n if (hasHotfix(\"px_scaling\") == true) {\r\n scaleFactor = 72 / 96;\r\n } else {\r\n scaleFactor = 96 / 72;\r\n }\r\n break;\r\n case \"pc\":\r\n scaleFactor = 12;\r\n break;\r\n case \"em\":\r\n scaleFactor = 12;\r\n break;\r\n case \"ex\":\r\n scaleFactor = 6;\r\n break;\r\n default:\r\n if (typeof unit === \"number\") {\r\n scaleFactor = unit;\r\n } else {\r\n throw new Error(\"Invalid unit: \" + unit);\r\n }\r\n }\r\n\r\n var encryption = null;\r\n setCreationDate();\r\n setFileId();\r\n\r\n var getEncryptor = function(objectId) {\r\n if (encryptionOptions !== null) {\r\n return encryption.encryptor(objectId, 0);\r\n }\r\n return function(data) {\r\n return data;\r\n };\r\n };\r\n\r\n //---------------------------------------\r\n // Public API\r\n\r\n var getPageInfo = (API.__private__.getPageInfo = API.getPageInfo = function(\r\n pageNumberOneBased\r\n ) {\r\n if (isNaN(pageNumberOneBased) || pageNumberOneBased % 1 !== 0) {\r\n throw new Error(\"Invalid argument passed to jsPDF.getPageInfo\");\r\n }\r\n var objId = pagesContext[pageNumberOneBased].objId;\r\n return {\r\n objId: objId,\r\n pageNumber: pageNumberOneBased,\r\n pageContext: pagesContext[pageNumberOneBased]\r\n };\r\n });\r\n\r\n var getPageInfoByObjId = (API.__private__.getPageInfoByObjId = function(\r\n objId\r\n ) {\r\n if (isNaN(objId) || objId % 1 !== 0) {\r\n throw new Error(\"Invalid argument passed to jsPDF.getPageInfoByObjId\");\r\n }\r\n for (var pageNumber in pagesContext) {\r\n if (pagesContext[pageNumber].objId === objId) {\r\n break;\r\n }\r\n }\r\n return getPageInfo(pageNumber);\r\n });\r\n\r\n var getCurrentPageInfo = (API.__private__.getCurrentPageInfo = API.getCurrentPageInfo = function() {\r\n return {\r\n objId: pagesContext[currentPage].objId,\r\n pageNumber: currentPage,\r\n pageContext: pagesContext[currentPage]\r\n };\r\n });\r\n\r\n /**\r\n * Adds (and transfers the focus to) new page to the PDF document.\r\n * @param format {String/Array} The format of the new page. Can be:
  • a0 - a10
  • b0 - b10
  • c0 - c10
  • dl
  • letter
  • government-letter
  • legal
  • junior-legal
  • ledger
  • tabloid
  • credit-card

\r\n * Default is \"a4\". If you want to use your own format just pass instead of one of the above predefined formats the size as an number-array, e.g. [595.28, 841.89]\r\n * @param orientation {string} Orientation of the new page. Possible values are \"portrait\" or \"landscape\" (or shortcuts \"p\" (Default), \"l\").\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n *\r\n * @memberof jsPDF#\r\n * @name addPage\r\n */\r\n API.addPage = function() {\r\n _addPage.apply(this, arguments);\r\n return this;\r\n };\r\n /**\r\n * Adds (and transfers the focus to) new page to the PDF document.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n *\r\n * @memberof jsPDF#\r\n * @name setPage\r\n * @param {number} page Switch the active page to the page number specified (indexed starting at 1).\r\n * @example\r\n * doc = jsPDF()\r\n * doc.addPage()\r\n * doc.addPage()\r\n * doc.text('I am on page 3', 10, 10)\r\n * doc.setPage(1)\r\n * doc.text('I am on page 1', 10, 10)\r\n */\r\n API.setPage = function() {\r\n _setPage.apply(this, arguments);\r\n setOutputDestination.call(this, pages[currentPage]);\r\n return this;\r\n };\r\n\r\n /**\r\n * @name insertPage\r\n * @memberof jsPDF#\r\n *\r\n * @function\r\n * @instance\r\n * @param {Object} beforePage\r\n * @returns {jsPDF}\r\n */\r\n API.insertPage = function(beforePage) {\r\n this.addPage();\r\n this.movePage(currentPage, beforePage);\r\n return this;\r\n };\r\n\r\n /**\r\n * @name movePage\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n * @param {number} targetPage\r\n * @param {number} beforePage\r\n * @returns {jsPDF}\r\n */\r\n API.movePage = function(targetPage, beforePage) {\r\n var tmpPages, tmpPagesContext;\r\n if (targetPage > beforePage) {\r\n tmpPages = pages[targetPage];\r\n tmpPagesContext = pagesContext[targetPage];\r\n for (var i = targetPage; i > beforePage; i--) {\r\n pages[i] = pages[i - 1];\r\n pagesContext[i] = pagesContext[i - 1];\r\n }\r\n pages[beforePage] = tmpPages;\r\n pagesContext[beforePage] = tmpPagesContext;\r\n this.setPage(beforePage);\r\n } else if (targetPage < beforePage) {\r\n tmpPages = pages[targetPage];\r\n tmpPagesContext = pagesContext[targetPage];\r\n for (var j = targetPage; j < beforePage; j++) {\r\n pages[j] = pages[j + 1];\r\n pagesContext[j] = pagesContext[j + 1];\r\n }\r\n pages[beforePage] = tmpPages;\r\n pagesContext[beforePage] = tmpPagesContext;\r\n this.setPage(beforePage);\r\n }\r\n return this;\r\n };\r\n\r\n /**\r\n * Deletes a page from the PDF.\r\n * @name deletePage\r\n * @memberof jsPDF#\r\n * @function\r\n * @param {number} targetPage\r\n * @instance\r\n * @returns {jsPDF}\r\n */\r\n API.deletePage = function() {\r\n _deletePage.apply(this, arguments);\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds text to page. Supports adding multiline text when 'text' argument is an Array of Strings.\r\n *\r\n * @function\r\n * @instance\r\n * @param {String|Array} text String or array of strings to be added to the page. Each line is shifted one line down per font, spacing settings declared before this call.\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page.\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page.\r\n * @param {Object} [options] - Collection of settings signaling how the text must be encoded.\r\n * @param {string} [options.align=left] - The alignment of the text, possible values: left, center, right, justify.\r\n * @param {string} [options.baseline=alphabetic] - Sets text baseline used when drawing the text, possible values: alphabetic, ideographic, bottom, top, middle, hanging\r\n * @param {number|Matrix} [options.angle=0] - Rotate the text clockwise or counterclockwise. Expects the angle in degree.\r\n * @param {number} [options.rotationDirection=1] - Direction of the rotation. 0 = clockwise, 1 = counterclockwise.\r\n * @param {number} [options.charSpace=0] - The space between each letter.\r\n * @param {number} [options.horizontalScale=1] - Horizontal scale of the text as a factor of the regular size.\r\n * @param {number} [options.lineHeightFactor=1.15] - The lineheight of each line.\r\n * @param {Object} [options.flags] - Flags for to8bitStream.\r\n * @param {boolean} [options.flags.noBOM=true] - Don't add BOM to Unicode-text.\r\n * @param {boolean} [options.flags.autoencode=true] - Autoencode the Text.\r\n * @param {number} [options.maxWidth=0] - Split the text by given width, 0 = no split.\r\n * @param {string} [options.renderingMode=fill] - Set how the text should be rendered, possible values: fill, stroke, fillThenStroke, invisible, fillAndAddForClipping, strokeAndAddPathForClipping, fillThenStrokeAndAddToPathForClipping, addToPathForClipping.\r\n * @param {boolean} [options.isInputVisual] - Option for the BidiEngine\r\n * @param {boolean} [options.isOutputVisual] - Option for the BidiEngine\r\n * @param {boolean} [options.isInputRtl] - Option for the BidiEngine\r\n * @param {boolean} [options.isOutputRtl] - Option for the BidiEngine\r\n * @param {boolean} [options.isSymmetricSwapping] - Option for the BidiEngine\r\n * @param {number|Matrix} transform If transform is a number the text will be rotated by this value around the anchor set by x and y.\r\n *\r\n * If it is a Matrix, this matrix gets directly applied to the text, which allows shearing\r\n * effects etc.; the x and y offsets are then applied AFTER the coordinate system has been established by this\r\n * matrix. This means passing a rotation matrix that is equivalent to some rotation angle will in general yield a\r\n * DIFFERENT result. A matrix is only allowed in \"advanced\" API mode.\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name text\r\n */\r\n API.__private__.text = API.text = function(text, x, y, options, transform) {\r\n /*\r\n * Inserts something like this into PDF\r\n * BT\r\n * /F1 16 Tf % Font name + size\r\n * 16 TL % How many units down for next line in multiline text\r\n * 0 g % color\r\n * 28.35 813.54 Td % position\r\n * (line one) Tj\r\n * T* (line two) Tj\r\n * T* (line three) Tj\r\n * ET\r\n */\r\n options = options || {};\r\n var scope = options.scope || this;\r\n var payload, da, angle, align, charSpace, maxWidth, flags, horizontalScale;\r\n\r\n // Pre-August-2012 the order of arguments was function(x, y, text, flags)\r\n // in effort to make all calls have similar signature like\r\n // function(data, coordinates... , miscellaneous)\r\n // this method had its args flipped.\r\n // code below allows backward compatibility with old arg order.\r\n if (\r\n typeof text === \"number\" &&\r\n typeof x === \"number\" &&\r\n (typeof y === \"string\" || Array.isArray(y))\r\n ) {\r\n var tmp = y;\r\n y = x;\r\n x = text;\r\n text = tmp;\r\n }\r\n\r\n var transformationMatrix;\r\n\r\n if (arguments[3] instanceof Matrix === false) {\r\n flags = arguments[3];\r\n angle = arguments[4];\r\n align = arguments[5];\r\n\r\n if (typeof flags !== \"object\" || flags === null) {\r\n if (typeof angle === \"string\") {\r\n align = angle;\r\n angle = null;\r\n }\r\n if (typeof flags === \"string\") {\r\n align = flags;\r\n flags = null;\r\n }\r\n if (typeof flags === \"number\") {\r\n angle = flags;\r\n flags = null;\r\n }\r\n options = {\r\n flags: flags,\r\n angle: angle,\r\n align: align\r\n };\r\n }\r\n } else {\r\n advancedApiModeTrap(\r\n \"The transform parameter of text() with a Matrix value\"\r\n );\r\n transformationMatrix = transform;\r\n }\r\n\r\n if (isNaN(x) || isNaN(y) || typeof text === \"undefined\" || text === null) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.text\");\r\n }\r\n\r\n if (text.length === 0) {\r\n return scope;\r\n }\r\n\r\n var xtra = \"\";\r\n var isHex = false;\r\n var lineHeight =\r\n typeof options.lineHeightFactor === \"number\"\r\n ? options.lineHeightFactor\r\n : lineHeightFactor;\r\n var scaleFactor = scope.internal.scaleFactor;\r\n\r\n function ESC(s) {\r\n s = s.split(\"\\t\").join(Array(options.TabLen || 9).join(\" \"));\r\n return pdfEscape(s, flags);\r\n }\r\n\r\n function transformTextToSpecialArray(text) {\r\n //we don't want to destroy original text array, so cloning it\r\n var sa = text.concat();\r\n var da = [];\r\n var len = sa.length;\r\n var curDa;\r\n //we do array.join('text that must not be PDFescaped\")\r\n //thus, pdfEscape each component separately\r\n while (len--) {\r\n curDa = sa.shift();\r\n if (typeof curDa === \"string\") {\r\n da.push(curDa);\r\n } else {\r\n if (\r\n Array.isArray(text) &&\r\n (curDa.length === 1 ||\r\n (curDa[1] === undefined && curDa[2] === undefined))\r\n ) {\r\n da.push(curDa[0]);\r\n } else {\r\n da.push([curDa[0], curDa[1], curDa[2]]);\r\n }\r\n }\r\n }\r\n return da;\r\n }\r\n\r\n function processTextByFunction(text, processingFunction) {\r\n var result;\r\n if (typeof text === \"string\") {\r\n result = processingFunction(text)[0];\r\n } else if (Array.isArray(text)) {\r\n //we don't want to destroy original text array, so cloning it\r\n var sa = text.concat();\r\n var da = [];\r\n var len = sa.length;\r\n var curDa;\r\n var tmpResult;\r\n //we do array.join('text that must not be PDFescaped\")\r\n //thus, pdfEscape each component separately\r\n while (len--) {\r\n curDa = sa.shift();\r\n if (typeof curDa === \"string\") {\r\n da.push(processingFunction(curDa)[0]);\r\n } else if (Array.isArray(curDa) && typeof curDa[0] === \"string\") {\r\n tmpResult = processingFunction(curDa[0], curDa[1], curDa[2]);\r\n da.push([tmpResult[0], tmpResult[1], tmpResult[2]]);\r\n }\r\n }\r\n result = da;\r\n }\r\n return result;\r\n }\r\n\r\n //Check if text is of type String\r\n var textIsOfTypeString = false;\r\n var tmpTextIsOfTypeString = true;\r\n\r\n if (typeof text === \"string\") {\r\n textIsOfTypeString = true;\r\n } else if (Array.isArray(text)) {\r\n //we don't want to destroy original text array, so cloning it\r\n var sa = text.concat();\r\n da = [];\r\n var len = sa.length;\r\n var curDa;\r\n //we do array.join('text that must not be PDFescaped\")\r\n //thus, pdfEscape each component separately\r\n while (len--) {\r\n curDa = sa.shift();\r\n if (\r\n typeof curDa !== \"string\" ||\r\n (Array.isArray(curDa) && typeof curDa[0] !== \"string\")\r\n ) {\r\n tmpTextIsOfTypeString = false;\r\n }\r\n }\r\n textIsOfTypeString = tmpTextIsOfTypeString;\r\n }\r\n if (textIsOfTypeString === false) {\r\n throw new Error(\r\n 'Type of text must be string or Array. \"' +\r\n text +\r\n '\" is not recognized.'\r\n );\r\n }\r\n\r\n //If there are any newlines in text, we assume\r\n //the user wanted to print multiple lines, so break the\r\n //text up into an array. If the text is already an array,\r\n //we assume the user knows what they are doing.\r\n //Convert text into an array anyway to simplify\r\n //later code.\r\n\r\n if (typeof text === \"string\") {\r\n if (text.match(/[\\r?\\n]/)) {\r\n text = text.split(/\\r\\n|\\r|\\n/g);\r\n } else {\r\n text = [text];\r\n }\r\n }\r\n\r\n //baseline\r\n var height = activeFontSize / scope.internal.scaleFactor;\r\n var descent = height * (lineHeight - 1);\r\n\r\n switch (options.baseline) {\r\n case \"bottom\":\r\n y -= descent;\r\n break;\r\n case \"top\":\r\n y += height - descent;\r\n break;\r\n case \"hanging\":\r\n y += height - 2 * descent;\r\n break;\r\n case \"middle\":\r\n y += height / 2 - descent;\r\n break;\r\n case \"ideographic\":\r\n case \"alphabetic\":\r\n default:\r\n // do nothing, everything is fine\r\n break;\r\n }\r\n\r\n //multiline\r\n maxWidth = options.maxWidth || 0;\r\n\r\n if (maxWidth > 0) {\r\n if (typeof text === \"string\") {\r\n text = scope.splitTextToSize(text, maxWidth);\r\n } else if (Object.prototype.toString.call(text) === \"[object Array]\") {\r\n text = text.reduce(function(acc, textLine) {\r\n return acc.concat(scope.splitTextToSize(textLine, maxWidth));\r\n }, []);\r\n }\r\n }\r\n\r\n //creating Payload-Object to make text byRef\r\n payload = {\r\n text: text,\r\n x: x,\r\n y: y,\r\n options: options,\r\n mutex: {\r\n pdfEscape: pdfEscape,\r\n activeFontKey: activeFontKey,\r\n fonts: fonts,\r\n activeFontSize: activeFontSize\r\n }\r\n };\r\n events.publish(\"preProcessText\", payload);\r\n\r\n text = payload.text;\r\n options = payload.options;\r\n\r\n //angle\r\n angle = options.angle;\r\n\r\n if (\r\n transformationMatrix instanceof Matrix === false &&\r\n angle &&\r\n typeof angle === \"number\"\r\n ) {\r\n angle *= Math.PI / 180;\r\n\r\n if (options.rotationDirection === 0) {\r\n angle = -angle;\r\n }\r\n\r\n if (apiMode === ApiMode.ADVANCED) {\r\n angle = -angle;\r\n }\r\n\r\n var c = Math.cos(angle);\r\n var s = Math.sin(angle);\r\n transformationMatrix = new Matrix(c, s, -s, c, 0, 0);\r\n } else if (angle && angle instanceof Matrix) {\r\n transformationMatrix = angle;\r\n }\r\n\r\n if (apiMode === ApiMode.ADVANCED && !transformationMatrix) {\r\n transformationMatrix = identityMatrix;\r\n }\r\n\r\n //charSpace\r\n\r\n charSpace = options.charSpace || activeCharSpace;\r\n\r\n if (typeof charSpace !== \"undefined\") {\r\n xtra += hpf(scale(charSpace)) + \" Tc\\n\";\r\n this.setCharSpace(this.getCharSpace() || 0);\r\n }\r\n\r\n horizontalScale = options.horizontalScale;\r\n if (typeof horizontalScale !== \"undefined\") {\r\n xtra += hpf(horizontalScale * 100) + \" Tz\\n\";\r\n }\r\n\r\n //lang\r\n\r\n var lang = options.lang;\r\n\r\n if (lang) {\r\n // xtra += \"/Lang (\" + lang +\")\\n\";\r\n }\r\n\r\n //renderingMode\r\n var renderingMode = -1;\r\n var parmRenderingMode =\r\n typeof options.renderingMode !== \"undefined\"\r\n ? options.renderingMode\r\n : options.stroke;\r\n var pageContext = scope.internal.getCurrentPageInfo().pageContext;\r\n\r\n switch (parmRenderingMode) {\r\n case 0:\r\n case false:\r\n case \"fill\":\r\n renderingMode = 0;\r\n break;\r\n case 1:\r\n case true:\r\n case \"stroke\":\r\n renderingMode = 1;\r\n break;\r\n case 2:\r\n case \"fillThenStroke\":\r\n renderingMode = 2;\r\n break;\r\n case 3:\r\n case \"invisible\":\r\n renderingMode = 3;\r\n break;\r\n case 4:\r\n case \"fillAndAddForClipping\":\r\n renderingMode = 4;\r\n break;\r\n case 5:\r\n case \"strokeAndAddPathForClipping\":\r\n renderingMode = 5;\r\n break;\r\n case 6:\r\n case \"fillThenStrokeAndAddToPathForClipping\":\r\n renderingMode = 6;\r\n break;\r\n case 7:\r\n case \"addToPathForClipping\":\r\n renderingMode = 7;\r\n break;\r\n }\r\n\r\n var usedRenderingMode =\r\n typeof pageContext.usedRenderingMode !== \"undefined\"\r\n ? pageContext.usedRenderingMode\r\n : -1;\r\n\r\n //if the coder wrote it explicitly to use a specific\r\n //renderingMode, then use it\r\n if (renderingMode !== -1) {\r\n xtra += renderingMode + \" Tr\\n\";\r\n //otherwise check if we used the rendering Mode already\r\n //if so then set the rendering Mode...\r\n } else if (usedRenderingMode !== -1) {\r\n xtra += \"0 Tr\\n\";\r\n }\r\n\r\n if (renderingMode !== -1) {\r\n pageContext.usedRenderingMode = renderingMode;\r\n }\r\n\r\n //align\r\n align = options.align || \"left\";\r\n var leading = activeFontSize * lineHeight;\r\n var pageWidth = scope.internal.pageSize.getWidth();\r\n var activeFont = fonts[activeFontKey];\r\n charSpace = options.charSpace || activeCharSpace;\r\n maxWidth = options.maxWidth || 0;\r\n\r\n var lineWidths;\r\n flags = Object.assign({ autoencode: true, noBOM: true }, options.flags);\r\n\r\n var wordSpacingPerLine = [];\r\n\r\n if (Object.prototype.toString.call(text) === \"[object Array]\") {\r\n da = transformTextToSpecialArray(text);\r\n var newY;\r\n if (align !== \"left\") {\r\n lineWidths = da.map(function(v) {\r\n return (\r\n (scope.getStringUnitWidth(v, {\r\n font: activeFont,\r\n charSpace: charSpace,\r\n fontSize: activeFontSize,\r\n doKerning: false\r\n }) *\r\n activeFontSize) /\r\n scaleFactor\r\n );\r\n });\r\n }\r\n //The first line uses the \"main\" Td setting,\r\n //and the subsequent lines are offset by the\r\n //previous line's x coordinate.\r\n var prevWidth = 0;\r\n var newX;\r\n if (align === \"right\") {\r\n //The passed in x coordinate defines the\r\n //rightmost point of the text.\r\n x -= lineWidths[0];\r\n text = [];\r\n len = da.length;\r\n for (var i = 0; i < len; i++) {\r\n if (i === 0) {\r\n newX = getHorizontalCoordinate(x);\r\n newY = getVerticalCoordinate(y);\r\n } else {\r\n newX = scale(prevWidth - lineWidths[i]);\r\n newY = -leading;\r\n }\r\n text.push([da[i], newX, newY]);\r\n prevWidth = lineWidths[i];\r\n }\r\n } else if (align === \"center\") {\r\n //The passed in x coordinate defines\r\n //the center point.\r\n x -= lineWidths[0] / 2;\r\n text = [];\r\n len = da.length;\r\n for (var j = 0; j < len; j++) {\r\n if (j === 0) {\r\n newX = getHorizontalCoordinate(x);\r\n newY = getVerticalCoordinate(y);\r\n } else {\r\n newX = scale((prevWidth - lineWidths[j]) / 2);\r\n newY = -leading;\r\n }\r\n text.push([da[j], newX, newY]);\r\n prevWidth = lineWidths[j];\r\n }\r\n } else if (align === \"left\") {\r\n text = [];\r\n len = da.length;\r\n for (var h = 0; h < len; h++) {\r\n text.push(da[h]);\r\n }\r\n } else if (align === \"justify\") {\r\n text = [];\r\n len = da.length;\r\n maxWidth = maxWidth !== 0 ? maxWidth : pageWidth;\r\n\r\n for (var l = 0; l < len; l++) {\r\n newY = l === 0 ? getVerticalCoordinate(y) : -leading;\r\n newX = l === 0 ? getHorizontalCoordinate(x) : 0;\r\n if (l < len - 1) {\r\n wordSpacingPerLine.push(\r\n hpf(\r\n scale(\r\n (maxWidth - lineWidths[l]) / (da[l].split(\" \").length - 1)\r\n )\r\n )\r\n );\r\n } else {\r\n wordSpacingPerLine.push(0);\r\n }\r\n text.push([da[l], newX, newY]);\r\n }\r\n } else {\r\n throw new Error(\r\n 'Unrecognized alignment option, use \"left\", \"center\", \"right\" or \"justify\".'\r\n );\r\n }\r\n }\r\n\r\n //R2L\r\n var doReversing = typeof options.R2L === \"boolean\" ? options.R2L : R2L;\r\n if (doReversing === true) {\r\n text = processTextByFunction(text, function(text, posX, posY) {\r\n return [\r\n text\r\n .split(\"\")\r\n .reverse()\r\n .join(\"\"),\r\n posX,\r\n posY\r\n ];\r\n });\r\n }\r\n\r\n //creating Payload-Object to make text byRef\r\n payload = {\r\n text: text,\r\n x: x,\r\n y: y,\r\n options: options,\r\n mutex: {\r\n pdfEscape: pdfEscape,\r\n activeFontKey: activeFontKey,\r\n fonts: fonts,\r\n activeFontSize: activeFontSize\r\n }\r\n };\r\n events.publish(\"postProcessText\", payload);\r\n\r\n text = payload.text;\r\n isHex = payload.mutex.isHex || false;\r\n\r\n //Escaping\r\n var activeFontEncoding = fonts[activeFontKey].encoding;\r\n\r\n if (\r\n activeFontEncoding === \"WinAnsiEncoding\" ||\r\n activeFontEncoding === \"StandardEncoding\"\r\n ) {\r\n text = processTextByFunction(text, function(text, posX, posY) {\r\n return [ESC(text), posX, posY];\r\n });\r\n }\r\n\r\n da = transformTextToSpecialArray(text);\r\n\r\n text = [];\r\n var STRING = 0;\r\n var ARRAY = 1;\r\n var variant = Array.isArray(da[0]) ? ARRAY : STRING;\r\n var posX;\r\n var posY;\r\n var content;\r\n var wordSpacing = \"\";\r\n\r\n var generatePosition = function(\r\n parmPosX,\r\n parmPosY,\r\n parmTransformationMatrix\r\n ) {\r\n var position = \"\";\r\n if (parmTransformationMatrix instanceof Matrix) {\r\n // It is kind of more intuitive to apply a plain rotation around the text anchor set by x and y\r\n // but when the user supplies an arbitrary transformation matrix, the x and y offsets should be applied\r\n // in the coordinate system established by this matrix\r\n if (typeof options.angle === \"number\") {\r\n parmTransformationMatrix = matrixMult(\r\n parmTransformationMatrix,\r\n new Matrix(1, 0, 0, 1, parmPosX, parmPosY)\r\n );\r\n } else {\r\n parmTransformationMatrix = matrixMult(\r\n new Matrix(1, 0, 0, 1, parmPosX, parmPosY),\r\n parmTransformationMatrix\r\n );\r\n }\r\n\r\n if (apiMode === ApiMode.ADVANCED) {\r\n parmTransformationMatrix = matrixMult(\r\n new Matrix(1, 0, 0, -1, 0, 0),\r\n parmTransformationMatrix\r\n );\r\n }\r\n\r\n position = parmTransformationMatrix.join(\" \") + \" Tm\\n\";\r\n } else {\r\n position = hpf(parmPosX) + \" \" + hpf(parmPosY) + \" Td\\n\";\r\n }\r\n return position;\r\n };\r\n\r\n for (var lineIndex = 0; lineIndex < da.length; lineIndex++) {\r\n wordSpacing = \"\";\r\n\r\n switch (variant) {\r\n case ARRAY:\r\n content =\r\n (isHex ? \"<\" : \"(\") + da[lineIndex][0] + (isHex ? \">\" : \")\");\r\n posX = parseFloat(da[lineIndex][1]);\r\n posY = parseFloat(da[lineIndex][2]);\r\n break;\r\n case STRING:\r\n content = (isHex ? \"<\" : \"(\") + da[lineIndex] + (isHex ? \">\" : \")\");\r\n posX = getHorizontalCoordinate(x);\r\n posY = getVerticalCoordinate(y);\r\n break;\r\n }\r\n\r\n if (\r\n typeof wordSpacingPerLine !== \"undefined\" &&\r\n typeof wordSpacingPerLine[lineIndex] !== \"undefined\"\r\n ) {\r\n wordSpacing = wordSpacingPerLine[lineIndex] + \" Tw\\n\";\r\n }\r\n\r\n if (lineIndex === 0) {\r\n text.push(\r\n wordSpacing +\r\n generatePosition(posX, posY, transformationMatrix) +\r\n content\r\n );\r\n } else if (variant === STRING) {\r\n text.push(wordSpacing + content);\r\n } else if (variant === ARRAY) {\r\n text.push(\r\n wordSpacing +\r\n generatePosition(posX, posY, transformationMatrix) +\r\n content\r\n );\r\n }\r\n }\r\n\r\n text = variant === STRING ? text.join(\" Tj\\nT* \") : text.join(\" Tj\\n\");\r\n text += \" Tj\\n\";\r\n\r\n var result = \"BT\\n/\";\r\n result += activeFontKey + \" \" + activeFontSize + \" Tf\\n\"; // font face, style, size\r\n result += hpf(activeFontSize * lineHeight) + \" TL\\n\"; // line spacing\r\n result += textColor + \"\\n\";\r\n result += xtra;\r\n result += text;\r\n result += \"ET\";\r\n\r\n out(result);\r\n usedFonts[activeFontKey] = true;\r\n return scope;\r\n };\r\n\r\n // PDF supports these path painting and clip path operators:\r\n //\r\n // S - stroke\r\n // s - close/stroke\r\n // f (F) - fill non-zero\r\n // f* - fill evenodd\r\n // B - fill stroke nonzero\r\n // B* - fill stroke evenodd\r\n // b - close fill stroke nonzero\r\n // b* - close fill stroke evenodd\r\n // n - nothing (consume path)\r\n // W - clip nonzero\r\n // W* - clip evenodd\r\n //\r\n // In order to keep the API small, we omit the close-and-fill/stroke operators and provide a separate close()\r\n // method.\r\n /**\r\n *\r\n * @name clip\r\n * @function\r\n * @instance\r\n * @param {string} rule Only possible value is 'evenodd'\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @description All .clip() after calling drawing ops with a style argument of null.\r\n */\r\n var clip = (API.__private__.clip = API.clip = function(rule) {\r\n // Call .clip() after calling drawing ops with a style argument of null\r\n // W is the PDF clipping op\r\n if (\"evenodd\" === rule) {\r\n out(\"W*\");\r\n } else {\r\n out(\"W\");\r\n }\r\n return this;\r\n });\r\n\r\n /**\r\n * @name clipEvenOdd\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @description Modify the current clip path by intersecting it with the current path using the even-odd rule. Note\r\n * that this will NOT consume the current path. In order to only use this path for clipping call\r\n * {@link API.discardPath} afterwards.\r\n */\r\n API.clipEvenOdd = function() {\r\n return clip(\"evenodd\");\r\n };\r\n\r\n /**\r\n * Consumes the current path without any effect. Mainly used in combination with {@link clip} or\r\n * {@link clipEvenOdd}. The PDF \"n\" operator.\r\n * @name discardPath\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.__private__.discardPath = API.discardPath = function() {\r\n out(\"n\");\r\n return this;\r\n };\r\n\r\n var isValidStyle = (API.__private__.isValidStyle = function(style) {\r\n var validStyleVariants = [\r\n undefined,\r\n null,\r\n \"S\",\r\n \"D\",\r\n \"F\",\r\n \"DF\",\r\n \"FD\",\r\n \"f\",\r\n \"f*\",\r\n \"B\",\r\n \"B*\",\r\n \"n\"\r\n ];\r\n var result = false;\r\n if (validStyleVariants.indexOf(style) !== -1) {\r\n result = true;\r\n }\r\n return result;\r\n });\r\n\r\n API.__private__.setDefaultPathOperation = API.setDefaultPathOperation = function(\r\n operator\r\n ) {\r\n if (isValidStyle(operator)) {\r\n defaultPathOperation = operator;\r\n }\r\n return this;\r\n };\r\n\r\n var getStyle = (API.__private__.getStyle = API.getStyle = function(style) {\r\n // see path-painting operators in PDF spec\r\n var op = defaultPathOperation; // stroke\r\n\r\n switch (style) {\r\n case \"D\":\r\n case \"S\":\r\n op = \"S\"; // stroke\r\n break;\r\n case \"F\":\r\n op = \"f\"; // fill\r\n break;\r\n case \"FD\":\r\n case \"DF\":\r\n op = \"B\";\r\n break;\r\n case \"f\":\r\n case \"f*\":\r\n case \"B\":\r\n case \"B*\":\r\n /*\r\n Allow direct use of these PDF path-painting operators:\r\n - f fill using nonzero winding number rule\r\n - f* fill using even-odd rule\r\n - B fill then stroke with fill using non-zero winding number rule\r\n - B* fill then stroke with fill using even-odd rule\r\n */\r\n op = style;\r\n break;\r\n }\r\n return op;\r\n });\r\n\r\n /**\r\n * Close the current path. The PDF \"h\" operator.\r\n * @name close\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n var close = (API.close = function() {\r\n out(\"h\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Stroke the path. The PDF \"S\" operator.\r\n * @name stroke\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.stroke = function() {\r\n out(\"S\");\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill the current path using the nonzero winding number rule. If a pattern is provided, the path will be filled\r\n * with this pattern, otherwise with the current fill color. Equivalent to the PDF \"f\" operator.\r\n * @name fill\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be filled with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fill = function(pattern) {\r\n fillWithOptionalPattern(\"f\", pattern);\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill the current path using the even-odd rule. The PDF f* operator.\r\n * @see API.fill\r\n * @name fillEvenOdd\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be filled with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fillEvenOdd = function(pattern) {\r\n fillWithOptionalPattern(\"f*\", pattern);\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill using the nonzero winding number rule and then stroke the current Path. The PDF \"B\" operator.\r\n * @see API.fill\r\n * @name fillStroke\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be stroked with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fillStroke = function(pattern) {\r\n fillWithOptionalPattern(\"B\", pattern);\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill using the even-odd rule and then stroke the current Path. The PDF \"B\" operator.\r\n * @see API.fill\r\n * @name fillStrokeEvenOdd\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be fill-stroked with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fillStrokeEvenOdd = function(pattern) {\r\n fillWithOptionalPattern(\"B*\", pattern);\r\n return this;\r\n };\r\n\r\n var fillWithOptionalPattern = function(style, pattern) {\r\n if (typeof pattern === \"object\") {\r\n fillWithPattern(pattern, style);\r\n } else {\r\n out(style);\r\n }\r\n };\r\n\r\n var putStyle = function(style) {\r\n if (\r\n style === null ||\r\n (apiMode === ApiMode.ADVANCED && style === undefined)\r\n ) {\r\n return;\r\n }\r\n\r\n style = getStyle(style);\r\n\r\n // stroking / filling / both the path\r\n out(style);\r\n };\r\n\r\n function cloneTilingPattern(patternKey, boundingBox, xStep, yStep, matrix) {\r\n var clone = new TilingPattern(\r\n boundingBox || this.boundingBox,\r\n xStep || this.xStep,\r\n yStep || this.yStep,\r\n this.gState,\r\n matrix || this.matrix\r\n );\r\n clone.stream = this.stream;\r\n var key = patternKey + \"$$\" + this.cloneIndex++ + \"$$\";\r\n addPattern(key, clone);\r\n return clone;\r\n }\r\n\r\n var fillWithPattern = function(patternData, style) {\r\n var patternId = patternMap[patternData.key];\r\n var pattern = patterns[patternId];\r\n\r\n if (pattern instanceof ShadingPattern) {\r\n out(\"q\");\r\n\r\n out(clipRuleFromStyle(style));\r\n\r\n if (pattern.gState) {\r\n API.setGState(pattern.gState);\r\n }\r\n out(patternData.matrix.toString() + \" cm\");\r\n out(\"/\" + patternId + \" sh\");\r\n out(\"Q\");\r\n } else if (pattern instanceof TilingPattern) {\r\n // pdf draws patterns starting at the bottom left corner and they are not affected by the global transformation,\r\n // so we must flip them\r\n var matrix = new Matrix(1, 0, 0, -1, 0, getPageHeight());\r\n\r\n if (patternData.matrix) {\r\n matrix = matrix.multiply(patternData.matrix || identityMatrix);\r\n // we cannot apply a matrix to the pattern on use so we must abuse the pattern matrix and create new instances\r\n // for each use\r\n patternId = cloneTilingPattern.call(\r\n pattern,\r\n patternData.key,\r\n patternData.boundingBox,\r\n patternData.xStep,\r\n patternData.yStep,\r\n matrix\r\n ).id;\r\n }\r\n\r\n out(\"q\");\r\n out(\"/Pattern cs\");\r\n out(\"/\" + patternId + \" scn\");\r\n\r\n if (pattern.gState) {\r\n API.setGState(pattern.gState);\r\n }\r\n\r\n out(style);\r\n out(\"Q\");\r\n }\r\n };\r\n\r\n var clipRuleFromStyle = function(style) {\r\n switch (style) {\r\n case \"f\":\r\n case \"F\":\r\n return \"W n\";\r\n case \"f*\":\r\n return \"W* n\";\r\n case \"B\":\r\n return \"W S\";\r\n case \"B*\":\r\n return \"W* S\";\r\n\r\n // these two are for compatibility reasons (in the past, calling any primitive method with a shading pattern\r\n // and \"n\"/\"S\" as style would still fill/fill and stroke the path)\r\n case \"S\":\r\n return \"W S\";\r\n case \"n\":\r\n return \"W n\";\r\n }\r\n };\r\n\r\n /**\r\n * Begin a new subpath by moving the current point to coordinates (x, y). The PDF \"m\" operator.\r\n * @param {number} x\r\n * @param {number} y\r\n * @name moveTo\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @returns {jsPDF}\r\n */\r\n var moveTo = (API.moveTo = function(x, y) {\r\n out(hpf(scale(x)) + \" \" + hpf(transformScaleY(y)) + \" m\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Append a straight line segment from the current point to the point (x, y). The PDF \"l\" operator.\r\n * @param {number} x\r\n * @param {number} y\r\n * @memberof jsPDF#\r\n * @name lineTo\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @returns {jsPDF}\r\n */\r\n var lineTo = (API.lineTo = function(x, y) {\r\n out(hpf(scale(x)) + \" \" + hpf(transformScaleY(y)) + \" l\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Append a cubic Bézier curve to the current path. The curve shall extend from the current point to the point\r\n * (x3, y3), using (x1, y1) and (x2, y2) as Bézier control points. The new current point shall be (x3, x3).\r\n * @param {number} x1\r\n * @param {number} y1\r\n * @param {number} x2\r\n * @param {number} y2\r\n * @param {number} x3\r\n * @param {number} y3\r\n * @memberof jsPDF#\r\n * @name curveTo\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @returns {jsPDF}\r\n */\r\n var curveTo = (API.curveTo = function(x1, y1, x2, y2, x3, y3) {\r\n out(\r\n [\r\n hpf(scale(x1)),\r\n hpf(transformScaleY(y1)),\r\n hpf(scale(x2)),\r\n hpf(transformScaleY(y2)),\r\n hpf(scale(x3)),\r\n hpf(transformScaleY(y3)),\r\n \"c\"\r\n ].join(\" \")\r\n );\r\n return this;\r\n });\r\n\r\n /**\r\n * Draw a line on the current page.\r\n *\r\n * @name line\r\n * @function\r\n * @instance\r\n * @param {number} x1\r\n * @param {number} y1\r\n * @param {number} x2\r\n * @param {number} y2\r\n * @param {string} style A string specifying the painting style or null. Valid styles include: 'S' [default] - stroke, 'F' - fill, and 'DF' (or 'FD') - fill then stroke. A null value postpones setting the style so that a shape may be composed using multiple method calls. The last drawing method call used to define the shape should not have a null style argument. default: 'S'\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.__private__.line = API.line = function(x1, y1, x2, y2, style) {\r\n if (\r\n isNaN(x1) ||\r\n isNaN(y1) ||\r\n isNaN(x2) ||\r\n isNaN(y2) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.line\");\r\n }\r\n if (apiMode === ApiMode.COMPAT) {\r\n return this.lines([[x2 - x1, y2 - y1]], x1, y1, [1, 1], style || \"S\");\r\n } else {\r\n return this.lines([[x2 - x1, y2 - y1]], x1, y1, [1, 1]).stroke();\r\n }\r\n };\r\n\r\n /**\r\n * @typedef {Object} PatternData\r\n * {Matrix|undefined} matrix\r\n * {Number|undefined} xStep\r\n * {Number|undefined} yStep\r\n * {Array.|undefined} boundingBox\r\n */\r\n\r\n /**\r\n * Adds series of curves (straight lines or cubic bezier curves) to canvas, starting at `x`, `y` coordinates.\r\n * All data points in `lines` are relative to last line origin.\r\n * `x`, `y` become x1,y1 for first line / curve in the set.\r\n * For lines you only need to specify [x2, y2] - (ending point) vector against x1, y1 starting point.\r\n * For bezier curves you need to specify [x2,y2,x3,y3,x4,y4] - vectors to control points 1, 2, ending point. All vectors are against the start of the curve - x1,y1.\r\n *\r\n * @example .lines([[2,2],[-2,2],[1,1,2,2,3,3],[2,1]], 212,110, [1,1], 'F', false) // line, line, bezier curve, line\r\n * @param {Array} lines Array of *vector* shifts as pairs (lines) or sextets (cubic bezier curves).\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} scale (Defaults to [1.0,1.0]) x,y Scaling factor for all vectors. Elements can be any floating number Sub-one makes drawing smaller. Over-one grows the drawing. Negative flips the direction.\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @param {Boolean=} closed If true, the path is closed with a straight line from the end of the last curve to the starting point.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name lines\r\n */\r\n API.__private__.lines = API.lines = function(\r\n lines,\r\n x,\r\n y,\r\n scale,\r\n style,\r\n closed\r\n ) {\r\n var scalex, scaley, i, l, leg, x2, y2, x3, y3, x4, y4, tmp;\r\n\r\n // Pre-August-2012 the order of arguments was function(x, y, lines, scale, style)\r\n // in effort to make all calls have similar signature like\r\n // function(content, coordinateX, coordinateY , miscellaneous)\r\n // this method had its args flipped.\r\n // code below allows backward compatibility with old arg order.\r\n if (typeof lines === \"number\") {\r\n tmp = y;\r\n y = x;\r\n x = lines;\r\n lines = tmp;\r\n }\r\n\r\n scale = scale || [1, 1];\r\n closed = closed || false;\r\n\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n !Array.isArray(lines) ||\r\n !Array.isArray(scale) ||\r\n !isValidStyle(style) ||\r\n typeof closed !== \"boolean\"\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.lines\");\r\n }\r\n\r\n // starting point\r\n moveTo(x, y);\r\n\r\n scalex = scale[0];\r\n scaley = scale[1];\r\n l = lines.length;\r\n //, x2, y2 // bezier only. In page default measurement \"units\", *after* scaling\r\n //, x3, y3 // bezier only. In page default measurement \"units\", *after* scaling\r\n // ending point for all, lines and bezier. . In page default measurement \"units\", *after* scaling\r\n x4 = x; // last / ending point = starting point for first item.\r\n y4 = y; // last / ending point = starting point for first item.\r\n\r\n for (i = 0; i < l; i++) {\r\n leg = lines[i];\r\n if (leg.length === 2) {\r\n // simple line\r\n x4 = leg[0] * scalex + x4; // here last x4 was prior ending point\r\n y4 = leg[1] * scaley + y4; // here last y4 was prior ending point\r\n lineTo(x4, y4);\r\n } else {\r\n // bezier curve\r\n x2 = leg[0] * scalex + x4; // here last x4 is prior ending point\r\n y2 = leg[1] * scaley + y4; // here last y4 is prior ending point\r\n x3 = leg[2] * scalex + x4; // here last x4 is prior ending point\r\n y3 = leg[3] * scaley + y4; // here last y4 is prior ending point\r\n x4 = leg[4] * scalex + x4; // here last x4 was prior ending point\r\n y4 = leg[5] * scaley + y4; // here last y4 was prior ending point\r\n curveTo(x2, y2, x3, y3, x4, y4);\r\n }\r\n }\r\n\r\n if (closed) {\r\n close();\r\n }\r\n\r\n putStyle(style);\r\n return this;\r\n };\r\n\r\n /**\r\n * Similar to {@link API.lines} but all coordinates are interpreted as absolute coordinates instead of relative.\r\n * @param {Array} lines An array of {op: operator, c: coordinates} object, where op is one of \"m\" (move to), \"l\" (line to)\r\n * \"c\" (cubic bezier curve) and \"h\" (close (sub)path)). c is an array of coordinates. \"m\" and \"l\" expect two, \"c\"\r\n * six and \"h\" an empty array (or undefined).\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name path\r\n */\r\n API.path = function(lines) {\r\n for (var i = 0; i < lines.length; i++) {\r\n var leg = lines[i];\r\n var coords = leg.c;\r\n switch (leg.op) {\r\n case \"m\":\r\n moveTo(coords[0], coords[1]);\r\n break;\r\n case \"l\":\r\n lineTo(coords[0], coords[1]);\r\n break;\r\n case \"c\":\r\n curveTo.apply(this, coords);\r\n break;\r\n case \"h\":\r\n close();\r\n break;\r\n }\r\n }\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds a rectangle to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} w Width (in units declared at inception of PDF document)\r\n * @param {number} h Height (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name rect\r\n */\r\n API.__private__.rect = API.rect = function(x, y, w, h, style) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h) || !isValidStyle(style)) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.rect\");\r\n }\r\n if (apiMode === ApiMode.COMPAT) {\r\n h = -h;\r\n }\r\n\r\n out(\r\n [\r\n hpf(scale(x)),\r\n hpf(transformScaleY(y)),\r\n hpf(scale(w)),\r\n hpf(scale(h)),\r\n \"re\"\r\n ].join(\" \")\r\n );\r\n\r\n putStyle(style);\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds a triangle to PDF.\r\n *\r\n * @param {number} x1 Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y1 Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} x2 Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y2 Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} x3 Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y3 Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name triangle\r\n */\r\n API.__private__.triangle = API.triangle = function(\r\n x1,\r\n y1,\r\n x2,\r\n y2,\r\n x3,\r\n y3,\r\n style\r\n ) {\r\n if (\r\n isNaN(x1) ||\r\n isNaN(y1) ||\r\n isNaN(x2) ||\r\n isNaN(y2) ||\r\n isNaN(x3) ||\r\n isNaN(y3) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.triangle\");\r\n }\r\n this.lines(\r\n [\r\n [x2 - x1, y2 - y1], // vector to point 2\r\n [x3 - x2, y3 - y2], // vector to point 3\r\n [x1 - x3, y1 - y3] // closing vector back to point 1\r\n ],\r\n x1,\r\n y1, // start of path\r\n [1, 1],\r\n style,\r\n true\r\n );\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds a rectangle with rounded corners to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} w Width (in units declared at inception of PDF document)\r\n * @param {number} h Height (in units declared at inception of PDF document)\r\n * @param {number} rx Radius along x axis (in units declared at inception of PDF document)\r\n * @param {number} ry Radius along y axis (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name roundedRect\r\n */\r\n API.__private__.roundedRect = API.roundedRect = function(\r\n x,\r\n y,\r\n w,\r\n h,\r\n rx,\r\n ry,\r\n style\r\n ) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(w) ||\r\n isNaN(h) ||\r\n isNaN(rx) ||\r\n isNaN(ry) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.roundedRect\");\r\n }\r\n var MyArc = (4 / 3) * (Math.SQRT2 - 1);\r\n\r\n rx = Math.min(rx, w * 0.5);\r\n ry = Math.min(ry, h * 0.5);\r\n\r\n this.lines(\r\n [\r\n [w - 2 * rx, 0],\r\n [rx * MyArc, 0, rx, ry - ry * MyArc, rx, ry],\r\n [0, h - 2 * ry],\r\n [0, ry * MyArc, -(rx * MyArc), ry, -rx, ry],\r\n [-w + 2 * rx, 0],\r\n [-(rx * MyArc), 0, -rx, -(ry * MyArc), -rx, -ry],\r\n [0, -h + 2 * ry],\r\n [0, -(ry * MyArc), rx * MyArc, -ry, rx, -ry]\r\n ],\r\n x + rx,\r\n y, // start of path\r\n [1, 1],\r\n style,\r\n true\r\n );\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds an ellipse to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} rx Radius along x axis (in units declared at inception of PDF document)\r\n * @param {number} ry Radius along y axis (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name ellipse\r\n */\r\n API.__private__.ellipse = API.ellipse = function(x, y, rx, ry, style) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(rx) ||\r\n isNaN(ry) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.ellipse\");\r\n }\r\n var lx = (4 / 3) * (Math.SQRT2 - 1) * rx,\r\n ly = (4 / 3) * (Math.SQRT2 - 1) * ry;\r\n\r\n moveTo(x + rx, y);\r\n curveTo(x + rx, y - ly, x + lx, y - ry, x, y - ry);\r\n curveTo(x - lx, y - ry, x - rx, y - ly, x - rx, y);\r\n curveTo(x - rx, y + ly, x - lx, y + ry, x, y + ry);\r\n curveTo(x + lx, y + ry, x + rx, y + ly, x + rx, y);\r\n\r\n putStyle(style);\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds an circle to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} r Radius (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name circle\r\n */\r\n API.__private__.circle = API.circle = function(x, y, r, style) {\r\n if (isNaN(x) || isNaN(y) || isNaN(r) || !isValidStyle(style)) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.circle\");\r\n }\r\n return this.ellipse(x, y, r, r, style);\r\n };\r\n\r\n /**\r\n * Sets text font face, variant for upcoming text elements.\r\n * See output of jsPDF.getFontList() for possible font names, styles.\r\n *\r\n * @param {string} fontName Font name or family. Example: \"times\".\r\n * @param {string} fontStyle Font style or variant. Example: \"italic\".\r\n * @param {number | string} fontWeight Weight of the Font. Example: \"normal\" | 400\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setFont\r\n */\r\n API.setFont = function(fontName, fontStyle, fontWeight) {\r\n if (fontWeight) {\r\n fontStyle = combineFontStyleAndFontWeight(fontStyle, fontWeight);\r\n }\r\n activeFontKey = getFont(fontName, fontStyle, {\r\n disableWarning: false\r\n });\r\n return this;\r\n };\r\n\r\n /**\r\n * Gets text font face, variant for upcoming text elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {Object}\r\n * @memberof jsPDF#\r\n * @name getFont\r\n */\r\n var getFontEntry = (API.__private__.getFont = API.getFont = function() {\r\n return fonts[getFont.apply(API, arguments)];\r\n });\r\n\r\n /**\r\n * Returns an object - a tree of fontName to fontStyle relationships available to\r\n * active PDF document.\r\n *\r\n * @public\r\n * @function\r\n * @instance\r\n * @returns {Object} Like {'times':['normal', 'italic', ... ], 'arial':['normal', 'bold', ... ], ... }\r\n * @memberof jsPDF#\r\n * @name getFontList\r\n */\r\n API.__private__.getFontList = API.getFontList = function() {\r\n var list = {},\r\n fontName,\r\n fontStyle;\r\n\r\n for (fontName in fontmap) {\r\n if (fontmap.hasOwnProperty(fontName)) {\r\n list[fontName] = [];\r\n for (fontStyle in fontmap[fontName]) {\r\n if (fontmap[fontName].hasOwnProperty(fontStyle)) {\r\n list[fontName].push(fontStyle);\r\n }\r\n }\r\n }\r\n }\r\n return list;\r\n };\r\n\r\n /**\r\n * Add a custom font to the current instance.\r\n *\r\n * @param {string} postScriptName PDF specification full name for the font.\r\n * @param {string} id PDF-document-instance-specific label assinged to the font.\r\n * @param {string} fontStyle Style of the Font.\r\n * @param {number | string} fontWeight Weight of the Font.\r\n * @param {Object} encoding Encoding_name-to-Font_metrics_object mapping.\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @name addFont\r\n * @returns {string} fontId\r\n */\r\n API.addFont = function(\r\n postScriptName,\r\n fontName,\r\n fontStyle,\r\n fontWeight,\r\n encoding\r\n ) {\r\n var encodingOptions = [\r\n \"StandardEncoding\",\r\n \"MacRomanEncoding\",\r\n \"Identity-H\",\r\n \"WinAnsiEncoding\"\r\n ];\r\n if (arguments[3] && encodingOptions.indexOf(arguments[3]) !== -1) {\r\n //IE 11 fix\r\n encoding = arguments[3];\r\n } else if (arguments[3] && encodingOptions.indexOf(arguments[3]) == -1) {\r\n fontStyle = combineFontStyleAndFontWeight(fontStyle, fontWeight);\r\n }\r\n encoding = encoding || \"Identity-H\";\r\n return addFont.call(this, postScriptName, fontName, fontStyle, encoding);\r\n };\r\n\r\n var lineWidth = options.lineWidth || 0.200025; // 2mm\r\n /**\r\n * Gets the line width, default: 0.200025.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {number} lineWidth\r\n * @memberof jsPDF#\r\n * @name getLineWidth\r\n */\r\n var getLineWidth = (API.__private__.getLineWidth = API.getLineWidth = function() {\r\n return lineWidth;\r\n });\r\n\r\n /**\r\n * Sets line width for upcoming lines.\r\n *\r\n * @param {number} width Line width (in units declared at inception of PDF document).\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineWidth\r\n */\r\n var setLineWidth = (API.__private__.setLineWidth = API.setLineWidth = function(\r\n width\r\n ) {\r\n lineWidth = width;\r\n out(hpf(scale(width)) + \" w\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Sets the dash pattern for upcoming lines.\r\n *\r\n * To reset the settings simply call the method without any parameters.\r\n * @param {Array} dashArray An array containing 0-2 numbers. The first number sets the length of the\r\n * dashes, the second number the length of the gaps. If the second number is missing, the gaps are considered\r\n * to be as long as the dashes. An empty array means solid, unbroken lines.\r\n * @param {number} dashPhase The phase lines start with.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineDashPattern\r\n */\r\n API.__private__.setLineDash = jsPDF.API.setLineDash = jsPDF.API.setLineDashPattern = function(\r\n dashArray,\r\n dashPhase\r\n ) {\r\n dashArray = dashArray || [];\r\n dashPhase = dashPhase || 0;\r\n\r\n if (isNaN(dashPhase) || !Array.isArray(dashArray)) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.setLineDash\");\r\n }\r\n\r\n dashArray = dashArray\r\n .map(function(x) {\r\n return hpf(scale(x));\r\n })\r\n .join(\" \");\r\n dashPhase = hpf(scale(dashPhase));\r\n\r\n out(\"[\" + dashArray + \"] \" + dashPhase + \" d\");\r\n return this;\r\n };\r\n\r\n var lineHeightFactor;\r\n\r\n var getLineHeight = (API.__private__.getLineHeight = API.getLineHeight = function() {\r\n return activeFontSize * lineHeightFactor;\r\n });\r\n\r\n API.__private__.getLineHeight = API.getLineHeight = function() {\r\n return activeFontSize * lineHeightFactor;\r\n };\r\n\r\n /**\r\n * Sets the LineHeightFactor of proportion.\r\n *\r\n * @param {number} value LineHeightFactor value. Default: 1.15.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineHeightFactor\r\n */\r\n var setLineHeightFactor = (API.__private__.setLineHeightFactor = API.setLineHeightFactor = function(\r\n value\r\n ) {\r\n value = value || 1.15;\r\n if (typeof value === \"number\") {\r\n lineHeightFactor = value;\r\n }\r\n return this;\r\n });\r\n\r\n /**\r\n * Gets the LineHeightFactor, default: 1.15.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {number} lineHeightFactor\r\n * @memberof jsPDF#\r\n * @name getLineHeightFactor\r\n */\r\n var getLineHeightFactor = (API.__private__.getLineHeightFactor = API.getLineHeightFactor = function() {\r\n return lineHeightFactor;\r\n });\r\n\r\n setLineHeightFactor(options.lineHeight);\r\n\r\n var getHorizontalCoordinate = (API.__private__.getHorizontalCoordinate = function(\r\n value\r\n ) {\r\n return scale(value);\r\n });\r\n\r\n var getVerticalCoordinate = (API.__private__.getVerticalCoordinate = function(\r\n value\r\n ) {\r\n if (apiMode === ApiMode.ADVANCED) {\r\n return value;\r\n } else {\r\n var pageHeight =\r\n pagesContext[currentPage].mediaBox.topRightY -\r\n pagesContext[currentPage].mediaBox.bottomLeftY;\r\n return pageHeight - scale(value);\r\n }\r\n });\r\n\r\n var getHorizontalCoordinateString = (API.__private__.getHorizontalCoordinateString = API.getHorizontalCoordinateString = function(\r\n value\r\n ) {\r\n return hpf(getHorizontalCoordinate(value));\r\n });\r\n\r\n var getVerticalCoordinateString = (API.__private__.getVerticalCoordinateString = API.getVerticalCoordinateString = function(\r\n value\r\n ) {\r\n return hpf(getVerticalCoordinate(value));\r\n });\r\n\r\n var strokeColor = options.strokeColor || \"0 G\";\r\n\r\n /**\r\n * Gets the stroke color for upcoming elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {string} colorAsHex\r\n * @memberof jsPDF#\r\n * @name getDrawColor\r\n */\r\n API.__private__.getStrokeColor = API.getDrawColor = function() {\r\n return decodeColorString(strokeColor);\r\n };\r\n\r\n /**\r\n * Sets the stroke color for upcoming elements.\r\n *\r\n * Depending on the number of arguments given, Gray, RGB, or CMYK\r\n * color space is implied.\r\n *\r\n * When only ch1 is given, \"Gray\" color space is implied and it\r\n * must be a value in the range from 0.00 (solid black) to to 1.00 (white)\r\n * if values are communicated as String types, or in range from 0 (black)\r\n * to 255 (white) if communicated as Number type.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When only ch1,ch2,ch3 are given, \"RGB\" color space is implied and each\r\n * value must be in the range from 0.00 (minimum intensity) to to 1.00\r\n * (max intensity) if values are communicated as String types, or\r\n * from 0 (min intensity) to to 255 (max intensity) if values are communicated\r\n * as Number types.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When ch1,ch2,ch3,ch4 are given, \"CMYK\" color space is implied and each\r\n * value must be a in the range from 0.00 (0% concentration) to to\r\n * 1.00 (100% concentration)\r\n *\r\n * Because JavaScript treats fixed point numbers badly (rounds to\r\n * floating point nearest to binary representation) it is highly advised to\r\n * communicate the fractional numbers as String types, not JavaScript Number type.\r\n *\r\n * @param {Number|String} ch1 Color channel value or {string} ch1 color value in hexadecimal, example: '#FFFFFF'.\r\n * @param {Number} ch2 Color channel value.\r\n * @param {Number} ch3 Color channel value.\r\n * @param {Number} ch4 Color channel value.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setDrawColor\r\n */\r\n API.__private__.setStrokeColor = API.setDrawColor = function(\r\n ch1,\r\n ch2,\r\n ch3,\r\n ch4\r\n ) {\r\n var options = {\r\n ch1: ch1,\r\n ch2: ch2,\r\n ch3: ch3,\r\n ch4: ch4,\r\n pdfColorType: \"draw\",\r\n precision: 2\r\n };\r\n\r\n strokeColor = encodeColorString(options);\r\n out(strokeColor);\r\n return this;\r\n };\r\n\r\n var fillColor = options.fillColor || \"0 g\";\r\n\r\n /**\r\n * Gets the fill color for upcoming elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {string} colorAsHex\r\n * @memberof jsPDF#\r\n * @name getFillColor\r\n */\r\n API.__private__.getFillColor = API.getFillColor = function() {\r\n return decodeColorString(fillColor);\r\n };\r\n\r\n /**\r\n * Sets the fill color for upcoming elements.\r\n *\r\n * Depending on the number of arguments given, Gray, RGB, or CMYK\r\n * color space is implied.\r\n *\r\n * When only ch1 is given, \"Gray\" color space is implied and it\r\n * must be a value in the range from 0.00 (solid black) to to 1.00 (white)\r\n * if values are communicated as String types, or in range from 0 (black)\r\n * to 255 (white) if communicated as Number type.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When only ch1,ch2,ch3 are given, \"RGB\" color space is implied and each\r\n * value must be in the range from 0.00 (minimum intensity) to to 1.00\r\n * (max intensity) if values are communicated as String types, or\r\n * from 0 (min intensity) to to 255 (max intensity) if values are communicated\r\n * as Number types.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When ch1,ch2,ch3,ch4 are given, \"CMYK\" color space is implied and each\r\n * value must be a in the range from 0.00 (0% concentration) to to\r\n * 1.00 (100% concentration)\r\n *\r\n * Because JavaScript treats fixed point numbers badly (rounds to\r\n * floating point nearest to binary representation) it is highly advised to\r\n * communicate the fractional numbers as String types, not JavaScript Number type.\r\n *\r\n * @param {Number|String} ch1 Color channel value or {string} ch1 color value in hexadecimal, example: '#FFFFFF'.\r\n * @param {Number} ch2 Color channel value.\r\n * @param {Number} ch3 Color channel value.\r\n * @param {Number} ch4 Color channel value.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setFillColor\r\n */\r\n API.__private__.setFillColor = API.setFillColor = function(\r\n ch1,\r\n ch2,\r\n ch3,\r\n ch4\r\n ) {\r\n var options = {\r\n ch1: ch1,\r\n ch2: ch2,\r\n ch3: ch3,\r\n ch4: ch4,\r\n pdfColorType: \"fill\",\r\n precision: 2\r\n };\r\n\r\n fillColor = encodeColorString(options);\r\n out(fillColor);\r\n return this;\r\n };\r\n\r\n var textColor = options.textColor || \"0 g\";\r\n /**\r\n * Gets the text color for upcoming elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {string} colorAsHex\r\n * @memberof jsPDF#\r\n * @name getTextColor\r\n */\r\n var getTextColor = (API.__private__.getTextColor = API.getTextColor = function() {\r\n return decodeColorString(textColor);\r\n });\r\n /**\r\n * Sets the text color for upcoming elements.\r\n *\r\n * Depending on the number of arguments given, Gray, RGB, or CMYK\r\n * color space is implied.\r\n *\r\n * When only ch1 is given, \"Gray\" color space is implied and it\r\n * must be a value in the range from 0.00 (solid black) to to 1.00 (white)\r\n * if values are communicated as String types, or in range from 0 (black)\r\n * to 255 (white) if communicated as Number type.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When only ch1,ch2,ch3 are given, \"RGB\" color space is implied and each\r\n * value must be in the range from 0.00 (minimum intensity) to to 1.00\r\n * (max intensity) if values are communicated as String types, or\r\n * from 0 (min intensity) to to 255 (max intensity) if values are communicated\r\n * as Number types.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When ch1,ch2,ch3,ch4 are given, \"CMYK\" color space is implied and each\r\n * value must be a in the range from 0.00 (0% concentration) to to\r\n * 1.00 (100% concentration)\r\n *\r\n * Because JavaScript treats fixed point numbers badly (rounds to\r\n * floating point nearest to binary representation) it is highly advised to\r\n * communicate the fractional numbers as String types, not JavaScript Number type.\r\n *\r\n * @param {Number|String} ch1 Color channel value or {string} ch1 color value in hexadecimal, example: '#FFFFFF'.\r\n * @param {Number} ch2 Color channel value.\r\n * @param {Number} ch3 Color channel value.\r\n * @param {Number} ch4 Color channel value.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setTextColor\r\n */\r\n API.__private__.setTextColor = API.setTextColor = function(\r\n ch1,\r\n ch2,\r\n ch3,\r\n ch4\r\n ) {\r\n var options = {\r\n ch1: ch1,\r\n ch2: ch2,\r\n ch3: ch3,\r\n ch4: ch4,\r\n pdfColorType: \"text\",\r\n precision: 3\r\n };\r\n textColor = encodeColorString(options);\r\n\r\n return this;\r\n };\r\n\r\n var activeCharSpace = options.charSpace;\r\n\r\n /**\r\n * Get global value of CharSpace.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {number} charSpace\r\n * @memberof jsPDF#\r\n * @name getCharSpace\r\n */\r\n var getCharSpace = (API.__private__.getCharSpace = API.getCharSpace = function() {\r\n return parseFloat(activeCharSpace || 0);\r\n });\r\n\r\n /**\r\n * Set global value of CharSpace.\r\n *\r\n * @param {number} charSpace\r\n * @function\r\n * @instance\r\n * @returns {jsPDF} jsPDF-instance\r\n * @memberof jsPDF#\r\n * @name setCharSpace\r\n */\r\n API.__private__.setCharSpace = API.setCharSpace = function(charSpace) {\r\n if (isNaN(charSpace)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.setCharSpace\");\r\n }\r\n activeCharSpace = charSpace;\r\n return this;\r\n };\r\n\r\n var lineCapID = 0;\r\n /**\r\n * Is an Object providing a mapping from human-readable to\r\n * integer flag values designating the varieties of line cap\r\n * and join styles.\r\n *\r\n * @memberof jsPDF#\r\n * @name CapJoinStyles\r\n */\r\n API.CapJoinStyles = {\r\n 0: 0,\r\n butt: 0,\r\n but: 0,\r\n miter: 0,\r\n 1: 1,\r\n round: 1,\r\n rounded: 1,\r\n circle: 1,\r\n 2: 2,\r\n projecting: 2,\r\n project: 2,\r\n square: 2,\r\n bevel: 2\r\n };\r\n\r\n /**\r\n * Sets the line cap styles.\r\n * See {jsPDF.CapJoinStyles} for variants.\r\n *\r\n * @param {String|Number} style A string or number identifying the type of line cap.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineCap\r\n */\r\n API.__private__.setLineCap = API.setLineCap = function(style) {\r\n var id = API.CapJoinStyles[style];\r\n if (id === undefined) {\r\n throw new Error(\r\n \"Line cap style of '\" +\r\n style +\r\n \"' is not recognized. See or extend .CapJoinStyles property for valid styles\"\r\n );\r\n }\r\n lineCapID = id;\r\n out(id + \" J\");\r\n\r\n return this;\r\n };\r\n\r\n var lineJoinID = 0;\r\n /**\r\n * Sets the line join styles.\r\n * See {jsPDF.CapJoinStyles} for variants.\r\n *\r\n * @param {String|Number} style A string or number identifying the type of line join.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineJoin\r\n */\r\n API.__private__.setLineJoin = API.setLineJoin = function(style) {\r\n var id = API.CapJoinStyles[style];\r\n if (id === undefined) {\r\n throw new Error(\r\n \"Line join style of '\" +\r\n style +\r\n \"' is not recognized. See or extend .CapJoinStyles property for valid styles\"\r\n );\r\n }\r\n lineJoinID = id;\r\n out(id + \" j\");\r\n\r\n return this;\r\n };\r\n\r\n var miterLimit;\r\n /**\r\n * Sets the miterLimit property, which effects the maximum miter length.\r\n *\r\n * @param {number} length The length of the miter\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineMiterLimit\r\n */\r\n API.__private__.setLineMiterLimit = API.__private__.setMiterLimit = API.setLineMiterLimit = API.setMiterLimit = function(\r\n length\r\n ) {\r\n length = length || 0;\r\n if (isNaN(length)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.setLineMiterLimit\");\r\n }\r\n out(hpf(scale(length)) + \" M\");\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * An object representing a pdf graphics state.\r\n * @class GState\r\n */\r\n\r\n /**\r\n *\r\n * @param parameters A parameter object that contains all properties this graphics state wants to set.\r\n * Supported are: opacity, stroke-opacity\r\n * @constructor\r\n */\r\n API.GState = GState;\r\n\r\n /**\r\n * Sets a either previously added {@link GState} (via {@link addGState}) or a new {@link GState}.\r\n * @param {String|GState} gState If type is string, a previously added GState is used, if type is GState\r\n * it will be added before use.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setGState\r\n */\r\n API.setGState = function(gState) {\r\n if (typeof gState === \"string\") {\r\n gState = gStates[gStatesMap[gState]];\r\n } else {\r\n gState = addGState(null, gState);\r\n }\r\n\r\n if (!gState.equals(activeGState)) {\r\n out(\"/\" + gState.id + \" gs\");\r\n activeGState = gState;\r\n }\r\n };\r\n\r\n /**\r\n * Adds a new Graphics State. Duplicates are automatically eliminated.\r\n * @param {String} key Might also be null, if no later reference to this gState is needed\r\n * @param {Object} gState The gState object\r\n */\r\n var addGState = function(key, gState) {\r\n // only add it if it is not already present (the keys provided by the user must be unique!)\r\n if (key && gStatesMap[key]) return;\r\n var duplicate = false;\r\n for (var s in gStates) {\r\n if (gStates.hasOwnProperty(s)) {\r\n if (gStates[s].equals(gState)) {\r\n duplicate = true;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (duplicate) {\r\n gState = gStates[s];\r\n } else {\r\n var gStateKey = \"GS\" + (Object.keys(gStates).length + 1).toString(10);\r\n gStates[gStateKey] = gState;\r\n gState.id = gStateKey;\r\n }\r\n\r\n // several user keys may point to the same GState object\r\n key && (gStatesMap[key] = gState.id);\r\n\r\n events.publish(\"addGState\", gState);\r\n\r\n return gState;\r\n };\r\n\r\n /**\r\n * Adds a new {@link GState} for later use. See {@link setGState}.\r\n * @param {String} key\r\n * @param {GState} gState\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n *\r\n * @memberof jsPDF#\r\n * @name addGState\r\n */\r\n API.addGState = function(key, gState) {\r\n addGState(key, gState);\r\n return this;\r\n };\r\n\r\n /**\r\n * Saves the current graphics state (\"pushes it on the stack\"). It can be restored by {@link restoreGraphicsState}\r\n * later. Here, the general pdf graphics state is meant, also including the current transformation matrix,\r\n * fill and stroke colors etc.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name saveGraphicsState\r\n */\r\n API.saveGraphicsState = function() {\r\n out(\"q\");\r\n // as we cannot set font key and size independently we must keep track of both\r\n fontStateStack.push({\r\n key: activeFontKey,\r\n size: activeFontSize,\r\n color: textColor\r\n });\r\n return this;\r\n };\r\n\r\n /**\r\n * Restores a previously saved graphics state saved by {@link saveGraphicsState} (\"pops the stack\").\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name restoreGraphicsState\r\n */\r\n API.restoreGraphicsState = function() {\r\n out(\"Q\");\r\n\r\n // restore previous font state\r\n var fontState = fontStateStack.pop();\r\n activeFontKey = fontState.key;\r\n activeFontSize = fontState.size;\r\n textColor = fontState.color;\r\n\r\n activeGState = null;\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * Appends this matrix to the left of all previously applied matrices.\r\n *\r\n * @param {Matrix} matrix\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setCurrentTransformationMatrix\r\n */\r\n API.setCurrentTransformationMatrix = function(matrix) {\r\n out(matrix.toString() + \" cm\");\r\n return this;\r\n };\r\n\r\n /**\r\n * Inserts a debug comment into the generated pdf.\r\n * @function\r\n * @instance\r\n * @param {String} text\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name comment\r\n */\r\n API.comment = function(text) {\r\n out(\"#\" + text);\r\n return this;\r\n };\r\n\r\n /**\r\n * Point\r\n */\r\n var Point = function(x, y) {\r\n var _x = x || 0;\r\n Object.defineProperty(this, \"x\", {\r\n enumerable: true,\r\n get: function() {\r\n return _x;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _x = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n var _y = y || 0;\r\n Object.defineProperty(this, \"y\", {\r\n enumerable: true,\r\n get: function() {\r\n return _y;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _y = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n var _type = \"pt\";\r\n Object.defineProperty(this, \"type\", {\r\n enumerable: true,\r\n get: function() {\r\n return _type;\r\n },\r\n set: function(value) {\r\n _type = value.toString();\r\n }\r\n });\r\n return this;\r\n };\r\n\r\n /**\r\n * Rectangle\r\n */\r\n var Rectangle = function(x, y, w, h) {\r\n Point.call(this, x, y);\r\n this.type = \"rect\";\r\n\r\n var _w = w || 0;\r\n Object.defineProperty(this, \"w\", {\r\n enumerable: true,\r\n get: function() {\r\n return _w;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _w = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n var _h = h || 0;\r\n Object.defineProperty(this, \"h\", {\r\n enumerable: true,\r\n get: function() {\r\n return _h;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _h = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * FormObject/RenderTarget\r\n */\r\n\r\n var RenderTarget = function() {\r\n this.page = page;\r\n this.currentPage = currentPage;\r\n this.pages = pages.slice(0);\r\n this.pagesContext = pagesContext.slice(0);\r\n this.x = pageX;\r\n this.y = pageY;\r\n this.matrix = pageMatrix;\r\n this.width = getPageWidth(currentPage);\r\n this.height = getPageHeight(currentPage);\r\n this.outputDestination = outputDestination;\r\n\r\n this.id = \"\"; // set by endFormObject()\r\n this.objectNumber = -1; // will be set by putXObject()\r\n };\r\n\r\n RenderTarget.prototype.restore = function() {\r\n page = this.page;\r\n currentPage = this.currentPage;\r\n pagesContext = this.pagesContext;\r\n pages = this.pages;\r\n pageX = this.x;\r\n pageY = this.y;\r\n pageMatrix = this.matrix;\r\n setPageWidth(currentPage, this.width);\r\n setPageHeight(currentPage, this.height);\r\n outputDestination = this.outputDestination;\r\n };\r\n\r\n var beginNewRenderTarget = function(x, y, width, height, matrix) {\r\n // save current state\r\n renderTargetStack.push(new RenderTarget());\r\n\r\n // clear pages\r\n page = currentPage = 0;\r\n pages = [];\r\n pageX = x;\r\n pageY = y;\r\n\r\n pageMatrix = matrix;\r\n\r\n beginPage([width, height]);\r\n };\r\n\r\n var endFormObject = function(key) {\r\n // only add it if it is not already present (the keys provided by the user must be unique!)\r\n if (renderTargetMap[key]) {\r\n renderTargetStack.pop().restore();\r\n return;\r\n }\r\n\r\n // save the created xObject\r\n var newXObject = new RenderTarget();\r\n\r\n var xObjectId = \"Xo\" + (Object.keys(renderTargets).length + 1).toString(10);\r\n newXObject.id = xObjectId;\r\n\r\n renderTargetMap[key] = xObjectId;\r\n renderTargets[xObjectId] = newXObject;\r\n\r\n events.publish(\"addFormObject\", newXObject);\r\n\r\n // restore state from stack\r\n renderTargetStack.pop().restore();\r\n };\r\n\r\n /**\r\n * Starts a new pdf form object, which means that all consequent draw calls target a new independent object\r\n * until {@link endFormObject} is called. The created object can be referenced and drawn later using\r\n * {@link doFormObject}. Nested form objects are possible.\r\n * x, y, width, height set the bounding box that is used to clip the content.\r\n *\r\n * @param {number} x\r\n * @param {number} y\r\n * @param {number} width\r\n * @param {number} height\r\n * @param {Matrix} matrix The matrix that will be applied to convert the form objects coordinate system to\r\n * the parent's.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name beginFormObject\r\n */\r\n API.beginFormObject = function(x, y, width, height, matrix) {\r\n // The user can set the output target to a new form object. Nested form objects are possible.\r\n // Currently, they use the resource dictionary of the surrounding stream. This should be changed, as\r\n // the PDF-Spec states:\r\n // \"In PDF 1.2 and later versions, form XObjects may be independent of the content streams in which\r\n // they appear, and this is strongly recommended although not requiredIn PDF 1.2 and later versions,\r\n // form XObjects may be independent of the content streams in which they appear, and this is strongly\r\n // recommended although not required\"\r\n beginNewRenderTarget(x, y, width, height, matrix);\r\n return this;\r\n };\r\n\r\n /**\r\n * Completes and saves the form object.\r\n * @param {String} key The key by which this form object can be referenced.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name endFormObject\r\n */\r\n API.endFormObject = function(key) {\r\n endFormObject(key);\r\n return this;\r\n };\r\n\r\n /**\r\n * Draws the specified form object by referencing to the respective pdf XObject created with\r\n * {@link API.beginFormObject} and {@link endFormObject}.\r\n * The location is determined by matrix.\r\n *\r\n * @param {String} key The key to the form object.\r\n * @param {Matrix} matrix The matrix applied before drawing the form object.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name doFormObject\r\n */\r\n API.doFormObject = function(key, matrix) {\r\n var xObject = renderTargets[renderTargetMap[key]];\r\n out(\"q\");\r\n out(matrix.toString() + \" cm\");\r\n out(\"/\" + xObject.id + \" Do\");\r\n out(\"Q\");\r\n return this;\r\n };\r\n\r\n /**\r\n * Returns the form object specified by key.\r\n * @param key {String}\r\n * @returns {{x: number, y: number, width: number, height: number, matrix: Matrix}}\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name getFormObject\r\n */\r\n API.getFormObject = function(key) {\r\n var xObject = renderTargets[renderTargetMap[key]];\r\n return {\r\n x: xObject.x,\r\n y: xObject.y,\r\n width: xObject.width,\r\n height: xObject.height,\r\n matrix: xObject.matrix\r\n };\r\n };\r\n\r\n /**\r\n * Saves as PDF document. An alias of jsPDF.output('save', 'filename.pdf').\r\n * Uses FileSaver.js-method saveAs.\r\n *\r\n * @memberof jsPDF#\r\n * @name save\r\n * @function\r\n * @instance\r\n * @param {string} filename The filename including extension.\r\n * @param {Object} options An Object with additional options, possible options: 'returnPromise'.\r\n * @returns {jsPDF|Promise} jsPDF-instance */\r\n API.save = function(filename, options) {\r\n filename = filename || \"generated.pdf\";\r\n\r\n options = options || {};\r\n options.returnPromise = options.returnPromise || false;\r\n\r\n if (options.returnPromise === false) {\r\n saveAs(getBlob(buildDocument()), filename);\r\n if (typeof saveAs.unload === \"function\") {\r\n if (globalObject.setTimeout) {\r\n setTimeout(saveAs.unload, 911);\r\n }\r\n }\r\n return this;\r\n } else {\r\n return new Promise(function(resolve, reject) {\r\n try {\r\n var result = saveAs(getBlob(buildDocument()), filename);\r\n if (typeof saveAs.unload === \"function\") {\r\n if (globalObject.setTimeout) {\r\n setTimeout(saveAs.unload, 911);\r\n }\r\n }\r\n resolve(result);\r\n } catch (e) {\r\n reject(e.message);\r\n }\r\n });\r\n }\r\n\r\n };\r\n\r\n // applying plugins (more methods) ON TOP of built-in API.\r\n // this is intentional as we allow plugins to override\r\n // built-ins\r\n for (var plugin in jsPDF.API) {\r\n if (jsPDF.API.hasOwnProperty(plugin)) {\r\n if (plugin === \"events\" && jsPDF.API.events.length) {\r\n (function(events, newEvents) {\r\n // jsPDF.API.events is a JS Array of Arrays\r\n // where each Array is a pair of event name, handler\r\n // Events were added by plugins to the jsPDF instantiator.\r\n // These are always added to the new instance and some ran\r\n // during instantiation.\r\n var eventname, handler_and_args, i;\r\n\r\n for (i = newEvents.length - 1; i !== -1; i--) {\r\n // subscribe takes 3 args: 'topic', function, runonce_flag\r\n // if undefined, runonce is false.\r\n // users can attach callback directly,\r\n // or they can attach an array with [callback, runonce_flag]\r\n // that's what the \"apply\" magic is for below.\r\n eventname = newEvents[i][0];\r\n handler_and_args = newEvents[i][1];\r\n events.subscribe.apply(\r\n events,\r\n [eventname].concat(\r\n typeof handler_and_args === \"function\"\r\n ? [handler_and_args]\r\n : handler_and_args\r\n )\r\n );\r\n }\r\n })(events, jsPDF.API.events);\r\n } else {\r\n API[plugin] = jsPDF.API[plugin];\r\n }\r\n }\r\n }\r\n\r\n var getPageWidth = (API.getPageWidth = function(pageNumber) {\r\n pageNumber = pageNumber || currentPage;\r\n return (\r\n (pagesContext[pageNumber].mediaBox.topRightX -\r\n pagesContext[pageNumber].mediaBox.bottomLeftX) /\r\n scaleFactor\r\n );\r\n });\r\n\r\n var setPageWidth = (API.setPageWidth = function(pageNumber, value) {\r\n pagesContext[pageNumber].mediaBox.topRightX =\r\n value * scaleFactor + pagesContext[pageNumber].mediaBox.bottomLeftX;\r\n });\r\n\r\n var getPageHeight = (API.getPageHeight = function(pageNumber) {\r\n pageNumber = pageNumber || currentPage;\r\n return (\r\n (pagesContext[pageNumber].mediaBox.topRightY -\r\n pagesContext[pageNumber].mediaBox.bottomLeftY) /\r\n scaleFactor\r\n );\r\n });\r\n\r\n var setPageHeight = (API.setPageHeight = function(pageNumber, value) {\r\n pagesContext[pageNumber].mediaBox.topRightY =\r\n value * scaleFactor + pagesContext[pageNumber].mediaBox.bottomLeftY;\r\n });\r\n\r\n /**\r\n * Object exposing internal API to plugins\r\n * @public\r\n * @ignore\r\n */\r\n API.internal = {\r\n pdfEscape: pdfEscape,\r\n getStyle: getStyle,\r\n getFont: getFontEntry,\r\n getFontSize: getFontSize,\r\n getCharSpace: getCharSpace,\r\n getTextColor: getTextColor,\r\n getLineHeight: getLineHeight,\r\n getLineHeightFactor: getLineHeightFactor,\r\n getLineWidth: getLineWidth,\r\n write: write,\r\n getHorizontalCoordinate: getHorizontalCoordinate,\r\n getVerticalCoordinate: getVerticalCoordinate,\r\n getCoordinateString: getHorizontalCoordinateString,\r\n getVerticalCoordinateString: getVerticalCoordinateString,\r\n collections: {},\r\n newObject: newObject,\r\n newAdditionalObject: newAdditionalObject,\r\n newObjectDeferred: newObjectDeferred,\r\n newObjectDeferredBegin: newObjectDeferredBegin,\r\n getFilters: getFilters,\r\n putStream: putStream,\r\n events: events,\r\n scaleFactor: scaleFactor,\r\n pageSize: {\r\n getWidth: function() {\r\n return getPageWidth(currentPage);\r\n },\r\n setWidth: function(value) {\r\n setPageWidth(currentPage, value);\r\n },\r\n getHeight: function() {\r\n return getPageHeight(currentPage);\r\n },\r\n setHeight: function(value) {\r\n setPageHeight(currentPage, value);\r\n }\r\n },\r\n encryptionOptions: encryptionOptions,\r\n encryption: encryption,\r\n getEncryptor: getEncryptor,\r\n output: output,\r\n getNumberOfPages: getNumberOfPages,\r\n pages: pages,\r\n out: out,\r\n f2: f2,\r\n f3: f3,\r\n getPageInfo: getPageInfo,\r\n getPageInfoByObjId: getPageInfoByObjId,\r\n getCurrentPageInfo: getCurrentPageInfo,\r\n getPDFVersion: getPdfVersion,\r\n Point: Point,\r\n Rectangle: Rectangle,\r\n Matrix: Matrix,\r\n hasHotfix: hasHotfix //Expose the hasHotfix check so plugins can also check them.\r\n };\r\n\r\n Object.defineProperty(API.internal.pageSize, \"width\", {\r\n get: function() {\r\n return getPageWidth(currentPage);\r\n },\r\n set: function(value) {\r\n setPageWidth(currentPage, value);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(API.internal.pageSize, \"height\", {\r\n get: function() {\r\n return getPageHeight(currentPage);\r\n },\r\n set: function(value) {\r\n setPageHeight(currentPage, value);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n\r\n //////////////////////////////////////////////////////\r\n // continuing initialization of jsPDF Document object\r\n //////////////////////////////////////////////////////\r\n // Add the first page automatically\r\n addFonts.call(API, standardFonts);\r\n activeFontKey = \"F1\";\r\n _addPage(format, orientation);\r\n\r\n events.publish(\"initialized\");\r\n return API;\r\n}\r\n\r\n/**\r\n * jsPDF.API is a STATIC property of jsPDF class.\r\n * jsPDF.API is an object you can add methods and properties to.\r\n * The methods / properties you add will show up in new jsPDF objects.\r\n *\r\n * One property is prepopulated. It is the 'events' Object. Plugin authors can add topics,\r\n * callbacks to this object. These will be reassigned to all new instances of jsPDF.\r\n *\r\n * @static\r\n * @public\r\n * @memberof jsPDF#\r\n * @name API\r\n *\r\n * @example\r\n * jsPDF.API.mymethod = function(){\r\n * // 'this' will be ref to internal API object. see jsPDF source\r\n * // , so you can refer to built-in methods like so:\r\n * // this.line(....)\r\n * // this.text(....)\r\n * }\r\n * var pdfdoc = new jsPDF()\r\n * pdfdoc.mymethod() // <- !!!!!!\r\n */\r\njsPDF.API = {\r\n events: []\r\n};\r\n/**\r\n * The version of jsPDF.\r\n * @name version\r\n * @type {string}\r\n * @memberof jsPDF#\r\n */\r\njsPDF.version = \"0.0.0\";\r\n\r\nexport { jsPDF, ShadingPattern, TilingPattern, GState };\r\nexport default jsPDF;\r\n","/* global jsPDF */\n/**\n * @license\n * Copyright (c) 2016 Alexander Weidt,\n * https://github.com/BiggA94\n *\n * Licensed under the MIT License. http://opensource.org/licenses/mit-license\n */\n\n/**\n * jsPDF AcroForm Plugin\n * @module AcroForm\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\nvar jsPDFAPI = jsPDF.API;\nvar scaleFactor = 1;\n\nvar pdfEscape = function(value) {\n return value\n .replace(/\\\\/g, \"\\\\\\\\\")\n .replace(/\\(/g, \"\\\\(\")\n .replace(/\\)/g, \"\\\\)\");\n};\nvar pdfUnescape = function(value) {\n return value\n .replace(/\\\\\\\\/g, \"\\\\\")\n .replace(/\\\\\\(/g, \"(\")\n .replace(/\\\\\\)/g, \")\");\n};\n\nvar f2 = function(number) {\n return number.toFixed(2); // Ie, %.2f\n};\n\nvar f5 = function(number) {\n return number.toFixed(5); // Ie, %.2f\n};\n\njsPDFAPI.__acroform__ = {};\nvar inherit = function(child, parent) {\n child.prototype = Object.create(parent.prototype);\n child.prototype.constructor = child;\n};\n\nvar scale = function(x) {\n return x * scaleFactor;\n};\n\nvar createFormXObject = function(formObject) {\n var xobj = new AcroFormXObject();\n var height = AcroFormAppearance.internal.getHeight(formObject) || 0;\n var width = AcroFormAppearance.internal.getWidth(formObject) || 0;\n xobj.BBox = [0, 0, Number(f2(width)), Number(f2(height))];\n return xobj;\n};\n\n/**\n * Bit-Operations\n */\nvar setBit = (jsPDFAPI.__acroform__.setBit = function(number, bitPosition) {\n number = number || 0;\n bitPosition = bitPosition || 0;\n\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.setBit\"\n );\n }\n var bitMask = 1 << bitPosition;\n\n number |= bitMask;\n\n return number;\n});\n\nvar clearBit = (jsPDFAPI.__acroform__.clearBit = function(number, bitPosition) {\n number = number || 0;\n bitPosition = bitPosition || 0;\n\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.clearBit\"\n );\n }\n var bitMask = 1 << bitPosition;\n\n number &= ~bitMask;\n\n return number;\n});\n\nvar getBit = (jsPDFAPI.__acroform__.getBit = function(number, bitPosition) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.getBit\"\n );\n }\n return (number & (1 << bitPosition)) === 0 ? 0 : 1;\n});\n\n/*\n * Ff starts counting the bit position at 1 and not like javascript at 0\n */\nvar getBitForPdf = (jsPDFAPI.__acroform__.getBitForPdf = function(\n number,\n bitPosition\n) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.getBitForPdf\"\n );\n }\n return getBit(number, bitPosition - 1);\n});\n\nvar setBitForPdf = (jsPDFAPI.__acroform__.setBitForPdf = function(\n number,\n bitPosition\n) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.setBitForPdf\"\n );\n }\n return setBit(number, bitPosition - 1);\n});\n\nvar clearBitForPdf = (jsPDFAPI.__acroform__.clearBitForPdf = function(\n number,\n bitPosition\n) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.clearBitForPdf\"\n );\n }\n return clearBit(number, bitPosition - 1);\n});\n\nvar calculateCoordinates = (jsPDFAPI.__acroform__.calculateCoordinates = function(\n args,\n scope\n) {\n var getHorizontalCoordinate = scope.internal.getHorizontalCoordinate;\n var getVerticalCoordinate = scope.internal.getVerticalCoordinate;\n var x = args[0];\n var y = args[1];\n var w = args[2];\n var h = args[3];\n\n var coordinates = {};\n\n coordinates.lowerLeft_X = getHorizontalCoordinate(x) || 0;\n coordinates.lowerLeft_Y = getVerticalCoordinate(y + h) || 0;\n coordinates.upperRight_X = getHorizontalCoordinate(x + w) || 0;\n coordinates.upperRight_Y = getVerticalCoordinate(y) || 0;\n\n return [\n Number(f2(coordinates.lowerLeft_X)),\n Number(f2(coordinates.lowerLeft_Y)),\n Number(f2(coordinates.upperRight_X)),\n Number(f2(coordinates.upperRight_Y))\n ];\n});\n\nvar calculateAppearanceStream = function(formObject) {\n if (formObject.appearanceStreamContent) {\n return formObject.appearanceStreamContent;\n }\n\n if (!formObject.V && !formObject.DV) {\n return;\n }\n\n // else calculate it\n\n var stream = [];\n var text = formObject._V || formObject.DV;\n var calcRes = calculateX(formObject, text);\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n\n //PDF 32000-1:2008, page 444\n stream.push(\"/Tx BMC\");\n stream.push(\"q\");\n stream.push(\"BT\"); // Begin Text\n stream.push(formObject.scope.__private__.encodeColorString(formObject.color));\n stream.push(\"/\" + fontKey + \" \" + f2(calcRes.fontSize) + \" Tf\");\n stream.push(\"1 0 0 1 0 0 Tm\"); // Transformation Matrix\n stream.push(calcRes.text);\n stream.push(\"ET\"); // End Text\n stream.push(\"Q\");\n stream.push(\"EMC\");\n\n var appearanceStreamContent = createFormXObject(formObject);\n appearanceStreamContent.scope = formObject.scope;\n appearanceStreamContent.stream = stream.join(\"\\n\");\n return appearanceStreamContent;\n};\n\nvar calculateX = function(formObject, text) {\n var maxFontSize =\n formObject.fontSize === 0 ? formObject.maxFontSize : formObject.fontSize;\n var returnValue = {\n text: \"\",\n fontSize: \"\"\n };\n // Remove Brackets\n text = text.substr(0, 1) == \"(\" ? text.substr(1) : text;\n text =\n text.substr(text.length - 1) == \")\"\n ? text.substr(0, text.length - 1)\n : text;\n // split into array of words\n var textSplit = text.split(\" \");\n if (formObject.multiline) {\n textSplit = textSplit.map(word => word.split(\"\\n\"));\n } else {\n textSplit = textSplit.map(word => [word]);\n }\n\n var fontSize = maxFontSize; // The Starting fontSize (The Maximum)\n var lineSpacing = 2;\n var borderPadding = 2;\n\n var height = AcroFormAppearance.internal.getHeight(formObject) || 0;\n height = height < 0 ? -height : height;\n var width = AcroFormAppearance.internal.getWidth(formObject) || 0;\n width = width < 0 ? -width : width;\n\n var isSmallerThanWidth = function(i, lastLine, fontSize) {\n if (i + 1 < textSplit.length) {\n var tmp = lastLine + \" \" + textSplit[i + 1][0];\n var TextWidth = calculateFontSpace(tmp, formObject, fontSize).width;\n var FieldWidth = width - 2 * borderPadding;\n return TextWidth <= FieldWidth;\n } else {\n return false;\n }\n };\n\n fontSize++;\n FontSize: while (fontSize > 0) {\n text = \"\";\n fontSize--;\n var textHeight = calculateFontSpace(\"3\", formObject, fontSize).height;\n var startY = formObject.multiline\n ? height - fontSize\n : (height - textHeight) / 2;\n startY += lineSpacing;\n var startX;\n\n var lastY = startY;\n var firstWordInLine = 0,\n lastWordInLine = 0;\n var lastLength;\n var currWord = 0;\n\n if (fontSize <= 0) {\n // In case, the Text doesn't fit at all\n fontSize = 12;\n text = \"(...) Tj\\n\";\n text +=\n \"% Width of Text: \" +\n calculateFontSpace(text, formObject, fontSize).width +\n \", FieldWidth:\" +\n width +\n \"\\n\";\n break;\n }\n\n var lastLine = \"\";\n var lineCount = 0;\n Line: for (var i = 0; i < textSplit.length; i++) {\n if (textSplit.hasOwnProperty(i)) {\n let isWithNewLine = false;\n if (textSplit[i].length !== 1 && currWord !== textSplit[i].length - 1) {\n if (\n (textHeight + lineSpacing) * (lineCount + 2) + lineSpacing >\n height\n ) {\n continue FontSize;\n }\n\n lastLine += textSplit[i][currWord];\n isWithNewLine = true;\n lastWordInLine = i;\n i--;\n } else {\n lastLine += textSplit[i][currWord] + \" \";\n lastLine =\n lastLine.substr(lastLine.length - 1) == \" \"\n ? lastLine.substr(0, lastLine.length - 1)\n : lastLine;\n var key = parseInt(i);\n var nextLineIsSmaller = isSmallerThanWidth(key, lastLine, fontSize);\n var isLastWord = i >= textSplit.length - 1;\n\n if (nextLineIsSmaller && !isLastWord) {\n lastLine += \" \";\n currWord = 0;\n continue; // Line\n } else if (!nextLineIsSmaller && !isLastWord) {\n if (!formObject.multiline) {\n continue FontSize;\n } else {\n if (\n (textHeight + lineSpacing) * (lineCount + 2) + lineSpacing >\n height\n ) {\n // If the Text is higher than the\n // FieldObject\n continue FontSize;\n }\n lastWordInLine = key;\n // go on\n }\n } else if (isLastWord) {\n lastWordInLine = key;\n } else {\n if (\n formObject.multiline &&\n (textHeight + lineSpacing) * (lineCount + 2) + lineSpacing >\n height\n ) {\n // If the Text is higher than the FieldObject\n continue FontSize;\n }\n }\n }\n // Remove last blank\n\n var line = \"\";\n\n for (var x = firstWordInLine; x <= lastWordInLine; x++) {\n var currLine = textSplit[x];\n if (formObject.multiline) {\n if (x === lastWordInLine) {\n line += currLine[currWord] + \" \";\n currWord = (currWord + 1) % currLine.length;\n continue;\n }\n if (x === firstWordInLine) {\n line += currLine[currLine.length - 1] + \" \";\n continue;\n }\n }\n line += currLine[0] + \" \";\n }\n\n // Remove last blank\n line =\n line.substr(line.length - 1) == \" \"\n ? line.substr(0, line.length - 1)\n : line;\n // lastLength -= blankSpace.width;\n lastLength = calculateFontSpace(line, formObject, fontSize).width;\n\n // Calculate startX\n switch (formObject.textAlign) {\n case \"right\":\n startX = width - lastLength - borderPadding;\n break;\n case \"center\":\n startX = (width - lastLength) / 2;\n break;\n case \"left\":\n default:\n startX = borderPadding;\n break;\n }\n text += f2(startX) + \" \" + f2(lastY) + \" Td\\n\";\n text += \"(\" + pdfEscape(line) + \") Tj\\n\";\n // reset X in PDF\n text += -f2(startX) + \" 0 Td\\n\";\n\n // After a Line, adjust y position\n lastY = -(fontSize + lineSpacing);\n\n // Reset for next iteration step\n lastLength = 0;\n firstWordInLine = isWithNewLine ? lastWordInLine : lastWordInLine + 1;\n lineCount++;\n\n lastLine = \"\";\n continue Line;\n }\n }\n break;\n }\n\n returnValue.text = text;\n returnValue.fontSize = fontSize;\n\n return returnValue;\n};\n\n/**\n * Small workaround for calculating the TextMetric approximately.\n *\n * @param text\n * @param fontsize\n * @returns {TextMetrics} (Has Height and Width)\n */\nvar calculateFontSpace = function(text, formObject, fontSize) {\n var font = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n );\n var width =\n formObject.scope.getStringUnitWidth(text, {\n font: font,\n fontSize: parseFloat(fontSize),\n charSpace: 0\n }) * parseFloat(fontSize);\n var height =\n formObject.scope.getStringUnitWidth(\"3\", {\n font: font,\n fontSize: parseFloat(fontSize),\n charSpace: 0\n }) *\n parseFloat(fontSize) *\n 1.5;\n return { height: height, width: width };\n};\n\nvar acroformPluginTemplate = {\n fields: [],\n xForms: [],\n /**\n * acroFormDictionaryRoot contains information about the AcroForm\n * Dictionary 0: The Event-Token, the AcroFormDictionaryCallback has\n * 1: The Object ID of the Root\n */\n acroFormDictionaryRoot: null,\n /**\n * After the PDF gets evaluated, the reference to the root has to be\n * reset, this indicates, whether the root has already been printed\n * out\n */\n printedOut: false,\n internal: null,\n isInitialized: false\n};\n\nvar annotReferenceCallback = function(scope) {\n //set objId to undefined and force it to get a new objId on buildDocument\n scope.internal.acroformPlugin.acroFormDictionaryRoot.objId = undefined;\n var fields = scope.internal.acroformPlugin.acroFormDictionaryRoot.Fields;\n for (var i in fields) {\n if (fields.hasOwnProperty(i)) {\n var formObject = fields[i];\n //set objId to undefined and force it to get a new objId on buildDocument\n formObject.objId = undefined;\n // add Annot Reference!\n if (formObject.hasAnnotation) {\n // If theres an Annotation Widget in the Form Object, put the\n // Reference in the /Annot array\n createAnnotationReference(formObject, scope);\n }\n }\n }\n};\n\nvar putForm = function(formObject) {\n if (formObject.scope.internal.acroformPlugin.printedOut) {\n formObject.scope.internal.acroformPlugin.printedOut = false;\n formObject.scope.internal.acroformPlugin.acroFormDictionaryRoot = null;\n }\n formObject.scope.internal.acroformPlugin.acroFormDictionaryRoot.Fields.push(\n formObject\n );\n};\n/**\n * Create the Reference to the widgetAnnotation, so that it gets referenced\n * in the Annot[] int the+ (Requires the Annotation Plugin)\n */\nvar createAnnotationReference = function(object, scope) {\n var options = {\n type: \"reference\",\n object: object\n };\n var findEntry = function(entry) {\n return entry.type === options.type && entry.object === options.object;\n };\n if (\n scope.internal\n .getPageInfo(object.page)\n .pageContext.annotations.find(findEntry) === undefined\n ) {\n scope.internal\n .getPageInfo(object.page)\n .pageContext.annotations.push(options);\n }\n};\n\n// Callbacks\n\nvar putCatalogCallback = function(scope) {\n // Put reference to AcroForm to DocumentCatalog\n if (\n typeof scope.internal.acroformPlugin.acroFormDictionaryRoot !== \"undefined\"\n ) {\n // for safety, shouldn't normally be the case\n scope.internal.write(\n \"/AcroForm \" +\n scope.internal.acroformPlugin.acroFormDictionaryRoot.objId +\n \" \" +\n 0 +\n \" R\"\n );\n } else {\n throw new Error(\"putCatalogCallback: Root missing.\");\n }\n};\n\n/**\n * Adds /Acroform X 0 R to Document Catalog, and creates the AcroForm\n * Dictionary\n */\nvar AcroFormDictionaryCallback = function(scope) {\n // Remove event\n scope.internal.events.unsubscribe(\n scope.internal.acroformPlugin.acroFormDictionaryRoot._eventID\n );\n delete scope.internal.acroformPlugin.acroFormDictionaryRoot._eventID;\n scope.internal.acroformPlugin.printedOut = true;\n};\n\n/**\n * Creates the single Fields and writes them into the Document\n *\n * If fieldArray is set, use the fields that are inside it instead of the\n * fields from the AcroRoot (for the FormXObjects...)\n */\nvar createFieldCallback = function(fieldArray, scope) {\n var standardFields = !fieldArray;\n\n if (!fieldArray) {\n // in case there is no fieldArray specified, we want to print out\n // the Fields of the AcroForm\n // Print out Root\n scope.internal.newObjectDeferredBegin(\n scope.internal.acroformPlugin.acroFormDictionaryRoot.objId,\n true\n );\n scope.internal.acroformPlugin.acroFormDictionaryRoot.putStream();\n }\n\n fieldArray =\n fieldArray || scope.internal.acroformPlugin.acroFormDictionaryRoot.Kids;\n\n for (var i in fieldArray) {\n if (fieldArray.hasOwnProperty(i)) {\n var fieldObject = fieldArray[i];\n var keyValueList = [];\n var oldRect = fieldObject.Rect;\n\n if (fieldObject.Rect) {\n fieldObject.Rect = calculateCoordinates(fieldObject.Rect, scope);\n }\n\n // Start Writing the Object\n scope.internal.newObjectDeferredBegin(fieldObject.objId, true);\n\n fieldObject.DA = AcroFormAppearance.createDefaultAppearanceStream(\n fieldObject\n );\n\n if (\n typeof fieldObject === \"object\" &&\n typeof fieldObject.getKeyValueListForStream === \"function\"\n ) {\n keyValueList = fieldObject.getKeyValueListForStream();\n }\n\n fieldObject.Rect = oldRect;\n\n if (\n fieldObject.hasAppearanceStream &&\n !fieldObject.appearanceStreamContent\n ) {\n // Calculate Appearance\n var appearance = calculateAppearanceStream(fieldObject);\n keyValueList.push({ key: \"AP\", value: \"<>\" });\n\n scope.internal.acroformPlugin.xForms.push(appearance);\n }\n\n // Assume AppearanceStreamContent is a Array with N,R,D (at least\n // one of them!)\n if (fieldObject.appearanceStreamContent) {\n var appearanceStreamString = \"\";\n // Iterate over N,R and D\n for (var k in fieldObject.appearanceStreamContent) {\n if (fieldObject.appearanceStreamContent.hasOwnProperty(k)) {\n var value = fieldObject.appearanceStreamContent[k];\n appearanceStreamString += \"/\" + k + \" \";\n appearanceStreamString += \"<<\";\n if (Object.keys(value).length >= 1 || Array.isArray(value)) {\n // appearanceStream is an Array or Object!\n for (var i in value) {\n if (value.hasOwnProperty(i)) {\n var obj = value[i];\n if (typeof obj === \"function\") {\n // if Function is referenced, call it in order\n // to get the FormXObject\n obj = obj.call(scope, fieldObject);\n }\n appearanceStreamString += \"/\" + i + \" \" + obj + \" \";\n\n // In case the XForm is already used, e.g. OffState\n // of CheckBoxes, don't add it\n if (!(scope.internal.acroformPlugin.xForms.indexOf(obj) >= 0))\n scope.internal.acroformPlugin.xForms.push(obj);\n }\n }\n } else {\n obj = value;\n if (typeof obj === \"function\") {\n // if Function is referenced, call it in order to\n // get the FormXObject\n obj = obj.call(scope, fieldObject);\n }\n appearanceStreamString += \"/\" + i + \" \" + obj;\n if (!(scope.internal.acroformPlugin.xForms.indexOf(obj) >= 0))\n scope.internal.acroformPlugin.xForms.push(obj);\n }\n appearanceStreamString += \">>\";\n }\n }\n\n // appearance stream is a normal Object..\n keyValueList.push({\n key: \"AP\",\n value: \"<<\\n\" + appearanceStreamString + \">>\"\n });\n }\n\n scope.internal.putStream({\n additionalKeyValues: keyValueList,\n objectId: fieldObject.objId\n });\n\n scope.internal.out(\"endobj\");\n }\n }\n if (standardFields) {\n createXFormObjectCallback(scope.internal.acroformPlugin.xForms, scope);\n }\n};\n\nvar createXFormObjectCallback = function(fieldArray, scope) {\n for (var i in fieldArray) {\n if (fieldArray.hasOwnProperty(i)) {\n var key = i;\n var fieldObject = fieldArray[i];\n // Start Writing the Object\n scope.internal.newObjectDeferredBegin(fieldObject.objId, true);\n\n if (\n typeof fieldObject === \"object\" &&\n typeof fieldObject.putStream === \"function\"\n ) {\n fieldObject.putStream();\n }\n delete fieldArray[key];\n }\n }\n};\n\nvar initializeAcroForm = function(scope, formObject) {\n formObject.scope = scope;\n if (\n scope.internal !== undefined &&\n (scope.internal.acroformPlugin === undefined ||\n scope.internal.acroformPlugin.isInitialized === false)\n ) {\n AcroFormField.FieldNum = 0;\n scope.internal.acroformPlugin = JSON.parse(\n JSON.stringify(acroformPluginTemplate)\n );\n if (scope.internal.acroformPlugin.acroFormDictionaryRoot) {\n throw new Error(\"Exception while creating AcroformDictionary\");\n }\n scaleFactor = scope.internal.scaleFactor;\n // The Object Number of the AcroForm Dictionary\n scope.internal.acroformPlugin.acroFormDictionaryRoot = new AcroFormDictionary();\n scope.internal.acroformPlugin.acroFormDictionaryRoot.scope = scope;\n\n // add Callback for creating the AcroForm Dictionary\n scope.internal.acroformPlugin.acroFormDictionaryRoot._eventID = scope.internal.events.subscribe(\n \"postPutResources\",\n function() {\n AcroFormDictionaryCallback(scope);\n }\n );\n\n scope.internal.events.subscribe(\"buildDocument\", function() {\n annotReferenceCallback(scope);\n }); // buildDocument\n\n // Register event, that is triggered when the DocumentCatalog is\n // written, in order to add /AcroForm\n\n scope.internal.events.subscribe(\"putCatalog\", function() {\n putCatalogCallback(scope);\n });\n\n // Register event, that creates all Fields\n scope.internal.events.subscribe(\"postPutPages\", function(fieldArray) {\n createFieldCallback(fieldArray, scope);\n });\n\n scope.internal.acroformPlugin.isInitialized = true;\n }\n};\n\n//PDF 32000-1:2008, page 26, 7.3.6\nvar arrayToPdfArray = (jsPDFAPI.__acroform__.arrayToPdfArray = function(\n array,\n objId,\n scope\n) {\n var encryptor = function(data) {\n return data;\n };\n if (Array.isArray(array)) {\n var content = \"[\";\n for (var i = 0; i < array.length; i++) {\n if (i !== 0) {\n content += \" \";\n }\n switch (typeof array[i]) {\n case \"boolean\":\n case \"number\":\n case \"object\":\n content += array[i].toString();\n break;\n case \"string\":\n if (array[i].substr(0, 1) !== \"/\") {\n if (typeof objId !== \"undefined\" && scope)\n encryptor = scope.internal.getEncryptor(objId);\n content += \"(\" + pdfEscape(encryptor(array[i].toString())) + \")\";\n } else {\n content += array[i].toString();\n }\n break;\n }\n }\n content += \"]\";\n return content;\n }\n throw new Error(\n \"Invalid argument passed to jsPDF.__acroform__.arrayToPdfArray\"\n );\n});\nfunction getMatches(string, regex, index) {\n index || (index = 1); // default to the first capturing group\n var matches = [];\n var match;\n while ((match = regex.exec(string))) {\n matches.push(match[index]);\n }\n return matches;\n}\nvar pdfArrayToStringArray = function(array) {\n var result = [];\n if (typeof array === \"string\") {\n result = getMatches(array, /\\((.*?)\\)/g);\n }\n return result;\n};\n\nvar toPdfString = function(string, objId, scope) {\n var encryptor = function(data) {\n return data;\n };\n if (typeof objId !== \"undefined\" && scope)\n encryptor = scope.internal.getEncryptor(objId);\n string = string || \"\";\n string.toString();\n string = \"(\" + pdfEscape(encryptor(string)) + \")\";\n return string;\n};\n\n// ##########################\n// Classes\n// ##########################\n\n/**\n * @class AcroFormPDFObject\n * @classdesc A AcroFormPDFObject\n */\nvar AcroFormPDFObject = function() {\n this._objId = undefined;\n this._scope = undefined;\n\n /**\n * @name AcroFormPDFObject#objId\n * @type {any}\n */\n Object.defineProperty(this, \"objId\", {\n get: function() {\n if (typeof this._objId === \"undefined\") {\n if (typeof this.scope === \"undefined\") {\n return undefined;\n }\n this._objId = this.scope.internal.newObjectDeferred();\n }\n return this._objId;\n },\n set: function(value) {\n this._objId = value;\n }\n });\n Object.defineProperty(this, \"scope\", {\n value: this._scope,\n writable: true\n });\n};\n\n/**\n * @function AcroFormPDFObject.toString\n */\nAcroFormPDFObject.prototype.toString = function() {\n return this.objId + \" 0 R\";\n};\n\nAcroFormPDFObject.prototype.putStream = function() {\n var keyValueList = this.getKeyValueListForStream();\n this.scope.internal.putStream({\n data: this.stream,\n additionalKeyValues: keyValueList,\n objectId: this.objId\n });\n this.scope.internal.out(\"endobj\");\n};\n\n/**\n * Returns an key-value-List of all non-configurable Variables from the Object\n *\n * @name getKeyValueListForStream\n * @returns {string}\n */\nAcroFormPDFObject.prototype.getKeyValueListForStream = function() {\n var keyValueList = [];\n var keys = Object.getOwnPropertyNames(this).filter(function(key) {\n return (\n key != \"content\" &&\n key != \"appearanceStreamContent\" &&\n key != \"scope\" &&\n key != \"objId\" &&\n key.substring(0, 1) != \"_\"\n );\n });\n\n for (var i in keys) {\n if (Object.getOwnPropertyDescriptor(this, keys[i]).configurable === false) {\n var key = keys[i];\n var value = this[key];\n\n if (value) {\n if (Array.isArray(value)) {\n keyValueList.push({\n key: key,\n value: arrayToPdfArray(value, this.objId, this.scope)\n });\n } else if (value instanceof AcroFormPDFObject) {\n // In case it is a reference to another PDFObject,\n // take the reference number\n value.scope = this.scope;\n keyValueList.push({ key: key, value: value.objId + \" 0 R\" });\n } else if (typeof value !== \"function\") {\n keyValueList.push({ key: key, value: value });\n }\n }\n }\n }\n return keyValueList;\n};\n\nvar AcroFormXObject = function() {\n AcroFormPDFObject.call(this);\n\n Object.defineProperty(this, \"Type\", {\n value: \"/XObject\",\n configurable: false,\n writable: true\n });\n\n Object.defineProperty(this, \"Subtype\", {\n value: \"/Form\",\n configurable: false,\n writable: true\n });\n\n Object.defineProperty(this, \"FormType\", {\n value: 1,\n configurable: false,\n writable: true\n });\n\n var _BBox = [];\n Object.defineProperty(this, \"BBox\", {\n configurable: false,\n get: function() {\n return _BBox;\n },\n set: function(value) {\n _BBox = value;\n }\n });\n\n Object.defineProperty(this, \"Resources\", {\n value: \"2 0 R\",\n configurable: false,\n writable: true\n });\n\n var _stream;\n Object.defineProperty(this, \"stream\", {\n enumerable: false,\n configurable: true,\n set: function(value) {\n _stream = value.trim();\n },\n get: function() {\n if (_stream) {\n return _stream;\n } else {\n return null;\n }\n }\n });\n};\n\ninherit(AcroFormXObject, AcroFormPDFObject);\n\nvar AcroFormDictionary = function() {\n AcroFormPDFObject.call(this);\n\n var _Kids = [];\n\n Object.defineProperty(this, \"Kids\", {\n enumerable: false,\n configurable: true,\n get: function() {\n if (_Kids.length > 0) {\n return _Kids;\n } else {\n return undefined;\n }\n }\n });\n Object.defineProperty(this, \"Fields\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _Kids;\n }\n });\n\n // Default Appearance\n var _DA;\n Object.defineProperty(this, \"DA\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_DA) {\n return undefined;\n }\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n return \"(\" + pdfEscape(encryptor(_DA)) + \")\";\n },\n set: function(value) {\n _DA = value;\n }\n });\n};\n\ninherit(AcroFormDictionary, AcroFormPDFObject);\n\n/**\n * The Field Object contains the Variables, that every Field needs\n *\n * @class AcroFormField\n * @classdesc An AcroForm FieldObject\n */\nvar AcroFormField = function() {\n AcroFormPDFObject.call(this);\n\n //Annotation-Flag See Table 165\n var _F = 4;\n Object.defineProperty(this, \"F\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _F;\n },\n set: function(value) {\n if (!isNaN(value)) {\n _F = value;\n } else {\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute F supplied.'\n );\n }\n }\n });\n\n /**\n * (PDF 1.2) If set, print the annotation when the page is printed. If clear, never print the annotation, regardless of wether is is displayed on the screen.\n * NOTE 2 This can be useful for annotations representing interactive pushbuttons, which would serve no meaningful purpose on the printed page.\n *\n * @name AcroFormField#showWhenPrinted\n * @default true\n * @type {boolean}\n */\n Object.defineProperty(this, \"showWhenPrinted\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(_F, 3));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.F = setBitForPdf(_F, 3);\n } else {\n this.F = clearBitForPdf(_F, 3);\n }\n }\n });\n\n var _Ff = 0;\n Object.defineProperty(this, \"Ff\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _Ff;\n },\n set: function(value) {\n if (!isNaN(value)) {\n _Ff = value;\n } else {\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute Ff supplied.'\n );\n }\n }\n });\n\n var _Rect = [];\n Object.defineProperty(this, \"Rect\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (_Rect.length === 0) {\n return undefined;\n }\n return _Rect;\n },\n set: function(value) {\n if (typeof value !== \"undefined\") {\n _Rect = value;\n } else {\n _Rect = [];\n }\n }\n });\n\n /**\n * The x-position of the field.\n *\n * @name AcroFormField#x\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"x\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[0])) {\n return 0;\n }\n return _Rect[0];\n },\n set: function(value) {\n _Rect[0] = value;\n }\n });\n\n /**\n * The y-position of the field.\n *\n * @name AcroFormField#y\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"y\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[1])) {\n return 0;\n }\n return _Rect[1];\n },\n set: function(value) {\n _Rect[1] = value;\n }\n });\n\n /**\n * The width of the field.\n *\n * @name AcroFormField#width\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"width\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[2])) {\n return 0;\n }\n return _Rect[2];\n },\n set: function(value) {\n _Rect[2] = value;\n }\n });\n\n /**\n * The height of the field.\n *\n * @name AcroFormField#height\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"height\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[3])) {\n return 0;\n }\n return _Rect[3];\n },\n set: function(value) {\n _Rect[3] = value;\n }\n });\n\n var _FT = \"\";\n Object.defineProperty(this, \"FT\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _FT;\n },\n set: function(value) {\n switch (value) {\n case \"/Btn\":\n case \"/Tx\":\n case \"/Ch\":\n case \"/Sig\":\n _FT = value;\n break;\n default:\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute FT supplied.'\n );\n }\n }\n });\n\n var _T = null;\n\n Object.defineProperty(this, \"T\", {\n enumerable: true,\n configurable: false,\n get: function() {\n if (!_T || _T.length < 1) {\n // In case of a Child from a Radio´Group, you don't need a FieldName\n if (this instanceof AcroFormChildClass) {\n return undefined;\n }\n _T = \"FieldObject\" + AcroFormField.FieldNum++;\n }\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n return \"(\" + pdfEscape(encryptor(_T)) + \")\";\n },\n set: function(value) {\n _T = value.toString();\n }\n });\n\n /**\n * (Optional) The partial field name (see 12.7.3.2, “Field Names”).\n *\n * @name AcroFormField#fieldName\n * @default null\n * @type {string}\n */\n Object.defineProperty(this, \"fieldName\", {\n configurable: true,\n enumerable: true,\n get: function() {\n return _T;\n },\n set: function(value) {\n _T = value;\n }\n });\n\n var _fontName = \"helvetica\";\n /**\n * The fontName of the font to be used.\n *\n * @name AcroFormField#fontName\n * @default 'helvetica'\n * @type {string}\n */\n Object.defineProperty(this, \"fontName\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _fontName;\n },\n set: function(value) {\n _fontName = value;\n }\n });\n\n var _fontStyle = \"normal\";\n /**\n * The fontStyle of the font to be used.\n *\n * @name AcroFormField#fontStyle\n * @default 'normal'\n * @type {string}\n */\n Object.defineProperty(this, \"fontStyle\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _fontStyle;\n },\n set: function(value) {\n _fontStyle = value;\n }\n });\n\n var _fontSize = 0;\n /**\n * The fontSize of the font to be used.\n *\n * @name AcroFormField#fontSize\n * @default 0 (for auto)\n * @type {number}\n */\n Object.defineProperty(this, \"fontSize\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _fontSize;\n },\n set: function(value) {\n _fontSize = value;\n }\n });\n\n var _maxFontSize = undefined;\n /**\n * The maximum fontSize of the font to be used.\n *\n * @name AcroFormField#maxFontSize\n * @default 0 (for auto)\n * @type {number}\n */\n Object.defineProperty(this, \"maxFontSize\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (_maxFontSize === undefined) {\n // use the old default value here - the value is some kind of random as it depends on the scaleFactor (user unit)\n // (\"50\" is transformed to the \"user space\" but then used in \"pdf space\")\n return 50 / scaleFactor;\n } else {\n return _maxFontSize;\n }\n },\n set: function(value) {\n _maxFontSize = value;\n }\n });\n\n var _color = \"black\";\n /**\n * The color of the text\n *\n * @name AcroFormField#color\n * @default 'black'\n * @type {string|rgba}\n */\n Object.defineProperty(this, \"color\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _color;\n },\n set: function(value) {\n _color = value;\n }\n });\n\n var _DA = \"/F1 0 Tf 0 g\";\n // Defines the default appearance (Needed for variable Text)\n Object.defineProperty(this, \"DA\", {\n enumerable: true,\n configurable: false,\n get: function() {\n if (\n !_DA ||\n this instanceof AcroFormChildClass ||\n this instanceof AcroFormTextField\n ) {\n return undefined;\n }\n return toPdfString(_DA, this.objId, this.scope);\n },\n set: function(value) {\n value = value.toString();\n _DA = value;\n }\n });\n\n var _DV = null;\n Object.defineProperty(this, \"DV\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_DV) {\n return undefined;\n }\n if (this instanceof AcroFormButton === false) {\n return toPdfString(_DV, this.objId, this.scope);\n }\n return _DV;\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === false) {\n if (value.substr(0, 1) === \"(\") {\n _DV = pdfUnescape(value.substr(1, value.length - 2));\n } else {\n _DV = pdfUnescape(value);\n }\n } else {\n _DV = value;\n }\n }\n });\n\n /**\n * (Optional; inheritable) The default value to which the field reverts when a reset-form action is executed (see 12.7.5.3, “Reset-Form Action”). The format of this value is the same as that of value.\n *\n * @name AcroFormField#defaultValue\n * @default null\n * @type {any}\n */\n Object.defineProperty(this, \"defaultValue\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (this instanceof AcroFormButton === true) {\n return pdfUnescape(_DV.substr(1, _DV.length - 1));\n } else {\n return _DV;\n }\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === true) {\n _DV = \"/\" + value;\n } else {\n _DV = value;\n }\n }\n });\n\n var _V = null;\n Object.defineProperty(this, \"_V\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_V) {\n return undefined;\n }\n return _V;\n },\n set: function(value) {\n this.V = value;\n }\n });\n Object.defineProperty(this, \"V\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_V) {\n return undefined;\n }\n if (this instanceof AcroFormButton === false) {\n return toPdfString(_V, this.objId, this.scope);\n }\n return _V;\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === false) {\n if (value.substr(0, 1) === \"(\") {\n _V = pdfUnescape(value.substr(1, value.length - 2));\n } else {\n _V = pdfUnescape(value);\n }\n } else {\n _V = value;\n }\n }\n });\n\n /**\n * (Optional; inheritable) The field’s value, whose format varies depending on the field type. See the descriptions of individual field types for further information.\n *\n * @name AcroFormField#value\n * @default null\n * @type {any}\n */\n Object.defineProperty(this, \"value\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (this instanceof AcroFormButton === true) {\n return pdfUnescape(_V.substr(1, _V.length - 1));\n } else {\n return _V;\n }\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === true) {\n _V = \"/\" + value;\n } else {\n _V = value;\n }\n }\n });\n\n /**\n * Check if field has annotations\n *\n * @name AcroFormField#hasAnnotation\n * @readonly\n * @type {boolean}\n */\n Object.defineProperty(this, \"hasAnnotation\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return this.Rect;\n }\n });\n\n Object.defineProperty(this, \"Type\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return this.hasAnnotation ? \"/Annot\" : null;\n }\n });\n\n Object.defineProperty(this, \"Subtype\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return this.hasAnnotation ? \"/Widget\" : null;\n }\n });\n\n var _hasAppearanceStream = false;\n /**\n * true if field has an appearanceStream\n *\n * @name AcroFormField#hasAppearanceStream\n * @readonly\n * @type {boolean}\n */\n Object.defineProperty(this, \"hasAppearanceStream\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _hasAppearanceStream;\n },\n set: function(value) {\n value = Boolean(value);\n _hasAppearanceStream = value;\n }\n });\n\n /**\n * The page on which the AcroFormField is placed\n *\n * @name AcroFormField#page\n * @type {number}\n */\n var _page;\n Object.defineProperty(this, \"page\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_page) {\n return undefined;\n }\n return _page;\n },\n set: function(value) {\n _page = value;\n }\n });\n\n /**\n * If set, the user may not change the value of the field. Any associated widget annotations will not interact with the user; that is, they will not respond to mouse clicks or change their appearance in response to mouse motions. This flag is useful for fields whose values are computed or imported from a database.\n *\n * @name AcroFormField#readOnly\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"readOnly\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 1));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 1);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 1);\n }\n }\n });\n\n /**\n * If set, the field shall have a value at the time it is exported by a submitform action (see 12.7.5.2, “Submit-Form Action”).\n *\n * @name AcroFormField#required\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"required\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 2));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 2);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 2);\n }\n }\n });\n\n /**\n * If set, the field shall not be exported by a submit-form action (see 12.7.5.2, “Submit-Form Action”)\n *\n * @name AcroFormField#noExport\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"noExport\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 3));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 3);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 3);\n }\n }\n });\n\n var _Q = null;\n Object.defineProperty(this, \"Q\", {\n enumerable: true,\n configurable: false,\n get: function() {\n if (_Q === null) {\n return undefined;\n }\n return _Q;\n },\n set: function(value) {\n if ([0, 1, 2].indexOf(value) !== -1) {\n _Q = value;\n } else {\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute Q supplied.'\n );\n }\n }\n });\n\n /**\n * (Optional; inheritable) A code specifying the form of quadding (justification) that shall be used in displaying the text:\n * 'left', 'center', 'right'\n *\n * @name AcroFormField#textAlign\n * @default 'left'\n * @type {string}\n */\n Object.defineProperty(this, \"textAlign\", {\n get: function() {\n var result;\n switch (_Q) {\n case 0:\n default:\n result = \"left\";\n break;\n case 1:\n result = \"center\";\n break;\n case 2:\n result = \"right\";\n break;\n }\n return result;\n },\n configurable: true,\n enumerable: true,\n set: function(value) {\n switch (value) {\n case \"right\":\n case 2:\n _Q = 2;\n break;\n case \"center\":\n case 1:\n _Q = 1;\n break;\n case \"left\":\n case 0:\n default:\n _Q = 0;\n }\n }\n });\n};\n\ninherit(AcroFormField, AcroFormPDFObject);\n\n/**\n * @class AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormChoiceField = function() {\n AcroFormField.call(this);\n // Field Type = Choice Field\n this.FT = \"/Ch\";\n // options\n this.V = \"()\";\n\n this.fontName = \"zapfdingbats\";\n // Top Index\n var _TI = 0;\n\n Object.defineProperty(this, \"TI\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _TI;\n },\n set: function(value) {\n _TI = value;\n }\n });\n\n /**\n * (Optional) For scrollable list boxes, the top index (the index in the Opt array of the first option visible in the list). Default value: 0.\n *\n * @name AcroFormChoiceField#topIndex\n * @default 0\n * @type {number}\n */\n Object.defineProperty(this, \"topIndex\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _TI;\n },\n set: function(value) {\n _TI = value;\n }\n });\n\n var _Opt = [];\n Object.defineProperty(this, \"Opt\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return arrayToPdfArray(_Opt, this.objId, this.scope);\n },\n set: function(value) {\n _Opt = pdfArrayToStringArray(value);\n }\n });\n\n /**\n * @memberof AcroFormChoiceField\n * @name getOptions\n * @function\n * @instance\n * @returns {array} array of Options\n */\n this.getOptions = function() {\n return _Opt;\n };\n\n /**\n * @memberof AcroFormChoiceField\n * @name setOptions\n * @function\n * @instance\n * @param {array} value\n */\n this.setOptions = function(value) {\n _Opt = value;\n if (this.sort) {\n _Opt.sort();\n }\n };\n\n /**\n * @memberof AcroFormChoiceField\n * @name addOption\n * @function\n * @instance\n * @param {string} value\n */\n this.addOption = function(value) {\n value = value || \"\";\n value = value.toString();\n _Opt.push(value);\n if (this.sort) {\n _Opt.sort();\n }\n };\n\n /**\n * @memberof AcroFormChoiceField\n * @name removeOption\n * @function\n * @instance\n * @param {string} value\n * @param {boolean} allEntries (default: false)\n */\n this.removeOption = function(value, allEntries) {\n allEntries = allEntries || false;\n value = value || \"\";\n value = value.toString();\n\n while (_Opt.indexOf(value) !== -1) {\n _Opt.splice(_Opt.indexOf(value), 1);\n if (allEntries === false) {\n break;\n }\n }\n };\n\n /**\n * If set, the field is a combo box; if clear, the field is a list box.\n *\n * @name AcroFormChoiceField#combo\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"combo\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 18));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 18);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 18);\n }\n }\n });\n\n /**\n * If set, the combo box shall include an editable text box as well as a drop-down list; if clear, it shall include only a drop-down list. This flag shall be used only if the Combo flag is set.\n *\n * @name AcroFormChoiceField#edit\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"edit\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 19));\n },\n set: function(value) {\n //PDF 32000-1:2008, page 444\n if (this.combo === true) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 19);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 19);\n }\n }\n }\n });\n\n /**\n * If set, the field’s option items shall be sorted alphabetically. This flag is intended for use by writers, not by readers. Conforming readers shall display the options in the order in which they occur in the Opt array (see Table 231).\n *\n * @name AcroFormChoiceField#sort\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"sort\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 20));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 20);\n _Opt.sort();\n } else {\n this.Ff = clearBitForPdf(this.Ff, 20);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, more than one of the field’s option items may be selected simultaneously; if clear, at most one item shall be selected\n *\n * @name AcroFormChoiceField#multiSelect\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"multiSelect\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 22));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 22);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 22);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, text entered in the field shall not be spellchecked. This flag shall not be used unless the Combo and Edit flags are both set.\n *\n * @name AcroFormChoiceField#doNotSpellCheck\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"doNotSpellCheck\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 23));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 23);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 23);\n }\n }\n });\n\n /**\n * (PDF 1.5) If set, the new value shall be committed as soon as a selection is made (commonly with the pointing device). In this case, supplying a value for a field involves three actions: selecting the field for fill-in, selecting a choice for the fill-in value, and leaving that field, which finalizes or “commits” the data choice and triggers any actions associated with the entry or changing of this data. If this flag is on, then processing does not wait for leaving the field action to occur, but immediately proceeds to the third step.\n * This option enables applications to perform an action once a selection is made, without requiring the user to exit the field. If clear, the new value is not committed until the user exits the field.\n *\n * @name AcroFormChoiceField#commitOnSelChange\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"commitOnSelChange\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 27));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 27);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 27);\n }\n }\n });\n\n this.hasAppearanceStream = false;\n};\ninherit(AcroFormChoiceField, AcroFormField);\n\n/**\n * @class AcroFormListBox\n * @extends AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormListBox = function() {\n AcroFormChoiceField.call(this);\n this.fontName = \"helvetica\";\n\n //PDF 32000-1:2008, page 444\n this.combo = false;\n};\ninherit(AcroFormListBox, AcroFormChoiceField);\n\n/**\n * @class AcroFormComboBox\n * @extends AcroFormListBox\n * @extends AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormComboBox = function() {\n AcroFormListBox.call(this);\n this.combo = true;\n};\ninherit(AcroFormComboBox, AcroFormListBox);\n\n/**\n * @class AcroFormEditBox\n * @extends AcroFormComboBox\n * @extends AcroFormListBox\n * @extends AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormEditBox = function() {\n AcroFormComboBox.call(this);\n this.edit = true;\n};\ninherit(AcroFormEditBox, AcroFormComboBox);\n\n/**\n * @class AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormButton = function() {\n AcroFormField.call(this);\n this.FT = \"/Btn\";\n\n /**\n * (Radio buttons only) If set, exactly one radio button shall be selected at all times; selecting the currently selected button has no effect. If clear, clicking the selected button deselects it, leaving no button selected.\n *\n * @name AcroFormButton#noToggleToOff\n * @type {boolean}\n */\n Object.defineProperty(this, \"noToggleToOff\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 15));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 15);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 15);\n }\n }\n });\n\n /**\n * If set, the field is a set of radio buttons; if clear, the field is a checkbox. This flag may be set only if the Pushbutton flag is clear.\n *\n * @name AcroFormButton#radio\n * @type {boolean}\n */\n Object.defineProperty(this, \"radio\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 16));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 16);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 16);\n }\n }\n });\n\n /**\n * If set, the field is a pushbutton that does not retain a permanent value.\n *\n * @name AcroFormButton#pushButton\n * @type {boolean}\n */\n Object.defineProperty(this, \"pushButton\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 17));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 17);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 17);\n }\n }\n });\n\n /**\n * (PDF 1.5) If set, a group of radio buttons within a radio button field that use the same value for the on state will turn on and off in unison; that is if one is checked, they are all checked. If clear, the buttons are mutually exclusive (the same behavior as HTML radio buttons).\n *\n * @name AcroFormButton#radioIsUnison\n * @type {boolean}\n */\n Object.defineProperty(this, \"radioIsUnison\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 26));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 26);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 26);\n }\n }\n });\n\n var _MK = {};\n Object.defineProperty(this, \"MK\", {\n enumerable: false,\n configurable: false,\n get: function() {\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n if (Object.keys(_MK).length !== 0) {\n var result = [];\n result.push(\"<<\");\n var key;\n for (key in _MK) {\n result.push(\"/\" + key + \" (\" + pdfEscape(encryptor(_MK[key])) + \")\");\n }\n result.push(\">>\");\n return result.join(\"\\n\");\n }\n return undefined;\n },\n set: function(value) {\n if (typeof value === \"object\") {\n _MK = value;\n }\n }\n });\n\n /**\n * From the PDF reference:\n * (Optional, button fields only) The widget annotation's normal caption which shall be displayed when it is not interacting with the user.\n * Unlike the remaining entries listed in this Table which apply only to widget annotations associated with pushbutton fields (see Pushbuttons in 12.7.4.2, \"Button Fields\"), the CA entry may be used with any type of button field, including check boxes (see Check Boxes in 12.7.4.2, \"Button Fields\") and radio buttons (Radio Buttons in 12.7.4.2, \"Button Fields\").\n *\n * - '8' = Cross,\n * - 'l' = Circle,\n * - '' = nothing\n * @name AcroFormButton#caption\n * @type {string}\n */\n Object.defineProperty(this, \"caption\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _MK.CA || \"\";\n },\n set: function(value) {\n if (typeof value === \"string\") {\n _MK.CA = value;\n }\n }\n });\n\n var _AS;\n Object.defineProperty(this, \"AS\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _AS;\n },\n set: function(value) {\n _AS = value;\n }\n });\n\n /**\n * (Required if the appearance dictionary AP contains one or more subdictionaries; PDF 1.2) The annotation's appearance state, which selects the applicable appearance stream from an appearance subdictionary (see Section 12.5.5, \"Appearance Streams\")\n *\n * @name AcroFormButton#appearanceState\n * @type {any}\n */\n Object.defineProperty(this, \"appearanceState\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _AS.substr(1, _AS.length - 1);\n },\n set: function(value) {\n _AS = \"/\" + value;\n }\n });\n};\ninherit(AcroFormButton, AcroFormField);\n\n/**\n * @class AcroFormPushButton\n * @extends AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormPushButton = function() {\n AcroFormButton.call(this);\n this.pushButton = true;\n};\ninherit(AcroFormPushButton, AcroFormButton);\n\n/**\n * @class AcroFormRadioButton\n * @extends AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormRadioButton = function() {\n AcroFormButton.call(this);\n this.radio = true;\n this.pushButton = false;\n\n var _Kids = [];\n Object.defineProperty(this, \"Kids\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _Kids;\n },\n set: function(value) {\n if (typeof value !== \"undefined\") {\n _Kids = value;\n } else {\n _Kids = [];\n }\n }\n });\n};\ninherit(AcroFormRadioButton, AcroFormButton);\n\n/**\n * The Child class of a RadioButton (the radioGroup) -> The single Buttons\n *\n * @class AcroFormChildClass\n * @extends AcroFormField\n * @ignore\n */\nvar AcroFormChildClass = function() {\n AcroFormField.call(this);\n\n var _parent;\n Object.defineProperty(this, \"Parent\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _parent;\n },\n set: function(value) {\n _parent = value;\n }\n });\n\n var _optionName;\n Object.defineProperty(this, \"optionName\", {\n enumerable: false,\n configurable: true,\n get: function() {\n return _optionName;\n },\n set: function(value) {\n _optionName = value;\n }\n });\n\n var _MK = {};\n Object.defineProperty(this, \"MK\", {\n enumerable: false,\n configurable: false,\n get: function() {\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n var result = [];\n result.push(\"<<\");\n var key;\n for (key in _MK) {\n result.push(\"/\" + key + \" (\" + pdfEscape(encryptor(_MK[key])) + \")\");\n }\n result.push(\">>\");\n return result.join(\"\\n\");\n },\n set: function(value) {\n if (typeof value === \"object\") {\n _MK = value;\n }\n }\n });\n\n /**\n * From the PDF reference:\n * (Optional, button fields only) The widget annotation's normal caption which shall be displayed when it is not interacting with the user.\n * Unlike the remaining entries listed in this Table which apply only to widget annotations associated with pushbutton fields (see Pushbuttons in 12.7.4.2, \"Button Fields\"), the CA entry may be used with any type of button field, including check boxes (see Check Boxes in 12.7.4.2, \"Button Fields\") and radio buttons (Radio Buttons in 12.7.4.2, \"Button Fields\").\n *\n * - '8' = Cross,\n * - 'l' = Circle,\n * - '' = nothing\n * @name AcroFormButton#caption\n * @type {string}\n */\n Object.defineProperty(this, \"caption\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _MK.CA || \"\";\n },\n set: function(value) {\n if (typeof value === \"string\") {\n _MK.CA = value;\n }\n }\n });\n\n var _AS;\n Object.defineProperty(this, \"AS\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _AS;\n },\n set: function(value) {\n _AS = value;\n }\n });\n\n /**\n * (Required if the appearance dictionary AP contains one or more subdictionaries; PDF 1.2) The annotation's appearance state, which selects the applicable appearance stream from an appearance subdictionary (see Section 12.5.5, \"Appearance Streams\")\n *\n * @name AcroFormButton#appearanceState\n * @type {any}\n */\n Object.defineProperty(this, \"appearanceState\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _AS.substr(1, _AS.length - 1);\n },\n set: function(value) {\n _AS = \"/\" + value;\n }\n });\n this.caption = \"l\";\n this.appearanceState = \"Off\";\n // todo: set AppearanceType as variable that can be set from the\n // outside...\n this._AppearanceType = AcroFormAppearance.RadioButton.Circle;\n // The Default appearanceType is the Circle\n this.appearanceStreamContent = this._AppearanceType.createAppearanceStream(\n this.optionName\n );\n};\ninherit(AcroFormChildClass, AcroFormField);\n\nAcroFormRadioButton.prototype.setAppearance = function(appearance) {\n if (!(\"createAppearanceStream\" in appearance && \"getCA\" in appearance)) {\n throw new Error(\n \"Couldn't assign Appearance to RadioButton. Appearance was Invalid!\"\n );\n }\n for (var objId in this.Kids) {\n if (this.Kids.hasOwnProperty(objId)) {\n var child = this.Kids[objId];\n child.appearanceStreamContent = appearance.createAppearanceStream(\n child.optionName\n );\n child.caption = appearance.getCA();\n }\n }\n};\n\nAcroFormRadioButton.prototype.createOption = function(name) {\n // Create new Child for RadioGroup\n var child = new AcroFormChildClass();\n child.Parent = this;\n child.optionName = name;\n // Add to Parent\n this.Kids.push(child);\n\n addField.call(this.scope, child);\n\n return child;\n};\n\n/**\n * @class AcroFormCheckBox\n * @extends AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormCheckBox = function() {\n AcroFormButton.call(this);\n\n this.fontName = \"zapfdingbats\";\n this.caption = \"3\";\n this.appearanceState = \"On\";\n this.value = \"On\";\n this.textAlign = \"center\";\n this.appearanceStreamContent = AcroFormAppearance.CheckBox.createAppearanceStream();\n};\ninherit(AcroFormCheckBox, AcroFormButton);\n\n/**\n * @class AcroFormTextField\n * @extends AcroFormField\n */\nvar AcroFormTextField = function() {\n AcroFormField.call(this);\n this.FT = \"/Tx\";\n\n /**\n * If set, the field may contain multiple lines of text; if clear, the field’s text shall be restricted to a single line.\n *\n * @name AcroFormTextField#multiline\n * @type {boolean}\n */\n Object.defineProperty(this, \"multiline\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 13));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 13);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 13);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, the text entered in the field represents the pathname of a file whose contents shall be submitted as the value of the field.\n *\n * @name AcroFormTextField#fileSelect\n * @type {boolean}\n */\n Object.defineProperty(this, \"fileSelect\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 21));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 21);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 21);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, text entered in the field shall not be spell-checked.\n *\n * @name AcroFormTextField#doNotSpellCheck\n * @type {boolean}\n */\n Object.defineProperty(this, \"doNotSpellCheck\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 23));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 23);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 23);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, the field shall not scroll (horizontally for single-line fields, vertically for multiple-line fields) to accommodate more text than fits within its annotation rectangle. Once the field is full, no further text shall be accepted for interactive form filling; for noninteractive form filling, the filler should take care not to add more character than will visibly fit in the defined area.\n *\n * @name AcroFormTextField#doNotScroll\n * @type {boolean}\n */\n Object.defineProperty(this, \"doNotScroll\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 24));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 24);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 24);\n }\n }\n });\n\n /**\n * (PDF 1.5) May be set only if the MaxLen entry is present in the text field dictionary (see Table 229) and if the Multiline, Password, and FileSelect flags are clear. If set, the field shall be automatically divided into as many equally spaced positions, or combs, as the value of MaxLen, and the text is laid out into those combs.\n *\n * @name AcroFormTextField#comb\n * @type {boolean}\n */\n Object.defineProperty(this, \"comb\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 25));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 25);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 25);\n }\n }\n });\n\n /**\n * (PDF 1.5) If set, the value of this field shall be a rich text string (see 12.7.3.4, “Rich Text Strings”). If the field has a value, the RV entry of the field dictionary (Table 222) shall specify the rich text string.\n *\n * @name AcroFormTextField#richText\n * @type {boolean}\n */\n Object.defineProperty(this, \"richText\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 26));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 26);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 26);\n }\n }\n });\n\n var _MaxLen = null;\n Object.defineProperty(this, \"MaxLen\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _MaxLen;\n },\n set: function(value) {\n _MaxLen = value;\n }\n });\n\n /**\n * (Optional; inheritable) The maximum length of the field’s text, in characters.\n *\n * @name AcroFormTextField#maxLength\n * @type {number}\n */\n Object.defineProperty(this, \"maxLength\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _MaxLen;\n },\n set: function(value) {\n if (Number.isInteger(value)) {\n _MaxLen = value;\n }\n }\n });\n\n Object.defineProperty(this, \"hasAppearanceStream\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return this.V || this.DV;\n }\n });\n};\ninherit(AcroFormTextField, AcroFormField);\n\n/**\n * @class AcroFormPasswordField\n * @extends AcroFormTextField\n * @extends AcroFormField\n */\nvar AcroFormPasswordField = function() {\n AcroFormTextField.call(this);\n\n /**\n * If set, the field is intended for entering a secure password that should not be echoed visibly to the screen. Characters typed from the keyboard shall instead be echoed in some unreadable form, such as asterisks or bullet characters.\n * NOTE To protect password confidentiality, readers should never store the value of the text field in the PDF file if this flag is set.\n *\n * @name AcroFormTextField#password\n * @type {boolean}\n */\n Object.defineProperty(this, \"password\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 14));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 14);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 14);\n }\n }\n });\n this.password = true;\n};\ninherit(AcroFormPasswordField, AcroFormTextField);\n\n// Contains Methods for creating standard appearances\nvar AcroFormAppearance = {\n CheckBox: {\n createAppearanceStream: function() {\n var appearance = {\n N: {\n On: AcroFormAppearance.CheckBox.YesNormal\n },\n D: {\n On: AcroFormAppearance.CheckBox.YesPushDown,\n Off: AcroFormAppearance.CheckBox.OffPushDown\n }\n };\n\n return appearance;\n },\n /**\n * Returns the standard On Appearance for a CheckBox\n *\n * @returns {AcroFormXObject}\n */\n YesPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n var encodedColor = formObject.scope.__private__.encodeColorString(\n formObject.color\n );\n var calcRes = calculateX(formObject, formObject.caption);\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n stream.push(\"BMC\");\n stream.push(\"q\");\n stream.push(\"0 0 1 rg\");\n stream.push(\n \"/\" + fontKey + \" \" + f2(calcRes.fontSize) + \" Tf \" + encodedColor\n );\n stream.push(\"BT\");\n stream.push(calcRes.text);\n stream.push(\"ET\");\n stream.push(\"Q\");\n stream.push(\"EMC\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n\n YesNormal: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n var encodedColor = formObject.scope.__private__.encodeColorString(\n formObject.color\n );\n var stream = [];\n var height = AcroFormAppearance.internal.getHeight(formObject);\n var width = AcroFormAppearance.internal.getWidth(formObject);\n var calcRes = calculateX(formObject, formObject.caption);\n stream.push(\"1 g\");\n stream.push(\"0 0 \" + f2(width) + \" \" + f2(height) + \" re\");\n stream.push(\"f\");\n stream.push(\"q\");\n stream.push(\"0 0 1 rg\");\n stream.push(\"0 0 \" + f2(width - 1) + \" \" + f2(height - 1) + \" re\");\n stream.push(\"W\");\n stream.push(\"n\");\n stream.push(\"0 g\");\n stream.push(\"BT\");\n stream.push(\n \"/\" + fontKey + \" \" + f2(calcRes.fontSize) + \" Tf \" + encodedColor\n );\n stream.push(calcRes.text);\n stream.push(\"ET\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n\n /**\n * Returns the standard Off Appearance for a CheckBox\n *\n * @returns {AcroFormXObject}\n */\n OffPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n }\n },\n\n RadioButton: {\n Circle: {\n createAppearanceStream: function(name) {\n var appearanceStreamContent = {\n D: {\n Off: AcroFormAppearance.RadioButton.Circle.OffPushDown\n },\n N: {}\n };\n appearanceStreamContent.N[name] =\n AcroFormAppearance.RadioButton.Circle.YesNormal;\n appearanceStreamContent.D[name] =\n AcroFormAppearance.RadioButton.Circle.YesPushDown;\n return appearanceStreamContent;\n },\n getCA: function() {\n return \"l\";\n },\n\n YesNormal: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n // Make the Radius of the Circle relative to min(height, width) of formObject\n var DotRadius =\n AcroFormAppearance.internal.getWidth(formObject) <=\n AcroFormAppearance.internal.getHeight(formObject)\n ? AcroFormAppearance.internal.getWidth(formObject) / 4\n : AcroFormAppearance.internal.getHeight(formObject) / 4;\n // The Borderpadding...\n DotRadius = Number((DotRadius * 0.9).toFixed(5));\n var c = AcroFormAppearance.internal.Bezier_C;\n var DotRadiusBezier = Number((DotRadius * c).toFixed(5));\n /*\n * The Following is a Circle created with Bezier-Curves.\n */\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(DotRadius + \" 0 m\");\n stream.push(\n DotRadius +\n \" \" +\n DotRadiusBezier +\n \" \" +\n DotRadiusBezier +\n \" \" +\n DotRadius +\n \" 0 \" +\n DotRadius +\n \" c\"\n );\n stream.push(\n \"-\" +\n DotRadiusBezier +\n \" \" +\n DotRadius +\n \" -\" +\n DotRadius +\n \" \" +\n DotRadiusBezier +\n \" -\" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\n \"-\" +\n DotRadius +\n \" -\" +\n DotRadiusBezier +\n \" -\" +\n DotRadiusBezier +\n \" -\" +\n DotRadius +\n \" 0 -\" +\n DotRadius +\n \" c\"\n );\n stream.push(\n DotRadiusBezier +\n \" -\" +\n DotRadius +\n \" \" +\n DotRadius +\n \" -\" +\n DotRadiusBezier +\n \" \" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\"f\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n YesPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var DotRadius =\n AcroFormAppearance.internal.getWidth(formObject) <=\n AcroFormAppearance.internal.getHeight(formObject)\n ? AcroFormAppearance.internal.getWidth(formObject) / 4\n : AcroFormAppearance.internal.getHeight(formObject) / 4;\n // The Borderpadding...\n DotRadius = Number((DotRadius * 0.9).toFixed(5));\n // Save results for later use; no need to waste\n // processor ticks on doing math\n var k = Number((DotRadius * 2).toFixed(5));\n var kc = Number((k * AcroFormAppearance.internal.Bezier_C).toFixed(5));\n var dc = Number(\n (DotRadius * AcroFormAppearance.internal.Bezier_C).toFixed(5)\n );\n\n stream.push(\"0.749023 g\");\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(k + \" 0 m\");\n stream.push(k + \" \" + kc + \" \" + kc + \" \" + k + \" 0 \" + k + \" c\");\n stream.push(\n \"-\" + kc + \" \" + k + \" -\" + k + \" \" + kc + \" -\" + k + \" 0 c\"\n );\n stream.push(\n \"-\" + k + \" -\" + kc + \" -\" + kc + \" -\" + k + \" 0 -\" + k + \" c\"\n );\n stream.push(kc + \" -\" + k + \" \" + k + \" -\" + kc + \" \" + k + \" 0 c\");\n stream.push(\"f\");\n stream.push(\"Q\");\n stream.push(\"0 g\");\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(DotRadius + \" 0 m\");\n stream.push(\n \"\" +\n DotRadius +\n \" \" +\n dc +\n \" \" +\n dc +\n \" \" +\n DotRadius +\n \" 0 \" +\n DotRadius +\n \" c\"\n );\n stream.push(\n \"-\" +\n dc +\n \" \" +\n DotRadius +\n \" -\" +\n DotRadius +\n \" \" +\n dc +\n \" -\" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\n \"-\" +\n DotRadius +\n \" -\" +\n dc +\n \" -\" +\n dc +\n \" -\" +\n DotRadius +\n \" 0 -\" +\n DotRadius +\n \" c\"\n );\n stream.push(\n dc +\n \" -\" +\n DotRadius +\n \" \" +\n DotRadius +\n \" -\" +\n dc +\n \" \" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\"f\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n OffPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var DotRadius =\n AcroFormAppearance.internal.getWidth(formObject) <=\n AcroFormAppearance.internal.getHeight(formObject)\n ? AcroFormAppearance.internal.getWidth(formObject) / 4\n : AcroFormAppearance.internal.getHeight(formObject) / 4;\n // The Borderpadding...\n DotRadius = Number((DotRadius * 0.9).toFixed(5));\n // Save results for later use; no need to waste\n // processor ticks on doing math\n var k = Number((DotRadius * 2).toFixed(5));\n var kc = Number((k * AcroFormAppearance.internal.Bezier_C).toFixed(5));\n\n stream.push(\"0.749023 g\");\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(k + \" 0 m\");\n stream.push(k + \" \" + kc + \" \" + kc + \" \" + k + \" 0 \" + k + \" c\");\n stream.push(\n \"-\" + kc + \" \" + k + \" -\" + k + \" \" + kc + \" -\" + k + \" 0 c\"\n );\n stream.push(\n \"-\" + k + \" -\" + kc + \" -\" + kc + \" -\" + k + \" 0 -\" + k + \" c\"\n );\n stream.push(kc + \" -\" + k + \" \" + k + \" -\" + kc + \" \" + k + \" 0 c\");\n stream.push(\"f\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n }\n },\n\n Cross: {\n /**\n * Creates the Actual AppearanceDictionary-References\n *\n * @param {string} name\n * @returns {Object}\n * @ignore\n */\n createAppearanceStream: function(name) {\n var appearanceStreamContent = {\n D: {\n Off: AcroFormAppearance.RadioButton.Cross.OffPushDown\n },\n N: {}\n };\n appearanceStreamContent.N[name] =\n AcroFormAppearance.RadioButton.Cross.YesNormal;\n appearanceStreamContent.D[name] =\n AcroFormAppearance.RadioButton.Cross.YesPushDown;\n return appearanceStreamContent;\n },\n getCA: function() {\n return \"8\";\n },\n\n YesNormal: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var cross = AcroFormAppearance.internal.calculateCross(formObject);\n stream.push(\"q\");\n stream.push(\n \"1 1 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject) - 2) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject) - 2) +\n \" re\"\n );\n stream.push(\"W\");\n stream.push(\"n\");\n stream.push(f2(cross.x1.x) + \" \" + f2(cross.x1.y) + \" m\");\n stream.push(f2(cross.x2.x) + \" \" + f2(cross.x2.y) + \" l\");\n stream.push(f2(cross.x4.x) + \" \" + f2(cross.x4.y) + \" m\");\n stream.push(f2(cross.x3.x) + \" \" + f2(cross.x3.y) + \" l\");\n stream.push(\"s\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n YesPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var cross = AcroFormAppearance.internal.calculateCross(formObject);\n var stream = [];\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n stream.push(\"q\");\n stream.push(\n \"1 1 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject) - 2) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject) - 2) +\n \" re\"\n );\n stream.push(\"W\");\n stream.push(\"n\");\n stream.push(f2(cross.x1.x) + \" \" + f2(cross.x1.y) + \" m\");\n stream.push(f2(cross.x2.x) + \" \" + f2(cross.x2.y) + \" l\");\n stream.push(f2(cross.x4.x) + \" \" + f2(cross.x4.y) + \" m\");\n stream.push(f2(cross.x3.x) + \" \" + f2(cross.x3.y) + \" l\");\n stream.push(\"s\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n OffPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n }\n }\n },\n\n /**\n * Returns the standard Appearance\n *\n * @returns {AcroFormXObject}\n */\n createDefaultAppearanceStream: function(formObject) {\n // Set Helvetica to Standard Font (size: auto)\n // Color: Black\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n var encodedColor = formObject.scope.__private__.encodeColorString(\n formObject.color\n );\n var fontSize = formObject.fontSize;\n var result = \"/\" + fontKey + \" \" + fontSize + \" Tf \" + encodedColor;\n return result;\n }\n};\n\nAcroFormAppearance.internal = {\n Bezier_C: 0.551915024494,\n\n calculateCross: function(formObject) {\n var width = AcroFormAppearance.internal.getWidth(formObject);\n var height = AcroFormAppearance.internal.getHeight(formObject);\n var a = Math.min(width, height);\n\n var cross = {\n x1: {\n // upperLeft\n x: (width - a) / 2,\n y: (height - a) / 2 + a // height - borderPadding\n },\n x2: {\n // lowerRight\n x: (width - a) / 2 + a,\n y: (height - a) / 2 // borderPadding\n },\n x3: {\n // lowerLeft\n x: (width - a) / 2,\n y: (height - a) / 2 // borderPadding\n },\n x4: {\n // upperRight\n x: (width - a) / 2 + a,\n y: (height - a) / 2 + a // height - borderPadding\n }\n };\n\n return cross;\n }\n};\nAcroFormAppearance.internal.getWidth = function(formObject) {\n var result = 0;\n if (typeof formObject === \"object\") {\n result = scale(formObject.Rect[2]);\n }\n return result;\n};\nAcroFormAppearance.internal.getHeight = function(formObject) {\n var result = 0;\n if (typeof formObject === \"object\") {\n result = scale(formObject.Rect[3]);\n }\n return result;\n};\n\n// Public:\n\n/**\n * Add an AcroForm-Field to the jsPDF-instance\n *\n * @name addField\n * @function\n * @instance\n * @param {Object} fieldObject\n * @returns {jsPDF}\n */\nvar addField = (jsPDFAPI.addField = function(fieldObject) {\n initializeAcroForm(this, fieldObject);\n\n if (fieldObject instanceof AcroFormField) {\n putForm(fieldObject);\n } else {\n throw new Error(\"Invalid argument passed to jsPDF.addField.\");\n }\n fieldObject.page = fieldObject.scope.internal.getCurrentPageInfo().pageNumber;\n return this;\n});\n\njsPDFAPI.AcroFormChoiceField = AcroFormChoiceField;\njsPDFAPI.AcroFormListBox = AcroFormListBox;\njsPDFAPI.AcroFormComboBox = AcroFormComboBox;\njsPDFAPI.AcroFormEditBox = AcroFormEditBox;\njsPDFAPI.AcroFormButton = AcroFormButton;\njsPDFAPI.AcroFormPushButton = AcroFormPushButton;\njsPDFAPI.AcroFormRadioButton = AcroFormRadioButton;\njsPDFAPI.AcroFormCheckBox = AcroFormCheckBox;\njsPDFAPI.AcroFormTextField = AcroFormTextField;\njsPDFAPI.AcroFormPasswordField = AcroFormPasswordField;\njsPDFAPI.AcroFormAppearance = AcroFormAppearance;\n\njsPDFAPI.AcroForm = {\n ChoiceField: AcroFormChoiceField,\n ListBox: AcroFormListBox,\n ComboBox: AcroFormComboBox,\n EditBox: AcroFormEditBox,\n Button: AcroFormButton,\n PushButton: AcroFormPushButton,\n RadioButton: AcroFormRadioButton,\n CheckBox: AcroFormCheckBox,\n TextField: AcroFormTextField,\n PasswordField: AcroFormPasswordField,\n Appearance: AcroFormAppearance\n};\n\njsPDF.AcroForm = {\n ChoiceField: AcroFormChoiceField,\n ListBox: AcroFormListBox,\n ComboBox: AcroFormComboBox,\n EditBox: AcroFormEditBox,\n Button: AcroFormButton,\n PushButton: AcroFormPushButton,\n RadioButton: AcroFormRadioButton,\n CheckBox: AcroFormCheckBox,\n TextField: AcroFormTextField,\n PasswordField: AcroFormPasswordField,\n Appearance: AcroFormAppearance\n};\n\nvar AcroForm = jsPDF.AcroForm;\n\nexport {\n AcroForm,\n AcroFormChoiceField,\n AcroFormListBox,\n AcroFormComboBox,\n AcroFormEditBox,\n AcroFormButton,\n AcroFormPushButton,\n AcroFormRadioButton,\n AcroFormCheckBox,\n AcroFormTextField,\n AcroFormPasswordField,\n AcroFormAppearance\n};\n","function toLookup(arr) {\n return arr.reduce(function(lookup, name, index) {\n lookup[name] = index;\n\n return lookup;\n }, {});\n}\n\nvar fontStyleOrder = {\n italic: [\"italic\", \"oblique\", \"normal\"],\n oblique: [\"oblique\", \"italic\", \"normal\"],\n normal: [\"normal\", \"oblique\", \"italic\"]\n};\n\nvar fontStretchOrder = [\n \"ultra-condensed\",\n \"extra-condensed\",\n \"condensed\",\n \"semi-condensed\",\n \"normal\",\n \"semi-expanded\",\n \"expanded\",\n \"extra-expanded\",\n \"ultra-expanded\"\n];\n\n// For a given font-stretch value, we need to know where to start our search\n// from in the fontStretchOrder list.\nvar fontStretchLookup = toLookup(fontStretchOrder);\n\nvar fontWeights = [100, 200, 300, 400, 500, 600, 700, 800, 900];\nvar fontWeightsLookup = toLookup(fontWeights);\n\nfunction normalizeFontStretch(stretch) {\n stretch = stretch || \"normal\";\n\n return typeof fontStretchLookup[stretch] === \"number\" ? stretch : \"normal\";\n}\n\nfunction normalizeFontStyle(style) {\n style = style || \"normal\";\n\n return fontStyleOrder[style] ? style : \"normal\";\n}\n\nfunction normalizeFontWeight(weight) {\n if (!weight) {\n return 400;\n }\n\n if (typeof weight === \"number\") {\n // Ignore values which aren't valid font-weights.\n return weight >= 100 && weight <= 900 && weight % 100 === 0 ? weight : 400;\n }\n\n if (/^\\d00$/.test(weight)) {\n return parseInt(weight);\n }\n\n switch (weight) {\n case \"bold\":\n return 700;\n\n case \"normal\":\n default:\n return 400;\n }\n}\n\nexport function normalizeFontFace(fontFace) {\n var family = fontFace.family.replace(/\"|'/g, \"\").toLowerCase();\n\n var style = normalizeFontStyle(fontFace.style);\n var weight = normalizeFontWeight(fontFace.weight);\n var stretch = normalizeFontStretch(fontFace.stretch);\n\n return {\n family: family,\n style: style,\n weight: weight,\n stretch: stretch,\n src: fontFace.src || [],\n\n // The ref property maps this font-face to the font\n // added by the .addFont() method.\n ref: fontFace.ref || {\n name: family,\n style: [stretch, style, weight].join(\" \")\n }\n };\n}\n\n/**\n * Turns a list of font-faces into a map, for easier lookup when resolving\n * fonts.\n * @private\n */\nexport function buildFontFaceMap(fontFaces) {\n var map = {};\n\n for (var i = 0; i < fontFaces.length; ++i) {\n var normalized = normalizeFontFace(fontFaces[i]);\n\n var name = normalized.family;\n var stretch = normalized.stretch;\n var style = normalized.style;\n var weight = normalized.weight;\n\n map[name] = map[name] || {};\n\n map[name][stretch] = map[name][stretch] || {};\n map[name][stretch][style] = map[name][stretch][style] || {};\n map[name][stretch][style][weight] = normalized;\n }\n\n return map;\n}\n\n/**\n * Searches a map of stretches, weights, etc. in the given direction and\n * then, if no match has been found, in the opposite directions.\n *\n * @param {Object.} matchingSet A map of the various font variations.\n * @param {any[]} order The order of the different variations\n * @param {number} pivot The starting point of the search in the order list.\n * @param {number} dir The initial direction of the search (desc = -1, asc = 1)\n * @private\n */\n\nfunction searchFromPivot(matchingSet, order, pivot, dir) {\n var i;\n\n for (i = pivot; i >= 0 && i < order.length; i += dir) {\n if (matchingSet[order[i]]) {\n return matchingSet[order[i]];\n }\n }\n\n for (i = pivot; i >= 0 && i < order.length; i -= dir) {\n if (matchingSet[order[i]]) {\n return matchingSet[order[i]];\n }\n }\n}\n\nfunction resolveFontStretch(stretch, matchingSet) {\n if (matchingSet[stretch]) {\n return matchingSet[stretch];\n }\n\n var pivot = fontStretchLookup[stretch];\n\n // If the font-stretch value is normal or more condensed, we want to\n // start with a descending search, otherwise we should do ascending.\n var dir = pivot <= fontStretchLookup[\"normal\"] ? -1 : 1;\n var match = searchFromPivot(matchingSet, fontStretchOrder, pivot, dir);\n\n if (!match) {\n // Since a font-family cannot exist without having at least one stretch value\n // we should never reach this point.\n throw new Error(\n \"Could not find a matching font-stretch value for \" + stretch\n );\n }\n\n return match;\n}\n\nfunction resolveFontStyle(fontStyle, matchingSet) {\n if (matchingSet[fontStyle]) {\n return matchingSet[fontStyle];\n }\n\n var ordering = fontStyleOrder[fontStyle];\n\n for (var i = 0; i < ordering.length; ++i) {\n if (matchingSet[ordering[i]]) {\n return matchingSet[ordering[i]];\n }\n }\n\n // Since a font-family cannot exist without having at least one style value\n // we should never reach this point.\n throw new Error(\"Could not find a matching font-style for \" + fontStyle);\n}\n\nfunction resolveFontWeight(weight, matchingSet) {\n if (matchingSet[weight]) {\n return matchingSet[weight];\n }\n\n if (weight === 400 && matchingSet[500]) {\n return matchingSet[500];\n }\n\n if (weight === 500 && matchingSet[400]) {\n return matchingSet[400];\n }\n\n var pivot = fontWeightsLookup[weight];\n\n // If the font-stretch value is normal or more condensed, we want to\n // start with a descending search, otherwise we should do ascending.\n var dir = weight < 400 ? -1 : 1;\n var match = searchFromPivot(matchingSet, fontWeights, pivot, dir);\n\n if (!match) {\n // Since a font-family cannot exist without having at least one stretch value\n // we should never reach this point.\n throw new Error(\n \"Could not find a matching font-weight for value \" + weight\n );\n }\n\n return match;\n}\n\nvar defaultGenericFontFamilies = {\n \"sans-serif\": \"helvetica\",\n fixed: \"courier\",\n monospace: \"courier\",\n terminal: \"courier\",\n cursive: \"times\",\n fantasy: \"times\",\n serif: \"times\"\n};\n\nvar systemFonts = {\n caption: \"times\",\n icon: \"times\",\n menu: \"times\",\n \"message-box\": \"times\",\n \"small-caption\": \"times\",\n \"status-bar\": \"times\"\n};\n\nfunction ruleToString(rule) {\n return [rule.stretch, rule.style, rule.weight, rule.family].join(\" \");\n}\n\nexport function resolveFontFace(fontFaceMap, rules, opts) {\n opts = opts || {};\n\n var defaultFontFamily = opts.defaultFontFamily || \"times\";\n var genericFontFamilies = Object.assign(\n {},\n defaultGenericFontFamilies,\n opts.genericFontFamilies || {}\n );\n\n var rule = null;\n var matches = null;\n\n for (var i = 0; i < rules.length; ++i) {\n rule = normalizeFontFace(rules[i]);\n\n if (genericFontFamilies[rule.family]) {\n rule.family = genericFontFamilies[rule.family];\n }\n\n if (fontFaceMap.hasOwnProperty(rule.family)) {\n matches = fontFaceMap[rule.family];\n\n break;\n }\n }\n\n // Always fallback to a known font family.\n matches = matches || fontFaceMap[defaultFontFamily];\n\n if (!matches) {\n // At this point we should definitiely have a font family, but if we\n // don't there is something wrong with our configuration\n throw new Error(\n \"Could not find a font-family for the rule '\" +\n ruleToString(rule) +\n \"' and default family '\" +\n defaultFontFamily +\n \"'.\"\n );\n }\n\n matches = resolveFontStretch(rule.stretch, matches);\n matches = resolveFontStyle(rule.style, matches);\n matches = resolveFontWeight(rule.weight, matches);\n\n if (!matches) {\n // We should've fount\n throw new Error(\n \"Failed to resolve a font for the rule '\" + ruleToString(rule) + \"'.\"\n );\n }\n\n return matches;\n}\n\n/**\n * Builds a style id for use with the addFont() method.\n * @param {FontFace} font\n * @private\n */\nexport function toStyleName(font) {\n return [font.weight, font.style, font.stretch].join(\" \");\n}\n\nfunction eatWhiteSpace(input) {\n return input.trimLeft();\n}\n\nfunction parseQuotedFontFamily(input, quote) {\n var index = 0;\n\n while (index < input.length) {\n var current = input.charAt(index);\n\n if (current === quote) {\n return [input.substring(0, index), input.substring(index + 1)];\n }\n\n index += 1;\n }\n\n // Unexpected end of input\n return null;\n}\n\nfunction parseNonQuotedFontFamily(input) {\n // It implements part of the identifier parser here: https://www.w3.org/TR/CSS21/syndata.html#value-def-identifier\n //\n // NOTE: This parser pretty much ignores escaped identifiers and that there is a thing called unicode.\n //\n // Breakdown of regexp:\n // -[a-z_] - when identifier starts with a hyphen, you're not allowed to have another hyphen or a digit\n // [a-z_] - allow a-z and underscore at beginning of input\n // [a-z0-9_-]* - after that, anything goes\n var match = input.match(/^(-[a-z_]|[a-z_])[a-z0-9_-]*/i);\n\n // non quoted value contains illegal characters\n if (match === null) {\n return null;\n }\n\n return [match[0], input.substring(match[0].length)];\n}\n\nvar defaultFont = [\"times\"];\n\nexport function parseFontFamily(input) {\n var result = [];\n var ch, parsed;\n var remaining = input.trim();\n\n if (remaining === \"\") {\n return defaultFont;\n }\n\n if (remaining in systemFonts) {\n return [systemFonts[remaining]];\n }\n\n while (remaining !== \"\") {\n parsed = null;\n remaining = eatWhiteSpace(remaining);\n ch = remaining.charAt(0);\n\n switch (ch) {\n case '\"':\n case \"'\":\n parsed = parseQuotedFontFamily(remaining.substring(1), ch);\n break;\n\n default:\n parsed = parseNonQuotedFontFamily(remaining);\n break;\n }\n\n if (parsed === null) {\n return defaultFont;\n }\n\n result.push(parsed[0]);\n\n remaining = eatWhiteSpace(parsed[1]);\n\n // We expect end of input or a comma separator here\n if (remaining !== \"\" && remaining.charAt(0) !== \",\") {\n return defaultFont;\n }\n\n remaining = remaining.replace(/^,/, \"\");\n }\n\n return result;\n}\n","/** @license\n * jsPDF addImage plugin\n * Copyright (c) 2012 Jason Siefken, https://github.com/siefkenj/\n * 2013 Chris Dowling, https://github.com/gingerchris\n * 2013 Trinh Ho, https://github.com/ineedfat\n * 2013 Edwin Alejandro Perez, https://github.com/eaparango\n * 2013 Norah Smith, https://github.com/burnburnrocket\n * 2014 Diego Casorran, https://github.com/diegocr\n * 2014 James Robb, https://github.com/jamesbrobb\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n/**\n * @name addImage\n * @module\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { atob, btoa } from \"../libs/AtobBtoa.js\";\n\n(function(jsPDFAPI) {\n \"use strict\";\n\n var namespace = \"addImage_\";\n jsPDFAPI.__addimage__ = {};\n\n var UNKNOWN = \"UNKNOWN\";\n\n // Heuristic selection of a good batch for large array .apply. Not limiting make the call overflow.\n // With too small batch iteration will be slow as more calls are made,\n // higher values cause larger and slower garbage collection.\n var ARRAY_APPLY_BATCH = 8192;\n\n var imageFileTypeHeaders = {\n PNG: [[0x89, 0x50, 0x4e, 0x47]],\n TIFF: [\n [0x4d, 0x4d, 0x00, 0x2a], //Motorola\n [0x49, 0x49, 0x2a, 0x00] //Intel\n ],\n JPEG: [\n [\n 0xff,\n 0xd8,\n 0xff,\n 0xe0,\n undefined,\n undefined,\n 0x4a,\n 0x46,\n 0x49,\n 0x46,\n 0x00\n ], //JFIF\n [\n 0xff,\n 0xd8,\n 0xff,\n 0xe1,\n undefined,\n undefined,\n 0x45,\n 0x78,\n 0x69,\n 0x66,\n 0x00,\n 0x00\n ], //Exif\n [0xff, 0xd8, 0xff, 0xdb], //JPEG RAW\n [0xff, 0xd8, 0xff, 0xee] //EXIF RAW\n ],\n JPEG2000: [[0x00, 0x00, 0x00, 0x0c, 0x6a, 0x50, 0x20, 0x20]],\n GIF87a: [[0x47, 0x49, 0x46, 0x38, 0x37, 0x61]],\n GIF89a: [[0x47, 0x49, 0x46, 0x38, 0x39, 0x61]],\n WEBP: [\n [\n 0x52,\n 0x49,\n 0x46,\n 0x46,\n undefined,\n undefined,\n undefined,\n undefined,\n 0x57,\n 0x45,\n 0x42,\n 0x50\n ]\n ],\n BMP: [\n [0x42, 0x4d], //BM - Windows 3.1x, 95, NT, ... etc.\n [0x42, 0x41], //BA - OS/2 struct bitmap array\n [0x43, 0x49], //CI - OS/2 struct color icon\n [0x43, 0x50], //CP - OS/2 const color pointer\n [0x49, 0x43], //IC - OS/2 struct icon\n [0x50, 0x54] //PT - OS/2 pointer\n ]\n };\n\n /**\n * Recognize filetype of Image by magic-bytes\n *\n * https://en.wikipedia.org/wiki/List_of_file_signatures\n *\n * @name getImageFileTypeByImageData\n * @public\n * @function\n * @param {string|arraybuffer} imageData imageData as binary String or arraybuffer\n * @param {string} format format of file if filetype-recognition fails, e.g. 'JPEG'\n *\n * @returns {string} filetype of Image\n */\n var getImageFileTypeByImageData = (jsPDFAPI.__addimage__.getImageFileTypeByImageData = function(\n imageData,\n fallbackFormat\n ) {\n fallbackFormat = fallbackFormat || UNKNOWN;\n var i;\n var j;\n var result = UNKNOWN;\n var headerSchemata;\n var compareResult;\n var fileType;\n\n if (\n fallbackFormat === \"RGBA\" ||\n (imageData.data !== undefined &&\n imageData.data instanceof Uint8ClampedArray &&\n \"height\" in imageData &&\n \"width\" in imageData)\n ) {\n return \"RGBA\";\n }\n\n if (isArrayBufferView(imageData)) {\n for (fileType in imageFileTypeHeaders) {\n headerSchemata = imageFileTypeHeaders[fileType];\n for (i = 0; i < headerSchemata.length; i += 1) {\n compareResult = true;\n for (j = 0; j < headerSchemata[i].length; j += 1) {\n if (headerSchemata[i][j] === undefined) {\n continue;\n }\n if (headerSchemata[i][j] !== imageData[j]) {\n compareResult = false;\n break;\n }\n }\n if (compareResult === true) {\n result = fileType;\n break;\n }\n }\n }\n } else {\n for (fileType in imageFileTypeHeaders) {\n headerSchemata = imageFileTypeHeaders[fileType];\n for (i = 0; i < headerSchemata.length; i += 1) {\n compareResult = true;\n for (j = 0; j < headerSchemata[i].length; j += 1) {\n if (headerSchemata[i][j] === undefined) {\n continue;\n }\n if (headerSchemata[i][j] !== imageData.charCodeAt(j)) {\n compareResult = false;\n break;\n }\n }\n if (compareResult === true) {\n result = fileType;\n break;\n }\n }\n }\n }\n\n if (result === UNKNOWN && fallbackFormat !== UNKNOWN) {\n result = fallbackFormat;\n }\n return result;\n });\n\n // Image functionality ported from pdf.js\n var putImage = function(image) {\n var out = this.internal.write;\n var putStream = this.internal.putStream;\n var getFilters = this.internal.getFilters;\n\n var filter = getFilters();\n while (filter.indexOf(\"FlateEncode\") !== -1) {\n filter.splice(filter.indexOf(\"FlateEncode\"), 1);\n }\n\n image.objectId = this.internal.newObject();\n\n var additionalKeyValues = [];\n additionalKeyValues.push({ key: \"Type\", value: \"/XObject\" });\n additionalKeyValues.push({ key: \"Subtype\", value: \"/Image\" });\n additionalKeyValues.push({ key: \"Width\", value: image.width });\n additionalKeyValues.push({ key: \"Height\", value: image.height });\n\n if (image.colorSpace === color_spaces.INDEXED) {\n additionalKeyValues.push({\n key: \"ColorSpace\",\n value:\n \"[/Indexed /DeviceRGB \" +\n // if an indexed png defines more than one colour with transparency, we've created a sMask\n (image.palette.length / 3 - 1) +\n \" \" +\n (\"sMask\" in image && typeof image.sMask !== \"undefined\"\n ? image.objectId + 2\n : image.objectId + 1) +\n \" 0 R]\"\n });\n } else {\n additionalKeyValues.push({\n key: \"ColorSpace\",\n value: \"/\" + image.colorSpace\n });\n if (image.colorSpace === color_spaces.DEVICE_CMYK) {\n additionalKeyValues.push({ key: \"Decode\", value: \"[1 0 1 0 1 0 1 0]\" });\n }\n }\n additionalKeyValues.push({\n key: \"BitsPerComponent\",\n value: image.bitsPerComponent\n });\n if (\n \"decodeParameters\" in image &&\n typeof image.decodeParameters !== \"undefined\"\n ) {\n additionalKeyValues.push({\n key: \"DecodeParms\",\n value: \"<<\" + image.decodeParameters + \">>\"\n });\n }\n if (\"transparency\" in image && Array.isArray(image.transparency)) {\n var transparency = \"\",\n i = 0,\n len = image.transparency.length;\n for (; i < len; i++)\n transparency +=\n image.transparency[i] + \" \" + image.transparency[i] + \" \";\n\n additionalKeyValues.push({\n key: \"Mask\",\n value: \"[\" + transparency + \"]\"\n });\n }\n if (typeof image.sMask !== \"undefined\") {\n additionalKeyValues.push({\n key: \"SMask\",\n value: image.objectId + 1 + \" 0 R\"\n });\n }\n\n var alreadyAppliedFilters =\n typeof image.filter !== \"undefined\" ? [\"/\" + image.filter] : undefined;\n\n putStream({\n data: image.data,\n additionalKeyValues: additionalKeyValues,\n alreadyAppliedFilters: alreadyAppliedFilters,\n objectId: image.objectId\n });\n\n out(\"endobj\");\n\n // Soft mask\n if (\"sMask\" in image && typeof image.sMask !== \"undefined\") {\n var decodeParameters =\n \"/Predictor \" +\n image.predictor +\n \" /Colors 1 /BitsPerComponent \" +\n image.bitsPerComponent +\n \" /Columns \" +\n image.width;\n var sMask = {\n width: image.width,\n height: image.height,\n colorSpace: \"DeviceGray\",\n bitsPerComponent: image.bitsPerComponent,\n decodeParameters: decodeParameters,\n data: image.sMask\n };\n if (\"filter\" in image) {\n sMask.filter = image.filter;\n }\n putImage.call(this, sMask);\n }\n\n //Palette\n if (image.colorSpace === color_spaces.INDEXED) {\n var objId = this.internal.newObject();\n //out('<< /Filter / ' + img['f'] +' /Length ' + img['pal'].length + '>>');\n //putStream(zlib.compress(img['pal']));\n putStream({\n data: arrayBufferToBinaryString(new Uint8Array(image.palette)),\n objectId: objId\n });\n out(\"endobj\");\n }\n };\n var putResourcesCallback = function() {\n var images = this.internal.collections[namespace + \"images\"];\n for (var i in images) {\n putImage.call(this, images[i]);\n }\n };\n var putXObjectsDictCallback = function() {\n var images = this.internal.collections[namespace + \"images\"],\n out = this.internal.write,\n image;\n for (var i in images) {\n image = images[i];\n out(\"/I\" + image.index, image.objectId, \"0\", \"R\");\n }\n };\n\n var checkCompressValue = function(value) {\n if (value && typeof value === \"string\") value = value.toUpperCase();\n return value in jsPDFAPI.image_compression ? value : image_compression.NONE;\n };\n\n var initialize = function() {\n if (!this.internal.collections[namespace + \"images\"]) {\n this.internal.collections[namespace + \"images\"] = {};\n this.internal.events.subscribe(\"putResources\", putResourcesCallback);\n this.internal.events.subscribe(\"putXobjectDict\", putXObjectsDictCallback);\n }\n };\n\n var getImages = function() {\n var images = this.internal.collections[namespace + \"images\"];\n initialize.call(this);\n return images;\n };\n var getImageIndex = function() {\n return Object.keys(this.internal.collections[namespace + \"images\"]).length;\n };\n var notDefined = function(value) {\n return typeof value === \"undefined\" || value === null || value.length === 0;\n };\n var generateAliasFromImageData = function(imageData) {\n if (typeof imageData === \"string\" || isArrayBufferView(imageData)) {\n return sHashCode(imageData);\n } else if (isArrayBufferView(imageData.data)) {\n return sHashCode(imageData.data);\n }\n\n return null;\n };\n\n var isImageTypeSupported = function(type) {\n return typeof jsPDFAPI[\"process\" + type.toUpperCase()] === \"function\";\n };\n\n var isDOMElement = function(object) {\n return typeof object === \"object\" && object.nodeType === 1;\n };\n\n var getImageDataFromElement = function(element, format) {\n //if element is an image which uses data url definition, just return the dataurl\n if (element.nodeName === \"IMG\" && element.hasAttribute(\"src\")) {\n var src = \"\" + element.getAttribute(\"src\");\n\n //is base64 encoded dataUrl, directly process it\n if (src.indexOf(\"data:image/\") === 0) {\n return atob(\n unescape(src)\n .split(\"base64,\")\n .pop()\n );\n }\n\n //it is probably an url, try to load it\n var tmpImageData = jsPDFAPI.loadFile(src, true);\n if (tmpImageData !== undefined) {\n return tmpImageData;\n }\n }\n\n if (element.nodeName === \"CANVAS\") {\n if (element.width === 0 || element.height === 0) {\n throw new Error(\n \"Given canvas must have data. Canvas width: \" +\n element.width +\n \", height: \" +\n element.height\n );\n }\n var mimeType;\n switch (format) {\n case \"PNG\":\n mimeType = \"image/png\";\n break;\n case \"WEBP\":\n mimeType = \"image/webp\";\n break;\n case \"JPEG\":\n case \"JPG\":\n default:\n mimeType = \"image/jpeg\";\n break;\n }\n return atob(\n element\n .toDataURL(mimeType, 1.0)\n .split(\"base64,\")\n .pop()\n );\n }\n };\n\n var checkImagesForAlias = function(alias) {\n var images = this.internal.collections[namespace + \"images\"];\n if (images) {\n for (var e in images) {\n if (alias === images[e].alias) {\n return images[e];\n }\n }\n }\n };\n\n var determineWidthAndHeight = function(width, height, image) {\n if (!width && !height) {\n width = -96;\n height = -96;\n }\n if (width < 0) {\n width = (-1 * image.width * 72) / width / this.internal.scaleFactor;\n }\n if (height < 0) {\n height = (-1 * image.height * 72) / height / this.internal.scaleFactor;\n }\n if (width === 0) {\n width = (height * image.width) / image.height;\n }\n if (height === 0) {\n height = (width * image.height) / image.width;\n }\n\n return [width, height];\n };\n\n var writeImageToPDF = function(x, y, width, height, image, rotation) {\n var dims = determineWidthAndHeight.call(this, width, height, image),\n coord = this.internal.getCoordinateString,\n vcoord = this.internal.getVerticalCoordinateString;\n\n var images = getImages.call(this);\n\n width = dims[0];\n height = dims[1];\n images[image.index] = image;\n\n if (rotation) {\n rotation *= Math.PI / 180;\n var c = Math.cos(rotation);\n var s = Math.sin(rotation);\n //like in pdf Reference do it 4 digits instead of 2\n var f4 = function(number) {\n return number.toFixed(4);\n };\n var rotationTransformationMatrix = [\n f4(c),\n f4(s),\n f4(s * -1),\n f4(c),\n 0,\n 0,\n \"cm\"\n ];\n }\n this.internal.write(\"q\"); //Save graphics state\n if (rotation) {\n this.internal.write(\n [1, \"0\", \"0\", 1, coord(x), vcoord(y + height), \"cm\"].join(\" \")\n ); //Translate\n this.internal.write(rotationTransformationMatrix.join(\" \")); //Rotate\n this.internal.write(\n [coord(width), \"0\", \"0\", coord(height), \"0\", \"0\", \"cm\"].join(\" \")\n ); //Scale\n } else {\n this.internal.write(\n [\n coord(width),\n \"0\",\n \"0\",\n coord(height),\n coord(x),\n vcoord(y + height),\n \"cm\"\n ].join(\" \")\n ); //Translate and Scale\n }\n\n if (this.isAdvancedAPI()) {\n // draw image bottom up when in \"advanced\" API mode\n this.internal.write([1, 0, 0, -1, 0, 0, \"cm\"].join(\" \"));\n }\n\n this.internal.write(\"/I\" + image.index + \" Do\"); //Paint Image\n this.internal.write(\"Q\"); //Restore graphics state\n };\n\n /**\n * COLOR SPACES\n */\n var color_spaces = (jsPDFAPI.color_spaces = {\n DEVICE_RGB: \"DeviceRGB\",\n DEVICE_GRAY: \"DeviceGray\",\n DEVICE_CMYK: \"DeviceCMYK\",\n CAL_GREY: \"CalGray\",\n CAL_RGB: \"CalRGB\",\n LAB: \"Lab\",\n ICC_BASED: \"ICCBased\",\n INDEXED: \"Indexed\",\n PATTERN: \"Pattern\",\n SEPARATION: \"Separation\",\n DEVICE_N: \"DeviceN\"\n });\n\n /**\n * DECODE METHODS\n */\n jsPDFAPI.decode = {\n DCT_DECODE: \"DCTDecode\",\n FLATE_DECODE: \"FlateDecode\",\n LZW_DECODE: \"LZWDecode\",\n JPX_DECODE: \"JPXDecode\",\n JBIG2_DECODE: \"JBIG2Decode\",\n ASCII85_DECODE: \"ASCII85Decode\",\n ASCII_HEX_DECODE: \"ASCIIHexDecode\",\n RUN_LENGTH_DECODE: \"RunLengthDecode\",\n CCITT_FAX_DECODE: \"CCITTFaxDecode\"\n };\n\n /**\n * IMAGE COMPRESSION TYPES\n */\n var image_compression = (jsPDFAPI.image_compression = {\n NONE: \"NONE\",\n FAST: \"FAST\",\n MEDIUM: \"MEDIUM\",\n SLOW: \"SLOW\"\n });\n\n /**\n * @name sHashCode\n * @function\n * @param {string} data\n * @returns {string}\n */\n var sHashCode = (jsPDFAPI.__addimage__.sHashCode = function(data) {\n var hash = 0,\n i,\n len;\n\n if (typeof data === \"string\") {\n len = data.length;\n for (i = 0; i < len; i++) {\n hash = (hash << 5) - hash + data.charCodeAt(i);\n hash |= 0; // Convert to 32bit integer\n }\n } else if (isArrayBufferView(data)) {\n len = data.byteLength / 2;\n for (i = 0; i < len; i++) {\n hash = (hash << 5) - hash + data[i];\n hash |= 0; // Convert to 32bit integer\n }\n }\n return hash;\n });\n\n /**\n * Validates if given String is a valid Base64-String\n *\n * @name validateStringAsBase64\n * @public\n * @function\n * @param {String} possible Base64-String\n *\n * @returns {boolean}\n */\n var validateStringAsBase64 = (jsPDFAPI.__addimage__.validateStringAsBase64 = function(\n possibleBase64String\n ) {\n possibleBase64String = possibleBase64String || \"\";\n possibleBase64String.toString().trim();\n\n var result = true;\n\n if (possibleBase64String.length === 0) {\n result = false;\n }\n\n if (possibleBase64String.length % 4 !== 0) {\n result = false;\n }\n\n if (\n /^[A-Za-z0-9+/]+$/.test(\n possibleBase64String.substr(0, possibleBase64String.length - 2)\n ) === false\n ) {\n result = false;\n }\n\n if (\n /^[A-Za-z0-9/][A-Za-z0-9+/]|[A-Za-z0-9+/]=|==$/.test(\n possibleBase64String.substr(-2)\n ) === false\n ) {\n result = false;\n }\n return result;\n });\n\n /**\n * Strips out and returns info from a valid base64 data URI\n *\n * @name extractImageFromDataUrl\n * @function\n * @param {string} dataUrl a valid data URI of format 'data:[][;base64],'\n * @returns {Array}an Array containing the following\n * [0] the complete data URI\n * [1] \n * [2] format - the second part of the mime-type i.e 'png' in 'image/png'\n * [4] \n */\n var extractImageFromDataUrl = (jsPDFAPI.__addimage__.extractImageFromDataUrl = function(\n dataUrl\n ) {\n dataUrl = dataUrl || \"\";\n var dataUrlParts = dataUrl.split(\"base64,\");\n var result = null;\n\n if (dataUrlParts.length === 2) {\n var extractedInfo = /^data:(\\w*\\/\\w*);*(charset=(?!charset=)[\\w=-]*)*;*$/.exec(\n dataUrlParts[0]\n );\n if (Array.isArray(extractedInfo)) {\n result = {\n mimeType: extractedInfo[1],\n charset: extractedInfo[2],\n data: dataUrlParts[1]\n };\n }\n }\n return result;\n });\n\n /**\n * Check to see if ArrayBuffer is supported\n *\n * @name supportsArrayBuffer\n * @function\n * @returns {boolean}\n */\n var supportsArrayBuffer = (jsPDFAPI.__addimage__.supportsArrayBuffer = function() {\n return (\n typeof ArrayBuffer !== \"undefined\" && typeof Uint8Array !== \"undefined\"\n );\n });\n\n /**\n * Tests supplied object to determine if ArrayBuffer\n *\n * @name isArrayBuffer\n * @function\n * @param {Object} object an Object\n *\n * @returns {boolean}\n */\n jsPDFAPI.__addimage__.isArrayBuffer = function(object) {\n return supportsArrayBuffer() && object instanceof ArrayBuffer;\n };\n\n /**\n * Tests supplied object to determine if it implements the ArrayBufferView (TypedArray) interface\n *\n * @name isArrayBufferView\n * @function\n * @param {Object} object an Object\n * @returns {boolean}\n */\n var isArrayBufferView = (jsPDFAPI.__addimage__.isArrayBufferView = function(\n object\n ) {\n return (\n supportsArrayBuffer() &&\n typeof Uint32Array !== \"undefined\" &&\n (object instanceof Int8Array ||\n object instanceof Uint8Array ||\n (typeof Uint8ClampedArray !== \"undefined\" &&\n object instanceof Uint8ClampedArray) ||\n object instanceof Int16Array ||\n object instanceof Uint16Array ||\n object instanceof Int32Array ||\n object instanceof Uint32Array ||\n object instanceof Float32Array ||\n object instanceof Float64Array)\n );\n });\n\n /**\n * Convert Binary String to ArrayBuffer\n *\n * @name binaryStringToUint8Array\n * @public\n * @function\n * @param {string} BinaryString with ImageData\n * @returns {Uint8Array}\n */\n var binaryStringToUint8Array = (jsPDFAPI.__addimage__.binaryStringToUint8Array = function(\n binary_string\n ) {\n var len = binary_string.length;\n var bytes = new Uint8Array(len);\n for (var i = 0; i < len; i++) {\n bytes[i] = binary_string.charCodeAt(i);\n }\n return bytes;\n });\n\n /**\n * Convert the Buffer to a Binary String\n *\n * @name arrayBufferToBinaryString\n * @public\n * @function\n * @param {ArrayBuffer|ArrayBufferView} ArrayBuffer buffer or bufferView with ImageData\n *\n * @returns {String}\n */\n var arrayBufferToBinaryString = (jsPDFAPI.__addimage__.arrayBufferToBinaryString = function(\n buffer\n ) {\n var out = \"\";\n // There are calls with both ArrayBuffer and already converted Uint8Array or other BufferView.\n // Do not copy the array if input is already an array.\n var buf = isArrayBufferView(buffer) ? buffer : new Uint8Array(buffer);\n for (var i = 0; i < buf.length; i += ARRAY_APPLY_BATCH) {\n // Limit the amount of characters being parsed to prevent overflow.\n // Note that while TextDecoder would be faster, it does not have the same\n // functionality as fromCharCode with any provided encodings as of 3/2021.\n out += String.fromCharCode.apply(\n null,\n buf.subarray(i, i + ARRAY_APPLY_BATCH)\n );\n }\n return out;\n });\n\n /**\n * Possible parameter for addImage, an RGBA buffer with size.\n *\n * @typedef {Object} RGBAData\n * @property {Uint8ClampedArray} data - Single dimensional array of RGBA values. For example from canvas getImageData.\n * @property {number} width - Image width as the data does not carry this information in itself.\n * @property {number} height - Image height as the data does not carry this information in itself.\n */\n\n /**\n * Adds an Image to the PDF.\n *\n * @name addImage\n * @public\n * @function\n * @param {string|HTMLImageElement|HTMLCanvasElement|Uint8Array|RGBAData} imageData imageData as base64 encoded DataUrl or Image-HTMLElement or Canvas-HTMLElement or object containing RGBA array (like output from canvas.getImageData).\n * @param {string} format format of file if filetype-recognition fails or in case of a Canvas-Element needs to be specified (default for Canvas is JPEG), e.g. 'JPEG', 'PNG', 'WEBP'\n * @param {number} x x Coordinate (in units declared at inception of PDF document) against left edge of the page\n * @param {number} y y Coordinate (in units declared at inception of PDF document) against upper edge of the page\n * @param {number} width width of the image (in units declared at inception of PDF document)\n * @param {number} height height of the Image (in units declared at inception of PDF document)\n * @param {string} alias alias of the image (if used multiple times)\n * @param {string} compression compression of the generated JPEG, can have the values 'NONE', 'FAST', 'MEDIUM' and 'SLOW'\n * @param {number} rotation rotation of the image in degrees (0-359)\n *\n * @returns jsPDF\n */\n jsPDFAPI.addImage = function() {\n var imageData, format, x, y, w, h, alias, compression, rotation;\n\n imageData = arguments[0];\n if (typeof arguments[1] === \"number\") {\n format = UNKNOWN;\n x = arguments[1];\n y = arguments[2];\n w = arguments[3];\n h = arguments[4];\n alias = arguments[5];\n compression = arguments[6];\n rotation = arguments[7];\n } else {\n format = arguments[1];\n x = arguments[2];\n y = arguments[3];\n w = arguments[4];\n h = arguments[5];\n alias = arguments[6];\n compression = arguments[7];\n rotation = arguments[8];\n }\n\n if (\n typeof imageData === \"object\" &&\n !isDOMElement(imageData) &&\n \"imageData\" in imageData\n ) {\n var options = imageData;\n\n imageData = options.imageData;\n format = options.format || format || UNKNOWN;\n x = options.x || x || 0;\n y = options.y || y || 0;\n w = options.w || options.width || w;\n h = options.h || options.height || h;\n alias = options.alias || alias;\n compression = options.compression || compression;\n rotation = options.rotation || options.angle || rotation;\n }\n\n //If compression is not explicitly set, determine if we should use compression\n var filter = this.internal.getFilters();\n if (compression === undefined && filter.indexOf(\"FlateEncode\") !== -1) {\n compression = \"SLOW\";\n }\n\n if (isNaN(x) || isNaN(y)) {\n throw new Error(\"Invalid coordinates passed to jsPDF.addImage\");\n }\n\n initialize.call(this);\n\n var image = processImageData.call(\n this,\n imageData,\n format,\n alias,\n compression\n );\n\n writeImageToPDF.call(this, x, y, w, h, image, rotation);\n\n return this;\n };\n\n var processImageData = function(imageData, format, alias, compression) {\n var result, dataAsBinaryString;\n\n if (\n typeof imageData === \"string\" &&\n getImageFileTypeByImageData(imageData) === UNKNOWN\n ) {\n imageData = unescape(imageData);\n var tmpImageData = convertBase64ToBinaryString(imageData, false);\n\n if (tmpImageData !== \"\") {\n imageData = tmpImageData;\n } else {\n tmpImageData = jsPDFAPI.loadFile(imageData, true);\n if (tmpImageData !== undefined) {\n imageData = tmpImageData;\n }\n }\n }\n\n if (isDOMElement(imageData)) {\n imageData = getImageDataFromElement(imageData, format);\n }\n\n format = getImageFileTypeByImageData(imageData, format);\n if (!isImageTypeSupported(format)) {\n throw new Error(\n \"addImage does not support files of type '\" +\n format +\n \"', please ensure that a plugin for '\" +\n format +\n \"' support is added.\"\n );\n }\n\n // now do the heavy lifting\n\n if (notDefined(alias)) {\n alias = generateAliasFromImageData(imageData);\n }\n result = checkImagesForAlias.call(this, alias);\n\n if (!result) {\n if (supportsArrayBuffer()) {\n // no need to convert if imageData is already uint8array\n if (!(imageData instanceof Uint8Array) && format !== \"RGBA\") {\n dataAsBinaryString = imageData;\n imageData = binaryStringToUint8Array(imageData);\n }\n }\n\n result = this[\"process\" + format.toUpperCase()](\n imageData,\n getImageIndex.call(this),\n alias,\n checkCompressValue(compression),\n dataAsBinaryString\n );\n }\n\n if (!result) {\n throw new Error(\"An unknown error occurred whilst processing the image.\");\n }\n return result;\n };\n\n /**\n * @name convertBase64ToBinaryString\n * @function\n * @param {string} stringData\n * @returns {string} binary string\n */\n var convertBase64ToBinaryString = (jsPDFAPI.__addimage__.convertBase64ToBinaryString = function(\n stringData,\n throwError\n ) {\n throwError = typeof throwError === \"boolean\" ? throwError : true;\n var base64Info;\n var imageData = \"\";\n var rawData;\n\n if (typeof stringData === \"string\") {\n base64Info = extractImageFromDataUrl(stringData);\n rawData = base64Info !== null ? base64Info.data : stringData;\n\n try {\n imageData = atob(rawData);\n } catch (e) {\n if (throwError) {\n if (!validateStringAsBase64(rawData)) {\n throw new Error(\n \"Supplied Data is not a valid base64-String jsPDF.convertBase64ToBinaryString \"\n );\n } else {\n throw new Error(\n \"atob-Error in jsPDF.convertBase64ToBinaryString \" + e.message\n );\n }\n }\n }\n }\n return imageData;\n });\n\n /**\n * @name getImageProperties\n * @function\n * @param {Object} imageData\n * @returns {Object}\n */\n jsPDFAPI.getImageProperties = function(imageData) {\n var image;\n var tmpImageData = \"\";\n var format;\n\n if (isDOMElement(imageData)) {\n imageData = getImageDataFromElement(imageData);\n }\n\n if (\n typeof imageData === \"string\" &&\n getImageFileTypeByImageData(imageData) === UNKNOWN\n ) {\n tmpImageData = convertBase64ToBinaryString(imageData, false);\n\n if (tmpImageData === \"\") {\n tmpImageData = jsPDFAPI.loadFile(imageData) || \"\";\n }\n imageData = tmpImageData;\n }\n\n format = getImageFileTypeByImageData(imageData);\n if (!isImageTypeSupported(format)) {\n throw new Error(\n \"addImage does not support files of type '\" +\n format +\n \"', please ensure that a plugin for '\" +\n format +\n \"' support is added.\"\n );\n }\n\n if (supportsArrayBuffer() && !(imageData instanceof Uint8Array)) {\n imageData = binaryStringToUint8Array(imageData);\n }\n\n image = this[\"process\" + format.toUpperCase()](imageData);\n\n if (!image) {\n throw new Error(\"An unknown error occurred whilst processing the image\");\n }\n\n image.fileType = format;\n\n return image;\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\n/**\n * jsPDF Annotations PlugIn\n *\n * There are many types of annotations in a PDF document. Annotations are placed\n * on a page at a particular location. They are not 'attached' to an object.\n *
\n * This plugin current supports
\n *
  • Goto Page (set pageNumber and top in options)\n *
  • Goto Name (set name and top in options)\n *
  • Goto URL (set url in options)\n *

    \n * \tThe destination magnification factor can also be specified when goto is a page number or a named destination. (see documentation below)\n * (set magFactor in options). XYZ is the default.\n *

    \n *

    \n * Links, Text, Popup, and FreeText are supported.\n *

    \n *

    \n * Options In PDF spec Not Implemented Yet\n *

  • link border\n *
  • named target\n *
  • page coordinates\n *
  • destination page scaling and layout\n *
  • actions other than URL and GotoPage\n *
  • background / hover actions\n *

    \n * @name annotations\n * @module\n */\n\n/*\n Destination Magnification Factors\n See PDF 1.3 Page 386 for meanings and options\n\n [supported]\n\tXYZ (options; left top zoom)\n\tFit (no options)\n\tFitH (options: top)\n\tFitV (options: left)\n\n\t[not supported]\n\tFitR\n\tFitB\n\tFitBH\n\tFitBV\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n(function(jsPDFAPI) {\n \"use strict\";\n\n var notEmpty = function(obj) {\n if (typeof obj != \"undefined\") {\n if (obj != \"\") {\n return true;\n }\n }\n };\n\n jsPDF.API.events.push([\n \"addPage\",\n function(addPageData) {\n var pageInfo = this.internal.getPageInfo(addPageData.pageNumber);\n pageInfo.pageContext.annotations = [];\n }\n ]);\n\n jsPDFAPI.events.push([\n \"putPage\",\n function(putPageData) {\n var getHorizontalCoordinateString = this.internal.getCoordinateString;\n var getVerticalCoordinateString = this.internal\n .getVerticalCoordinateString;\n var pageInfo = this.internal.getPageInfoByObjId(putPageData.objId);\n var pageAnnos = putPageData.pageContext.annotations;\n\n var anno, rect, line;\n var found = false;\n for (var a = 0; a < pageAnnos.length && !found; a++) {\n anno = pageAnnos[a];\n switch (anno.type) {\n case \"link\":\n if (\n notEmpty(anno.options.url) ||\n notEmpty(anno.options.pageNumber)\n ) {\n found = true;\n }\n break;\n case \"reference\":\n case \"text\":\n case \"freetext\":\n found = true;\n break;\n }\n }\n if (found == false) {\n return;\n }\n\n this.internal.write(\"/Annots [\");\n for (var i = 0; i < pageAnnos.length; i++) {\n anno = pageAnnos[i];\n var escape = this.internal.pdfEscape;\n var encryptor = this.internal.getEncryptor(putPageData.objId);\n\n switch (anno.type) {\n case \"reference\":\n // References to Widget Annotations (for AcroForm Fields)\n this.internal.write(\" \" + anno.object.objId + \" 0 R \");\n break;\n case \"text\":\n // Create a an object for both the text and the popup\n var objText = this.internal.newAdditionalObject();\n var objPopup = this.internal.newAdditionalObject();\n var encryptorText = this.internal.getEncryptor(objText.objId);\n\n var title = anno.title || \"Note\";\n rect =\n \"/Rect [\" +\n getHorizontalCoordinateString(anno.bounds.x) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y + anno.bounds.h) +\n \" \" +\n getHorizontalCoordinateString(anno.bounds.x + anno.bounds.w) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y) +\n \"] \";\n\n line =\n \"<>\";\n objText.content = line;\n\n var parent = objText.objId + \" 0 R\";\n var popoff = 30;\n rect =\n \"/Rect [\" +\n getHorizontalCoordinateString(anno.bounds.x + popoff) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y + anno.bounds.h) +\n \" \" +\n getHorizontalCoordinateString(\n anno.bounds.x + anno.bounds.w + popoff\n ) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y) +\n \"] \";\n line =\n \"<>\";\n objPopup.content = line;\n\n this.internal.write(objText.objId, \"0 R\", objPopup.objId, \"0 R\");\n\n break;\n case \"freetext\":\n rect =\n \"/Rect [\" +\n getHorizontalCoordinateString(anno.bounds.x) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y) +\n \" \" +\n getHorizontalCoordinateString(anno.bounds.x + anno.bounds.w) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y + anno.bounds.h) +\n \"] \";\n var color = anno.color || \"#000000\";\n line =\n \"<>\";\n this.internal.write(line);\n break;\n case \"link\":\n if (anno.options.name) {\n var loc = this.annotations._nameMap[anno.options.name];\n anno.options.pageNumber = loc.page;\n anno.options.top = loc.y;\n } else {\n if (!anno.options.top) {\n anno.options.top = 0;\n }\n }\n\n rect =\n \"/Rect [\" +\n anno.finalBounds.x +\n \" \" +\n anno.finalBounds.y +\n \" \" +\n anno.finalBounds.w +\n \" \" +\n anno.finalBounds.h +\n \"] \";\n\n line = \"\";\n if (anno.options.url) {\n line =\n \"<>\";\n } else if (anno.options.pageNumber) {\n // first page is 0\n var info = this.internal.getPageInfo(anno.options.pageNumber);\n line =\n \"<>\";\n this.internal.write(line);\n }\n break;\n }\n }\n this.internal.write(\"]\");\n }\n ]);\n\n /**\n * @name createAnnotation\n * @function\n * @param {Object} options\n */\n jsPDFAPI.createAnnotation = function(options) {\n var pageInfo = this.internal.getCurrentPageInfo();\n switch (options.type) {\n case \"link\":\n this.link(\n options.bounds.x,\n options.bounds.y,\n options.bounds.w,\n options.bounds.h,\n options\n );\n break;\n case \"text\":\n case \"freetext\":\n pageInfo.pageContext.annotations.push(options);\n break;\n }\n };\n\n /**\n * Create a link\n *\n * valid options\n *
  • pageNumber or url [required]\n *

    If pageNumber is specified, top and zoom may also be specified

    \n * @name link\n * @function\n * @param {number} x\n * @param {number} y\n * @param {number} w\n * @param {number} h\n * @param {Object} options\n */\n jsPDFAPI.link = function(x, y, w, h, options) {\n var pageInfo = this.internal.getCurrentPageInfo();\n var getHorizontalCoordinateString = this.internal.getCoordinateString;\n var getVerticalCoordinateString = this.internal.getVerticalCoordinateString;\n\n pageInfo.pageContext.annotations.push({\n finalBounds: {\n x: getHorizontalCoordinateString(x),\n y: getVerticalCoordinateString(y),\n w: getHorizontalCoordinateString(x + w),\n h: getVerticalCoordinateString(y + h)\n },\n options: options,\n type: \"link\"\n });\n };\n\n /**\n * Currently only supports single line text.\n * Returns the width of the text/link\n *\n * @name textWithLink\n * @function\n * @param {string} text\n * @param {number} x\n * @param {number} y\n * @param {Object} options\n * @returns {number} width the width of the text/link\n */\n jsPDFAPI.textWithLink = function(text, x, y, options) {\n var totalLineWidth = this.getTextWidth(text);\n var lineHeight = this.internal.getLineHeight() / this.internal.scaleFactor;\n var linkHeight, linkWidth;\n\n // Checking if maxWidth option is passed to determine lineWidth and number of lines for each line\n if (options.maxWidth !== undefined) {\n var { maxWidth } = options;\n linkWidth = maxWidth;\n var numOfLines = this.splitTextToSize(text, linkWidth).length;\n linkHeight = Math.ceil(lineHeight * numOfLines);\n } else {\n linkWidth = totalLineWidth;\n linkHeight = lineHeight;\n }\n\n this.text(text, x, y, options);\n\n //TODO We really need the text baseline height to do this correctly.\n // Or ability to draw text on top, bottom, center, or baseline.\n y += lineHeight * 0.2;\n //handle x position based on the align option\n if (options.align === \"center\") {\n x = x - totalLineWidth / 2; //since starting from center move the x position by half of text width\n }\n if (options.align === \"right\") {\n x = x - totalLineWidth;\n }\n this.link(x, y - lineHeight, linkWidth, linkHeight, options);\n return totalLineWidth;\n };\n\n //TODO move into external library\n /**\n * @name getTextWidth\n * @function\n * @param {string} text\n * @returns {number} txtWidth\n */\n jsPDFAPI.getTextWidth = function(text) {\n var fontSize = this.internal.getFontSize();\n var txtWidth =\n (this.getStringUnitWidth(text) * fontSize) / this.internal.scaleFactor;\n return txtWidth;\n };\n\n return this;\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2017 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF arabic parser PlugIn\n *\n * @name arabic\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * Arabic shape substitutions: char code => (isolated, final, initial, medial).\n * Arabic Substition A\n */\n var arabicSubstitionA = {\n 0x0621: [0xfe80], // ARABIC LETTER HAMZA\n 0x0622: [0xfe81, 0xfe82], // ARABIC LETTER ALEF WITH MADDA ABOVE\n 0x0623: [0xfe83, 0xfe84], // ARABIC LETTER ALEF WITH HAMZA ABOVE\n 0x0624: [0xfe85, 0xfe86], // ARABIC LETTER WAW WITH HAMZA ABOVE\n 0x0625: [0xfe87, 0xfe88], // ARABIC LETTER ALEF WITH HAMZA BELOW\n 0x0626: [0xfe89, 0xfe8a, 0xfe8b, 0xfe8c], // ARABIC LETTER YEH WITH HAMZA ABOVE\n 0x0627: [0xfe8d, 0xfe8e], // ARABIC LETTER ALEF\n 0x0628: [0xfe8f, 0xfe90, 0xfe91, 0xfe92], // ARABIC LETTER BEH\n 0x0629: [0xfe93, 0xfe94], // ARABIC LETTER TEH MARBUTA\n 0x062a: [0xfe95, 0xfe96, 0xfe97, 0xfe98], // ARABIC LETTER TEH\n 0x062b: [0xfe99, 0xfe9a, 0xfe9b, 0xfe9c], // ARABIC LETTER THEH\n 0x062c: [0xfe9d, 0xfe9e, 0xfe9f, 0xfea0], // ARABIC LETTER JEEM\n 0x062d: [0xfea1, 0xfea2, 0xfea3, 0xfea4], // ARABIC LETTER HAH\n 0x062e: [0xfea5, 0xfea6, 0xfea7, 0xfea8], // ARABIC LETTER KHAH\n 0x062f: [0xfea9, 0xfeaa], // ARABIC LETTER DAL\n 0x0630: [0xfeab, 0xfeac], // ARABIC LETTER THAL\n 0x0631: [0xfead, 0xfeae], // ARABIC LETTER REH\n 0x0632: [0xfeaf, 0xfeb0], // ARABIC LETTER ZAIN\n 0x0633: [0xfeb1, 0xfeb2, 0xfeb3, 0xfeb4], // ARABIC LETTER SEEN\n 0x0634: [0xfeb5, 0xfeb6, 0xfeb7, 0xfeb8], // ARABIC LETTER SHEEN\n 0x0635: [0xfeb9, 0xfeba, 0xfebb, 0xfebc], // ARABIC LETTER SAD\n 0x0636: [0xfebd, 0xfebe, 0xfebf, 0xfec0], // ARABIC LETTER DAD\n 0x0637: [0xfec1, 0xfec2, 0xfec3, 0xfec4], // ARABIC LETTER TAH\n 0x0638: [0xfec5, 0xfec6, 0xfec7, 0xfec8], // ARABIC LETTER ZAH\n 0x0639: [0xfec9, 0xfeca, 0xfecb, 0xfecc], // ARABIC LETTER AIN\n 0x063a: [0xfecd, 0xfece, 0xfecf, 0xfed0], // ARABIC LETTER GHAIN\n 0x0641: [0xfed1, 0xfed2, 0xfed3, 0xfed4], // ARABIC LETTER FEH\n 0x0642: [0xfed5, 0xfed6, 0xfed7, 0xfed8], // ARABIC LETTER QAF\n 0x0643: [0xfed9, 0xfeda, 0xfedb, 0xfedc], // ARABIC LETTER KAF\n 0x0644: [0xfedd, 0xfede, 0xfedf, 0xfee0], // ARABIC LETTER LAM\n 0x0645: [0xfee1, 0xfee2, 0xfee3, 0xfee4], // ARABIC LETTER MEEM\n 0x0646: [0xfee5, 0xfee6, 0xfee7, 0xfee8], // ARABIC LETTER NOON\n 0x0647: [0xfee9, 0xfeea, 0xfeeb, 0xfeec], // ARABIC LETTER HEH\n 0x0648: [0xfeed, 0xfeee], // ARABIC LETTER WAW\n 0x0649: [0xfeef, 0xfef0, 64488, 64489], // ARABIC LETTER ALEF MAKSURA\n 0x064a: [0xfef1, 0xfef2, 0xfef3, 0xfef4], // ARABIC LETTER YEH\n 0x0671: [0xfb50, 0xfb51], // ARABIC LETTER ALEF WASLA\n 0x0677: [0xfbdd], // ARABIC LETTER U WITH HAMZA ABOVE\n 0x0679: [0xfb66, 0xfb67, 0xfb68, 0xfb69], // ARABIC LETTER TTEH\n 0x067a: [0xfb5e, 0xfb5f, 0xfb60, 0xfb61], // ARABIC LETTER TTEHEH\n 0x067b: [0xfb52, 0xfb53, 0xfb54, 0xfb55], // ARABIC LETTER BEEH\n 0x067e: [0xfb56, 0xfb57, 0xfb58, 0xfb59], // ARABIC LETTER PEH\n 0x067f: [0xfb62, 0xfb63, 0xfb64, 0xfb65], // ARABIC LETTER TEHEH\n 0x0680: [0xfb5a, 0xfb5b, 0xfb5c, 0xfb5d], // ARABIC LETTER BEHEH\n 0x0683: [0xfb76, 0xfb77, 0xfb78, 0xfb79], // ARABIC LETTER NYEH\n 0x0684: [0xfb72, 0xfb73, 0xfb74, 0xfb75], // ARABIC LETTER DYEH\n 0x0686: [0xfb7a, 0xfb7b, 0xfb7c, 0xfb7d], // ARABIC LETTER TCHEH\n 0x0687: [0xfb7e, 0xfb7f, 0xfb80, 0xfb81], // ARABIC LETTER TCHEHEH\n 0x0688: [0xfb88, 0xfb89], // ARABIC LETTER DDAL\n 0x068c: [0xfb84, 0xfb85], // ARABIC LETTER DAHAL\n 0x068d: [0xfb82, 0xfb83], // ARABIC LETTER DDAHAL\n 0x068e: [0xfb86, 0xfb87], // ARABIC LETTER DUL\n 0x0691: [0xfb8c, 0xfb8d], // ARABIC LETTER RREH\n 0x0698: [0xfb8a, 0xfb8b], // ARABIC LETTER JEH\n 0x06a4: [0xfb6a, 0xfb6b, 0xfb6c, 0xfb6d], // ARABIC LETTER VEH\n 0x06a6: [0xfb6e, 0xfb6f, 0xfb70, 0xfb71], // ARABIC LETTER PEHEH\n 0x06a9: [0xfb8e, 0xfb8f, 0xfb90, 0xfb91], // ARABIC LETTER KEHEH\n 0x06ad: [0xfbd3, 0xfbd4, 0xfbd5, 0xfbd6], // ARABIC LETTER NG\n 0x06af: [0xfb92, 0xfb93, 0xfb94, 0xfb95], // ARABIC LETTER GAF\n 0x06b1: [0xfb9a, 0xfb9b, 0xfb9c, 0xfb9d], // ARABIC LETTER NGOEH\n 0x06b3: [0xfb96, 0xfb97, 0xfb98, 0xfb99], // ARABIC LETTER GUEH\n 0x06ba: [0xfb9e, 0xfb9f], // ARABIC LETTER NOON GHUNNA\n 0x06bb: [0xfba0, 0xfba1, 0xfba2, 0xfba3], // ARABIC LETTER RNOON\n 0x06be: [0xfbaa, 0xfbab, 0xfbac, 0xfbad], // ARABIC LETTER HEH DOACHASHMEE\n 0x06c0: [0xfba4, 0xfba5], // ARABIC LETTER HEH WITH YEH ABOVE\n 0x06c1: [0xfba6, 0xfba7, 0xfba8, 0xfba9], // ARABIC LETTER HEH GOAL\n 0x06c5: [0xfbe0, 0xfbe1], // ARABIC LETTER KIRGHIZ OE\n 0x06c6: [0xfbd9, 0xfbda], // ARABIC LETTER OE\n 0x06c7: [0xfbd7, 0xfbd8], // ARABIC LETTER U\n 0x06c8: [0xfbdb, 0xfbdc], // ARABIC LETTER YU\n 0x06c9: [0xfbe2, 0xfbe3], // ARABIC LETTER KIRGHIZ YU\n 0x06cb: [0xfbde, 0xfbdf], // ARABIC LETTER VE\n 0x06cc: [0xfbfc, 0xfbfd, 0xfbfe, 0xfbff], // ARABIC LETTER FARSI YEH\n 0x06d0: [0xfbe4, 0xfbe5, 0xfbe6, 0xfbe7], //ARABIC LETTER E\n 0x06d2: [0xfbae, 0xfbaf], // ARABIC LETTER YEH BARREE\n 0x06d3: [0xfbb0, 0xfbb1] // ARABIC LETTER YEH BARREE WITH HAMZA ABOVE\n };\n\n /*\n var ligaturesSubstitutionA = {\n 0xFBEA: []// ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM\n };\n */\n\n var ligatures = {\n 0xfedf: {\n 0xfe82: 0xfef5, // ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM\n 0xfe84: 0xfef7, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM\n 0xfe88: 0xfef9, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM\n 0xfe8e: 0xfefb // ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM\n },\n 0xfee0: {\n 0xfe82: 0xfef6, // ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM\n 0xfe84: 0xfef8, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM\n 0xfe88: 0xfefa, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM\n 0xfe8e: 0xfefc // ARABIC LIGATURE LAM WITH ALEF FINAL FORM\n },\n 0xfe8d: { 0xfedf: { 0xfee0: { 0xfeea: 0xfdf2 } } }, // ALLAH\n 0x0651: {\n 0x064c: 0xfc5e, // Shadda + Dammatan\n 0x064d: 0xfc5f, // Shadda + Kasratan\n 0x064e: 0xfc60, // Shadda + Fatha\n 0x064f: 0xfc61, // Shadda + Damma\n 0x0650: 0xfc62 // Shadda + Kasra\n }\n };\n\n var arabic_diacritics = {\n 1612: 64606, // Shadda + Dammatan\n 1613: 64607, // Shadda + Kasratan\n 1614: 64608, // Shadda + Fatha\n 1615: 64609, // Shadda + Damma\n 1616: 64610 // Shadda + Kasra\n };\n\n var alfletter = [1570, 1571, 1573, 1575];\n\n var noChangeInForm = -1;\n var isolatedForm = 0;\n var finalForm = 1;\n var initialForm = 2;\n var medialForm = 3;\n\n jsPDFAPI.__arabicParser__ = {};\n\n //private\n var isInArabicSubstitutionA = (jsPDFAPI.__arabicParser__.isInArabicSubstitutionA = function(\n letter\n ) {\n return typeof arabicSubstitionA[letter.charCodeAt(0)] !== \"undefined\";\n });\n\n var isArabicLetter = (jsPDFAPI.__arabicParser__.isArabicLetter = function(\n letter\n ) {\n return (\n typeof letter === \"string\" &&\n /^[\\u0600-\\u06FF\\u0750-\\u077F\\u08A0-\\u08FF\\uFB50-\\uFDFF\\uFE70-\\uFEFF]+$/.test(\n letter\n )\n );\n });\n\n var isArabicEndLetter = (jsPDFAPI.__arabicParser__.isArabicEndLetter = function(\n letter\n ) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length <= 2\n );\n });\n\n var isArabicAlfLetter = (jsPDFAPI.__arabicParser__.isArabicAlfLetter = function(\n letter\n ) {\n return (\n isArabicLetter(letter) && alfletter.indexOf(letter.charCodeAt(0)) >= 0\n );\n });\n\n jsPDFAPI.__arabicParser__.arabicLetterHasIsolatedForm = function(letter) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length >= 1\n );\n };\n\n var arabicLetterHasFinalForm = (jsPDFAPI.__arabicParser__.arabicLetterHasFinalForm = function(\n letter\n ) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length >= 2\n );\n });\n\n jsPDFAPI.__arabicParser__.arabicLetterHasInitialForm = function(letter) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length >= 3\n );\n };\n\n var arabicLetterHasMedialForm = (jsPDFAPI.__arabicParser__.arabicLetterHasMedialForm = function(\n letter\n ) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length == 4\n );\n });\n\n var resolveLigatures = (jsPDFAPI.__arabicParser__.resolveLigatures = function(\n letters\n ) {\n var i = 0;\n var tmpLigatures = ligatures;\n var result = \"\";\n var effectedLetters = 0;\n\n for (i = 0; i < letters.length; i += 1) {\n if (typeof tmpLigatures[letters.charCodeAt(i)] !== \"undefined\") {\n effectedLetters++;\n tmpLigatures = tmpLigatures[letters.charCodeAt(i)];\n\n if (typeof tmpLigatures === \"number\") {\n result += String.fromCharCode(tmpLigatures);\n tmpLigatures = ligatures;\n effectedLetters = 0;\n }\n if (i === letters.length - 1) {\n tmpLigatures = ligatures;\n result += letters.charAt(i - (effectedLetters - 1));\n i = i - (effectedLetters - 1);\n effectedLetters = 0;\n }\n } else {\n tmpLigatures = ligatures;\n result += letters.charAt(i - effectedLetters);\n i = i - effectedLetters;\n effectedLetters = 0;\n }\n }\n\n return result;\n });\n\n jsPDFAPI.__arabicParser__.isArabicDiacritic = function(letter) {\n return (\n letter !== undefined &&\n arabic_diacritics[letter.charCodeAt(0)] !== undefined\n );\n };\n\n var getCorrectForm = (jsPDFAPI.__arabicParser__.getCorrectForm = function(\n currentChar,\n beforeChar,\n nextChar\n ) {\n if (!isArabicLetter(currentChar)) {\n return -1;\n }\n\n if (isInArabicSubstitutionA(currentChar) === false) {\n return noChangeInForm;\n }\n if (\n !arabicLetterHasFinalForm(currentChar) ||\n (!isArabicLetter(beforeChar) && !isArabicLetter(nextChar)) ||\n (!isArabicLetter(nextChar) && isArabicEndLetter(beforeChar)) ||\n (isArabicEndLetter(currentChar) && !isArabicLetter(beforeChar)) ||\n (isArabicEndLetter(currentChar) && isArabicAlfLetter(beforeChar)) ||\n (isArabicEndLetter(currentChar) && isArabicEndLetter(beforeChar))\n ) {\n return isolatedForm;\n }\n\n if (\n arabicLetterHasMedialForm(currentChar) &&\n isArabicLetter(beforeChar) &&\n !isArabicEndLetter(beforeChar) &&\n isArabicLetter(nextChar) &&\n arabicLetterHasFinalForm(nextChar)\n ) {\n return medialForm;\n }\n\n if (isArabicEndLetter(currentChar) || !isArabicLetter(nextChar)) {\n return finalForm;\n }\n return initialForm;\n });\n\n /**\n * @name processArabic\n * @function\n * @param {string} text\n * @returns {string}\n */\n var parseArabic = function(text) {\n text = text || \"\";\n\n var result = \"\";\n var i = 0;\n var j = 0;\n var position = 0;\n var currentLetter = \"\";\n var prevLetter = \"\";\n var nextLetter = \"\";\n\n var words = text.split(\"\\\\s+\");\n var newWords = [];\n for (i = 0; i < words.length; i += 1) {\n newWords.push(\"\");\n for (j = 0; j < words[i].length; j += 1) {\n currentLetter = words[i][j];\n prevLetter = words[i][j - 1];\n nextLetter = words[i][j + 1];\n if (isArabicLetter(currentLetter)) {\n position = getCorrectForm(currentLetter, prevLetter, nextLetter);\n if (position !== -1) {\n newWords[i] += String.fromCharCode(\n arabicSubstitionA[currentLetter.charCodeAt(0)][position]\n );\n } else {\n newWords[i] += currentLetter;\n }\n } else {\n newWords[i] += currentLetter;\n }\n }\n\n newWords[i] = resolveLigatures(newWords[i]);\n }\n result = newWords.join(\" \");\n\n return result;\n };\n\n var processArabic = (jsPDFAPI.__arabicParser__.processArabic = jsPDFAPI.processArabic = function() {\n var text =\n typeof arguments[0] === \"string\" ? arguments[0] : arguments[0].text;\n var tmpText = [];\n var result;\n\n if (Array.isArray(text)) {\n var i = 0;\n tmpText = [];\n for (i = 0; i < text.length; i += 1) {\n if (Array.isArray(text[i])) {\n tmpText.push([parseArabic(text[i][0]), text[i][1], text[i][2]]);\n } else {\n tmpText.push([parseArabic(text[i])]);\n }\n }\n result = tmpText;\n } else {\n result = parseArabic(text);\n }\n if (typeof arguments[0] === \"string\") {\n return result;\n } else {\n arguments[0].text = result;\n return arguments[0];\n }\n });\n\n jsPDFAPI.events.push([\"preProcessText\", processArabic]);\n})(jsPDF.API);\n","/** @license\n * jsPDF Autoprint Plugin\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name autoprint\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * Makes the PDF automatically open the print-Dialog when opened in a PDF-viewer.\n *\n * @name autoPrint\n * @function\n * @param {Object} options (optional) Set the attribute variant to 'non-conform' (default) or 'javascript' to activate different methods of automatic printing when opening in a PDF-viewer .\n * @returns {jsPDF}\n * @example\n * var doc = new jsPDF();\n * doc.text(10, 10, 'This is a test');\n * doc.autoPrint({variant: 'non-conform'});\n * doc.save('autoprint.pdf');\n */\n jsPDFAPI.autoPrint = function(options) {\n \"use strict\";\n var refAutoPrintTag;\n options = options || {};\n options.variant = options.variant || \"non-conform\";\n\n switch (options.variant) {\n case \"javascript\":\n //https://github.com/Rob--W/pdf.js/commit/c676ecb5a0f54677b9f3340c3ef2cf42225453bb\n this.addJS(\"print({});\");\n break;\n case \"non-conform\":\n default:\n this.internal.events.subscribe(\"postPutResources\", function() {\n refAutoPrintTag = this.internal.newObject();\n this.internal.out(\"<<\");\n this.internal.out(\"/S /Named\");\n this.internal.out(\"/Type /Action\");\n this.internal.out(\"/N /Print\");\n this.internal.out(\">>\");\n this.internal.out(\"endobj\");\n });\n\n this.internal.events.subscribe(\"putCatalog\", function() {\n this.internal.out(\"/OpenAction \" + refAutoPrintTag + \" 0 R\");\n });\n break;\n }\n return this;\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF Canvas PlugIn\n * This plugin mimics the HTML5 Canvas\n *\n * The goal is to provide a way for current canvas users to print directly to a PDF.\n * @name canvas\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * @class Canvas\n * @classdesc A Canvas Wrapper for jsPDF\n */\n var Canvas = function() {\n var jsPdfInstance = undefined;\n Object.defineProperty(this, \"pdf\", {\n get: function() {\n return jsPdfInstance;\n },\n set: function(value) {\n jsPdfInstance = value;\n }\n });\n\n var _width = 150;\n /**\n * The height property is a positive integer reflecting the height HTML attribute of the element interpreted in CSS pixels. When the attribute is not specified, or if it is set to an invalid value, like a negative, the default value of 150 is used.\n * This is one of the two properties, the other being width, that controls the size of the canvas.\n *\n * @name width\n */\n Object.defineProperty(this, \"width\", {\n get: function() {\n return _width;\n },\n set: function(value) {\n if (isNaN(value) || Number.isInteger(value) === false || value < 0) {\n _width = 150;\n } else {\n _width = value;\n }\n if (this.getContext(\"2d\").pageWrapXEnabled) {\n this.getContext(\"2d\").pageWrapX = _width + 1;\n }\n }\n });\n\n var _height = 300;\n /**\n * The width property is a positive integer reflecting the width HTML attribute of the element interpreted in CSS pixels. When the attribute is not specified, or if it is set to an invalid value, like a negative, the default value of 300 is used.\n * This is one of the two properties, the other being height, that controls the size of the canvas.\n *\n * @name height\n */\n Object.defineProperty(this, \"height\", {\n get: function() {\n return _height;\n },\n set: function(value) {\n if (isNaN(value) || Number.isInteger(value) === false || value < 0) {\n _height = 300;\n } else {\n _height = value;\n }\n if (this.getContext(\"2d\").pageWrapYEnabled) {\n this.getContext(\"2d\").pageWrapY = _height + 1;\n }\n }\n });\n\n var _childNodes = [];\n Object.defineProperty(this, \"childNodes\", {\n get: function() {\n return _childNodes;\n },\n set: function(value) {\n _childNodes = value;\n }\n });\n\n var _style = {};\n Object.defineProperty(this, \"style\", {\n get: function() {\n return _style;\n },\n set: function(value) {\n _style = value;\n }\n });\n\n Object.defineProperty(this, \"parentNode\", {});\n };\n\n /**\n * The getContext() method returns a drawing context on the canvas, or null if the context identifier is not supported.\n *\n * @name getContext\n * @function\n * @param {string} contextType Is a String containing the context identifier defining the drawing context associated to the canvas. Possible value is \"2d\", leading to the creation of a Context2D object representing a two-dimensional rendering context.\n * @param {object} contextAttributes\n */\n Canvas.prototype.getContext = function(contextType, contextAttributes) {\n contextType = contextType || \"2d\";\n var key;\n\n if (contextType !== \"2d\") {\n return null;\n }\n for (key in contextAttributes) {\n if (this.pdf.context2d.hasOwnProperty(key)) {\n this.pdf.context2d[key] = contextAttributes[key];\n }\n }\n this.pdf.context2d._canvas = this;\n return this.pdf.context2d;\n };\n\n /**\n * The toDataURL() method is just a stub to throw an error if accidently called.\n *\n * @name toDataURL\n * @function\n */\n Canvas.prototype.toDataURL = function() {\n throw new Error(\"toDataURL is not implemented.\");\n };\n\n jsPDFAPI.events.push([\n \"initialized\",\n function() {\n this.canvas = new Canvas();\n this.canvas.pdf = this;\n }\n ]);\n\n return this;\n})(jsPDF.API);\n","/**\n * @license\n * ====================================================================\n * Copyright (c) 2013 Youssef Beddad, youssef.beddad@gmail.com\n * 2013 Eduardo Menezes de Morais, eduardo.morais@usp.br\n * 2013 Lee Driscoll, https://github.com/lsdriscoll\n * 2014 Juan Pablo Gaviria, https://github.com/juanpgaviria\n * 2014 James Hall, james@parall.ax\n * 2014 Diego Casorran, https://github.com/diegocr\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name cell\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var NO_MARGINS = { left: 0, top: 0, bottom: 0, right: 0 };\n\n var px2pt = (0.264583 * 72) / 25.4;\n var printingHeaderRow = false;\n\n var _initialize = function() {\n if (typeof this.internal.__cell__ === \"undefined\") {\n this.internal.__cell__ = {};\n this.internal.__cell__.padding = 3;\n this.internal.__cell__.headerFunction = undefined;\n this.internal.__cell__.margins = Object.assign({}, NO_MARGINS);\n this.internal.__cell__.margins.width = this.getPageWidth();\n _reset.call(this);\n }\n };\n\n var _reset = function() {\n this.internal.__cell__.lastCell = new Cell();\n this.internal.__cell__.pages = 1;\n };\n\n var Cell = function() {\n var _x = arguments[0];\n Object.defineProperty(this, \"x\", {\n enumerable: true,\n get: function() {\n return _x;\n },\n set: function(value) {\n _x = value;\n }\n });\n var _y = arguments[1];\n Object.defineProperty(this, \"y\", {\n enumerable: true,\n get: function() {\n return _y;\n },\n set: function(value) {\n _y = value;\n }\n });\n var _width = arguments[2];\n Object.defineProperty(this, \"width\", {\n enumerable: true,\n get: function() {\n return _width;\n },\n set: function(value) {\n _width = value;\n }\n });\n var _height = arguments[3];\n Object.defineProperty(this, \"height\", {\n enumerable: true,\n get: function() {\n return _height;\n },\n set: function(value) {\n _height = value;\n }\n });\n var _text = arguments[4];\n Object.defineProperty(this, \"text\", {\n enumerable: true,\n get: function() {\n return _text;\n },\n set: function(value) {\n _text = value;\n }\n });\n var _lineNumber = arguments[5];\n Object.defineProperty(this, \"lineNumber\", {\n enumerable: true,\n get: function() {\n return _lineNumber;\n },\n set: function(value) {\n _lineNumber = value;\n }\n });\n var _align = arguments[6];\n Object.defineProperty(this, \"align\", {\n enumerable: true,\n get: function() {\n return _align;\n },\n set: function(value) {\n _align = value;\n }\n });\n\n return this;\n };\n\n Cell.prototype.clone = function() {\n return new Cell(\n this.x,\n this.y,\n this.width,\n this.height,\n this.text,\n this.lineNumber,\n this.align\n );\n };\n\n Cell.prototype.toArray = function() {\n return [\n this.x,\n this.y,\n this.width,\n this.height,\n this.text,\n this.lineNumber,\n this.align\n ];\n };\n\n /**\n * @name setHeaderFunction\n * @function\n * @param {function} func\n */\n jsPDFAPI.setHeaderFunction = function(func) {\n _initialize.call(this);\n this.internal.__cell__.headerFunction =\n typeof func === \"function\" ? func : undefined;\n return this;\n };\n\n /**\n * @name getTextDimensions\n * @function\n * @param {string} txt\n * @returns {Object} dimensions\n */\n jsPDFAPI.getTextDimensions = function(text, options) {\n _initialize.call(this);\n options = options || {};\n var fontSize = options.fontSize || this.getFontSize();\n var font = options.font || this.getFont();\n var scaleFactor = options.scaleFactor || this.internal.scaleFactor;\n var width = 0;\n var amountOfLines = 0;\n var height = 0;\n var tempWidth = 0;\n var scope = this;\n\n if (!Array.isArray(text) && typeof text !== \"string\") {\n if (typeof text === \"number\") {\n text = String(text);\n } else {\n throw new Error(\n \"getTextDimensions expects text-parameter to be of type String or type Number or an Array of Strings.\"\n );\n }\n }\n\n const maxWidth = options.maxWidth;\n if (maxWidth > 0) {\n if (typeof text === \"string\") {\n text = this.splitTextToSize(text, maxWidth);\n } else if (Object.prototype.toString.call(text) === \"[object Array]\") {\n text = text.reduce(function(acc, textLine) {\n return acc.concat(scope.splitTextToSize(textLine, maxWidth));\n }, []);\n }\n } else {\n // Without the else clause, it will not work if you do not pass along maxWidth\n text = Array.isArray(text) ? text : [text];\n }\n\n for (var i = 0; i < text.length; i++) {\n tempWidth = this.getStringUnitWidth(text[i], { font: font }) * fontSize;\n if (width < tempWidth) {\n width = tempWidth;\n }\n }\n\n if (width !== 0) {\n amountOfLines = text.length;\n }\n\n width = width / scaleFactor;\n height = Math.max(\n (amountOfLines * fontSize * this.getLineHeightFactor() -\n fontSize * (this.getLineHeightFactor() - 1)) /\n scaleFactor,\n 0\n );\n return { w: width, h: height };\n };\n\n /**\n * @name cellAddPage\n * @function\n */\n jsPDFAPI.cellAddPage = function() {\n _initialize.call(this);\n\n this.addPage();\n\n var margins = this.internal.__cell__.margins || NO_MARGINS;\n this.internal.__cell__.lastCell = new Cell(\n margins.left,\n margins.top,\n undefined,\n undefined\n );\n this.internal.__cell__.pages += 1;\n\n return this;\n };\n\n /**\n * @name cell\n * @function\n * @param {number} x\n * @param {number} y\n * @param {number} width\n * @param {number} height\n * @param {string} text\n * @param {number} lineNumber lineNumber\n * @param {string} align\n * @return {jsPDF} jsPDF-instance\n */\n var cell = (jsPDFAPI.cell = function() {\n var currentCell;\n\n if (arguments[0] instanceof Cell) {\n currentCell = arguments[0];\n } else {\n currentCell = new Cell(\n arguments[0],\n arguments[1],\n arguments[2],\n arguments[3],\n arguments[4],\n arguments[5]\n );\n }\n _initialize.call(this);\n var lastCell = this.internal.__cell__.lastCell;\n var padding = this.internal.__cell__.padding;\n var margins = this.internal.__cell__.margins || NO_MARGINS;\n var tableHeaderRow = this.internal.__cell__.tableHeaderRow;\n var printHeaders = this.internal.__cell__.printHeaders;\n // If this is not the first cell, we must change its position\n if (typeof lastCell.lineNumber !== \"undefined\") {\n if (lastCell.lineNumber === currentCell.lineNumber) {\n //Same line\n currentCell.x = (lastCell.x || 0) + (lastCell.width || 0);\n currentCell.y = lastCell.y || 0;\n } else {\n //New line\n if (\n lastCell.y + lastCell.height + currentCell.height + margins.bottom >\n this.getPageHeight()\n ) {\n this.cellAddPage();\n currentCell.y = margins.top;\n if (printHeaders && tableHeaderRow) {\n this.printHeaderRow(currentCell.lineNumber, true);\n currentCell.y += tableHeaderRow[0].height;\n }\n } else {\n currentCell.y = lastCell.y + lastCell.height || currentCell.y;\n }\n }\n }\n\n if (typeof currentCell.text[0] !== \"undefined\") {\n this.rect(\n currentCell.x,\n currentCell.y,\n currentCell.width,\n currentCell.height,\n printingHeaderRow === true ? \"FD\" : undefined\n );\n if (currentCell.align === \"right\") {\n this.text(\n currentCell.text,\n currentCell.x + currentCell.width - padding,\n currentCell.y + padding,\n { align: \"right\", baseline: \"top\" }\n );\n } else if (currentCell.align === \"center\") {\n this.text(\n currentCell.text,\n currentCell.x + currentCell.width / 2,\n currentCell.y + padding,\n {\n align: \"center\",\n baseline: \"top\",\n maxWidth: currentCell.width - padding - padding\n }\n );\n } else {\n this.text(\n currentCell.text,\n currentCell.x + padding,\n currentCell.y + padding,\n {\n align: \"left\",\n baseline: \"top\",\n maxWidth: currentCell.width - padding - padding\n }\n );\n }\n }\n this.internal.__cell__.lastCell = currentCell;\n return this;\n });\n\n /**\n * Create a table from a set of data.\n * @name table\n * @function\n * @param {Integer} [x] : left-position for top-left corner of table\n * @param {Integer} [y] top-position for top-left corner of table\n * @param {Object[]} [data] An array of objects containing key-value pairs corresponding to a row of data.\n * @param {String[]} [headers] Omit or null to auto-generate headers at a performance cost\n\n * @param {Object} [config.printHeaders] True to print column headers at the top of every page\n * @param {Object} [config.autoSize] True to dynamically set the column widths to match the widest cell value\n * @param {Object} [config.margins] margin values for left, top, bottom, and width\n * @param {Object} [config.fontSize] Integer fontSize to use (optional)\n * @param {Object} [config.padding] cell-padding in pt to use (optional)\n * @param {Object} [config.headerBackgroundColor] default is #c8c8c8 (optional)\n * @param {Object} [config.headerTextColor] default is #000 (optional)\n * @param {Object} [config.rowStart] callback to handle before print each row (optional)\n * @param {Object} [config.cellStart] callback to handle before print each cell (optional)\n * @returns {jsPDF} jsPDF-instance\n */\n\n jsPDFAPI.table = function(x, y, data, headers, config) {\n _initialize.call(this);\n if (!data) {\n throw new Error(\"No data for PDF table.\");\n }\n\n config = config || {};\n\n var headerNames = [],\n headerLabels = [],\n headerAligns = [],\n i,\n columnMatrix = {},\n columnWidths = {},\n column,\n columnMinWidths = [],\n j,\n tableHeaderConfigs = [],\n //set up defaults. If a value is provided in config, defaults will be overwritten:\n autoSize = config.autoSize || false,\n printHeaders = config.printHeaders === false ? false : true,\n fontSize =\n config.css && typeof config.css[\"font-size\"] !== \"undefined\"\n ? config.css[\"font-size\"] * 16\n : config.fontSize || 12,\n margins =\n config.margins ||\n Object.assign({ width: this.getPageWidth() }, NO_MARGINS),\n padding = typeof config.padding === \"number\" ? config.padding : 3,\n headerBackgroundColor = config.headerBackgroundColor || \"#c8c8c8\",\n headerTextColor = config.headerTextColor || \"#000\";\n\n _reset.call(this);\n\n this.internal.__cell__.printHeaders = printHeaders;\n this.internal.__cell__.margins = margins;\n this.internal.__cell__.table_font_size = fontSize;\n this.internal.__cell__.padding = padding;\n this.internal.__cell__.headerBackgroundColor = headerBackgroundColor;\n this.internal.__cell__.headerTextColor = headerTextColor;\n this.setFontSize(fontSize);\n\n // Set header values\n if (headers === undefined || headers === null) {\n // No headers defined so we derive from data\n headerNames = Object.keys(data[0]);\n headerLabels = headerNames;\n headerAligns = headerNames.map(function() {\n return \"left\";\n });\n } else if (Array.isArray(headers) && typeof headers[0] === \"object\") {\n headerNames = headers.map(function(header) {\n return header.name;\n });\n headerLabels = headers.map(function(header) {\n return header.prompt || header.name || \"\";\n });\n headerAligns = headers.map(function(header) {\n return header.align || \"left\";\n });\n // Split header configs into names and prompts\n for (i = 0; i < headers.length; i += 1) {\n columnWidths[headers[i].name] = headers[i].width * px2pt;\n }\n } else if (Array.isArray(headers) && typeof headers[0] === \"string\") {\n headerNames = headers;\n headerLabels = headerNames;\n headerAligns = headerNames.map(function() {\n return \"left\";\n });\n }\n\n if (\n autoSize ||\n (Array.isArray(headers) && typeof headers[0] === \"string\")\n ) {\n var headerName;\n for (i = 0; i < headerNames.length; i += 1) {\n headerName = headerNames[i];\n\n // Create a matrix of columns e.g., {column_title: [row1_Record, row2_Record]}\n\n columnMatrix[headerName] = data.map(function(rec) {\n return rec[headerName];\n });\n\n // get header width\n this.setFont(undefined, \"bold\");\n columnMinWidths.push(\n this.getTextDimensions(headerLabels[i], {\n fontSize: this.internal.__cell__.table_font_size,\n scaleFactor: this.internal.scaleFactor\n }).w\n );\n column = columnMatrix[headerName];\n\n // get cell widths\n this.setFont(undefined, \"normal\");\n for (j = 0; j < column.length; j += 1) {\n columnMinWidths.push(\n this.getTextDimensions(column[j], {\n fontSize: this.internal.__cell__.table_font_size,\n scaleFactor: this.internal.scaleFactor\n }).w\n );\n }\n\n // get final column width\n columnWidths[headerName] =\n Math.max.apply(null, columnMinWidths) + padding + padding;\n\n //have to reset\n columnMinWidths = [];\n }\n }\n\n // -- Construct the table\n\n if (printHeaders) {\n var row = {};\n for (i = 0; i < headerNames.length; i += 1) {\n row[headerNames[i]] = {};\n row[headerNames[i]].text = headerLabels[i];\n row[headerNames[i]].align = headerAligns[i];\n }\n\n var rowHeight = calculateLineHeight.call(this, row, columnWidths);\n\n // Construct the header row\n tableHeaderConfigs = headerNames.map(function(value) {\n return new Cell(\n x,\n y,\n columnWidths[value],\n rowHeight,\n row[value].text,\n undefined,\n row[value].align\n );\n });\n\n // Store the table header config\n this.setTableHeaderRow(tableHeaderConfigs);\n\n // Print the header for the start of the table\n this.printHeaderRow(1, false);\n }\n\n // Construct the data rows\n\n var align = headers.reduce(function(pv, cv) {\n pv[cv.name] = cv.align;\n return pv;\n }, {});\n for (i = 0; i < data.length; i += 1) {\n if (\"rowStart\" in config && config.rowStart instanceof Function) {\n config.rowStart(\n {\n row: i,\n data: data[i]\n },\n this\n );\n }\n var lineHeight = calculateLineHeight.call(this, data[i], columnWidths);\n\n for (j = 0; j < headerNames.length; j += 1) {\n var cellData = data[i][headerNames[j]];\n if (\"cellStart\" in config && config.cellStart instanceof Function) {\n config.cellStart(\n {\n row: i,\n col: j,\n data: cellData\n },\n this\n );\n }\n cell.call(\n this,\n new Cell(\n x,\n y,\n columnWidths[headerNames[j]],\n lineHeight,\n cellData,\n i + 2,\n align[headerNames[j]]\n )\n );\n }\n }\n this.internal.__cell__.table_x = x;\n this.internal.__cell__.table_y = y;\n return this;\n };\n\n /**\n * Calculate the height for containing the highest column\n *\n * @name calculateLineHeight\n * @function\n * @param {Object[]} model is the line of data we want to calculate the height of\n * @param {Integer[]} columnWidths is size of each column\n * @returns {number} lineHeight\n * @private\n */\n var calculateLineHeight = function calculateLineHeight(model, columnWidths) {\n var padding = this.internal.__cell__.padding;\n var fontSize = this.internal.__cell__.table_font_size;\n var scaleFactor = this.internal.scaleFactor;\n\n return Object.keys(model)\n .map(function(key) {\n var value = model[key];\n return this.splitTextToSize(\n value.hasOwnProperty(\"text\") ? value.text : value,\n columnWidths[key] - padding - padding\n );\n }, this)\n .map(function(value) {\n return (\n (this.getLineHeightFactor() * value.length * fontSize) / scaleFactor +\n padding +\n padding\n );\n }, this)\n .reduce(function(pv, cv) {\n return Math.max(pv, cv);\n }, 0);\n };\n\n /**\n * Store the config for outputting a table header\n *\n * @name setTableHeaderRow\n * @function\n * @param {Object[]} config\n * An array of cell configs that would define a header row: Each config matches the config used by jsPDFAPI.cell\n * except the lineNumber parameter is excluded\n */\n jsPDFAPI.setTableHeaderRow = function(config) {\n _initialize.call(this);\n this.internal.__cell__.tableHeaderRow = config;\n };\n\n /**\n * Output the store header row\n *\n * @name printHeaderRow\n * @function\n * @param {number} lineNumber The line number to output the header at\n * @param {boolean} new_page\n */\n jsPDFAPI.printHeaderRow = function(lineNumber, new_page) {\n _initialize.call(this);\n if (!this.internal.__cell__.tableHeaderRow) {\n throw new Error(\"Property tableHeaderRow does not exist.\");\n }\n\n var tableHeaderCell;\n\n printingHeaderRow = true;\n if (typeof this.internal.__cell__.headerFunction === \"function\") {\n var position = this.internal.__cell__.headerFunction(\n this,\n this.internal.__cell__.pages\n );\n this.internal.__cell__.lastCell = new Cell(\n position[0],\n position[1],\n position[2],\n position[3],\n undefined,\n -1\n );\n }\n this.setFont(undefined, \"bold\");\n\n var tempHeaderConf = [];\n for (var i = 0; i < this.internal.__cell__.tableHeaderRow.length; i += 1) {\n tableHeaderCell = this.internal.__cell__.tableHeaderRow[i].clone();\n if (new_page) {\n tableHeaderCell.y = this.internal.__cell__.margins.top || 0;\n tempHeaderConf.push(tableHeaderCell);\n }\n tableHeaderCell.lineNumber = lineNumber;\n var currentTextColor = this.getTextColor();\n this.setTextColor(this.internal.__cell__.headerTextColor);\n this.setFillColor(this.internal.__cell__.headerBackgroundColor);\n cell.call(this, tableHeaderCell);\n this.setTextColor(currentTextColor);\n }\n if (tempHeaderConf.length > 0) {\n this.setTableHeaderRow(tempHeaderConf);\n }\n this.setFont(undefined, \"normal\");\n printingHeaderRow = false;\n };\n})(jsPDF.API);\n","/**\n * @license\n * ====================================================================\n * Copyright (c) 2013 Youssef Beddad, youssef.beddad@gmail.com\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF JavaScript plugin\n *\n * @name javascript\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n var jsNamesObj, jsJsObj, text;\n /**\n * @name addJS\n * @function\n * @param {string} javascript The javascript to be embedded into the PDF-file.\n * @returns {jsPDF}\n */\n jsPDFAPI.addJS = function(javascript) {\n text = javascript;\n this.internal.events.subscribe(\"postPutResources\", function() {\n jsNamesObj = this.internal.newObject();\n this.internal.out(\"<<\");\n this.internal.out(\"/Names [(EmbeddedJS) \" + (jsNamesObj + 1) + \" 0 R]\");\n this.internal.out(\">>\");\n this.internal.out(\"endobj\");\n\n jsJsObj = this.internal.newObject();\n this.internal.out(\"<<\");\n this.internal.out(\"/S /JavaScript\");\n this.internal.out(\"/JS (\" + text + \")\");\n this.internal.out(\">>\");\n this.internal.out(\"endobj\");\n });\n this.internal.events.subscribe(\"putCatalog\", function() {\n if (jsNamesObj !== undefined && jsJsObj !== undefined) {\n this.internal.out(\"/Names <>\");\n }\n });\n return this;\n };\n})(jsPDF.API);\n","/**\n * @license\n * jsPDF fileloading PlugIn\n * Copyright (c) 2018 Aras Abbasi (aras.abbasi@gmail.com)\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name fileloading\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * @name loadFile\n * @function\n * @param {string} url\n * @param {boolean} sync\n * @param {function} callback\n * @returns {string|undefined} result\n */\n jsPDFAPI.loadFile = function(url, sync, callback) {\n return browserRequest(url, sync, callback);\n\n };\n\n /**\n * @name loadImageFile\n * @function\n * @param {string} path\n * @param {boolean} sync\n * @param {function} callback\n */\n jsPDFAPI.loadImageFile = jsPDFAPI.loadFile;\n\n function browserRequest(url, sync, callback) {\n sync = sync === false ? false : true;\n callback = typeof callback === \"function\" ? callback : function() {};\n var result = undefined;\n\n var xhr = function(url, sync, callback) {\n var request = new XMLHttpRequest();\n var i = 0;\n\n var sanitizeUnicode = function(data) {\n var dataLength = data.length;\n var charArray = [];\n var StringFromCharCode = String.fromCharCode;\n\n //Transform Unicode to ASCII\n for (i = 0; i < dataLength; i += 1) {\n charArray.push(StringFromCharCode(data.charCodeAt(i) & 0xff));\n }\n return charArray.join(\"\");\n };\n\n request.open(\"GET\", url, !sync);\n // XHR binary charset opt by Marcus Granado 2006 [http://mgran.blogspot.com]\n request.overrideMimeType(\"text/plain; charset=x-user-defined\");\n\n if (sync === false) {\n request.onload = function() {\n if (request.status === 200) {\n callback(sanitizeUnicode(this.responseText));\n } else {\n callback(undefined);\n }\n };\n }\n request.send(null);\n\n if (sync && request.status === 200) {\n return sanitizeUnicode(request.responseText);\n }\n };\n try {\n result = xhr(url, sync, callback);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n return result;\n }\n\n function nodeReadFile(url, sync, callback) {\n sync = sync === false ? false : true;\n var result = undefined;\n\n var fs = require(\"fs\");\n var path = require(\"path\");\n\n url = path.resolve(url);\n if (sync) {\n try {\n result = fs.readFileSync(url, { encoding: \"latin1\" });\n } catch (e) {\n return undefined;\n }\n } else {\n fs.readFile(url, { encoding: \"latin1\" }, function(err, data) {\n if (!callback) {\n return;\n }\n if (err) {\n callback(undefined);\n }\n callback(data);\n });\n }\n\n return result;\n }\n})(jsPDF.API);\n","/* eslint-disable no-fallthrough */\r\n/* eslint-disable no-console */\r\n/**\r\n * @license\r\n * jsPDF Context2D PlugIn Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\r\n *\r\n * Licensed under the MIT License. http://opensource.org/licenses/mit-license\r\n */\r\n\r\nimport { jsPDF } from \"../jspdf.js\";\r\nimport { RGBColor } from \"../libs/rgbcolor.js\";\r\nimport { console } from \"../libs/console.js\";\r\nimport {\r\n buildFontFaceMap,\r\n parseFontFamily,\r\n resolveFontFace\r\n} from \"../libs/fontFace.js\";\r\n\r\n/**\r\n * This plugin mimics the HTML5 CanvasRenderingContext2D.\r\n *\r\n * The goal is to provide a way for current canvas implementations to print directly to a PDF.\r\n *\r\n * @name context2d\r\n * @module\r\n */\r\n(function(jsPDFAPI) {\r\n \"use strict\";\r\n var ContextLayer = function(ctx) {\r\n ctx = ctx || {};\r\n this.isStrokeTransparent = ctx.isStrokeTransparent || false;\r\n this.strokeOpacity = ctx.strokeOpacity || 1;\r\n this.strokeStyle = ctx.strokeStyle || \"#000000\";\r\n this.fillStyle = ctx.fillStyle || \"#000000\";\r\n this.isFillTransparent = ctx.isFillTransparent || false;\r\n this.fillOpacity = ctx.fillOpacity || 1;\r\n this.font = ctx.font || \"10px sans-serif\";\r\n this.textBaseline = ctx.textBaseline || \"alphabetic\";\r\n this.textAlign = ctx.textAlign || \"left\";\r\n this.lineWidth = ctx.lineWidth || 1;\r\n this.lineJoin = ctx.lineJoin || \"miter\";\r\n this.lineCap = ctx.lineCap || \"butt\";\r\n this.path = ctx.path || [];\r\n this.transform =\r\n typeof ctx.transform !== \"undefined\"\r\n ? ctx.transform.clone()\r\n : new Matrix();\r\n this.globalCompositeOperation = ctx.globalCompositeOperation || \"normal\";\r\n this.globalAlpha = ctx.globalAlpha || 1.0;\r\n this.clip_path = ctx.clip_path || [];\r\n this.currentPoint = ctx.currentPoint || new Point();\r\n this.miterLimit = ctx.miterLimit || 10.0;\r\n this.lastPoint = ctx.lastPoint || new Point();\r\n this.lineDashOffset = ctx.lineDashOffset || 0.0;\r\n this.lineDash = ctx.lineDash || [];\r\n this.margin = ctx.margin || [0, 0, 0, 0];\r\n this.prevPageLastElemOffset = ctx.prevPageLastElemOffset || 0;\r\n\r\n this.ignoreClearRect =\r\n typeof ctx.ignoreClearRect === \"boolean\" ? ctx.ignoreClearRect : true;\r\n return this;\r\n };\r\n\r\n //stub\r\n var f2,\r\n getHorizontalCoordinateString,\r\n getVerticalCoordinateString,\r\n getHorizontalCoordinate,\r\n getVerticalCoordinate,\r\n Point,\r\n Rectangle,\r\n Matrix,\r\n _ctx;\r\n jsPDFAPI.events.push([\r\n \"initialized\",\r\n function() {\r\n this.context2d = new Context2D(this);\r\n\r\n f2 = this.internal.f2;\r\n getHorizontalCoordinateString = this.internal.getCoordinateString;\r\n getVerticalCoordinateString = this.internal.getVerticalCoordinateString;\r\n getHorizontalCoordinate = this.internal.getHorizontalCoordinate;\r\n getVerticalCoordinate = this.internal.getVerticalCoordinate;\r\n Point = this.internal.Point;\r\n Rectangle = this.internal.Rectangle;\r\n Matrix = this.internal.Matrix;\r\n _ctx = new ContextLayer();\r\n }\r\n ]);\r\n\r\n var Context2D = function(pdf) {\r\n Object.defineProperty(this, \"canvas\", {\r\n get: function() {\r\n return { parentNode: false, style: false };\r\n }\r\n });\r\n\r\n var _pdf = pdf;\r\n Object.defineProperty(this, \"pdf\", {\r\n get: function() {\r\n return _pdf;\r\n }\r\n });\r\n\r\n var _pageWrapXEnabled = false;\r\n /**\r\n * @name pageWrapXEnabled\r\n * @type {boolean}\r\n * @default false\r\n */\r\n Object.defineProperty(this, \"pageWrapXEnabled\", {\r\n get: function() {\r\n return _pageWrapXEnabled;\r\n },\r\n set: function(value) {\r\n _pageWrapXEnabled = Boolean(value);\r\n }\r\n });\r\n\r\n var _pageWrapYEnabled = false;\r\n /**\r\n * @name pageWrapYEnabled\r\n * @type {boolean}\r\n * @default true\r\n */\r\n Object.defineProperty(this, \"pageWrapYEnabled\", {\r\n get: function() {\r\n return _pageWrapYEnabled;\r\n },\r\n set: function(value) {\r\n _pageWrapYEnabled = Boolean(value);\r\n }\r\n });\r\n\r\n var _posX = 0;\r\n /**\r\n * @name posX\r\n * @type {number}\r\n * @default 0\r\n */\r\n Object.defineProperty(this, \"posX\", {\r\n get: function() {\r\n return _posX;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _posX = value;\r\n }\r\n }\r\n });\r\n\r\n var _posY = 0;\r\n /**\r\n * @name posY\r\n * @type {number}\r\n * @default 0\r\n */\r\n Object.defineProperty(this, \"posY\", {\r\n get: function() {\r\n return _posY;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _posY = value;\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * Gets or sets the page margin when using auto paging. Has no effect when {@link autoPaging} is off.\r\n * @name margin\r\n * @type {number|number[]}\r\n * @default [0, 0, 0, 0]\r\n */\r\n Object.defineProperty(this, \"margin\", {\r\n get: function() {\r\n return _ctx.margin;\r\n },\r\n set: function(value) {\r\n var margin;\r\n if (typeof value === \"number\") {\r\n margin = [value, value, value, value];\r\n } else {\r\n margin = new Array(4);\r\n margin[0] = value[0];\r\n margin[1] = value.length >= 2 ? value[1] : margin[0];\r\n margin[2] = value.length >= 3 ? value[2] : margin[0];\r\n margin[3] = value.length >= 4 ? value[3] : margin[1];\r\n }\r\n _ctx.margin = margin;\r\n }\r\n });\r\n\r\n var _autoPaging = false;\r\n /**\r\n * Gets or sets the auto paging mode. When auto paging is enabled, the context2d will automatically draw on the\r\n * next page if a shape or text chunk doesn't fit entirely on the current page. The context2d will create new\r\n * pages if required.\r\n *\r\n * Context2d supports different modes:\r\n *
      \r\n *
    • \r\n * false: Auto paging is disabled.\r\n *
    • \r\n *
    • \r\n * true or 'slice': Will cut shapes or text chunks across page breaks. Will possibly\r\n * slice text in half, making it difficult to read.\r\n *
    • \r\n *
    • \r\n * 'text': Trys not to cut text in half across page breaks. Works best for documents consisting\r\n * mostly of a single column of text.\r\n *
    • \r\n *
    \r\n * @name Context2D#autoPaging\r\n * @type {boolean|\"slice\"|\"text\"}\r\n * @default false\r\n */\r\n Object.defineProperty(this, \"autoPaging\", {\r\n get: function() {\r\n return _autoPaging;\r\n },\r\n set: function(value) {\r\n _autoPaging = value;\r\n }\r\n });\r\n\r\n var lastBreak = 0;\r\n /**\r\n * @name lastBreak\r\n * @type {number}\r\n * @default 0\r\n */\r\n Object.defineProperty(this, \"lastBreak\", {\r\n get: function() {\r\n return lastBreak;\r\n },\r\n set: function(value) {\r\n lastBreak = value;\r\n }\r\n });\r\n\r\n var pageBreaks = [];\r\n /**\r\n * Y Position of page breaks.\r\n * @name pageBreaks\r\n * @type {number}\r\n * @default 0\r\n */\r\n Object.defineProperty(this, \"pageBreaks\", {\r\n get: function() {\r\n return pageBreaks;\r\n },\r\n set: function(value) {\r\n pageBreaks = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name ctx\r\n * @type {object}\r\n * @default {}\r\n */\r\n Object.defineProperty(this, \"ctx\", {\r\n get: function() {\r\n return _ctx;\r\n },\r\n set: function(value) {\r\n if (value instanceof ContextLayer) {\r\n _ctx = value;\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * @name path\r\n * @type {array}\r\n * @default []\r\n */\r\n Object.defineProperty(this, \"path\", {\r\n get: function() {\r\n return _ctx.path;\r\n },\r\n set: function(value) {\r\n _ctx.path = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name ctxStack\r\n * @type {array}\r\n * @default []\r\n */\r\n var _ctxStack = [];\r\n Object.defineProperty(this, \"ctxStack\", {\r\n get: function() {\r\n return _ctxStack;\r\n },\r\n set: function(value) {\r\n _ctxStack = value;\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the color, gradient, or pattern used to fill the drawing\r\n *\r\n * @name fillStyle\r\n * @default #000000\r\n * @property {(color|gradient|pattern)} value The color of the drawing. Default value is #000000
    \r\n * A gradient object (linear or radial) used to fill the drawing (not supported by context2d)
    \r\n * A pattern object to use to fill the drawing (not supported by context2d)\r\n */\r\n Object.defineProperty(this, \"fillStyle\", {\r\n get: function() {\r\n return this.ctx.fillStyle;\r\n },\r\n set: function(value) {\r\n var rgba;\r\n rgba = getRGBA(value);\r\n\r\n this.ctx.fillStyle = rgba.style;\r\n this.ctx.isFillTransparent = rgba.a === 0;\r\n this.ctx.fillOpacity = rgba.a;\r\n\r\n this.pdf.setFillColor(rgba.r, rgba.g, rgba.b, { a: rgba.a });\r\n this.pdf.setTextColor(rgba.r, rgba.g, rgba.b, { a: rgba.a });\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the color, gradient, or pattern used for strokes\r\n *\r\n * @name strokeStyle\r\n * @default #000000\r\n * @property {color} color A CSS color value that indicates the stroke color of the drawing. Default value is #000000 (not supported by context2d)\r\n * @property {gradient} gradient A gradient object (linear or radial) used to create a gradient stroke (not supported by context2d)\r\n * @property {pattern} pattern A pattern object used to create a pattern stroke (not supported by context2d)\r\n */\r\n Object.defineProperty(this, \"strokeStyle\", {\r\n get: function() {\r\n return this.ctx.strokeStyle;\r\n },\r\n set: function(value) {\r\n var rgba = getRGBA(value);\r\n\r\n this.ctx.strokeStyle = rgba.style;\r\n this.ctx.isStrokeTransparent = rgba.a === 0;\r\n this.ctx.strokeOpacity = rgba.a;\r\n\r\n if (rgba.a === 0) {\r\n this.pdf.setDrawColor(255, 255, 255);\r\n } else if (rgba.a === 1) {\r\n this.pdf.setDrawColor(rgba.r, rgba.g, rgba.b);\r\n } else {\r\n this.pdf.setDrawColor(rgba.r, rgba.g, rgba.b);\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the style of the end caps for a line\r\n *\r\n * @name lineCap\r\n * @default butt\r\n * @property {(butt|round|square)} lineCap butt A flat edge is added to each end of the line
    \r\n * round A rounded end cap is added to each end of the line
    \r\n * square A square end cap is added to each end of the line
    \r\n */\r\n Object.defineProperty(this, \"lineCap\", {\r\n get: function() {\r\n return this.ctx.lineCap;\r\n },\r\n set: function(value) {\r\n if ([\"butt\", \"round\", \"square\"].indexOf(value) !== -1) {\r\n this.ctx.lineCap = value;\r\n this.pdf.setLineCap(value);\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the current line width\r\n *\r\n * @name lineWidth\r\n * @default 1\r\n * @property {number} lineWidth The current line width, in pixels\r\n */\r\n Object.defineProperty(this, \"lineWidth\", {\r\n get: function() {\r\n return this.ctx.lineWidth;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n this.ctx.lineWidth = value;\r\n this.pdf.setLineWidth(value);\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the type of corner created, when two lines meet\r\n */\r\n Object.defineProperty(this, \"lineJoin\", {\r\n get: function() {\r\n return this.ctx.lineJoin;\r\n },\r\n set: function(value) {\r\n if ([\"bevel\", \"round\", \"miter\"].indexOf(value) !== -1) {\r\n this.ctx.lineJoin = value;\r\n this.pdf.setLineJoin(value);\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * A number specifying the miter limit ratio in coordinate space units. Zero, negative, Infinity, and NaN values are ignored. The default value is 10.0.\r\n *\r\n * @name miterLimit\r\n * @default 10\r\n */\r\n Object.defineProperty(this, \"miterLimit\", {\r\n get: function() {\r\n return this.ctx.miterLimit;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n this.ctx.miterLimit = value;\r\n this.pdf.setMiterLimit(value);\r\n }\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"textBaseline\", {\r\n get: function() {\r\n return this.ctx.textBaseline;\r\n },\r\n set: function(value) {\r\n this.ctx.textBaseline = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"textAlign\", {\r\n get: function() {\r\n return this.ctx.textAlign;\r\n },\r\n set: function(value) {\r\n if ([\"right\", \"end\", \"center\", \"left\", \"start\"].indexOf(value) !== -1) {\r\n this.ctx.textAlign = value;\r\n }\r\n }\r\n });\r\n\r\n var _fontFaceMap = null;\r\n\r\n function getFontFaceMap(pdf, fontFaces) {\r\n if (_fontFaceMap === null) {\r\n var fontMap = pdf.getFontList();\r\n\r\n var convertedFontFaces = convertToFontFaces(fontMap);\r\n\r\n _fontFaceMap = buildFontFaceMap(convertedFontFaces.concat(fontFaces));\r\n }\r\n\r\n return _fontFaceMap;\r\n }\r\n\r\n function convertToFontFaces(fontMap) {\r\n var fontFaces = [];\r\n\r\n Object.keys(fontMap).forEach(function(family) {\r\n var styles = fontMap[family];\r\n\r\n styles.forEach(function(style) {\r\n var fontFace = null;\r\n\r\n switch (style) {\r\n case \"bold\":\r\n fontFace = {\r\n family: family,\r\n weight: \"bold\"\r\n };\r\n break;\r\n\r\n case \"italic\":\r\n fontFace = {\r\n family: family,\r\n style: \"italic\"\r\n };\r\n break;\r\n\r\n case \"bolditalic\":\r\n fontFace = {\r\n family: family,\r\n weight: \"bold\",\r\n style: \"italic\"\r\n };\r\n break;\r\n\r\n case \"\":\r\n case \"normal\":\r\n fontFace = {\r\n family: family\r\n };\r\n break;\r\n }\r\n\r\n // If font-face is still null here, it is a font with some styling we don't recognize and\r\n // cannot map or it is a font added via the fontFaces option of .html().\r\n if (fontFace !== null) {\r\n fontFace.ref = {\r\n name: family,\r\n style: style\r\n };\r\n\r\n fontFaces.push(fontFace);\r\n }\r\n });\r\n });\r\n\r\n return fontFaces;\r\n }\r\n\r\n var _fontFaces = null;\r\n /**\r\n * A map of available font-faces, as passed in the options of\r\n * .html(). If set a limited implementation of the font style matching\r\n * algorithm defined by https://www.w3.org/TR/css-fonts-3/#font-matching-algorithm\r\n * will be used. If not set it will fallback to previous behavior.\r\n */\r\n\r\n Object.defineProperty(this, \"fontFaces\", {\r\n get: function() {\r\n return _fontFaces;\r\n },\r\n set: function(value) {\r\n _fontFaceMap = null;\r\n _fontFaces = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"font\", {\r\n get: function() {\r\n return this.ctx.font;\r\n },\r\n set: function(value) {\r\n this.ctx.font = value;\r\n var rx, matches;\r\n\r\n //source: https://stackoverflow.com/a/10136041\r\n // eslint-disable-next-line no-useless-escape\r\n rx = /^\\s*(?=(?:(?:[-a-z]+\\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\\1|\\2|\\3)\\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx]))(?:\\s*\\/\\s*(normal|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx])))?\\s*([-_,\\\"\\'\\sa-z]+?)\\s*$/i;\r\n matches = rx.exec(value);\r\n if (matches !== null) {\r\n var fontStyle = matches[1];\r\n var fontVariant = matches[2];\r\n var fontWeight = matches[3];\r\n var fontSize = matches[4];\r\n var lineHeight = matches[5];\r\n var fontFamily = matches[6];\r\n } else {\r\n return;\r\n }\r\n var rxFontSize = /^([.\\d]+)((?:%|in|[cem]m|ex|p[ctx]))$/i;\r\n var fontSizeUnit = rxFontSize.exec(fontSize)[2];\r\n\r\n if (\"px\" === fontSizeUnit) {\r\n fontSize = Math.floor(\r\n parseFloat(fontSize) * this.pdf.internal.scaleFactor\r\n );\r\n } else if (\"em\" === fontSizeUnit) {\r\n fontSize = Math.floor(parseFloat(fontSize) * this.pdf.getFontSize());\r\n } else {\r\n fontSize = Math.floor(\r\n parseFloat(fontSize) * this.pdf.internal.scaleFactor\r\n );\r\n }\r\n\r\n this.pdf.setFontSize(fontSize);\r\n var parts = parseFontFamily(fontFamily);\r\n\r\n if (this.fontFaces) {\r\n var fontFaceMap = getFontFaceMap(this.pdf, this.fontFaces);\r\n\r\n var rules = parts.map(function(ff) {\r\n return {\r\n family: ff,\r\n stretch: \"normal\", // TODO: Extract font-stretch from font rule (perhaps write proper parser for it?)\r\n weight: fontWeight,\r\n style: fontStyle\r\n };\r\n });\r\n\r\n var font = resolveFontFace(fontFaceMap, rules);\r\n this.pdf.setFont(font.ref.name, font.ref.style);\r\n return;\r\n }\r\n\r\n var style = \"\";\r\n if (\r\n fontWeight === \"bold\" ||\r\n parseInt(fontWeight, 10) >= 700 ||\r\n fontStyle === \"bold\"\r\n ) {\r\n style = \"bold\";\r\n }\r\n\r\n if (fontStyle === \"italic\") {\r\n style += \"italic\";\r\n }\r\n\r\n if (style.length === 0) {\r\n style = \"normal\";\r\n }\r\n var jsPdfFontName = \"\";\r\n\r\n var fallbackFonts = {\r\n arial: \"Helvetica\",\r\n Arial: \"Helvetica\",\r\n verdana: \"Helvetica\",\r\n Verdana: \"Helvetica\",\r\n helvetica: \"Helvetica\",\r\n Helvetica: \"Helvetica\",\r\n \"sans-serif\": \"Helvetica\",\r\n fixed: \"Courier\",\r\n monospace: \"Courier\",\r\n terminal: \"Courier\",\r\n cursive: \"Times\",\r\n fantasy: \"Times\",\r\n serif: \"Times\"\r\n };\r\n\r\n for (var i = 0; i < parts.length; i++) {\r\n if (\r\n this.pdf.internal.getFont(parts[i], style, {\r\n noFallback: true,\r\n disableWarning: true\r\n }) !== undefined\r\n ) {\r\n jsPdfFontName = parts[i];\r\n break;\r\n } else if (\r\n style === \"bolditalic\" &&\r\n this.pdf.internal.getFont(parts[i], \"bold\", {\r\n noFallback: true,\r\n disableWarning: true\r\n }) !== undefined\r\n ) {\r\n jsPdfFontName = parts[i];\r\n style = \"bold\";\r\n } else if (\r\n this.pdf.internal.getFont(parts[i], \"normal\", {\r\n noFallback: true,\r\n disableWarning: true\r\n }) !== undefined\r\n ) {\r\n jsPdfFontName = parts[i];\r\n style = \"normal\";\r\n break;\r\n }\r\n }\r\n if (jsPdfFontName === \"\") {\r\n for (var j = 0; j < parts.length; j++) {\r\n if (fallbackFonts[parts[j]]) {\r\n jsPdfFontName = fallbackFonts[parts[j]];\r\n break;\r\n }\r\n }\r\n }\r\n jsPdfFontName = jsPdfFontName === \"\" ? \"Times\" : jsPdfFontName;\r\n this.pdf.setFont(jsPdfFontName, style);\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"globalCompositeOperation\", {\r\n get: function() {\r\n return this.ctx.globalCompositeOperation;\r\n },\r\n set: function(value) {\r\n this.ctx.globalCompositeOperation = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"globalAlpha\", {\r\n get: function() {\r\n return this.ctx.globalAlpha;\r\n },\r\n set: function(value) {\r\n this.ctx.globalAlpha = value;\r\n }\r\n });\r\n\r\n /**\r\n * A float specifying the amount of the line dash offset. The default value is 0.0.\r\n *\r\n * @name lineDashOffset\r\n * @default 0.0\r\n */\r\n Object.defineProperty(this, \"lineDashOffset\", {\r\n get: function() {\r\n return this.ctx.lineDashOffset;\r\n },\r\n set: function(value) {\r\n this.ctx.lineDashOffset = value;\r\n setLineDash.call(this);\r\n }\r\n });\r\n\r\n // Not HTML API\r\n Object.defineProperty(this, \"lineDash\", {\r\n get: function() {\r\n return this.ctx.lineDash;\r\n },\r\n set: function(value) {\r\n this.ctx.lineDash = value;\r\n setLineDash.call(this);\r\n }\r\n });\r\n\r\n // Not HTML API\r\n Object.defineProperty(this, \"ignoreClearRect\", {\r\n get: function() {\r\n return this.ctx.ignoreClearRect;\r\n },\r\n set: function(value) {\r\n this.ctx.ignoreClearRect = Boolean(value);\r\n }\r\n });\r\n };\r\n\r\n /**\r\n * Sets the line dash pattern used when stroking lines.\r\n * @name setLineDash\r\n * @function\r\n * @description It uses an array of values that specify alternating lengths of lines and gaps which describe the pattern.\r\n */\r\n Context2D.prototype.setLineDash = function(dashArray) {\r\n this.lineDash = dashArray;\r\n };\r\n\r\n /**\r\n * gets the current line dash pattern.\r\n * @name getLineDash\r\n * @function\r\n * @returns {Array} An Array of numbers that specify distances to alternately draw a line and a gap (in coordinate space units). If the number, when setting the elements, is odd, the elements of the array get copied and concatenated. For example, setting the line dash to [5, 15, 25] will result in getting back [5, 15, 25, 5, 15, 25].\r\n */\r\n Context2D.prototype.getLineDash = function() {\r\n if (this.lineDash.length % 2) {\r\n // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/getLineDash#return_value\r\n return this.lineDash.concat(this.lineDash);\r\n } else {\r\n // The copied value is returned to prevent contamination from outside.\r\n return this.lineDash.slice();\r\n }\r\n };\r\n\r\n Context2D.prototype.fill = function() {\r\n pathPreProcess.call(this, \"fill\", false);\r\n };\r\n\r\n /**\r\n * Actually draws the path you have defined\r\n *\r\n * @name stroke\r\n * @function\r\n * @description The stroke() method actually draws the path you have defined with all those moveTo() and lineTo() methods. The default color is black.\r\n */\r\n Context2D.prototype.stroke = function() {\r\n pathPreProcess.call(this, \"stroke\", false);\r\n };\r\n\r\n /**\r\n * Begins a path, or resets the current\r\n *\r\n * @name beginPath\r\n * @function\r\n * @description The beginPath() method begins a path, or resets the current path.\r\n */\r\n Context2D.prototype.beginPath = function() {\r\n this.path = [\r\n {\r\n type: \"begin\"\r\n }\r\n ];\r\n };\r\n\r\n /**\r\n * Moves the path to the specified point in the canvas, without creating a line\r\n *\r\n * @name moveTo\r\n * @function\r\n * @param x {Number} The x-coordinate of where to move the path to\r\n * @param y {Number} The y-coordinate of where to move the path to\r\n */\r\n Context2D.prototype.moveTo = function(x, y) {\r\n if (isNaN(x) || isNaN(y)) {\r\n console.error(\"jsPDF.context2d.moveTo: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.moveTo\");\r\n }\r\n\r\n var pt = this.ctx.transform.applyToPoint(new Point(x, y));\r\n\r\n this.path.push({\r\n type: \"mt\",\r\n x: pt.x,\r\n y: pt.y\r\n });\r\n this.ctx.lastPoint = new Point(x, y);\r\n };\r\n\r\n /**\r\n * Creates a path from the current point back to the starting point\r\n *\r\n * @name closePath\r\n * @function\r\n * @description The closePath() method creates a path from the current point back to the starting point.\r\n */\r\n Context2D.prototype.closePath = function() {\r\n var pathBegin = new Point(0, 0);\r\n var i = 0;\r\n for (i = this.path.length - 1; i !== -1; i--) {\r\n if (this.path[i].type === \"begin\") {\r\n if (\r\n typeof this.path[i + 1] === \"object\" &&\r\n typeof this.path[i + 1].x === \"number\"\r\n ) {\r\n pathBegin = new Point(this.path[i + 1].x, this.path[i + 1].y);\r\n break;\r\n }\r\n }\r\n }\r\n this.path.push({\r\n type: \"close\"\r\n });\r\n this.ctx.lastPoint = new Point(pathBegin.x, pathBegin.y);\r\n };\r\n\r\n /**\r\n * Adds a new point and creates a line to that point from the last specified point in the canvas\r\n *\r\n * @name lineTo\r\n * @function\r\n * @param x The x-coordinate of where to create the line to\r\n * @param y The y-coordinate of where to create the line to\r\n * @description The lineTo() method adds a new point and creates a line TO that point FROM the last specified point in the canvas (this method does not draw the line).\r\n */\r\n Context2D.prototype.lineTo = function(x, y) {\r\n if (isNaN(x) || isNaN(y)) {\r\n console.error(\"jsPDF.context2d.lineTo: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.lineTo\");\r\n }\r\n\r\n var pt = this.ctx.transform.applyToPoint(new Point(x, y));\r\n\r\n this.path.push({\r\n type: \"lt\",\r\n x: pt.x,\r\n y: pt.y\r\n });\r\n this.ctx.lastPoint = new Point(pt.x, pt.y);\r\n };\r\n\r\n /**\r\n * Clips a region of any shape and size from the original canvas\r\n *\r\n * @name clip\r\n * @function\r\n * @description The clip() method clips a region of any shape and size from the original canvas.\r\n */\r\n Context2D.prototype.clip = function() {\r\n this.ctx.clip_path = JSON.parse(JSON.stringify(this.path));\r\n pathPreProcess.call(this, null, true);\r\n };\r\n\r\n /**\r\n * Creates a cubic Bézier curve\r\n *\r\n * @name quadraticCurveTo\r\n * @function\r\n * @param cpx {Number} The x-coordinate of the Bézier control point\r\n * @param cpy {Number} The y-coordinate of the Bézier control point\r\n * @param x {Number} The x-coordinate of the ending point\r\n * @param y {Number} The y-coordinate of the ending point\r\n * @description The quadraticCurveTo() method adds a point to the current path by using the specified control points that represent a quadratic Bézier curve.

    A quadratic Bézier curve requires two points. The first point is a control point that is used in the quadratic Bézier calculation and the second point is the ending point for the curve. The starting point for the curve is the last point in the current path. If a path does not exist, use the beginPath() and moveTo() methods to define a starting point.\r\n */\r\n Context2D.prototype.quadraticCurveTo = function(cpx, cpy, x, y) {\r\n if (isNaN(x) || isNaN(y) || isNaN(cpx) || isNaN(cpy)) {\r\n console.error(\r\n \"jsPDF.context2d.quadraticCurveTo: Invalid arguments\",\r\n arguments\r\n );\r\n throw new Error(\r\n \"Invalid arguments passed to jsPDF.context2d.quadraticCurveTo\"\r\n );\r\n }\r\n\r\n var pt0 = this.ctx.transform.applyToPoint(new Point(x, y));\r\n var pt1 = this.ctx.transform.applyToPoint(new Point(cpx, cpy));\r\n\r\n this.path.push({\r\n type: \"qct\",\r\n x1: pt1.x,\r\n y1: pt1.y,\r\n x: pt0.x,\r\n y: pt0.y\r\n });\r\n this.ctx.lastPoint = new Point(pt0.x, pt0.y);\r\n };\r\n\r\n /**\r\n * Creates a cubic Bézier curve\r\n *\r\n * @name bezierCurveTo\r\n * @function\r\n * @param cp1x {Number} The x-coordinate of the first Bézier control point\r\n * @param cp1y {Number} The y-coordinate of the first Bézier control point\r\n * @param cp2x {Number} The x-coordinate of the second Bézier control point\r\n * @param cp2y {Number} The y-coordinate of the second Bézier control point\r\n * @param x {Number} The x-coordinate of the ending point\r\n * @param y {Number} The y-coordinate of the ending point\r\n * @description The bezierCurveTo() method adds a point to the current path by using the specified control points that represent a cubic Bézier curve.

    A cubic bezier curve requires three points. The first two points are control points that are used in the cubic Bézier calculation and the last point is the ending point for the curve. The starting point for the curve is the last point in the current path. If a path does not exist, use the beginPath() and moveTo() methods to define a starting point.\r\n */\r\n Context2D.prototype.bezierCurveTo = function(cp1x, cp1y, cp2x, cp2y, x, y) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(cp1x) ||\r\n isNaN(cp1y) ||\r\n isNaN(cp2x) ||\r\n isNaN(cp2y)\r\n ) {\r\n console.error(\r\n \"jsPDF.context2d.bezierCurveTo: Invalid arguments\",\r\n arguments\r\n );\r\n throw new Error(\r\n \"Invalid arguments passed to jsPDF.context2d.bezierCurveTo\"\r\n );\r\n }\r\n var pt0 = this.ctx.transform.applyToPoint(new Point(x, y));\r\n var pt1 = this.ctx.transform.applyToPoint(new Point(cp1x, cp1y));\r\n var pt2 = this.ctx.transform.applyToPoint(new Point(cp2x, cp2y));\r\n\r\n this.path.push({\r\n type: \"bct\",\r\n x1: pt1.x,\r\n y1: pt1.y,\r\n x2: pt2.x,\r\n y2: pt2.y,\r\n x: pt0.x,\r\n y: pt0.y\r\n });\r\n this.ctx.lastPoint = new Point(pt0.x, pt0.y);\r\n };\r\n\r\n /**\r\n * Creates an arc/curve (used to create circles, or parts of circles)\r\n *\r\n * @name arc\r\n * @function\r\n * @param x {Number} The x-coordinate of the center of the circle\r\n * @param y {Number} The y-coordinate of the center of the circle\r\n * @param radius {Number} The radius of the circle\r\n * @param startAngle {Number} The starting angle, in radians (0 is at the 3 o'clock position of the arc's circle)\r\n * @param endAngle {Number} The ending angle, in radians\r\n * @param counterclockwise {Boolean} Optional. Specifies whether the drawing should be counterclockwise or clockwise. False is default, and indicates clockwise, while true indicates counter-clockwise.\r\n * @description The arc() method creates an arc/curve (used to create circles, or parts of circles).\r\n */\r\n Context2D.prototype.arc = function(\r\n x,\r\n y,\r\n radius,\r\n startAngle,\r\n endAngle,\r\n counterclockwise\r\n ) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(radius) ||\r\n isNaN(startAngle) ||\r\n isNaN(endAngle)\r\n ) {\r\n console.error(\"jsPDF.context2d.arc: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.arc\");\r\n }\r\n counterclockwise = Boolean(counterclockwise);\r\n\r\n if (!this.ctx.transform.isIdentity) {\r\n var xpt = this.ctx.transform.applyToPoint(new Point(x, y));\r\n x = xpt.x;\r\n y = xpt.y;\r\n\r\n var x_radPt = this.ctx.transform.applyToPoint(new Point(0, radius));\r\n var x_radPt0 = this.ctx.transform.applyToPoint(new Point(0, 0));\r\n radius = Math.sqrt(\r\n Math.pow(x_radPt.x - x_radPt0.x, 2) +\r\n Math.pow(x_radPt.y - x_radPt0.y, 2)\r\n );\r\n }\r\n if (Math.abs(endAngle - startAngle) >= 2 * Math.PI) {\r\n startAngle = 0;\r\n endAngle = 2 * Math.PI;\r\n }\r\n\r\n this.path.push({\r\n type: \"arc\",\r\n x: x,\r\n y: y,\r\n radius: radius,\r\n startAngle: startAngle,\r\n endAngle: endAngle,\r\n counterclockwise: counterclockwise\r\n });\r\n // this.ctx.lastPoint(new Point(pt.x,pt.y));\r\n };\r\n\r\n /**\r\n * Creates an arc/curve between two tangents\r\n *\r\n * @name arcTo\r\n * @function\r\n * @param x1 {Number} The x-coordinate of the first tangent\r\n * @param y1 {Number} The y-coordinate of the first tangent\r\n * @param x2 {Number} The x-coordinate of the second tangent\r\n * @param y2 {Number} The y-coordinate of the second tangent\r\n * @param radius The radius of the arc\r\n * @description The arcTo() method creates an arc/curve between two tangents on the canvas.\r\n */\r\n // eslint-disable-next-line no-unused-vars\r\n Context2D.prototype.arcTo = function(x1, y1, x2, y2, radius) {\r\n throw new Error(\"arcTo not implemented.\");\r\n };\r\n\r\n /**\r\n * Creates a rectangle\r\n *\r\n * @name rect\r\n * @function\r\n * @param x {Number} The x-coordinate of the upper-left corner of the rectangle\r\n * @param y {Number} The y-coordinate of the upper-left corner of the rectangle\r\n * @param w {Number} The width of the rectangle, in pixels\r\n * @param h {Number} The height of the rectangle, in pixels\r\n * @description The rect() method creates a rectangle.\r\n */\r\n Context2D.prototype.rect = function(x, y, w, h) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) {\r\n console.error(\"jsPDF.context2d.rect: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.rect\");\r\n }\r\n this.moveTo(x, y);\r\n this.lineTo(x + w, y);\r\n this.lineTo(x + w, y + h);\r\n this.lineTo(x, y + h);\r\n this.lineTo(x, y);\r\n this.lineTo(x + w, y);\r\n this.lineTo(x, y);\r\n };\r\n\r\n /**\r\n * Draws a \"filled\" rectangle\r\n *\r\n * @name fillRect\r\n * @function\r\n * @param x {Number} The x-coordinate of the upper-left corner of the rectangle\r\n * @param y {Number} The y-coordinate of the upper-left corner of the rectangle\r\n * @param w {Number} The width of the rectangle, in pixels\r\n * @param h {Number} The height of the rectangle, in pixels\r\n * @description The fillRect() method draws a \"filled\" rectangle. The default color of the fill is black.\r\n */\r\n Context2D.prototype.fillRect = function(x, y, w, h) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) {\r\n console.error(\"jsPDF.context2d.fillRect: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.fillRect\");\r\n }\r\n if (isFillTransparent.call(this)) {\r\n return;\r\n }\r\n var tmp = {};\r\n if (this.lineCap !== \"butt\") {\r\n tmp.lineCap = this.lineCap;\r\n this.lineCap = \"butt\";\r\n }\r\n if (this.lineJoin !== \"miter\") {\r\n tmp.lineJoin = this.lineJoin;\r\n this.lineJoin = \"miter\";\r\n }\r\n\r\n this.beginPath();\r\n this.rect(x, y, w, h);\r\n this.fill();\r\n\r\n if (tmp.hasOwnProperty(\"lineCap\")) {\r\n this.lineCap = tmp.lineCap;\r\n }\r\n if (tmp.hasOwnProperty(\"lineJoin\")) {\r\n this.lineJoin = tmp.lineJoin;\r\n }\r\n };\r\n\r\n /**\r\n * Draws a rectangle (no fill)\r\n *\r\n * @name strokeRect\r\n * @function\r\n * @param x {Number} The x-coordinate of the upper-left corner of the rectangle\r\n * @param y {Number} The y-coordinate of the upper-left corner of the rectangle\r\n * @param w {Number} The width of the rectangle, in pixels\r\n * @param h {Number} The height of the rectangle, in pixels\r\n * @description The strokeRect() method draws a rectangle (no fill). The default color of the stroke is black.\r\n */\r\n Context2D.prototype.strokeRect = function strokeRect(x, y, w, h) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) {\r\n console.error(\"jsPDF.context2d.strokeRect: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.strokeRect\");\r\n }\r\n if (isStrokeTransparent.call(this)) {\r\n return;\r\n }\r\n this.beginPath();\r\n this.rect(x, y, w, h);\r\n this.stroke();\r\n };\r\n\r\n /**\r\n * Clears the specified pixels within a given rectangle\r\n *\r\n * @name clearRect\r\n * @function\r\n * @param x {Number} The x-coordinate of the upper-left corner of the rectangle\r\n * @param y {Number} The y-coordinate of the upper-left corner of the rectangle\r\n * @param w {Number} The width of the rectangle to clear, in pixels\r\n * @param h {Number} The height of the rectangle to clear, in pixels\r\n * @description We cannot clear PDF commands that were already written to PDF, so we use white instead.
    \r\n * As a special case, read a special flag (ignoreClearRect) and do nothing if it is set.\r\n * This results in all calls to clearRect() to do nothing, and keep the canvas transparent.\r\n * This flag is stored in the save/restore context and is managed the same way as other drawing states.\r\n *\r\n */\r\n Context2D.prototype.clearRect = function(x, y, w, h) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) {\r\n console.error(\"jsPDF.context2d.clearRect: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.clearRect\");\r\n }\r\n if (this.ignoreClearRect) {\r\n return;\r\n }\r\n\r\n this.fillStyle = \"#ffffff\";\r\n this.fillRect(x, y, w, h);\r\n };\r\n\r\n /**\r\n * Saves the state of the current context\r\n *\r\n * @name save\r\n * @function\r\n */\r\n Context2D.prototype.save = function(doStackPush) {\r\n doStackPush = typeof doStackPush === \"boolean\" ? doStackPush : true;\r\n var tmpPageNumber = this.pdf.internal.getCurrentPageInfo().pageNumber;\r\n for (var i = 0; i < this.pdf.internal.getNumberOfPages(); i++) {\r\n this.pdf.setPage(i + 1);\r\n this.pdf.internal.out(\"q\");\r\n }\r\n this.pdf.setPage(tmpPageNumber);\r\n\r\n if (doStackPush) {\r\n this.ctx.fontSize = this.pdf.internal.getFontSize();\r\n var ctx = new ContextLayer(this.ctx);\r\n this.ctxStack.push(this.ctx);\r\n this.ctx = ctx;\r\n }\r\n };\r\n\r\n /**\r\n * Returns previously saved path state and attributes\r\n *\r\n * @name restore\r\n * @function\r\n */\r\n Context2D.prototype.restore = function(doStackPop) {\r\n doStackPop = typeof doStackPop === \"boolean\" ? doStackPop : true;\r\n var tmpPageNumber = this.pdf.internal.getCurrentPageInfo().pageNumber;\r\n for (var i = 0; i < this.pdf.internal.getNumberOfPages(); i++) {\r\n this.pdf.setPage(i + 1);\r\n this.pdf.internal.out(\"Q\");\r\n }\r\n this.pdf.setPage(tmpPageNumber);\r\n\r\n if (doStackPop && this.ctxStack.length !== 0) {\r\n this.ctx = this.ctxStack.pop();\r\n this.fillStyle = this.ctx.fillStyle;\r\n this.strokeStyle = this.ctx.strokeStyle;\r\n this.font = this.ctx.font;\r\n this.lineCap = this.ctx.lineCap;\r\n this.lineWidth = this.ctx.lineWidth;\r\n this.lineJoin = this.ctx.lineJoin;\r\n this.lineDash = this.ctx.lineDash;\r\n this.lineDashOffset = this.ctx.lineDashOffset;\r\n }\r\n };\r\n\r\n /**\r\n * @name toDataURL\r\n * @function\r\n */\r\n Context2D.prototype.toDataURL = function() {\r\n throw new Error(\"toDataUrl not implemented.\");\r\n };\r\n\r\n //helper functions\r\n\r\n /**\r\n * Get the decimal values of r, g, b and a\r\n *\r\n * @name getRGBA\r\n * @function\r\n * @private\r\n * @ignore\r\n */\r\n var getRGBA = function(style) {\r\n var rxRgb = /rgb\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*\\)/;\r\n var rxRgba = /rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*([\\d.]+)\\s*\\)/;\r\n var rxTransparent = /transparent|rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*0+\\s*\\)/;\r\n\r\n var r, g, b, a;\r\n\r\n if (style.isCanvasGradient === true) {\r\n style = style.getColor();\r\n }\r\n\r\n if (!style) {\r\n return { r: 0, g: 0, b: 0, a: 0, style: style };\r\n }\r\n\r\n if (rxTransparent.test(style)) {\r\n r = 0;\r\n g = 0;\r\n b = 0;\r\n a = 0;\r\n } else {\r\n var matches = rxRgb.exec(style);\r\n if (matches !== null) {\r\n r = parseInt(matches[1]);\r\n g = parseInt(matches[2]);\r\n b = parseInt(matches[3]);\r\n a = 1;\r\n } else {\r\n matches = rxRgba.exec(style);\r\n if (matches !== null) {\r\n r = parseInt(matches[1]);\r\n g = parseInt(matches[2]);\r\n b = parseInt(matches[3]);\r\n a = parseFloat(matches[4]);\r\n } else {\r\n a = 1;\r\n\r\n if (typeof style === \"string\" && style.charAt(0) !== \"#\") {\r\n var rgbColor = new RGBColor(style);\r\n if (rgbColor.ok) {\r\n style = rgbColor.toHex();\r\n } else {\r\n style = \"#000000\";\r\n }\r\n }\r\n\r\n if (style.length === 4) {\r\n r = style.substring(1, 2);\r\n r += r;\r\n g = style.substring(2, 3);\r\n g += g;\r\n b = style.substring(3, 4);\r\n b += b;\r\n } else {\r\n r = style.substring(1, 3);\r\n g = style.substring(3, 5);\r\n b = style.substring(5, 7);\r\n }\r\n r = parseInt(r, 16);\r\n g = parseInt(g, 16);\r\n b = parseInt(b, 16);\r\n }\r\n }\r\n }\r\n return { r: r, g: g, b: b, a: a, style: style };\r\n };\r\n\r\n /**\r\n * @name isFillTransparent\r\n * @function\r\n * @private\r\n * @ignore\r\n * @returns {Boolean}\r\n */\r\n var isFillTransparent = function() {\r\n return this.ctx.isFillTransparent || this.globalAlpha == 0;\r\n };\r\n\r\n /**\r\n * @name isStrokeTransparent\r\n * @function\r\n * @private\r\n * @ignore\r\n * @returns {Boolean}\r\n */\r\n var isStrokeTransparent = function() {\r\n return Boolean(this.ctx.isStrokeTransparent || this.globalAlpha == 0);\r\n };\r\n\r\n /**\r\n * Draws \"filled\" text on the canvas\r\n *\r\n * @name fillText\r\n * @function\r\n * @param text {String} Specifies the text that will be written on the canvas\r\n * @param x {Number} The x coordinate where to start painting the text (relative to the canvas)\r\n * @param y {Number} The y coordinate where to start painting the text (relative to the canvas)\r\n * @param maxWidth {Number} Optional. The maximum allowed width of the text, in pixels\r\n * @description The fillText() method draws filled text on the canvas. The default color of the text is black.\r\n */\r\n Context2D.prototype.fillText = function(text, x, y, maxWidth) {\r\n if (isNaN(x) || isNaN(y) || typeof text !== \"string\") {\r\n console.error(\"jsPDF.context2d.fillText: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.fillText\");\r\n }\r\n maxWidth = isNaN(maxWidth) ? undefined : maxWidth;\r\n if (isFillTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n var degs = rad2deg(this.ctx.transform.rotation);\r\n\r\n // We only use X axis as scale hint\r\n var scale = this.ctx.transform.scaleX;\r\n\r\n putText.call(this, {\r\n text: text,\r\n x: x,\r\n y: y,\r\n scale: scale,\r\n angle: degs,\r\n align: this.textAlign,\r\n maxWidth: maxWidth\r\n });\r\n };\r\n\r\n /**\r\n * Draws text on the canvas (no fill)\r\n *\r\n * @name strokeText\r\n * @function\r\n * @param text {String} Specifies the text that will be written on the canvas\r\n * @param x {Number} The x coordinate where to start painting the text (relative to the canvas)\r\n * @param y {Number} The y coordinate where to start painting the text (relative to the canvas)\r\n * @param maxWidth {Number} Optional. The maximum allowed width of the text, in pixels\r\n * @description The strokeText() method draws text (with no fill) on the canvas. The default color of the text is black.\r\n */\r\n Context2D.prototype.strokeText = function(text, x, y, maxWidth) {\r\n if (isNaN(x) || isNaN(y) || typeof text !== \"string\") {\r\n console.error(\"jsPDF.context2d.strokeText: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.strokeText\");\r\n }\r\n if (isStrokeTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n maxWidth = isNaN(maxWidth) ? undefined : maxWidth;\r\n\r\n var degs = rad2deg(this.ctx.transform.rotation);\r\n var scale = this.ctx.transform.scaleX;\r\n\r\n putText.call(this, {\r\n text: text,\r\n x: x,\r\n y: y,\r\n scale: scale,\r\n renderingMode: \"stroke\",\r\n angle: degs,\r\n align: this.textAlign,\r\n maxWidth: maxWidth\r\n });\r\n };\r\n\r\n /**\r\n * Returns an object that contains the width of the specified text\r\n *\r\n * @name measureText\r\n * @function\r\n * @param text {String} The text to be measured\r\n * @description The measureText() method returns an object that contains the width of the specified text, in pixels.\r\n * @returns {Number}\r\n */\r\n Context2D.prototype.measureText = function(text) {\r\n if (typeof text !== \"string\") {\r\n console.error(\r\n \"jsPDF.context2d.measureText: Invalid arguments\",\r\n arguments\r\n );\r\n throw new Error(\r\n \"Invalid arguments passed to jsPDF.context2d.measureText\"\r\n );\r\n }\r\n var pdf = this.pdf;\r\n var k = this.pdf.internal.scaleFactor;\r\n\r\n var fontSize = pdf.internal.getFontSize();\r\n var txtWidth =\r\n (pdf.getStringUnitWidth(text) * fontSize) / pdf.internal.scaleFactor;\r\n txtWidth *= Math.round(((k * 96) / 72) * 10000) / 10000;\r\n\r\n var TextMetrics = function(options) {\r\n options = options || {};\r\n var _width = options.width || 0;\r\n Object.defineProperty(this, \"width\", {\r\n get: function() {\r\n return _width;\r\n }\r\n });\r\n return this;\r\n };\r\n return new TextMetrics({ width: txtWidth });\r\n };\r\n\r\n //Transformations\r\n\r\n /**\r\n * Scales the current drawing bigger or smaller\r\n *\r\n * @name scale\r\n * @function\r\n * @param scalewidth {Number} Scales the width of the current drawing (1=100%, 0.5=50%, 2=200%, etc.)\r\n * @param scaleheight {Number} Scales the height of the current drawing (1=100%, 0.5=50%, 2=200%, etc.)\r\n * @description The scale() method scales the current drawing, bigger or smaller.\r\n */\r\n Context2D.prototype.scale = function(scalewidth, scaleheight) {\r\n if (isNaN(scalewidth) || isNaN(scaleheight)) {\r\n console.error(\"jsPDF.context2d.scale: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.scale\");\r\n }\r\n var matrix = new Matrix(scalewidth, 0.0, 0.0, scaleheight, 0.0, 0.0);\r\n this.ctx.transform = this.ctx.transform.multiply(matrix);\r\n };\r\n\r\n /**\r\n * Rotates the current drawing\r\n *\r\n * @name rotate\r\n * @function\r\n * @param angle {Number} The rotation angle, in radians.\r\n * @description To calculate from degrees to radians: degrees*Math.PI/180.
    \r\n * Example: to rotate 5 degrees, specify the following: 5*Math.PI/180\r\n */\r\n Context2D.prototype.rotate = function(angle) {\r\n if (isNaN(angle)) {\r\n console.error(\"jsPDF.context2d.rotate: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.rotate\");\r\n }\r\n var matrix = new Matrix(\r\n Math.cos(angle),\r\n Math.sin(angle),\r\n -Math.sin(angle),\r\n Math.cos(angle),\r\n 0.0,\r\n 0.0\r\n );\r\n this.ctx.transform = this.ctx.transform.multiply(matrix);\r\n };\r\n\r\n /**\r\n * Remaps the (0,0) position on the canvas\r\n *\r\n * @name translate\r\n * @function\r\n * @param x {Number} The value to add to horizontal (x) coordinates\r\n * @param y {Number} The value to add to vertical (y) coordinates\r\n * @description The translate() method remaps the (0,0) position on the canvas.\r\n */\r\n Context2D.prototype.translate = function(x, y) {\r\n if (isNaN(x) || isNaN(y)) {\r\n console.error(\"jsPDF.context2d.translate: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.translate\");\r\n }\r\n var matrix = new Matrix(1.0, 0.0, 0.0, 1.0, x, y);\r\n this.ctx.transform = this.ctx.transform.multiply(matrix);\r\n };\r\n\r\n /**\r\n * Replaces the current transformation matrix for the drawing\r\n *\r\n * @name transform\r\n * @function\r\n * @param a {Number} Horizontal scaling\r\n * @param b {Number} Horizontal skewing\r\n * @param c {Number} Vertical skewing\r\n * @param d {Number} Vertical scaling\r\n * @param e {Number} Horizontal moving\r\n * @param f {Number} Vertical moving\r\n * @description Each object on the canvas has a current transformation matrix.

    The transform() method replaces the current transformation matrix. It multiplies the current transformation matrix with the matrix described by:



    a c e

    b d f

    0 0 1

    In other words, the transform() method lets you scale, rotate, move, and skew the current context.\r\n */\r\n Context2D.prototype.transform = function(a, b, c, d, e, f) {\r\n if (isNaN(a) || isNaN(b) || isNaN(c) || isNaN(d) || isNaN(e) || isNaN(f)) {\r\n console.error(\"jsPDF.context2d.transform: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.transform\");\r\n }\r\n var matrix = new Matrix(a, b, c, d, e, f);\r\n this.ctx.transform = this.ctx.transform.multiply(matrix);\r\n };\r\n\r\n /**\r\n * Resets the current transform to the identity matrix. Then runs transform()\r\n *\r\n * @name setTransform\r\n * @function\r\n * @param a {Number} Horizontal scaling\r\n * @param b {Number} Horizontal skewing\r\n * @param c {Number} Vertical skewing\r\n * @param d {Number} Vertical scaling\r\n * @param e {Number} Horizontal moving\r\n * @param f {Number} Vertical moving\r\n * @description Each object on the canvas has a current transformation matrix.

    The setTransform() method resets the current transform to the identity matrix, and then runs transform() with the same arguments.

    In other words, the setTransform() method lets you scale, rotate, move, and skew the current context.\r\n */\r\n Context2D.prototype.setTransform = function(a, b, c, d, e, f) {\r\n a = isNaN(a) ? 1 : a;\r\n b = isNaN(b) ? 0 : b;\r\n c = isNaN(c) ? 0 : c;\r\n d = isNaN(d) ? 1 : d;\r\n e = isNaN(e) ? 0 : e;\r\n f = isNaN(f) ? 0 : f;\r\n this.ctx.transform = new Matrix(a, b, c, d, e, f);\r\n };\r\n\r\n /**\r\n * Should only be used if pageWrapYEnabled is true\r\n *\r\n * @name setPageByYPosition\r\n * @function\r\n * @private\r\n * @ignore\r\n * @returns One-based Page Number\r\n */\r\n var setPageByYPosition = function(y) {\r\n if (this.pageWrapYEnabled) {\r\n this.lastBreak = 0;\r\n var manualBreaks = 0;\r\n var autoBreaks = 0;\r\n for (var i = 0; i < this.pageBreaks.length; i++) {\r\n if (y >= this.pageBreaks[i]) {\r\n manualBreaks++;\r\n if (this.lastBreak === 0) {\r\n autoBreaks++;\r\n }\r\n var spaceBetweenLastBreak = this.pageBreaks[i] - this.lastBreak;\r\n this.lastBreak = this.pageBreaks[i];\r\n var pagesSinceLastBreak = Math.floor(\r\n spaceBetweenLastBreak / this.pageWrapY\r\n );\r\n autoBreaks += pagesSinceLastBreak;\r\n }\r\n }\r\n if (this.lastBreak === 0) {\r\n var pagesSinceLastBreak = Math.floor(y / this.pageWrapY) + 1;\r\n autoBreaks += pagesSinceLastBreak;\r\n }\r\n return autoBreaks + manualBreaks;\r\n } else {\r\n return this.pdf.internal.getCurrentPageInfo().pageNumber;\r\n }\r\n };\r\n\r\n var hasMargins = function() {\r\n return (\r\n this.margin[0] > 0 ||\r\n this.margin[1] > 0 ||\r\n this.margin[2] > 0 ||\r\n this.margin[3] > 0\r\n );\r\n };\r\n\r\n /**\r\n * Draws an image, canvas, or video onto the canvas\r\n *\r\n * @function\r\n * @param img {} Specifies the image, canvas, or video element to use\r\n * @param sx {Number} Optional. The x coordinate where to start clipping\r\n * @param sy {Number} Optional. The y coordinate where to start clipping\r\n * @param swidth {Number} Optional. The width of the clipped image\r\n * @param sheight {Number} Optional. The height of the clipped image\r\n * @param x {Number} The x coordinate where to place the image on the canvas\r\n * @param y {Number} The y coordinate where to place the image on the canvas\r\n * @param width {Number} Optional. The width of the image to use (stretch or reduce the image)\r\n * @param height {Number} Optional. The height of the image to use (stretch or reduce the image)\r\n */\r\n Context2D.prototype.drawImage = function(\r\n img,\r\n sx,\r\n sy,\r\n swidth,\r\n sheight,\r\n x,\r\n y,\r\n width,\r\n height\r\n ) {\r\n var imageProperties = this.pdf.getImageProperties(img);\r\n var factorX = 1;\r\n var factorY = 1;\r\n var isClip;\r\n\r\n var clipFactorX = 1;\r\n var clipFactorY = 1;\r\n\r\n if (typeof swidth !== \"undefined\" && typeof width !== \"undefined\") {\r\n isClip = true;\r\n clipFactorX = width / swidth;\r\n clipFactorY = height / sheight;\r\n factorX = ((imageProperties.width / swidth) * width) / swidth;\r\n factorY = ((imageProperties.height / sheight) * height) / sheight;\r\n }\r\n\r\n //is sx and sy are set and x and y not, set x and y with values of sx and sy\r\n if (typeof x === \"undefined\") {\r\n x = sx;\r\n y = sy;\r\n sx = 0;\r\n sy = 0;\r\n }\r\n\r\n if (typeof swidth !== \"undefined\" && typeof width === \"undefined\") {\r\n width = swidth;\r\n height = sheight;\r\n }\r\n if (typeof swidth === \"undefined\" && typeof width === \"undefined\") {\r\n width = imageProperties.width;\r\n height = imageProperties.height;\r\n }\r\n\r\n var decomposedTransformationMatrix = this.ctx.transform.decompose();\r\n var angle = rad2deg(decomposedTransformationMatrix.rotate.shx);\r\n var matrix = new Matrix();\r\n matrix = matrix.multiply(decomposedTransformationMatrix.translate);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.skew);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.scale);\r\n var xRect = matrix.applyToRectangle(\r\n new Rectangle(\r\n x - sx * clipFactorX,\r\n y - sy * clipFactorY,\r\n swidth * factorX,\r\n sheight * factorY\r\n )\r\n );\r\n var pageArray = getPagesByPath.call(this, xRect);\r\n var pages = [];\r\n for (var ii = 0; ii < pageArray.length; ii += 1) {\r\n if (pages.indexOf(pageArray[ii]) === -1) {\r\n pages.push(pageArray[ii]);\r\n }\r\n }\r\n\r\n sortPages(pages);\r\n\r\n var clipPath;\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var i = min; i < max + 1; i++) {\r\n this.pdf.setPage(i);\r\n\r\n var pageWidthMinusMargins =\r\n this.pdf.internal.pageSize.width - this.margin[3] - this.margin[1];\r\n var topMargin = i === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusMargins =\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var previousPageHeightSum =\r\n i === 1 ? 0 : firstPageHeight + (i - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n drawPaths.call(this, \"fill\", true);\r\n this.path = tmpPaths;\r\n }\r\n var tmpRect = JSON.parse(JSON.stringify(xRect));\r\n tmpRect = pathPositionRedo(\r\n [tmpRect],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n const needsClipping = (i > min || i < max) && hasMargins.call(this);\r\n\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n this.pdf.addImage(\r\n img,\r\n \"JPEG\",\r\n tmpRect.x,\r\n tmpRect.y,\r\n tmpRect.w,\r\n tmpRect.h,\r\n null,\r\n null,\r\n angle\r\n );\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n } else {\r\n this.pdf.addImage(\r\n img,\r\n \"JPEG\",\r\n xRect.x,\r\n xRect.y,\r\n xRect.w,\r\n xRect.h,\r\n null,\r\n null,\r\n angle\r\n );\r\n }\r\n };\r\n\r\n var getPagesByPath = function(path, pageWrapX, pageWrapY) {\r\n var result = [];\r\n pageWrapX = pageWrapX || this.pdf.internal.pageSize.width;\r\n pageWrapY =\r\n pageWrapY ||\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var yOffset = this.posY + this.ctx.prevPageLastElemOffset;\r\n\r\n switch (path.type) {\r\n default:\r\n case \"mt\":\r\n case \"lt\":\r\n result.push(Math.floor((path.y + yOffset) / pageWrapY) + 1);\r\n break;\r\n case \"arc\":\r\n result.push(\r\n Math.floor((path.y + yOffset - path.radius) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor((path.y + yOffset + path.radius) / pageWrapY) + 1\r\n );\r\n break;\r\n case \"qct\":\r\n var rectOfQuadraticCurve = getQuadraticCurveBoundary(\r\n this.ctx.lastPoint.x,\r\n this.ctx.lastPoint.y,\r\n path.x1,\r\n path.y1,\r\n path.x,\r\n path.y\r\n );\r\n result.push(\r\n Math.floor((rectOfQuadraticCurve.y + yOffset) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor(\r\n (rectOfQuadraticCurve.y + rectOfQuadraticCurve.h + yOffset) /\r\n pageWrapY\r\n ) + 1\r\n );\r\n break;\r\n case \"bct\":\r\n var rectOfBezierCurve = getBezierCurveBoundary(\r\n this.ctx.lastPoint.x,\r\n this.ctx.lastPoint.y,\r\n path.x1,\r\n path.y1,\r\n path.x2,\r\n path.y2,\r\n path.x,\r\n path.y\r\n );\r\n result.push(\r\n Math.floor((rectOfBezierCurve.y + yOffset) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor(\r\n (rectOfBezierCurve.y + rectOfBezierCurve.h + yOffset) / pageWrapY\r\n ) + 1\r\n );\r\n break;\r\n case \"rect\":\r\n result.push(Math.floor((path.y + yOffset) / pageWrapY) + 1);\r\n result.push(Math.floor((path.y + path.h + yOffset) / pageWrapY) + 1);\r\n }\r\n\r\n for (var i = 0; i < result.length; i += 1) {\r\n while (this.pdf.internal.getNumberOfPages() < result[i]) {\r\n addPage.call(this);\r\n }\r\n }\r\n return result;\r\n };\r\n\r\n var addPage = function() {\r\n var fillStyle = this.fillStyle;\r\n var strokeStyle = this.strokeStyle;\r\n var font = this.font;\r\n var lineCap = this.lineCap;\r\n var lineWidth = this.lineWidth;\r\n var lineJoin = this.lineJoin;\r\n this.pdf.addPage();\r\n this.fillStyle = fillStyle;\r\n this.strokeStyle = strokeStyle;\r\n this.font = font;\r\n this.lineCap = lineCap;\r\n this.lineWidth = lineWidth;\r\n this.lineJoin = lineJoin;\r\n };\r\n\r\n var pathPositionRedo = function(paths, x, y) {\r\n for (var i = 0; i < paths.length; i++) {\r\n switch (paths[i].type) {\r\n case \"bct\":\r\n paths[i].x2 += x;\r\n paths[i].y2 += y;\r\n case \"qct\":\r\n paths[i].x1 += x;\r\n paths[i].y1 += y;\r\n case \"mt\":\r\n case \"lt\":\r\n case \"arc\":\r\n default:\r\n paths[i].x += x;\r\n paths[i].y += y;\r\n }\r\n }\r\n return paths;\r\n };\r\n\r\n var sortPages = function(pages) {\r\n return pages.sort(function(a, b) {\r\n return a - b;\r\n });\r\n };\r\n\r\n var pathPreProcess = function(rule, isClip) {\r\n var fillStyle = this.fillStyle;\r\n var strokeStyle = this.strokeStyle;\r\n var lineCap = this.lineCap;\r\n var oldLineWidth = this.lineWidth;\r\n var lineWidth = Math.abs(oldLineWidth * this.ctx.transform.scaleX);\r\n var lineJoin = this.lineJoin;\r\n\r\n var origPath = JSON.parse(JSON.stringify(this.path));\r\n var xPath = JSON.parse(JSON.stringify(this.path));\r\n var clipPath;\r\n var tmpPath;\r\n var pages = [];\r\n\r\n for (var i = 0; i < xPath.length; i++) {\r\n if (typeof xPath[i].x !== \"undefined\") {\r\n var page = getPagesByPath.call(this, xPath[i]);\r\n\r\n for (var ii = 0; ii < page.length; ii += 1) {\r\n if (pages.indexOf(page[ii]) === -1) {\r\n pages.push(page[ii]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n for (var j = 0; j < pages.length; j++) {\r\n while (this.pdf.internal.getNumberOfPages() < pages[j]) {\r\n addPage.call(this);\r\n }\r\n }\r\n sortPages(pages);\r\n\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var k = min; k < max + 1; k++) {\r\n this.pdf.setPage(k);\r\n\r\n this.fillStyle = fillStyle;\r\n this.strokeStyle = strokeStyle;\r\n this.lineCap = lineCap;\r\n this.lineWidth = lineWidth;\r\n this.lineJoin = lineJoin;\r\n\r\n var pageWidthMinusMargins =\r\n this.pdf.internal.pageSize.width - this.margin[3] - this.margin[1];\r\n var topMargin = k === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusMargins =\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var previousPageHeightSum =\r\n k === 1 ? 0 : firstPageHeight + (k - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n drawPaths.call(this, rule, true);\r\n this.path = tmpPaths;\r\n }\r\n tmpPath = JSON.parse(JSON.stringify(origPath));\r\n this.path = pathPositionRedo(\r\n tmpPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n if (isClip === false || k === 0) {\r\n const needsClipping = (k > min || k < max) && hasMargins.call(this);\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n drawPaths.call(this, rule, isClip);\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n this.lineWidth = oldLineWidth;\r\n }\r\n } else {\r\n this.lineWidth = lineWidth;\r\n drawPaths.call(this, rule, isClip);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n this.path = origPath;\r\n };\r\n\r\n /**\r\n * Processes the paths\r\n *\r\n * @function\r\n * @param rule {String}\r\n * @param isClip {Boolean}\r\n * @private\r\n * @ignore\r\n */\r\n var drawPaths = function(rule, isClip) {\r\n if (rule === \"stroke\" && !isClip && isStrokeTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n if (rule !== \"stroke\" && !isClip && isFillTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n var moves = [];\r\n\r\n //var alpha = (this.ctx.fillOpacity < 1) ? this.ctx.fillOpacity : this.ctx.globalAlpha;\r\n var delta;\r\n var xPath = this.path;\r\n for (var i = 0; i < xPath.length; i++) {\r\n var pt = xPath[i];\r\n\r\n switch (pt.type) {\r\n case \"begin\":\r\n moves.push({\r\n begin: true\r\n });\r\n break;\r\n\r\n case \"close\":\r\n moves.push({\r\n close: true\r\n });\r\n break;\r\n\r\n case \"mt\":\r\n moves.push({\r\n start: pt,\r\n deltas: [],\r\n abs: []\r\n });\r\n break;\r\n\r\n case \"lt\":\r\n var iii = moves.length;\r\n if (xPath[i - 1] && !isNaN(xPath[i - 1].x)) {\r\n delta = [pt.x - xPath[i - 1].x, pt.y - xPath[i - 1].y];\r\n if (iii > 0) {\r\n for (iii; iii >= 0; iii--) {\r\n if (\r\n moves[iii - 1].close !== true &&\r\n moves[iii - 1].begin !== true\r\n ) {\r\n moves[iii - 1].deltas.push(delta);\r\n moves[iii - 1].abs.push(pt);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n break;\r\n\r\n case \"bct\":\r\n delta = [\r\n pt.x1 - xPath[i - 1].x,\r\n pt.y1 - xPath[i - 1].y,\r\n pt.x2 - xPath[i - 1].x,\r\n pt.y2 - xPath[i - 1].y,\r\n pt.x - xPath[i - 1].x,\r\n pt.y - xPath[i - 1].y\r\n ];\r\n moves[moves.length - 1].deltas.push(delta);\r\n break;\r\n\r\n case \"qct\":\r\n var x1 = xPath[i - 1].x + (2.0 / 3.0) * (pt.x1 - xPath[i - 1].x);\r\n var y1 = xPath[i - 1].y + (2.0 / 3.0) * (pt.y1 - xPath[i - 1].y);\r\n var x2 = pt.x + (2.0 / 3.0) * (pt.x1 - pt.x);\r\n var y2 = pt.y + (2.0 / 3.0) * (pt.y1 - pt.y);\r\n var x3 = pt.x;\r\n var y3 = pt.y;\r\n delta = [\r\n x1 - xPath[i - 1].x,\r\n y1 - xPath[i - 1].y,\r\n x2 - xPath[i - 1].x,\r\n y2 - xPath[i - 1].y,\r\n x3 - xPath[i - 1].x,\r\n y3 - xPath[i - 1].y\r\n ];\r\n moves[moves.length - 1].deltas.push(delta);\r\n break;\r\n\r\n case \"arc\":\r\n moves.push({\r\n deltas: [],\r\n abs: [],\r\n arc: true\r\n });\r\n\r\n if (Array.isArray(moves[moves.length - 1].abs)) {\r\n moves[moves.length - 1].abs.push(pt);\r\n }\r\n break;\r\n }\r\n }\r\n var style;\r\n if (!isClip) {\r\n if (rule === \"stroke\") {\r\n style = \"stroke\";\r\n } else {\r\n style = \"fill\";\r\n }\r\n } else {\r\n style = null;\r\n }\r\n\r\n var began = false;\r\n for (var k = 0; k < moves.length; k++) {\r\n if (moves[k].arc) {\r\n var arcs = moves[k].abs;\r\n\r\n for (var ii = 0; ii < arcs.length; ii++) {\r\n var arc = arcs[ii];\r\n\r\n if (arc.type === \"arc\") {\r\n drawArc.call(\r\n this,\r\n arc.x,\r\n arc.y,\r\n arc.radius,\r\n arc.startAngle,\r\n arc.endAngle,\r\n arc.counterclockwise,\r\n undefined,\r\n isClip,\r\n !began\r\n );\r\n } else {\r\n drawLine.call(this, arc.x, arc.y);\r\n }\r\n began = true;\r\n }\r\n } else if (moves[k].close === true) {\r\n this.pdf.internal.out(\"h\");\r\n began = false;\r\n } else if (moves[k].begin !== true) {\r\n var x = moves[k].start.x;\r\n var y = moves[k].start.y;\r\n drawLines.call(this, moves[k].deltas, x, y);\r\n began = true;\r\n }\r\n }\r\n\r\n if (style) {\r\n putStyle.call(this, style);\r\n }\r\n if (isClip) {\r\n doClip.call(this);\r\n }\r\n };\r\n\r\n var getBaseline = function(y) {\r\n var height =\r\n this.pdf.internal.getFontSize() / this.pdf.internal.scaleFactor;\r\n var descent = height * (this.pdf.internal.getLineHeightFactor() - 1);\r\n switch (this.ctx.textBaseline) {\r\n case \"bottom\":\r\n return y - descent;\r\n case \"top\":\r\n return y + height - descent;\r\n case \"hanging\":\r\n return y + height - 2 * descent;\r\n case \"middle\":\r\n return y + height / 2 - descent;\r\n case \"ideographic\":\r\n // TODO not implemented\r\n return y;\r\n case \"alphabetic\":\r\n default:\r\n return y;\r\n }\r\n };\r\n\r\n var getTextBottom = function(yBaseLine) {\r\n var height =\r\n this.pdf.internal.getFontSize() / this.pdf.internal.scaleFactor;\r\n var descent = height * (this.pdf.internal.getLineHeightFactor() - 1);\r\n return yBaseLine + descent;\r\n };\r\n\r\n Context2D.prototype.createLinearGradient = function createLinearGradient() {\r\n var canvasGradient = function canvasGradient() {};\r\n\r\n canvasGradient.colorStops = [];\r\n canvasGradient.addColorStop = function(offset, color) {\r\n this.colorStops.push([offset, color]);\r\n };\r\n\r\n canvasGradient.getColor = function() {\r\n if (this.colorStops.length === 0) {\r\n return \"#000000\";\r\n }\r\n\r\n return this.colorStops[0][1];\r\n };\r\n\r\n canvasGradient.isCanvasGradient = true;\r\n return canvasGradient;\r\n };\r\n Context2D.prototype.createPattern = function createPattern() {\r\n return this.createLinearGradient();\r\n };\r\n Context2D.prototype.createRadialGradient = function createRadialGradient() {\r\n return this.createLinearGradient();\r\n };\r\n\r\n /**\r\n *\r\n * @param x Edge point X\r\n * @param y Edge point Y\r\n * @param r Radius\r\n * @param a1 start angle\r\n * @param a2 end angle\r\n * @param counterclockwise\r\n * @param style\r\n * @param isClip\r\n */\r\n var drawArc = function(\r\n x,\r\n y,\r\n r,\r\n a1,\r\n a2,\r\n counterclockwise,\r\n style,\r\n isClip,\r\n includeMove\r\n ) {\r\n // http://hansmuller-flex.blogspot.com/2011/10/more-about-approximating-circular-arcs.html\r\n var curves = createArc.call(this, r, a1, a2, counterclockwise);\r\n\r\n for (var i = 0; i < curves.length; i++) {\r\n var curve = curves[i];\r\n if (i === 0) {\r\n if (includeMove) {\r\n doMove.call(this, curve.x1 + x, curve.y1 + y);\r\n } else {\r\n drawLine.call(this, curve.x1 + x, curve.y1 + y);\r\n }\r\n }\r\n drawCurve.call(\r\n this,\r\n x,\r\n y,\r\n curve.x2,\r\n curve.y2,\r\n curve.x3,\r\n curve.y3,\r\n curve.x4,\r\n curve.y4\r\n );\r\n }\r\n\r\n if (!isClip) {\r\n putStyle.call(this, style);\r\n } else {\r\n doClip.call(this);\r\n }\r\n };\r\n\r\n var putStyle = function(style) {\r\n switch (style) {\r\n case \"stroke\":\r\n this.pdf.internal.out(\"S\");\r\n break;\r\n case \"fill\":\r\n this.pdf.internal.out(\"f\");\r\n break;\r\n }\r\n };\r\n\r\n var doClip = function() {\r\n this.pdf.clip();\r\n this.pdf.discardPath();\r\n };\r\n\r\n var doMove = function(x, y) {\r\n this.pdf.internal.out(\r\n getHorizontalCoordinateString(x) +\r\n \" \" +\r\n getVerticalCoordinateString(y) +\r\n \" m\"\r\n );\r\n };\r\n\r\n var putText = function(options) {\r\n var textAlign;\r\n switch (options.align) {\r\n case \"right\":\r\n case \"end\":\r\n textAlign = \"right\";\r\n break;\r\n case \"center\":\r\n textAlign = \"center\";\r\n break;\r\n case \"left\":\r\n case \"start\":\r\n default:\r\n textAlign = \"left\";\r\n break;\r\n }\r\n\r\n var textDimensions = this.pdf.getTextDimensions(options.text);\r\n var yBaseLine = getBaseline.call(this, options.y);\r\n var yBottom = getTextBottom.call(this, yBaseLine);\r\n var yTop = yBottom - textDimensions.h;\r\n\r\n var pt = this.ctx.transform.applyToPoint(new Point(options.x, yBaseLine));\r\n var decomposedTransformationMatrix = this.ctx.transform.decompose();\r\n var matrix = new Matrix();\r\n matrix = matrix.multiply(decomposedTransformationMatrix.translate);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.skew);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.scale);\r\n\r\n var baselineRect = this.ctx.transform.applyToRectangle(\r\n new Rectangle(options.x, yBaseLine, textDimensions.w, textDimensions.h)\r\n );\r\n var textBounds = matrix.applyToRectangle(\r\n new Rectangle(options.x, yTop, textDimensions.w, textDimensions.h)\r\n );\r\n var pageArray = getPagesByPath.call(this, textBounds);\r\n var pages = [];\r\n for (var ii = 0; ii < pageArray.length; ii += 1) {\r\n if (pages.indexOf(pageArray[ii]) === -1) {\r\n pages.push(pageArray[ii]);\r\n }\r\n }\r\n\r\n sortPages(pages);\r\n\r\n var clipPath, oldSize, oldLineWidth;\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var i = min; i < max + 1; i++) {\r\n this.pdf.setPage(i);\r\n\r\n var topMargin = i === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusBottomMargin =\r\n this.pdf.internal.pageSize.height - this.margin[2];\r\n var pageHeightMinusMargins =\r\n pageHeightMinusBottomMargin - this.margin[0];\r\n var pageWidthMinusRightMargin =\r\n this.pdf.internal.pageSize.width - this.margin[1];\r\n var pageWidthMinusMargins = pageWidthMinusRightMargin - this.margin[3];\r\n var previousPageHeightSum =\r\n i === 1 ? 0 : firstPageHeight + (i - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -1 * previousPageHeightSum + topMargin\r\n );\r\n drawPaths.call(this, \"fill\", true);\r\n this.path = tmpPaths;\r\n }\r\n var textBoundsOnPage = pathPositionRedo(\r\n [JSON.parse(JSON.stringify(textBounds))],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n if (options.scale >= 0.01) {\r\n oldSize = this.pdf.internal.getFontSize();\r\n this.pdf.setFontSize(oldSize * options.scale);\r\n oldLineWidth = this.lineWidth;\r\n this.lineWidth = oldLineWidth * options.scale;\r\n }\r\n\r\n var doSlice = this.autoPaging !== \"text\";\r\n\r\n if (\r\n doSlice ||\r\n textBoundsOnPage.y + textBoundsOnPage.h <= pageHeightMinusBottomMargin\r\n ) {\r\n if (\r\n doSlice ||\r\n (textBoundsOnPage.y >= topMargin &&\r\n textBoundsOnPage.x <= pageWidthMinusRightMargin)\r\n ) {\r\n var croppedText = doSlice\r\n ? options.text\r\n : this.pdf.splitTextToSize(\r\n options.text,\r\n options.maxWidth ||\r\n pageWidthMinusRightMargin - textBoundsOnPage.x\r\n )[0];\r\n var baseLineRectOnPage = pathPositionRedo(\r\n [JSON.parse(JSON.stringify(baselineRect))],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum +\r\n topMargin +\r\n this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n const needsClipping =\r\n doSlice && (i > min || i < max) && hasMargins.call(this);\r\n\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n\r\n this.pdf.text(\r\n croppedText,\r\n baseLineRectOnPage.x,\r\n baseLineRectOnPage.y,\r\n {\r\n angle: options.angle,\r\n align: textAlign,\r\n renderingMode: options.renderingMode\r\n }\r\n );\r\n\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n } else {\r\n // This text is the last element of the page, but it got cut off due to the margin\r\n // so we render it in the next page\r\n\r\n if (textBoundsOnPage.y < pageHeightMinusBottomMargin) {\r\n // As a result, all other elements have their y offset increased\r\n this.ctx.prevPageLastElemOffset +=\r\n pageHeightMinusBottomMargin - textBoundsOnPage.y;\r\n }\r\n }\r\n\r\n if (options.scale >= 0.01) {\r\n this.pdf.setFontSize(oldSize);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n }\r\n } else {\r\n if (options.scale >= 0.01) {\r\n oldSize = this.pdf.internal.getFontSize();\r\n this.pdf.setFontSize(oldSize * options.scale);\r\n oldLineWidth = this.lineWidth;\r\n this.lineWidth = oldLineWidth * options.scale;\r\n }\r\n this.pdf.text(options.text, pt.x + this.posX, pt.y + this.posY, {\r\n angle: options.angle,\r\n align: textAlign,\r\n renderingMode: options.renderingMode,\r\n maxWidth: options.maxWidth\r\n });\r\n\r\n if (options.scale >= 0.01) {\r\n this.pdf.setFontSize(oldSize);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n }\r\n };\r\n\r\n var drawLine = function(x, y, prevX, prevY) {\r\n prevX = prevX || 0;\r\n prevY = prevY || 0;\r\n\r\n this.pdf.internal.out(\r\n getHorizontalCoordinateString(x + prevX) +\r\n \" \" +\r\n getVerticalCoordinateString(y + prevY) +\r\n \" l\"\r\n );\r\n };\r\n\r\n var drawLines = function(lines, x, y) {\r\n return this.pdf.lines(lines, x, y, null, null);\r\n };\r\n\r\n var drawCurve = function(x, y, x1, y1, x2, y2, x3, y3) {\r\n this.pdf.internal.out(\r\n [\r\n f2(getHorizontalCoordinate(x1 + x)),\r\n f2(getVerticalCoordinate(y1 + y)),\r\n f2(getHorizontalCoordinate(x2 + x)),\r\n f2(getVerticalCoordinate(y2 + y)),\r\n f2(getHorizontalCoordinate(x3 + x)),\r\n f2(getVerticalCoordinate(y3 + y)),\r\n \"c\"\r\n ].join(\" \")\r\n );\r\n };\r\n\r\n /**\r\n * Return a array of objects that represent bezier curves which approximate the circular arc centered at the origin, from startAngle to endAngle (radians) with the specified radius.\r\n *\r\n * Each bezier curve is an object with four points, where x1,y1 and x4,y4 are the arc's end points and x2,y2 and x3,y3 are the cubic bezier's control points.\r\n * @function createArc\r\n */\r\n var createArc = function(radius, startAngle, endAngle, anticlockwise) {\r\n var EPSILON = 0.00001; // Roughly 1/1000th of a degree, see below\r\n var twoPi = Math.PI * 2;\r\n var halfPi = Math.PI / 2.0;\r\n\r\n while (startAngle > endAngle) {\r\n startAngle = startAngle - twoPi;\r\n }\r\n var totalAngle = Math.abs(endAngle - startAngle);\r\n if (totalAngle < twoPi) {\r\n if (anticlockwise) {\r\n totalAngle = twoPi - totalAngle;\r\n }\r\n }\r\n\r\n // Compute the sequence of arc curves, up to PI/2 at a time.\r\n var curves = [];\r\n\r\n // clockwise or counterclockwise\r\n var sgn = anticlockwise ? -1 : +1;\r\n\r\n var a1 = startAngle;\r\n for (; totalAngle > EPSILON; ) {\r\n var remain = sgn * Math.min(totalAngle, halfPi);\r\n var a2 = a1 + remain;\r\n curves.push(createSmallArc.call(this, radius, a1, a2));\r\n totalAngle -= Math.abs(a2 - a1);\r\n a1 = a2;\r\n }\r\n\r\n return curves;\r\n };\r\n\r\n /**\r\n * Cubic bezier approximation of a circular arc centered at the origin, from (radians) a1 to a2, where a2-a1 < pi/2. The arc's radius is r.\r\n *\r\n * Returns an object with four points, where x1,y1 and x4,y4 are the arc's end points and x2,y2 and x3,y3 are the cubic bezier's control points.\r\n *\r\n * This algorithm is based on the approach described in: A. Riškus, \"Approximation of a Cubic Bezier Curve by Circular Arcs and Vice Versa,\" Information Technology and Control, 35(4), 2006 pp. 371-378.\r\n */\r\n var createSmallArc = function(r, a1, a2) {\r\n var a = (a2 - a1) / 2.0;\r\n\r\n var x4 = r * Math.cos(a);\r\n var y4 = r * Math.sin(a);\r\n var x1 = x4;\r\n var y1 = -y4;\r\n\r\n var q1 = x1 * x1 + y1 * y1;\r\n var q2 = q1 + x1 * x4 + y1 * y4;\r\n var k2 = ((4 / 3) * (Math.sqrt(2 * q1 * q2) - q2)) / (x1 * y4 - y1 * x4);\r\n\r\n var x2 = x1 - k2 * y1;\r\n var y2 = y1 + k2 * x1;\r\n var x3 = x2;\r\n var y3 = -y2;\r\n\r\n var ar = a + a1;\r\n var cos_ar = Math.cos(ar);\r\n var sin_ar = Math.sin(ar);\r\n\r\n return {\r\n x1: r * Math.cos(a1),\r\n y1: r * Math.sin(a1),\r\n x2: x2 * cos_ar - y2 * sin_ar,\r\n y2: x2 * sin_ar + y2 * cos_ar,\r\n x3: x3 * cos_ar - y3 * sin_ar,\r\n y3: x3 * sin_ar + y3 * cos_ar,\r\n x4: r * Math.cos(a2),\r\n y4: r * Math.sin(a2)\r\n };\r\n };\r\n\r\n var rad2deg = function(value) {\r\n return (value * 180) / Math.PI;\r\n };\r\n\r\n var getQuadraticCurveBoundary = function(sx, sy, cpx, cpy, ex, ey) {\r\n var midX1 = sx + (cpx - sx) * 0.5;\r\n var midY1 = sy + (cpy - sy) * 0.5;\r\n var midX2 = ex + (cpx - ex) * 0.5;\r\n var midY2 = ey + (cpy - ey) * 0.5;\r\n var resultX1 = Math.min(sx, ex, midX1, midX2);\r\n var resultX2 = Math.max(sx, ex, midX1, midX2);\r\n var resultY1 = Math.min(sy, ey, midY1, midY2);\r\n var resultY2 = Math.max(sy, ey, midY1, midY2);\r\n return new Rectangle(\r\n resultX1,\r\n resultY1,\r\n resultX2 - resultX1,\r\n resultY2 - resultY1\r\n );\r\n };\r\n\r\n //De Casteljau algorithm\r\n var getBezierCurveBoundary = function(ax, ay, bx, by, cx, cy, dx, dy) {\r\n var tobx = bx - ax;\r\n var toby = by - ay;\r\n var tocx = cx - bx;\r\n var tocy = cy - by;\r\n var todx = dx - cx;\r\n var tody = dy - cy;\r\n var precision = 40;\r\n var d,\r\n i,\r\n px,\r\n py,\r\n qx,\r\n qy,\r\n rx,\r\n ry,\r\n tx,\r\n ty,\r\n sx,\r\n sy,\r\n x,\r\n y,\r\n minx,\r\n miny,\r\n maxx,\r\n maxy,\r\n toqx,\r\n toqy,\r\n torx,\r\n tory,\r\n totx,\r\n toty;\r\n for (i = 0; i < precision + 1; i++) {\r\n d = i / precision;\r\n px = ax + d * tobx;\r\n py = ay + d * toby;\r\n qx = bx + d * tocx;\r\n qy = by + d * tocy;\r\n rx = cx + d * todx;\r\n ry = cy + d * tody;\r\n toqx = qx - px;\r\n toqy = qy - py;\r\n torx = rx - qx;\r\n tory = ry - qy;\r\n\r\n sx = px + d * toqx;\r\n sy = py + d * toqy;\r\n tx = qx + d * torx;\r\n ty = qy + d * tory;\r\n totx = tx - sx;\r\n toty = ty - sy;\r\n\r\n x = sx + d * totx;\r\n y = sy + d * toty;\r\n if (i == 0) {\r\n minx = x;\r\n miny = y;\r\n maxx = x;\r\n maxy = y;\r\n } else {\r\n minx = Math.min(minx, x);\r\n miny = Math.min(miny, y);\r\n maxx = Math.max(maxx, x);\r\n maxy = Math.max(maxy, y);\r\n }\r\n }\r\n return new Rectangle(\r\n Math.round(minx),\r\n Math.round(miny),\r\n Math.round(maxx - minx),\r\n Math.round(maxy - miny)\r\n );\r\n };\r\n\r\n var getPrevLineDashValue = function(lineDash, lineDashOffset) {\r\n return JSON.stringify({\r\n lineDash: lineDash,\r\n lineDashOffset: lineDashOffset\r\n });\r\n };\r\n\r\n var setLineDash = function() {\r\n // Avoid unnecessary line dash declarations.\r\n if (\r\n !this.prevLineDash &&\r\n !this.ctx.lineDash.length &&\r\n !this.ctx.lineDashOffset\r\n ) {\r\n return;\r\n }\r\n\r\n // Avoid unnecessary line dash declarations.\r\n const nextLineDash = getPrevLineDashValue(\r\n this.ctx.lineDash,\r\n this.ctx.lineDashOffset\r\n );\r\n if (this.prevLineDash !== nextLineDash) {\r\n this.pdf.setLineDash(this.ctx.lineDash, this.ctx.lineDashOffset);\r\n this.prevLineDash = nextLineDash;\r\n }\r\n };\r\n})(jsPDF.API);\r\n","/**\n * @license\n * jsPDF filters PlugIn\n * Copyright (c) 2014 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { zlibSync } from \"../libs/fflate.js\";\n\n(function(jsPDFAPI) {\n \"use strict\";\n\n var ASCII85Encode = function(a) {\n var b, c, d, e, f, g, h, i, j, k;\n // eslint-disable-next-line no-control-regex\n for (\n !/[^\\x00-\\xFF]/.test(a),\n b = \"\\x00\\x00\\x00\\x00\".slice(a.length % 4 || 4),\n a += b,\n c = [],\n d = 0,\n e = a.length;\n e > d;\n d += 4\n )\n (f =\n (a.charCodeAt(d) << 24) +\n (a.charCodeAt(d + 1) << 16) +\n (a.charCodeAt(d + 2) << 8) +\n a.charCodeAt(d + 3)),\n 0 !== f\n ? ((k = f % 85),\n (f = (f - k) / 85),\n (j = f % 85),\n (f = (f - j) / 85),\n (i = f % 85),\n (f = (f - i) / 85),\n (h = f % 85),\n (f = (f - h) / 85),\n (g = f % 85),\n c.push(g + 33, h + 33, i + 33, j + 33, k + 33))\n : c.push(122);\n return (\n (function(a, b) {\n for (var c = b; c > 0; c--) a.pop();\n })(c, b.length),\n String.fromCharCode.apply(String, c) + \"~>\"\n );\n };\n\n var ASCII85Decode = function(a) {\n var c,\n d,\n e,\n f,\n g,\n h = String,\n l = \"length\",\n w = 255,\n x = \"charCodeAt\",\n y = \"slice\",\n z = \"replace\";\n for (\n \"~>\" === a[y](-2),\n a = a[y](0, -2)\n [z](/\\s/g, \"\")\n [z](\"z\", \"!!!!!\"),\n c = \"uuuuu\"[y](a[l] % 5 || 5),\n a += c,\n e = [],\n f = 0,\n g = a[l];\n g > f;\n f += 5\n )\n (d =\n 52200625 * (a[x](f) - 33) +\n 614125 * (a[x](f + 1) - 33) +\n 7225 * (a[x](f + 2) - 33) +\n 85 * (a[x](f + 3) - 33) +\n (a[x](f + 4) - 33)),\n e.push(w & (d >> 24), w & (d >> 16), w & (d >> 8), w & d);\n return (\n (function(a, b) {\n for (var c = b; c > 0; c--) a.pop();\n })(e, c[l]),\n h.fromCharCode.apply(h, e)\n );\n };\n\n var ASCIIHexEncode = function(value) {\n return (\n value\n .split(\"\")\n .map(function(value) {\n return (\"0\" + value.charCodeAt().toString(16)).slice(-2);\n })\n .join(\"\") + \">\"\n );\n };\n\n var ASCIIHexDecode = function(value) {\n var regexCheckIfHex = new RegExp(/^([0-9A-Fa-f]{2})+$/);\n value = value.replace(/\\s/g, \"\");\n if (value.indexOf(\">\") !== -1) {\n value = value.substr(0, value.indexOf(\">\"));\n }\n if (value.length % 2) {\n value += \"0\";\n }\n if (regexCheckIfHex.test(value) === false) {\n return \"\";\n }\n var result = \"\";\n for (var i = 0; i < value.length; i += 2) {\n result += String.fromCharCode(\"0x\" + (value[i] + value[i + 1]));\n }\n return result;\n };\n /*\n var FlatePredictors = {\n None: 1,\n TIFF: 2,\n PNG_None: 10,\n PNG_Sub: 11,\n PNG_Up: 12,\n PNG_Average: 13,\n PNG_Paeth: 14,\n PNG_Optimum: 15\n };\n */\n\n var FlateEncode = function(data) {\n var arr = new Uint8Array(data.length);\n var i = data.length;\n while (i--) {\n arr[i] = data.charCodeAt(i);\n }\n arr = zlibSync(arr);\n data = arr.reduce(function(data, byte) {\n return data + String.fromCharCode(byte);\n }, \"\");\n return data;\n };\n\n jsPDFAPI.processDataByFilters = function(origData, filterChain) {\n \"use strict\";\n var i = 0;\n var data = origData || \"\";\n var reverseChain = [];\n filterChain = filterChain || [];\n\n if (typeof filterChain === \"string\") {\n filterChain = [filterChain];\n }\n\n for (i = 0; i < filterChain.length; i += 1) {\n switch (filterChain[i]) {\n case \"ASCII85Decode\":\n case \"/ASCII85Decode\":\n data = ASCII85Decode(data);\n reverseChain.push(\"/ASCII85Encode\");\n break;\n case \"ASCII85Encode\":\n case \"/ASCII85Encode\":\n data = ASCII85Encode(data);\n reverseChain.push(\"/ASCII85Decode\");\n break;\n case \"ASCIIHexDecode\":\n case \"/ASCIIHexDecode\":\n data = ASCIIHexDecode(data);\n reverseChain.push(\"/ASCIIHexEncode\");\n break;\n case \"ASCIIHexEncode\":\n case \"/ASCIIHexEncode\":\n data = ASCIIHexEncode(data);\n reverseChain.push(\"/ASCIIHexDecode\");\n break;\n case \"FlateEncode\":\n case \"/FlateEncode\":\n data = FlateEncode(data);\n reverseChain.push(\"/FlateDecode\");\n break;\n default:\n throw new Error(\n 'The filter: \"' + filterChain[i] + '\" is not implemented'\n );\n }\n }\n\n return { data: data, reverseChain: reverseChain.reverse().join(\" \") };\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2018 Erik Koopmans\n * Released under the MIT License.\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { normalizeFontFace } from \"../libs/fontFace.js\";\nimport { globalObject } from \"../libs/globalObject.js\";\n\n/**\n * jsPDF html PlugIn\n *\n * @name html\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n function loadHtml2Canvas() {\n return (function() {\n if (globalObject[\"html2canvas\"]) {\n return Promise.resolve(globalObject[\"html2canvas\"]);\n }\n\n return import(\"html2canvas\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load html2canvas: \" + e));\n })\n .then(function(html2canvas) {\n return html2canvas.default ? html2canvas.default : html2canvas;\n });\n }\n\n function loadDomPurify() {\n return (function() {\n if (globalObject[\"DOMPurify\"]) {\n return Promise.resolve(globalObject[\"DOMPurify\"]);\n }\n\n return import(\"dompurify\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load dompurify: \" + e));\n })\n .then(function(dompurify) {\n return dompurify.default ? dompurify.default : dompurify;\n });\n }\n\n /**\n * Determine the type of a variable/object.\n *\n * @private\n * @ignore\n */\n var objType = function(obj) {\n var type = typeof obj;\n if (type === \"undefined\") return \"undefined\";\n else if (type === \"string\" || obj instanceof String) return \"string\";\n else if (type === \"number\" || obj instanceof Number) return \"number\";\n else if (type === \"function\" || obj instanceof Function) return \"function\";\n else if (!!obj && obj.constructor === Array) return \"array\";\n else if (obj && obj.nodeType === 1) return \"element\";\n else if (type === \"object\") return \"object\";\n else return \"unknown\";\n };\n\n /**\n * Create an HTML element with optional className, innerHTML, and style.\n *\n * @private\n * @ignore\n */\n var createElement = function(tagName, opt) {\n var el = document.createElement(tagName);\n if (opt.className) el.className = opt.className;\n if (opt.innerHTML && opt.dompurify) {\n el.innerHTML = opt.dompurify.sanitize(opt.innerHTML);\n }\n for (var key in opt.style) {\n el.style[key] = opt.style[key];\n }\n return el;\n };\n\n /**\n * Deep-clone a node and preserve contents/properties.\n *\n * @private\n * @ignore\n */\n var cloneNode = function(node, javascriptEnabled) {\n // Recursively clone the node.\n var clone =\n node.nodeType === 3\n ? document.createTextNode(node.nodeValue)\n : node.cloneNode(false);\n for (var child = node.firstChild; child; child = child.nextSibling) {\n if (\n javascriptEnabled === true ||\n child.nodeType !== 1 ||\n child.nodeName !== \"SCRIPT\"\n ) {\n clone.appendChild(cloneNode(child, javascriptEnabled));\n }\n }\n\n if (node.nodeType === 1) {\n // Preserve contents/properties of special nodes.\n if (node.nodeName === \"CANVAS\") {\n clone.width = node.width;\n clone.height = node.height;\n clone.getContext(\"2d\").drawImage(node, 0, 0);\n } else if (node.nodeName === \"TEXTAREA\" || node.nodeName === \"SELECT\") {\n clone.value = node.value;\n }\n\n // Preserve the node's scroll position when it loads.\n clone.addEventListener(\n \"load\",\n function() {\n clone.scrollTop = node.scrollTop;\n clone.scrollLeft = node.scrollLeft;\n },\n true\n );\n }\n\n // Return the cloned node.\n return clone;\n };\n\n /* ----- CONSTRUCTOR ----- */\n\n var Worker = function Worker(opt) {\n // Create the root parent for the proto chain, and the starting Worker.\n var root = Object.assign(\n Worker.convert(Promise.resolve()),\n JSON.parse(JSON.stringify(Worker.template))\n );\n var self = Worker.convert(Promise.resolve(), root);\n\n // Set progress, optional settings, and return.\n self = self.setProgress(1, Worker, 1, [Worker]);\n self = self.set(opt);\n return self;\n };\n\n // Boilerplate for subclassing Promise.\n Worker.prototype = Object.create(Promise.prototype);\n Worker.prototype.constructor = Worker;\n\n // Converts/casts promises into Workers.\n Worker.convert = function convert(promise, inherit) {\n // Uses prototypal inheritance to receive changes made to ancestors' properties.\n promise.__proto__ = inherit || Worker.prototype;\n return promise;\n };\n\n Worker.template = {\n prop: {\n src: null,\n container: null,\n overlay: null,\n canvas: null,\n img: null,\n pdf: null,\n pageSize: null,\n callback: function() {}\n },\n progress: {\n val: 0,\n state: null,\n n: 0,\n stack: []\n },\n opt: {\n filename: \"file.pdf\",\n margin: [0, 0, 0, 0],\n enableLinks: true,\n x: 0,\n y: 0,\n html2canvas: {},\n jsPDF: {},\n backgroundColor: \"transparent\"\n }\n };\n\n /* ----- FROM / TO ----- */\n\n Worker.prototype.from = function from(src, type) {\n function getType(src) {\n switch (objType(src)) {\n case \"string\":\n return \"string\";\n case \"element\":\n return src.nodeName.toLowerCase() === \"canvas\" ? \"canvas\" : \"element\";\n default:\n return \"unknown\";\n }\n }\n\n return this.then(function from_main() {\n type = type || getType(src);\n switch (type) {\n case \"string\":\n return this.then(loadDomPurify).then(function(dompurify) {\n return this.set({\n src: createElement(\"div\", {\n innerHTML: src,\n dompurify: dompurify\n })\n });\n });\n case \"element\":\n return this.set({ src: src });\n case \"canvas\":\n return this.set({ canvas: src });\n case \"img\":\n return this.set({ img: src });\n default:\n return this.error(\"Unknown source type.\");\n }\n });\n };\n\n Worker.prototype.to = function to(target) {\n // Route the 'to' request to the appropriate method.\n switch (target) {\n case \"container\":\n return this.toContainer();\n case \"canvas\":\n return this.toCanvas();\n case \"img\":\n return this.toImg();\n case \"pdf\":\n return this.toPdf();\n default:\n return this.error(\"Invalid target.\");\n }\n };\n\n Worker.prototype.toContainer = function toContainer() {\n // Set up function prerequisites.\n var prereqs = [\n function checkSrc() {\n return (\n this.prop.src || this.error(\"Cannot duplicate - no source HTML.\")\n );\n },\n function checkPageSize() {\n return this.prop.pageSize || this.setPageSize();\n }\n ];\n return this.thenList(prereqs).then(function toContainer_main() {\n // Define the CSS styles for the container and its overlay parent.\n var overlayCSS = {\n position: \"fixed\",\n overflow: \"hidden\",\n zIndex: 1000,\n left: \"-100000px\",\n right: 0,\n bottom: 0,\n top: 0\n };\n var containerCSS = {\n position: \"relative\",\n display: \"inline-block\",\n width:\n (typeof this.opt.width === \"number\" &&\n !isNaN(this.opt.width) &&\n typeof this.opt.windowWidth === \"number\" &&\n !isNaN(this.opt.windowWidth)\n ? this.opt.windowWidth\n : Math.max(\n this.prop.src.clientWidth,\n this.prop.src.scrollWidth,\n this.prop.src.offsetWidth\n )) + \"px\",\n left: 0,\n right: 0,\n top: 0,\n margin: \"auto\",\n backgroundColor: this.opt.backgroundColor\n }; // Set the overlay to hidden (could be changed in the future to provide a print preview).\n\n var source = cloneNode(\n this.prop.src,\n this.opt.html2canvas.javascriptEnabled\n );\n\n if (source.tagName === \"BODY\") {\n containerCSS.height =\n Math.max(\n document.body.scrollHeight,\n document.body.offsetHeight,\n document.documentElement.clientHeight,\n document.documentElement.scrollHeight,\n document.documentElement.offsetHeight\n ) + \"px\";\n }\n\n this.prop.overlay = createElement(\"div\", {\n className: \"html2pdf__overlay\",\n style: overlayCSS\n });\n this.prop.container = createElement(\"div\", {\n className: \"html2pdf__container\",\n style: containerCSS\n });\n this.prop.container.appendChild(source);\n this.prop.container.firstChild.appendChild(\n createElement(\"div\", {\n style: {\n clear: \"both\",\n border: \"0 none transparent\",\n margin: 0,\n padding: 0,\n height: 0\n }\n })\n );\n this.prop.container.style.float = \"none\";\n this.prop.overlay.appendChild(this.prop.container);\n document.body.appendChild(this.prop.overlay);\n this.prop.container.firstChild.style.position = \"relative\";\n this.prop.container.height =\n Math.max(\n this.prop.container.firstChild.clientHeight,\n this.prop.container.firstChild.scrollHeight,\n this.prop.container.firstChild.offsetHeight\n ) + \"px\";\n });\n };\n\n Worker.prototype.toCanvas = function toCanvas() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContainer() {\n return (\n document.body.contains(this.prop.container) || this.toContainer()\n );\n }\n ];\n\n // Fulfill prereqs then create the canvas.\n return this.thenList(prereqs)\n .then(loadHtml2Canvas)\n .then(function toCanvas_main(html2canvas) {\n // Handle old-fashioned 'onrendered' argument.\n var options = Object.assign({}, this.opt.html2canvas);\n delete options.onrendered;\n\n return html2canvas(this.prop.container, options);\n })\n .then(function toCanvas_post(canvas) {\n // Handle old-fashioned 'onrendered' argument.\n var onRendered = this.opt.html2canvas.onrendered || function() {};\n onRendered(canvas);\n\n this.prop.canvas = canvas;\n document.body.removeChild(this.prop.overlay);\n });\n };\n\n Worker.prototype.toContext2d = function toContext2d() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContainer() {\n return (\n document.body.contains(this.prop.container) || this.toContainer()\n );\n }\n ];\n\n // Fulfill prereqs then create the canvas.\n return this.thenList(prereqs)\n .then(loadHtml2Canvas)\n .then(function toContext2d_main(html2canvas) {\n // Handle old-fashioned 'onrendered' argument.\n\n var pdf = this.opt.jsPDF;\n var fontFaces = this.opt.fontFaces;\n\n var scale =\n typeof this.opt.width === \"number\" &&\n !isNaN(this.opt.width) &&\n typeof this.opt.windowWidth === \"number\" &&\n !isNaN(this.opt.windowWidth)\n ? this.opt.width / this.opt.windowWidth\n : 1;\n\n var options = Object.assign(\n {\n async: true,\n allowTaint: true,\n scale: scale,\n scrollX: this.opt.scrollX || 0,\n scrollY: this.opt.scrollY || 0,\n backgroundColor: \"#ffffff\",\n imageTimeout: 15000,\n logging: true,\n proxy: null,\n removeContainer: true,\n foreignObjectRendering: false,\n useCORS: false\n },\n this.opt.html2canvas\n );\n delete options.onrendered;\n\n pdf.context2d.autoPaging =\n typeof this.opt.autoPaging === \"undefined\"\n ? true\n : this.opt.autoPaging;\n pdf.context2d.posX = this.opt.x;\n pdf.context2d.posY = this.opt.y;\n pdf.context2d.margin = this.opt.margin;\n pdf.context2d.fontFaces = fontFaces;\n\n if (fontFaces) {\n for (var i = 0; i < fontFaces.length; ++i) {\n var font = fontFaces[i];\n var src = font.src.find(function(src) {\n return src.format === \"truetype\";\n });\n\n if (src) {\n pdf.addFont(src.url, font.ref.name, font.ref.style);\n }\n }\n }\n\n options.windowHeight = options.windowHeight || 0;\n options.windowHeight =\n options.windowHeight == 0\n ? Math.max(\n this.prop.container.clientHeight,\n this.prop.container.scrollHeight,\n this.prop.container.offsetHeight\n )\n : options.windowHeight;\n\n pdf.context2d.save(true);\n return html2canvas(this.prop.container, options);\n })\n .then(function toContext2d_post(canvas) {\n this.opt.jsPDF.context2d.restore(true);\n\n // Handle old-fashioned 'onrendered' argument.\n var onRendered = this.opt.html2canvas.onrendered || function() {};\n onRendered(canvas);\n\n this.prop.canvas = canvas;\n document.body.removeChild(this.prop.overlay);\n });\n };\n\n Worker.prototype.toImg = function toImg() {\n // Set up function prerequisites.\n var prereqs = [\n function checkCanvas() {\n return this.prop.canvas || this.toCanvas();\n }\n ];\n\n // Fulfill prereqs then create the image.\n return this.thenList(prereqs).then(function toImg_main() {\n var imgData = this.prop.canvas.toDataURL(\n \"image/\" + this.opt.image.type,\n this.opt.image.quality\n );\n this.prop.img = document.createElement(\"img\");\n this.prop.img.src = imgData;\n });\n };\n\n Worker.prototype.toPdf = function toPdf() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContext2d() {\n return this.toContext2d();\n }\n //function checkCanvas() { return this.prop.canvas || this.toCanvas(); }\n ];\n\n // Fulfill prereqs then create the image.\n return this.thenList(prereqs).then(function toPdf_main() {\n // Create local copies of frequently used properties.\n this.prop.pdf = this.prop.pdf || this.opt.jsPDF;\n });\n };\n\n /* ----- OUTPUT / SAVE ----- */\n\n Worker.prototype.output = function output(type, options, src) {\n // Redirect requests to the correct function (outputPdf / outputImg).\n src = src || \"pdf\";\n if (src.toLowerCase() === \"img\" || src.toLowerCase() === \"image\") {\n return this.outputImg(type, options);\n } else {\n return this.outputPdf(type, options);\n }\n };\n\n Worker.prototype.outputPdf = function outputPdf(type, options) {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs then perform the appropriate output.\n return this.thenList(prereqs).then(function outputPdf_main() {\n /* Currently implemented output types:\n * https://rawgit.com/MrRio/jsPDF/master/docs/jspdf.js.html#line992\n * save(options), arraybuffer, blob, bloburi/bloburl,\n * datauristring/dataurlstring, dataurlnewwindow, datauri/dataurl\n */\n return this.prop.pdf.output(type, options);\n });\n };\n\n Worker.prototype.outputImg = function outputImg(type) {\n // Set up function prerequisites.\n var prereqs = [\n function checkImg() {\n return this.prop.img || this.toImg();\n }\n ];\n\n // Fulfill prereqs then perform the appropriate output.\n return this.thenList(prereqs).then(function outputImg_main() {\n switch (type) {\n case undefined:\n case \"img\":\n return this.prop.img;\n case \"datauristring\":\n case \"dataurlstring\":\n return this.prop.img.src;\n case \"datauri\":\n case \"dataurl\":\n return (document.location.href = this.prop.img.src);\n default:\n throw 'Image output type \"' + type + '\" is not supported.';\n }\n });\n };\n\n Worker.prototype.save = function save(filename) {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs, update the filename (if provided), and save the PDF.\n return this.thenList(prereqs)\n .set(filename ? { filename: filename } : null)\n .then(function save_main() {\n this.prop.pdf.save(this.opt.filename);\n });\n };\n\n Worker.prototype.doCallback = function doCallback() {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs, update the filename (if provided), and save the PDF.\n return this.thenList(prereqs).then(function doCallback_main() {\n this.prop.callback(this.prop.pdf);\n });\n };\n\n /* ----- SET / GET ----- */\n\n Worker.prototype.set = function set(opt) {\n // TODO: Implement ordered pairs?\n\n // Silently ignore invalid or empty input.\n if (objType(opt) !== \"object\") {\n return this;\n }\n\n // Build an array of setter functions to queue.\n var fns = Object.keys(opt || {}).map(function(key) {\n if (key in Worker.template.prop) {\n // Set pre-defined properties.\n return function set_prop() {\n this.prop[key] = opt[key];\n };\n } else {\n switch (key) {\n case \"margin\":\n return this.setMargin.bind(this, opt.margin);\n case \"jsPDF\":\n return function set_jsPDF() {\n this.opt.jsPDF = opt.jsPDF;\n return this.setPageSize();\n };\n case \"pageSize\":\n return this.setPageSize.bind(this, opt.pageSize);\n default:\n // Set any other properties in opt.\n return function set_opt() {\n this.opt[key] = opt[key];\n };\n }\n }\n }, this);\n\n // Set properties within the promise chain.\n return this.then(function set_main() {\n return this.thenList(fns);\n });\n };\n\n Worker.prototype.get = function get(key, cbk) {\n return this.then(function get_main() {\n // Fetch the requested property, either as a predefined prop or in opt.\n var val = key in Worker.template.prop ? this.prop[key] : this.opt[key];\n return cbk ? cbk(val) : val;\n });\n };\n\n Worker.prototype.setMargin = function setMargin(margin) {\n return this.then(function setMargin_main() {\n // Parse the margin property.\n switch (objType(margin)) {\n case \"number\":\n margin = [margin, margin, margin, margin];\n // eslint-disable-next-line no-fallthrough\n case \"array\":\n if (margin.length === 2) {\n margin = [margin[0], margin[1], margin[0], margin[1]];\n }\n if (margin.length === 4) {\n break;\n }\n // eslint-disable-next-line no-fallthrough\n default:\n return this.error(\"Invalid margin array.\");\n }\n\n // Set the margin property, then update pageSize.\n this.opt.margin = margin;\n }).then(this.setPageSize);\n };\n\n Worker.prototype.setPageSize = function setPageSize(pageSize) {\n function toPx(val, k) {\n return Math.floor(((val * k) / 72) * 96);\n }\n\n return this.then(function setPageSize_main() {\n // Retrieve page-size based on jsPDF settings, if not explicitly provided.\n pageSize = pageSize || jsPDF.getPageSize(this.opt.jsPDF);\n\n // Add 'inner' field if not present.\n if (!pageSize.hasOwnProperty(\"inner\")) {\n pageSize.inner = {\n width: pageSize.width - this.opt.margin[1] - this.opt.margin[3],\n height: pageSize.height - this.opt.margin[0] - this.opt.margin[2]\n };\n pageSize.inner.px = {\n width: toPx(pageSize.inner.width, pageSize.k),\n height: toPx(pageSize.inner.height, pageSize.k)\n };\n pageSize.inner.ratio = pageSize.inner.height / pageSize.inner.width;\n }\n\n // Attach pageSize to this.\n this.prop.pageSize = pageSize;\n });\n };\n\n Worker.prototype.setProgress = function setProgress(val, state, n, stack) {\n // Immediately update all progress values.\n if (val != null) this.progress.val = val;\n if (state != null) this.progress.state = state;\n if (n != null) this.progress.n = n;\n if (stack != null) this.progress.stack = stack;\n this.progress.ratio = this.progress.val / this.progress.state;\n\n // Return this for command chaining.\n return this;\n };\n\n Worker.prototype.updateProgress = function updateProgress(\n val,\n state,\n n,\n stack\n ) {\n // Immediately update all progress values, using setProgress.\n return this.setProgress(\n val ? this.progress.val + val : null,\n state ? state : null,\n n ? this.progress.n + n : null,\n stack ? this.progress.stack.concat(stack) : null\n );\n };\n\n /* ----- PROMISE MAPPING ----- */\n\n Worker.prototype.then = function then(onFulfilled, onRejected) {\n // Wrap `this` for encapsulation.\n var self = this;\n\n return this.thenCore(onFulfilled, onRejected, function then_main(\n onFulfilled,\n onRejected\n ) {\n // Update progress while queuing, calling, and resolving `then`.\n self.updateProgress(null, null, 1, [onFulfilled]);\n return Promise.prototype.then\n .call(this, function then_pre(val) {\n self.updateProgress(null, onFulfilled);\n return val;\n })\n .then(onFulfilled, onRejected)\n .then(function then_post(val) {\n self.updateProgress(1);\n return val;\n });\n });\n };\n\n Worker.prototype.thenCore = function thenCore(\n onFulfilled,\n onRejected,\n thenBase\n ) {\n // Handle optional thenBase parameter.\n thenBase = thenBase || Promise.prototype.then;\n\n // Wrap `this` for encapsulation and bind it to the promise handlers.\n var self = this;\n if (onFulfilled) {\n onFulfilled = onFulfilled.bind(self);\n }\n if (onRejected) {\n onRejected = onRejected.bind(self);\n }\n\n // Cast self into a Promise to avoid polyfills recursively defining `then`.\n var isNative =\n Promise.toString().indexOf(\"[native code]\") !== -1 &&\n Promise.name === \"Promise\";\n var selfPromise = isNative\n ? self\n : Worker.convert(Object.assign({}, self), Promise.prototype);\n\n // Return the promise, after casting it into a Worker and preserving props.\n var returnVal = thenBase.call(selfPromise, onFulfilled, onRejected);\n return Worker.convert(returnVal, self.__proto__);\n };\n\n Worker.prototype.thenExternal = function thenExternal(\n onFulfilled,\n onRejected\n ) {\n // Call `then` and return a standard promise (exits the Worker chain).\n return Promise.prototype.then.call(this, onFulfilled, onRejected);\n };\n\n Worker.prototype.thenList = function thenList(fns) {\n // Queue a series of promise 'factories' into the promise chain.\n var self = this;\n fns.forEach(function thenList_forEach(fn) {\n self = self.thenCore(fn);\n });\n return self;\n };\n\n Worker.prototype[\"catch\"] = function(onRejected) {\n // Bind `this` to the promise handler, call `catch`, and return a Worker.\n if (onRejected) {\n onRejected = onRejected.bind(this);\n }\n var returnVal = Promise.prototype[\"catch\"].call(this, onRejected);\n return Worker.convert(returnVal, this);\n };\n\n Worker.prototype.catchExternal = function catchExternal(onRejected) {\n // Call `catch` and return a standard promise (exits the Worker chain).\n return Promise.prototype[\"catch\"].call(this, onRejected);\n };\n\n Worker.prototype.error = function error(msg) {\n // Throw the error in the Promise chain.\n return this.then(function error_main() {\n throw new Error(msg);\n });\n };\n\n /* ----- ALIASES ----- */\n\n Worker.prototype.using = Worker.prototype.set;\n Worker.prototype.saveAs = Worker.prototype.save;\n Worker.prototype.export = Worker.prototype.output;\n Worker.prototype.run = Worker.prototype.then;\n\n // Get dimensions of a PDF page, as determined by jsPDF.\n jsPDF.getPageSize = function(orientation, unit, format) {\n // Decode options object\n if (typeof orientation === \"object\") {\n var options = orientation;\n orientation = options.orientation;\n unit = options.unit || unit;\n format = options.format || format;\n }\n\n // Default options\n unit = unit || \"mm\";\n format = format || \"a4\";\n orientation = (\"\" + (orientation || \"P\")).toLowerCase();\n var format_as_string = (\"\" + format).toLowerCase();\n\n // Size in pt of various paper formats\n var pageFormats = {\n a0: [2383.94, 3370.39],\n a1: [1683.78, 2383.94],\n a2: [1190.55, 1683.78],\n a3: [841.89, 1190.55],\n a4: [595.28, 841.89],\n a5: [419.53, 595.28],\n a6: [297.64, 419.53],\n a7: [209.76, 297.64],\n a8: [147.4, 209.76],\n a9: [104.88, 147.4],\n a10: [73.7, 104.88],\n b0: [2834.65, 4008.19],\n b1: [2004.09, 2834.65],\n b2: [1417.32, 2004.09],\n b3: [1000.63, 1417.32],\n b4: [708.66, 1000.63],\n b5: [498.9, 708.66],\n b6: [354.33, 498.9],\n b7: [249.45, 354.33],\n b8: [175.75, 249.45],\n b9: [124.72, 175.75],\n b10: [87.87, 124.72],\n c0: [2599.37, 3676.54],\n c1: [1836.85, 2599.37],\n c2: [1298.27, 1836.85],\n c3: [918.43, 1298.27],\n c4: [649.13, 918.43],\n c5: [459.21, 649.13],\n c6: [323.15, 459.21],\n c7: [229.61, 323.15],\n c8: [161.57, 229.61],\n c9: [113.39, 161.57],\n c10: [79.37, 113.39],\n dl: [311.81, 623.62],\n letter: [612, 792],\n \"government-letter\": [576, 756],\n legal: [612, 1008],\n \"junior-legal\": [576, 360],\n ledger: [1224, 792],\n tabloid: [792, 1224],\n \"credit-card\": [153, 243]\n };\n\n var k;\n // Unit conversion\n switch (unit) {\n case \"pt\":\n k = 1;\n break;\n case \"mm\":\n k = 72 / 25.4;\n break;\n case \"cm\":\n k = 72 / 2.54;\n break;\n case \"in\":\n k = 72;\n break;\n case \"px\":\n k = 72 / 96;\n break;\n case \"pc\":\n k = 12;\n break;\n case \"em\":\n k = 12;\n break;\n case \"ex\":\n k = 6;\n break;\n default:\n throw \"Invalid unit: \" + unit;\n }\n var pageHeight = 0;\n var pageWidth = 0;\n\n // Dimensions are stored as user units and converted to points on output\n if (pageFormats.hasOwnProperty(format_as_string)) {\n pageHeight = pageFormats[format_as_string][1] / k;\n pageWidth = pageFormats[format_as_string][0] / k;\n } else {\n try {\n pageHeight = format[1];\n pageWidth = format[0];\n } catch (err) {\n throw new Error(\"Invalid format: \" + format);\n }\n }\n\n var tmp;\n // Handle page orientation\n if (orientation === \"p\" || orientation === \"portrait\") {\n orientation = \"p\";\n if (pageWidth > pageHeight) {\n tmp = pageWidth;\n pageWidth = pageHeight;\n pageHeight = tmp;\n }\n } else if (orientation === \"l\" || orientation === \"landscape\") {\n orientation = \"l\";\n if (pageHeight > pageWidth) {\n tmp = pageWidth;\n pageWidth = pageHeight;\n pageHeight = tmp;\n }\n } else {\n throw \"Invalid orientation: \" + orientation;\n }\n\n // Return information (k is the unit conversion ratio from pts)\n var info = {\n width: pageWidth,\n height: pageHeight,\n unit: unit,\n k: k,\n orientation: orientation\n };\n return info;\n };\n\n /**\n * @typedef FontFace\n *\n * The font-face type implements an interface similar to that of the font-face CSS rule,\n * and is used by jsPDF to match fonts when the font property of CanvasRenderingContext2D\n * is updated.\n *\n * All properties expect values similar to those in the font-face CSS rule. A difference\n * is the font-family, which do not need to be enclosed in double-quotes when containing\n * spaces like in CSS.\n *\n * @property {string} family The name of the font-family.\n * @property {string|undefined} style The style that this font-face defines, e.g. 'italic'.\n * @property {string|number|undefined} weight The weight of the font, either as a string or a number (400, 500, 600, e.g.)\n * @property {string|undefined} stretch The stretch of the font, e.g. condensed, normal, expanded.\n * @property {Object[]} src A list of URLs from where fonts of various formats can be fetched.\n * @property {string} [src] url A URL to a font of a specific format.\n * @property {string} [src] format Format of the font referenced by the URL.\n */\n\n /**\n * Generate a PDF from an HTML element or string using.\n *\n * @name html\n * @function\n * @param {HTMLElement|string} source The source HTMLElement or a string containing HTML.\n * @param {Object} [options] Collection of settings\n * @param {function} [options.callback] The mandatory callback-function gets as first parameter the current jsPDF instance\n * @param {(number|number[])=} [options.margin] Page margins [top, right, bottom, left]. Default is 0.\n * @param {(boolean|'slice'|'text')=} [options.autoPaging] The auto paging mode.\n *
      \n *
    • \n * false: Auto paging is disabled.\n *
    • \n *
    • \n * true or 'slice': Will cut shapes or text chunks across page breaks. Will possibly\n * slice text in half, making it difficult to read.\n *
    • \n *
    • \n * 'text': Trys not to cut text in half across page breaks. Works best for documents consisting\n * mostly of a single column of text.\n *
    • \n *
    \n * Default is true.\n * @param {string} [options.filename] name of the file\n * @param {HTMLOptionImage} [options.image] image settings when converting HTML to image\n * @param {Html2CanvasOptions} [options.html2canvas] html2canvas options\n * @param {FontFace[]} [options.fontFaces] A list of font-faces to match when resolving fonts. Fonts will be added to the PDF based on the specified URL. If omitted, the font match algorithm falls back to old algorithm.\n * @param {jsPDF} [options.jsPDF] jsPDF instance\n * @param {number=} [options.x] x position on the PDF document in jsPDF units.\n * @param {number=} [options.y] y position on the PDF document in jsPDF units.\n * @param {number=} [options.width] The target width in the PDF document in jsPDF units. The rendered element will be\n * scaled such that it fits into the specified width. Has no effect if either the html2canvas.scale is\n * specified or the windowWidth option is NOT specified.\n * @param {number=} [options.windowWidth] The window width in CSS pixels. In contrast to the\n * html2canvas.windowWidth option, this option affects the actual container size while rendering and\n * does NOT affect CSS media queries. This option only has an effect, if the width option is also specified.\n *\n * @example\n * var doc = new jsPDF();\n *\n * doc.html(document.body, {\n * callback: function (doc) {\n * doc.save();\n * },\n * x: 10,\n * y: 10\n * });\n */\n jsPDFAPI.html = function(src, options) {\n \"use strict\";\n\n options = options || {};\n options.callback = options.callback || function() {};\n options.html2canvas = options.html2canvas || {};\n options.html2canvas.canvas = options.html2canvas.canvas || this.canvas;\n options.jsPDF = options.jsPDF || this;\n options.fontFaces = options.fontFaces\n ? options.fontFaces.map(normalizeFontFace)\n : null;\n\n // Create a new worker with the given options.\n var worker = new Worker(options);\n\n if (!options.worker) {\n // If worker is not set to true, perform the traditional 'simple' operation.\n return worker.from(src).doCallback();\n } else {\n // Otherwise, return the worker for new Promise-based operation.\n return worker;\n }\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF Outline PlugIn\n *\n * Generates a PDF Outline\n * @name outline\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var namesOid;\n //var destsGoto = [];\n\n jsPDFAPI.events.push([\n \"postPutResources\",\n function() {\n var pdf = this;\n var rx = /^(\\d+) 0 obj$/;\n\n // Write action goto objects for each page\n // this.outline.destsGoto = [];\n // for (var i = 0; i < totalPages; i++) {\n // var id = pdf.internal.newObject();\n // this.outline.destsGoto.push(id);\n // pdf.internal.write(\"<> endobj\");\n // }\n //\n // for (var i = 0; i < dests.length; i++) {\n // pdf.internal.write(\"(page_\" + (i + 1) + \")\" + dests[i] + \" 0\n // R\");\n // }\n //\n if (this.outline.root.children.length > 0) {\n var lines = pdf.outline.render().split(/\\r\\n/);\n for (var i = 0; i < lines.length; i++) {\n var line = lines[i];\n var m = rx.exec(line);\n if (m != null) {\n var oid = m[1];\n pdf.internal.newObjectDeferredBegin(oid, false);\n }\n pdf.internal.write(line);\n }\n }\n\n // This code will write named destination for each page reference\n // (page_1, etc)\n if (this.outline.createNamedDestinations) {\n var totalPages = this.internal.pages.length;\n // WARNING: this assumes jsPDF starts on page 3 and pageIDs\n // follow 5, 7, 9, etc\n // Write destination objects for each page\n var dests = [];\n for (var i = 0; i < totalPages; i++) {\n var id = pdf.internal.newObject();\n dests.push(id);\n var info = pdf.internal.getPageInfo(i + 1);\n pdf.internal.write(\n \"<< /D[\" + info.objId + \" 0 R /XYZ null null null]>> endobj\"\n );\n }\n\n // assign a name for each destination\n var names2Oid = pdf.internal.newObject();\n pdf.internal.write(\"<< /Names [ \");\n for (var i = 0; i < dests.length; i++) {\n pdf.internal.write(\"(page_\" + (i + 1) + \")\" + dests[i] + \" 0 R\");\n }\n pdf.internal.write(\" ] >>\", \"endobj\");\n\n // var kids = pdf.internal.newObject();\n // pdf.internal.write('<< /Kids [ ' + names2Oid + ' 0 R');\n // pdf.internal.write(' ] >>', 'endobj');\n\n namesOid = pdf.internal.newObject();\n pdf.internal.write(\"<< /Dests \" + names2Oid + \" 0 R\");\n pdf.internal.write(\">>\", \"endobj\");\n }\n }\n ]);\n\n jsPDFAPI.events.push([\n \"putCatalog\",\n function() {\n var pdf = this;\n if (pdf.outline.root.children.length > 0) {\n pdf.internal.write(\n \"/Outlines\",\n this.outline.makeRef(this.outline.root)\n );\n if (this.outline.createNamedDestinations) {\n pdf.internal.write(\"/Names \" + namesOid + \" 0 R\");\n }\n // Open with Bookmarks showing\n // pdf.internal.write(\"/PageMode /UseOutlines\");\n }\n }\n ]);\n\n jsPDFAPI.events.push([\n \"initialized\",\n function() {\n var pdf = this;\n\n pdf.outline = {\n createNamedDestinations: false,\n root: {\n children: []\n }\n };\n\n /**\n * Options: pageNumber\n */\n pdf.outline.add = function(parent, title, options) {\n var item = {\n title: title,\n options: options,\n children: []\n };\n if (parent == null) {\n parent = this.root;\n }\n parent.children.push(item);\n return item;\n };\n\n pdf.outline.render = function() {\n this.ctx = {};\n this.ctx.val = \"\";\n this.ctx.pdf = pdf;\n\n this.genIds_r(this.root);\n this.renderRoot(this.root);\n this.renderItems(this.root);\n\n return this.ctx.val;\n };\n\n pdf.outline.genIds_r = function(node) {\n node.id = pdf.internal.newObjectDeferred();\n for (var i = 0; i < node.children.length; i++) {\n this.genIds_r(node.children[i]);\n }\n };\n\n pdf.outline.renderRoot = function(node) {\n this.objStart(node);\n this.line(\"/Type /Outlines\");\n if (node.children.length > 0) {\n this.line(\"/First \" + this.makeRef(node.children[0]));\n this.line(\n \"/Last \" + this.makeRef(node.children[node.children.length - 1])\n );\n }\n this.line(\n \"/Count \" +\n this.count_r(\n {\n count: 0\n },\n node\n )\n );\n this.objEnd();\n };\n\n pdf.outline.renderItems = function(node) {\n var getVerticalCoordinateString = this.ctx.pdf.internal\n .getVerticalCoordinateString;\n for (var i = 0; i < node.children.length; i++) {\n var item = node.children[i];\n this.objStart(item);\n\n this.line(\"/Title \" + this.makeString(item.title));\n\n this.line(\"/Parent \" + this.makeRef(node));\n if (i > 0) {\n this.line(\"/Prev \" + this.makeRef(node.children[i - 1]));\n }\n if (i < node.children.length - 1) {\n this.line(\"/Next \" + this.makeRef(node.children[i + 1]));\n }\n if (item.children.length > 0) {\n this.line(\"/First \" + this.makeRef(item.children[0]));\n this.line(\n \"/Last \" + this.makeRef(item.children[item.children.length - 1])\n );\n }\n\n var count = (this.count = this.count_r(\n {\n count: 0\n },\n item\n ));\n if (count > 0) {\n this.line(\"/Count \" + count);\n }\n\n if (item.options) {\n if (item.options.pageNumber) {\n // Explicit Destination\n //WARNING this assumes page ids are 3,5,7, etc.\n var info = pdf.internal.getPageInfo(item.options.pageNumber);\n this.line(\n \"/Dest \" +\n \"[\" +\n info.objId +\n \" 0 R /XYZ 0 \" +\n getVerticalCoordinateString(0) +\n \" 0]\"\n );\n // this line does not work on all clients (pageNumber instead of page ref)\n //this.line('/Dest ' + '[' + (item.options.pageNumber - 1) + ' /XYZ 0 ' + this.ctx.pdf.internal.pageSize.getHeight() + ' 0]');\n\n // Named Destination\n // this.line('/Dest (page_' + (item.options.pageNumber) + ')');\n\n // Action Destination\n // var id = pdf.internal.newObject();\n // pdf.internal.write('<> endobj');\n // this.line('/A ' + id + ' 0 R' );\n }\n }\n this.objEnd();\n }\n for (var z = 0; z < node.children.length; z++) {\n this.renderItems(node.children[z]);\n }\n };\n\n pdf.outline.line = function(text) {\n this.ctx.val += text + \"\\r\\n\";\n };\n\n pdf.outline.makeRef = function(node) {\n return node.id + \" 0 R\";\n };\n\n pdf.outline.makeString = function(val) {\n return \"(\" + pdf.internal.pdfEscape(val) + \")\";\n };\n\n pdf.outline.objStart = function(node) {\n this.ctx.val += \"\\r\\n\" + node.id + \" 0 obj\" + \"\\r\\n<<\\r\\n\";\n };\n\n pdf.outline.objEnd = function() {\n this.ctx.val += \">> \\r\\n\" + \"endobj\" + \"\\r\\n\";\n };\n\n pdf.outline.count_r = function(ctx, node) {\n for (var i = 0; i < node.children.length; i++) {\n ctx.count++;\n this.count_r(ctx, node.children[i]);\n }\n return ctx.count;\n };\n }\n ]);\n\n return this;\n})(jsPDF.API);\n","/**\n * @license\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF jpeg Support PlugIn\n *\n * @name jpeg_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * 0xc0 (SOF) Huffman - Baseline DCT\n * 0xc1 (SOF) Huffman - Extended sequential DCT\n * 0xc2 Progressive DCT (SOF2)\n * 0xc3 Spatial (sequential) lossless (SOF3)\n * 0xc4 Differential sequential DCT (SOF5)\n * 0xc5 Differential progressive DCT (SOF6)\n * 0xc6 Differential spatial (SOF7)\n * 0xc7\n */\n var markers = [0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7];\n\n //takes a string imgData containing the raw bytes of\n //a jpeg image and returns [width, height]\n //Algorithm from: http://www.64lines.com/jpeg-width-height\n var getJpegInfo = function(imgData) {\n var width, height, numcomponents;\n var blockLength = imgData.charCodeAt(4) * 256 + imgData.charCodeAt(5);\n var len = imgData.length;\n var result = { width: 0, height: 0, numcomponents: 1 };\n for (var i = 4; i < len; i += 2) {\n i += blockLength;\n if (markers.indexOf(imgData.charCodeAt(i + 1)) !== -1) {\n height = imgData.charCodeAt(i + 5) * 256 + imgData.charCodeAt(i + 6);\n width = imgData.charCodeAt(i + 7) * 256 + imgData.charCodeAt(i + 8);\n numcomponents = imgData.charCodeAt(i + 9);\n result = { width: width, height: height, numcomponents: numcomponents };\n break;\n } else {\n blockLength =\n imgData.charCodeAt(i + 2) * 256 + imgData.charCodeAt(i + 3);\n }\n }\n return result;\n };\n\n /**\n * @ignore\n */\n jsPDFAPI.processJPEG = function(\n data,\n index,\n alias,\n compression,\n dataAsBinaryString,\n colorSpace\n ) {\n var filter = this.decode.DCT_DECODE,\n bpc = 8,\n dims,\n result = null;\n\n if (\n typeof data === \"string\" ||\n this.__addimage__.isArrayBuffer(data) ||\n this.__addimage__.isArrayBufferView(data)\n ) {\n // if we already have a stored binary string rep use that\n data = dataAsBinaryString || data;\n data = this.__addimage__.isArrayBuffer(data)\n ? new Uint8Array(data)\n : data;\n data = this.__addimage__.isArrayBufferView(data)\n ? this.__addimage__.arrayBufferToBinaryString(data)\n : data;\n\n dims = getJpegInfo(data);\n switch (dims.numcomponents) {\n case 1:\n colorSpace = this.color_spaces.DEVICE_GRAY;\n break;\n case 4:\n colorSpace = this.color_spaces.DEVICE_CMYK;\n break;\n case 3:\n colorSpace = this.color_spaces.DEVICE_RGB;\n break;\n }\n\n result = {\n data: data,\n width: dims.width,\n height: dims.height,\n colorSpace: colorSpace,\n bitsPerComponent: bpc,\n filter: filter,\n index: index,\n alias: alias\n };\n }\n return result;\n };\n})(jsPDF.API);\n","// Generated by CoffeeScript 1.4.0\n\n/**\n * @license\n * PNG.js\n * Copyright (c) 2011 Devon Govett\n * MIT LICENSE\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of this\n * software and associated documentation files (the \"Software\"), to deal in the Software\n * without restriction, including without limitation the rights to use, copy, modify, merge,\n * publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons\n * to whom the Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all copies or\n * substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING\n * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nimport { unzlibSync } from \"./fflate.js\";\nimport { globalObject } from \"./globalObject.js\";\n\nvar PNG = (function() {\n var APNG_BLEND_OP_OVER,\n APNG_BLEND_OP_SOURCE,\n APNG_DISPOSE_OP_BACKGROUND,\n APNG_DISPOSE_OP_NONE,\n APNG_DISPOSE_OP_PREVIOUS,\n makeImage,\n scratchCanvas,\n scratchCtx;\n\n APNG_DISPOSE_OP_NONE = 0;\n\n APNG_DISPOSE_OP_BACKGROUND = 1;\n\n APNG_DISPOSE_OP_PREVIOUS = 2;\n\n APNG_BLEND_OP_SOURCE = 0;\n\n APNG_BLEND_OP_OVER = 1;\n\n function PNG(data) {\n var chunkSize,\n colors,\n palLen,\n delayDen,\n delayNum,\n frame,\n i,\n index,\n key,\n section,\n palShort,\n text,\n _i,\n _j,\n _ref;\n this.data = data;\n this.pos = 8;\n this.palette = [];\n this.imgData = [];\n this.transparency = {};\n this.animation = null;\n this.text = {};\n frame = null;\n while (true) {\n chunkSize = this.readUInt32();\n section = function() {\n var _i, _results;\n _results = [];\n for (i = _i = 0; _i < 4; i = ++_i) {\n _results.push(String.fromCharCode(this.data[this.pos++]));\n }\n return _results;\n }\n .call(this)\n .join(\"\");\n switch (section) {\n case \"IHDR\":\n this.width = this.readUInt32();\n this.height = this.readUInt32();\n this.bits = this.data[this.pos++];\n this.colorType = this.data[this.pos++];\n this.compressionMethod = this.data[this.pos++];\n this.filterMethod = this.data[this.pos++];\n this.interlaceMethod = this.data[this.pos++];\n break;\n case \"acTL\":\n this.animation = {\n numFrames: this.readUInt32(),\n numPlays: this.readUInt32() || Infinity,\n frames: []\n };\n break;\n case \"PLTE\":\n this.palette = this.read(chunkSize);\n break;\n case \"fcTL\":\n if (frame) {\n this.animation.frames.push(frame);\n }\n this.pos += 4;\n frame = {\n width: this.readUInt32(),\n height: this.readUInt32(),\n xOffset: this.readUInt32(),\n yOffset: this.readUInt32()\n };\n delayNum = this.readUInt16();\n delayDen = this.readUInt16() || 100;\n frame.delay = (1000 * delayNum) / delayDen;\n frame.disposeOp = this.data[this.pos++];\n frame.blendOp = this.data[this.pos++];\n frame.data = [];\n break;\n case \"IDAT\":\n case \"fdAT\":\n if (section === \"fdAT\") {\n this.pos += 4;\n chunkSize -= 4;\n }\n data = (frame != null ? frame.data : void 0) || this.imgData;\n for (\n i = _i = 0;\n 0 <= chunkSize ? _i < chunkSize : _i > chunkSize;\n i = 0 <= chunkSize ? ++_i : --_i\n ) {\n data.push(this.data[this.pos++]);\n }\n break;\n case \"tRNS\":\n this.transparency = {};\n switch (this.colorType) {\n case 3:\n palLen = this.palette.length / 3;\n this.transparency.indexed = this.read(chunkSize);\n if (this.transparency.indexed.length > palLen)\n throw new Error(\"More transparent colors than palette size\");\n /*\n * According to the PNG spec trns should be increased to the same size as palette if shorter\n */\n //palShort = 255 - this.transparency.indexed.length;\n palShort = palLen - this.transparency.indexed.length;\n if (palShort > 0) {\n for (\n i = _j = 0;\n 0 <= palShort ? _j < palShort : _j > palShort;\n i = 0 <= palShort ? ++_j : --_j\n ) {\n this.transparency.indexed.push(255);\n }\n }\n break;\n case 0:\n this.transparency.grayscale = this.read(chunkSize)[0];\n break;\n case 2:\n this.transparency.rgb = this.read(chunkSize);\n }\n break;\n case \"tEXt\":\n text = this.read(chunkSize);\n index = text.indexOf(0);\n key = String.fromCharCode.apply(String, text.slice(0, index));\n this.text[key] = String.fromCharCode.apply(\n String,\n text.slice(index + 1)\n );\n break;\n case \"IEND\":\n if (frame) {\n this.animation.frames.push(frame);\n }\n this.colors = function() {\n switch (this.colorType) {\n case 0:\n case 3:\n case 4:\n return 1;\n case 2:\n case 6:\n return 3;\n }\n }.call(this);\n this.hasAlphaChannel = (_ref = this.colorType) === 4 || _ref === 6;\n colors = this.colors + (this.hasAlphaChannel ? 1 : 0);\n this.pixelBitlength = this.bits * colors;\n this.colorSpace = function() {\n switch (this.colors) {\n case 1:\n return \"DeviceGray\";\n case 3:\n return \"DeviceRGB\";\n }\n }.call(this);\n this.imgData = new Uint8Array(this.imgData);\n return;\n default:\n this.pos += chunkSize;\n }\n this.pos += 4;\n if (this.pos > this.data.length) {\n throw new Error(\"Incomplete or corrupt PNG file\");\n }\n }\n }\n\n PNG.prototype.read = function(bytes) {\n var i, _i, _results;\n _results = [];\n for (\n i = _i = 0;\n 0 <= bytes ? _i < bytes : _i > bytes;\n i = 0 <= bytes ? ++_i : --_i\n ) {\n _results.push(this.data[this.pos++]);\n }\n return _results;\n };\n\n PNG.prototype.readUInt32 = function() {\n var b1, b2, b3, b4;\n b1 = this.data[this.pos++] << 24;\n b2 = this.data[this.pos++] << 16;\n b3 = this.data[this.pos++] << 8;\n b4 = this.data[this.pos++];\n return b1 | b2 | b3 | b4;\n };\n\n PNG.prototype.readUInt16 = function() {\n var b1, b2;\n b1 = this.data[this.pos++] << 8;\n b2 = this.data[this.pos++];\n return b1 | b2;\n };\n\n PNG.prototype.decodePixels = function(data) {\n var pixelBytes = this.pixelBitlength / 8;\n var fullPixels = new Uint8Array(this.width * this.height * pixelBytes);\n var pos = 0;\n var _this = this;\n\n if (data == null) {\n data = this.imgData;\n }\n if (data.length === 0) {\n return new Uint8Array(0);\n }\n\n data = unzlibSync(data);\n function pass(x0, y0, dx, dy) {\n var abyte,\n c,\n col,\n i,\n left,\n length,\n p,\n pa,\n paeth,\n pb,\n pc,\n pixels,\n row,\n scanlineLength,\n upper,\n upperLeft,\n _i,\n _j,\n _k,\n _l,\n _m;\n var w = Math.ceil((_this.width - x0) / dx),\n h = Math.ceil((_this.height - y0) / dy);\n var isFull = _this.width == w && _this.height == h;\n scanlineLength = pixelBytes * w;\n pixels = isFull ? fullPixels : new Uint8Array(scanlineLength * h);\n length = data.length;\n row = 0;\n c = 0;\n while (row < h && pos < length) {\n switch (data[pos++]) {\n case 0:\n for (i = _i = 0; _i < scanlineLength; i = _i += 1) {\n pixels[c++] = data[pos++];\n }\n break;\n case 1:\n for (i = _j = 0; _j < scanlineLength; i = _j += 1) {\n abyte = data[pos++];\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n pixels[c++] = (abyte + left) % 256;\n }\n break;\n case 2:\n for (i = _k = 0; _k < scanlineLength; i = _k += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n upper =\n row &&\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n pixels[c++] = (upper + abyte) % 256;\n }\n break;\n case 3:\n for (i = _l = 0; _l < scanlineLength; i = _l += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n upper =\n row &&\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n pixels[c++] = (abyte + Math.floor((left + upper) / 2)) % 256;\n }\n break;\n case 4:\n for (i = _m = 0; _m < scanlineLength; i = _m += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n if (row === 0) {\n upper = upperLeft = 0;\n } else {\n upper =\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n upperLeft =\n col &&\n pixels[\n (row - 1) * scanlineLength +\n (col - 1) * pixelBytes +\n (i % pixelBytes)\n ];\n }\n p = left + upper - upperLeft;\n pa = Math.abs(p - left);\n pb = Math.abs(p - upper);\n pc = Math.abs(p - upperLeft);\n if (pa <= pb && pa <= pc) {\n paeth = left;\n } else if (pb <= pc) {\n paeth = upper;\n } else {\n paeth = upperLeft;\n }\n pixels[c++] = (abyte + paeth) % 256;\n }\n break;\n default:\n throw new Error(\"Invalid filter algorithm: \" + data[pos - 1]);\n }\n if (!isFull) {\n var fullPos = ((y0 + row * dy) * _this.width + x0) * pixelBytes;\n var partPos = row * scanlineLength;\n for (i = 0; i < w; i += 1) {\n for (var j = 0; j < pixelBytes; j += 1)\n fullPixels[fullPos++] = pixels[partPos++];\n fullPos += (dx - 1) * pixelBytes;\n }\n }\n row++;\n }\n }\n if (_this.interlaceMethod == 1) {\n /*\n 1 6 4 6 2 6 4 6\n 7 7 7 7 7 7 7 7\n 5 6 5 6 5 6 5 6\n 7 7 7 7 7 7 7 7\n 3 6 4 6 3 6 4 6\n 7 7 7 7 7 7 7 7\n 5 6 5 6 5 6 5 6\n 7 7 7 7 7 7 7 7\n */\n pass(0, 0, 8, 8); // 1\n /* NOTE these seem to follow the pattern:\n * pass(x, 0, 2*x, 2*x);\n * pass(0, x, x, 2*x);\n * with x being 4, 2, 1.\n */\n pass(4, 0, 8, 8); // 2\n pass(0, 4, 4, 8); // 3\n\n pass(2, 0, 4, 4); // 4\n pass(0, 2, 2, 4); // 5\n\n pass(1, 0, 2, 2); // 6\n pass(0, 1, 1, 2); // 7\n } else {\n pass(0, 0, 1, 1);\n }\n return fullPixels;\n };\n\n PNG.prototype.decodePalette = function() {\n var c, i, length, palette, pos, ret, transparency, _i, _ref, _ref1;\n palette = this.palette;\n transparency = this.transparency.indexed || [];\n ret = new Uint8Array((transparency.length || 0) + palette.length);\n pos = 0;\n length = palette.length;\n c = 0;\n for (i = _i = 0, _ref = length; _i < _ref; i = _i += 3) {\n ret[pos++] = palette[i];\n ret[pos++] = palette[i + 1];\n ret[pos++] = palette[i + 2];\n ret[pos++] = (_ref1 = transparency[c++]) != null ? _ref1 : 255;\n }\n return ret;\n };\n\n PNG.prototype.copyToImageData = function(imageData, pixels) {\n var alpha, colors, data, i, input, j, k, length, palette, v, _ref;\n colors = this.colors;\n palette = null;\n alpha = this.hasAlphaChannel;\n if (this.palette.length) {\n palette =\n (_ref = this._decodedPalette) != null\n ? _ref\n : (this._decodedPalette = this.decodePalette());\n colors = 4;\n alpha = true;\n }\n data = imageData.data || imageData;\n length = data.length;\n input = palette || pixels;\n i = j = 0;\n if (colors === 1) {\n while (i < length) {\n k = palette ? pixels[i / 4] * 4 : j;\n v = input[k++];\n data[i++] = v;\n data[i++] = v;\n data[i++] = v;\n data[i++] = alpha ? input[k++] : 255;\n j = k;\n }\n } else {\n while (i < length) {\n k = palette ? pixels[i / 4] * 4 : j;\n data[i++] = input[k++];\n data[i++] = input[k++];\n data[i++] = input[k++];\n data[i++] = alpha ? input[k++] : 255;\n j = k;\n }\n }\n };\n\n PNG.prototype.decode = function() {\n var ret;\n ret = new Uint8Array(this.width * this.height * 4);\n this.copyToImageData(ret, this.decodePixels());\n return ret;\n };\n\n var hasBrowserCanvas = function() {\n if (Object.prototype.toString.call(globalObject) === \"[object Window]\") {\n try {\n scratchCanvas = globalObject.document.createElement(\"canvas\");\n scratchCtx = scratchCanvas.getContext(\"2d\");\n } catch (e) {\n return false;\n }\n return true;\n }\n return false;\n };\n\n hasBrowserCanvas();\n\n makeImage = function(imageData) {\n if (hasBrowserCanvas() === true) {\n var img;\n scratchCtx.width = imageData.width;\n scratchCtx.height = imageData.height;\n scratchCtx.clearRect(0, 0, imageData.width, imageData.height);\n scratchCtx.putImageData(imageData, 0, 0);\n img = new Image();\n img.src = scratchCanvas.toDataURL();\n return img;\n }\n throw new Error(\"This method requires a Browser with Canvas-capability.\");\n };\n\n PNG.prototype.decodeFrames = function(ctx) {\n var frame, i, imageData, pixels, _i, _len, _ref, _results;\n if (!this.animation) {\n return;\n }\n _ref = this.animation.frames;\n _results = [];\n for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) {\n frame = _ref[i];\n imageData = ctx.createImageData(frame.width, frame.height);\n pixels = this.decodePixels(new Uint8Array(frame.data));\n this.copyToImageData(imageData, pixels);\n frame.imageData = imageData;\n _results.push((frame.image = makeImage(imageData)));\n }\n return _results;\n };\n\n PNG.prototype.renderFrame = function(ctx, number) {\n var frame, frames, prev;\n frames = this.animation.frames;\n frame = frames[number];\n prev = frames[number - 1];\n if (number === 0) {\n ctx.clearRect(0, 0, this.width, this.height);\n }\n if (\n (prev != null ? prev.disposeOp : void 0) === APNG_DISPOSE_OP_BACKGROUND\n ) {\n ctx.clearRect(prev.xOffset, prev.yOffset, prev.width, prev.height);\n } else if (\n (prev != null ? prev.disposeOp : void 0) === APNG_DISPOSE_OP_PREVIOUS\n ) {\n ctx.putImageData(prev.imageData, prev.xOffset, prev.yOffset);\n }\n if (frame.blendOp === APNG_BLEND_OP_SOURCE) {\n ctx.clearRect(frame.xOffset, frame.yOffset, frame.width, frame.height);\n }\n return ctx.drawImage(frame.image, frame.xOffset, frame.yOffset);\n };\n\n PNG.prototype.animate = function(ctx) {\n var doFrame,\n frameNumber,\n frames,\n numFrames,\n numPlays,\n _ref,\n _this = this;\n frameNumber = 0;\n (_ref = this.animation),\n (numFrames = _ref.numFrames),\n (frames = _ref.frames),\n (numPlays = _ref.numPlays);\n return (doFrame = function() {\n var f, frame;\n f = frameNumber++ % numFrames;\n frame = frames[f];\n _this.renderFrame(ctx, f);\n if (numFrames > 1 && frameNumber / numFrames < numPlays) {\n return (_this.animation._timeout = setTimeout(doFrame, frame.delay));\n }\n })();\n };\n\n PNG.prototype.stopAnimation = function() {\n var _ref;\n return clearTimeout(\n (_ref = this.animation) != null ? _ref._timeout : void 0\n );\n };\n\n PNG.prototype.render = function(canvas) {\n var ctx, data;\n if (canvas._png) {\n canvas._png.stopAnimation();\n }\n canvas._png = this;\n canvas.width = this.width;\n canvas.height = this.height;\n ctx = canvas.getContext(\"2d\");\n if (this.animation) {\n this.decodeFrames(ctx);\n return this.animate(ctx);\n } else {\n data = ctx.createImageData(this.width, this.height);\n this.copyToImageData(data, this.decodePixels());\n return ctx.putImageData(data, 0, 0);\n }\n };\n\n return PNG;\n})();\n\nexport { PNG };\n","/** @license\n * MIT license.\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n * 2014 Diego Casorran, https://github.com/diegocr\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF split_text_to_size plugin\n *\n * @name split_text_to_size\n * @module\n */\n(function(API) {\n \"use strict\";\n /**\n * Returns an array of length matching length of the 'word' string, with each\n * cell occupied by the width of the char in that position.\n *\n * @name getCharWidthsArray\n * @function\n * @param {string} text\n * @param {Object} options\n * @returns {Array}\n */\n var getCharWidthsArray = (API.getCharWidthsArray = function(text, options) {\n options = options || {};\n\n var activeFont = options.font || this.internal.getFont();\n var fontSize = options.fontSize || this.internal.getFontSize();\n var charSpace = options.charSpace || this.internal.getCharSpace();\n\n var widths = options.widths\n ? options.widths\n : activeFont.metadata.Unicode.widths;\n var widthsFractionOf = widths.fof ? widths.fof : 1;\n var kerning = options.kerning\n ? options.kerning\n : activeFont.metadata.Unicode.kerning;\n var kerningFractionOf = kerning.fof ? kerning.fof : 1;\n var doKerning = options.doKerning === false ? false : true;\n var kerningValue = 0;\n\n var i;\n var length = text.length;\n var char_code;\n var prior_char_code = 0; //for kerning\n var default_char_width = widths[0] || widthsFractionOf;\n var output = [];\n\n for (i = 0; i < length; i++) {\n char_code = text.charCodeAt(i);\n\n if (typeof activeFont.metadata.widthOfString === \"function\") {\n output.push(\n (activeFont.metadata.widthOfGlyph(\n activeFont.metadata.characterToGlyph(char_code)\n ) +\n charSpace * (1000 / fontSize) || 0) / 1000\n );\n } else {\n if (\n doKerning &&\n typeof kerning[char_code] === \"object\" &&\n !isNaN(parseInt(kerning[char_code][prior_char_code], 10))\n ) {\n kerningValue =\n kerning[char_code][prior_char_code] / kerningFractionOf;\n } else {\n kerningValue = 0;\n }\n output.push(\n (widths[char_code] || default_char_width) / widthsFractionOf +\n kerningValue\n );\n }\n prior_char_code = char_code;\n }\n\n return output;\n });\n\n /**\n * Returns a widths of string in a given font, if the font size is set as 1 point.\n *\n * In other words, this is \"proportional\" value. For 1 unit of font size, the length\n * of the string will be that much.\n *\n * Multiply by font size to get actual width in *points*\n * Then divide by 72 to get inches or divide by (72/25.6) to get 'mm' etc.\n *\n * @name getStringUnitWidth\n * @public\n * @function\n * @param {string} text\n * @param {string} options\n * @returns {number} result\n */\n var getStringUnitWidth = (API.getStringUnitWidth = function(text, options) {\n options = options || {};\n\n var fontSize = options.fontSize || this.internal.getFontSize();\n var font = options.font || this.internal.getFont();\n var charSpace = options.charSpace || this.internal.getCharSpace();\n var result = 0;\n\n if (API.processArabic) {\n text = API.processArabic(text);\n }\n\n if (typeof font.metadata.widthOfString === \"function\") {\n result =\n font.metadata.widthOfString(text, fontSize, charSpace) / fontSize;\n } else {\n result = getCharWidthsArray\n .apply(this, arguments)\n .reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n }\n return result;\n });\n\n /**\n returns array of lines\n */\n var splitLongWord = function(word, widths_array, firstLineMaxLen, maxLen) {\n var answer = [];\n\n // 1st, chop off the piece that can fit on the hanging line.\n var i = 0,\n l = word.length,\n workingLen = 0;\n while (i !== l && workingLen + widths_array[i] < firstLineMaxLen) {\n workingLen += widths_array[i];\n i++;\n }\n // this is first line.\n answer.push(word.slice(0, i));\n\n // 2nd. Split the rest into maxLen pieces.\n var startOfLine = i;\n workingLen = 0;\n while (i !== l) {\n if (workingLen + widths_array[i] > maxLen) {\n answer.push(word.slice(startOfLine, i));\n workingLen = 0;\n startOfLine = i;\n }\n workingLen += widths_array[i];\n i++;\n }\n if (startOfLine !== i) {\n answer.push(word.slice(startOfLine, i));\n }\n\n return answer;\n };\n\n // Note, all sizing inputs for this function must be in \"font measurement units\"\n // By default, for PDF, it's \"point\".\n var splitParagraphIntoLines = function(text, maxlen, options) {\n // at this time works only on Western scripts, ones with space char\n // separating the words. Feel free to expand.\n\n if (!options) {\n options = {};\n }\n\n var line = [],\n lines = [line],\n line_length = options.textIndent || 0,\n separator_length = 0,\n current_word_length = 0,\n word,\n widths_array,\n words = text.split(\" \"),\n spaceCharWidth = getCharWidthsArray.apply(this, [\" \", options])[0],\n i,\n l,\n tmp,\n lineIndent;\n\n if (options.lineIndent === -1) {\n lineIndent = words[0].length + 2;\n } else {\n lineIndent = options.lineIndent || 0;\n }\n if (lineIndent) {\n var pad = Array(lineIndent).join(\" \"),\n wrds = [];\n words.map(function(wrd) {\n wrd = wrd.split(/\\s*\\n/);\n if (wrd.length > 1) {\n wrds = wrds.concat(\n wrd.map(function(wrd, idx) {\n return (idx && wrd.length ? \"\\n\" : \"\") + wrd;\n })\n );\n } else {\n wrds.push(wrd[0]);\n }\n });\n words = wrds;\n lineIndent = getStringUnitWidth.apply(this, [pad, options]);\n }\n\n for (i = 0, l = words.length; i < l; i++) {\n var force = 0;\n\n word = words[i];\n if (lineIndent && word[0] == \"\\n\") {\n word = word.substr(1);\n force = 1;\n }\n widths_array = getCharWidthsArray.apply(this, [word, options]);\n current_word_length = widths_array.reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n\n if (\n line_length + separator_length + current_word_length > maxlen ||\n force\n ) {\n if (current_word_length > maxlen) {\n // this happens when you have space-less long URLs for example.\n // we just chop these to size. We do NOT insert hiphens\n tmp = splitLongWord.apply(this, [\n word,\n widths_array,\n maxlen - (line_length + separator_length),\n maxlen\n ]);\n // first line we add to existing line object\n line.push(tmp.shift()); // it's ok to have extra space indicator there\n // last line we make into new line object\n line = [tmp.pop()];\n // lines in the middle we apped to lines object as whole lines\n while (tmp.length) {\n lines.push([tmp.shift()]); // single fragment occupies whole line\n }\n current_word_length = widths_array\n .slice(word.length - (line[0] ? line[0].length : 0))\n .reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n } else {\n // just put it on a new line\n line = [word];\n }\n\n // now we attach new line to lines\n lines.push(line);\n line_length = current_word_length + lineIndent;\n separator_length = spaceCharWidth;\n } else {\n line.push(word);\n\n line_length += separator_length + current_word_length;\n separator_length = spaceCharWidth;\n }\n }\n\n var postProcess;\n if (lineIndent) {\n postProcess = function(ln, idx) {\n return (idx ? pad : \"\") + ln.join(\" \");\n };\n } else {\n postProcess = function(ln) {\n return ln.join(\" \");\n };\n }\n\n return lines.map(postProcess);\n };\n\n /**\n * Splits a given string into an array of strings. Uses 'size' value\n * (in measurement units declared as default for the jsPDF instance)\n * and the font's \"widths\" and \"Kerning\" tables, where available, to\n * determine display length of a given string for a given font.\n *\n * We use character's 100% of unit size (height) as width when Width\n * table or other default width is not available.\n *\n * @name splitTextToSize\n * @public\n * @function\n * @param {string} text Unencoded, regular JavaScript (Unicode, UTF-16 / UCS-2) string.\n * @param {number} size Nominal number, measured in units default to this instance of jsPDF.\n * @param {Object} options Optional flags needed for chopper to do the right thing.\n * @returns {Array} array Array with strings chopped to size.\n */\n API.splitTextToSize = function(text, maxlen, options) {\n \"use strict\";\n\n options = options || {};\n\n var fsize = options.fontSize || this.internal.getFontSize(),\n newOptions = function(options) {\n var widths = {\n 0: 1\n },\n kerning = {};\n\n if (!options.widths || !options.kerning) {\n var f = this.internal.getFont(options.fontName, options.fontStyle),\n encoding = \"Unicode\";\n // NOT UTF8, NOT UTF16BE/LE, NOT UCS2BE/LE\n // Actual JavaScript-native String's 16bit char codes used.\n // no multi-byte logic here\n\n if (f.metadata[encoding]) {\n return {\n widths: f.metadata[encoding].widths || widths,\n kerning: f.metadata[encoding].kerning || kerning\n };\n } else {\n return {\n font: f.metadata,\n fontSize: this.internal.getFontSize(),\n charSpace: this.internal.getCharSpace()\n };\n }\n } else {\n return {\n widths: options.widths,\n kerning: options.kerning\n };\n }\n }.call(this, options);\n\n // first we split on end-of-line chars\n var paragraphs;\n if (Array.isArray(text)) {\n paragraphs = text;\n } else {\n paragraphs = String(text).split(/\\r?\\n/);\n }\n\n // now we convert size (max length of line) into \"font size units\"\n // at present time, the \"font size unit\" is always 'point'\n // 'proportional' means, \"in proportion to font size\"\n var fontUnit_maxLen = (1.0 * this.internal.scaleFactor * maxlen) / fsize;\n // at this time, fsize is always in \"points\" regardless of the default measurement unit of the doc.\n // this may change in the future?\n // until then, proportional_maxlen is likely to be in 'points'\n\n // If first line is to be indented (shorter or longer) than maxLen\n // we indicate that by using CSS-style \"text-indent\" option.\n // here it's in font units too (which is likely 'points')\n // it can be negative (which makes the first line longer than maxLen)\n newOptions.textIndent = options.textIndent\n ? (options.textIndent * 1.0 * this.internal.scaleFactor) / fsize\n : 0;\n newOptions.lineIndent = options.lineIndent;\n\n var i,\n l,\n output = [];\n for (i = 0, l = paragraphs.length; i < l; i++) {\n output = output.concat(\n splitParagraphIntoLines.apply(this, [\n paragraphs[i],\n fontUnit_maxLen,\n newOptions\n ])\n );\n }\n\n return output;\n };\n})(jsPDF.API);\n","/**\n * @license\n * (c) Dean McNamee , 2013.\n *\n * https://github.com/deanm/omggif\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n * IN THE SOFTWARE.\n *\n * omggif is a JavaScript implementation of a GIF 89a encoder and decoder,\n * including animation and compression. It does not rely on any specific\n * underlying system, so should run in the browser, Node, or Plask.\n */\n\n\"use strict\";\n\nimport { console } from \"./console.js\";\n\nfunction GifWriter(buf, width, height, gopts) {\n var p = 0;\n\n var gopts = gopts === undefined ? {} : gopts;\n var loop_count = gopts.loop === undefined ? null : gopts.loop;\n var global_palette = gopts.palette === undefined ? null : gopts.palette;\n\n if (width <= 0 || height <= 0 || width > 65535 || height > 65535)\n throw new Error(\"Width/Height invalid.\");\n\n function check_palette_and_num_colors(palette) {\n var num_colors = palette.length;\n if (num_colors < 2 || num_colors > 256 || num_colors & (num_colors - 1)) {\n throw new Error(\n \"Invalid code/color length, must be power of 2 and 2 .. 256.\"\n );\n }\n return num_colors;\n }\n\n // - Header.\n buf[p++] = 0x47;\n buf[p++] = 0x49;\n buf[p++] = 0x46; // GIF\n buf[p++] = 0x38;\n buf[p++] = 0x39;\n buf[p++] = 0x61; // 89a\n\n // Handling of Global Color Table (palette) and background index.\n var gp_num_colors_pow2 = 0;\n var background = 0;\n if (global_palette !== null) {\n var gp_num_colors = check_palette_and_num_colors(global_palette);\n while ((gp_num_colors >>= 1)) ++gp_num_colors_pow2;\n gp_num_colors = 1 << gp_num_colors_pow2;\n --gp_num_colors_pow2;\n if (gopts.background !== undefined) {\n background = gopts.background;\n if (background >= gp_num_colors)\n throw new Error(\"Background index out of range.\");\n // The GIF spec states that a background index of 0 should be ignored, so\n // this is probably a mistake and you really want to set it to another\n // slot in the palette. But actually in the end most browsers, etc end\n // up ignoring this almost completely (including for dispose background).\n if (background === 0)\n throw new Error(\"Background index explicitly passed as 0.\");\n }\n }\n\n // - Logical Screen Descriptor.\n // NOTE(deanm): w/h apparently ignored by implementations, but set anyway.\n buf[p++] = width & 0xff;\n buf[p++] = (width >> 8) & 0xff;\n buf[p++] = height & 0xff;\n buf[p++] = (height >> 8) & 0xff;\n // NOTE: Indicates 0-bpp original color resolution (unused?).\n buf[p++] = (global_palette !== null ? 0x80 : 0) | gp_num_colors_pow2; // Global Color Table Flag. // NOTE: No sort flag (unused?).\n buf[p++] = background; // Background Color Index.\n buf[p++] = 0; // Pixel aspect ratio (unused?).\n\n // - Global Color Table\n if (global_palette !== null) {\n for (var i = 0, il = global_palette.length; i < il; ++i) {\n var rgb = global_palette[i];\n buf[p++] = (rgb >> 16) & 0xff;\n buf[p++] = (rgb >> 8) & 0xff;\n buf[p++] = rgb & 0xff;\n }\n }\n\n if (loop_count !== null) {\n // Netscape block for looping.\n if (loop_count < 0 || loop_count > 65535)\n throw new Error(\"Loop count invalid.\");\n // Extension code, label, and length.\n buf[p++] = 0x21;\n buf[p++] = 0xff;\n buf[p++] = 0x0b;\n // NETSCAPE2.0\n buf[p++] = 0x4e;\n buf[p++] = 0x45;\n buf[p++] = 0x54;\n buf[p++] = 0x53;\n buf[p++] = 0x43;\n buf[p++] = 0x41;\n buf[p++] = 0x50;\n buf[p++] = 0x45;\n buf[p++] = 0x32;\n buf[p++] = 0x2e;\n buf[p++] = 0x30;\n // Sub-block\n buf[p++] = 0x03;\n buf[p++] = 0x01;\n buf[p++] = loop_count & 0xff;\n buf[p++] = (loop_count >> 8) & 0xff;\n buf[p++] = 0x00; // Terminator.\n }\n\n var ended = false;\n\n this.addFrame = function(x, y, w, h, indexed_pixels, opts) {\n if (ended === true) {\n --p;\n ended = false;\n } // Un-end.\n\n opts = opts === undefined ? {} : opts;\n\n // TODO(deanm): Bounds check x, y. Do they need to be within the virtual\n // canvas width/height, I imagine?\n if (x < 0 || y < 0 || x > 65535 || y > 65535)\n throw new Error(\"x/y invalid.\");\n\n if (w <= 0 || h <= 0 || w > 65535 || h > 65535)\n throw new Error(\"Width/Height invalid.\");\n\n if (indexed_pixels.length < w * h)\n throw new Error(\"Not enough pixels for the frame size.\");\n\n var using_local_palette = true;\n var palette = opts.palette;\n if (palette === undefined || palette === null) {\n using_local_palette = false;\n palette = global_palette;\n }\n\n if (palette === undefined || palette === null)\n throw new Error(\"Must supply either a local or global palette.\");\n\n var num_colors = check_palette_and_num_colors(palette);\n\n // Compute the min_code_size (power of 2), destroying num_colors.\n var min_code_size = 0;\n while ((num_colors >>= 1)) ++min_code_size;\n num_colors = 1 << min_code_size; // Now we can easily get it back.\n\n var delay = opts.delay === undefined ? 0 : opts.delay;\n\n // From the spec:\n // 0 - No disposal specified. The decoder is\n // not required to take any action.\n // 1 - Do not dispose. The graphic is to be left\n // in place.\n // 2 - Restore to background color. The area used by the\n // graphic must be restored to the background color.\n // 3 - Restore to previous. The decoder is required to\n // restore the area overwritten by the graphic with\n // what was there prior to rendering the graphic.\n // 4-7 - To be defined.\n // NOTE(deanm): Dispose background doesn't really work, apparently most\n // browsers ignore the background palette index and clear to transparency.\n var disposal = opts.disposal === undefined ? 0 : opts.disposal;\n if (disposal < 0 || disposal > 3)\n // 4-7 is reserved.\n throw new Error(\"Disposal out of range.\");\n\n var use_transparency = false;\n var transparent_index = 0;\n if (opts.transparent !== undefined && opts.transparent !== null) {\n use_transparency = true;\n transparent_index = opts.transparent;\n if (transparent_index < 0 || transparent_index >= num_colors)\n throw new Error(\"Transparent color index.\");\n }\n\n if (disposal !== 0 || use_transparency || delay !== 0) {\n // - Graphics Control Extension\n buf[p++] = 0x21;\n buf[p++] = 0xf9; // Extension / Label.\n buf[p++] = 4; // Byte size.\n\n buf[p++] = (disposal << 2) | (use_transparency === true ? 1 : 0);\n buf[p++] = delay & 0xff;\n buf[p++] = (delay >> 8) & 0xff;\n buf[p++] = transparent_index; // Transparent color index.\n buf[p++] = 0; // Block Terminator.\n }\n\n // - Image Descriptor\n buf[p++] = 0x2c; // Image Seperator.\n buf[p++] = x & 0xff;\n buf[p++] = (x >> 8) & 0xff; // Left.\n buf[p++] = y & 0xff;\n buf[p++] = (y >> 8) & 0xff; // Top.\n buf[p++] = w & 0xff;\n buf[p++] = (w >> 8) & 0xff;\n buf[p++] = h & 0xff;\n buf[p++] = (h >> 8) & 0xff;\n // NOTE: No sort flag (unused?).\n // TODO(deanm): Support interlace.\n buf[p++] = using_local_palette === true ? 0x80 | (min_code_size - 1) : 0;\n\n // - Local Color Table\n if (using_local_palette === true) {\n for (var i = 0, il = palette.length; i < il; ++i) {\n var rgb = palette[i];\n buf[p++] = (rgb >> 16) & 0xff;\n buf[p++] = (rgb >> 8) & 0xff;\n buf[p++] = rgb & 0xff;\n }\n }\n\n p = GifWriterOutputLZWCodeStream(\n buf,\n p,\n min_code_size < 2 ? 2 : min_code_size,\n indexed_pixels\n );\n\n return p;\n };\n\n this.end = function() {\n if (ended === false) {\n buf[p++] = 0x3b; // Trailer.\n ended = true;\n }\n return p;\n };\n\n this.getOutputBuffer = function() {\n return buf;\n };\n this.setOutputBuffer = function(v) {\n buf = v;\n };\n this.getOutputBufferPosition = function() {\n return p;\n };\n this.setOutputBufferPosition = function(v) {\n p = v;\n };\n}\n\n// Main compression routine, palette indexes -> LZW code stream.\n// |index_stream| must have at least one entry.\nfunction GifWriterOutputLZWCodeStream(buf, p, min_code_size, index_stream) {\n buf[p++] = min_code_size;\n var cur_subblock = p++; // Pointing at the length field.\n\n var clear_code = 1 << min_code_size;\n var code_mask = clear_code - 1;\n var eoi_code = clear_code + 1;\n var next_code = eoi_code + 1;\n\n var cur_code_size = min_code_size + 1; // Number of bits per code.\n var cur_shift = 0;\n // We have at most 12-bit codes, so we should have to hold a max of 19\n // bits here (and then we would write out).\n var cur = 0;\n\n function emit_bytes_to_buffer(bit_block_size) {\n while (cur_shift >= bit_block_size) {\n buf[p++] = cur & 0xff;\n cur >>= 8;\n cur_shift -= 8;\n if (p === cur_subblock + 256) {\n // Finished a subblock.\n buf[cur_subblock] = 255;\n cur_subblock = p++;\n }\n }\n }\n\n function emit_code(c) {\n cur |= c << cur_shift;\n cur_shift += cur_code_size;\n emit_bytes_to_buffer(8);\n }\n\n // I am not an expert on the topic, and I don't want to write a thesis.\n // However, it is good to outline here the basic algorithm and the few data\n // structures and optimizations here that make this implementation fast.\n // The basic idea behind LZW is to build a table of previously seen runs\n // addressed by a short id (herein called output code). All data is\n // referenced by a code, which represents one or more values from the\n // original input stream. All input bytes can be referenced as the same\n // value as an output code. So if you didn't want any compression, you\n // could more or less just output the original bytes as codes (there are\n // some details to this, but it is the idea). In order to achieve\n // compression, values greater then the input range (codes can be up to\n // 12-bit while input only 8-bit) represent a sequence of previously seen\n // inputs. The decompressor is able to build the same mapping while\n // decoding, so there is always a shared common knowledge between the\n // encoding and decoder, which is also important for \"timing\" aspects like\n // how to handle variable bit width code encoding.\n //\n // One obvious but very important consequence of the table system is there\n // is always a unique id (at most 12-bits) to map the runs. 'A' might be\n // 4, then 'AA' might be 10, 'AAA' 11, 'AAAA' 12, etc. This relationship\n // can be used for an effecient lookup strategy for the code mapping. We\n // need to know if a run has been seen before, and be able to map that run\n // to the output code. Since we start with known unique ids (input bytes),\n // and then from those build more unique ids (table entries), we can\n // continue this chain (almost like a linked list) to always have small\n // integer values that represent the current byte chains in the encoder.\n // This means instead of tracking the input bytes (AAAABCD) to know our\n // current state, we can track the table entry for AAAABC (it is guaranteed\n // to exist by the nature of the algorithm) and the next character D.\n // Therefor the tuple of (table_entry, byte) is guaranteed to also be\n // unique. This allows us to create a simple lookup key for mapping input\n // sequences to codes (table indices) without having to store or search\n // any of the code sequences. So if 'AAAA' has a table entry of 12, the\n // tuple of ('AAAA', K) for any input byte K will be unique, and can be our\n // key. This leads to a integer value at most 20-bits, which can always\n // fit in an SMI value and be used as a fast sparse array / object key.\n\n // Output code for the current contents of the index buffer.\n var ib_code = index_stream[0] & code_mask; // Load first input index.\n var code_table = {}; // Key'd on our 20-bit \"tuple\".\n\n emit_code(clear_code); // Spec says first code should be a clear code.\n\n // First index already loaded, process the rest of the stream.\n for (var i = 1, il = index_stream.length; i < il; ++i) {\n var k = index_stream[i] & code_mask;\n var cur_key = (ib_code << 8) | k; // (prev, k) unique tuple.\n var cur_code = code_table[cur_key]; // buffer + k.\n\n // Check if we have to create a new code table entry.\n if (cur_code === undefined) {\n // We don't have buffer + k.\n // Emit index buffer (without k).\n // This is an inline version of emit_code, because this is the core\n // writing routine of the compressor (and V8 cannot inline emit_code\n // because it is a closure here in a different context). Additionally\n // we can call emit_byte_to_buffer less often, because we can have\n // 30-bits (from our 31-bit signed SMI), and we know our codes will only\n // be 12-bits, so can safely have 18-bits there without overflow.\n // emit_code(ib_code);\n cur |= ib_code << cur_shift;\n cur_shift += cur_code_size;\n while (cur_shift >= 8) {\n buf[p++] = cur & 0xff;\n cur >>= 8;\n cur_shift -= 8;\n if (p === cur_subblock + 256) {\n // Finished a subblock.\n buf[cur_subblock] = 255;\n cur_subblock = p++;\n }\n }\n\n if (next_code === 4096) {\n // Table full, need a clear.\n emit_code(clear_code);\n next_code = eoi_code + 1;\n cur_code_size = min_code_size + 1;\n code_table = {};\n } else {\n // Table not full, insert a new entry.\n // Increase our variable bit code sizes if necessary. This is a bit\n // tricky as it is based on \"timing\" between the encoding and\n // decoder. From the encoders perspective this should happen after\n // we've already emitted the index buffer and are about to create the\n // first table entry that would overflow our current code bit size.\n if (next_code >= 1 << cur_code_size) ++cur_code_size;\n code_table[cur_key] = next_code++; // Insert into code table.\n }\n\n ib_code = k; // Index buffer to single input k.\n } else {\n ib_code = cur_code; // Index buffer to sequence in code table.\n }\n }\n\n emit_code(ib_code); // There will still be something in the index buffer.\n emit_code(eoi_code); // End Of Information.\n\n // Flush / finalize the sub-blocks stream to the buffer.\n emit_bytes_to_buffer(1);\n\n // Finish the sub-blocks, writing out any unfinished lengths and\n // terminating with a sub-block of length 0. If we have already started\n // but not yet used a sub-block it can just become the terminator.\n if (cur_subblock + 1 === p) {\n // Started but unused.\n buf[cur_subblock] = 0;\n } else {\n // Started and used, write length and additional terminator block.\n buf[cur_subblock] = p - cur_subblock - 1;\n buf[p++] = 0;\n }\n return p;\n}\n\nfunction GifReader(buf) {\n var p = 0;\n\n // - Header (GIF87a or GIF89a).\n if (\n buf[p++] !== 0x47 ||\n buf[p++] !== 0x49 ||\n buf[p++] !== 0x46 ||\n buf[p++] !== 0x38 ||\n ((buf[p++] + 1) & 0xfd) !== 0x38 ||\n buf[p++] !== 0x61\n ) {\n throw new Error(\"Invalid GIF 87a/89a header.\");\n }\n\n // - Logical Screen Descriptor.\n var width = buf[p++] | (buf[p++] << 8);\n var height = buf[p++] | (buf[p++] << 8);\n var pf0 = buf[p++]; // .\n var global_palette_flag = pf0 >> 7;\n var num_global_colors_pow2 = pf0 & 0x7;\n var num_global_colors = 1 << (num_global_colors_pow2 + 1);\n var background = buf[p++];\n buf[p++]; // Pixel aspect ratio (unused?).\n\n var global_palette_offset = null;\n var global_palette_size = null;\n\n if (global_palette_flag) {\n global_palette_offset = p;\n global_palette_size = num_global_colors;\n p += num_global_colors * 3; // Seek past palette.\n }\n\n var no_eof = true;\n\n var frames = [];\n\n var delay = 0;\n var transparent_index = null;\n var disposal = 0; // 0 - No disposal specified.\n var loop_count = null;\n\n this.width = width;\n this.height = height;\n\n while (no_eof && p < buf.length) {\n switch (buf[p++]) {\n case 0x21: // Graphics Control Extension Block\n switch (buf[p++]) {\n case 0xff: // Application specific block\n // Try if it's a Netscape block (with animation loop counter).\n if (\n buf[p] !== 0x0b || // 21 FF already read, check block size.\n // NETSCAPE2.0\n (buf[p + 1] == 0x4e &&\n buf[p + 2] == 0x45 &&\n buf[p + 3] == 0x54 &&\n buf[p + 4] == 0x53 &&\n buf[p + 5] == 0x43 &&\n buf[p + 6] == 0x41 &&\n buf[p + 7] == 0x50 &&\n buf[p + 8] == 0x45 &&\n buf[p + 9] == 0x32 &&\n buf[p + 10] == 0x2e &&\n buf[p + 11] == 0x30 &&\n // Sub-block\n buf[p + 12] == 0x03 &&\n buf[p + 13] == 0x01 &&\n buf[p + 16] == 0)\n ) {\n p += 14;\n loop_count = buf[p++] | (buf[p++] << 8);\n p++; // Skip terminator.\n } else {\n // We don't know what it is, just try to get past it.\n p += 12;\n while (true) {\n // Seek through subblocks.\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n p += block_size;\n }\n }\n break;\n\n case 0xf9: // Graphics Control Extension\n if (buf[p++] !== 0x4 || buf[p + 4] !== 0)\n throw new Error(\"Invalid graphics extension block.\");\n var pf1 = buf[p++];\n delay = buf[p++] | (buf[p++] << 8);\n transparent_index = buf[p++];\n if ((pf1 & 1) === 0) transparent_index = null;\n disposal = (pf1 >> 2) & 0x7;\n p++; // Skip terminator.\n break;\n\n case 0xfe: // Comment Extension.\n while (true) {\n // Seek through subblocks.\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n // console.log(buf.slice(p, p+block_size).toString('ascii'));\n p += block_size;\n }\n break;\n\n default:\n throw new Error(\n \"Unknown graphic control label: 0x\" + buf[p - 1].toString(16)\n );\n }\n break;\n\n case 0x2c: // Image Descriptor.\n var x = buf[p++] | (buf[p++] << 8);\n var y = buf[p++] | (buf[p++] << 8);\n var w = buf[p++] | (buf[p++] << 8);\n var h = buf[p++] | (buf[p++] << 8);\n var pf2 = buf[p++];\n var local_palette_flag = pf2 >> 7;\n var interlace_flag = (pf2 >> 6) & 1;\n var num_local_colors_pow2 = pf2 & 0x7;\n var num_local_colors = 1 << (num_local_colors_pow2 + 1);\n var palette_offset = global_palette_offset;\n var palette_size = global_palette_size;\n var has_local_palette = false;\n if (local_palette_flag) {\n var has_local_palette = true;\n palette_offset = p; // Override with local palette.\n palette_size = num_local_colors;\n p += num_local_colors * 3; // Seek past palette.\n }\n\n var data_offset = p;\n\n p++; // codesize\n while (true) {\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n p += block_size;\n }\n\n frames.push({\n x: x,\n y: y,\n width: w,\n height: h,\n has_local_palette: has_local_palette,\n palette_offset: palette_offset,\n palette_size: palette_size,\n data_offset: data_offset,\n data_length: p - data_offset,\n transparent_index: transparent_index,\n interlaced: !!interlace_flag,\n delay: delay,\n disposal: disposal\n });\n break;\n\n case 0x3b: // Trailer Marker (end of file).\n no_eof = false;\n break;\n\n default:\n throw new Error(\"Unknown gif block: 0x\" + buf[p - 1].toString(16));\n break;\n }\n }\n\n this.numFrames = function() {\n return frames.length;\n };\n\n this.loopCount = function() {\n return loop_count;\n };\n\n this.frameInfo = function(frame_num) {\n if (frame_num < 0 || frame_num >= frames.length)\n throw new Error(\"Frame index out of range.\");\n return frames[frame_num];\n };\n\n this.decodeAndBlitFrameBGRA = function(frame_num, pixels) {\n var frame = this.frameInfo(frame_num);\n var num_pixels = frame.width * frame.height;\n var index_stream = new Uint8Array(num_pixels); // At most 8-bit indices.\n GifReaderLZWOutputIndexStream(\n buf,\n frame.data_offset,\n index_stream,\n num_pixels\n );\n var palette_offset = frame.palette_offset;\n\n // NOTE(deanm): It seems to be much faster to compare index to 256 than\n // to === null. Not sure why, but CompareStub_EQ_STRICT shows up high in\n // the profile, not sure if it's related to using a Uint8Array.\n var trans = frame.transparent_index;\n if (trans === null) trans = 256;\n\n // We are possibly just blitting to a portion of the entire frame.\n // That is a subrect within the framerect, so the additional pixels\n // must be skipped over after we finished a scanline.\n var framewidth = frame.width;\n var framestride = width - framewidth;\n var xleft = framewidth; // Number of subrect pixels left in scanline.\n\n // Output indices of the top left and bottom right corners of the subrect.\n var opbeg = (frame.y * width + frame.x) * 4;\n var opend = ((frame.y + frame.height) * width + frame.x) * 4;\n var op = opbeg;\n\n var scanstride = framestride * 4;\n\n // Use scanstride to skip past the rows when interlacing. This is skipping\n // 7 rows for the first two passes, then 3 then 1.\n if (frame.interlaced === true) {\n scanstride += width * 4 * 7; // Pass 1.\n }\n\n var interlaceskip = 8; // Tracking the row interval in the current pass.\n\n for (var i = 0, il = index_stream.length; i < il; ++i) {\n var index = index_stream[i];\n\n if (xleft === 0) {\n // Beginning of new scan line\n op += scanstride;\n xleft = framewidth;\n if (op >= opend) {\n // Catch the wrap to switch passes when interlacing.\n scanstride = framestride * 4 + width * 4 * (interlaceskip - 1);\n // interlaceskip / 2 * 4 is interlaceskip << 1.\n op = opbeg + (framewidth + framestride) * (interlaceskip << 1);\n interlaceskip >>= 1;\n }\n }\n\n if (index === trans) {\n op += 4;\n } else {\n var r = buf[palette_offset + index * 3];\n var g = buf[palette_offset + index * 3 + 1];\n var b = buf[palette_offset + index * 3 + 2];\n pixels[op++] = b;\n pixels[op++] = g;\n pixels[op++] = r;\n pixels[op++] = 255;\n }\n --xleft;\n }\n };\n\n // I will go to copy and paste hell one day...\n this.decodeAndBlitFrameRGBA = function(frame_num, pixels) {\n var frame = this.frameInfo(frame_num);\n var num_pixels = frame.width * frame.height;\n var index_stream = new Uint8Array(num_pixels); // At most 8-bit indices.\n GifReaderLZWOutputIndexStream(\n buf,\n frame.data_offset,\n index_stream,\n num_pixels\n );\n var palette_offset = frame.palette_offset;\n\n // NOTE(deanm): It seems to be much faster to compare index to 256 than\n // to === null. Not sure why, but CompareStub_EQ_STRICT shows up high in\n // the profile, not sure if it's related to using a Uint8Array.\n var trans = frame.transparent_index;\n if (trans === null) trans = 256;\n\n // We are possibly just blitting to a portion of the entire frame.\n // That is a subrect within the framerect, so the additional pixels\n // must be skipped over after we finished a scanline.\n var framewidth = frame.width;\n var framestride = width - framewidth;\n var xleft = framewidth; // Number of subrect pixels left in scanline.\n\n // Output indices of the top left and bottom right corners of the subrect.\n var opbeg = (frame.y * width + frame.x) * 4;\n var opend = ((frame.y + frame.height) * width + frame.x) * 4;\n var op = opbeg;\n\n var scanstride = framestride * 4;\n\n // Use scanstride to skip past the rows when interlacing. This is skipping\n // 7 rows for the first two passes, then 3 then 1.\n if (frame.interlaced === true) {\n scanstride += width * 4 * 7; // Pass 1.\n }\n\n var interlaceskip = 8; // Tracking the row interval in the current pass.\n\n for (var i = 0, il = index_stream.length; i < il; ++i) {\n var index = index_stream[i];\n\n if (xleft === 0) {\n // Beginning of new scan line\n op += scanstride;\n xleft = framewidth;\n if (op >= opend) {\n // Catch the wrap to switch passes when interlacing.\n scanstride = framestride * 4 + width * 4 * (interlaceskip - 1);\n // interlaceskip / 2 * 4 is interlaceskip << 1.\n op = opbeg + (framewidth + framestride) * (interlaceskip << 1);\n interlaceskip >>= 1;\n }\n }\n\n if (index === trans) {\n op += 4;\n } else {\n var r = buf[palette_offset + index * 3];\n var g = buf[palette_offset + index * 3 + 1];\n var b = buf[palette_offset + index * 3 + 2];\n pixels[op++] = r;\n pixels[op++] = g;\n pixels[op++] = b;\n pixels[op++] = 255;\n }\n --xleft;\n }\n };\n}\n\nfunction GifReaderLZWOutputIndexStream(code_stream, p, output, output_length) {\n var min_code_size = code_stream[p++];\n\n var clear_code = 1 << min_code_size;\n var eoi_code = clear_code + 1;\n var next_code = eoi_code + 1;\n\n var cur_code_size = min_code_size + 1; // Number of bits per code.\n // NOTE: This shares the same name as the encoder, but has a different\n // meaning here. Here this masks each code coming from the code stream.\n var code_mask = (1 << cur_code_size) - 1;\n var cur_shift = 0;\n var cur = 0;\n\n var op = 0; // Output pointer.\n\n var subblock_size = code_stream[p++];\n\n // TODO(deanm): Would using a TypedArray be any faster? At least it would\n // solve the fast mode / backing store uncertainty.\n // var code_table = Array(4096);\n var code_table = new Int32Array(4096); // Can be signed, we only use 20 bits.\n\n var prev_code = null; // Track code-1.\n\n while (true) {\n // Read up to two bytes, making sure we always 12-bits for max sized code.\n while (cur_shift < 16) {\n if (subblock_size === 0) break; // No more data to be read.\n\n cur |= code_stream[p++] << cur_shift;\n cur_shift += 8;\n\n if (subblock_size === 1) {\n // Never let it get to 0 to hold logic above.\n subblock_size = code_stream[p++]; // Next subblock.\n } else {\n --subblock_size;\n }\n }\n\n // TODO(deanm): We should never really get here, we should have received\n // and EOI.\n if (cur_shift < cur_code_size) break;\n\n var code = cur & code_mask;\n cur >>= cur_code_size;\n cur_shift -= cur_code_size;\n\n // TODO(deanm): Maybe should check that the first code was a clear code,\n // at least this is what you're supposed to do. But actually our encoder\n // now doesn't emit a clear code first anyway.\n if (code === clear_code) {\n // We don't actually have to clear the table. This could be a good idea\n // for greater error checking, but we don't really do any anyway. We\n // will just track it with next_code and overwrite old entries.\n\n next_code = eoi_code + 1;\n cur_code_size = min_code_size + 1;\n code_mask = (1 << cur_code_size) - 1;\n\n // Don't update prev_code ?\n prev_code = null;\n continue;\n } else if (code === eoi_code) {\n break;\n }\n\n // We have a similar situation as the decoder, where we want to store\n // variable length entries (code table entries), but we want to do in a\n // faster manner than an array of arrays. The code below stores sort of a\n // linked list within the code table, and then \"chases\" through it to\n // construct the dictionary entries. When a new entry is created, just the\n // last byte is stored, and the rest (prefix) of the entry is only\n // referenced by its table entry. Then the code chases through the\n // prefixes until it reaches a single byte code. We have to chase twice,\n // first to compute the length, and then to actually copy the data to the\n // output (backwards, since we know the length). The alternative would be\n // storing something in an intermediate stack, but that doesn't make any\n // more sense. I implemented an approach where it also stored the length\n // in the code table, although it's a bit tricky because you run out of\n // bits (12 + 12 + 8), but I didn't measure much improvements (the table\n // entries are generally not the long). Even when I created benchmarks for\n // very long table entries the complexity did not seem worth it.\n // The code table stores the prefix entry in 12 bits and then the suffix\n // byte in 8 bits, so each entry is 20 bits.\n\n var chase_code = code < next_code ? code : prev_code;\n\n // Chase what we will output, either {CODE} or {CODE-1}.\n var chase_length = 0;\n var chase = chase_code;\n while (chase > clear_code) {\n chase = code_table[chase] >> 8;\n ++chase_length;\n }\n\n var k = chase;\n\n var op_end = op + chase_length + (chase_code !== code ? 1 : 0);\n if (op_end > output_length) {\n console.log(\"Warning, gif stream longer than expected.\");\n return;\n }\n\n // Already have the first byte from the chase, might as well write it fast.\n output[op++] = k;\n\n op += chase_length;\n var b = op; // Track pointer, writing backwards.\n\n if (chase_code !== code)\n // The case of emitting {CODE-1} + k.\n output[op++] = k;\n\n chase = chase_code;\n while (chase_length--) {\n chase = code_table[chase];\n output[--b] = chase & 0xff; // Write backwards.\n chase >>= 8; // Pull down to the prefix code.\n }\n\n if (prev_code !== null && next_code < 4096) {\n code_table[next_code++] = (prev_code << 8) | k;\n // TODO(deanm): Figure out this clearing vs code growth logic better. I\n // have an feeling that it should just happen somewhere else, for now it\n // is awkward between when we grow past the max and then hit a clear code.\n // For now just check if we hit the max 12-bits (then a clear code should\n // follow, also of course encoded in 12-bits).\n if (next_code >= code_mask + 1 && cur_code_size < 12) {\n ++cur_code_size;\n code_mask = (code_mask << 1) | 1;\n }\n }\n\n prev_code = code;\n }\n\n if (op !== output_length) {\n console.log(\"Warning, gif stream shorter than expected.\");\n }\n\n return output;\n}\n\nexport { GifReader, GifWriter };\n","/**\n * @license\n Copyright (c) 2008, Adobe Systems Incorporated\n All rights reserved.\n\n Redistribution and use in source and binary forms, with or without \n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright notice, \n this list of conditions and the following disclaimer.\n \n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the \n documentation and/or other materials provided with the distribution.\n \n * Neither the name of Adobe Systems Incorporated nor the names of its \n contributors may be used to endorse or promote products derived from \n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS\n IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\n THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR \n CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n/*\nJPEG encoder ported to JavaScript and optimized by Andreas Ritter, www.bytestrom.eu, 11/2009\n\nBasic GUI blocking jpeg encoder\n*/\n\nfunction JPEGEncoder(quality) {\n var ffloor = Math.floor;\n var YTable = new Array(64);\n var UVTable = new Array(64);\n var fdtbl_Y = new Array(64);\n var fdtbl_UV = new Array(64);\n var YDC_HT;\n var UVDC_HT;\n var YAC_HT;\n var UVAC_HT;\n\n var bitcode = new Array(65535);\n var category = new Array(65535);\n var outputfDCTQuant = new Array(64);\n var DU = new Array(64);\n var byteout = [];\n var bytenew = 0;\n var bytepos = 7;\n\n var YDU = new Array(64);\n var UDU = new Array(64);\n var VDU = new Array(64);\n var clt = new Array(256);\n var RGB_YUV_TABLE = new Array(2048);\n var currentQuality;\n\n var ZigZag = [\n 0,\n 1,\n 5,\n 6,\n 14,\n 15,\n 27,\n 28,\n 2,\n 4,\n 7,\n 13,\n 16,\n 26,\n 29,\n 42,\n 3,\n 8,\n 12,\n 17,\n 25,\n 30,\n 41,\n 43,\n 9,\n 11,\n 18,\n 24,\n 31,\n 40,\n 44,\n 53,\n 10,\n 19,\n 23,\n 32,\n 39,\n 45,\n 52,\n 54,\n 20,\n 22,\n 33,\n 38,\n 46,\n 51,\n 55,\n 60,\n 21,\n 34,\n 37,\n 47,\n 50,\n 56,\n 59,\n 61,\n 35,\n 36,\n 48,\n 49,\n 57,\n 58,\n 62,\n 63\n ];\n\n var std_dc_luminance_nrcodes = [\n 0,\n 0,\n 1,\n 5,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var std_dc_luminance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_luminance_nrcodes = [\n 0,\n 0,\n 2,\n 1,\n 3,\n 3,\n 2,\n 4,\n 3,\n 5,\n 5,\n 4,\n 4,\n 0,\n 0,\n 1,\n 0x7d\n ];\n var std_ac_luminance_values = [\n 0x01,\n 0x02,\n 0x03,\n 0x00,\n 0x04,\n 0x11,\n 0x05,\n 0x12,\n 0x21,\n 0x31,\n 0x41,\n 0x06,\n 0x13,\n 0x51,\n 0x61,\n 0x07,\n 0x22,\n 0x71,\n 0x14,\n 0x32,\n 0x81,\n 0x91,\n 0xa1,\n 0x08,\n 0x23,\n 0x42,\n 0xb1,\n 0xc1,\n 0x15,\n 0x52,\n 0xd1,\n 0xf0,\n 0x24,\n 0x33,\n 0x62,\n 0x72,\n 0x82,\n 0x09,\n 0x0a,\n 0x16,\n 0x17,\n 0x18,\n 0x19,\n 0x1a,\n 0x25,\n 0x26,\n 0x27,\n 0x28,\n 0x29,\n 0x2a,\n 0x34,\n 0x35,\n 0x36,\n 0x37,\n 0x38,\n 0x39,\n 0x3a,\n 0x43,\n 0x44,\n 0x45,\n 0x46,\n 0x47,\n 0x48,\n 0x49,\n 0x4a,\n 0x53,\n 0x54,\n 0x55,\n 0x56,\n 0x57,\n 0x58,\n 0x59,\n 0x5a,\n 0x63,\n 0x64,\n 0x65,\n 0x66,\n 0x67,\n 0x68,\n 0x69,\n 0x6a,\n 0x73,\n 0x74,\n 0x75,\n 0x76,\n 0x77,\n 0x78,\n 0x79,\n 0x7a,\n 0x83,\n 0x84,\n 0x85,\n 0x86,\n 0x87,\n 0x88,\n 0x89,\n 0x8a,\n 0x92,\n 0x93,\n 0x94,\n 0x95,\n 0x96,\n 0x97,\n 0x98,\n 0x99,\n 0x9a,\n 0xa2,\n 0xa3,\n 0xa4,\n 0xa5,\n 0xa6,\n 0xa7,\n 0xa8,\n 0xa9,\n 0xaa,\n 0xb2,\n 0xb3,\n 0xb4,\n 0xb5,\n 0xb6,\n 0xb7,\n 0xb8,\n 0xb9,\n 0xba,\n 0xc2,\n 0xc3,\n 0xc4,\n 0xc5,\n 0xc6,\n 0xc7,\n 0xc8,\n 0xc9,\n 0xca,\n 0xd2,\n 0xd3,\n 0xd4,\n 0xd5,\n 0xd6,\n 0xd7,\n 0xd8,\n 0xd9,\n 0xda,\n 0xe1,\n 0xe2,\n 0xe3,\n 0xe4,\n 0xe5,\n 0xe6,\n 0xe7,\n 0xe8,\n 0xe9,\n 0xea,\n 0xf1,\n 0xf2,\n 0xf3,\n 0xf4,\n 0xf5,\n 0xf6,\n 0xf7,\n 0xf8,\n 0xf9,\n 0xfa\n ];\n\n var std_dc_chrominance_nrcodes = [\n 0,\n 0,\n 3,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var std_dc_chrominance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_chrominance_nrcodes = [\n 0,\n 0,\n 2,\n 1,\n 2,\n 4,\n 4,\n 3,\n 4,\n 7,\n 5,\n 4,\n 4,\n 0,\n 1,\n 2,\n 0x77\n ];\n var std_ac_chrominance_values = [\n 0x00,\n 0x01,\n 0x02,\n 0x03,\n 0x11,\n 0x04,\n 0x05,\n 0x21,\n 0x31,\n 0x06,\n 0x12,\n 0x41,\n 0x51,\n 0x07,\n 0x61,\n 0x71,\n 0x13,\n 0x22,\n 0x32,\n 0x81,\n 0x08,\n 0x14,\n 0x42,\n 0x91,\n 0xa1,\n 0xb1,\n 0xc1,\n 0x09,\n 0x23,\n 0x33,\n 0x52,\n 0xf0,\n 0x15,\n 0x62,\n 0x72,\n 0xd1,\n 0x0a,\n 0x16,\n 0x24,\n 0x34,\n 0xe1,\n 0x25,\n 0xf1,\n 0x17,\n 0x18,\n 0x19,\n 0x1a,\n 0x26,\n 0x27,\n 0x28,\n 0x29,\n 0x2a,\n 0x35,\n 0x36,\n 0x37,\n 0x38,\n 0x39,\n 0x3a,\n 0x43,\n 0x44,\n 0x45,\n 0x46,\n 0x47,\n 0x48,\n 0x49,\n 0x4a,\n 0x53,\n 0x54,\n 0x55,\n 0x56,\n 0x57,\n 0x58,\n 0x59,\n 0x5a,\n 0x63,\n 0x64,\n 0x65,\n 0x66,\n 0x67,\n 0x68,\n 0x69,\n 0x6a,\n 0x73,\n 0x74,\n 0x75,\n 0x76,\n 0x77,\n 0x78,\n 0x79,\n 0x7a,\n 0x82,\n 0x83,\n 0x84,\n 0x85,\n 0x86,\n 0x87,\n 0x88,\n 0x89,\n 0x8a,\n 0x92,\n 0x93,\n 0x94,\n 0x95,\n 0x96,\n 0x97,\n 0x98,\n 0x99,\n 0x9a,\n 0xa2,\n 0xa3,\n 0xa4,\n 0xa5,\n 0xa6,\n 0xa7,\n 0xa8,\n 0xa9,\n 0xaa,\n 0xb2,\n 0xb3,\n 0xb4,\n 0xb5,\n 0xb6,\n 0xb7,\n 0xb8,\n 0xb9,\n 0xba,\n 0xc2,\n 0xc3,\n 0xc4,\n 0xc5,\n 0xc6,\n 0xc7,\n 0xc8,\n 0xc9,\n 0xca,\n 0xd2,\n 0xd3,\n 0xd4,\n 0xd5,\n 0xd6,\n 0xd7,\n 0xd8,\n 0xd9,\n 0xda,\n 0xe2,\n 0xe3,\n 0xe4,\n 0xe5,\n 0xe6,\n 0xe7,\n 0xe8,\n 0xe9,\n 0xea,\n 0xf2,\n 0xf3,\n 0xf4,\n 0xf5,\n 0xf6,\n 0xf7,\n 0xf8,\n 0xf9,\n 0xfa\n ];\n\n function initQuantTables(sf) {\n var YQT = [\n 16,\n 11,\n 10,\n 16,\n 24,\n 40,\n 51,\n 61,\n 12,\n 12,\n 14,\n 19,\n 26,\n 58,\n 60,\n 55,\n 14,\n 13,\n 16,\n 24,\n 40,\n 57,\n 69,\n 56,\n 14,\n 17,\n 22,\n 29,\n 51,\n 87,\n 80,\n 62,\n 18,\n 22,\n 37,\n 56,\n 68,\n 109,\n 103,\n 77,\n 24,\n 35,\n 55,\n 64,\n 81,\n 104,\n 113,\n 92,\n 49,\n 64,\n 78,\n 87,\n 103,\n 121,\n 120,\n 101,\n 72,\n 92,\n 95,\n 98,\n 112,\n 100,\n 103,\n 99\n ];\n\n for (var i = 0; i < 64; i++) {\n var t = ffloor((YQT[i] * sf + 50) / 100);\n t = Math.min(Math.max(t, 1), 255);\n YTable[ZigZag[i]] = t;\n }\n var UVQT = [\n 17,\n 18,\n 24,\n 47,\n 99,\n 99,\n 99,\n 99,\n 18,\n 21,\n 26,\n 66,\n 99,\n 99,\n 99,\n 99,\n 24,\n 26,\n 56,\n 99,\n 99,\n 99,\n 99,\n 99,\n 47,\n 66,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99\n ];\n for (var j = 0; j < 64; j++) {\n var u = ffloor((UVQT[j] * sf + 50) / 100);\n u = Math.min(Math.max(u, 1), 255);\n UVTable[ZigZag[j]] = u;\n }\n var aasf = [\n 1.0,\n 1.387039845,\n 1.306562965,\n 1.175875602,\n 1.0,\n 0.785694958,\n 0.5411961,\n 0.275899379\n ];\n var k = 0;\n for (var row = 0; row < 8; row++) {\n for (var col = 0; col < 8; col++) {\n fdtbl_Y[k] = 1.0 / (YTable[ZigZag[k]] * aasf[row] * aasf[col] * 8.0);\n fdtbl_UV[k] = 1.0 / (UVTable[ZigZag[k]] * aasf[row] * aasf[col] * 8.0);\n k++;\n }\n }\n }\n\n function computeHuffmanTbl(nrcodes, std_table) {\n var codevalue = 0;\n var pos_in_table = 0;\n var HT = new Array();\n for (var k = 1; k <= 16; k++) {\n for (var j = 1; j <= nrcodes[k]; j++) {\n HT[std_table[pos_in_table]] = [];\n HT[std_table[pos_in_table]][0] = codevalue;\n HT[std_table[pos_in_table]][1] = k;\n pos_in_table++;\n codevalue++;\n }\n codevalue *= 2;\n }\n return HT;\n }\n\n function initHuffmanTbl() {\n YDC_HT = computeHuffmanTbl(\n std_dc_luminance_nrcodes,\n std_dc_luminance_values\n );\n UVDC_HT = computeHuffmanTbl(\n std_dc_chrominance_nrcodes,\n std_dc_chrominance_values\n );\n YAC_HT = computeHuffmanTbl(\n std_ac_luminance_nrcodes,\n std_ac_luminance_values\n );\n UVAC_HT = computeHuffmanTbl(\n std_ac_chrominance_nrcodes,\n std_ac_chrominance_values\n );\n }\n\n function initCategoryNumber() {\n var nrlower = 1;\n var nrupper = 2;\n for (var cat = 1; cat <= 15; cat++) {\n //Positive numbers\n for (var nr = nrlower; nr < nrupper; nr++) {\n category[32767 + nr] = cat;\n bitcode[32767 + nr] = [];\n bitcode[32767 + nr][1] = cat;\n bitcode[32767 + nr][0] = nr;\n }\n //Negative numbers\n for (var nrneg = -(nrupper - 1); nrneg <= -nrlower; nrneg++) {\n category[32767 + nrneg] = cat;\n bitcode[32767 + nrneg] = [];\n bitcode[32767 + nrneg][1] = cat;\n bitcode[32767 + nrneg][0] = nrupper - 1 + nrneg;\n }\n nrlower <<= 1;\n nrupper <<= 1;\n }\n }\n\n function initRGBYUVTable() {\n for (var i = 0; i < 256; i++) {\n RGB_YUV_TABLE[i] = 19595 * i;\n RGB_YUV_TABLE[(i + 256) >> 0] = 38470 * i;\n RGB_YUV_TABLE[(i + 512) >> 0] = 7471 * i + 0x8000;\n RGB_YUV_TABLE[(i + 768) >> 0] = -11059 * i;\n RGB_YUV_TABLE[(i + 1024) >> 0] = -21709 * i;\n RGB_YUV_TABLE[(i + 1280) >> 0] = 32768 * i + 0x807fff;\n RGB_YUV_TABLE[(i + 1536) >> 0] = -27439 * i;\n RGB_YUV_TABLE[(i + 1792) >> 0] = -5329 * i;\n }\n }\n\n // IO functions\n function writeBits(bs) {\n var value = bs[0];\n var posval = bs[1] - 1;\n while (posval >= 0) {\n if (value & (1 << posval)) {\n bytenew |= 1 << bytepos;\n }\n posval--;\n bytepos--;\n if (bytepos < 0) {\n if (bytenew == 0xff) {\n writeByte(0xff);\n writeByte(0);\n } else {\n writeByte(bytenew);\n }\n bytepos = 7;\n bytenew = 0;\n }\n }\n }\n\n function writeByte(value) {\n //byteout.push(clt[value]); // write char directly instead of converting later\n byteout.push(value);\n }\n\n function writeWord(value) {\n writeByte((value >> 8) & 0xff);\n writeByte(value & 0xff);\n }\n\n // DCT & quantization core\n function fDCTQuant(data, fdtbl) {\n var d0, d1, d2, d3, d4, d5, d6, d7;\n /* Pass 1: process rows. */\n var dataOff = 0;\n var i;\n var I8 = 8;\n var I64 = 64;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 1];\n d2 = data[dataOff + 2];\n d3 = data[dataOff + 3];\n d4 = data[dataOff + 4];\n d5 = data[dataOff + 5];\n d6 = data[dataOff + 6];\n d7 = data[dataOff + 7];\n\n var tmp0 = d0 + d7;\n var tmp7 = d0 - d7;\n var tmp1 = d1 + d6;\n var tmp6 = d1 - d6;\n var tmp2 = d2 + d5;\n var tmp5 = d2 - d5;\n var tmp3 = d3 + d4;\n var tmp4 = d3 - d4;\n\n /* Even part */\n var tmp10 = tmp0 + tmp3; /* phase 2 */\n var tmp13 = tmp0 - tmp3;\n var tmp11 = tmp1 + tmp2;\n var tmp12 = tmp1 - tmp2;\n\n data[dataOff] = tmp10 + tmp11; /* phase 3 */\n data[dataOff + 4] = tmp10 - tmp11;\n\n var z1 = (tmp12 + tmp13) * 0.707106781; /* c4 */\n data[dataOff + 2] = tmp13 + z1; /* phase 5 */\n data[dataOff + 6] = tmp13 - z1;\n\n /* Odd part */\n tmp10 = tmp4 + tmp5; /* phase 2 */\n tmp11 = tmp5 + tmp6;\n tmp12 = tmp6 + tmp7;\n\n /* The rotator is modified from fig 4-8 to avoid extra negations. */\n var z5 = (tmp10 - tmp12) * 0.382683433; /* c6 */\n var z2 = 0.5411961 * tmp10 + z5; /* c2-c6 */\n var z4 = 1.306562965 * tmp12 + z5; /* c2+c6 */\n var z3 = tmp11 * 0.707106781; /* c4 */\n\n var z11 = tmp7 + z3; /* phase 5 */\n var z13 = tmp7 - z3;\n\n data[dataOff + 5] = z13 + z2; /* phase 6 */\n data[dataOff + 3] = z13 - z2;\n data[dataOff + 1] = z11 + z4;\n data[dataOff + 7] = z11 - z4;\n\n dataOff += 8; /* advance pointer to next row */\n }\n\n /* Pass 2: process columns. */\n dataOff = 0;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 8];\n d2 = data[dataOff + 16];\n d3 = data[dataOff + 24];\n d4 = data[dataOff + 32];\n d5 = data[dataOff + 40];\n d6 = data[dataOff + 48];\n d7 = data[dataOff + 56];\n\n var tmp0p2 = d0 + d7;\n var tmp7p2 = d0 - d7;\n var tmp1p2 = d1 + d6;\n var tmp6p2 = d1 - d6;\n var tmp2p2 = d2 + d5;\n var tmp5p2 = d2 - d5;\n var tmp3p2 = d3 + d4;\n var tmp4p2 = d3 - d4;\n\n /* Even part */\n var tmp10p2 = tmp0p2 + tmp3p2; /* phase 2 */\n var tmp13p2 = tmp0p2 - tmp3p2;\n var tmp11p2 = tmp1p2 + tmp2p2;\n var tmp12p2 = tmp1p2 - tmp2p2;\n\n data[dataOff] = tmp10p2 + tmp11p2; /* phase 3 */\n data[dataOff + 32] = tmp10p2 - tmp11p2;\n\n var z1p2 = (tmp12p2 + tmp13p2) * 0.707106781; /* c4 */\n data[dataOff + 16] = tmp13p2 + z1p2; /* phase 5 */\n data[dataOff + 48] = tmp13p2 - z1p2;\n\n /* Odd part */\n tmp10p2 = tmp4p2 + tmp5p2; /* phase 2 */\n tmp11p2 = tmp5p2 + tmp6p2;\n tmp12p2 = tmp6p2 + tmp7p2;\n\n /* The rotator is modified from fig 4-8 to avoid extra negations. */\n var z5p2 = (tmp10p2 - tmp12p2) * 0.382683433; /* c6 */\n var z2p2 = 0.5411961 * tmp10p2 + z5p2; /* c2-c6 */\n var z4p2 = 1.306562965 * tmp12p2 + z5p2; /* c2+c6 */\n var z3p2 = tmp11p2 * 0.707106781; /* c4 */\n\n var z11p2 = tmp7p2 + z3p2; /* phase 5 */\n var z13p2 = tmp7p2 - z3p2;\n\n data[dataOff + 40] = z13p2 + z2p2; /* phase 6 */\n data[dataOff + 24] = z13p2 - z2p2;\n data[dataOff + 8] = z11p2 + z4p2;\n data[dataOff + 56] = z11p2 - z4p2;\n\n dataOff++; /* advance pointer to next column */\n }\n\n // Quantize/descale the coefficients\n var fDCTQuant;\n for (i = 0; i < I64; ++i) {\n // Apply the quantization and scaling factor & Round to nearest integer\n fDCTQuant = data[i] * fdtbl[i];\n outputfDCTQuant[i] =\n fDCTQuant > 0.0 ? (fDCTQuant + 0.5) | 0 : (fDCTQuant - 0.5) | 0;\n //outputfDCTQuant[i] = fround(fDCTQuant);\n }\n return outputfDCTQuant;\n }\n\n function writeAPP0() {\n writeWord(0xffe0); // marker\n writeWord(16); // length\n writeByte(0x4a); // J\n writeByte(0x46); // F\n writeByte(0x49); // I\n writeByte(0x46); // F\n writeByte(0); // = \"JFIF\",'\\0'\n writeByte(1); // versionhi\n writeByte(1); // versionlo\n writeByte(0); // xyunits\n writeWord(1); // xdensity\n writeWord(1); // ydensity\n writeByte(0); // thumbnwidth\n writeByte(0); // thumbnheight\n }\n\n function writeSOF0(width, height) {\n writeWord(0xffc0); // marker\n writeWord(17); // length, truecolor YUV JPG\n writeByte(8); // precision\n writeWord(height);\n writeWord(width);\n writeByte(3); // nrofcomponents\n writeByte(1); // IdY\n writeByte(0x11); // HVY\n writeByte(0); // QTY\n writeByte(2); // IdU\n writeByte(0x11); // HVU\n writeByte(1); // QTU\n writeByte(3); // IdV\n writeByte(0x11); // HVV\n writeByte(1); // QTV\n }\n\n function writeDQT() {\n writeWord(0xffdb); // marker\n writeWord(132); // length\n writeByte(0);\n for (var i = 0; i < 64; i++) {\n writeByte(YTable[i]);\n }\n writeByte(1);\n for (var j = 0; j < 64; j++) {\n writeByte(UVTable[j]);\n }\n }\n\n function writeDHT() {\n writeWord(0xffc4); // marker\n writeWord(0x01a2); // length\n\n writeByte(0); // HTYDCinfo\n for (var i = 0; i < 16; i++) {\n writeByte(std_dc_luminance_nrcodes[i + 1]);\n }\n for (var j = 0; j <= 11; j++) {\n writeByte(std_dc_luminance_values[j]);\n }\n\n writeByte(0x10); // HTYACinfo\n for (var k = 0; k < 16; k++) {\n writeByte(std_ac_luminance_nrcodes[k + 1]);\n }\n for (var l = 0; l <= 161; l++) {\n writeByte(std_ac_luminance_values[l]);\n }\n\n writeByte(1); // HTUDCinfo\n for (var m = 0; m < 16; m++) {\n writeByte(std_dc_chrominance_nrcodes[m + 1]);\n }\n for (var n = 0; n <= 11; n++) {\n writeByte(std_dc_chrominance_values[n]);\n }\n\n writeByte(0x11); // HTUACinfo\n for (var o = 0; o < 16; o++) {\n writeByte(std_ac_chrominance_nrcodes[o + 1]);\n }\n for (var p = 0; p <= 161; p++) {\n writeByte(std_ac_chrominance_values[p]);\n }\n }\n\n function writeSOS() {\n writeWord(0xffda); // marker\n writeWord(12); // length\n writeByte(3); // nrofcomponents\n writeByte(1); // IdY\n writeByte(0); // HTY\n writeByte(2); // IdU\n writeByte(0x11); // HTU\n writeByte(3); // IdV\n writeByte(0x11); // HTV\n writeByte(0); // Ss\n writeByte(0x3f); // Se\n writeByte(0); // Bf\n }\n\n function processDU(CDU, fdtbl, DC, HTDC, HTAC) {\n var EOB = HTAC[0x00];\n var M16zeroes = HTAC[0xf0];\n var pos;\n var I16 = 16;\n var I63 = 63;\n var I64 = 64;\n var DU_DCT = fDCTQuant(CDU, fdtbl);\n //ZigZag reorder\n for (var j = 0; j < I64; ++j) {\n DU[ZigZag[j]] = DU_DCT[j];\n }\n var Diff = DU[0] - DC;\n DC = DU[0];\n //Encode DC\n if (Diff == 0) {\n writeBits(HTDC[0]); // Diff might be 0\n } else {\n pos = 32767 + Diff;\n writeBits(HTDC[category[pos]]);\n writeBits(bitcode[pos]);\n }\n //Encode ACs\n var end0pos = 63; // was const... which is crazy\n while (end0pos > 0 && DU[end0pos] == 0) {\n end0pos--;\n }\n //end0pos = first element in reverse order !=0\n if (end0pos == 0) {\n writeBits(EOB);\n return DC;\n }\n var i = 1;\n var lng;\n while (i <= end0pos) {\n var startpos = i;\n while (DU[i] == 0 && i <= end0pos) {\n ++i;\n }\n var nrzeroes = i - startpos;\n if (nrzeroes >= I16) {\n lng = nrzeroes >> 4;\n for (var nrmarker = 1; nrmarker <= lng; ++nrmarker)\n writeBits(M16zeroes);\n nrzeroes = nrzeroes & 0xf;\n }\n pos = 32767 + DU[i];\n writeBits(HTAC[(nrzeroes << 4) + category[pos]]);\n writeBits(bitcode[pos]);\n i++;\n }\n if (end0pos != I63) {\n writeBits(EOB);\n }\n return DC;\n }\n\n function initCharLookupTable() {\n var sfcc = String.fromCharCode;\n for (var i = 0; i < 256; i++) {\n ///// ACHTUNG // 255\n clt[i] = sfcc(i);\n }\n }\n\n this.encode = function(\n image,\n quality // image data object\n ) {\n if (quality) setQuality(quality);\n\n // Initialize bit writer\n byteout = new Array();\n bytenew = 0;\n bytepos = 7;\n\n // Add JPEG headers\n writeWord(0xffd8); // SOI\n writeAPP0();\n writeDQT();\n writeSOF0(image.width, image.height);\n writeDHT();\n writeSOS();\n\n // Encode 8x8 macroblocks\n var DCY = 0;\n var DCU = 0;\n var DCV = 0;\n\n bytenew = 0;\n bytepos = 7;\n\n this.encode.displayName = \"_encode_\";\n\n var imageData = image.data;\n var width = image.width;\n var height = image.height;\n\n var quadWidth = width * 4;\n\n var x,\n y = 0;\n var r, g, b;\n var start, p, col, row, pos;\n while (y < height) {\n x = 0;\n while (x < quadWidth) {\n start = quadWidth * y + x;\n col = -1;\n row = 0;\n\n for (pos = 0; pos < 64; pos++) {\n row = pos >> 3; // /8\n col = (pos & 7) * 4; // %8\n p = start + row * quadWidth + col;\n\n if (y + row >= height) {\n // padding bottom\n p -= quadWidth * (y + 1 + row - height);\n }\n\n if (x + col >= quadWidth) {\n // padding right\n p -= x + col - quadWidth + 4;\n }\n\n r = imageData[p++];\n g = imageData[p++];\n b = imageData[p++];\n\n /* // calculate YUV values dynamically\n\t\t\t\t\tYDU[pos]=((( 0.29900)*r+( 0.58700)*g+( 0.11400)*b))-128; //-0x80\n\t\t\t\t\tUDU[pos]=(((-0.16874)*r+(-0.33126)*g+( 0.50000)*b));\n\t\t\t\t\tVDU[pos]=((( 0.50000)*r+(-0.41869)*g+(-0.08131)*b));\n\t\t\t\t\t*/\n\n // use lookup table (slightly faster)\n YDU[pos] =\n ((RGB_YUV_TABLE[r] +\n RGB_YUV_TABLE[(g + 256) >> 0] +\n RGB_YUV_TABLE[(b + 512) >> 0]) >>\n 16) -\n 128;\n UDU[pos] =\n ((RGB_YUV_TABLE[(r + 768) >> 0] +\n RGB_YUV_TABLE[(g + 1024) >> 0] +\n RGB_YUV_TABLE[(b + 1280) >> 0]) >>\n 16) -\n 128;\n VDU[pos] =\n ((RGB_YUV_TABLE[(r + 1280) >> 0] +\n RGB_YUV_TABLE[(g + 1536) >> 0] +\n RGB_YUV_TABLE[(b + 1792) >> 0]) >>\n 16) -\n 128;\n }\n\n DCY = processDU(YDU, fdtbl_Y, DCY, YDC_HT, YAC_HT);\n DCU = processDU(UDU, fdtbl_UV, DCU, UVDC_HT, UVAC_HT);\n DCV = processDU(VDU, fdtbl_UV, DCV, UVDC_HT, UVAC_HT);\n x += 32;\n }\n y += 8;\n }\n\n ////////////////////////////////////////////////////////////////\n\n // Do the bit alignment of the EOI marker\n if (bytepos >= 0) {\n var fillbits = [];\n fillbits[1] = bytepos + 1;\n fillbits[0] = (1 << (bytepos + 1)) - 1;\n writeBits(fillbits);\n }\n\n writeWord(0xffd9); //EOI\n\n return new Uint8Array(byteout);\n };\n\n function setQuality(quality) {\n quality = Math.min(Math.max(quality, 1), 100);\n\n if (currentQuality == quality) return; // don't recalc if unchanged\n\n var sf =\n quality < 50 ? Math.floor(5000 / quality) : Math.floor(200 - quality * 2);\n\n initQuantTables(sf);\n currentQuality = quality;\n //console.log('Quality set to: '+quality +'%');\n }\n\n function init() {\n quality = quality || 50;\n // Create tables\n initCharLookupTable();\n initHuffmanTbl();\n initCategoryNumber();\n initRGBYUVTable();\n\n setQuality(quality);\n }\n init();\n}\n\nexport { JPEGEncoder };\n","/**\n * @author shaozilee\n *\n * Bmp format decoder,support 1bit 4bit 8bit 24bit bmp\n *\n */\n\nimport { console } from \"./console.js\";\n\nfunction BmpDecoder(buffer, is_with_alpha) {\n this.pos = 0;\n this.buffer = buffer;\n this.datav = new DataView(buffer.buffer);\n this.is_with_alpha = !!is_with_alpha;\n this.bottom_up = true;\n this.flag =\n String.fromCharCode(this.buffer[0]) + String.fromCharCode(this.buffer[1]);\n this.pos += 2;\n if ([\"BM\", \"BA\", \"CI\", \"CP\", \"IC\", \"PT\"].indexOf(this.flag) === -1)\n throw new Error(\"Invalid BMP File\");\n this.parseHeader();\n this.parseBGR();\n}\n\nBmpDecoder.prototype.parseHeader = function() {\n this.fileSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.reserved = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.offset = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.headerSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.width = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.height = this.datav.getInt32(this.pos, true);\n this.pos += 4;\n this.planes = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n this.bitPP = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n this.compress = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.rawSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.hr = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.vr = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.colors = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.importantColors = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n\n if (this.bitPP === 16 && this.is_with_alpha) {\n this.bitPP = 15;\n }\n if (this.bitPP < 15) {\n var len = this.colors === 0 ? 1 << this.bitPP : this.colors;\n this.palette = new Array(len);\n for (var i = 0; i < len; i++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var quad = this.datav.getUint8(this.pos++, true);\n this.palette[i] = {\n red: red,\n green: green,\n blue: blue,\n quad: quad\n };\n }\n }\n if (this.height < 0) {\n this.height *= -1;\n this.bottom_up = false;\n }\n};\n\nBmpDecoder.prototype.parseBGR = function() {\n this.pos = this.offset;\n try {\n var bitn = \"bit\" + this.bitPP;\n var len = this.width * this.height * 4;\n this.data = new Uint8Array(len);\n\n this[bitn]();\n } catch (e) {\n console.log(\"bit decode error:\" + e);\n }\n};\n\nBmpDecoder.prototype.bit1 = function() {\n var xlen = Math.ceil(this.width / 8);\n var mode = xlen % 4;\n var y;\n for (y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < xlen; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 8 * 4;\n for (var i = 0; i < 8; i++) {\n if (x * 8 + i < this.width) {\n var rgb = this.palette[(b >> (7 - i)) & 0x1];\n this.data[location + i * 4] = rgb.blue;\n this.data[location + i * 4 + 1] = rgb.green;\n this.data[location + i * 4 + 2] = rgb.red;\n this.data[location + i * 4 + 3] = 0xff;\n } else {\n break;\n }\n }\n }\n\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit4 = function() {\n var xlen = Math.ceil(this.width / 2);\n var mode = xlen % 4;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < xlen; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 2 * 4;\n\n var before = b >> 4;\n var after = b & 0x0f;\n\n var rgb = this.palette[before];\n this.data[location] = rgb.blue;\n this.data[location + 1] = rgb.green;\n this.data[location + 2] = rgb.red;\n this.data[location + 3] = 0xff;\n\n if (x * 2 + 1 >= this.width) break;\n\n rgb = this.palette[after];\n this.data[location + 4] = rgb.blue;\n this.data[location + 4 + 1] = rgb.green;\n this.data[location + 4 + 2] = rgb.red;\n this.data[location + 4 + 3] = 0xff;\n }\n\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit8 = function() {\n var mode = this.width % 4;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n if (b < this.palette.length) {\n var rgb = this.palette[b];\n this.data[location] = rgb.red;\n this.data[location + 1] = rgb.green;\n this.data[location + 2] = rgb.blue;\n this.data[location + 3] = 0xff;\n } else {\n this.data[location] = 0xff;\n this.data[location + 1] = 0xff;\n this.data[location + 2] = 0xff;\n this.data[location + 3] = 0xff;\n }\n }\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit15 = function() {\n var dif_w = this.width % 3;\n var _11111 = parseInt(\"11111\", 2),\n _1_5 = _11111;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var B = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n var blue = (((B & _1_5) / _1_5) * 255) | 0;\n var green = ((((B >> 5) & _1_5) / _1_5) * 255) | 0;\n var red = ((((B >> 10) & _1_5) / _1_5) * 255) | 0;\n var alpha = B >> 15 ? 0xff : 0x00;\n\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n this.pos += dif_w;\n }\n};\n\nBmpDecoder.prototype.bit16 = function() {\n var dif_w = this.width % 3;\n var _11111 = parseInt(\"11111\", 2),\n _1_5 = _11111;\n var _111111 = parseInt(\"111111\", 2),\n _1_6 = _111111;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var B = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n var alpha = 0xff;\n var blue = (((B & _1_5) / _1_5) * 255) | 0;\n var green = ((((B >> 5) & _1_6) / _1_6) * 255) | 0;\n var red = (((B >> 11) / _1_5) * 255) | 0;\n\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n this.pos += dif_w;\n }\n};\n\nBmpDecoder.prototype.bit24 = function() {\n //when height > 0\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = 0xff;\n }\n //skip extra bytes\n this.pos += this.width % 4;\n }\n};\n\n/**\n * add 32bit decode func\n * @author soubok\n */\nBmpDecoder.prototype.bit32 = function() {\n //when height > 0\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var alpha = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n //this.pos += (this.width % 4);\n }\n};\n\nBmpDecoder.prototype.getData = function() {\n return this.data;\n};\n\nexport { BmpDecoder };\n","function WebPDecoder(imageData) {\n /** @license\n * Copyright 2011 Google Inc.\n *\n * This code is licensed under the same terms as WebM:\n * Software License Agreement: http://www.webmproject.org/license/software/\n * Additional IP Rights Grant: http://www.webmproject.org/license/additional/\n * -----------------------------------------------------------------------------\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\n * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n * -----------------------------------------------------------------------------\n *\n * Copyright 2011-2017 Dominik Homberger\n * Libwebp Javascript / libwebpjs - the libwebp implementation in javascript (v0.6.0)\n *\n * Author: Dominik Homberger (dominik.homberger@gmail.com)\n */\n\n var self = this;\n var UpsampleRgbLinePair,\n UpsampleBgrLinePair,\n UpsampleRgbaLinePair,\n UpsampleBgraLinePair,\n UpsampleArgbLinePair,\n UpsampleArgbLinePair,\n UpsampleRgba4444LinePair,\n UpsampleRgb565LinePair;\n\n function x(F) {\n if (!F) throw Error(\"assert :P\");\n }\n function fa(F, L, J) {\n for (var H = 0; 4 > H; H++) if (F[L + H] != J.charCodeAt(H)) return !0;\n return !1;\n }\n function I(F, L, J, H, Z) {\n for (var O = 0; O < Z; O++) F[L + O] = J[H + O];\n }\n function M(F, L, J, H) {\n for (var Z = 0; Z < H; Z++) F[L + Z] = J;\n }\n function V(F) {\n return new Int32Array(F);\n }\n function wa(F, L) {\n for (var J = [], H = 0; H < F; H++) J.push(new L());\n return J;\n }\n function wb() {\n function F(J, H, Z) {\n for (var O = Z[H], L = 0; L < O; L++) {\n J.push(Z.length > H + 1 ? [] : 0);\n if (Z.length < H + 1) break;\n F(J[L], H + 1, Z);\n }\n }\n var L = [];\n F(L, 0, [3, 11]);\n return L;\n }\n function Ed(F, L) {\n function J(H, O, F) {\n for (var Z = F[O], ma = 0; ma < Z; ma++) {\n H.push(F.length > O + 1 ? [] : new L());\n if (F.length < O + 1) break;\n J(H[ma], O + 1, F);\n }\n }\n var H = [];\n J(H, 0, F);\n return H;\n }\n var _WebPDecoder = function() {\n var self = this;\n function F() {\n V(55);\n }\n function L(a, b) {\n for (var c = (1 << (b - 1)) >>> 0; a & c; ) c >>>= 1;\n return c ? (a & (c - 1)) + c : a;\n }\n function J(a, b, c, d, e) {\n x(!(d % c));\n do (d -= c), (a[b + d] = e);\n while (0 < d);\n }\n function H(a, b, c, d, e, f) {\n var g = b,\n h = 1 << c,\n k,\n l,\n m = V(16),\n n = V(16);\n x(0 != e);\n x(null != d);\n x(null != a);\n x(0 < c);\n for (l = 0; l < e; ++l) {\n if (15 < d[l]) return 0;\n ++m[d[l]];\n }\n if (m[0] == e) return 0;\n n[1] = 0;\n for (k = 1; 15 > k; ++k) {\n if (m[k] > 1 << k) return 0;\n n[k + 1] = n[k] + m[k];\n }\n for (l = 0; l < e; ++l) (k = d[l]), 0 < d[l] && (f[n[k]++] = l);\n if (1 == n[15])\n return (d = new O()), (d.g = 0), (d.value = f[0]), J(a, g, 1, h, d), h;\n var r = -1,\n q = h - 1,\n t = 0,\n v = 1,\n p = 1,\n u,\n w = 1 << c;\n l = 0;\n k = 1;\n for (e = 2; k <= c; ++k, e <<= 1) {\n p <<= 1;\n v += p;\n p -= m[k];\n if (0 > p) return 0;\n for (; 0 < m[k]; --m[k])\n (d = new O()),\n (d.g = k),\n (d.value = f[l++]),\n J(a, g + t, e, w, d),\n (t = L(t, k));\n }\n k = c + 1;\n for (e = 2; 15 >= k; ++k, e <<= 1) {\n p <<= 1;\n v += p;\n p -= m[k];\n if (0 > p) return 0;\n for (; 0 < m[k]; --m[k]) {\n d = new O();\n if ((t & q) != r) {\n g += w;\n r = k;\n for (u = 1 << (r - c); 15 > r; ) {\n u -= m[r];\n if (0 >= u) break;\n ++r;\n u <<= 1;\n }\n u = r - c;\n w = 1 << u;\n h += w;\n r = t & q;\n a[b + r].g = u + c;\n a[b + r].value = g - b - r;\n }\n d.g = k - c;\n d.value = f[l++];\n J(a, g + (t >> c), e, w, d);\n t = L(t, k);\n }\n }\n return v != 2 * n[15] - 1 ? 0 : h;\n }\n function Z(a, b, c, d, e) {\n x(2328 >= e);\n if (512 >= e) var f = V(512);\n else if (((f = V(e)), null == f)) return 0;\n return H(a, b, c, d, e, f);\n }\n function O() {\n this.value = this.g = 0;\n }\n function Fd() {\n this.value = this.g = 0;\n }\n function Ub() {\n this.G = wa(5, O);\n this.H = V(5);\n this.jc = this.Qb = this.qb = this.nd = 0;\n this.pd = wa(xb, Fd);\n }\n function ma(a, b, c, d) {\n x(null != a);\n x(null != b);\n x(2147483648 > d);\n a.Ca = 254;\n a.I = 0;\n a.b = -8;\n a.Ka = 0;\n a.oa = b;\n a.pa = c;\n a.Jd = b;\n a.Yc = c + d;\n a.Zc = 4 <= d ? c + d - 4 + 1 : c;\n Qa(a);\n }\n function na(a, b) {\n for (var c = 0; 0 < b--; ) c |= K(a, 128) << b;\n return c;\n }\n function ca(a, b) {\n var c = na(a, b);\n return G(a) ? -c : c;\n }\n function cb(a, b, c, d) {\n var e,\n f = 0;\n x(null != a);\n x(null != b);\n x(4294967288 > d);\n a.Sb = d;\n a.Ra = 0;\n a.u = 0;\n a.h = 0;\n 4 < d && (d = 4);\n for (e = 0; e < d; ++e) f += b[c + e] << (8 * e);\n a.Ra = f;\n a.bb = d;\n a.oa = b;\n a.pa = c;\n }\n function Vb(a) {\n for (; 8 <= a.u && a.bb < a.Sb; )\n (a.Ra >>>= 8),\n (a.Ra += (a.oa[a.pa + a.bb] << (ob - 8)) >>> 0),\n ++a.bb,\n (a.u -= 8);\n db(a) && ((a.h = 1), (a.u = 0));\n }\n function D(a, b) {\n x(0 <= b);\n if (!a.h && b <= Gd) {\n var c = pb(a) & Hd[b];\n a.u += b;\n Vb(a);\n return c;\n }\n a.h = 1;\n return (a.u = 0);\n }\n function Wb() {\n this.b = this.Ca = this.I = 0;\n this.oa = [];\n this.pa = 0;\n this.Jd = [];\n this.Yc = 0;\n this.Zc = [];\n this.Ka = 0;\n }\n function Ra() {\n this.Ra = 0;\n this.oa = [];\n this.h = this.u = this.bb = this.Sb = this.pa = 0;\n }\n function pb(a) {\n return (a.Ra >>> (a.u & (ob - 1))) >>> 0;\n }\n function db(a) {\n x(a.bb <= a.Sb);\n return a.h || (a.bb == a.Sb && a.u > ob);\n }\n function qb(a, b) {\n a.u = b;\n a.h = db(a);\n }\n function Sa(a) {\n a.u >= Xb && (x(a.u >= Xb), Vb(a));\n }\n function Qa(a) {\n x(null != a && null != a.oa);\n a.pa < a.Zc\n ? ((a.I = (a.oa[a.pa++] | (a.I << 8)) >>> 0), (a.b += 8))\n : (x(null != a && null != a.oa),\n a.pa < a.Yc\n ? ((a.b += 8), (a.I = a.oa[a.pa++] | (a.I << 8)))\n : a.Ka\n ? (a.b = 0)\n : ((a.I <<= 8), (a.b += 8), (a.Ka = 1)));\n }\n function G(a) {\n return na(a, 1);\n }\n function K(a, b) {\n var c = a.Ca;\n 0 > a.b && Qa(a);\n var d = a.b,\n e = (c * b) >>> 8,\n f = (a.I >>> d > e) + 0;\n f ? ((c -= e), (a.I -= ((e + 1) << d) >>> 0)) : (c = e + 1);\n d = c;\n for (e = 0; 256 <= d; ) (e += 8), (d >>= 8);\n d = 7 ^ (e + Id[d]);\n a.b -= d;\n a.Ca = (c << d) - 1;\n return f;\n }\n function ra(a, b, c) {\n a[b + 0] = (c >> 24) & 255;\n a[b + 1] = (c >> 16) & 255;\n a[b + 2] = (c >> 8) & 255;\n a[b + 3] = (c >> 0) & 255;\n }\n function Ta(a, b) {\n return (a[b + 0] << 0) | (a[b + 1] << 8);\n }\n function Yb(a, b) {\n return Ta(a, b) | (a[b + 2] << 16);\n }\n function Ha(a, b) {\n return Ta(a, b) | (Ta(a, b + 2) << 16);\n }\n function Zb(a, b) {\n var c = 1 << b;\n x(null != a);\n x(0 < b);\n a.X = V(c);\n if (null == a.X) return 0;\n a.Mb = 32 - b;\n a.Xa = b;\n return 1;\n }\n function $b(a, b) {\n x(null != a);\n x(null != b);\n x(a.Xa == b.Xa);\n I(b.X, 0, a.X, 0, 1 << b.Xa);\n }\n function ac() {\n this.X = [];\n this.Xa = this.Mb = 0;\n }\n function bc(a, b, c, d) {\n x(null != c);\n x(null != d);\n var e = c[0],\n f = d[0];\n 0 == e && (e = (a * f + b / 2) / b);\n 0 == f && (f = (b * e + a / 2) / a);\n if (0 >= e || 0 >= f) return 0;\n c[0] = e;\n d[0] = f;\n return 1;\n }\n function xa(a, b) {\n return (a + (1 << b) - 1) >>> b;\n }\n function yb(a, b) {\n return (\n (((((a & 4278255360) + (b & 4278255360)) >>> 0) & 4278255360) +\n ((((a & 16711935) + (b & 16711935)) >>> 0) & 16711935)) >>>\n 0\n );\n }\n function X(a, b) {\n self[b] = function(b, d, e, f, g, h, k) {\n var c;\n for (c = 0; c < g; ++c) {\n var m = self[a](h[k + c - 1], e, f + c);\n h[k + c] = yb(b[d + c], m);\n }\n };\n }\n function Jd() {\n this.ud = this.hd = this.jd = 0;\n }\n function aa(a, b) {\n return ((((a ^ b) & 4278124286) >>> 1) + (a & b)) >>> 0;\n }\n function sa(a) {\n if (0 <= a && 256 > a) return a;\n if (0 > a) return 0;\n if (255 < a) return 255;\n }\n function eb(a, b) {\n return sa(a + ((a - b + 0.5) >> 1));\n }\n function Ia(a, b, c) {\n return Math.abs(b - c) - Math.abs(a - c);\n }\n function cc(a, b, c, d, e, f, g) {\n d = f[g - 1];\n for (c = 0; c < e; ++c) f[g + c] = d = yb(a[b + c], d);\n }\n function Kd(a, b, c, d, e) {\n var f;\n for (f = 0; f < c; ++f) {\n var g = a[b + f],\n h = (g >> 8) & 255,\n k = g & 16711935,\n k = k + ((h << 16) + h),\n k = k & 16711935;\n d[e + f] = ((g & 4278255360) + k) >>> 0;\n }\n }\n function dc(a, b) {\n b.jd = (a >> 0) & 255;\n b.hd = (a >> 8) & 255;\n b.ud = (a >> 16) & 255;\n }\n function Ld(a, b, c, d, e, f) {\n var g;\n for (g = 0; g < d; ++g) {\n var h = b[c + g],\n k = h >>> 8,\n l = h >>> 16,\n m = h,\n l = l + ((((a.jd << 24) >> 24) * ((k << 24) >> 24)) >>> 5),\n l = l & 255,\n m = m + ((((a.hd << 24) >> 24) * ((k << 24) >> 24)) >>> 5),\n m = m + ((((a.ud << 24) >> 24) * ((l << 24) >> 24)) >>> 5),\n m = m & 255;\n e[f + g] = (h & 4278255360) + (l << 16) + m;\n }\n }\n function ec(a, b, c, d, e) {\n self[b] = function(a, b, c, k, l, m, n, r, q) {\n for (k = n; k < r; ++k)\n for (n = 0; n < q; ++n) l[m++] = e(c[d(a[b++])]);\n };\n self[a] = function(a, b, h, k, l, m, n) {\n var f = 8 >> a.b,\n g = a.Ea,\n t = a.K[0],\n v = a.w;\n if (8 > f)\n for (a = (1 << a.b) - 1, v = (1 << f) - 1; b < h; ++b) {\n var p = 0,\n u;\n for (u = 0; u < g; ++u)\n u & a || (p = d(k[l++])), (m[n++] = e(t[p & v])), (p >>= f);\n }\n else self[\"VP8LMapColor\" + c](k, l, t, v, m, n, b, h, g);\n };\n }\n function Md(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 16) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 0) & 255;\n }\n }\n function Nd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 16) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 0) & 255;\n d[e++] = (f >> 24) & 255;\n }\n }\n function Od(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++],\n g = ((f >> 16) & 240) | ((f >> 12) & 15),\n f = ((f >> 0) & 240) | ((f >> 28) & 15);\n d[e++] = g;\n d[e++] = f;\n }\n }\n function Pd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++],\n g = ((f >> 16) & 248) | ((f >> 13) & 7),\n f = ((f >> 5) & 224) | ((f >> 3) & 31);\n d[e++] = g;\n d[e++] = f;\n }\n }\n function Qd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 0) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 16) & 255;\n }\n }\n function fb(a, b, c, d, e, f) {\n if (0 == f)\n for (c = b + c; b < c; )\n (f = a[b++]),\n ra(\n d,\n ((f[0] >> 24) |\n ((f[1] >> 8) & 65280) |\n ((f[2] << 8) & 16711680) |\n (f[3] << 24)) >>>\n 0\n ),\n (e += 32);\n else I(d, e, a, b, c);\n }\n function gb(a, b) {\n self[b][0] = self[a + \"0\"];\n self[b][1] = self[a + \"1\"];\n self[b][2] = self[a + \"2\"];\n self[b][3] = self[a + \"3\"];\n self[b][4] = self[a + \"4\"];\n self[b][5] = self[a + \"5\"];\n self[b][6] = self[a + \"6\"];\n self[b][7] = self[a + \"7\"];\n self[b][8] = self[a + \"8\"];\n self[b][9] = self[a + \"9\"];\n self[b][10] = self[a + \"10\"];\n self[b][11] = self[a + \"11\"];\n self[b][12] = self[a + \"12\"];\n self[b][13] = self[a + \"13\"];\n self[b][14] = self[a + \"0\"];\n self[b][15] = self[a + \"0\"];\n }\n function hb(a) {\n return a == zb || a == Ab || a == Ja || a == Bb;\n }\n function Rd() {\n this.eb = [];\n this.size = this.A = this.fb = 0;\n }\n function Sd() {\n this.y = [];\n this.f = [];\n this.ea = [];\n this.F = [];\n this.Tc = this.Ed = this.Cd = this.Fd = this.lb = this.Db = this.Ab = this.fa = this.J = this.W = this.N = this.O = 0;\n }\n function Cb() {\n this.Rd = this.height = this.width = this.S = 0;\n this.f = {};\n this.f.RGBA = new Rd();\n this.f.kb = new Sd();\n this.sd = null;\n }\n function Td() {\n this.width = [0];\n this.height = [0];\n this.Pd = [0];\n this.Qd = [0];\n this.format = [0];\n }\n function Ud() {\n this.Id = this.fd = this.Md = this.hb = this.ib = this.da = this.bd = this.cd = this.j = this.v = this.Da = this.Sd = this.ob = 0;\n }\n function Vd(a) {\n alert(\"todo:WebPSamplerProcessPlane\");\n return a.T;\n }\n function Wd(a, b) {\n var c = a.T,\n d = b.ba.f.RGBA,\n e = d.eb,\n f = d.fb + a.ka * d.A,\n g = P[b.ba.S],\n h = a.y,\n k = a.O,\n l = a.f,\n m = a.N,\n n = a.ea,\n r = a.W,\n q = b.cc,\n t = b.dc,\n v = b.Mc,\n p = b.Nc,\n u = a.ka,\n w = a.ka + a.T,\n y = a.U,\n A = (y + 1) >> 1;\n 0 == u\n ? g(h, k, null, null, l, m, n, r, l, m, n, r, e, f, null, null, y)\n : (g(b.ec, b.fc, h, k, q, t, v, p, l, m, n, r, e, f - d.A, e, f, y),\n ++c);\n for (; u + 2 < w; u += 2)\n (q = l),\n (t = m),\n (v = n),\n (p = r),\n (m += a.Rc),\n (r += a.Rc),\n (f += 2 * d.A),\n (k += 2 * a.fa),\n g(h, k - a.fa, h, k, q, t, v, p, l, m, n, r, e, f - d.A, e, f, y);\n k += a.fa;\n a.j + w < a.o\n ? (I(b.ec, b.fc, h, k, y),\n I(b.cc, b.dc, l, m, A),\n I(b.Mc, b.Nc, n, r, A),\n c--)\n : w & 1 ||\n g(\n h,\n k,\n null,\n null,\n l,\n m,\n n,\n r,\n l,\n m,\n n,\n r,\n e,\n f + d.A,\n null,\n null,\n y\n );\n return c;\n }\n function Xd(a, b, c) {\n var d = a.F,\n e = [a.J];\n if (null != d) {\n var f = a.U,\n g = b.ba.S,\n h = g == ya || g == Ja;\n b = b.ba.f.RGBA;\n var k = [0],\n l = a.ka;\n k[0] = a.T;\n a.Kb &&\n (0 == l ? --k[0] : (--l, (e[0] -= a.width)),\n a.j + a.ka + a.T == a.o && (k[0] = a.o - a.j - l));\n var m = b.eb,\n l = b.fb + l * b.A;\n a = fc(d, e[0], a.width, f, k, m, l + (h ? 0 : 3), b.A);\n x(c == k);\n a && hb(g) && za(m, l, h, f, k, b.A);\n }\n return 0;\n }\n function gc(a) {\n var b = a.ma,\n c = b.ba.S,\n d = 11 > c,\n e = c == Ua || c == Va || c == ya || c == Db || 12 == c || hb(c);\n b.memory = null;\n b.Ib = null;\n b.Jb = null;\n b.Nd = null;\n if (!hc(b.Oa, a, e ? 11 : 12)) return 0;\n e && hb(c) && ic();\n if (a.da) alert(\"todo:use_scaling\");\n else {\n if (d) {\n if (((b.Ib = Vd), a.Kb)) {\n c = (a.U + 1) >> 1;\n b.memory = V(a.U + 2 * c);\n if (null == b.memory) return 0;\n b.ec = b.memory;\n b.fc = 0;\n b.cc = b.ec;\n b.dc = b.fc + a.U;\n b.Mc = b.cc;\n b.Nc = b.dc + c;\n b.Ib = Wd;\n ic();\n }\n } else alert(\"todo:EmitYUV\");\n e && ((b.Jb = Xd), d && Aa());\n }\n if (d && !jc) {\n for (a = 0; 256 > a; ++a)\n (Yd[a] = (89858 * (a - 128) + Ba) >> Wa),\n (Zd[a] = -22014 * (a - 128) + Ba),\n ($d[a] = -45773 * (a - 128)),\n (ae[a] = (113618 * (a - 128) + Ba) >> Wa);\n for (a = ta; a < Eb; ++a)\n (b = (76283 * (a - 16) + Ba) >> Wa),\n (be[a - ta] = ga(b, 255)),\n (ce[a - ta] = ga((b + 8) >> 4, 15));\n jc = 1;\n }\n return 1;\n }\n function kc(a) {\n var b = a.ma,\n c = a.U,\n d = a.T;\n x(!(a.ka & 1));\n if (0 >= c || 0 >= d) return 0;\n c = b.Ib(a, b);\n null != b.Jb && b.Jb(a, b, c);\n b.Dc += c;\n return 1;\n }\n function lc(a) {\n a.ma.memory = null;\n }\n function mc(a, b, c, d) {\n if (47 != D(a, 8)) return 0;\n b[0] = D(a, 14) + 1;\n c[0] = D(a, 14) + 1;\n d[0] = D(a, 1);\n return 0 != D(a, 3) ? 0 : !a.h;\n }\n function ib(a, b) {\n if (4 > a) return a + 1;\n var c = (a - 2) >> 1;\n return ((2 + (a & 1)) << c) + D(b, c) + 1;\n }\n function nc(a, b) {\n if (120 < b) return b - 120;\n var c = de[b - 1],\n c = (c >> 4) * a + (8 - (c & 15));\n return 1 <= c ? c : 1;\n }\n function ua(a, b, c) {\n var d = pb(c);\n b += d & 255;\n var e = a[b].g - 8;\n 0 < e &&\n (qb(c, c.u + 8),\n (d = pb(c)),\n (b += a[b].value),\n (b += d & ((1 << e) - 1)));\n qb(c, c.u + a[b].g);\n return a[b].value;\n }\n function ub(a, b, c) {\n c.g += a.g;\n c.value += (a.value << b) >>> 0;\n x(8 >= c.g);\n return a.g;\n }\n function ha(a, b, c) {\n var d = a.xc;\n b = 0 == d ? 0 : a.vc[a.md * (c >> d) + (b >> d)];\n x(b < a.Wb);\n return a.Ya[b];\n }\n function oc(a, b, c, d) {\n var e = a.ab,\n f = a.c * b,\n g = a.C;\n b = g + b;\n var h = c,\n k = d;\n d = a.Ta;\n for (c = a.Ua; 0 < e--; ) {\n var l = a.gc[e],\n m = g,\n n = b,\n r = h,\n q = k,\n k = d,\n h = c,\n t = l.Ea;\n x(m < n);\n x(n <= l.nc);\n switch (l.hc) {\n case 2:\n pc(r, q, (n - m) * t, k, h);\n break;\n case 0:\n var v = l,\n p = m,\n u = n,\n w = k,\n y = h,\n A = v.Ea;\n 0 == p &&\n (ee(r, q, null, null, 1, w, y),\n cc(r, q + 1, 0, 0, A - 1, w, y + 1),\n (q += A),\n (y += A),\n ++p);\n for (\n var E = 1 << v.b,\n B = E - 1,\n C = xa(A, v.b),\n N = v.K,\n v = v.w + (p >> v.b) * C;\n p < u;\n\n ) {\n var z = N,\n Q = v,\n S = 1;\n for (fe(r, q, w, y - A, 1, w, y); S < A; ) {\n var K = qc[(z[Q++] >> 8) & 15],\n D = (S & ~B) + E;\n D > A && (D = A);\n K(r, q + +S, w, y + S - A, D - S, w, y + S);\n S = D;\n }\n q += A;\n y += A;\n ++p;\n p & B || (v += C);\n }\n n != l.nc && I(k, h - t, k, h + (n - m - 1) * t, t);\n break;\n case 1:\n t = r;\n u = q;\n r = l.Ea;\n q = 1 << l.b;\n w = q - 1;\n y = r & ~w;\n A = r - y;\n p = xa(r, l.b);\n E = l.K;\n for (l = l.w + (m >> l.b) * p; m < n; ) {\n B = E;\n C = l;\n N = new Jd();\n v = u + y;\n for (z = u + r; u < v; )\n dc(B[C++], N), Fb(N, t, u, q, k, h), (u += q), (h += q);\n u < z &&\n (dc(B[C++], N), Fb(N, t, u, A, k, h), (u += A), (h += A));\n ++m;\n m & w || (l += p);\n }\n break;\n case 3:\n if (r == k && q == h && 0 < l.b) {\n y = (n - m) * xa(l.Ea, l.b);\n t = h + (n - m) * t - y;\n u = k;\n r = t;\n q = k;\n w = h;\n A = y;\n p = [];\n for (y = A - 1; 0 <= y; --y) p[y] = q[w + y];\n for (y = A - 1; 0 <= y; --y) u[r + y] = p[y];\n rc(l, m, n, k, t, k, h);\n } else rc(l, m, n, r, q, k, h);\n }\n h = d;\n k = c;\n }\n k != c && I(d, c, h, k, f);\n }\n function ge(a, b) {\n var c = a.V,\n d = a.Ba + a.c * a.C,\n e = b - a.C;\n x(b <= a.l.o);\n x(16 >= e);\n if (0 < e) {\n var f = a.l,\n g = a.Ta,\n h = a.Ua,\n k = f.width;\n oc(a, e, c, d);\n h = [h];\n c = a.C;\n d = b;\n e = h;\n x(c < d);\n x(f.v < f.va);\n d > f.o && (d = f.o);\n if (c < f.j) {\n var l = f.j - c,\n c = f.j;\n e[0] += l * k;\n }\n c >= d\n ? (c = 0)\n : ((e[0] += 4 * f.v),\n (f.ka = c - f.j),\n (f.U = f.va - f.v),\n (f.T = d - c),\n (c = 1));\n if (c) {\n h = h[0];\n c = a.ca;\n if (11 > c.S) {\n for (\n var m = c.f.RGBA,\n d = c.S,\n e = f.U,\n f = f.T,\n l = m.eb,\n n = m.A,\n r = f,\n m = m.fb + a.Ma * m.A;\n 0 < r--;\n\n ) {\n var q = g,\n t = h,\n v = e,\n p = l,\n u = m;\n switch (d) {\n case Ca:\n sc(q, t, v, p, u);\n break;\n case Ua:\n Gb(q, t, v, p, u);\n break;\n case zb:\n Gb(q, t, v, p, u);\n za(p, u, 0, v, 1, 0);\n break;\n case tc:\n uc(q, t, v, p, u);\n break;\n case Va:\n fb(q, t, v, p, u, 1);\n break;\n case Ab:\n fb(q, t, v, p, u, 1);\n za(p, u, 0, v, 1, 0);\n break;\n case ya:\n fb(q, t, v, p, u, 0);\n break;\n case Ja:\n fb(q, t, v, p, u, 0);\n za(p, u, 1, v, 1, 0);\n break;\n case Db:\n Hb(q, t, v, p, u);\n break;\n case Bb:\n Hb(q, t, v, p, u);\n vc(p, u, v, 1, 0);\n break;\n case wc:\n xc(q, t, v, p, u);\n break;\n default:\n x(0);\n }\n h += k;\n m += n;\n }\n a.Ma += f;\n } else alert(\"todo:EmitRescaledRowsYUVA\");\n x(a.Ma <= c.height);\n }\n }\n a.C = b;\n x(a.C <= a.i);\n }\n function yc(a) {\n var b;\n if (0 < a.ua) return 0;\n for (b = 0; b < a.Wb; ++b) {\n var c = a.Ya[b].G,\n d = a.Ya[b].H;\n if (\n 0 < c[1][d[1] + 0].g ||\n 0 < c[2][d[2] + 0].g ||\n 0 < c[3][d[3] + 0].g\n )\n return 0;\n }\n return 1;\n }\n function zc(a, b, c, d, e, f) {\n if (0 != a.Z) {\n var g = a.qd,\n h = a.rd;\n for (x(null != ia[a.Z]); b < c; ++b)\n ia[a.Z](g, h, d, e, d, e, f), (g = d), (h = e), (e += f);\n a.qd = g;\n a.rd = h;\n }\n }\n function Ib(a, b) {\n var c = a.l.ma,\n d = 0 == c.Z || 1 == c.Z ? a.l.j : a.C,\n d = a.C < d ? d : a.C;\n x(b <= a.l.o);\n if (b > d) {\n var e = a.l.width,\n f = c.ca,\n g = c.tb + e * d,\n h = a.V,\n k = a.Ba + a.c * d,\n l = a.gc;\n x(1 == a.ab);\n x(3 == l[0].hc);\n he(l[0], d, b, h, k, f, g);\n zc(c, d, b, f, g, e);\n }\n a.C = a.Ma = b;\n }\n function Jb(a, b, c, d, e, f, g) {\n var h = a.$ / d,\n k = a.$ % d,\n l = a.m,\n m = a.s,\n n = c + a.$,\n r = n;\n e = c + d * e;\n var q = c + d * f,\n t = 280 + m.ua,\n v = a.Pb ? h : 16777216,\n p = 0 < m.ua ? m.Wa : null,\n u = m.wc,\n w = n < q ? ha(m, k, h) : null;\n x(a.C < f);\n x(q <= e);\n var y = !1;\n a: for (;;) {\n for (; y || n < q; ) {\n var A = 0;\n if (h >= v) {\n var v = a,\n E = n - c;\n x(v.Pb);\n v.wd = v.m;\n v.xd = E;\n 0 < v.s.ua && $b(v.s.Wa, v.s.vb);\n v = h + ie;\n }\n k & u || (w = ha(m, k, h));\n x(null != w);\n w.Qb && ((b[n] = w.qb), (y = !0));\n if (!y)\n if ((Sa(l), w.jc)) {\n var A = l,\n E = b,\n B = n,\n C = w.pd[pb(A) & (xb - 1)];\n x(w.jc);\n 256 > C.g\n ? (qb(A, A.u + C.g), (E[B] = C.value), (A = 0))\n : (qb(A, A.u + C.g - 256), x(256 <= C.value), (A = C.value));\n 0 == A && (y = !0);\n } else A = ua(w.G[0], w.H[0], l);\n if (l.h) break;\n if (y || 256 > A) {\n if (!y)\n if (w.nd) b[n] = (w.qb | (A << 8)) >>> 0;\n else {\n Sa(l);\n y = ua(w.G[1], w.H[1], l);\n Sa(l);\n E = ua(w.G[2], w.H[2], l);\n B = ua(w.G[3], w.H[3], l);\n if (l.h) break;\n b[n] = ((B << 24) | (y << 16) | (A << 8) | E) >>> 0;\n }\n y = !1;\n ++n;\n ++k;\n if (\n k >= d &&\n ((k = 0),\n ++h,\n null != g && h <= f && !(h % 16) && g(a, h),\n null != p)\n )\n for (; r < n; )\n (A = b[r++]),\n (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n } else if (280 > A) {\n A = ib(A - 256, l);\n E = ua(w.G[4], w.H[4], l);\n Sa(l);\n E = ib(E, l);\n E = nc(d, E);\n if (l.h) break;\n if (n - c < E || e - n < A) break a;\n else for (B = 0; B < A; ++B) b[n + B] = b[n + B - E];\n n += A;\n for (k += A; k >= d; )\n (k -= d), ++h, null != g && h <= f && !(h % 16) && g(a, h);\n x(n <= e);\n k & u && (w = ha(m, k, h));\n if (null != p)\n for (; r < n; )\n (A = b[r++]),\n (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n } else if (A < t) {\n y = A - 280;\n for (x(null != p); r < n; )\n (A = b[r++]), (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n A = n;\n E = p;\n x(!(y >>> E.Xa));\n b[A] = E.X[y];\n y = !0;\n } else break a;\n y || x(l.h == db(l));\n }\n if (a.Pb && l.h && n < e)\n x(a.m.h),\n (a.a = 5),\n (a.m = a.wd),\n (a.$ = a.xd),\n 0 < a.s.ua && $b(a.s.vb, a.s.Wa);\n else if (l.h) break a;\n else null != g && g(a, h > f ? f : h), (a.a = 0), (a.$ = n - c);\n return 1;\n }\n a.a = 3;\n return 0;\n }\n function Ac(a) {\n x(null != a);\n a.vc = null;\n a.yc = null;\n a.Ya = null;\n var b = a.Wa;\n null != b && (b.X = null);\n a.vb = null;\n x(null != a);\n }\n function Bc() {\n var a = new je();\n if (null == a) return null;\n a.a = 0;\n a.xb = Cc;\n gb(\"Predictor\", \"VP8LPredictors\");\n gb(\"Predictor\", \"VP8LPredictors_C\");\n gb(\"PredictorAdd\", \"VP8LPredictorsAdd\");\n gb(\"PredictorAdd\", \"VP8LPredictorsAdd_C\");\n pc = Kd;\n Fb = Ld;\n sc = Md;\n Gb = Nd;\n Hb = Od;\n xc = Pd;\n uc = Qd;\n self.VP8LMapColor32b = ke;\n self.VP8LMapColor8b = le;\n return a;\n }\n function rb(a, b, c, d, e) {\n var f = 1,\n g = [a],\n h = [b],\n k = d.m,\n l = d.s,\n m = null,\n n = 0;\n a: for (;;) {\n if (c)\n for (; f && D(k, 1); ) {\n var r = g,\n q = h,\n t = d,\n v = 1,\n p = t.m,\n u = t.gc[t.ab],\n w = D(p, 2);\n if (t.Oc & (1 << w)) f = 0;\n else {\n t.Oc |= 1 << w;\n u.hc = w;\n u.Ea = r[0];\n u.nc = q[0];\n u.K = [null];\n ++t.ab;\n x(4 >= t.ab);\n switch (w) {\n case 0:\n case 1:\n u.b = D(p, 3) + 2;\n v = rb(xa(u.Ea, u.b), xa(u.nc, u.b), 0, t, u.K);\n u.K = u.K[0];\n break;\n case 3:\n var y = D(p, 8) + 1,\n A = 16 < y ? 0 : 4 < y ? 1 : 2 < y ? 2 : 3;\n r[0] = xa(u.Ea, A);\n u.b = A;\n var v = rb(y, 1, 0, t, u.K),\n E;\n if ((E = v)) {\n var B,\n C = y,\n N = u,\n z = 1 << (8 >> N.b),\n Q = V(z);\n if (null == Q) E = 0;\n else {\n var S = N.K[0],\n K = N.w;\n Q[0] = N.K[0][0];\n for (B = 1; B < 1 * C; ++B) Q[B] = yb(S[K + B], Q[B - 1]);\n for (; B < 4 * z; ++B) Q[B] = 0;\n N.K[0] = null;\n N.K[0] = Q;\n E = 1;\n }\n }\n v = E;\n break;\n case 2:\n break;\n default:\n x(0);\n }\n f = v;\n }\n }\n g = g[0];\n h = h[0];\n if (f && D(k, 1) && ((n = D(k, 4)), (f = 1 <= n && 11 >= n), !f)) {\n d.a = 3;\n break a;\n }\n var H;\n if ((H = f))\n b: {\n var F = d,\n G = g,\n L = h,\n J = n,\n T = c,\n Da,\n ba,\n X = F.m,\n R = F.s,\n P = [null],\n U,\n W = 1,\n aa = 0,\n na = me[J];\n c: for (;;) {\n if (T && D(X, 1)) {\n var ca = D(X, 3) + 2,\n ga = xa(G, ca),\n ka = xa(L, ca),\n qa = ga * ka;\n if (!rb(ga, ka, 0, F, P)) break c;\n P = P[0];\n R.xc = ca;\n for (Da = 0; Da < qa; ++Da) {\n var ia = (P[Da] >> 8) & 65535;\n P[Da] = ia;\n ia >= W && (W = ia + 1);\n }\n }\n if (X.h) break c;\n for (ba = 0; 5 > ba; ++ba) {\n var Y = Dc[ba];\n !ba && 0 < J && (Y += 1 << J);\n aa < Y && (aa = Y);\n }\n var ma = wa(W * na, O);\n var ua = W,\n va = wa(ua, Ub);\n if (null == va) var la = null;\n else x(65536 >= ua), (la = va);\n var ha = V(aa);\n if (null == la || null == ha || null == ma) {\n F.a = 1;\n break c;\n }\n var pa = ma;\n for (Da = U = 0; Da < W; ++Da) {\n var ja = la[Da],\n da = ja.G,\n ea = ja.H,\n Fa = 0,\n ra = 1,\n Ha = 0;\n for (ba = 0; 5 > ba; ++ba) {\n Y = Dc[ba];\n da[ba] = pa;\n ea[ba] = U;\n !ba && 0 < J && (Y += 1 << J);\n d: {\n var sa,\n za = Y,\n ta = F,\n oa = ha,\n db = pa,\n eb = U,\n Ia = 0,\n Ka = ta.m,\n fb = D(Ka, 1);\n M(oa, 0, 0, za);\n if (fb) {\n var gb = D(Ka, 1) + 1,\n hb = D(Ka, 1),\n Ja = D(Ka, 0 == hb ? 1 : 8);\n oa[Ja] = 1;\n 2 == gb && ((Ja = D(Ka, 8)), (oa[Ja] = 1));\n var ya = 1;\n } else {\n var Ua = V(19),\n Va = D(Ka, 4) + 4;\n if (19 < Va) {\n ta.a = 3;\n var Aa = 0;\n break d;\n }\n for (sa = 0; sa < Va; ++sa) Ua[ne[sa]] = D(Ka, 3);\n var Ba = void 0,\n sb = void 0,\n Wa = ta,\n ib = Ua,\n Ca = za,\n Xa = oa,\n Oa = 0,\n La = Wa.m,\n Ya = 8,\n Za = wa(128, O);\n e: for (;;) {\n if (!Z(Za, 0, 7, ib, 19)) break e;\n if (D(La, 1)) {\n var kb = 2 + 2 * D(La, 3),\n Ba = 2 + D(La, kb);\n if (Ba > Ca) break e;\n } else Ba = Ca;\n for (sb = 0; sb < Ca && Ba--; ) {\n Sa(La);\n var $a = Za[0 + (pb(La) & 127)];\n qb(La, La.u + $a.g);\n var jb = $a.value;\n if (16 > jb) (Xa[sb++] = jb), 0 != jb && (Ya = jb);\n else {\n var lb = 16 == jb,\n ab = jb - 16,\n mb = oe[ab],\n bb = D(La, pe[ab]) + mb;\n if (sb + bb > Ca) break e;\n else\n for (var nb = lb ? Ya : 0; 0 < bb--; )\n Xa[sb++] = nb;\n }\n }\n Oa = 1;\n break e;\n }\n Oa || (Wa.a = 3);\n ya = Oa;\n }\n (ya = ya && !Ka.h) && (Ia = Z(db, eb, 8, oa, za));\n ya && 0 != Ia ? (Aa = Ia) : ((ta.a = 3), (Aa = 0));\n }\n if (0 == Aa) break c;\n ra && 1 == qe[ba] && (ra = 0 == pa[U].g);\n Fa += pa[U].g;\n U += Aa;\n if (3 >= ba) {\n var Pa = ha[0],\n tb;\n for (tb = 1; tb < Y; ++tb) ha[tb] > Pa && (Pa = ha[tb]);\n Ha += Pa;\n }\n }\n ja.nd = ra;\n ja.Qb = 0;\n ra &&\n ((ja.qb =\n ((da[3][ea[3] + 0].value << 24) |\n (da[1][ea[1] + 0].value << 16) |\n da[2][ea[2] + 0].value) >>>\n 0),\n 0 == Fa &&\n 256 > da[0][ea[0] + 0].value &&\n ((ja.Qb = 1), (ja.qb += da[0][ea[0] + 0].value << 8)));\n ja.jc = !ja.Qb && 6 > Ha;\n if (ja.jc) {\n var Ga,\n Ea = ja;\n for (Ga = 0; Ga < xb; ++Ga) {\n var Ma = Ga,\n Na = Ea.pd[Ma],\n vb = Ea.G[0][Ea.H[0] + Ma];\n 256 <= vb.value\n ? ((Na.g = vb.g + 256), (Na.value = vb.value))\n : ((Na.g = 0),\n (Na.value = 0),\n (Ma >>= ub(vb, 8, Na)),\n (Ma >>= ub(Ea.G[1][Ea.H[1] + Ma], 16, Na)),\n (Ma >>= ub(Ea.G[2][Ea.H[2] + Ma], 0, Na)),\n ub(Ea.G[3][Ea.H[3] + Ma], 24, Na));\n }\n }\n }\n R.vc = P;\n R.Wb = W;\n R.Ya = la;\n R.yc = ma;\n H = 1;\n break b;\n }\n H = 0;\n }\n f = H;\n if (!f) {\n d.a = 3;\n break a;\n }\n if (0 < n) {\n if (((l.ua = 1 << n), !Zb(l.Wa, n))) {\n d.a = 1;\n f = 0;\n break a;\n }\n } else l.ua = 0;\n var Qa = d,\n cb = g,\n ob = h,\n Ra = Qa.s,\n Ta = Ra.xc;\n Qa.c = cb;\n Qa.i = ob;\n Ra.md = xa(cb, Ta);\n Ra.wc = 0 == Ta ? -1 : (1 << Ta) - 1;\n if (c) {\n d.xb = re;\n break a;\n }\n m = V(g * h);\n if (null == m) {\n d.a = 1;\n f = 0;\n break a;\n }\n f = (f = Jb(d, m, 0, g, h, h, null)) && !k.h;\n break a;\n }\n f\n ? (null != e ? (e[0] = m) : (x(null == m), x(c)), (d.$ = 0), c || Ac(l))\n : Ac(l);\n return f;\n }\n function Ec(a, b) {\n var c = a.c * a.i,\n d = c + b + 16 * b;\n x(a.c <= b);\n a.V = V(d);\n if (null == a.V) return (a.Ta = null), (a.Ua = 0), (a.a = 1), 0;\n a.Ta = a.V;\n a.Ua = a.Ba + c + b;\n return 1;\n }\n function se(a, b) {\n var c = a.C,\n d = b - c,\n e = a.V,\n f = a.Ba + a.c * c;\n for (x(b <= a.l.o); 0 < d; ) {\n var g = 16 < d ? 16 : d,\n h = a.l.ma,\n k = a.l.width,\n l = k * g,\n m = h.ca,\n n = h.tb + k * c,\n r = a.Ta,\n q = a.Ua;\n oc(a, g, e, f);\n Fc(r, q, m, n, l);\n zc(h, c, c + g, m, n, k);\n d -= g;\n e += g * a.c;\n c += g;\n }\n x(c == b);\n a.C = a.Ma = b;\n }\n function te(a, b) {\n var c = [0],\n d = [0],\n e = [0];\n a: for (;;) {\n if (null == a) return 0;\n if (null == b) return (a.a = 2), 0;\n a.l = b;\n a.a = 0;\n cb(a.m, b.data, b.w, b.ha);\n if (!mc(a.m, c, d, e)) {\n a.a = 3;\n break a;\n }\n a.xb = Cc;\n b.width = c[0];\n b.height = d[0];\n if (!rb(c[0], d[0], 1, a, null)) break a;\n return 1;\n }\n x(0 != a.a);\n return 0;\n }\n function ue() {\n this.ub = this.yd = this.td = this.Rb = 0;\n }\n function ve() {\n this.Kd = this.Ld = this.Ud = this.Td = this.i = this.c = 0;\n }\n function we() {\n this.Fb = this.Bb = this.Cb = 0;\n this.Zb = V(4);\n this.Lb = V(4);\n }\n function Gc() {\n this.Yb = wb();\n }\n function xe() {\n this.jb = V(3);\n this.Wc = Ed([4, 8], Gc);\n this.Xc = Ed([4, 17], Gc);\n }\n function ye() {\n this.Pc = this.wb = this.Tb = this.zd = 0;\n this.vd = new V(4);\n this.od = new V(4);\n }\n function Xa() {\n this.ld = this.La = this.dd = this.tc = 0;\n }\n function Hc() {\n this.Na = this.la = 0;\n }\n function ze() {\n this.Sc = [0, 0];\n this.Eb = [0, 0];\n this.Qc = [0, 0];\n this.ia = this.lc = 0;\n }\n function Kb() {\n this.ad = V(384);\n this.Za = 0;\n this.Ob = V(16);\n this.$b = this.Ad = this.ia = this.Gc = this.Hc = this.Dd = 0;\n }\n function Ae() {\n this.uc = this.M = this.Nb = 0;\n this.wa = Array(new Xa());\n this.Y = 0;\n this.ya = Array(new Kb());\n this.aa = 0;\n this.l = new Oa();\n }\n function Ic() {\n this.y = V(16);\n this.f = V(8);\n this.ea = V(8);\n }\n function Be() {\n this.cb = this.a = 0;\n this.sc = \"\";\n this.m = new Wb();\n this.Od = new ue();\n this.Kc = new ve();\n this.ed = new ye();\n this.Qa = new we();\n this.Ic = this.$c = this.Aa = 0;\n this.D = new Ae();\n this.Xb = this.Va = this.Hb = this.zb = this.yb = this.Ub = this.za = 0;\n this.Jc = wa(8, Wb);\n this.ia = 0;\n new F();\n this.pb = wa(4, ze);\n this.Pa = new xe();\n this.Bd = this.kc = 0;\n this.Ac = [];\n this.Bc = 0;\n this.zc = [0, 0, 0, 0];\n this.Gd = Array(new Ic());\n this.Hd = 0;\n this.rb = Array(new Hc());\n this.sb = 0;\n this.wa = Array(new Xa());\n this.Y = 0;\n this.oc = [];\n this.pc = 0;\n this.sa = [];\n this.ta = 0;\n this.qa = [];\n this.ra = 0;\n this.Ha = [];\n this.B = this.R = this.Ia = 0;\n this.Ec = [];\n this.M = this.ja = this.Vb = this.Fc = 0;\n this.ya = Array(new Kb());\n this.L = this.aa = 0;\n this.gd = Ed([4, 2], Xa);\n this.ga = null;\n this.Fa = [];\n this.Cc = this.qc = this.P = 0;\n this.Gb = [];\n this.Uc = 0;\n this.mb = [];\n this.nb = 0;\n this.rc = [];\n this.Ga = this.Vc = 0;\n }\n function ga(a, b) {\n return 0 > a ? 0 : a > b ? b : a;\n }\n function Oa() {\n this.T = this.U = this.ka = this.height = this.width = 0;\n this.y = [];\n this.f = [];\n this.ea = [];\n this.Rc = this.fa = this.W = this.N = this.O = 0;\n this.ma = \"void\";\n this.put = \"VP8IoPutHook\";\n this.ac = \"VP8IoSetupHook\";\n this.bc = \"VP8IoTeardownHook\";\n this.ha = this.Kb = 0;\n this.data = [];\n this.hb = this.ib = this.da = this.o = this.j = this.va = this.v = this.Da = this.ob = this.w = 0;\n this.F = [];\n this.J = 0;\n }\n function Ce() {\n var a = new Be();\n null != a &&\n ((a.a = 0), (a.sc = \"OK\"), (a.cb = 0), (a.Xb = 0), oa || (oa = De));\n return a;\n }\n function T(a, b, c) {\n 0 == a.a && ((a.a = b), (a.sc = c), (a.cb = 0));\n return 0;\n }\n function Jc(a, b, c) {\n return 3 <= c && 157 == a[b + 0] && 1 == a[b + 1] && 42 == a[b + 2];\n }\n function Kc(a, b) {\n if (null == a) return 0;\n a.a = 0;\n a.sc = \"OK\";\n if (null == b) return T(a, 2, \"null VP8Io passed to VP8GetHeaders()\");\n var c = b.data;\n var d = b.w;\n var e = b.ha;\n if (4 > e) return T(a, 7, \"Truncated header.\");\n var f = c[d + 0] | (c[d + 1] << 8) | (c[d + 2] << 16);\n var g = a.Od;\n g.Rb = !(f & 1);\n g.td = (f >> 1) & 7;\n g.yd = (f >> 4) & 1;\n g.ub = f >> 5;\n if (3 < g.td) return T(a, 3, \"Incorrect keyframe parameters.\");\n if (!g.yd) return T(a, 4, \"Frame not displayable.\");\n d += 3;\n e -= 3;\n var h = a.Kc;\n if (g.Rb) {\n if (7 > e) return T(a, 7, \"cannot parse picture header\");\n if (!Jc(c, d, e)) return T(a, 3, \"Bad code word\");\n h.c = ((c[d + 4] << 8) | c[d + 3]) & 16383;\n h.Td = c[d + 4] >> 6;\n h.i = ((c[d + 6] << 8) | c[d + 5]) & 16383;\n h.Ud = c[d + 6] >> 6;\n d += 7;\n e -= 7;\n a.za = (h.c + 15) >> 4;\n a.Ub = (h.i + 15) >> 4;\n b.width = h.c;\n b.height = h.i;\n b.Da = 0;\n b.j = 0;\n b.v = 0;\n b.va = b.width;\n b.o = b.height;\n b.da = 0;\n b.ib = b.width;\n b.hb = b.height;\n b.U = b.width;\n b.T = b.height;\n f = a.Pa;\n M(f.jb, 0, 255, f.jb.length);\n f = a.Qa;\n x(null != f);\n f.Cb = 0;\n f.Bb = 0;\n f.Fb = 1;\n M(f.Zb, 0, 0, f.Zb.length);\n M(f.Lb, 0, 0, f.Lb);\n }\n if (g.ub > e) return T(a, 7, \"bad partition length\");\n f = a.m;\n ma(f, c, d, g.ub);\n d += g.ub;\n e -= g.ub;\n g.Rb && ((h.Ld = G(f)), (h.Kd = G(f)));\n h = a.Qa;\n var k = a.Pa,\n l;\n x(null != f);\n x(null != h);\n h.Cb = G(f);\n if (h.Cb) {\n h.Bb = G(f);\n if (G(f)) {\n h.Fb = G(f);\n for (l = 0; 4 > l; ++l) h.Zb[l] = G(f) ? ca(f, 7) : 0;\n for (l = 0; 4 > l; ++l) h.Lb[l] = G(f) ? ca(f, 6) : 0;\n }\n if (h.Bb) for (l = 0; 3 > l; ++l) k.jb[l] = G(f) ? na(f, 8) : 255;\n } else h.Bb = 0;\n if (f.Ka) return T(a, 3, \"cannot parse segment header\");\n h = a.ed;\n h.zd = G(f);\n h.Tb = na(f, 6);\n h.wb = na(f, 3);\n h.Pc = G(f);\n if (h.Pc && G(f)) {\n for (k = 0; 4 > k; ++k) G(f) && (h.vd[k] = ca(f, 6));\n for (k = 0; 4 > k; ++k) G(f) && (h.od[k] = ca(f, 6));\n }\n a.L = 0 == h.Tb ? 0 : h.zd ? 1 : 2;\n if (f.Ka) return T(a, 3, \"cannot parse filter header\");\n l = d;\n var m = e;\n e = l;\n d = l + m;\n h = m;\n a.Xb = (1 << na(a.m, 2)) - 1;\n k = a.Xb;\n if (m < 3 * k) c = 7;\n else {\n l += 3 * k;\n h -= 3 * k;\n for (m = 0; m < k; ++m) {\n var n = c[e + 0] | (c[e + 1] << 8) | (c[e + 2] << 16);\n n > h && (n = h);\n ma(a.Jc[+m], c, l, n);\n l += n;\n h -= n;\n e += 3;\n }\n ma(a.Jc[+k], c, l, h);\n c = l < d ? 0 : 5;\n }\n if (0 != c) return T(a, c, \"cannot parse partitions\");\n l = a.m;\n c = na(l, 7);\n e = G(l) ? ca(l, 4) : 0;\n d = G(l) ? ca(l, 4) : 0;\n h = G(l) ? ca(l, 4) : 0;\n k = G(l) ? ca(l, 4) : 0;\n l = G(l) ? ca(l, 4) : 0;\n m = a.Qa;\n for (n = 0; 4 > n; ++n) {\n if (m.Cb) {\n var r = m.Zb[n];\n m.Fb || (r += c);\n } else if (0 < n) {\n a.pb[n] = a.pb[0];\n continue;\n } else r = c;\n var q = a.pb[n];\n q.Sc[0] = Lb[ga(r + e, 127)];\n q.Sc[1] = Mb[ga(r + 0, 127)];\n q.Eb[0] = 2 * Lb[ga(r + d, 127)];\n q.Eb[1] = (101581 * Mb[ga(r + h, 127)]) >> 16;\n 8 > q.Eb[1] && (q.Eb[1] = 8);\n q.Qc[0] = Lb[ga(r + k, 117)];\n q.Qc[1] = Mb[ga(r + l, 127)];\n q.lc = r + l;\n }\n if (!g.Rb) return T(a, 4, \"Not a key frame.\");\n G(f);\n g = a.Pa;\n for (c = 0; 4 > c; ++c) {\n for (e = 0; 8 > e; ++e)\n for (d = 0; 3 > d; ++d)\n for (h = 0; 11 > h; ++h)\n (k = K(f, Ee[c][e][d][h]) ? na(f, 8) : Fe[c][e][d][h]),\n (g.Wc[c][e].Yb[d][h] = k);\n for (e = 0; 17 > e; ++e) g.Xc[c][e] = g.Wc[c][Ge[e]];\n }\n a.kc = G(f);\n a.kc && (a.Bd = na(f, 8));\n return (a.cb = 1);\n }\n function De(a, b, c, d, e, f, g) {\n var h = b[e].Yb[c];\n for (c = 0; 16 > e; ++e) {\n if (!K(a, h[c + 0])) return e;\n for (; !K(a, h[c + 1]); )\n if (((h = b[++e].Yb[0]), (c = 0), 16 == e)) return 16;\n var k = b[e + 1].Yb;\n if (K(a, h[c + 2])) {\n var l = a,\n m = h,\n n = c;\n var r = 0;\n if (K(l, m[n + 3]))\n if (K(l, m[n + 6])) {\n h = 0;\n r = K(l, m[n + 8]);\n m = K(l, m[n + 9 + r]);\n n = 2 * r + m;\n r = 0;\n for (m = He[n]; m[h]; ++h) r += r + K(l, m[h]);\n r += 3 + (8 << n);\n } else\n K(l, m[n + 7])\n ? ((r = 7 + 2 * K(l, 165)), (r += K(l, 145)))\n : (r = 5 + K(l, 159));\n else K(l, m[n + 4]) ? (r = 3 + K(l, m[n + 5])) : (r = 2);\n h = k[2];\n } else (r = 1), (h = k[1]);\n k = g + Ie[e];\n l = a;\n 0 > l.b && Qa(l);\n var m = l.b,\n n = l.Ca >> 1,\n q = (n - (l.I >> m)) >> 31;\n --l.b;\n l.Ca += q;\n l.Ca |= 1;\n l.I -= ((n + 1) & q) << m;\n f[k] = ((r ^ q) - q) * d[(0 < e) + 0];\n }\n return 16;\n }\n function Lc(a) {\n var b = a.rb[a.sb - 1];\n b.la = 0;\n b.Na = 0;\n M(a.zc, 0, 0, a.zc.length);\n a.ja = 0;\n }\n function Je(a, b) {\n for (a.M = 0; a.M < a.Va; ++a.M) {\n var c = a.Jc[a.M & a.Xb],\n d = a.m,\n e = a,\n f;\n for (f = 0; f < e.za; ++f) {\n var g = d;\n var h = e;\n var k = h.Ac,\n l = h.Bc + 4 * f,\n m = h.zc,\n n = h.ya[h.aa + f];\n h.Qa.Bb\n ? (n.$b = K(g, h.Pa.jb[0])\n ? 2 + K(g, h.Pa.jb[2])\n : K(g, h.Pa.jb[1]))\n : (n.$b = 0);\n h.kc && (n.Ad = K(g, h.Bd));\n n.Za = !K(g, 145) + 0;\n if (n.Za) {\n var r = n.Ob,\n q = 0;\n for (h = 0; 4 > h; ++h) {\n var t = m[0 + h];\n var v;\n for (v = 0; 4 > v; ++v) {\n t = Ke[k[l + v]][t];\n for (var p = Mc[K(g, t[0])]; 0 < p; )\n p = Mc[2 * p + K(g, t[p])];\n t = -p;\n k[l + v] = t;\n }\n I(r, q, k, l, 4);\n q += 4;\n m[0 + h] = t;\n }\n } else\n (t = K(g, 156) ? (K(g, 128) ? 1 : 3) : K(g, 163) ? 2 : 0),\n (n.Ob[0] = t),\n M(k, l, t, 4),\n M(m, 0, t, 4);\n n.Dd = K(g, 142) ? (K(g, 114) ? (K(g, 183) ? 1 : 3) : 2) : 0;\n }\n if (e.m.Ka) return T(a, 7, \"Premature end-of-partition0 encountered.\");\n for (; a.ja < a.za; ++a.ja) {\n d = a;\n e = c;\n g = d.rb[d.sb - 1];\n k = d.rb[d.sb + d.ja];\n f = d.ya[d.aa + d.ja];\n if ((l = d.kc ? f.Ad : 0))\n (g.la = k.la = 0),\n f.Za || (g.Na = k.Na = 0),\n (f.Hc = 0),\n (f.Gc = 0),\n (f.ia = 0);\n else {\n var u,\n w,\n g = k,\n k = e,\n l = d.Pa.Xc,\n m = d.ya[d.aa + d.ja],\n n = d.pb[m.$b];\n h = m.ad;\n r = 0;\n q = d.rb[d.sb - 1];\n t = v = 0;\n M(h, r, 0, 384);\n if (m.Za) {\n var y = 0;\n var A = l[3];\n } else {\n p = V(16);\n var E = g.Na + q.Na;\n E = oa(k, l[1], E, n.Eb, 0, p, 0);\n g.Na = q.Na = (0 < E) + 0;\n if (1 < E) Nc(p, 0, h, r);\n else {\n var B = (p[0] + 3) >> 3;\n for (p = 0; 256 > p; p += 16) h[r + p] = B;\n }\n y = 1;\n A = l[0];\n }\n var C = g.la & 15;\n var N = q.la & 15;\n for (p = 0; 4 > p; ++p) {\n var z = N & 1;\n for (B = w = 0; 4 > B; ++B)\n (E = z + (C & 1)),\n (E = oa(k, A, E, n.Sc, y, h, r)),\n (z = E > y),\n (C = (C >> 1) | (z << 7)),\n (w = (w << 2) | (3 < E ? 3 : 1 < E ? 2 : 0 != h[r + 0])),\n (r += 16);\n C >>= 4;\n N = (N >> 1) | (z << 7);\n v = ((v << 8) | w) >>> 0;\n }\n A = C;\n y = N >> 4;\n for (u = 0; 4 > u; u += 2) {\n w = 0;\n C = g.la >> (4 + u);\n N = q.la >> (4 + u);\n for (p = 0; 2 > p; ++p) {\n z = N & 1;\n for (B = 0; 2 > B; ++B)\n (E = z + (C & 1)),\n (E = oa(k, l[2], E, n.Qc, 0, h, r)),\n (z = 0 < E),\n (C = (C >> 1) | (z << 3)),\n (w = (w << 2) | (3 < E ? 3 : 1 < E ? 2 : 0 != h[r + 0])),\n (r += 16);\n C >>= 2;\n N = (N >> 1) | (z << 5);\n }\n t |= w << (4 * u);\n A |= (C << 4) << u;\n y |= (N & 240) << u;\n }\n g.la = A;\n q.la = y;\n m.Hc = v;\n m.Gc = t;\n m.ia = t & 43690 ? 0 : n.ia;\n l = !(v | t);\n }\n 0 < d.L &&\n ((d.wa[d.Y + d.ja] = d.gd[f.$b][f.Za]),\n (d.wa[d.Y + d.ja].La |= !l));\n if (e.Ka) return T(a, 7, \"Premature end-of-file encountered.\");\n }\n Lc(a);\n c = a;\n d = b;\n e = 1;\n f = c.D;\n g = 0 < c.L && c.M >= c.zb && c.M <= c.Va;\n if (0 == c.Aa)\n a: {\n (f.M = c.M), (f.uc = g), Oc(c, f), (e = 1);\n w = c.D;\n f = w.Nb;\n t = Ya[c.L];\n g = t * c.R;\n k = (t / 2) * c.B;\n p = 16 * f * c.R;\n B = 8 * f * c.B;\n l = c.sa;\n m = c.ta - g + p;\n n = c.qa;\n h = c.ra - k + B;\n r = c.Ha;\n q = c.Ia - k + B;\n C = w.M;\n N = 0 == C;\n v = C >= c.Va - 1;\n 2 == c.Aa && Oc(c, w);\n if (w.uc)\n for (E = c, z = E.D.M, x(E.D.uc), w = E.yb; w < E.Hb; ++w) {\n var Q = E;\n y = w;\n A = z;\n var S = Q.D,\n D = S.Nb;\n u = Q.R;\n var S = S.wa[S.Y + y],\n F = Q.sa,\n H = Q.ta + 16 * D * u + 16 * y,\n J = S.dd,\n G = S.tc;\n if (0 != G)\n if ((x(3 <= G), 1 == Q.L))\n 0 < y && Pc(F, H, u, G + 4),\n S.La && Qc(F, H, u, G),\n 0 < A && Rc(F, H, u, G + 4),\n S.La && Sc(F, H, u, G);\n else {\n var L = Q.B,\n O = Q.qa,\n P = Q.ra + 8 * D * L + 8 * y,\n R = Q.Ha,\n Q = Q.Ia + 8 * D * L + 8 * y,\n D = S.ld;\n 0 < y &&\n (Tc(F, H, u, G + 4, J, D),\n Uc(O, P, R, Q, L, G + 4, J, D));\n S.La && (Vc(F, H, u, G, J, D), Wc(O, P, R, Q, L, G, J, D));\n 0 < A &&\n (Xc(F, H, u, G + 4, J, D),\n Yc(O, P, R, Q, L, G + 4, J, D));\n S.La && (Zc(F, H, u, G, J, D), $c(O, P, R, Q, L, G, J, D));\n }\n }\n c.ia && alert(\"todo:DitherRow\");\n if (null != d.put) {\n w = 16 * C;\n C = 16 * (C + 1);\n N\n ? ((d.y = c.sa),\n (d.O = c.ta + p),\n (d.f = c.qa),\n (d.N = c.ra + B),\n (d.ea = c.Ha),\n (d.W = c.Ia + B))\n : ((w -= t),\n (d.y = l),\n (d.O = m),\n (d.f = n),\n (d.N = h),\n (d.ea = r),\n (d.W = q));\n v || (C -= t);\n C > d.o && (C = d.o);\n d.F = null;\n d.J = null;\n if (\n null != c.Fa &&\n 0 < c.Fa.length &&\n w < C &&\n ((d.J = Le(c, d, w, C - w)),\n (d.F = c.mb),\n null == d.F && 0 == d.F.length)\n ) {\n e = T(c, 3, \"Could not decode alpha data.\");\n break a;\n }\n w < d.j &&\n ((t = d.j - w),\n (w = d.j),\n x(!(t & 1)),\n (d.O += c.R * t),\n (d.N += c.B * (t >> 1)),\n (d.W += c.B * (t >> 1)),\n null != d.F && (d.J += d.width * t));\n w < C &&\n ((d.O += d.v),\n (d.N += d.v >> 1),\n (d.W += d.v >> 1),\n null != d.F && (d.J += d.v),\n (d.ka = w - d.j),\n (d.U = d.va - d.v),\n (d.T = C - w),\n (e = d.put(d)));\n }\n f + 1 != c.Ic ||\n v ||\n (I(c.sa, c.ta - g, l, m + 16 * c.R, g),\n I(c.qa, c.ra - k, n, h + 8 * c.B, k),\n I(c.Ha, c.Ia - k, r, q + 8 * c.B, k));\n }\n if (!e) return T(a, 6, \"Output aborted.\");\n }\n return 1;\n }\n function Me(a, b) {\n if (null == a) return 0;\n if (null == b) return T(a, 2, \"NULL VP8Io parameter in VP8Decode().\");\n if (!a.cb && !Kc(a, b)) return 0;\n x(a.cb);\n if (null == b.ac || b.ac(b)) {\n b.ob && (a.L = 0);\n var c = Ya[a.L];\n 2 == a.L\n ? ((a.yb = 0), (a.zb = 0))\n : ((a.yb = (b.v - c) >> 4),\n (a.zb = (b.j - c) >> 4),\n 0 > a.yb && (a.yb = 0),\n 0 > a.zb && (a.zb = 0));\n a.Va = (b.o + 15 + c) >> 4;\n a.Hb = (b.va + 15 + c) >> 4;\n a.Hb > a.za && (a.Hb = a.za);\n a.Va > a.Ub && (a.Va = a.Ub);\n if (0 < a.L) {\n var d = a.ed;\n for (c = 0; 4 > c; ++c) {\n var e;\n if (a.Qa.Cb) {\n var f = a.Qa.Lb[c];\n a.Qa.Fb || (f += d.Tb);\n } else f = d.Tb;\n for (e = 0; 1 >= e; ++e) {\n var g = a.gd[c][e],\n h = f;\n d.Pc && ((h += d.vd[0]), e && (h += d.od[0]));\n h = 0 > h ? 0 : 63 < h ? 63 : h;\n if (0 < h) {\n var k = h;\n 0 < d.wb &&\n ((k = 4 < d.wb ? k >> 2 : k >> 1),\n k > 9 - d.wb && (k = 9 - d.wb));\n 1 > k && (k = 1);\n g.dd = k;\n g.tc = 2 * h + k;\n g.ld = 40 <= h ? 2 : 15 <= h ? 1 : 0;\n } else g.tc = 0;\n g.La = e;\n }\n }\n }\n c = 0;\n } else T(a, 6, \"Frame setup failed\"), (c = a.a);\n if ((c = 0 == c)) {\n if (c) {\n a.$c = 0;\n 0 < a.Aa || (a.Ic = Ne);\n b: {\n c = a.Ic;\n var k = a.za,\n d = 4 * k,\n l = 32 * k,\n m = k + 1,\n n = 0 < a.L ? k * (0 < a.Aa ? 2 : 1) : 0,\n r = (2 == a.Aa ? 2 : 1) * k;\n e = ((3 * (16 * c + Ya[a.L])) / 2) * l;\n f = null != a.Fa && 0 < a.Fa.length ? a.Kc.c * a.Kc.i : 0;\n g = d + 832 + e + f;\n if (g != g) c = 0;\n else {\n if (g > a.Vb) {\n a.Vb = 0;\n a.Ec = V(g);\n a.Fc = 0;\n if (null == a.Ec) {\n c = T(a, 1, \"no memory during frame initialization.\");\n break b;\n }\n a.Vb = g;\n }\n g = a.Ec;\n h = a.Fc;\n a.Ac = g;\n a.Bc = h;\n h += d;\n a.Gd = wa(l, Ic);\n a.Hd = 0;\n a.rb = wa(m + 1, Hc);\n a.sb = 1;\n a.wa = n ? wa(n, Xa) : null;\n a.Y = 0;\n a.D.Nb = 0;\n a.D.wa = a.wa;\n a.D.Y = a.Y;\n 0 < a.Aa && (a.D.Y += k);\n x(!0);\n a.oc = g;\n a.pc = h;\n h += 832;\n a.ya = wa(r, Kb);\n a.aa = 0;\n a.D.ya = a.ya;\n a.D.aa = a.aa;\n 2 == a.Aa && (a.D.aa += k);\n a.R = 16 * k;\n a.B = 8 * k;\n l = Ya[a.L];\n k = l * a.R;\n l = (l / 2) * a.B;\n a.sa = g;\n a.ta = h + k;\n a.qa = a.sa;\n a.ra = a.ta + 16 * c * a.R + l;\n a.Ha = a.qa;\n a.Ia = a.ra + 8 * c * a.B + l;\n a.$c = 0;\n h += e;\n a.mb = f ? g : null;\n a.nb = f ? h : null;\n x(h + f <= a.Fc + a.Vb);\n Lc(a);\n M(a.Ac, a.Bc, 0, d);\n c = 1;\n }\n }\n if (c) {\n b.ka = 0;\n b.y = a.sa;\n b.O = a.ta;\n b.f = a.qa;\n b.N = a.ra;\n b.ea = a.Ha;\n b.Vd = a.Ia;\n b.fa = a.R;\n b.Rc = a.B;\n b.F = null;\n b.J = 0;\n if (!ad) {\n for (c = -255; 255 >= c; ++c) bd[255 + c] = 0 > c ? -c : c;\n for (c = -1020; 1020 >= c; ++c)\n cd[1020 + c] = -128 > c ? -128 : 127 < c ? 127 : c;\n for (c = -112; 112 >= c; ++c)\n dd[112 + c] = -16 > c ? -16 : 15 < c ? 15 : c;\n for (c = -255; 510 >= c; ++c)\n ed[255 + c] = 0 > c ? 0 : 255 < c ? 255 : c;\n ad = 1;\n }\n Nc = Oe;\n Za = Pe;\n Nb = Qe;\n pa = Re;\n Ob = Se;\n fd = Te;\n Xc = Ue;\n Tc = Ve;\n Yc = We;\n Uc = Xe;\n Zc = Ye;\n Vc = Ze;\n $c = $e;\n Wc = af;\n Rc = gd;\n Pc = hd;\n Sc = bf;\n Qc = cf;\n W[0] = df;\n W[1] = ef;\n W[2] = ff;\n W[3] = gf;\n W[4] = hf;\n W[5] = jf;\n W[6] = kf;\n W[7] = lf;\n W[8] = mf;\n W[9] = nf;\n Y[0] = of;\n Y[1] = pf;\n Y[2] = qf;\n Y[3] = rf;\n Y[4] = sf;\n Y[5] = tf;\n Y[6] = uf;\n ka[0] = vf;\n ka[1] = wf;\n ka[2] = xf;\n ka[3] = yf;\n ka[4] = zf;\n ka[5] = Af;\n ka[6] = Bf;\n c = 1;\n } else c = 0;\n }\n c && (c = Je(a, b));\n null != b.bc && b.bc(b);\n c &= 1;\n }\n if (!c) return 0;\n a.cb = 0;\n return c;\n }\n function qa(a, b, c, d, e) {\n e = a[b + c + 32 * d] + (e >> 3);\n a[b + c + 32 * d] = e & -256 ? (0 > e ? 0 : 255) : e;\n }\n function kb(a, b, c, d, e, f) {\n qa(a, b, 0, c, d + e);\n qa(a, b, 1, c, d + f);\n qa(a, b, 2, c, d - f);\n qa(a, b, 3, c, d - e);\n }\n function da(a) {\n return ((20091 * a) >> 16) + a;\n }\n function id(a, b, c, d) {\n var e = 0,\n f;\n var g = V(16);\n for (f = 0; 4 > f; ++f) {\n var h = a[b + 0] + a[b + 8];\n var k = a[b + 0] - a[b + 8];\n var l = ((35468 * a[b + 4]) >> 16) - da(a[b + 12]);\n var m = da(a[b + 4]) + ((35468 * a[b + 12]) >> 16);\n g[e + 0] = h + m;\n g[e + 1] = k + l;\n g[e + 2] = k - l;\n g[e + 3] = h - m;\n e += 4;\n b++;\n }\n for (f = e = 0; 4 > f; ++f)\n (a = g[e + 0] + 4),\n (h = a + g[e + 8]),\n (k = a - g[e + 8]),\n (l = ((35468 * g[e + 4]) >> 16) - da(g[e + 12])),\n (m = da(g[e + 4]) + ((35468 * g[e + 12]) >> 16)),\n qa(c, d, 0, 0, h + m),\n qa(c, d, 1, 0, k + l),\n qa(c, d, 2, 0, k - l),\n qa(c, d, 3, 0, h - m),\n e++,\n (d += 32);\n }\n function Te(a, b, c, d) {\n var e = a[b + 0] + 4,\n f = (35468 * a[b + 4]) >> 16,\n g = da(a[b + 4]),\n h = (35468 * a[b + 1]) >> 16;\n a = da(a[b + 1]);\n kb(c, d, 0, e + g, a, h);\n kb(c, d, 1, e + f, a, h);\n kb(c, d, 2, e - f, a, h);\n kb(c, d, 3, e - g, a, h);\n }\n function Pe(a, b, c, d, e) {\n id(a, b, c, d);\n e && id(a, b + 16, c, d + 4);\n }\n function Qe(a, b, c, d) {\n Za(a, b + 0, c, d, 1);\n Za(a, b + 32, c, d + 128, 1);\n }\n function Re(a, b, c, d) {\n a = a[b + 0] + 4;\n var e;\n for (e = 0; 4 > e; ++e) for (b = 0; 4 > b; ++b) qa(c, d, b, e, a);\n }\n function Se(a, b, c, d) {\n a[b + 0] && pa(a, b + 0, c, d);\n a[b + 16] && pa(a, b + 16, c, d + 4);\n a[b + 32] && pa(a, b + 32, c, d + 128);\n a[b + 48] && pa(a, b + 48, c, d + 128 + 4);\n }\n function Oe(a, b, c, d) {\n var e = V(16),\n f;\n for (f = 0; 4 > f; ++f) {\n var g = a[b + 0 + f] + a[b + 12 + f];\n var h = a[b + 4 + f] + a[b + 8 + f];\n var k = a[b + 4 + f] - a[b + 8 + f];\n var l = a[b + 0 + f] - a[b + 12 + f];\n e[0 + f] = g + h;\n e[8 + f] = g - h;\n e[4 + f] = l + k;\n e[12 + f] = l - k;\n }\n for (f = 0; 4 > f; ++f)\n (a = e[0 + 4 * f] + 3),\n (g = a + e[3 + 4 * f]),\n (h = e[1 + 4 * f] + e[2 + 4 * f]),\n (k = e[1 + 4 * f] - e[2 + 4 * f]),\n (l = a - e[3 + 4 * f]),\n (c[d + 0] = (g + h) >> 3),\n (c[d + 16] = (l + k) >> 3),\n (c[d + 32] = (g - h) >> 3),\n (c[d + 48] = (l - k) >> 3),\n (d += 64);\n }\n function Pb(a, b, c) {\n var d = b - 32,\n e = R,\n f = 255 - a[d - 1],\n g;\n for (g = 0; g < c; ++g) {\n var h = e,\n k = f + a[b - 1],\n l;\n for (l = 0; l < c; ++l) a[b + l] = h[k + a[d + l]];\n b += 32;\n }\n }\n function ef(a, b) {\n Pb(a, b, 4);\n }\n function wf(a, b) {\n Pb(a, b, 8);\n }\n function pf(a, b) {\n Pb(a, b, 16);\n }\n function qf(a, b) {\n var c;\n for (c = 0; 16 > c; ++c) I(a, b + 32 * c, a, b - 32, 16);\n }\n function rf(a, b) {\n var c;\n for (c = 16; 0 < c; --c) M(a, b, a[b - 1], 16), (b += 32);\n }\n function $a(a, b, c) {\n var d;\n for (d = 0; 16 > d; ++d) M(b, c + 32 * d, a, 16);\n }\n function of(a, b) {\n var c = 16,\n d;\n for (d = 0; 16 > d; ++d) c += a[b - 1 + 32 * d] + a[b + d - 32];\n $a(c >> 5, a, b);\n }\n function sf(a, b) {\n var c = 8,\n d;\n for (d = 0; 16 > d; ++d) c += a[b - 1 + 32 * d];\n $a(c >> 4, a, b);\n }\n function tf(a, b) {\n var c = 8,\n d;\n for (d = 0; 16 > d; ++d) c += a[b + d - 32];\n $a(c >> 4, a, b);\n }\n function uf(a, b) {\n $a(128, a, b);\n }\n function z(a, b, c) {\n return (a + 2 * b + c + 2) >> 2;\n }\n function ff(a, b) {\n var c = b - 32,\n c = new Uint8Array([\n z(a[c - 1], a[c + 0], a[c + 1]),\n z(a[c + 0], a[c + 1], a[c + 2]),\n z(a[c + 1], a[c + 2], a[c + 3]),\n z(a[c + 2], a[c + 3], a[c + 4])\n ]),\n d;\n for (d = 0; 4 > d; ++d) I(a, b + 32 * d, c, 0, c.length);\n }\n function gf(a, b) {\n var c = a[b - 1],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96];\n ra(a, b + 0, 16843009 * z(a[b - 1 - 32], c, d));\n ra(a, b + 32, 16843009 * z(c, d, e));\n ra(a, b + 64, 16843009 * z(d, e, f));\n ra(a, b + 96, 16843009 * z(e, f, f));\n }\n function df(a, b) {\n var c = 4,\n d;\n for (d = 0; 4 > d; ++d) c += a[b + d - 32] + a[b - 1 + 32 * d];\n c >>= 3;\n for (d = 0; 4 > d; ++d) M(a, b + 32 * d, c, 4);\n }\n function hf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 - 32],\n g = a[b + 0 - 32],\n h = a[b + 1 - 32],\n k = a[b + 2 - 32],\n l = a[b + 3 - 32];\n a[b + 0 + 96] = z(d, e, a[b - 1 + 96]);\n a[b + 1 + 96] = a[b + 0 + 64] = z(c, d, e);\n a[b + 2 + 96] = a[b + 1 + 64] = a[b + 0 + 32] = z(f, c, d);\n a[b + 3 + 96] = a[b + 2 + 64] = a[b + 1 + 32] = a[b + 0 + 0] = z(g, f, c);\n a[b + 3 + 64] = a[b + 2 + 32] = a[b + 1 + 0] = z(h, g, f);\n a[b + 3 + 32] = a[b + 2 + 0] = z(k, h, g);\n a[b + 3 + 0] = z(l, k, h);\n }\n function kf(a, b) {\n var c = a[b + 1 - 32],\n d = a[b + 2 - 32],\n e = a[b + 3 - 32],\n f = a[b + 4 - 32],\n g = a[b + 5 - 32],\n h = a[b + 6 - 32],\n k = a[b + 7 - 32];\n a[b + 0 + 0] = z(a[b + 0 - 32], c, d);\n a[b + 1 + 0] = a[b + 0 + 32] = z(c, d, e);\n a[b + 2 + 0] = a[b + 1 + 32] = a[b + 0 + 64] = z(d, e, f);\n a[b + 3 + 0] = a[b + 2 + 32] = a[b + 1 + 64] = a[b + 0 + 96] = z(e, f, g);\n a[b + 3 + 32] = a[b + 2 + 64] = a[b + 1 + 96] = z(f, g, h);\n a[b + 3 + 64] = a[b + 2 + 96] = z(g, h, k);\n a[b + 3 + 96] = z(h, k, k);\n }\n function jf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 - 32],\n g = a[b + 0 - 32],\n h = a[b + 1 - 32],\n k = a[b + 2 - 32],\n l = a[b + 3 - 32];\n a[b + 0 + 0] = a[b + 1 + 64] = (f + g + 1) >> 1;\n a[b + 1 + 0] = a[b + 2 + 64] = (g + h + 1) >> 1;\n a[b + 2 + 0] = a[b + 3 + 64] = (h + k + 1) >> 1;\n a[b + 3 + 0] = (k + l + 1) >> 1;\n a[b + 0 + 96] = z(e, d, c);\n a[b + 0 + 64] = z(d, c, f);\n a[b + 0 + 32] = a[b + 1 + 96] = z(c, f, g);\n a[b + 1 + 32] = a[b + 2 + 96] = z(f, g, h);\n a[b + 2 + 32] = a[b + 3 + 96] = z(g, h, k);\n a[b + 3 + 32] = z(h, k, l);\n }\n function lf(a, b) {\n var c = a[b + 0 - 32],\n d = a[b + 1 - 32],\n e = a[b + 2 - 32],\n f = a[b + 3 - 32],\n g = a[b + 4 - 32],\n h = a[b + 5 - 32],\n k = a[b + 6 - 32],\n l = a[b + 7 - 32];\n a[b + 0 + 0] = (c + d + 1) >> 1;\n a[b + 1 + 0] = a[b + 0 + 64] = (d + e + 1) >> 1;\n a[b + 2 + 0] = a[b + 1 + 64] = (e + f + 1) >> 1;\n a[b + 3 + 0] = a[b + 2 + 64] = (f + g + 1) >> 1;\n a[b + 0 + 32] = z(c, d, e);\n a[b + 1 + 32] = a[b + 0 + 96] = z(d, e, f);\n a[b + 2 + 32] = a[b + 1 + 96] = z(e, f, g);\n a[b + 3 + 32] = a[b + 2 + 96] = z(f, g, h);\n a[b + 3 + 64] = z(g, h, k);\n a[b + 3 + 96] = z(h, k, l);\n }\n function nf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96];\n a[b + 0 + 0] = (c + d + 1) >> 1;\n a[b + 2 + 0] = a[b + 0 + 32] = (d + e + 1) >> 1;\n a[b + 2 + 32] = a[b + 0 + 64] = (e + f + 1) >> 1;\n a[b + 1 + 0] = z(c, d, e);\n a[b + 3 + 0] = a[b + 1 + 32] = z(d, e, f);\n a[b + 3 + 32] = a[b + 1 + 64] = z(e, f, f);\n a[b + 3 + 64] = a[b + 2 + 64] = a[b + 0 + 96] = a[b + 1 + 96] = a[\n b + 2 + 96\n ] = a[b + 3 + 96] = f;\n }\n function mf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96],\n g = a[b - 1 - 32],\n h = a[b + 0 - 32],\n k = a[b + 1 - 32],\n l = a[b + 2 - 32];\n a[b + 0 + 0] = a[b + 2 + 32] = (c + g + 1) >> 1;\n a[b + 0 + 32] = a[b + 2 + 64] = (d + c + 1) >> 1;\n a[b + 0 + 64] = a[b + 2 + 96] = (e + d + 1) >> 1;\n a[b + 0 + 96] = (f + e + 1) >> 1;\n a[b + 3 + 0] = z(h, k, l);\n a[b + 2 + 0] = z(g, h, k);\n a[b + 1 + 0] = a[b + 3 + 32] = z(c, g, h);\n a[b + 1 + 32] = a[b + 3 + 64] = z(d, c, g);\n a[b + 1 + 64] = a[b + 3 + 96] = z(e, d, c);\n a[b + 1 + 96] = z(f, e, d);\n }\n function xf(a, b) {\n var c;\n for (c = 0; 8 > c; ++c) I(a, b + 32 * c, a, b - 32, 8);\n }\n function yf(a, b) {\n var c;\n for (c = 0; 8 > c; ++c) M(a, b, a[b - 1], 8), (b += 32);\n }\n function lb(a, b, c) {\n var d;\n for (d = 0; 8 > d; ++d) M(b, c + 32 * d, a, 8);\n }\n function vf(a, b) {\n var c = 8,\n d;\n for (d = 0; 8 > d; ++d) c += a[b + d - 32] + a[b - 1 + 32 * d];\n lb(c >> 4, a, b);\n }\n function Af(a, b) {\n var c = 4,\n d;\n for (d = 0; 8 > d; ++d) c += a[b + d - 32];\n lb(c >> 3, a, b);\n }\n function zf(a, b) {\n var c = 4,\n d;\n for (d = 0; 8 > d; ++d) c += a[b - 1 + 32 * d];\n lb(c >> 3, a, b);\n }\n function Bf(a, b) {\n lb(128, a, b);\n }\n function ab(a, b, c) {\n var d = a[b - c],\n e = a[b + 0],\n f = 3 * (e - d) + Qb[1020 + a[b - 2 * c] - a[b + c]],\n g = mb[112 + ((f + 4) >> 3)];\n a[b - c] = R[255 + d + mb[112 + ((f + 3) >> 3)]];\n a[b + 0] = R[255 + e - g];\n }\n function jd(a, b, c, d) {\n var e = a[b + 0],\n f = a[b + c];\n return U[255 + a[b - 2 * c] - a[b - c]] > d || U[255 + f - e] > d;\n }\n function kd(a, b, c, d) {\n return (\n 4 * U[255 + a[b - c] - a[b + 0]] + U[255 + a[b - 2 * c] - a[b + c]] <= d\n );\n }\n function ld(a, b, c, d, e) {\n var f = a[b - 3 * c],\n g = a[b - 2 * c],\n h = a[b - c],\n k = a[b + 0],\n l = a[b + c],\n m = a[b + 2 * c],\n n = a[b + 3 * c];\n return 4 * U[255 + h - k] + U[255 + g - l] > d\n ? 0\n : U[255 + a[b - 4 * c] - f] <= e &&\n U[255 + f - g] <= e &&\n U[255 + g - h] <= e &&\n U[255 + n - m] <= e &&\n U[255 + m - l] <= e &&\n U[255 + l - k] <= e;\n }\n function gd(a, b, c, d) {\n var e = 2 * d + 1;\n for (d = 0; 16 > d; ++d) kd(a, b + d, c, e) && ab(a, b + d, c);\n }\n function hd(a, b, c, d) {\n var e = 2 * d + 1;\n for (d = 0; 16 > d; ++d) kd(a, b + d * c, 1, e) && ab(a, b + d * c, 1);\n }\n function bf(a, b, c, d) {\n var e;\n for (e = 3; 0 < e; --e) (b += 4 * c), gd(a, b, c, d);\n }\n function cf(a, b, c, d) {\n var e;\n for (e = 3; 0 < e; --e) (b += 4), hd(a, b, c, d);\n }\n function ea(a, b, c, d, e, f, g, h) {\n for (f = 2 * f + 1; 0 < e--; ) {\n if (ld(a, b, c, f, g))\n if (jd(a, b, c, h)) ab(a, b, c);\n else {\n var k = a,\n l = b,\n m = c,\n n = k[l - 2 * m],\n r = k[l - m],\n q = k[l + 0],\n t = k[l + m],\n v = k[l + 2 * m],\n p = Qb[1020 + 3 * (q - r) + Qb[1020 + n - t]],\n u = (27 * p + 63) >> 7,\n w = (18 * p + 63) >> 7,\n p = (9 * p + 63) >> 7;\n k[l - 3 * m] = R[255 + k[l - 3 * m] + p];\n k[l - 2 * m] = R[255 + n + w];\n k[l - m] = R[255 + r + u];\n k[l + 0] = R[255 + q - u];\n k[l + m] = R[255 + t - w];\n k[l + 2 * m] = R[255 + v - p];\n }\n b += d;\n }\n }\n function Fa(a, b, c, d, e, f, g, h) {\n for (f = 2 * f + 1; 0 < e--; ) {\n if (ld(a, b, c, f, g))\n if (jd(a, b, c, h)) ab(a, b, c);\n else {\n var k = a,\n l = b,\n m = c,\n n = k[l - m],\n r = k[l + 0],\n q = k[l + m],\n t = 3 * (r - n),\n v = mb[112 + ((t + 4) >> 3)],\n t = mb[112 + ((t + 3) >> 3)],\n p = (v + 1) >> 1;\n k[l - 2 * m] = R[255 + k[l - 2 * m] + p];\n k[l - m] = R[255 + n + t];\n k[l + 0] = R[255 + r - v];\n k[l + m] = R[255 + q - p];\n }\n b += d;\n }\n }\n function Ue(a, b, c, d, e, f) {\n ea(a, b, c, 1, 16, d, e, f);\n }\n function Ve(a, b, c, d, e, f) {\n ea(a, b, 1, c, 16, d, e, f);\n }\n function Ye(a, b, c, d, e, f) {\n var g;\n for (g = 3; 0 < g; --g) (b += 4 * c), Fa(a, b, c, 1, 16, d, e, f);\n }\n function Ze(a, b, c, d, e, f) {\n var g;\n for (g = 3; 0 < g; --g) (b += 4), Fa(a, b, 1, c, 16, d, e, f);\n }\n function We(a, b, c, d, e, f, g, h) {\n ea(a, b, e, 1, 8, f, g, h);\n ea(c, d, e, 1, 8, f, g, h);\n }\n function Xe(a, b, c, d, e, f, g, h) {\n ea(a, b, 1, e, 8, f, g, h);\n ea(c, d, 1, e, 8, f, g, h);\n }\n function $e(a, b, c, d, e, f, g, h) {\n Fa(a, b + 4 * e, e, 1, 8, f, g, h);\n Fa(c, d + 4 * e, e, 1, 8, f, g, h);\n }\n function af(a, b, c, d, e, f, g, h) {\n Fa(a, b + 4, 1, e, 8, f, g, h);\n Fa(c, d + 4, 1, e, 8, f, g, h);\n }\n function Cf() {\n this.ba = new Cb();\n this.ec = [];\n this.cc = [];\n this.Mc = [];\n this.Dc = this.Nc = this.dc = this.fc = 0;\n this.Oa = new Ud();\n this.memory = 0;\n this.Ib = \"OutputFunc\";\n this.Jb = \"OutputAlphaFunc\";\n this.Nd = \"OutputRowFunc\";\n }\n function md() {\n this.data = [];\n this.offset = this.kd = this.ha = this.w = 0;\n this.na = [];\n this.xa = this.gb = this.Ja = this.Sa = this.P = 0;\n }\n function Df() {\n this.nc = this.Ea = this.b = this.hc = 0;\n this.K = [];\n this.w = 0;\n }\n function Ef() {\n this.ua = 0;\n this.Wa = new ac();\n this.vb = new ac();\n this.md = this.xc = this.wc = 0;\n this.vc = [];\n this.Wb = 0;\n this.Ya = new Ub();\n this.yc = new O();\n }\n function je() {\n this.xb = this.a = 0;\n this.l = new Oa();\n this.ca = new Cb();\n this.V = [];\n this.Ba = 0;\n this.Ta = [];\n this.Ua = 0;\n this.m = new Ra();\n this.Pb = 0;\n this.wd = new Ra();\n this.Ma = this.$ = this.C = this.i = this.c = this.xd = 0;\n this.s = new Ef();\n this.ab = 0;\n this.gc = wa(4, Df);\n this.Oc = 0;\n }\n function Ff() {\n this.Lc = this.Z = this.$a = this.i = this.c = 0;\n this.l = new Oa();\n this.ic = 0;\n this.ca = [];\n this.tb = 0;\n this.qd = null;\n this.rd = 0;\n }\n function Rb(a, b, c, d, e, f, g) {\n a = null == a ? 0 : a[b + 0];\n for (b = 0; b < g; ++b) (e[f + b] = (a + c[d + b]) & 255), (a = e[f + b]);\n }\n function Gf(a, b, c, d, e, f, g) {\n if (null == a) Rb(null, null, c, d, e, f, g);\n else {\n var h;\n for (h = 0; h < g; ++h) e[f + h] = (a[b + h] + c[d + h]) & 255;\n }\n }\n function Hf(a, b, c, d, e, f, g) {\n if (null == a) Rb(null, null, c, d, e, f, g);\n else {\n var h = a[b + 0],\n k = h,\n l = h,\n m;\n for (m = 0; m < g; ++m)\n (h = a[b + m]),\n (k = l + h - k),\n (l = (c[d + m] + (k & -256 ? (0 > k ? 0 : 255) : k)) & 255),\n (k = h),\n (e[f + m] = l);\n }\n }\n function Le(a, b, c, d) {\n var e = b.width,\n f = b.o;\n x(null != a && null != b);\n if (0 > c || 0 >= d || c + d > f) return null;\n if (!a.Cc) {\n if (null == a.ga) {\n a.ga = new Ff();\n var g;\n (g = null == a.ga) ||\n ((g = b.width * b.o),\n x(0 == a.Gb.length),\n (a.Gb = V(g)),\n (a.Uc = 0),\n null == a.Gb\n ? (g = 0)\n : ((a.mb = a.Gb), (a.nb = a.Uc), (a.rc = null), (g = 1)),\n (g = !g));\n if (!g) {\n g = a.ga;\n var h = a.Fa,\n k = a.P,\n l = a.qc,\n m = a.mb,\n n = a.nb,\n r = k + 1,\n q = l - 1,\n t = g.l;\n x(null != h && null != m && null != b);\n ia[0] = null;\n ia[1] = Rb;\n ia[2] = Gf;\n ia[3] = Hf;\n g.ca = m;\n g.tb = n;\n g.c = b.width;\n g.i = b.height;\n x(0 < g.c && 0 < g.i);\n if (1 >= l) b = 0;\n else if (\n ((g.$a = (h[k + 0] >> 0) & 3),\n (g.Z = (h[k + 0] >> 2) & 3),\n (g.Lc = (h[k + 0] >> 4) & 3),\n (k = (h[k + 0] >> 6) & 3),\n 0 > g.$a || 1 < g.$a || 4 <= g.Z || 1 < g.Lc || k)\n )\n b = 0;\n else if (\n ((t.put = kc),\n (t.ac = gc),\n (t.bc = lc),\n (t.ma = g),\n (t.width = b.width),\n (t.height = b.height),\n (t.Da = b.Da),\n (t.v = b.v),\n (t.va = b.va),\n (t.j = b.j),\n (t.o = b.o),\n g.$a)\n )\n b: {\n x(1 == g.$a), (b = Bc());\n c: for (;;) {\n if (null == b) {\n b = 0;\n break b;\n }\n x(null != g);\n g.mc = b;\n b.c = g.c;\n b.i = g.i;\n b.l = g.l;\n b.l.ma = g;\n b.l.width = g.c;\n b.l.height = g.i;\n b.a = 0;\n cb(b.m, h, r, q);\n if (!rb(g.c, g.i, 1, b, null)) break c;\n 1 == b.ab && 3 == b.gc[0].hc && yc(b.s)\n ? ((g.ic = 1),\n (h = b.c * b.i),\n (b.Ta = null),\n (b.Ua = 0),\n (b.V = V(h)),\n (b.Ba = 0),\n null == b.V ? ((b.a = 1), (b = 0)) : (b = 1))\n : ((g.ic = 0), (b = Ec(b, g.c)));\n if (!b) break c;\n b = 1;\n break b;\n }\n g.mc = null;\n b = 0;\n }\n else b = q >= g.c * g.i;\n g = !b;\n }\n if (g) return null;\n 1 != a.ga.Lc ? (a.Ga = 0) : (d = f - c);\n }\n x(null != a.ga);\n x(c + d <= f);\n a: {\n h = a.ga;\n b = h.c;\n f = h.l.o;\n if (0 == h.$a) {\n r = a.rc;\n q = a.Vc;\n t = a.Fa;\n k = a.P + 1 + c * b;\n l = a.mb;\n m = a.nb + c * b;\n x(k <= a.P + a.qc);\n if (0 != h.Z)\n for (x(null != ia[h.Z]), g = 0; g < d; ++g)\n ia[h.Z](r, q, t, k, l, m, b),\n (r = l),\n (q = m),\n (m += b),\n (k += b);\n else\n for (g = 0; g < d; ++g)\n I(l, m, t, k, b), (r = l), (q = m), (m += b), (k += b);\n a.rc = r;\n a.Vc = q;\n } else {\n x(null != h.mc);\n b = c + d;\n g = h.mc;\n x(null != g);\n x(b <= g.i);\n if (g.C >= b) b = 1;\n else if ((h.ic || Aa(), h.ic)) {\n var h = g.V,\n r = g.Ba,\n q = g.c,\n v = g.i,\n t = 1,\n k = g.$ / q,\n l = g.$ % q,\n m = g.m,\n n = g.s,\n p = g.$,\n u = q * v,\n w = q * b,\n y = n.wc,\n A = p < w ? ha(n, l, k) : null;\n x(p <= u);\n x(b <= v);\n x(yc(n));\n c: for (;;) {\n for (; !m.h && p < w; ) {\n l & y || (A = ha(n, l, k));\n x(null != A);\n Sa(m);\n v = ua(A.G[0], A.H[0], m);\n if (256 > v)\n (h[r + p] = v),\n ++p,\n ++l,\n l >= q && ((l = 0), ++k, k <= b && !(k % 16) && Ib(g, k));\n else if (280 > v) {\n var v = ib(v - 256, m);\n var E = ua(A.G[4], A.H[4], m);\n Sa(m);\n E = ib(E, m);\n E = nc(q, E);\n if (p >= E && u - p >= v) {\n var B;\n for (B = 0; B < v; ++B) h[r + p + B] = h[r + p + B - E];\n } else {\n t = 0;\n break c;\n }\n p += v;\n for (l += v; l >= q; )\n (l -= q), ++k, k <= b && !(k % 16) && Ib(g, k);\n p < w && l & y && (A = ha(n, l, k));\n } else {\n t = 0;\n break c;\n }\n x(m.h == db(m));\n }\n Ib(g, k > b ? b : k);\n break c;\n }\n !t || (m.h && p < u) ? ((t = 0), (g.a = m.h ? 5 : 3)) : (g.$ = p);\n b = t;\n } else b = Jb(g, g.V, g.Ba, g.c, g.i, b, se);\n if (!b) {\n d = 0;\n break a;\n }\n }\n c + d >= f && (a.Cc = 1);\n d = 1;\n }\n if (!d) return null;\n if (\n a.Cc &&\n ((d = a.ga), null != d && (d.mc = null), (a.ga = null), 0 < a.Ga)\n )\n return alert(\"todo:WebPDequantizeLevels\"), null;\n }\n return a.nb + c * e;\n }\n function If(a, b, c, d, e, f) {\n for (; 0 < e--; ) {\n var g = a,\n h = b + (c ? 1 : 0),\n k = a,\n l = b + (c ? 0 : 3),\n m;\n for (m = 0; m < d; ++m) {\n var n = k[l + 4 * m];\n 255 != n &&\n ((n *= 32897),\n (g[h + 4 * m + 0] = (g[h + 4 * m + 0] * n) >> 23),\n (g[h + 4 * m + 1] = (g[h + 4 * m + 1] * n) >> 23),\n (g[h + 4 * m + 2] = (g[h + 4 * m + 2] * n) >> 23));\n }\n b += f;\n }\n }\n function Jf(a, b, c, d, e) {\n for (; 0 < d--; ) {\n var f;\n for (f = 0; f < c; ++f) {\n var g = a[b + 2 * f + 0],\n h = a[b + 2 * f + 1],\n k = h & 15,\n l = 4369 * k,\n h = (((h & 240) | (h >> 4)) * l) >> 16;\n a[b + 2 * f + 0] =\n (((((g & 240) | (g >> 4)) * l) >> 16) & 240) |\n ((((((g & 15) | (g << 4)) * l) >> 16) >> 4) & 15);\n a[b + 2 * f + 1] = (h & 240) | k;\n }\n b += e;\n }\n }\n function Kf(a, b, c, d, e, f, g, h) {\n var k = 255,\n l,\n m;\n for (m = 0; m < e; ++m) {\n for (l = 0; l < d; ++l) {\n var n = a[b + l];\n f[g + 4 * l] = n;\n k &= n;\n }\n b += c;\n g += h;\n }\n return 255 != k;\n }\n function Lf(a, b, c, d, e) {\n var f;\n for (f = 0; f < e; ++f) c[d + f] = a[b + f] >> 8;\n }\n function Aa() {\n za = If;\n vc = Jf;\n fc = Kf;\n Fc = Lf;\n }\n function va(a, b, c) {\n self[a] = function(a, e, f, g, h, k, l, m, n, r, q, t, v, p, u, w, y) {\n var d,\n E = (y - 1) >> 1;\n var B = h[k + 0] | (l[m + 0] << 16);\n var C = n[r + 0] | (q[t + 0] << 16);\n x(null != a);\n var z = (3 * B + C + 131074) >> 2;\n b(a[e + 0], z & 255, z >> 16, v, p);\n null != f &&\n ((z = (3 * C + B + 131074) >> 2),\n b(f[g + 0], z & 255, z >> 16, u, w));\n for (d = 1; d <= E; ++d) {\n var D = h[k + d] | (l[m + d] << 16);\n var G = n[r + d] | (q[t + d] << 16);\n var F = B + D + C + G + 524296;\n var H = (F + 2 * (D + C)) >> 3;\n F = (F + 2 * (B + G)) >> 3;\n z = (H + B) >> 1;\n B = (F + D) >> 1;\n b(a[e + 2 * d - 1], z & 255, z >> 16, v, p + (2 * d - 1) * c);\n b(a[e + 2 * d - 0], B & 255, B >> 16, v, p + (2 * d - 0) * c);\n null != f &&\n ((z = (F + C) >> 1),\n (B = (H + G) >> 1),\n b(f[g + 2 * d - 1], z & 255, z >> 16, u, w + (2 * d - 1) * c),\n b(f[g + 2 * d + 0], B & 255, B >> 16, u, w + (2 * d + 0) * c));\n B = D;\n C = G;\n }\n y & 1 ||\n ((z = (3 * B + C + 131074) >> 2),\n b(a[e + y - 1], z & 255, z >> 16, v, p + (y - 1) * c),\n null != f &&\n ((z = (3 * C + B + 131074) >> 2),\n b(f[g + y - 1], z & 255, z >> 16, u, w + (y - 1) * c)));\n };\n }\n function ic() {\n P[Ca] = Mf;\n P[Ua] = nd;\n P[tc] = Nf;\n P[Va] = od;\n P[ya] = pd;\n P[Db] = qd;\n P[wc] = Of;\n P[zb] = nd;\n P[Ab] = od;\n P[Ja] = pd;\n P[Bb] = qd;\n }\n function Sb(a) {\n return a & ~Pf ? (0 > a ? 0 : 255) : a >> rd;\n }\n function bb(a, b) {\n return Sb(((19077 * a) >> 8) + ((26149 * b) >> 8) - 14234);\n }\n function nb(a, b, c) {\n return Sb(\n ((19077 * a) >> 8) - ((6419 * b) >> 8) - ((13320 * c) >> 8) + 8708\n );\n }\n function Pa(a, b) {\n return Sb(((19077 * a) >> 8) + ((33050 * b) >> 8) - 17685);\n }\n function Ga(a, b, c, d, e) {\n d[e + 0] = bb(a, c);\n d[e + 1] = nb(a, b, c);\n d[e + 2] = Pa(a, b);\n }\n function Tb(a, b, c, d, e) {\n d[e + 0] = Pa(a, b);\n d[e + 1] = nb(a, b, c);\n d[e + 2] = bb(a, c);\n }\n function sd(a, b, c, d, e) {\n var f = nb(a, b, c);\n b = ((f << 3) & 224) | (Pa(a, b) >> 3);\n d[e + 0] = (bb(a, c) & 248) | (f >> 5);\n d[e + 1] = b;\n }\n function td(a, b, c, d, e) {\n var f = (Pa(a, b) & 240) | 15;\n d[e + 0] = (bb(a, c) & 240) | (nb(a, b, c) >> 4);\n d[e + 1] = f;\n }\n function ud(a, b, c, d, e) {\n d[e + 0] = 255;\n Ga(a, b, c, d, e + 1);\n }\n function vd(a, b, c, d, e) {\n Tb(a, b, c, d, e);\n d[e + 3] = 255;\n }\n function wd(a, b, c, d, e) {\n Ga(a, b, c, d, e);\n d[e + 3] = 255;\n }\n function ga(a, b) {\n return 0 > a ? 0 : a > b ? b : a;\n }\n function la(a, b, c) {\n self[a] = function(a, e, f, g, h, k, l, m, n) {\n for (var d = m + (n & -2) * c; m != d; )\n b(a[e + 0], f[g + 0], h[k + 0], l, m),\n b(a[e + 1], f[g + 0], h[k + 0], l, m + c),\n (e += 2),\n ++g,\n ++k,\n (m += 2 * c);\n n & 1 && b(a[e + 0], f[g + 0], h[k + 0], l, m);\n };\n }\n function xd(a, b, c) {\n return 0 == c ? (0 == a ? (0 == b ? 6 : 5) : 0 == b ? 4 : 0) : c;\n }\n function yd(a, b, c, d, e) {\n switch (a >>> 30) {\n case 3:\n Za(b, c, d, e, 0);\n break;\n case 2:\n fd(b, c, d, e);\n break;\n case 1:\n pa(b, c, d, e);\n }\n }\n function Oc(a, b) {\n var c,\n d,\n e = b.M,\n f = b.Nb,\n g = a.oc,\n h = a.pc + 40,\n k = a.oc,\n l = a.pc + 584,\n m = a.oc,\n n = a.pc + 600;\n for (c = 0; 16 > c; ++c) g[h + 32 * c - 1] = 129;\n for (c = 0; 8 > c; ++c)\n (k[l + 32 * c - 1] = 129), (m[n + 32 * c - 1] = 129);\n 0 < e\n ? (g[h - 1 - 32] = k[l - 1 - 32] = m[n - 1 - 32] = 129)\n : (M(g, h - 32 - 1, 127, 21),\n M(k, l - 32 - 1, 127, 9),\n M(m, n - 32 - 1, 127, 9));\n for (d = 0; d < a.za; ++d) {\n var r = b.ya[b.aa + d];\n if (0 < d) {\n for (c = -1; 16 > c; ++c) I(g, h + 32 * c - 4, g, h + 32 * c + 12, 4);\n for (c = -1; 8 > c; ++c)\n I(k, l + 32 * c - 4, k, l + 32 * c + 4, 4),\n I(m, n + 32 * c - 4, m, n + 32 * c + 4, 4);\n }\n var q = a.Gd,\n t = a.Hd + d,\n v = r.ad,\n p = r.Hc;\n 0 < e &&\n (I(g, h - 32, q[t].y, 0, 16),\n I(k, l - 32, q[t].f, 0, 8),\n I(m, n - 32, q[t].ea, 0, 8));\n if (r.Za) {\n var u = g;\n var w = h - 32 + 16;\n 0 < e &&\n (d >= a.za - 1\n ? M(u, w, q[t].y[15], 4)\n : I(u, w, q[t + 1].y, 0, 4));\n for (c = 0; 4 > c; c++)\n u[w + 128 + c] = u[w + 256 + c] = u[w + 384 + c] = u[w + 0 + c];\n for (c = 0; 16 > c; ++c, p <<= 2)\n (u = g), (w = h + zd[c]), W[r.Ob[c]](u, w), yd(p, v, 16 * +c, u, w);\n } else if (((u = xd(d, e, r.Ob[0])), Y[u](g, h), 0 != p))\n for (c = 0; 16 > c; ++c, p <<= 2) yd(p, v, 16 * +c, g, h + zd[c]);\n c = r.Gc;\n u = xd(d, e, r.Dd);\n ka[u](k, l);\n ka[u](m, n);\n r = c >> 0;\n p = v;\n u = k;\n w = l;\n r & 255 && (r & 170 ? Nb(p, 256, u, w) : Ob(p, 256, u, w));\n c >>= 8;\n r = m;\n p = n;\n c & 255 && (c & 170 ? Nb(v, 320, r, p) : Ob(v, 320, r, p));\n e < a.Ub - 1 &&\n (I(q[t].y, 0, g, h + 480, 16),\n I(q[t].f, 0, k, l + 224, 8),\n I(q[t].ea, 0, m, n + 224, 8));\n c = 8 * f * a.B;\n q = a.sa;\n t = a.ta + 16 * d + 16 * f * a.R;\n v = a.qa;\n r = a.ra + 8 * d + c;\n p = a.Ha;\n u = a.Ia + 8 * d + c;\n for (c = 0; 16 > c; ++c) I(q, t + c * a.R, g, h + 32 * c, 16);\n for (c = 0; 8 > c; ++c)\n I(v, r + c * a.B, k, l + 32 * c, 8),\n I(p, u + c * a.B, m, n + 32 * c, 8);\n }\n }\n function Ad(a, b, c, d, e, f, g, h, k) {\n var l = [0],\n m = [0],\n n = 0,\n r = null != k ? k.kd : 0,\n q = null != k ? k : new md();\n if (null == a || 12 > c) return 7;\n q.data = a;\n q.w = b;\n q.ha = c;\n b = [b];\n c = [c];\n q.gb = [q.gb];\n a: {\n var t = b;\n var v = c;\n var p = q.gb;\n x(null != a);\n x(null != v);\n x(null != p);\n p[0] = 0;\n if (12 <= v[0] && !fa(a, t[0], \"RIFF\")) {\n if (fa(a, t[0] + 8, \"WEBP\")) {\n p = 3;\n break a;\n }\n var u = Ha(a, t[0] + 4);\n if (12 > u || 4294967286 < u) {\n p = 3;\n break a;\n }\n if (r && u > v[0] - 8) {\n p = 7;\n break a;\n }\n p[0] = u;\n t[0] += 12;\n v[0] -= 12;\n }\n p = 0;\n }\n if (0 != p) return p;\n u = 0 < q.gb[0];\n for (c = c[0]; ; ) {\n t = [0];\n n = [n];\n a: {\n var w = a;\n v = b;\n p = c;\n var y = n,\n A = l,\n z = m,\n B = t;\n y[0] = 0;\n if (8 > p[0]) p = 7;\n else {\n if (!fa(w, v[0], \"VP8X\")) {\n if (10 != Ha(w, v[0] + 4)) {\n p = 3;\n break a;\n }\n if (18 > p[0]) {\n p = 7;\n break a;\n }\n var C = Ha(w, v[0] + 8);\n var D = 1 + Yb(w, v[0] + 12);\n w = 1 + Yb(w, v[0] + 15);\n if (2147483648 <= D * w) {\n p = 3;\n break a;\n }\n null != B && (B[0] = C);\n null != A && (A[0] = D);\n null != z && (z[0] = w);\n v[0] += 18;\n p[0] -= 18;\n y[0] = 1;\n }\n p = 0;\n }\n }\n n = n[0];\n t = t[0];\n if (0 != p) return p;\n v = !!(t & 2);\n if (!u && n) return 3;\n null != f && (f[0] = !!(t & 16));\n null != g && (g[0] = v);\n null != h && (h[0] = 0);\n g = l[0];\n t = m[0];\n if (n && v && null == k) {\n p = 0;\n break;\n }\n if (4 > c) {\n p = 7;\n break;\n }\n if ((u && n) || (!u && !n && !fa(a, b[0], \"ALPH\"))) {\n c = [c];\n q.na = [q.na];\n q.P = [q.P];\n q.Sa = [q.Sa];\n a: {\n C = a;\n p = b;\n u = c;\n var y = q.gb,\n A = q.na,\n z = q.P,\n B = q.Sa;\n D = 22;\n x(null != C);\n x(null != u);\n w = p[0];\n var F = u[0];\n x(null != A);\n x(null != B);\n A[0] = null;\n z[0] = null;\n for (B[0] = 0; ; ) {\n p[0] = w;\n u[0] = F;\n if (8 > F) {\n p = 7;\n break a;\n }\n var G = Ha(C, w + 4);\n if (4294967286 < G) {\n p = 3;\n break a;\n }\n var H = (8 + G + 1) & -2;\n D += H;\n if (0 < y && D > y) {\n p = 3;\n break a;\n }\n if (!fa(C, w, \"VP8 \") || !fa(C, w, \"VP8L\")) {\n p = 0;\n break a;\n }\n if (F[0] < H) {\n p = 7;\n break a;\n }\n fa(C, w, \"ALPH\") || ((A[0] = C), (z[0] = w + 8), (B[0] = G));\n w += H;\n F -= H;\n }\n }\n c = c[0];\n q.na = q.na[0];\n q.P = q.P[0];\n q.Sa = q.Sa[0];\n if (0 != p) break;\n }\n c = [c];\n q.Ja = [q.Ja];\n q.xa = [q.xa];\n a: if (\n ((y = a),\n (p = b),\n (u = c),\n (A = q.gb[0]),\n (z = q.Ja),\n (B = q.xa),\n (C = p[0]),\n (w = !fa(y, C, \"VP8 \")),\n (D = !fa(y, C, \"VP8L\")),\n x(null != y),\n x(null != u),\n x(null != z),\n x(null != B),\n 8 > u[0])\n )\n p = 7;\n else {\n if (w || D) {\n y = Ha(y, C + 4);\n if (12 <= A && y > A - 12) {\n p = 3;\n break a;\n }\n if (r && y > u[0] - 8) {\n p = 7;\n break a;\n }\n z[0] = y;\n p[0] += 8;\n u[0] -= 8;\n B[0] = D;\n } else\n (B[0] = 5 <= u[0] && 47 == y[C + 0] && !(y[C + 4] >> 5)),\n (z[0] = u[0]);\n p = 0;\n }\n c = c[0];\n q.Ja = q.Ja[0];\n q.xa = q.xa[0];\n b = b[0];\n if (0 != p) break;\n if (4294967286 < q.Ja) return 3;\n null == h || v || (h[0] = q.xa ? 2 : 1);\n g = [g];\n t = [t];\n if (q.xa) {\n if (5 > c) {\n p = 7;\n break;\n }\n h = g;\n r = t;\n v = f;\n null == a || 5 > c\n ? (a = 0)\n : 5 <= c && 47 == a[b + 0] && !(a[b + 4] >> 5)\n ? ((u = [0]),\n (y = [0]),\n (A = [0]),\n (z = new Ra()),\n cb(z, a, b, c),\n mc(z, u, y, A)\n ? (null != h && (h[0] = u[0]),\n null != r && (r[0] = y[0]),\n null != v && (v[0] = A[0]),\n (a = 1))\n : (a = 0))\n : (a = 0);\n } else {\n if (10 > c) {\n p = 7;\n break;\n }\n h = t;\n null == a || 10 > c || !Jc(a, b + 3, c - 3)\n ? (a = 0)\n : ((r = a[b + 0] | (a[b + 1] << 8) | (a[b + 2] << 16)),\n (v = ((a[b + 7] << 8) | a[b + 6]) & 16383),\n (a = ((a[b + 9] << 8) | a[b + 8]) & 16383),\n r & 1 ||\n 3 < ((r >> 1) & 7) ||\n !((r >> 4) & 1) ||\n r >> 5 >= q.Ja ||\n !v ||\n !a\n ? (a = 0)\n : (g && (g[0] = v), h && (h[0] = a), (a = 1)));\n }\n if (!a) return 3;\n g = g[0];\n t = t[0];\n if (n && (l[0] != g || m[0] != t)) return 3;\n null != k &&\n ((k[0] = q),\n (k.offset = b - k.w),\n x(4294967286 > b - k.w),\n x(k.offset == k.ha - c));\n break;\n }\n return 0 == p || (7 == p && n && null == k)\n ? (null != f && (f[0] |= null != q.na && 0 < q.na.length),\n null != d && (d[0] = g),\n null != e && (e[0] = t),\n 0)\n : p;\n }\n function hc(a, b, c) {\n var d = b.width,\n e = b.height,\n f = 0,\n g = 0,\n h = d,\n k = e;\n b.Da = null != a && 0 < a.Da;\n if (\n b.Da &&\n ((h = a.cd),\n (k = a.bd),\n (f = a.v),\n (g = a.j),\n 11 > c || ((f &= -2), (g &= -2)),\n 0 > f || 0 > g || 0 >= h || 0 >= k || f + h > d || g + k > e)\n )\n return 0;\n b.v = f;\n b.j = g;\n b.va = f + h;\n b.o = g + k;\n b.U = h;\n b.T = k;\n b.da = null != a && 0 < a.da;\n if (b.da) {\n c = [a.ib];\n f = [a.hb];\n if (!bc(h, k, c, f)) return 0;\n b.ib = c[0];\n b.hb = f[0];\n }\n b.ob = null != a && a.ob;\n b.Kb = null == a || !a.Sd;\n b.da && ((b.ob = b.ib < (3 * d) / 4 && b.hb < (3 * e) / 4), (b.Kb = 0));\n return 1;\n }\n function Bd(a) {\n if (null == a) return 2;\n if (11 > a.S) {\n var b = a.f.RGBA;\n b.fb += (a.height - 1) * b.A;\n b.A = -b.A;\n } else\n (b = a.f.kb),\n (a = a.height),\n (b.O += (a - 1) * b.fa),\n (b.fa = -b.fa),\n (b.N += ((a - 1) >> 1) * b.Ab),\n (b.Ab = -b.Ab),\n (b.W += ((a - 1) >> 1) * b.Db),\n (b.Db = -b.Db),\n null != b.F && ((b.J += (a - 1) * b.lb), (b.lb = -b.lb));\n return 0;\n }\n function Cd(a, b, c, d) {\n if (null == d || 0 >= a || 0 >= b) return 2;\n if (null != c) {\n if (c.Da) {\n var e = c.cd,\n f = c.bd,\n g = c.v & -2,\n h = c.j & -2;\n if (0 > g || 0 > h || 0 >= e || 0 >= f || g + e > a || h + f > b)\n return 2;\n a = e;\n b = f;\n }\n if (c.da) {\n e = [c.ib];\n f = [c.hb];\n if (!bc(a, b, e, f)) return 2;\n a = e[0];\n b = f[0];\n }\n }\n d.width = a;\n d.height = b;\n a: {\n var k = d.width;\n var l = d.height;\n a = d.S;\n if (0 >= k || 0 >= l || !(a >= Ca && 13 > a)) a = 2;\n else {\n if (0 >= d.Rd && null == d.sd) {\n var g = (f = e = b = 0),\n h = k * Dd[a],\n m = h * l;\n 11 > a ||\n ((b = (k + 1) / 2),\n (f = ((l + 1) / 2) * b),\n 12 == a && ((e = k), (g = e * l)));\n l = V(m + 2 * f + g);\n if (null == l) {\n a = 1;\n break a;\n }\n d.sd = l;\n 11 > a\n ? ((k = d.f.RGBA),\n (k.eb = l),\n (k.fb = 0),\n (k.A = h),\n (k.size = m))\n : ((k = d.f.kb),\n (k.y = l),\n (k.O = 0),\n (k.fa = h),\n (k.Fd = m),\n (k.f = l),\n (k.N = 0 + m),\n (k.Ab = b),\n (k.Cd = f),\n (k.ea = l),\n (k.W = 0 + m + f),\n (k.Db = b),\n (k.Ed = f),\n 12 == a && ((k.F = l), (k.J = 0 + m + 2 * f)),\n (k.Tc = g),\n (k.lb = e));\n }\n b = 1;\n e = d.S;\n f = d.width;\n g = d.height;\n if (e >= Ca && 13 > e)\n if (11 > e)\n (a = d.f.RGBA),\n (h = Math.abs(a.A)),\n (b &= h * (g - 1) + f <= a.size),\n (b &= h >= f * Dd[e]),\n (b &= null != a.eb);\n else {\n a = d.f.kb;\n h = (f + 1) / 2;\n m = (g + 1) / 2;\n k = Math.abs(a.fa);\n var l = Math.abs(a.Ab),\n n = Math.abs(a.Db),\n r = Math.abs(a.lb),\n q = r * (g - 1) + f;\n b &= k * (g - 1) + f <= a.Fd;\n b &= l * (m - 1) + h <= a.Cd;\n b &= n * (m - 1) + h <= a.Ed;\n b = b & (k >= f) & (l >= h) & (n >= h);\n b &= null != a.y;\n b &= null != a.f;\n b &= null != a.ea;\n 12 == e && ((b &= r >= f), (b &= q <= a.Tc), (b &= null != a.F));\n }\n else b = 0;\n a = b ? 0 : 2;\n }\n }\n if (0 != a) return a;\n null != c && c.fd && (a = Bd(d));\n return a;\n }\n var xb = 64,\n Hd = [\n 0,\n 1,\n 3,\n 7,\n 15,\n 31,\n 63,\n 127,\n 255,\n 511,\n 1023,\n 2047,\n 4095,\n 8191,\n 16383,\n 32767,\n 65535,\n 131071,\n 262143,\n 524287,\n 1048575,\n 2097151,\n 4194303,\n 8388607,\n 16777215\n ],\n Gd = 24,\n ob = 32,\n Xb = 8,\n Id = [\n 0,\n 0,\n 1,\n 1,\n 2,\n 2,\n 2,\n 2,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7\n ];\n X(\"Predictor0\", \"PredictorAdd0\");\n self.Predictor0 = function() {\n return 4278190080;\n };\n self.Predictor1 = function(a) {\n return a;\n };\n self.Predictor2 = function(a, b, c) {\n return b[c + 0];\n };\n self.Predictor3 = function(a, b, c) {\n return b[c + 1];\n };\n self.Predictor4 = function(a, b, c) {\n return b[c - 1];\n };\n self.Predictor5 = function(a, b, c) {\n return aa(aa(a, b[c + 1]), b[c + 0]);\n };\n self.Predictor6 = function(a, b, c) {\n return aa(a, b[c - 1]);\n };\n self.Predictor7 = function(a, b, c) {\n return aa(a, b[c + 0]);\n };\n self.Predictor8 = function(a, b, c) {\n return aa(b[c - 1], b[c + 0]);\n };\n self.Predictor9 = function(a, b, c) {\n return aa(b[c + 0], b[c + 1]);\n };\n self.Predictor10 = function(a, b, c) {\n return aa(aa(a, b[c - 1]), aa(b[c + 0], b[c + 1]));\n };\n self.Predictor11 = function(a, b, c) {\n var d = b[c + 0];\n b = b[c - 1];\n return 0 >=\n Ia((d >> 24) & 255, (a >> 24) & 255, (b >> 24) & 255) +\n Ia((d >> 16) & 255, (a >> 16) & 255, (b >> 16) & 255) +\n Ia((d >> 8) & 255, (a >> 8) & 255, (b >> 8) & 255) +\n Ia(d & 255, a & 255, b & 255)\n ? d\n : a;\n };\n self.Predictor12 = function(a, b, c) {\n var d = b[c + 0];\n b = b[c - 1];\n return (\n ((sa(((a >> 24) & 255) + ((d >> 24) & 255) - ((b >> 24) & 255)) << 24) |\n (sa(((a >> 16) & 255) + ((d >> 16) & 255) - ((b >> 16) & 255)) <<\n 16) |\n (sa(((a >> 8) & 255) + ((d >> 8) & 255) - ((b >> 8) & 255)) << 8) |\n sa((a & 255) + (d & 255) - (b & 255))) >>>\n 0\n );\n };\n self.Predictor13 = function(a, b, c) {\n var d = b[c - 1];\n a = aa(a, b[c + 0]);\n return (\n ((eb((a >> 24) & 255, (d >> 24) & 255) << 24) |\n (eb((a >> 16) & 255, (d >> 16) & 255) << 16) |\n (eb((a >> 8) & 255, (d >> 8) & 255) << 8) |\n eb((a >> 0) & 255, (d >> 0) & 255)) >>>\n 0\n );\n };\n var ee = self.PredictorAdd0;\n self.PredictorAdd1 = cc;\n X(\"Predictor2\", \"PredictorAdd2\");\n X(\"Predictor3\", \"PredictorAdd3\");\n X(\"Predictor4\", \"PredictorAdd4\");\n X(\"Predictor5\", \"PredictorAdd5\");\n X(\"Predictor6\", \"PredictorAdd6\");\n X(\"Predictor7\", \"PredictorAdd7\");\n X(\"Predictor8\", \"PredictorAdd8\");\n X(\"Predictor9\", \"PredictorAdd9\");\n X(\"Predictor10\", \"PredictorAdd10\");\n X(\"Predictor11\", \"PredictorAdd11\");\n X(\"Predictor12\", \"PredictorAdd12\");\n X(\"Predictor13\", \"PredictorAdd13\");\n var fe = self.PredictorAdd2;\n ec(\n \"ColorIndexInverseTransform\",\n \"MapARGB\",\n \"32b\",\n function(a) {\n return (a >> 8) & 255;\n },\n function(a) {\n return a;\n }\n );\n ec(\n \"VP8LColorIndexInverseTransformAlpha\",\n \"MapAlpha\",\n \"8b\",\n function(a) {\n return a;\n },\n function(a) {\n return (a >> 8) & 255;\n }\n );\n var rc = self.ColorIndexInverseTransform,\n ke = self.MapARGB,\n he = self.VP8LColorIndexInverseTransformAlpha,\n le = self.MapAlpha,\n pc,\n qc = (self.VP8LPredictorsAdd = []);\n qc.length = 16;\n (self.VP8LPredictors = []).length = 16;\n (self.VP8LPredictorsAdd_C = []).length = 16;\n (self.VP8LPredictors_C = []).length = 16;\n var Fb,\n sc,\n Gb,\n Hb,\n xc,\n uc,\n bd = V(511),\n cd = V(2041),\n dd = V(225),\n ed = V(767),\n ad = 0,\n Qb = cd,\n mb = dd,\n R = ed,\n U = bd,\n Ca = 0,\n Ua = 1,\n tc = 2,\n Va = 3,\n ya = 4,\n Db = 5,\n wc = 6,\n zb = 7,\n Ab = 8,\n Ja = 9,\n Bb = 10,\n pe = [2, 3, 7],\n oe = [3, 3, 11],\n Dc = [280, 256, 256, 256, 40],\n qe = [0, 1, 1, 1, 0],\n ne = [17, 18, 0, 1, 2, 3, 4, 5, 16, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],\n de = [\n 24,\n 7,\n 23,\n 25,\n 40,\n 6,\n 39,\n 41,\n 22,\n 26,\n 38,\n 42,\n 56,\n 5,\n 55,\n 57,\n 21,\n 27,\n 54,\n 58,\n 37,\n 43,\n 72,\n 4,\n 71,\n 73,\n 20,\n 28,\n 53,\n 59,\n 70,\n 74,\n 36,\n 44,\n 88,\n 69,\n 75,\n 52,\n 60,\n 3,\n 87,\n 89,\n 19,\n 29,\n 86,\n 90,\n 35,\n 45,\n 68,\n 76,\n 85,\n 91,\n 51,\n 61,\n 104,\n 2,\n 103,\n 105,\n 18,\n 30,\n 102,\n 106,\n 34,\n 46,\n 84,\n 92,\n 67,\n 77,\n 101,\n 107,\n 50,\n 62,\n 120,\n 1,\n 119,\n 121,\n 83,\n 93,\n 17,\n 31,\n 100,\n 108,\n 66,\n 78,\n 118,\n 122,\n 33,\n 47,\n 117,\n 123,\n 49,\n 63,\n 99,\n 109,\n 82,\n 94,\n 0,\n 116,\n 124,\n 65,\n 79,\n 16,\n 32,\n 98,\n 110,\n 48,\n 115,\n 125,\n 81,\n 95,\n 64,\n 114,\n 126,\n 97,\n 111,\n 80,\n 113,\n 127,\n 96,\n 112\n ],\n me = [\n 2954,\n 2956,\n 2958,\n 2962,\n 2970,\n 2986,\n 3018,\n 3082,\n 3212,\n 3468,\n 3980,\n 5004\n ],\n ie = 8,\n Lb = [\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 16,\n 17,\n 17,\n 18,\n 19,\n 20,\n 20,\n 21,\n 21,\n 22,\n 22,\n 23,\n 23,\n 24,\n 25,\n 25,\n 26,\n 27,\n 28,\n 29,\n 30,\n 31,\n 32,\n 33,\n 34,\n 35,\n 36,\n 37,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 43,\n 44,\n 45,\n 46,\n 46,\n 47,\n 48,\n 49,\n 50,\n 51,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 59,\n 60,\n 61,\n 62,\n 63,\n 64,\n 65,\n 66,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 75,\n 76,\n 76,\n 77,\n 78,\n 79,\n 80,\n 81,\n 82,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 91,\n 93,\n 95,\n 96,\n 98,\n 100,\n 101,\n 102,\n 104,\n 106,\n 108,\n 110,\n 112,\n 114,\n 116,\n 118,\n 122,\n 124,\n 126,\n 128,\n 130,\n 132,\n 134,\n 136,\n 138,\n 140,\n 143,\n 145,\n 148,\n 151,\n 154,\n 157\n ],\n Mb = [\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 16,\n 17,\n 18,\n 19,\n 20,\n 21,\n 22,\n 23,\n 24,\n 25,\n 26,\n 27,\n 28,\n 29,\n 30,\n 31,\n 32,\n 33,\n 34,\n 35,\n 36,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 43,\n 44,\n 45,\n 46,\n 47,\n 48,\n 49,\n 50,\n 51,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 60,\n 62,\n 64,\n 66,\n 68,\n 70,\n 72,\n 74,\n 76,\n 78,\n 80,\n 82,\n 84,\n 86,\n 88,\n 90,\n 92,\n 94,\n 96,\n 98,\n 100,\n 102,\n 104,\n 106,\n 108,\n 110,\n 112,\n 114,\n 116,\n 119,\n 122,\n 125,\n 128,\n 131,\n 134,\n 137,\n 140,\n 143,\n 146,\n 149,\n 152,\n 155,\n 158,\n 161,\n 164,\n 167,\n 170,\n 173,\n 177,\n 181,\n 185,\n 189,\n 193,\n 197,\n 201,\n 205,\n 209,\n 213,\n 217,\n 221,\n 225,\n 229,\n 234,\n 239,\n 245,\n 249,\n 254,\n 259,\n 264,\n 269,\n 274,\n 279,\n 284\n ],\n oa = null,\n He = [\n [173, 148, 140, 0],\n [176, 155, 140, 135, 0],\n [180, 157, 141, 134, 130, 0],\n [254, 254, 243, 230, 196, 177, 153, 140, 133, 130, 129, 0]\n ],\n Ie = [0, 1, 4, 8, 5, 2, 3, 6, 9, 12, 13, 10, 7, 11, 14, 15],\n Mc = [-0, 1, -1, 2, -2, 3, 4, 6, -3, 5, -4, -5, -6, 7, -7, 8, -8, -9],\n Fe = [\n [\n [\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [253, 136, 254, 255, 228, 219, 128, 128, 128, 128, 128],\n [189, 129, 242, 255, 227, 213, 255, 219, 128, 128, 128],\n [106, 126, 227, 252, 214, 209, 255, 255, 128, 128, 128]\n ],\n [\n [1, 98, 248, 255, 236, 226, 255, 255, 128, 128, 128],\n [181, 133, 238, 254, 221, 234, 255, 154, 128, 128, 128],\n [78, 134, 202, 247, 198, 180, 255, 219, 128, 128, 128]\n ],\n [\n [1, 185, 249, 255, 243, 255, 128, 128, 128, 128, 128],\n [184, 150, 247, 255, 236, 224, 128, 128, 128, 128, 128],\n [77, 110, 216, 255, 236, 230, 128, 128, 128, 128, 128]\n ],\n [\n [1, 101, 251, 255, 241, 255, 128, 128, 128, 128, 128],\n [170, 139, 241, 252, 236, 209, 255, 255, 128, 128, 128],\n [37, 116, 196, 243, 228, 255, 255, 255, 128, 128, 128]\n ],\n [\n [1, 204, 254, 255, 245, 255, 128, 128, 128, 128, 128],\n [207, 160, 250, 255, 238, 128, 128, 128, 128, 128, 128],\n [102, 103, 231, 255, 211, 171, 128, 128, 128, 128, 128]\n ],\n [\n [1, 152, 252, 255, 240, 255, 128, 128, 128, 128, 128],\n [177, 135, 243, 255, 234, 225, 128, 128, 128, 128, 128],\n [80, 129, 211, 255, 194, 224, 128, 128, 128, 128, 128]\n ],\n [\n [1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [246, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [255, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [198, 35, 237, 223, 193, 187, 162, 160, 145, 155, 62],\n [131, 45, 198, 221, 172, 176, 220, 157, 252, 221, 1],\n [68, 47, 146, 208, 149, 167, 221, 162, 255, 223, 128]\n ],\n [\n [1, 149, 241, 255, 221, 224, 255, 255, 128, 128, 128],\n [184, 141, 234, 253, 222, 220, 255, 199, 128, 128, 128],\n [81, 99, 181, 242, 176, 190, 249, 202, 255, 255, 128]\n ],\n [\n [1, 129, 232, 253, 214, 197, 242, 196, 255, 255, 128],\n [99, 121, 210, 250, 201, 198, 255, 202, 128, 128, 128],\n [23, 91, 163, 242, 170, 187, 247, 210, 255, 255, 128]\n ],\n [\n [1, 200, 246, 255, 234, 255, 128, 128, 128, 128, 128],\n [109, 178, 241, 255, 231, 245, 255, 255, 128, 128, 128],\n [44, 130, 201, 253, 205, 192, 255, 255, 128, 128, 128]\n ],\n [\n [1, 132, 239, 251, 219, 209, 255, 165, 128, 128, 128],\n [94, 136, 225, 251, 218, 190, 255, 255, 128, 128, 128],\n [22, 100, 174, 245, 186, 161, 255, 199, 128, 128, 128]\n ],\n [\n [1, 182, 249, 255, 232, 235, 128, 128, 128, 128, 128],\n [124, 143, 241, 255, 227, 234, 128, 128, 128, 128, 128],\n [35, 77, 181, 251, 193, 211, 255, 205, 128, 128, 128]\n ],\n [\n [1, 157, 247, 255, 236, 231, 255, 255, 128, 128, 128],\n [121, 141, 235, 255, 225, 227, 255, 255, 128, 128, 128],\n [45, 99, 188, 251, 195, 217, 255, 224, 128, 128, 128]\n ],\n [\n [1, 1, 251, 255, 213, 255, 128, 128, 128, 128, 128],\n [203, 1, 248, 255, 255, 128, 128, 128, 128, 128, 128],\n [137, 1, 177, 255, 224, 255, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [253, 9, 248, 251, 207, 208, 255, 192, 128, 128, 128],\n [175, 13, 224, 243, 193, 185, 249, 198, 255, 255, 128],\n [73, 17, 171, 221, 161, 179, 236, 167, 255, 234, 128]\n ],\n [\n [1, 95, 247, 253, 212, 183, 255, 255, 128, 128, 128],\n [239, 90, 244, 250, 211, 209, 255, 255, 128, 128, 128],\n [155, 77, 195, 248, 188, 195, 255, 255, 128, 128, 128]\n ],\n [\n [1, 24, 239, 251, 218, 219, 255, 205, 128, 128, 128],\n [201, 51, 219, 255, 196, 186, 128, 128, 128, 128, 128],\n [69, 46, 190, 239, 201, 218, 255, 228, 128, 128, 128]\n ],\n [\n [1, 191, 251, 255, 255, 128, 128, 128, 128, 128, 128],\n [223, 165, 249, 255, 213, 255, 128, 128, 128, 128, 128],\n [141, 124, 248, 255, 255, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 16, 248, 255, 255, 128, 128, 128, 128, 128, 128],\n [190, 36, 230, 255, 236, 255, 128, 128, 128, 128, 128],\n [149, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 226, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [247, 192, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [240, 128, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 134, 252, 255, 255, 128, 128, 128, 128, 128, 128],\n [213, 62, 250, 255, 255, 128, 128, 128, 128, 128, 128],\n [55, 93, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [202, 24, 213, 235, 186, 191, 220, 160, 240, 175, 255],\n [126, 38, 182, 232, 169, 184, 228, 174, 255, 187, 128],\n [61, 46, 138, 219, 151, 178, 240, 170, 255, 216, 128]\n ],\n [\n [1, 112, 230, 250, 199, 191, 247, 159, 255, 255, 128],\n [166, 109, 228, 252, 211, 215, 255, 174, 128, 128, 128],\n [39, 77, 162, 232, 172, 180, 245, 178, 255, 255, 128]\n ],\n [\n [1, 52, 220, 246, 198, 199, 249, 220, 255, 255, 128],\n [124, 74, 191, 243, 183, 193, 250, 221, 255, 255, 128],\n [24, 71, 130, 219, 154, 170, 243, 182, 255, 255, 128]\n ],\n [\n [1, 182, 225, 249, 219, 240, 255, 224, 128, 128, 128],\n [149, 150, 226, 252, 216, 205, 255, 171, 128, 128, 128],\n [28, 108, 170, 242, 183, 194, 254, 223, 255, 255, 128]\n ],\n [\n [1, 81, 230, 252, 204, 203, 255, 192, 128, 128, 128],\n [123, 102, 209, 247, 188, 196, 255, 233, 128, 128, 128],\n [20, 95, 153, 243, 164, 173, 255, 203, 128, 128, 128]\n ],\n [\n [1, 222, 248, 255, 216, 213, 128, 128, 128, 128, 128],\n [168, 175, 246, 252, 235, 205, 255, 255, 128, 128, 128],\n [47, 116, 215, 255, 211, 212, 255, 255, 128, 128, 128]\n ],\n [\n [1, 121, 236, 253, 212, 214, 255, 255, 128, 128, 128],\n [141, 84, 213, 252, 201, 202, 255, 219, 128, 128, 128],\n [42, 80, 160, 240, 162, 185, 255, 205, 128, 128, 128]\n ],\n [\n [1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [244, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [238, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ]\n ],\n Ke = [\n [\n [231, 120, 48, 89, 115, 113, 120, 152, 112],\n [152, 179, 64, 126, 170, 118, 46, 70, 95],\n [175, 69, 143, 80, 85, 82, 72, 155, 103],\n [56, 58, 10, 171, 218, 189, 17, 13, 152],\n [114, 26, 17, 163, 44, 195, 21, 10, 173],\n [121, 24, 80, 195, 26, 62, 44, 64, 85],\n [144, 71, 10, 38, 171, 213, 144, 34, 26],\n [170, 46, 55, 19, 136, 160, 33, 206, 71],\n [63, 20, 8, 114, 114, 208, 12, 9, 226],\n [81, 40, 11, 96, 182, 84, 29, 16, 36]\n ],\n [\n [134, 183, 89, 137, 98, 101, 106, 165, 148],\n [72, 187, 100, 130, 157, 111, 32, 75, 80],\n [66, 102, 167, 99, 74, 62, 40, 234, 128],\n [41, 53, 9, 178, 241, 141, 26, 8, 107],\n [74, 43, 26, 146, 73, 166, 49, 23, 157],\n [65, 38, 105, 160, 51, 52, 31, 115, 128],\n [104, 79, 12, 27, 217, 255, 87, 17, 7],\n [87, 68, 71, 44, 114, 51, 15, 186, 23],\n [47, 41, 14, 110, 182, 183, 21, 17, 194],\n [66, 45, 25, 102, 197, 189, 23, 18, 22]\n ],\n [\n [88, 88, 147, 150, 42, 46, 45, 196, 205],\n [43, 97, 183, 117, 85, 38, 35, 179, 61],\n [39, 53, 200, 87, 26, 21, 43, 232, 171],\n [56, 34, 51, 104, 114, 102, 29, 93, 77],\n [39, 28, 85, 171, 58, 165, 90, 98, 64],\n [34, 22, 116, 206, 23, 34, 43, 166, 73],\n [107, 54, 32, 26, 51, 1, 81, 43, 31],\n [68, 25, 106, 22, 64, 171, 36, 225, 114],\n [34, 19, 21, 102, 132, 188, 16, 76, 124],\n [62, 18, 78, 95, 85, 57, 50, 48, 51]\n ],\n [\n [193, 101, 35, 159, 215, 111, 89, 46, 111],\n [60, 148, 31, 172, 219, 228, 21, 18, 111],\n [112, 113, 77, 85, 179, 255, 38, 120, 114],\n [40, 42, 1, 196, 245, 209, 10, 25, 109],\n [88, 43, 29, 140, 166, 213, 37, 43, 154],\n [61, 63, 30, 155, 67, 45, 68, 1, 209],\n [100, 80, 8, 43, 154, 1, 51, 26, 71],\n [142, 78, 78, 16, 255, 128, 34, 197, 171],\n [41, 40, 5, 102, 211, 183, 4, 1, 221],\n [51, 50, 17, 168, 209, 192, 23, 25, 82]\n ],\n [\n [138, 31, 36, 171, 27, 166, 38, 44, 229],\n [67, 87, 58, 169, 82, 115, 26, 59, 179],\n [63, 59, 90, 180, 59, 166, 93, 73, 154],\n [40, 40, 21, 116, 143, 209, 34, 39, 175],\n [47, 15, 16, 183, 34, 223, 49, 45, 183],\n [46, 17, 33, 183, 6, 98, 15, 32, 183],\n [57, 46, 22, 24, 128, 1, 54, 17, 37],\n [65, 32, 73, 115, 28, 128, 23, 128, 205],\n [40, 3, 9, 115, 51, 192, 18, 6, 223],\n [87, 37, 9, 115, 59, 77, 64, 21, 47]\n ],\n [\n [104, 55, 44, 218, 9, 54, 53, 130, 226],\n [64, 90, 70, 205, 40, 41, 23, 26, 57],\n [54, 57, 112, 184, 5, 41, 38, 166, 213],\n [30, 34, 26, 133, 152, 116, 10, 32, 134],\n [39, 19, 53, 221, 26, 114, 32, 73, 255],\n [31, 9, 65, 234, 2, 15, 1, 118, 73],\n [75, 32, 12, 51, 192, 255, 160, 43, 51],\n [88, 31, 35, 67, 102, 85, 55, 186, 85],\n [56, 21, 23, 111, 59, 205, 45, 37, 192],\n [55, 38, 70, 124, 73, 102, 1, 34, 98]\n ],\n [\n [125, 98, 42, 88, 104, 85, 117, 175, 82],\n [95, 84, 53, 89, 128, 100, 113, 101, 45],\n [75, 79, 123, 47, 51, 128, 81, 171, 1],\n [57, 17, 5, 71, 102, 57, 53, 41, 49],\n [38, 33, 13, 121, 57, 73, 26, 1, 85],\n [41, 10, 67, 138, 77, 110, 90, 47, 114],\n [115, 21, 2, 10, 102, 255, 166, 23, 6],\n [101, 29, 16, 10, 85, 128, 101, 196, 26],\n [57, 18, 10, 102, 102, 213, 34, 20, 43],\n [117, 20, 15, 36, 163, 128, 68, 1, 26]\n ],\n [\n [102, 61, 71, 37, 34, 53, 31, 243, 192],\n [69, 60, 71, 38, 73, 119, 28, 222, 37],\n [68, 45, 128, 34, 1, 47, 11, 245, 171],\n [62, 17, 19, 70, 146, 85, 55, 62, 70],\n [37, 43, 37, 154, 100, 163, 85, 160, 1],\n [63, 9, 92, 136, 28, 64, 32, 201, 85],\n [75, 15, 9, 9, 64, 255, 184, 119, 16],\n [86, 6, 28, 5, 64, 255, 25, 248, 1],\n [56, 8, 17, 132, 137, 255, 55, 116, 128],\n [58, 15, 20, 82, 135, 57, 26, 121, 40]\n ],\n [\n [164, 50, 31, 137, 154, 133, 25, 35, 218],\n [51, 103, 44, 131, 131, 123, 31, 6, 158],\n [86, 40, 64, 135, 148, 224, 45, 183, 128],\n [22, 26, 17, 131, 240, 154, 14, 1, 209],\n [45, 16, 21, 91, 64, 222, 7, 1, 197],\n [56, 21, 39, 155, 60, 138, 23, 102, 213],\n [83, 12, 13, 54, 192, 255, 68, 47, 28],\n [85, 26, 85, 85, 128, 128, 32, 146, 171],\n [18, 11, 7, 63, 144, 171, 4, 4, 246],\n [35, 27, 10, 146, 174, 171, 12, 26, 128]\n ],\n [\n [190, 80, 35, 99, 180, 80, 126, 54, 45],\n [85, 126, 47, 87, 176, 51, 41, 20, 32],\n [101, 75, 128, 139, 118, 146, 116, 128, 85],\n [56, 41, 15, 176, 236, 85, 37, 9, 62],\n [71, 30, 17, 119, 118, 255, 17, 18, 138],\n [101, 38, 60, 138, 55, 70, 43, 26, 142],\n [146, 36, 19, 30, 171, 255, 97, 27, 20],\n [138, 45, 61, 62, 219, 1, 81, 188, 64],\n [32, 41, 20, 117, 151, 142, 20, 21, 163],\n [112, 19, 12, 61, 195, 128, 48, 4, 24]\n ]\n ],\n Ee = [\n [\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [176, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [223, 241, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 244, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [234, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 246, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [239, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 253, 255, 254, 255, 255, 255, 255, 255, 255],\n [250, 255, 254, 255, 254, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [225, 252, 241, 253, 255, 255, 254, 255, 255, 255, 255],\n [234, 250, 241, 250, 253, 255, 253, 254, 255, 255, 255]\n ],\n [\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [223, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [238, 253, 254, 254, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [247, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [186, 251, 250, 255, 255, 255, 255, 255, 255, 255, 255],\n [234, 251, 244, 254, 255, 255, 255, 255, 255, 255, 255],\n [251, 251, 243, 253, 254, 255, 254, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [236, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 253, 253, 254, 254, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 254, 252, 254, 255, 255, 255, 255, 255, 255, 255],\n [248, 254, 249, 253, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [246, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 254, 251, 254, 254, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [248, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 254, 254, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [245, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 251, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ]\n ],\n Ge = [0, 1, 2, 3, 6, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 0],\n Nc,\n Y = [],\n W = [],\n ka = [],\n Za,\n fd,\n Nb,\n pa,\n Ob,\n Xc,\n Tc,\n Yc,\n Uc,\n Zc,\n Vc,\n $c,\n Wc,\n Rc,\n Pc,\n Sc,\n Qc,\n re = 1,\n Cc = 2,\n ia = [],\n za,\n vc,\n fc,\n Fc,\n P = [];\n va(\"UpsampleRgbLinePair\", Ga, 3);\n va(\"UpsampleBgrLinePair\", Tb, 3);\n va(\"UpsampleRgbaLinePair\", wd, 4);\n va(\"UpsampleBgraLinePair\", vd, 4);\n va(\"UpsampleArgbLinePair\", ud, 4);\n va(\"UpsampleRgba4444LinePair\", td, 2);\n va(\"UpsampleRgb565LinePair\", sd, 2);\n var Mf = self.UpsampleRgbLinePair,\n Nf = self.UpsampleBgrLinePair,\n nd = self.UpsampleRgbaLinePair,\n od = self.UpsampleBgraLinePair,\n pd = self.UpsampleArgbLinePair,\n qd = self.UpsampleRgba4444LinePair,\n Of = self.UpsampleRgb565LinePair,\n Wa = 16,\n Ba = 1 << (Wa - 1),\n ta = -227,\n Eb = 482,\n rd = 6,\n Pf = (256 << rd) - 1,\n jc = 0,\n Yd = V(256),\n ae = V(256),\n $d = V(256),\n Zd = V(256),\n be = V(Eb - ta),\n ce = V(Eb - ta);\n la(\"YuvToRgbRow\", Ga, 3);\n la(\"YuvToBgrRow\", Tb, 3);\n la(\"YuvToRgbaRow\", wd, 4);\n la(\"YuvToBgraRow\", vd, 4);\n la(\"YuvToArgbRow\", ud, 4);\n la(\"YuvToRgba4444Row\", td, 2);\n la(\"YuvToRgb565Row\", sd, 2);\n var zd = [\n 0,\n 4,\n 8,\n 12,\n 128,\n 132,\n 136,\n 140,\n 256,\n 260,\n 264,\n 268,\n 384,\n 388,\n 392,\n 396\n ],\n Ya = [0, 2, 8],\n Qf = [8, 7, 6, 4, 4, 2, 2, 2, 1, 1, 1, 1],\n Ne = 1;\n this.WebPDecodeRGBA = function(a, b, c, d, e) {\n var f = Ua;\n var g = new Cf(),\n h = new Cb();\n g.ba = h;\n h.S = f;\n h.width = [h.width];\n h.height = [h.height];\n var k = h.width;\n var l = h.height,\n m = new Td();\n if (null == m || null == a) var n = 2;\n else\n x(null != m),\n (n = Ad(a, b, c, m.width, m.height, m.Pd, m.Qd, m.format, null));\n 0 != n\n ? (k = 0)\n : (null != k && (k[0] = m.width[0]),\n null != l && (l[0] = m.height[0]),\n (k = 1));\n if (k) {\n h.width = h.width[0];\n h.height = h.height[0];\n null != d && (d[0] = h.width);\n null != e && (e[0] = h.height);\n b: {\n d = new Oa();\n e = new md();\n e.data = a;\n e.w = b;\n e.ha = c;\n e.kd = 1;\n b = [0];\n x(null != e);\n a = Ad(e.data, e.w, e.ha, null, null, null, b, null, e);\n (0 == a || 7 == a) && b[0] && (a = 4);\n b = a;\n if (0 == b) {\n x(null != g);\n d.data = e.data;\n d.w = e.w + e.offset;\n d.ha = e.ha - e.offset;\n d.put = kc;\n d.ac = gc;\n d.bc = lc;\n d.ma = g;\n if (e.xa) {\n a = Bc();\n if (null == a) {\n g = 1;\n break b;\n }\n if (te(a, d)) {\n b = Cd(d.width, d.height, g.Oa, g.ba);\n if ((d = 0 == b)) {\n c: {\n d = a;\n d: for (;;) {\n if (null == d) {\n d = 0;\n break c;\n }\n x(null != d.s.yc);\n x(null != d.s.Ya);\n x(0 < d.s.Wb);\n c = d.l;\n x(null != c);\n e = c.ma;\n x(null != e);\n if (0 != d.xb) {\n d.ca = e.ba;\n d.tb = e.tb;\n x(null != d.ca);\n if (!hc(e.Oa, c, Va)) {\n d.a = 2;\n break d;\n }\n if (!Ec(d, c.width)) break d;\n if (c.da) break d;\n (c.da || hb(d.ca.S)) && Aa();\n 11 > d.ca.S ||\n (alert(\"todo:WebPInitConvertARGBToYUV\"),\n null != d.ca.f.kb.F && Aa());\n if (\n d.Pb &&\n 0 < d.s.ua &&\n null == d.s.vb.X &&\n !Zb(d.s.vb, d.s.Wa.Xa)\n ) {\n d.a = 1;\n break d;\n }\n d.xb = 0;\n }\n if (!Jb(d, d.V, d.Ba, d.c, d.i, c.o, ge)) break d;\n e.Dc = d.Ma;\n d = 1;\n break c;\n }\n x(0 != d.a);\n d = 0;\n }\n d = !d;\n }\n d && (b = a.a);\n } else b = a.a;\n } else {\n a = new Ce();\n if (null == a) {\n g = 1;\n break b;\n }\n a.Fa = e.na;\n a.P = e.P;\n a.qc = e.Sa;\n if (Kc(a, d)) {\n if (((b = Cd(d.width, d.height, g.Oa, g.ba)), 0 == b)) {\n a.Aa = 0;\n c = g.Oa;\n e = a;\n x(null != e);\n if (null != c) {\n k = c.Md;\n k = 0 > k ? 0 : 100 < k ? 255 : (255 * k) / 100;\n if (0 < k) {\n for (l = m = 0; 4 > l; ++l)\n (n = e.pb[l]),\n 12 > n.lc &&\n (n.ia = (k * Qf[0 > n.lc ? 0 : n.lc]) >> 3),\n (m |= n.ia);\n m && (alert(\"todo:VP8InitRandom\"), (e.ia = 1));\n }\n e.Ga = c.Id;\n 100 < e.Ga ? (e.Ga = 100) : 0 > e.Ga && (e.Ga = 0);\n }\n Me(a, d) || (b = a.a);\n }\n } else b = a.a;\n }\n 0 == b && null != g.Oa && g.Oa.fd && (b = Bd(g.ba));\n }\n g = b;\n }\n f = 0 != g ? null : 11 > f ? h.f.RGBA.eb : h.f.kb.y;\n } else f = null;\n return f;\n };\n var Dd = [3, 4, 3, 4, 4, 2, 2, 4, 4, 4, 2, 1, 1];\n };\n new _WebPDecoder();\n\n /** @license\n * Copyright (c) 2017 Dominik Homberger\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nhttps://webpjs.appspot.com\nWebPRiffParser dominikhlbg@gmail.com\n*/\n\n function memcmp(data, data_off, str, size) {\n for (var i = 0; i < size; i++)\n if (data[data_off + i] != str.charCodeAt(i)) return true;\n return false;\n }\n\n function GetTag(data, data_off) {\n var str = \"\";\n for (var i = 0; i < 4; i++) str += String.fromCharCode(data[data_off++]);\n return str;\n }\n\n function GetLE16(data, data_off) {\n return (data[data_off + 0] << 0) | (data[data_off + 1] << 8);\n }\n\n function GetLE24(data, data_off) {\n return (\n ((data[data_off + 0] << 0) |\n (data[data_off + 1] << 8) |\n (data[data_off + 2] << 16)) >>>\n 0\n );\n }\n\n function GetLE32(data, data_off) {\n return (\n ((data[data_off + 0] << 0) |\n (data[data_off + 1] << 8) |\n (data[data_off + 2] << 16) |\n (data[data_off + 3] << 24)) >>>\n 0\n );\n }\n\n function WebPRiffParser(src, src_off) {\n var imagearray = {};\n var i = 0;\n var alpha_chunk = false;\n var alpha_size = 0;\n var alpha_offset = 0;\n imagearray[\"frames\"] = [];\n if (memcmp(src, src_off, \"RIFF\", 4)) return;\n src_off += 4;\n var riff_size = GetLE32(src, src_off) + 8;\n src_off += 8;\n\n while (src_off < src.length) {\n var fourcc = GetTag(src, src_off);\n src_off += 4;\n\n var payload_size = GetLE32(src, src_off);\n src_off += 4;\n var payload_size_padded = payload_size + (payload_size & 1);\n\n switch (fourcc) {\n case \"VP8 \":\n case \"VP8L\":\n if (typeof imagearray[\"frames\"][i] === \"undefined\")\n imagearray[\"frames\"][i] = {};\n var obj = imagearray[\"frames\"][i];\n var height = [0];\n var width = [0];\n obj[\"src_off\"] = alpha_chunk ? alpha_offset : src_off - 8;\n obj[\"src_size\"] = alpha_size + payload_size + 8;\n //var rgba = webpdecoder.WebPDecodeRGBA(src,(alpha_chunk?alpha_offset:src_off-8),alpha_size+payload_size+8,width,height);\n //imagearray[i]={'rgba':rgba,'width':width[0],'height':height[0]};\n i++;\n if (alpha_chunk) {\n alpha_chunk = false;\n alpha_size = 0;\n alpha_offset = 0;\n }\n break;\n case \"VP8X\":\n var obj = (imagearray[\"header\"] = {});\n var feature_flags = (obj[\"feature_flags\"] = src[src_off]);\n var src_off_ = src_off + 4;\n var canvas_width = (obj[\"canvas_width\"] = 1 + GetLE24(src, src_off_));\n src_off_ += 3;\n var canvas_height = (obj[\"canvas_height\"] =\n 1 + GetLE24(src, src_off_));\n src_off_ += 3;\n break;\n case \"ALPH\":\n alpha_chunk = true;\n alpha_size = payload_size_padded + 8;\n alpha_offset = src_off - 8;\n break;\n\n case \"ANIM\":\n var obj = imagearray[\"header\"];\n var bgcolor = (obj[\"bgcolor\"] = GetLE32(src, src_off));\n src_off_ = src_off + 4;\n\n var loop_count = (obj[\"loop_count\"] = GetLE16(src, src_off_));\n src_off_ += 2;\n break;\n case \"ANMF\":\n var offset_x = 0,\n offset_y = 0,\n width = 0,\n height = 0,\n duration = 0,\n blend = 0,\n dispose = 0,\n temp = 0;\n var obj = (imagearray[\"frames\"][i] = {});\n obj[\"offset_x\"] = offset_x = 2 * GetLE24(src, src_off);\n src_off += 3;\n obj[\"offset_y\"] = offset_y = 2 * GetLE24(src, src_off);\n src_off += 3;\n obj[\"width\"] = width = 1 + GetLE24(src, src_off);\n src_off += 3;\n obj[\"height\"] = height = 1 + GetLE24(src, src_off);\n src_off += 3;\n obj[\"duration\"] = duration = GetLE24(src, src_off);\n src_off += 3;\n temp = src[src_off++];\n obj[\"dispose\"] = dispose = temp & 1;\n obj[\"blend\"] = blend = (temp >> 1) & 1;\n break;\n default:\n }\n if (fourcc != \"ANMF\") src_off += payload_size_padded;\n }\n return imagearray;\n }\n\n var height = [0];\n var width = [0];\n var pixels = [];\n var webpdecoder = new _WebPDecoder();\n\n var response = imageData;\n var imagearray = WebPRiffParser(response, 0);\n imagearray[\"response\"] = response;\n imagearray[\"rgbaoutput\"] = true;\n imagearray[\"dataurl\"] = false;\n\n var header = imagearray[\"header\"] ? imagearray[\"header\"] : null;\n var frames = imagearray[\"frames\"] ? imagearray[\"frames\"] : null;\n\n if (header) {\n header[\"loop_counter\"] = header[\"loop_count\"];\n height = [header[\"canvas_height\"]];\n width = [header[\"canvas_width\"]];\n\n var blend = false;\n for (var f = 0; f < frames.length; f++)\n if (frames[f][\"blend\"] == 0) {\n blend = true;\n break;\n }\n }\n\n var frame = frames[0];\n var rgba = webpdecoder.WebPDecodeRGBA(\n response,\n frame[\"src_off\"],\n frame[\"src_size\"],\n width,\n height\n );\n frame[\"rgba\"] = rgba;\n frame[\"imgwidth\"] = width[0];\n frame[\"imgheight\"] = height[0];\n\n for (var i = 0; i < width[0] * height[0] * 4; i++) {\n pixels[i] = rgba[i];\n }\n\n this.width = width;\n this.height = height;\n this.data = pixels;\n return this;\n}\n\nWebPDecoder.prototype.getData = function() {\n return this.data;\n};\n\nexport { WebPDecoder };\n","/**\n * @license\n *\n * Copyright (c) 2014 James Robb, https://github.com/jamesbrobb\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { zlibSync } from \"../libs/fflate.js\";\nimport { PNG } from \"../libs/png.js\";\n\n/**\n * jsPDF PNG PlugIn\n * @name png_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /*\n * @see http://www.w3.org/TR/PNG-Chunks.html\n *\n Color Allowed Interpretation\n Type Bit Depths\n\n 0 1,2,4,8,16 Each pixel is a grayscale sample.\n\n 2 8,16 Each pixel is an R,G,B triple.\n\n 3 1,2,4,8 Each pixel is a palette index;\n a PLTE chunk must appear.\n\n 4 8,16 Each pixel is a grayscale sample,\n followed by an alpha sample.\n\n 6 8,16 Each pixel is an R,G,B triple,\n followed by an alpha sample.\n */\n\n /*\n * PNG filter method types\n *\n * @see http://www.w3.org/TR/PNG-Filters.html\n * @see http://www.libpng.org/pub/png/book/chapter09.html\n *\n * This is what the value 'Predictor' in decode params relates to\n *\n * 15 is \"optimal prediction\", which means the prediction algorithm can change from line to line.\n * In that case, you actually have to read the first byte off each line for the prediction algorthim (which should be 0-4, corresponding to PDF 10-14) and select the appropriate unprediction algorithm based on that byte.\n *\n 0 None\n 1 Sub\n 2 Up\n 3 Average\n 4 Paeth\n */\n\n var canCompress = function(value) {\n return value !== jsPDFAPI.image_compression.NONE && hasCompressionJS();\n };\n\n var hasCompressionJS = function() {\n return typeof zlibSync === \"function\";\n };\n var compressBytes = function(bytes, lineLength, colorsPerPixel, compression) {\n var level = 4;\n var filter_method = filterUp;\n\n switch (compression) {\n case jsPDFAPI.image_compression.FAST:\n level = 1;\n filter_method = filterSub;\n break;\n\n case jsPDFAPI.image_compression.MEDIUM:\n level = 6;\n filter_method = filterAverage;\n break;\n\n case jsPDFAPI.image_compression.SLOW:\n level = 9;\n filter_method = filterPaeth;\n break;\n }\n\n bytes = applyPngFilterMethod(\n bytes,\n lineLength,\n colorsPerPixel,\n filter_method\n );\n var dat = zlibSync(bytes, { level: level });\n return jsPDFAPI.__addimage__.arrayBufferToBinaryString(dat);\n };\n\n var applyPngFilterMethod = function(\n bytes,\n lineLength,\n colorsPerPixel,\n filter_method\n ) {\n var lines = bytes.length / lineLength,\n result = new Uint8Array(bytes.length + lines),\n filter_methods = getFilterMethods(),\n line,\n prevLine,\n offset;\n\n for (var i = 0; i < lines; i += 1) {\n offset = i * lineLength;\n line = bytes.subarray(offset, offset + lineLength);\n\n if (filter_method) {\n result.set(filter_method(line, colorsPerPixel, prevLine), offset + i);\n } else {\n var len = filter_methods.length,\n results = [];\n\n for (var j; j < len; j += 1) {\n results[j] = filter_methods[j](line, colorsPerPixel, prevLine);\n }\n\n var ind = getIndexOfSmallestSum(results.concat());\n\n result.set(results[ind], offset + i);\n }\n\n prevLine = line;\n }\n\n return result;\n };\n\n var filterNone = function(line) {\n /*var result = new Uint8Array(line.length + 1);\n result[0] = 0;\n result.set(line, 1);*/\n\n var result = Array.apply([], line);\n result.unshift(0);\n\n return result;\n };\n\n var filterSub = function(line, colorsPerPixel) {\n var result = [],\n len = line.length,\n left;\n\n result[0] = 1;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n result[i + 1] = (line[i] - left + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var filterUp = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n up;\n\n result[0] = 2;\n\n for (var i = 0; i < len; i += 1) {\n up = (prevLine && prevLine[i]) || 0;\n result[i + 1] = (line[i] - up + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var filterAverage = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n left,\n up;\n\n result[0] = 3;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n up = (prevLine && prevLine[i]) || 0;\n result[i + 1] = (line[i] + 0x0100 - ((left + up) >>> 1)) & 0xff;\n }\n\n return result;\n };\n\n var filterPaeth = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n left,\n up,\n upLeft,\n paeth;\n\n result[0] = 4;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n up = (prevLine && prevLine[i]) || 0;\n upLeft = (prevLine && prevLine[i - colorsPerPixel]) || 0;\n paeth = paethPredictor(left, up, upLeft);\n result[i + 1] = (line[i] - paeth + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var paethPredictor = function(left, up, upLeft) {\n if (left === up && up === upLeft) {\n return left;\n }\n var pLeft = Math.abs(up - upLeft),\n pUp = Math.abs(left - upLeft),\n pUpLeft = Math.abs(left + up - upLeft - upLeft);\n return pLeft <= pUp && pLeft <= pUpLeft\n ? left\n : pUp <= pUpLeft\n ? up\n : upLeft;\n };\n\n var getFilterMethods = function() {\n return [filterNone, filterSub, filterUp, filterAverage, filterPaeth];\n };\n\n var getIndexOfSmallestSum = function(arrays) {\n var sum = arrays.map(function(value) {\n return value.reduce(function(pv, cv) {\n return pv + Math.abs(cv);\n }, 0);\n });\n return sum.indexOf(Math.min.apply(null, sum));\n };\n\n var getPredictorFromCompression = function(compression) {\n var predictor;\n switch (compression) {\n case jsPDFAPI.image_compression.FAST:\n predictor = 11;\n break;\n\n case jsPDFAPI.image_compression.MEDIUM:\n predictor = 13;\n break;\n\n case jsPDFAPI.image_compression.SLOW:\n predictor = 14;\n break;\n\n default:\n predictor = 12;\n break;\n }\n return predictor;\n };\n\n /**\n * @name processPNG\n * @function\n * @ignore\n */\n jsPDFAPI.processPNG = function(imageData, index, alias, compression) {\n \"use strict\";\n\n var colorSpace,\n filter = this.decode.FLATE_DECODE,\n bitsPerComponent,\n image,\n decodeParameters = \"\",\n trns,\n colors,\n pal,\n smask,\n pixels,\n len,\n alphaData,\n imgData,\n hasColors,\n pixel,\n i,\n n;\n\n if (this.__addimage__.isArrayBuffer(imageData))\n imageData = new Uint8Array(imageData);\n\n if (this.__addimage__.isArrayBufferView(imageData)) {\n image = new PNG(imageData);\n imageData = image.imgData;\n bitsPerComponent = image.bits;\n colorSpace = image.colorSpace;\n colors = image.colors;\n\n /*\n * colorType 6 - Each pixel is an R,G,B triple, followed by an alpha sample.\n *\n * colorType 4 - Each pixel is a grayscale sample, followed by an alpha sample.\n *\n * Extract alpha to create two separate images, using the alpha as a sMask\n */\n if ([4, 6].indexOf(image.colorType) !== -1) {\n /*\n * processes 8 bit RGBA and grayscale + alpha images\n */\n if (image.bits === 8) {\n pixels =\n image.pixelBitlength == 32\n ? new Uint32Array(image.decodePixels().buffer)\n : image.pixelBitlength == 16\n ? new Uint16Array(image.decodePixels().buffer)\n : new Uint8Array(image.decodePixels().buffer);\n len = pixels.length;\n imgData = new Uint8Array(len * image.colors);\n alphaData = new Uint8Array(len);\n var pDiff = image.pixelBitlength - image.bits;\n i = 0;\n n = 0;\n var pbl;\n\n for (; i < len; i++) {\n pixel = pixels[i];\n pbl = 0;\n\n while (pbl < pDiff) {\n imgData[n++] = (pixel >>> pbl) & 0xff;\n pbl = pbl + image.bits;\n }\n\n alphaData[i] = (pixel >>> pbl) & 0xff;\n }\n }\n\n /*\n * processes 16 bit RGBA and grayscale + alpha images\n */\n if (image.bits === 16) {\n pixels = new Uint32Array(image.decodePixels().buffer);\n len = pixels.length;\n imgData = new Uint8Array(\n len * (32 / image.pixelBitlength) * image.colors\n );\n alphaData = new Uint8Array(len * (32 / image.pixelBitlength));\n hasColors = image.colors > 1;\n i = 0;\n n = 0;\n var a = 0;\n\n while (i < len) {\n pixel = pixels[i++];\n\n imgData[n++] = (pixel >>> 0) & 0xff;\n\n if (hasColors) {\n imgData[n++] = (pixel >>> 16) & 0xff;\n\n pixel = pixels[i++];\n imgData[n++] = (pixel >>> 0) & 0xff;\n }\n\n alphaData[a++] = (pixel >>> 16) & 0xff;\n }\n bitsPerComponent = 8;\n }\n\n if (canCompress(compression)) {\n imageData = compressBytes(\n imgData,\n image.width * image.colors,\n image.colors,\n compression\n );\n smask = compressBytes(alphaData, image.width, 1, compression);\n } else {\n imageData = imgData;\n smask = alphaData;\n filter = undefined;\n }\n }\n\n /*\n * Indexed png. Each pixel is a palette index.\n */\n if (image.colorType === 3) {\n colorSpace = this.color_spaces.INDEXED;\n pal = image.palette;\n\n if (image.transparency.indexed) {\n var trans = image.transparency.indexed;\n var total = 0;\n i = 0;\n len = trans.length;\n\n for (; i < len; ++i) {\n total += trans[i];\n }\n\n total = total / 255;\n\n /*\n * a single color is specified as 100% transparent (0),\n * so we set trns to use a /Mask with that index\n */\n if (total === len - 1 && trans.indexOf(0) !== -1) {\n trns = [trans.indexOf(0)];\n\n /*\n * there's more than one colour within the palette that specifies\n * a transparency value less than 255, so we unroll the pixels to create an image sMask\n */\n } else if (total !== len) {\n pixels = image.decodePixels();\n alphaData = new Uint8Array(pixels.length);\n i = 0;\n len = pixels.length;\n\n for (; i < len; i++) {\n alphaData[i] = trans[pixels[i]];\n }\n\n smask = compressBytes(alphaData, image.width, 1);\n }\n }\n }\n\n var predictor = getPredictorFromCompression(compression);\n\n if (filter === this.decode.FLATE_DECODE) {\n decodeParameters = \"/Predictor \" + predictor + \" \";\n }\n decodeParameters +=\n \"/Colors \" +\n colors +\n \" /BitsPerComponent \" +\n bitsPerComponent +\n \" /Columns \" +\n image.width;\n\n if (\n this.__addimage__.isArrayBuffer(imageData) ||\n this.__addimage__.isArrayBufferView(imageData)\n ) {\n imageData = this.__addimage__.arrayBufferToBinaryString(imageData);\n }\n\n if (\n (smask && this.__addimage__.isArrayBuffer(smask)) ||\n this.__addimage__.isArrayBufferView(smask)\n ) {\n smask = this.__addimage__.arrayBufferToBinaryString(smask);\n }\n\n return {\n alias: alias,\n data: imageData,\n index: index,\n filter: filter,\n decodeParameters: decodeParameters,\n transparency: trns,\n palette: pal,\n sMask: smask,\n predictor: predictor,\n width: image.width,\n height: image.height,\n bitsPerComponent: bitsPerComponent,\n colorSpace: colorSpace\n };\n }\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2017 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { GifReader } from \"../libs/omggif.js\";\nimport { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\n\n/**\n * jsPDF Gif Support PlugIn\n *\n * @name gif_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processGIF89A = function(imageData, index, alias, compression) {\n var reader = new GifReader(imageData);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = [];\n\n reader.decodeAndBlitFrameRGBA(0, pixels);\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n\n jsPDFAPI.processGIF87A = jsPDFAPI.processGIF89A;\n})(jsPDF.API);\n","import { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\nimport { BmpDecoder } from \"../libs/BMPDecoder.js\";\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @license\n * Copyright (c) 2018 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\n/**\n * jsPDF bmp Support PlugIn\n * @name bmp_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processBMP = function(imageData, index, alias, compression) {\n var reader = new BmpDecoder(imageData, false);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = reader.getData();\n\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2019 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\nimport { WebPDecoder } from \"../libs/WebPDecoder.js\";\n\n/**\n * jsPDF webp Support PlugIn\n *\n * @name webp_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processWEBP = function(imageData, index, alias, compression) {\n var reader = new WebPDecoder(imageData, false);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = reader.getData();\n\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n})(jsPDF.API);\n","/**\n * @license\n *\n * Copyright (c) 2021 Antti Palola, https://github.com/Pantura\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF RGBA array PlugIn\n * @name rgba_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * @name processRGBA\n * @function\n *\n * Process RGBA Array. This is a one-dimension array with pixel data [red, green, blue, alpha, red, green, ...].\n * RGBA array data can be obtained from DOM canvas getImageData.\n * @ignore\n */\n jsPDFAPI.processRGBA = function(imageData, index, alias) {\n \"use strict\";\n\n var imagePixels = imageData.data;\n var length = imagePixels.length;\n // jsPDF takes alpha data separately so extract that.\n var rgbOut = new Uint8Array((length / 4) * 3);\n var alphaOut = new Uint8Array(length / 4);\n var outIndex = 0;\n var alphaIndex = 0;\n\n for (var i = 0; i < length; i += 4) {\n var r = imagePixels[i];\n var g = imagePixels[i + 1];\n var b = imagePixels[i + 2];\n var alpha = imagePixels[i + 3];\n rgbOut[outIndex++] = r;\n rgbOut[outIndex++] = g;\n rgbOut[outIndex++] = b;\n alphaOut[alphaIndex++] = alpha;\n }\n\n var rgbData = this.__addimage__.arrayBufferToBinaryString(rgbOut);\n var alphaData = this.__addimage__.arrayBufferToBinaryString(alphaOut);\n\n return {\n alpha: alphaData,\n data: rgbData,\n index: index,\n alias: alias,\n colorSpace: \"DeviceRGB\",\n bitsPerComponent: 8,\n width: imageData.width,\n height: imageData.height\n };\n };\n})(jsPDF.API);\n","/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF setLanguage Plugin\n *\n * @name setLanguage\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * Add Language Tag to the generated PDF\n *\n * @name setLanguage\n * @function\n * @param {string} langCode The Language code as ISO-639-1 (e.g. 'en') or as country language code (e.g. 'en-GB').\n * @returns {jsPDF}\n * @example\n * var doc = new jsPDF()\n * doc.text(10, 10, 'This is a test')\n * doc.setLanguage(\"en-US\")\n * doc.save('english.pdf')\n */\n jsPDFAPI.setLanguage = function(langCode) {\n \"use strict\";\n\n var langCodes = {\n af: \"Afrikaans\",\n sq: \"Albanian\",\n ar: \"Arabic (Standard)\",\n \"ar-DZ\": \"Arabic (Algeria)\",\n \"ar-BH\": \"Arabic (Bahrain)\",\n \"ar-EG\": \"Arabic (Egypt)\",\n \"ar-IQ\": \"Arabic (Iraq)\",\n \"ar-JO\": \"Arabic (Jordan)\",\n \"ar-KW\": \"Arabic (Kuwait)\",\n \"ar-LB\": \"Arabic (Lebanon)\",\n \"ar-LY\": \"Arabic (Libya)\",\n \"ar-MA\": \"Arabic (Morocco)\",\n \"ar-OM\": \"Arabic (Oman)\",\n \"ar-QA\": \"Arabic (Qatar)\",\n \"ar-SA\": \"Arabic (Saudi Arabia)\",\n \"ar-SY\": \"Arabic (Syria)\",\n \"ar-TN\": \"Arabic (Tunisia)\",\n \"ar-AE\": \"Arabic (U.A.E.)\",\n \"ar-YE\": \"Arabic (Yemen)\",\n an: \"Aragonese\",\n hy: \"Armenian\",\n as: \"Assamese\",\n ast: \"Asturian\",\n az: \"Azerbaijani\",\n eu: \"Basque\",\n be: \"Belarusian\",\n bn: \"Bengali\",\n bs: \"Bosnian\",\n br: \"Breton\",\n bg: \"Bulgarian\",\n my: \"Burmese\",\n ca: \"Catalan\",\n ch: \"Chamorro\",\n ce: \"Chechen\",\n zh: \"Chinese\",\n \"zh-HK\": \"Chinese (Hong Kong)\",\n \"zh-CN\": \"Chinese (PRC)\",\n \"zh-SG\": \"Chinese (Singapore)\",\n \"zh-TW\": \"Chinese (Taiwan)\",\n cv: \"Chuvash\",\n co: \"Corsican\",\n cr: \"Cree\",\n hr: \"Croatian\",\n cs: \"Czech\",\n da: \"Danish\",\n nl: \"Dutch (Standard)\",\n \"nl-BE\": \"Dutch (Belgian)\",\n en: \"English\",\n \"en-AU\": \"English (Australia)\",\n \"en-BZ\": \"English (Belize)\",\n \"en-CA\": \"English (Canada)\",\n \"en-IE\": \"English (Ireland)\",\n \"en-JM\": \"English (Jamaica)\",\n \"en-NZ\": \"English (New Zealand)\",\n \"en-PH\": \"English (Philippines)\",\n \"en-ZA\": \"English (South Africa)\",\n \"en-TT\": \"English (Trinidad & Tobago)\",\n \"en-GB\": \"English (United Kingdom)\",\n \"en-US\": \"English (United States)\",\n \"en-ZW\": \"English (Zimbabwe)\",\n eo: \"Esperanto\",\n et: \"Estonian\",\n fo: \"Faeroese\",\n fj: \"Fijian\",\n fi: \"Finnish\",\n fr: \"French (Standard)\",\n \"fr-BE\": \"French (Belgium)\",\n \"fr-CA\": \"French (Canada)\",\n \"fr-FR\": \"French (France)\",\n \"fr-LU\": \"French (Luxembourg)\",\n \"fr-MC\": \"French (Monaco)\",\n \"fr-CH\": \"French (Switzerland)\",\n fy: \"Frisian\",\n fur: \"Friulian\",\n gd: \"Gaelic (Scots)\",\n \"gd-IE\": \"Gaelic (Irish)\",\n gl: \"Galacian\",\n ka: \"Georgian\",\n de: \"German (Standard)\",\n \"de-AT\": \"German (Austria)\",\n \"de-DE\": \"German (Germany)\",\n \"de-LI\": \"German (Liechtenstein)\",\n \"de-LU\": \"German (Luxembourg)\",\n \"de-CH\": \"German (Switzerland)\",\n el: \"Greek\",\n gu: \"Gujurati\",\n ht: \"Haitian\",\n he: \"Hebrew\",\n hi: \"Hindi\",\n hu: \"Hungarian\",\n is: \"Icelandic\",\n id: \"Indonesian\",\n iu: \"Inuktitut\",\n ga: \"Irish\",\n it: \"Italian (Standard)\",\n \"it-CH\": \"Italian (Switzerland)\",\n ja: \"Japanese\",\n kn: \"Kannada\",\n ks: \"Kashmiri\",\n kk: \"Kazakh\",\n km: \"Khmer\",\n ky: \"Kirghiz\",\n tlh: \"Klingon\",\n ko: \"Korean\",\n \"ko-KP\": \"Korean (North Korea)\",\n \"ko-KR\": \"Korean (South Korea)\",\n la: \"Latin\",\n lv: \"Latvian\",\n lt: \"Lithuanian\",\n lb: \"Luxembourgish\",\n mk: \"North Macedonia\",\n ms: \"Malay\",\n ml: \"Malayalam\",\n mt: \"Maltese\",\n mi: \"Maori\",\n mr: \"Marathi\",\n mo: \"Moldavian\",\n nv: \"Navajo\",\n ng: \"Ndonga\",\n ne: \"Nepali\",\n no: \"Norwegian\",\n nb: \"Norwegian (Bokmal)\",\n nn: \"Norwegian (Nynorsk)\",\n oc: \"Occitan\",\n or: \"Oriya\",\n om: \"Oromo\",\n fa: \"Persian\",\n \"fa-IR\": \"Persian/Iran\",\n pl: \"Polish\",\n pt: \"Portuguese\",\n \"pt-BR\": \"Portuguese (Brazil)\",\n pa: \"Punjabi\",\n \"pa-IN\": \"Punjabi (India)\",\n \"pa-PK\": \"Punjabi (Pakistan)\",\n qu: \"Quechua\",\n rm: \"Rhaeto-Romanic\",\n ro: \"Romanian\",\n \"ro-MO\": \"Romanian (Moldavia)\",\n ru: \"Russian\",\n \"ru-MO\": \"Russian (Moldavia)\",\n sz: \"Sami (Lappish)\",\n sg: \"Sango\",\n sa: \"Sanskrit\",\n sc: \"Sardinian\",\n sd: \"Sindhi\",\n si: \"Singhalese\",\n sr: \"Serbian\",\n sk: \"Slovak\",\n sl: \"Slovenian\",\n so: \"Somani\",\n sb: \"Sorbian\",\n es: \"Spanish\",\n \"es-AR\": \"Spanish (Argentina)\",\n \"es-BO\": \"Spanish (Bolivia)\",\n \"es-CL\": \"Spanish (Chile)\",\n \"es-CO\": \"Spanish (Colombia)\",\n \"es-CR\": \"Spanish (Costa Rica)\",\n \"es-DO\": \"Spanish (Dominican Republic)\",\n \"es-EC\": \"Spanish (Ecuador)\",\n \"es-SV\": \"Spanish (El Salvador)\",\n \"es-GT\": \"Spanish (Guatemala)\",\n \"es-HN\": \"Spanish (Honduras)\",\n \"es-MX\": \"Spanish (Mexico)\",\n \"es-NI\": \"Spanish (Nicaragua)\",\n \"es-PA\": \"Spanish (Panama)\",\n \"es-PY\": \"Spanish (Paraguay)\",\n \"es-PE\": \"Spanish (Peru)\",\n \"es-PR\": \"Spanish (Puerto Rico)\",\n \"es-ES\": \"Spanish (Spain)\",\n \"es-UY\": \"Spanish (Uruguay)\",\n \"es-VE\": \"Spanish (Venezuela)\",\n sx: \"Sutu\",\n sw: \"Swahili\",\n sv: \"Swedish\",\n \"sv-FI\": \"Swedish (Finland)\",\n \"sv-SV\": \"Swedish (Sweden)\",\n ta: \"Tamil\",\n tt: \"Tatar\",\n te: \"Teluga\",\n th: \"Thai\",\n tig: \"Tigre\",\n ts: \"Tsonga\",\n tn: \"Tswana\",\n tr: \"Turkish\",\n tk: \"Turkmen\",\n uk: \"Ukrainian\",\n hsb: \"Upper Sorbian\",\n ur: \"Urdu\",\n ve: \"Venda\",\n vi: \"Vietnamese\",\n vo: \"Volapuk\",\n wa: \"Walloon\",\n cy: \"Welsh\",\n xh: \"Xhosa\",\n ji: \"Yiddish\",\n zu: \"Zulu\"\n };\n\n if (this.internal.languageSettings === undefined) {\n this.internal.languageSettings = {};\n this.internal.languageSettings.isSubscribed = false;\n }\n\n if (langCodes[langCode] !== undefined) {\n this.internal.languageSettings.languageCode = langCode;\n if (this.internal.languageSettings.isSubscribed === false) {\n this.internal.events.subscribe(\"putCatalog\", function() {\n this.internal.write(\n \"/Lang (\" + this.internal.languageSettings.languageCode + \")\"\n );\n });\n this.internal.languageSettings.isSubscribed = true;\n }\n }\n return this;\n };\n})(jsPDF.API);\n","/** @license\n jsPDF standard_fonts_metrics plugin\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n * MIT license.\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n * \n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * This file adds the standard font metrics to jsPDF.\n *\n * Font metrics data is reprocessed derivative of contents of\n * \"Font Metrics for PDF Core 14 Fonts\" package, which exhibits the following copyright and license:\n *\n * Copyright (c) 1989, 1990, 1991, 1992, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.\n *\n * This file and the 14 PostScript(R) AFM files it accompanies may be used,\n * copied, and distributed for any purpose and without charge, with or without\n * modification, provided that all copyright notices are retained; that the AFM\n * files are not distributed without this file; that all modifications to this\n * file or any of the AFM files are prominently noted in the modified file(s);\n * and that this paragraph is not modified. Adobe Systems has no responsibility\n * or obligation to support the use of the AFM files.\n *\n * @name standard_fonts_metrics\n * @module\n */\n\n(function(API) {\n \"use strict\";\n API.__fontmetrics__ = API.__fontmetrics__ || {};\n\n var decoded = \"0123456789abcdef\",\n encoded = \"klmnopqrstuvwxyz\",\n mappingUncompress = {},\n mappingCompress = {};\n\n for (var i = 0; i < encoded.length; i++) {\n mappingUncompress[encoded[i]] = decoded[i];\n mappingCompress[decoded[i]] = encoded[i];\n }\n\n var hex = function(value) {\n return \"0x\" + parseInt(value, 10).toString(16);\n };\n\n var compress = (API.__fontmetrics__.compress = function(data) {\n var vals = [\"{\"];\n var value, keystring, valuestring, numberprefix;\n\n for (var key in data) {\n value = data[key];\n\n if (!isNaN(parseInt(key, 10))) {\n key = parseInt(key, 10);\n keystring = hex(key).slice(2);\n keystring =\n keystring.slice(0, -1) + mappingCompress[keystring.slice(-1)];\n } else {\n keystring = \"'\" + key + \"'\";\n }\n\n if (typeof value == \"number\") {\n if (value < 0) {\n valuestring = hex(value).slice(3);\n numberprefix = \"-\";\n } else {\n valuestring = hex(value).slice(2);\n numberprefix = \"\";\n }\n valuestring =\n numberprefix +\n valuestring.slice(0, -1) +\n mappingCompress[valuestring.slice(-1)];\n } else {\n if (typeof value === \"object\") {\n valuestring = compress(value);\n } else {\n throw new Error(\n \"Don't know what to do with value type \" + typeof value + \".\"\n );\n }\n }\n vals.push(keystring + valuestring);\n }\n vals.push(\"}\");\n return vals.join(\"\");\n });\n\n /**\n * Uncompresses data compressed into custom, base16-like format.\n *\n * @public\n * @function\n * @param\n * @returns {Type}\n */\n var uncompress = (API.__fontmetrics__.uncompress = function(data) {\n if (typeof data !== \"string\") {\n throw new Error(\"Invalid argument passed to uncompress.\");\n }\n\n var output = {},\n sign = 1,\n stringparts, // undef. will be [] in string mode\n activeobject = output,\n parentchain = [],\n parent_key_pair,\n keyparts = \"\",\n valueparts = \"\",\n key, // undef. will be Truthy when Key is resolved.\n datalen = data.length - 1, // stripping ending }\n ch;\n\n for (var i = 1; i < datalen; i += 1) {\n // - { } ' are special.\n\n ch = data[i];\n\n if (ch == \"'\") {\n if (stringparts) {\n // end of string mode\n key = stringparts.join(\"\");\n stringparts = undefined;\n } else {\n // start of string mode\n stringparts = [];\n }\n } else if (stringparts) {\n stringparts.push(ch);\n } else if (ch == \"{\") {\n // start of object\n parentchain.push([activeobject, key]);\n activeobject = {};\n key = undefined;\n } else if (ch == \"}\") {\n // end of object\n parent_key_pair = parentchain.pop();\n parent_key_pair[0][parent_key_pair[1]] = activeobject;\n key = undefined;\n activeobject = parent_key_pair[0];\n } else if (ch == \"-\") {\n sign = -1;\n } else {\n // must be number\n if (key === undefined) {\n if (mappingUncompress.hasOwnProperty(ch)) {\n keyparts += mappingUncompress[ch];\n key = parseInt(keyparts, 16) * sign;\n sign = +1;\n keyparts = \"\";\n } else {\n keyparts += ch;\n }\n } else {\n if (mappingUncompress.hasOwnProperty(ch)) {\n valueparts += mappingUncompress[ch];\n activeobject[key] = parseInt(valueparts, 16) * sign;\n sign = +1;\n key = undefined;\n valueparts = \"\";\n } else {\n valueparts += ch;\n }\n }\n }\n }\n return output;\n });\n\n // encoding = 'Unicode'\n // NOT UTF8, NOT UTF16BE/LE, NOT UCS2BE/LE. NO clever BOM behavior\n // Actual 16bit char codes used.\n // no multi-byte logic here\n\n // Unicode characters to WinAnsiEncoding:\n // {402: 131, 8211: 150, 8212: 151, 8216: 145, 8217: 146, 8218: 130, 8220: 147, 8221: 148, 8222: 132, 8224: 134, 8225: 135, 8226: 149, 8230: 133, 8364: 128, 8240:137, 8249: 139, 8250: 155, 710: 136, 8482: 153, 338: 140, 339: 156, 732: 152, 352: 138, 353: 154, 376: 159, 381: 142, 382: 158}\n // as you can see, all Unicode chars are outside of 0-255 range. No char code conflicts.\n // this means that you can give Win cp1252 encoded strings to jsPDF for rendering directly\n // as well as give strings with some (supported by these fonts) Unicode characters and\n // these will be mapped to win cp1252\n // for example, you can send char code (cp1252) 0x80 or (unicode) 0x20AC, getting \"Euro\" glyph displayed in both cases.\n\n var encodingBlock = {\n codePages: [\"WinAnsiEncoding\"],\n WinAnsiEncoding: uncompress(\n \"{19m8n201n9q201o9r201s9l201t9m201u8m201w9n201x9o201y8o202k8q202l8r202m9p202q8p20aw8k203k8t203t8v203u9v2cq8s212m9t15m8w15n9w2dw9s16k8u16l9u17s9z17x8y17y9y}\"\n )\n };\n var encodings = {\n Unicode: {\n Courier: encodingBlock,\n \"Courier-Bold\": encodingBlock,\n \"Courier-BoldOblique\": encodingBlock,\n \"Courier-Oblique\": encodingBlock,\n Helvetica: encodingBlock,\n \"Helvetica-Bold\": encodingBlock,\n \"Helvetica-BoldOblique\": encodingBlock,\n \"Helvetica-Oblique\": encodingBlock,\n \"Times-Roman\": encodingBlock,\n \"Times-Bold\": encodingBlock,\n \"Times-BoldItalic\": encodingBlock,\n \"Times-Italic\": encodingBlock\n //\t, 'Symbol'\n //\t, 'ZapfDingbats'\n }\n };\n\n var fontMetrics = {\n Unicode: {\n // all sizing numbers are n/fontMetricsFractionOf = one font size unit\n // this means that if fontMetricsFractionOf = 1000, and letter A's width is 476, it's\n // width is 476/1000 or 47.6% of its height (regardless of font size)\n // At this time this value applies to \"widths\" and \"kerning\" numbers.\n\n // char code 0 represents \"default\" (average) width - use it for chars missing in this table.\n // key 'fof' represents the \"fontMetricsFractionOf\" value\n\n \"Courier-Oblique\": uncompress(\n \"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"\n ),\n \"Times-BoldItalic\": uncompress(\n \"{'widths'{k3o2q4ycx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2r202m2n2n3m2o3m2p5n202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5n4l4m4m4m4n4m4o4s4p4m4q4m4r4s4s4y4t2r4u3m4v4m4w3x4x5t4y4s4z4s5k3x5l4s5m4m5n3r5o3x5p4s5q4m5r5t5s4m5t3x5u3x5v2l5w1w5x2l5y3t5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q2l6r3m6s3r6t1w6u1w6v3m6w1w6x4y6y3r6z3m7k3m7l3m7m2r7n2r7o1w7p3r7q2w7r4m7s3m7t2w7u2r7v2n7w1q7x2n7y3t202l3mcl4mal2ram3man3mao3map3mar3mas2lat4uau1uav3maw3way4uaz2lbk2sbl3t'fof'6obo2lbp3tbq3mbr1tbs2lbu1ybv3mbz3mck4m202k3mcm4mcn4mco4mcp4mcq5ycr4mcs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz2w203k6o212m6o2dw2l2cq2l3t3m3u2l17s3x19m3m}'kerning'{cl{4qu5kt5qt5rs17ss5ts}201s{201ss}201t{cks4lscmscnscoscpscls2wu2yu201ts}201x{2wu2yu}2k{201ts}2w{4qx5kx5ou5qx5rs17su5tu}2x{17su5tu5ou}2y{4qx5kx5ou5qx5rs17ss5ts}'fof'-6ofn{17sw5tw5ou5qw5rs}7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qs}3v{17su5tu5os5qs}7p{17su5tu}ck{4qu5kt5qt5rs17ss5ts}4l{4qu5kt5qt5rs17ss5ts}cm{4qu5kt5qt5rs17ss5ts}cn{4qu5kt5qt5rs17ss5ts}co{4qu5kt5qt5rs17ss5ts}cp{4qu5kt5qt5rs17ss5ts}6l{4qu5ou5qw5rt17su5tu}5q{ckuclucmucnucoucpu4lu}5r{ckuclucmucnucoucpu4lu}7q{cksclscmscnscoscps4ls}6p{4qu5ou5qw5rt17sw5tw}ek{4qu5ou5qw5rt17su5tu}el{4qu5ou5qw5rt17su5tu}em{4qu5ou5qw5rt17su5tu}en{4qu5ou5qw5rt17su5tu}eo{4qu5ou5qw5rt17su5tu}ep{4qu5ou5qw5rt17su5tu}es{17ss5ts5qs4qu}et{4qu5ou5qw5rt17sw5tw}eu{4qu5ou5qw5rt17ss5ts}ev{17ss5ts5qs4qu}6z{17sw5tw5ou5qw5rs}fm{17sw5tw5ou5qw5rs}7n{201ts}fo{17sw5tw5ou5qw5rs}fp{17sw5tw5ou5qw5rs}fq{17sw5tw5ou5qw5rs}7r{cksclscmscnscoscps4ls}fs{17sw5tw5ou5qw5rs}ft{17su5tu}fu{17su5tu}fv{17su5tu}fw{17su5tu}fz{cksclscmscnscoscps4ls}}}\"\n ),\n \"Helvetica-Bold\": uncompress(\n \"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"\n ),\n Courier: uncompress(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Courier-BoldOblique\": uncompress(\n \"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"\n ),\n \"Times-Bold\": uncompress(\n \"{'widths'{k3q2q5ncx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2l202m2n2n3m2o3m2p6o202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5x4l4s4m4m4n4s4o4s4p4m4q3x4r4y4s4y4t2r4u3m4v4y4w4m4x5y4y4s4z4y5k3x5l4y5m4s5n3r5o4m5p4s5q4s5r6o5s4s5t4s5u4m5v2l5w1w5x2l5y3u5z3m6k2l6l3m6m3r6n2w6o3r6p2w6q2l6r3m6s3r6t1w6u2l6v3r6w1w6x5n6y3r6z3m7k3r7l3r7m2w7n2r7o2l7p3r7q3m7r4s7s3m7t3m7u2w7v2r7w1q7x2r7y3o202l3mcl4sal2lam3man3mao3map3mar3mas2lat4uau1yav3maw3tay4uaz2lbk2sbl3t'fof'6obo2lbp3rbr1tbs2lbu2lbv3mbz3mck4s202k3mcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3rek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3m3u2l17s4s19m3m}'kerning'{cl{4qt5ks5ot5qy5rw17sv5tv}201t{cks4lscmscnscoscpscls4wv}2k{201ts}2w{4qu5ku7mu5os5qx5ru17su5tu}2x{17su5tu5ou5qs}2y{4qv5kv7mu5ot5qz5ru17su5tu}'fof'-6o7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qu}3v{17su5tu5os5qu}fu{17su5tu5ou5qu}7p{17su5tu5ou5qu}ck{4qt5ks5ot5qy5rw17sv5tv}4l{4qt5ks5ot5qy5rw17sv5tv}cm{4qt5ks5ot5qy5rw17sv5tv}cn{4qt5ks5ot5qy5rw17sv5tv}co{4qt5ks5ot5qy5rw17sv5tv}cp{4qt5ks5ot5qy5rw17sv5tv}6l{17st5tt5ou5qu}17s{ckuclucmucnucoucpu4lu4wu}5o{ckuclucmucnucoucpu4lu4wu}5q{ckzclzcmzcnzcozcpz4lz4wu}5r{ckxclxcmxcnxcoxcpx4lx4wu}5t{ckuclucmucnucoucpu4lu4wu}7q{ckuclucmucnucoucpu4lu}6p{17sw5tw5ou5qu}ek{17st5tt5qu}el{17st5tt5ou5qu}em{17st5tt5qu}en{17st5tt5qu}eo{17st5tt5qu}ep{17st5tt5ou5qu}es{17ss5ts5qu}et{17sw5tw5ou5qu}eu{17sw5tw5ou5qu}ev{17ss5ts5qu}6z{17sw5tw5ou5qu5rs}fm{17sw5tw5ou5qu5rs}fn{17sw5tw5ou5qu5rs}fo{17sw5tw5ou5qu5rs}fp{17sw5tw5ou5qu5rs}fq{17sw5tw5ou5qu5rs}7r{cktcltcmtcntcotcpt4lt5os}fs{17sw5tw5ou5qu5rs}ft{17su5tu5ou5qu}7m{5os}fv{17su5tu5ou5qu}fw{17su5tu5ou5qu}fz{cksclscmscnscoscps4ls}}}\"\n ),\n Symbol: uncompress(\n \"{'widths'{k3uaw4r19m3m2k1t2l2l202m2y2n3m2p5n202q6o3k3m2s2l2t2l2v3r2w1t3m3m2y1t2z1wbk2sbl3r'fof'6o3n3m3o3m3p3m3q3m3r3m3s3m3t3m3u1w3v1w3w3r3x3r3y3r3z2wbp3t3l3m5v2l5x2l5z3m2q4yfr3r7v3k7w1o7x3k}'kerning'{'fof'-6o}}\"\n ),\n Helvetica: uncompress(\n \"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\"\n ),\n \"Helvetica-BoldOblique\": uncompress(\n \"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"\n ),\n ZapfDingbats: uncompress(\"{'widths'{k4u2k1w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Courier-Bold\": uncompress(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Times-Italic\": uncompress(\n \"{'widths'{k3n2q4ycx2l201n3m201o5t201s2l201t2l201u2l201w3r201x3r201y3r2k1t2l2l202m2n2n3m2o3m2p5n202q5t2r1p2s2l2t2l2u3m2v4n2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w4n3x4n3y4n3z3m4k5w4l3x4m3x4n4m4o4s4p3x4q3x4r4s4s4s4t2l4u2w4v4m4w3r4x5n4y4m4z4s5k3x5l4s5m3x5n3m5o3r5p4s5q3x5r5n5s3x5t3r5u3r5v2r5w1w5x2r5y2u5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q1w6r3m6s3m6t1w6u1w6v2w6w1w6x4s6y3m6z3m7k3m7l3m7m2r7n2r7o1w7p3m7q2w7r4m7s2w7t2w7u2r7v2s7w1v7x2s7y3q202l3mcl3xal2ram3man3mao3map3mar3mas2lat4wau1vav3maw4nay4waz2lbk2sbl4n'fof'6obo2lbp3mbq3obr1tbs2lbu1zbv3mbz3mck3x202k3mcm3xcn3xco3xcp3xcq5tcr4mcs3xct3xcu3xcv3xcw2l2m2ucy2lcz2ldl4mdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr4nfs3mft3mfu3mfv3mfw3mfz2w203k6o212m6m2dw2l2cq2l3t3m3u2l17s3r19m3m}'kerning'{cl{5kt4qw}201s{201sw}201t{201tw2wy2yy6q-t}201x{2wy2yy}2k{201tw}2w{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}2x{17ss5ts5os}2y{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}'fof'-6o6t{17ss5ts5qs}7t{5os}3v{5qs}7p{17su5tu5qs}ck{5kt4qw}4l{5kt4qw}cm{5kt4qw}cn{5kt4qw}co{5kt4qw}cp{5kt4qw}6l{4qs5ks5ou5qw5ru17su5tu}17s{2ks}5q{ckvclvcmvcnvcovcpv4lv}5r{ckuclucmucnucoucpu4lu}5t{2ks}6p{4qs5ks5ou5qw5ru17su5tu}ek{4qs5ks5ou5qw5ru17su5tu}el{4qs5ks5ou5qw5ru17su5tu}em{4qs5ks5ou5qw5ru17su5tu}en{4qs5ks5ou5qw5ru17su5tu}eo{4qs5ks5ou5qw5ru17su5tu}ep{4qs5ks5ou5qw5ru17su5tu}es{5ks5qs4qs}et{4qs5ks5ou5qw5ru17su5tu}eu{4qs5ks5qw5ru17su5tu}ev{5ks5qs4qs}ex{17ss5ts5qs}6z{4qv5ks5ou5qw5ru17su5tu}fm{4qv5ks5ou5qw5ru17su5tu}fn{4qv5ks5ou5qw5ru17su5tu}fo{4qv5ks5ou5qw5ru17su5tu}fp{4qv5ks5ou5qw5ru17su5tu}fq{4qv5ks5ou5qw5ru17su5tu}7r{5os}fs{4qv5ks5ou5qw5ru17su5tu}ft{17su5tu5qs}fu{17su5tu5qs}fv{17su5tu5qs}fw{17su5tu5qs}}}\"\n ),\n \"Times-Roman\": uncompress(\n \"{'widths'{k3n2q4ycx2l201n3m201o6o201s2l201t2l201u2l201w2w201x2w201y2w2k1t2l2l202m2n2n3m2o3m2p5n202q6o2r1m2s2l2t2l2u3m2v3s2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v1w3w3s3x3s3y3s3z2w4k5w4l4s4m4m4n4m4o4s4p3x4q3r4r4s4s4s4t2l4u2r4v4s4w3x4x5t4y4s4z4s5k3r5l4s5m4m5n3r5o3x5p4s5q4s5r5y5s4s5t4s5u3x5v2l5w1w5x2l5y2z5z3m6k2l6l2w6m3m6n2w6o3m6p2w6q2l6r3m6s3m6t1w6u1w6v3m6w1w6x4y6y3m6z3m7k3m7l3m7m2l7n2r7o1w7p3m7q3m7r4s7s3m7t3m7u2w7v3k7w1o7x3k7y3q202l3mcl4sal2lam3man3mao3map3mar3mas2lat4wau1vav3maw3say4waz2lbk2sbl3s'fof'6obo2lbp3mbq2xbr1tbs2lbu1zbv3mbz2wck4s202k3mcm4scn4sco4scp4scq5tcr4mcs3xct3xcu3xcv3xcw2l2m2tcy2lcz2ldl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek2wel2wem2wen2weo2wep2weq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr3sfs3mft3mfu3mfv3mfw3mfz3m203k6o212m6m2dw2l2cq2l3t3m3u1w17s4s19m3m}'kerning'{cl{4qs5ku17sw5ou5qy5rw201ss5tw201ws}201s{201ss}201t{ckw4lwcmwcnwcowcpwclw4wu201ts}2k{201ts}2w{4qs5kw5os5qx5ru17sx5tx}2x{17sw5tw5ou5qu}2y{4qs5kw5os5qx5ru17sx5tx}'fof'-6o7t{ckuclucmucnucoucpu4lu5os5rs}3u{17su5tu5qs}3v{17su5tu5qs}7p{17sw5tw5qs}ck{4qs5ku17sw5ou5qy5rw201ss5tw201ws}4l{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cm{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cn{4qs5ku17sw5ou5qy5rw201ss5tw201ws}co{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cp{4qs5ku17sw5ou5qy5rw201ss5tw201ws}6l{17su5tu5os5qw5rs}17s{2ktclvcmvcnvcovcpv4lv4wuckv}5o{ckwclwcmwcnwcowcpw4lw4wu}5q{ckyclycmycnycoycpy4ly4wu5ms}5r{cktcltcmtcntcotcpt4lt4ws}5t{2ktclvcmvcnvcovcpv4lv4wuckv}7q{cksclscmscnscoscps4ls}6p{17su5tu5qw5rs}ek{5qs5rs}el{17su5tu5os5qw5rs}em{17su5tu5os5qs5rs}en{17su5qs5rs}eo{5qs5rs}ep{17su5tu5os5qw5rs}es{5qs}et{17su5tu5qw5rs}eu{17su5tu5qs5rs}ev{5qs}6z{17sv5tv5os5qx5rs}fm{5os5qt5rs}fn{17sv5tv5os5qx5rs}fo{17sv5tv5os5qx5rs}fp{5os5qt5rs}fq{5os5qt5rs}7r{ckuclucmucnucoucpu4lu5os}fs{17sv5tv5os5qx5rs}ft{17ss5ts5qs}fu{17sw5tw5qs}fv{17sw5tw5qs}fw{17ss5ts5qs}fz{ckuclucmucnucoucpu4lu5os5rs}}}\"\n ),\n \"Helvetica-Oblique\": uncompress(\n \"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\"\n )\n }\n };\n\n /*\n\tThis event handler is fired when a new jsPDF object is initialized\n\tThis event handler appends metrics data to standard fonts within\n\tthat jsPDF instance. The metrics are mapped over Unicode character\n\tcodes, NOT CIDs or other codes matching the StandardEncoding table of the\n\tstandard PDF fonts.\n\tFuture:\n\tAlso included is the encoding maping table, converting Unicode (UCS-2, UTF-16)\n\tchar codes to StandardEncoding character codes. The encoding table is to be used\n\tsomewhere around \"pdfEscape\" call.\n\t*/\n API.events.push([\n \"addFont\",\n function(data) {\n var font = data.font;\n\n var metrics = fontMetrics[\"Unicode\"][font.postScriptName];\n if (metrics) {\n font.metadata[\"Unicode\"] = {};\n font.metadata[\"Unicode\"].widths = metrics.widths;\n font.metadata[\"Unicode\"].kerning = metrics.kerning;\n }\n\n var encodingBlock = encodings[\"Unicode\"][font.postScriptName];\n if (encodingBlock) {\n font.metadata[\"Unicode\"].encoding = encodingBlock;\n font.encoding = encodingBlock.codePages[0];\n }\n }\n ]); // end of adding event handler\n})(jsPDF.API);\n","/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { atob } from \"../libs/AtobBtoa.js\";\n\n/**\n * @name ttfsupport\n * @module\n */\n(function(jsPDF) {\n \"use strict\";\n\n var binaryStringToUint8Array = function(binary_string) {\n var len = binary_string.length;\n var bytes = new Uint8Array(len);\n for (var i = 0; i < len; i++) {\n bytes[i] = binary_string.charCodeAt(i);\n }\n return bytes;\n };\n\n var addFont = function(font, file) {\n // eslint-disable-next-line no-control-regex\n if (/^\\x00\\x01\\x00\\x00/.test(file)) {\n file = binaryStringToUint8Array(file);\n } else {\n file = binaryStringToUint8Array(atob(file));\n }\n font.metadata = jsPDF.API.TTFFont.open(file);\n font.metadata.Unicode = font.metadata.Unicode || {\n encoding: {},\n kerning: {},\n widths: []\n };\n font.metadata.glyIdsUsed = [0];\n };\n\n jsPDF.API.events.push([\n \"addFont\",\n function(data) {\n var file = undefined;\n var font = data.font;\n var instance = data.instance;\n if (font.isStandardFont) {\n return;\n }\n if (typeof instance !== \"undefined\") {\n if (instance.existsFileInVFS(font.postScriptName) === false) {\n file = instance.loadFile(font.postScriptName);\n } else {\n file = instance.getFileFromVFS(font.postScriptName);\n }\n if (typeof file !== \"string\") {\n throw new Error(\n \"Font is not stored as string-data in vFS, import fonts or remove declaration doc.addFont('\" +\n font.postScriptName +\n \"').\"\n );\n }\n addFont(font, file);\n } else {\n throw new Error(\n \"Font does not exist in vFS, import fonts or remove declaration doc.addFont('\" +\n font.postScriptName +\n \"').\"\n );\n }\n }\n ]); // end of adding event handler\n})(jsPDF);\n","/** @license\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { console } from \"../libs/console.js\";\nimport { globalObject } from \"../libs/globalObject.js\";\n\n/**\n * jsPDF SVG plugin\n *\n * @name svg\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n function loadCanvg() {\n return (function() {\n if (globalObject[\"canvg\"]) {\n return Promise.resolve(globalObject[\"canvg\"]);\n }\n\n return import(\"canvg\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load canvg: \" + e));\n })\n .then(function(canvg) {\n return canvg.default ? canvg.default : canvg;\n });\n }\n\n /**\n * Parses SVG XML and saves it as image into the PDF.\n *\n * Depends on canvas-element and canvg\n *\n * @name addSvgAsImage\n * @public\n * @function\n * @param {string} SVG-Data as Text\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\n * @param {number} width of SVG-Image (in units declared at inception of PDF document)\n * @param {number} height of SVG-Image (in units declared at inception of PDF document)\n * @param {string} alias of SVG-Image (if used multiple times)\n * @param {string} compression of the generated JPEG, can have the values 'NONE', 'FAST', 'MEDIUM' and 'SLOW'\n * @param {number} rotation of the image in degrees (0-359)\n *\n * @returns jsPDF jsPDF-instance\n */\n jsPDFAPI.addSvgAsImage = function(\n svg,\n x,\n y,\n w,\n h,\n alias,\n compression,\n rotation\n ) {\n if (isNaN(x) || isNaN(y)) {\n console.error(\"jsPDF.addSvgAsImage: Invalid coordinates\", arguments);\n throw new Error(\"Invalid coordinates passed to jsPDF.addSvgAsImage\");\n }\n\n if (isNaN(w) || isNaN(h)) {\n console.error(\"jsPDF.addSvgAsImage: Invalid measurements\", arguments);\n throw new Error(\n \"Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage\"\n );\n }\n\n var canvas = document.createElement(\"canvas\");\n canvas.width = w;\n canvas.height = h;\n var ctx = canvas.getContext(\"2d\");\n ctx.fillStyle = \"#fff\"; /// set white fill style\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n\n var options = {\n ignoreMouse: true,\n ignoreAnimation: true,\n ignoreDimensions: true\n };\n var doc = this;\n return loadCanvg()\n .then(\n function(canvg) {\n return canvg.fromString(ctx, svg, options);\n },\n function() {\n return Promise.reject(new Error(\"Could not load canvg.\"));\n }\n )\n .then(function(instance) {\n return instance.render(options);\n })\n .then(function() {\n doc.addImage(\n canvas.toDataURL(\"image/jpeg\", 1.0),\n x,\n y,\n w,\n h,\n compression,\n rotation\n );\n });\n };\n})(jsPDF.API);\n","/**\n * @license\n * ====================================================================\n * Copyright (c) 2013 Eduardo Menezes de Morais, eduardo.morais@usp.br\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF total_pages plugin\n * @name total_pages\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n /**\n * @name putTotalPages\n * @function\n * @param {string} pageExpression Regular Expression\n * @returns {jsPDF} jsPDF-instance\n */\n\n jsPDFAPI.putTotalPages = function(pageExpression) {\n \"use strict\";\n\n var replaceExpression;\n var totalNumberOfPages = 0;\n if (parseInt(this.internal.getFont().id.substr(1), 10) < 15) {\n replaceExpression = new RegExp(pageExpression, \"g\");\n totalNumberOfPages = this.internal.getNumberOfPages();\n } else {\n replaceExpression = new RegExp(\n this.pdfEscape16(pageExpression, this.internal.getFont()),\n \"g\"\n );\n totalNumberOfPages = this.pdfEscape16(\n this.internal.getNumberOfPages() + \"\",\n this.internal.getFont()\n );\n }\n\n for (var n = 1; n <= this.internal.getNumberOfPages(); n++) {\n for (var i = 0; i < this.internal.pages[n].length; i++) {\n this.internal.pages[n][i] = this.internal.pages[n][i].replace(\n replaceExpression,\n totalNumberOfPages\n );\n }\n }\n\n return this;\n };\n})(jsPDF.API);\n","/**\n * @license\n * jsPDF viewerPreferences Plugin\n * @author Aras Abbasi (github.com/arasabbasi)\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * Adds the ability to set ViewerPreferences and by thus\n * controlling the way the document is to be presented on the\n * screen or in print.\n * @name viewerpreferences\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n /**\n * Set the ViewerPreferences of the generated PDF\n *\n * @name viewerPreferences\n * @function\n * @public\n * @param {Object} options Array with the ViewerPreferences
    \n * Example: doc.viewerPreferences({\"FitWindow\":true});
    \n *
    \n * You can set following preferences:
    \n *
    \n * HideToolbar (boolean)
    \n * Default value: false
    \n *
    \n * HideMenubar (boolean)
    \n * Default value: false.
    \n *
    \n * HideWindowUI (boolean)
    \n * Default value: false.
    \n *
    \n * FitWindow (boolean)
    \n * Default value: false.
    \n *
    \n * CenterWindow (boolean)
    \n * Default value: false
    \n *
    \n * DisplayDocTitle (boolean)
    \n * Default value: false.
    \n *
    \n * NonFullScreenPageMode (string)
    \n * Possible values: UseNone, UseOutlines, UseThumbs, UseOC
    \n * Default value: UseNone
    \n *
    \n * Direction (string)
    \n * Possible values: L2R, R2L
    \n * Default value: L2R.
    \n *
    \n * ViewArea (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox.
    \n *
    \n * ViewClip (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox
    \n *
    \n * PrintArea (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox
    \n *
    \n * PrintClip (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox.
    \n *
    \n * PrintScaling (string)
    \n * Possible values: AppDefault, None
    \n * Default value: AppDefault.
    \n *
    \n * Duplex (string)
    \n * Possible values: Simplex, DuplexFlipLongEdge, DuplexFlipShortEdge\n * Default value: none
    \n *
    \n * PickTrayByPDFSize (boolean)
    \n * Default value: false
    \n *
    \n * PrintPageRange (Array)
    \n * Example: [[1,5], [7,9]]
    \n * Default value: as defined by PDF viewer application
    \n *
    \n * NumCopies (Number)
    \n * Possible values: 1, 2, 3, 4, 5
    \n * Default value: 1
    \n *
    \n * For more information see the PDF Reference, sixth edition on Page 577\n * @param {boolean} doReset True to reset the settings\n * @function\n * @returns jsPDF jsPDF-instance\n * @example\n * var doc = new jsPDF()\n * doc.text('This is a test', 10, 10)\n * doc.viewerPreferences({'FitWindow': true}, true)\n * doc.save(\"viewerPreferences.pdf\")\n *\n * // Example printing 10 copies, using cropbox, and hiding UI.\n * doc.viewerPreferences({\n * 'HideWindowUI': true,\n * 'PrintArea': 'CropBox',\n * 'NumCopies': 10\n * })\n */\n jsPDFAPI.viewerPreferences = function(options, doReset) {\n options = options || {};\n doReset = doReset || false;\n\n var configuration;\n var configurationTemplate = {\n HideToolbar: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n HideMenubar: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n HideWindowUI: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n FitWindow: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n CenterWindow: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n DisplayDocTitle: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.4\n },\n NonFullScreenPageMode: {\n defaultValue: \"UseNone\",\n value: \"UseNone\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"UseNone\", \"UseOutlines\", \"UseThumbs\", \"UseOC\"],\n pdfVersion: 1.3\n },\n Direction: {\n defaultValue: \"L2R\",\n value: \"L2R\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"L2R\", \"R2L\"],\n pdfVersion: 1.3\n },\n ViewArea: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n ViewClip: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintArea: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintClip: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintScaling: {\n defaultValue: \"AppDefault\",\n value: \"AppDefault\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"AppDefault\", \"None\"],\n pdfVersion: 1.6\n },\n Duplex: {\n defaultValue: \"\",\n value: \"none\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\n \"Simplex\",\n \"DuplexFlipShortEdge\",\n \"DuplexFlipLongEdge\",\n \"none\"\n ],\n pdfVersion: 1.7\n },\n PickTrayByPDFSize: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.7\n },\n PrintPageRange: {\n defaultValue: \"\",\n value: \"\",\n type: \"array\",\n explicitSet: false,\n valueSet: null,\n pdfVersion: 1.7\n },\n NumCopies: {\n defaultValue: 1,\n value: 1,\n type: \"integer\",\n explicitSet: false,\n valueSet: null,\n pdfVersion: 1.7\n }\n };\n\n var configurationKeys = Object.keys(configurationTemplate);\n\n var rangeArray = [];\n var i = 0;\n var j = 0;\n var k = 0;\n var isValid;\n\n var method;\n var value;\n\n function arrayContainsElement(array, element) {\n var iterator;\n var result = false;\n\n for (iterator = 0; iterator < array.length; iterator += 1) {\n if (array[iterator] === element) {\n result = true;\n }\n }\n return result;\n }\n\n if (this.internal.viewerpreferences === undefined) {\n this.internal.viewerpreferences = {};\n this.internal.viewerpreferences.configuration = JSON.parse(\n JSON.stringify(configurationTemplate)\n );\n this.internal.viewerpreferences.isSubscribed = false;\n }\n configuration = this.internal.viewerpreferences.configuration;\n\n if (options === \"reset\" || doReset === true) {\n var len = configurationKeys.length;\n\n for (k = 0; k < len; k += 1) {\n configuration[configurationKeys[k]].value =\n configuration[configurationKeys[k]].defaultValue;\n configuration[configurationKeys[k]].explicitSet = false;\n }\n }\n\n if (typeof options === \"object\") {\n for (method in options) {\n value = options[method];\n if (\n arrayContainsElement(configurationKeys, method) &&\n value !== undefined\n ) {\n if (\n configuration[method].type === \"boolean\" &&\n typeof value === \"boolean\"\n ) {\n configuration[method].value = value;\n } else if (\n configuration[method].type === \"name\" &&\n arrayContainsElement(configuration[method].valueSet, value)\n ) {\n configuration[method].value = value;\n } else if (\n configuration[method].type === \"integer\" &&\n Number.isInteger(value)\n ) {\n configuration[method].value = value;\n } else if (configuration[method].type === \"array\") {\n for (i = 0; i < value.length; i += 1) {\n isValid = true;\n if (value[i].length === 1 && typeof value[i][0] === \"number\") {\n rangeArray.push(String(value[i] - 1));\n } else if (value[i].length > 1) {\n for (j = 0; j < value[i].length; j += 1) {\n if (typeof value[i][j] !== \"number\") {\n isValid = false;\n }\n }\n if (isValid === true) {\n rangeArray.push([value[i][0] - 1, value[i][1] - 1].join(\" \"));\n }\n }\n }\n configuration[method].value = \"[\" + rangeArray.join(\" \") + \"]\";\n } else {\n configuration[method].value = configuration[method].defaultValue;\n }\n\n configuration[method].explicitSet = true;\n }\n }\n }\n\n if (this.internal.viewerpreferences.isSubscribed === false) {\n this.internal.events.subscribe(\"putCatalog\", function() {\n var pdfDict = [];\n var vPref;\n for (vPref in configuration) {\n if (configuration[vPref].explicitSet === true) {\n if (configuration[vPref].type === \"name\") {\n pdfDict.push(\"/\" + vPref + \" /\" + configuration[vPref].value);\n } else {\n pdfDict.push(\"/\" + vPref + \" \" + configuration[vPref].value);\n }\n }\n }\n if (pdfDict.length !== 0) {\n this.internal.write(\n \"/ViewerPreferences\\n<<\\n\" + pdfDict.join(\"\\n\") + \"\\n>>\"\n );\n }\n });\n this.internal.viewerpreferences.isSubscribed = true;\n }\n\n this.internal.viewerpreferences.configuration = configuration;\n return this;\n };\n})(jsPDF.API);\n","/** ====================================================================\n * @license\n * jsPDF XMP metadata plugin\n * Copyright (c) 2016 Jussi Utunen, u-jussi@suomi24.fi\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name xmp_metadata\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var postPutResources = function() {\n var xmpmeta_beginning = '';\n var rdf_beginning =\n '';\n var rdf_ending = \"\";\n var xmpmeta_ending = \"\";\n var utf8_xmpmeta_beginning = unescape(\n encodeURIComponent(xmpmeta_beginning)\n );\n var utf8_rdf_beginning = unescape(encodeURIComponent(rdf_beginning));\n var utf8_metadata = unescape(\n encodeURIComponent(this.internal.__metadata__.metadata)\n );\n var utf8_rdf_ending = unescape(encodeURIComponent(rdf_ending));\n var utf8_xmpmeta_ending = unescape(encodeURIComponent(xmpmeta_ending));\n\n var total_len =\n utf8_rdf_beginning.length +\n utf8_metadata.length +\n utf8_rdf_ending.length +\n utf8_xmpmeta_beginning.length +\n utf8_xmpmeta_ending.length;\n\n this.internal.__metadata__.metadata_object_number = this.internal.newObject();\n this.internal.write(\n \"<< /Type /Metadata /Subtype /XML /Length \" + total_len + \" >>\"\n );\n this.internal.write(\"stream\");\n this.internal.write(\n utf8_xmpmeta_beginning +\n utf8_rdf_beginning +\n utf8_metadata +\n utf8_rdf_ending +\n utf8_xmpmeta_ending\n );\n this.internal.write(\"endstream\");\n this.internal.write(\"endobj\");\n };\n\n var putCatalog = function() {\n if (this.internal.__metadata__.metadata_object_number) {\n this.internal.write(\n \"/Metadata \" +\n this.internal.__metadata__.metadata_object_number +\n \" 0 R\"\n );\n }\n };\n\n /**\n * Adds XMP formatted metadata to PDF\n *\n * @name addMetadata\n * @function\n * @param {String} metadata The actual metadata to be added. The metadata shall be stored as XMP simple value. Note that if the metadata string contains XML markup characters \"<\", \">\" or \"&\", those characters should be written using XML entities.\n * @param {String} namespaceuri Sets the namespace URI for the metadata. Last character should be slash or hash.\n * @returns {jsPDF} jsPDF-instance\n */\n jsPDFAPI.addMetadata = function(metadata, namespaceuri) {\n if (typeof this.internal.__metadata__ === \"undefined\") {\n this.internal.__metadata__ = {\n metadata: metadata,\n namespaceuri: namespaceuri || \"http://jspdf.default.namespaceuri/\"\n };\n this.internal.events.subscribe(\"putCatalog\", putCatalog);\n\n this.internal.events.subscribe(\"postPutResources\", postPutResources);\n }\n return this;\n };\n})(jsPDF.API);\n","import { jsPDF } from \"../jspdf.js\";\nimport { toPDFName } from \"../libs/pdfname.js\";\n\n/**\n * @name utf8\n * @module\n */\n(function(jsPDF) {\n \"use strict\";\n var jsPDFAPI = jsPDF.API;\n\n /***************************************************************************************************/\n /* function : pdfEscape16 */\n /* comment : The character id of a 2-byte string is converted to a hexadecimal number by obtaining */\n /* the corresponding glyph id and width, and then adding padding to the string. */\n /***************************************************************************************************/\n var pdfEscape16 = (jsPDFAPI.pdfEscape16 = function(text, font) {\n var widths = font.metadata.Unicode.widths;\n var padz = [\"\", \"0\", \"00\", \"000\", \"0000\"];\n var ar = [\"\"];\n for (var i = 0, l = text.length, t; i < l; ++i) {\n t = font.metadata.characterToGlyph(text.charCodeAt(i));\n font.metadata.glyIdsUsed.push(t);\n font.metadata.toUnicode[t] = text.charCodeAt(i);\n if (widths.indexOf(t) == -1) {\n widths.push(t);\n widths.push([parseInt(font.metadata.widthOfGlyph(t), 10)]);\n }\n if (t == \"0\") {\n //Spaces are not allowed in cmap.\n return ar.join(\"\");\n } else {\n t = t.toString(16);\n ar.push(padz[4 - t.length], t);\n }\n }\n return ar.join(\"\");\n });\n\n var toUnicodeCmap = function(map) {\n var code, codes, range, unicode, unicodeMap, _i, _len;\n unicodeMap =\n \"/CIDInit /ProcSet findresource begin\\n12 dict begin\\nbegincmap\\n/CIDSystemInfo <<\\n /Registry (Adobe)\\n /Ordering (UCS)\\n /Supplement 0\\n>> def\\n/CMapName /Adobe-Identity-UCS def\\n/CMapType 2 def\\n1 begincodespacerange\\n<0000>\\nendcodespacerange\";\n codes = Object.keys(map).sort(function(a, b) {\n return a - b;\n });\n\n range = [];\n for (_i = 0, _len = codes.length; _i < _len; _i++) {\n code = codes[_i];\n if (range.length >= 100) {\n unicodeMap +=\n \"\\n\" +\n range.length +\n \" beginbfchar\\n\" +\n range.join(\"\\n\") +\n \"\\nendbfchar\";\n range = [];\n }\n\n if (\n map[code] !== undefined &&\n map[code] !== null &&\n typeof map[code].toString === \"function\"\n ) {\n unicode = (\"0000\" + map[code].toString(16)).slice(-4);\n code = (\"0000\" + (+code).toString(16)).slice(-4);\n range.push(\"<\" + code + \"><\" + unicode + \">\");\n }\n }\n\n if (range.length) {\n unicodeMap +=\n \"\\n\" +\n range.length +\n \" beginbfchar\\n\" +\n range.join(\"\\n\") +\n \"\\nendbfchar\\n\";\n }\n unicodeMap +=\n \"endcmap\\nCMapName currentdict /CMap defineresource pop\\nend\\nend\";\n return unicodeMap;\n };\n\n var identityHFunction = function(options) {\n var font = options.font;\n var out = options.out;\n var newObject = options.newObject;\n var putStream = options.putStream;\n\n if (\n font.metadata instanceof jsPDF.API.TTFFont &&\n font.encoding === \"Identity-H\"\n ) {\n //Tag with Identity-H\n var widths = font.metadata.Unicode.widths;\n var data = font.metadata.subset.encode(font.metadata.glyIdsUsed, 1);\n var pdfOutput = data;\n var pdfOutput2 = \"\";\n for (var i = 0; i < pdfOutput.length; i++) {\n pdfOutput2 += String.fromCharCode(pdfOutput[i]);\n }\n var fontTable = newObject();\n putStream({ data: pdfOutput2, addLength1: true, objectId: fontTable });\n out(\"endobj\");\n\n var cmap = newObject();\n var cmapData = toUnicodeCmap(font.metadata.toUnicode);\n putStream({ data: cmapData, addLength1: true, objectId: cmap });\n out(\"endobj\");\n\n var fontDescriptor = newObject();\n out(\"<<\");\n out(\"/Type /FontDescriptor\");\n out(\"/FontName /\" + toPDFName(font.fontName));\n out(\"/FontFile2 \" + fontTable + \" 0 R\");\n out(\"/FontBBox \" + jsPDF.API.PDFObject.convert(font.metadata.bbox));\n out(\"/Flags \" + font.metadata.flags);\n out(\"/StemV \" + font.metadata.stemV);\n out(\"/ItalicAngle \" + font.metadata.italicAngle);\n out(\"/Ascent \" + font.metadata.ascender);\n out(\"/Descent \" + font.metadata.decender);\n out(\"/CapHeight \" + font.metadata.capHeight);\n out(\">>\");\n out(\"endobj\");\n\n var DescendantFont = newObject();\n out(\"<<\");\n out(\"/Type /Font\");\n out(\"/BaseFont /\" + toPDFName(font.fontName));\n out(\"/FontDescriptor \" + fontDescriptor + \" 0 R\");\n out(\"/W \" + jsPDF.API.PDFObject.convert(widths));\n out(\"/CIDToGIDMap /Identity\");\n out(\"/DW 1000\");\n out(\"/Subtype /CIDFontType2\");\n out(\"/CIDSystemInfo\");\n out(\"<<\");\n out(\"/Supplement 0\");\n out(\"/Registry (Adobe)\");\n out(\"/Ordering (\" + font.encoding + \")\");\n out(\">>\");\n out(\">>\");\n out(\"endobj\");\n\n font.objectNumber = newObject();\n out(\"<<\");\n out(\"/Type /Font\");\n out(\"/Subtype /Type0\");\n out(\"/ToUnicode \" + cmap + \" 0 R\");\n out(\"/BaseFont /\" + toPDFName(font.fontName));\n out(\"/Encoding /\" + font.encoding);\n out(\"/DescendantFonts [\" + DescendantFont + \" 0 R]\");\n out(\">>\");\n out(\"endobj\");\n\n font.isAlreadyPutted = true;\n }\n };\n\n jsPDFAPI.events.push([\n \"putFont\",\n function(args) {\n identityHFunction(args);\n }\n ]);\n\n var winAnsiEncodingFunction = function(options) {\n var font = options.font;\n var out = options.out;\n var newObject = options.newObject;\n var putStream = options.putStream;\n\n if (\n font.metadata instanceof jsPDF.API.TTFFont &&\n font.encoding === \"WinAnsiEncoding\"\n ) {\n //Tag with WinAnsi encoding\n var data = font.metadata.rawData;\n var pdfOutput = data;\n var pdfOutput2 = \"\";\n for (var i = 0; i < pdfOutput.length; i++) {\n pdfOutput2 += String.fromCharCode(pdfOutput[i]);\n }\n var fontTable = newObject();\n putStream({ data: pdfOutput2, addLength1: true, objectId: fontTable });\n out(\"endobj\");\n\n var cmap = newObject();\n var cmapData = toUnicodeCmap(font.metadata.toUnicode);\n putStream({ data: cmapData, addLength1: true, objectId: cmap });\n out(\"endobj\");\n\n var fontDescriptor = newObject();\n out(\"<<\");\n out(\"/Descent \" + font.metadata.decender);\n out(\"/CapHeight \" + font.metadata.capHeight);\n out(\"/StemV \" + font.metadata.stemV);\n out(\"/Type /FontDescriptor\");\n out(\"/FontFile2 \" + fontTable + \" 0 R\");\n out(\"/Flags 96\");\n out(\"/FontBBox \" + jsPDF.API.PDFObject.convert(font.metadata.bbox));\n out(\"/FontName /\" + toPDFName(font.fontName));\n out(\"/ItalicAngle \" + font.metadata.italicAngle);\n out(\"/Ascent \" + font.metadata.ascender);\n out(\">>\");\n out(\"endobj\");\n font.objectNumber = newObject();\n for (var j = 0; j < font.metadata.hmtx.widths.length; j++) {\n font.metadata.hmtx.widths[j] = parseInt(\n font.metadata.hmtx.widths[j] * (1000 / font.metadata.head.unitsPerEm)\n ); //Change the width of Em units to Point units.\n }\n out(\n \"<>\"\n );\n out(\"endobj\");\n font.isAlreadyPutted = true;\n }\n };\n\n jsPDFAPI.events.push([\n \"putFont\",\n function(args) {\n winAnsiEncodingFunction(args);\n }\n ]);\n\n var utf8TextFunction = function(args) {\n var text = args.text || \"\";\n var x = args.x;\n var y = args.y;\n var options = args.options || {};\n var mutex = args.mutex || {};\n\n var pdfEscape = mutex.pdfEscape;\n var activeFontKey = mutex.activeFontKey;\n var fonts = mutex.fonts;\n var key = activeFontKey;\n\n var str = \"\",\n s = 0,\n cmapConfirm;\n var strText = \"\";\n var encoding = fonts[key].encoding;\n\n if (fonts[key].encoding !== \"Identity-H\") {\n return {\n text: text,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n }\n strText = text;\n\n key = activeFontKey;\n if (Array.isArray(text)) {\n strText = text[0];\n }\n for (s = 0; s < strText.length; s += 1) {\n if (fonts[key].metadata.hasOwnProperty(\"cmap\")) {\n cmapConfirm =\n fonts[key].metadata.cmap.unicode.codeMap[strText[s].charCodeAt(0)];\n /*\n if (Object.prototype.toString.call(text) === '[object Array]') {\n var i = 0;\n // for (i = 0; i < text.length; i += 1) {\n if (Object.prototype.toString.call(text[s]) === '[object Array]') {\n cmapConfirm = fonts[key].metadata.cmap.unicode.codeMap[strText[s][0].charCodeAt(0)]; //Make sure the cmap has the corresponding glyph id\n } else {\n\n }\n //}\n\n } else {\n cmapConfirm = fonts[key].metadata.cmap.unicode.codeMap[strText[s].charCodeAt(0)]; //Make sure the cmap has the corresponding glyph id\n }*/\n }\n if (!cmapConfirm) {\n if (\n strText[s].charCodeAt(0) < 256 &&\n fonts[key].metadata.hasOwnProperty(\"Unicode\")\n ) {\n str += strText[s];\n } else {\n str += \"\";\n }\n } else {\n str += strText[s];\n }\n }\n var result = \"\";\n if (parseInt(key.slice(1)) < 14 || encoding === \"WinAnsiEncoding\") {\n //For the default 13 font\n result = pdfEscape(str, key)\n .split(\"\")\n .map(function(cv) {\n return cv.charCodeAt(0).toString(16);\n })\n .join(\"\");\n } else if (encoding === \"Identity-H\") {\n result = pdfEscape16(str, fonts[key]);\n }\n mutex.isHex = true;\n\n return {\n text: result,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n };\n\n var utf8EscapeFunction = function(parms) {\n var text = parms.text || \"\",\n x = parms.x,\n y = parms.y,\n options = parms.options,\n mutex = parms.mutex;\n var tmpText = [];\n var args = {\n text: text,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n\n if (Array.isArray(text)) {\n var i = 0;\n for (i = 0; i < text.length; i += 1) {\n if (Array.isArray(text[i])) {\n if (text[i].length === 3) {\n tmpText.push([\n utf8TextFunction(Object.assign({}, args, { text: text[i][0] }))\n .text,\n text[i][1],\n text[i][2]\n ]);\n } else {\n tmpText.push(\n utf8TextFunction(Object.assign({}, args, { text: text[i] })).text\n );\n }\n } else {\n tmpText.push(\n utf8TextFunction(Object.assign({}, args, { text: text[i] })).text\n );\n }\n }\n parms.text = tmpText;\n } else {\n parms.text = utf8TextFunction(\n Object.assign({}, args, { text: text })\n ).text;\n }\n };\n\n jsPDFAPI.events.push([\"postProcessText\", utf8EscapeFunction]);\n})(jsPDF);\n","/**\n * @license\n * jsPDF virtual FileSystem functionality\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * Use the vFS to handle files\n *\n * @name vFS\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var _initializeVFS = function() {\n if (typeof this.internal.vFS === \"undefined\") {\n this.internal.vFS = {};\n }\n return true;\n };\n\n /**\n * Check if the file exists in the vFS\n *\n * @name existsFileInVFS\n * @function\n * @param {string} Possible filename in the vFS.\n * @returns {boolean}\n * @example\n * doc.existsFileInVFS(\"someFile.txt\");\n */\n jsPDFAPI.existsFileInVFS = function(filename) {\n _initializeVFS.call(this);\n return typeof this.internal.vFS[filename] !== \"undefined\";\n };\n\n /**\n * Add a file to the vFS\n *\n * @name addFileToVFS\n * @function\n * @param {string} filename The name of the file which should be added.\n * @param {string} filecontent The content of the file.\n * @returns {jsPDF}\n * @example\n * doc.addFileToVFS(\"someFile.txt\", \"BADFACE1\");\n */\n jsPDFAPI.addFileToVFS = function(filename, filecontent) {\n _initializeVFS.call(this);\n this.internal.vFS[filename] = filecontent;\n return this;\n };\n\n /**\n * Get the file from the vFS\n *\n * @name getFileFromVFS\n * @function\n * @param {string} The name of the file which gets requested.\n * @returns {string}\n * @example\n * doc.getFileFromVFS(\"someFile.txt\");\n */\n jsPDFAPI.getFileFromVFS = function(filename) {\n _initializeVFS.call(this);\n\n if (typeof this.internal.vFS[filename] !== \"undefined\") {\n return this.internal.vFS[filename];\n }\n return null;\n };\n})(jsPDF.API);\n","/**\n * @license\n * Unicode Bidi Engine based on the work of Alex Shensis (@asthensis)\n * MIT License\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n(function(jsPDF) {\n \"use strict\";\n /**\n * Table of Unicode types.\n *\n * Generated by:\n *\n * var bidi = require(\"./bidi/index\");\n * var bidi_accumulate = bidi.slice(0, 256).concat(bidi.slice(0x0500, 0x0500 + 256 * 3)).\n * concat(bidi.slice(0x2000, 0x2000 + 256)).concat(bidi.slice(0xFB00, 0xFB00 + 256)).\n * concat(bidi.slice(0xFE00, 0xFE00 + 2 * 256));\n *\n * for( var i = 0; i < bidi_accumulate.length; i++) {\n * \tif(bidi_accumulate[i] === undefined || bidi_accumulate[i] === 'ON')\n * \t\tbidi_accumulate[i] = 'N'; //mark as neutral to conserve space and substitute undefined\n * }\n * var bidiAccumulateStr = 'return [ \"' + bidi_accumulate.toString().replace(/,/g, '\", \"') + '\" ];';\n * require(\"fs\").writeFile('unicode-types.js', bidiAccumulateStr);\n *\n * Based on:\n * https://github.com/mathiasbynens/unicode-8.0.0\n */\n var bidiUnicodeTypes = [\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"S\",\n \"B\",\n \"S\",\n \"WS\",\n \"B\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"B\",\n \"B\",\n \"B\",\n \"S\",\n \"WS\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ES\",\n \"CS\",\n \"ES\",\n \"CS\",\n \"CS\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"B\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"CS\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"BN\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"EN\",\n \"EN\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"EN\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"N\",\n \"N\",\n \"AL\",\n \"ET\",\n \"ET\",\n \"AL\",\n \"CS\",\n \"AL\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"ET\",\n \"AN\",\n \"AN\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AN\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"L\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"B\",\n \"LRE\",\n \"RLE\",\n \"PDF\",\n \"LRO\",\n \"RLO\",\n \"CS\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"N\",\n \"LRI\",\n \"RLI\",\n \"FSI\",\n \"PDI\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"EN\",\n \"L\",\n \"N\",\n \"N\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"NSM\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"ES\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"N\",\n \"N\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"N\",\n \"BN\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ES\",\n \"CS\",\n \"ES\",\n \"CS\",\n \"CS\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\"\n ];\n\n /**\n * Unicode Bidi algorithm compliant Bidi engine.\n * For reference see http://unicode.org/reports/tr9/\n */\n\n /**\n * constructor ( options )\n *\n * Initializes Bidi engine\n *\n * @param {Object} See 'setOptions' below for detailed description.\n * options are cashed between invocation of 'doBidiReorder' method\n *\n * sample usage pattern of BidiEngine:\n * var opt = {\n * \tisInputVisual: true,\n * \tisInputRtl: false,\n * \tisOutputVisual: false,\n * \tisOutputRtl: false,\n * \tisSymmetricSwapping: true\n * }\n * var sourceToTarget = [], levels = [];\n * var bidiEng = Globalize.bidiEngine(opt);\n * var src = \"text string to be reordered\";\n * var ret = bidiEng.doBidiReorder(src, sourceToTarget, levels);\n */\n\n jsPDF.__bidiEngine__ = jsPDF.prototype.__bidiEngine__ = function(options) {\n var _UNICODE_TYPES = _bidiUnicodeTypes;\n\n var _STATE_TABLE_LTR = [\n [0, 3, 0, 1, 0, 0, 0],\n [0, 3, 0, 1, 2, 2, 0],\n [0, 3, 0, 0x11, 2, 0, 1],\n [0, 3, 5, 5, 4, 1, 0],\n [0, 3, 0x15, 0x15, 4, 0, 1],\n [0, 3, 5, 5, 4, 2, 0]\n ];\n\n var _STATE_TABLE_RTL = [\n [2, 0, 1, 1, 0, 1, 0],\n [2, 0, 1, 1, 0, 2, 0],\n [2, 0, 2, 1, 3, 2, 0],\n [2, 0, 2, 0x21, 3, 1, 1]\n ];\n\n var _TYPE_NAMES_MAP = { L: 0, R: 1, EN: 2, AN: 3, N: 4, B: 5, S: 6 };\n\n var _UNICODE_RANGES_MAP = {\n 0: 0,\n 5: 1,\n 6: 2,\n 7: 3,\n 0x20: 4,\n 0xfb: 5,\n 0xfe: 6,\n 0xff: 7\n };\n\n var _SWAP_TABLE = [\n \"\\u0028\",\n \"\\u0029\",\n \"\\u0028\",\n \"\\u003C\",\n \"\\u003E\",\n \"\\u003C\",\n \"\\u005B\",\n \"\\u005D\",\n \"\\u005B\",\n \"\\u007B\",\n \"\\u007D\",\n \"\\u007B\",\n \"\\u00AB\",\n \"\\u00BB\",\n \"\\u00AB\",\n \"\\u2039\",\n \"\\u203A\",\n \"\\u2039\",\n \"\\u2045\",\n \"\\u2046\",\n \"\\u2045\",\n \"\\u207D\",\n \"\\u207E\",\n \"\\u207D\",\n \"\\u208D\",\n \"\\u208E\",\n \"\\u208D\",\n \"\\u2264\",\n \"\\u2265\",\n \"\\u2264\",\n \"\\u2329\",\n \"\\u232A\",\n \"\\u2329\",\n \"\\uFE59\",\n \"\\uFE5A\",\n \"\\uFE59\",\n \"\\uFE5B\",\n \"\\uFE5C\",\n \"\\uFE5B\",\n \"\\uFE5D\",\n \"\\uFE5E\",\n \"\\uFE5D\",\n \"\\uFE64\",\n \"\\uFE65\",\n \"\\uFE64\"\n ];\n\n var _LTR_RANGES_REG_EXPR = new RegExp(\n /^([1-4|9]|1[0-9]|2[0-9]|3[0168]|4[04589]|5[012]|7[78]|159|16[0-9]|17[0-2]|21[569]|22[03489]|250)$/\n );\n\n var _lastArabic = false,\n _hasUbatAl,\n _hasUbatB,\n _hasUbatS,\n DIR_LTR = 0,\n DIR_RTL = 1,\n _isInVisual,\n _isInRtl,\n _isOutVisual,\n _isOutRtl,\n _isSymmetricSwapping,\n _dir = DIR_LTR;\n\n this.__bidiEngine__ = {};\n\n var _init = function(text, sourceToTargetMap) {\n if (sourceToTargetMap) {\n for (var i = 0; i < text.length; i++) {\n sourceToTargetMap[i] = i;\n }\n }\n if (_isInRtl === undefined) {\n _isInRtl = _isContextualDirRtl(text);\n }\n if (_isOutRtl === undefined) {\n _isOutRtl = _isContextualDirRtl(text);\n }\n };\n\n // for reference see 3.2 in http://unicode.org/reports/tr9/\n //\n var _getCharType = function(ch) {\n var charCode = ch.charCodeAt(),\n range = charCode >> 8,\n rangeIdx = _UNICODE_RANGES_MAP[range];\n\n if (rangeIdx !== undefined) {\n return _UNICODE_TYPES[rangeIdx * 256 + (charCode & 0xff)];\n } else if (range === 0xfc || range === 0xfd) {\n return \"AL\";\n } else if (_LTR_RANGES_REG_EXPR.test(range)) {\n //unlikely case\n return \"L\";\n } else if (range === 8) {\n // even less likely\n return \"R\";\n }\n return \"N\"; //undefined type, mark as neutral\n };\n\n var _isContextualDirRtl = function(text) {\n for (var i = 0, charType; i < text.length; i++) {\n charType = _getCharType(text.charAt(i));\n if (charType === \"L\") {\n return false;\n } else if (charType === \"R\") {\n return true;\n }\n }\n return false;\n };\n\n // for reference see 3.3.4 & 3.3.5 in http://unicode.org/reports/tr9/\n //\n var _resolveCharType = function(chars, types, resolvedTypes, index) {\n var cType = types[index],\n wType,\n nType,\n i,\n len;\n switch (cType) {\n case \"L\":\n case \"R\":\n _lastArabic = false;\n break;\n case \"N\":\n case \"AN\":\n break;\n\n case \"EN\":\n if (_lastArabic) {\n cType = \"AN\";\n }\n break;\n\n case \"AL\":\n _lastArabic = true;\n _hasUbatAl = true;\n cType = \"R\";\n break;\n\n case \"WS\":\n cType = \"N\";\n break;\n\n case \"CS\":\n if (\n index < 1 ||\n index + 1 >= types.length ||\n ((wType = resolvedTypes[index - 1]) !== \"EN\" && wType !== \"AN\") ||\n ((nType = types[index + 1]) !== \"EN\" && nType !== \"AN\")\n ) {\n cType = \"N\";\n } else if (_lastArabic) {\n nType = \"AN\";\n }\n cType = nType === wType ? nType : \"N\";\n break;\n\n case \"ES\":\n wType = index > 0 ? resolvedTypes[index - 1] : \"B\";\n cType =\n wType === \"EN\" &&\n index + 1 < types.length &&\n types[index + 1] === \"EN\"\n ? \"EN\"\n : \"N\";\n break;\n\n case \"ET\":\n if (index > 0 && resolvedTypes[index - 1] === \"EN\") {\n cType = \"EN\";\n break;\n } else if (_lastArabic) {\n cType = \"N\";\n break;\n }\n i = index + 1;\n len = types.length;\n while (i < len && types[i] === \"ET\") {\n i++;\n }\n if (i < len && types[i] === \"EN\") {\n cType = \"EN\";\n } else {\n cType = \"N\";\n }\n break;\n\n case \"NSM\":\n if (_isInVisual && !_isInRtl) {\n //V->L\n len = types.length;\n i = index + 1;\n while (i < len && types[i] === \"NSM\") {\n i++;\n }\n if (i < len) {\n var c = chars[index];\n var rtlCandidate = (c >= 0x0591 && c <= 0x08ff) || c === 0xfb1e;\n wType = types[i];\n if (rtlCandidate && (wType === \"R\" || wType === \"AL\")) {\n cType = \"R\";\n break;\n }\n }\n }\n if (index < 1 || (wType = types[index - 1]) === \"B\") {\n cType = \"N\";\n } else {\n cType = resolvedTypes[index - 1];\n }\n break;\n\n case \"B\":\n _lastArabic = false;\n _hasUbatB = true;\n cType = _dir;\n break;\n\n case \"S\":\n _hasUbatS = true;\n cType = \"N\";\n break;\n\n case \"LRE\":\n case \"RLE\":\n case \"LRO\":\n case \"RLO\":\n case \"PDF\":\n _lastArabic = false;\n break;\n case \"BN\":\n cType = \"N\";\n break;\n }\n return cType;\n };\n\n var _handleUbatS = function(types, levels, length) {\n for (var i = 0; i < length; i++) {\n if (types[i] === \"S\") {\n levels[i] = _dir;\n for (var j = i - 1; j >= 0; j--) {\n if (types[j] === \"WS\") {\n levels[j] = _dir;\n } else {\n break;\n }\n }\n }\n }\n };\n\n var _invertString = function(text, sourceToTargetMap, levels) {\n var charArray = text.split(\"\");\n if (levels) {\n _computeLevels(charArray, levels, { hiLevel: _dir });\n }\n charArray.reverse();\n sourceToTargetMap && sourceToTargetMap.reverse();\n return charArray.join(\"\");\n };\n\n // For reference see 3.3 in http://unicode.org/reports/tr9/\n //\n var _computeLevels = function(chars, levels, params) {\n var action,\n condition,\n i,\n index,\n newLevel,\n prevState,\n condPos = -1,\n len = chars.length,\n newState = 0,\n resolvedTypes = [],\n stateTable = _dir ? _STATE_TABLE_RTL : _STATE_TABLE_LTR,\n types = [];\n\n _lastArabic = false;\n _hasUbatAl = false;\n _hasUbatB = false;\n _hasUbatS = false;\n for (i = 0; i < len; i++) {\n types[i] = _getCharType(chars[i]);\n }\n for (index = 0; index < len; index++) {\n prevState = newState;\n resolvedTypes[index] = _resolveCharType(\n chars,\n types,\n resolvedTypes,\n index\n );\n newState = stateTable[prevState][_TYPE_NAMES_MAP[resolvedTypes[index]]];\n action = newState & 0xf0;\n newState &= 0x0f;\n levels[index] = newLevel = stateTable[newState][5];\n if (action > 0) {\n if (action === 0x10) {\n for (i = condPos; i < index; i++) {\n levels[i] = 1;\n }\n condPos = -1;\n } else {\n condPos = -1;\n }\n }\n condition = stateTable[newState][6];\n if (condition) {\n if (condPos === -1) {\n condPos = index;\n }\n } else {\n if (condPos > -1) {\n for (i = condPos; i < index; i++) {\n levels[i] = newLevel;\n }\n condPos = -1;\n }\n }\n if (types[index] === \"B\") {\n levels[index] = 0;\n }\n params.hiLevel |= newLevel;\n }\n if (_hasUbatS) {\n _handleUbatS(types, levels, len);\n }\n };\n\n // for reference see 3.4 in http://unicode.org/reports/tr9/\n //\n var _invertByLevel = function(\n level,\n charArray,\n sourceToTargetMap,\n levels,\n params\n ) {\n if (params.hiLevel < level) {\n return;\n }\n if (level === 1 && _dir === DIR_RTL && !_hasUbatB) {\n charArray.reverse();\n sourceToTargetMap && sourceToTargetMap.reverse();\n return;\n }\n var ch,\n high,\n end,\n low,\n len = charArray.length,\n start = 0;\n\n while (start < len) {\n if (levels[start] >= level) {\n end = start + 1;\n while (end < len && levels[end] >= level) {\n end++;\n }\n for (low = start, high = end - 1; low < high; low++, high--) {\n ch = charArray[low];\n charArray[low] = charArray[high];\n charArray[high] = ch;\n if (sourceToTargetMap) {\n ch = sourceToTargetMap[low];\n sourceToTargetMap[low] = sourceToTargetMap[high];\n sourceToTargetMap[high] = ch;\n }\n }\n start = end;\n }\n start++;\n }\n };\n\n // for reference see 7 & BD16 in http://unicode.org/reports/tr9/\n //\n var _symmetricSwap = function(charArray, levels, params) {\n if (params.hiLevel !== 0 && _isSymmetricSwapping) {\n for (var i = 0, index; i < charArray.length; i++) {\n if (levels[i] === 1) {\n index = _SWAP_TABLE.indexOf(charArray[i]);\n if (index >= 0) {\n charArray[i] = _SWAP_TABLE[index + 1];\n }\n }\n }\n }\n };\n\n var _reorder = function(text, sourceToTargetMap, levels) {\n var charArray = text.split(\"\"),\n params = { hiLevel: _dir };\n\n if (!levels) {\n levels = [];\n }\n _computeLevels(charArray, levels, params);\n _symmetricSwap(charArray, levels, params);\n _invertByLevel(DIR_RTL + 1, charArray, sourceToTargetMap, levels, params);\n _invertByLevel(DIR_RTL, charArray, sourceToTargetMap, levels, params);\n return charArray.join(\"\");\n };\n\n // doBidiReorder( text, sourceToTargetMap, levels )\n // Performs Bidi reordering by implementing Unicode Bidi algorithm.\n // Returns reordered string\n // @text [String]:\n // - input string to be reordered, this is input parameter\n // $sourceToTargetMap [Array] (optional)\n // - resultant mapping between input and output strings, this is output parameter\n // $levels [Array] (optional)\n // - array of calculated Bidi levels, , this is output parameter\n this.__bidiEngine__.doBidiReorder = function(\n text,\n sourceToTargetMap,\n levels\n ) {\n _init(text, sourceToTargetMap);\n if (!_isInVisual && _isOutVisual && !_isOutRtl) {\n // LLTR->VLTR, LRTL->VLTR\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else if (_isInVisual && _isOutVisual && _isInRtl ^ _isOutRtl) {\n // VRTL->VLTR, VLTR->VRTL\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _invertString(text, sourceToTargetMap, levels);\n } else if (!_isInVisual && _isOutVisual && _isOutRtl) {\n // LLTR->VRTL, LRTL->VRTL\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n } else if (_isInVisual && !_isInRtl && !_isOutVisual && !_isOutRtl) {\n // VLTR->LLTR\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else if (_isInVisual && !_isOutVisual && _isInRtl ^ _isOutRtl) {\n // VLTR->LRTL, VRTL->LLTR\n text = _invertString(text, sourceToTargetMap);\n if (_isInRtl) {\n //LLTR -> VLTR\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else {\n //LRTL -> VRTL\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n }\n } else if (_isInVisual && _isInRtl && !_isOutVisual && _isOutRtl) {\n // VRTL->LRTL\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n } else if (!_isInVisual && !_isOutVisual && _isInRtl ^ _isOutRtl) {\n // LRTL->LLTR, LLTR->LRTL\n var isSymmetricSwappingOrig = _isSymmetricSwapping;\n if (_isInRtl) {\n //LRTL->LLTR\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n _dir = DIR_LTR;\n _isSymmetricSwapping = false;\n text = _reorder(text, sourceToTargetMap, levels);\n _isSymmetricSwapping = isSymmetricSwappingOrig;\n } else {\n //LLTR->LRTL\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n _dir = DIR_RTL;\n _isSymmetricSwapping = false;\n text = _reorder(text, sourceToTargetMap, levels);\n _isSymmetricSwapping = isSymmetricSwappingOrig;\n text = _invertString(text, sourceToTargetMap);\n }\n }\n return text;\n };\n\n /**\n * @name setOptions( options )\n * @function\n * Sets options for Bidi conversion\n * @param {Object}:\n * - isInputVisual {boolean} (defaults to false): allowed values: true(Visual mode), false(Logical mode)\n * - isInputRtl {boolean}: allowed values true(Right-to-left direction), false (Left-to-right directiion), undefined(Contectual direction, i.e.direction defined by first strong character of input string)\n * - isOutputVisual {boolean} (defaults to false): allowed values: true(Visual mode), false(Logical mode)\n * - isOutputRtl {boolean}: allowed values true(Right-to-left direction), false (Left-to-right directiion), undefined(Contectual direction, i.e.direction defined by first strong characterof input string)\n * - isSymmetricSwapping {boolean} (defaults to false): allowed values true(needs symmetric swapping), false (no need in symmetric swapping),\n */\n this.__bidiEngine__.setOptions = function(options) {\n if (options) {\n _isInVisual = options.isInputVisual;\n _isOutVisual = options.isOutputVisual;\n _isInRtl = options.isInputRtl;\n _isOutRtl = options.isOutputRtl;\n _isSymmetricSwapping = options.isSymmetricSwapping;\n }\n };\n\n this.__bidiEngine__.setOptions(options);\n return this.__bidiEngine__;\n };\n\n var _bidiUnicodeTypes = bidiUnicodeTypes;\n\n var bidiEngine = new jsPDF.__bidiEngine__({ isInputVisual: true });\n\n var bidiEngineFunction = function(args) {\n var text = args.text;\n var x = args.x;\n var y = args.y;\n var options = args.options || {};\n var mutex = args.mutex || {};\n var lang = options.lang;\n var tmpText = [];\n\n options.isInputVisual =\n typeof options.isInputVisual === \"boolean\" ? options.isInputVisual : true;\n bidiEngine.setOptions(options);\n\n if (Object.prototype.toString.call(text) === \"[object Array]\") {\n var i = 0;\n tmpText = [];\n for (i = 0; i < text.length; i += 1) {\n if (Object.prototype.toString.call(text[i]) === \"[object Array]\") {\n tmpText.push([\n bidiEngine.doBidiReorder(text[i][0]),\n text[i][1],\n text[i][2]\n ]);\n } else {\n tmpText.push([bidiEngine.doBidiReorder(text[i])]);\n }\n }\n args.text = tmpText;\n } else {\n args.text = bidiEngine.doBidiReorder(text);\n }\n bidiEngine.setOptions({ isInputVisual: true });\n };\n\n jsPDF.API.events.push([\"postProcessText\", bidiEngineFunction]);\n})(jsPDF);\n","/* eslint-disable no-control-regex */\n/************************************************\n * Title : custom font *\n * Start Data : 2017. 01. 22. *\n * Comment : TEXT API *\n ************************************************/\n\n/******************************\n * jsPDF extension API Design *\n * ****************************/\n\nimport { jsPDF } from \"../jspdf.js\";\n\njsPDF.API.TTFFont = (function() {\n /************************************************************************/\n /* function : open */\n /* comment : Decode the encoded ttf content and create a TTFFont object. */\n /************************************************************************/\n TTFFont.open = function(file) {\n return new TTFFont(file);\n };\n /***************************************************************/\n /* function : TTFFont gernerator */\n /* comment : Decode TTF contents are parsed, Data, */\n /* Subset object is created, and registerTTF function is called.*/\n /***************************************************************/\n function TTFFont(rawData) {\n var data;\n this.rawData = rawData;\n data = this.contents = new Data(rawData);\n this.contents.pos = 4;\n if (data.readString(4) === \"ttcf\") {\n throw new Error(\"TTCF not supported.\");\n } else {\n data.pos = 0;\n this.parse();\n this.subset = new Subset(this);\n this.registerTTF();\n }\n }\n /********************************************************/\n /* function : parse */\n /* comment : TTF Parses the file contents by each table.*/\n /********************************************************/\n TTFFont.prototype.parse = function() {\n this.directory = new Directory(this.contents);\n this.head = new HeadTable(this);\n this.name = new NameTable(this);\n this.cmap = new CmapTable(this);\n this.toUnicode = {};\n this.hhea = new HheaTable(this);\n this.maxp = new MaxpTable(this);\n this.hmtx = new HmtxTable(this);\n this.post = new PostTable(this);\n this.os2 = new OS2Table(this);\n this.loca = new LocaTable(this);\n this.glyf = new GlyfTable(this);\n this.ascender =\n (this.os2.exists && this.os2.ascender) || this.hhea.ascender;\n this.decender =\n (this.os2.exists && this.os2.decender) || this.hhea.decender;\n this.lineGap = (this.os2.exists && this.os2.lineGap) || this.hhea.lineGap;\n return (this.bbox = [\n this.head.xMin,\n this.head.yMin,\n this.head.xMax,\n this.head.yMax\n ]);\n };\n /***************************************************************/\n /* function : registerTTF */\n /* comment : Get the value to assign pdf font descriptors. */\n /***************************************************************/\n TTFFont.prototype.registerTTF = function() {\n var e, hi, low, raw, _ref;\n this.scaleFactor = 1000.0 / this.head.unitsPerEm;\n this.bbox = function() {\n var _i, _len, _ref, _results;\n _ref = this.bbox;\n _results = [];\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n e = _ref[_i];\n _results.push(Math.round(e * this.scaleFactor));\n }\n return _results;\n }.call(this);\n this.stemV = 0;\n if (this.post.exists) {\n raw = this.post.italic_angle;\n hi = raw >> 16;\n low = raw & 0xff;\n if ((hi & 0x8000) !== 0) {\n hi = -((hi ^ 0xffff) + 1);\n }\n this.italicAngle = +(\"\" + hi + \".\" + low);\n } else {\n this.italicAngle = 0;\n }\n this.ascender = Math.round(this.ascender * this.scaleFactor);\n this.decender = Math.round(this.decender * this.scaleFactor);\n this.lineGap = Math.round(this.lineGap * this.scaleFactor);\n this.capHeight = (this.os2.exists && this.os2.capHeight) || this.ascender;\n this.xHeight = (this.os2.exists && this.os2.xHeight) || 0;\n this.familyClass = ((this.os2.exists && this.os2.familyClass) || 0) >> 8;\n this.isSerif =\n (_ref = this.familyClass) === 1 ||\n _ref === 2 ||\n _ref === 3 ||\n _ref === 4 ||\n _ref === 5 ||\n _ref === 7;\n this.isScript = this.familyClass === 10;\n this.flags = 0;\n if (this.post.isFixedPitch) {\n this.flags |= 1 << 0;\n }\n if (this.isSerif) {\n this.flags |= 1 << 1;\n }\n if (this.isScript) {\n this.flags |= 1 << 3;\n }\n if (this.italicAngle !== 0) {\n this.flags |= 1 << 6;\n }\n this.flags |= 1 << 5;\n if (!this.cmap.unicode) {\n throw new Error(\"No unicode cmap for font\");\n }\n };\n TTFFont.prototype.characterToGlyph = function(character) {\n var _ref;\n return (\n ((_ref = this.cmap.unicode) != null ? _ref.codeMap[character] : void 0) ||\n 0\n );\n };\n TTFFont.prototype.widthOfGlyph = function(glyph) {\n var scale;\n scale = 1000.0 / this.head.unitsPerEm;\n return this.hmtx.forGlyph(glyph).advance * scale;\n };\n TTFFont.prototype.widthOfString = function(string, size, charSpace) {\n var charCode, i, scale, width, _ref;\n string = \"\" + string;\n width = 0;\n for (\n i = 0, _ref = string.length;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n charCode = string.charCodeAt(i);\n width +=\n this.widthOfGlyph(this.characterToGlyph(charCode)) +\n charSpace * (1000 / size) || 0;\n }\n scale = size / 1000;\n return width * scale;\n };\n TTFFont.prototype.lineHeight = function(size, includeGap) {\n var gap;\n if (includeGap == null) {\n includeGap = false;\n }\n gap = includeGap ? this.lineGap : 0;\n return ((this.ascender + gap - this.decender) / 1000) * size;\n };\n return TTFFont;\n})();\n\n/************************************************************************************************/\n/* function : Data */\n/* comment : The ttf data decoded and stored in an array is read and written to the Data object.*/\n/************************************************************************************************/\nvar Data = (function() {\n function Data(data) {\n this.data = data != null ? data : [];\n this.pos = 0;\n this.length = this.data.length;\n }\n Data.prototype.readByte = function() {\n return this.data[this.pos++];\n };\n Data.prototype.writeByte = function(byte) {\n return (this.data[this.pos++] = byte);\n };\n Data.prototype.readUInt32 = function() {\n var b1, b2, b3, b4;\n b1 = this.readByte() * 0x1000000;\n b2 = this.readByte() << 16;\n b3 = this.readByte() << 8;\n b4 = this.readByte();\n return b1 + b2 + b3 + b4;\n };\n Data.prototype.writeUInt32 = function(val) {\n this.writeByte((val >>> 24) & 0xff);\n this.writeByte((val >> 16) & 0xff);\n this.writeByte((val >> 8) & 0xff);\n return this.writeByte(val & 0xff);\n };\n Data.prototype.readInt32 = function() {\n var int;\n int = this.readUInt32();\n if (int >= 0x80000000) {\n return int - 0x100000000;\n } else {\n return int;\n }\n };\n Data.prototype.writeInt32 = function(val) {\n if (val < 0) {\n val += 0x100000000;\n }\n return this.writeUInt32(val);\n };\n Data.prototype.readUInt16 = function() {\n var b1, b2;\n b1 = this.readByte() << 8;\n b2 = this.readByte();\n return b1 | b2;\n };\n Data.prototype.writeUInt16 = function(val) {\n this.writeByte((val >> 8) & 0xff);\n return this.writeByte(val & 0xff);\n };\n Data.prototype.readInt16 = function() {\n var int;\n int = this.readUInt16();\n if (int >= 0x8000) {\n return int - 0x10000;\n } else {\n return int;\n }\n };\n Data.prototype.writeInt16 = function(val) {\n if (val < 0) {\n val += 0x10000;\n }\n return this.writeUInt16(val);\n };\n Data.prototype.readString = function(length) {\n var i, ret;\n ret = [];\n for (\n i = 0;\n 0 <= length ? i < length : i > length;\n i = 0 <= length ? ++i : --i\n ) {\n ret[i] = String.fromCharCode(this.readByte());\n }\n return ret.join(\"\");\n };\n Data.prototype.writeString = function(val) {\n var i, _ref, _results;\n _results = [];\n for (\n i = 0, _ref = val.length;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n _results.push(this.writeByte(val.charCodeAt(i)));\n }\n return _results;\n };\n /*Data.prototype.stringAt = function (pos, length) {\n this.pos = pos;\n return this.readString(length);\n };*/\n Data.prototype.readShort = function() {\n return this.readInt16();\n };\n Data.prototype.writeShort = function(val) {\n return this.writeInt16(val);\n };\n Data.prototype.readLongLong = function() {\n var b1, b2, b3, b4, b5, b6, b7, b8;\n b1 = this.readByte();\n b2 = this.readByte();\n b3 = this.readByte();\n b4 = this.readByte();\n b5 = this.readByte();\n b6 = this.readByte();\n b7 = this.readByte();\n b8 = this.readByte();\n if (b1 & 0x80) {\n return (\n ((b1 ^ 0xff) * 0x100000000000000 +\n (b2 ^ 0xff) * 0x1000000000000 +\n (b3 ^ 0xff) * 0x10000000000 +\n (b4 ^ 0xff) * 0x100000000 +\n (b5 ^ 0xff) * 0x1000000 +\n (b6 ^ 0xff) * 0x10000 +\n (b7 ^ 0xff) * 0x100 +\n (b8 ^ 0xff) +\n 1) *\n -1\n );\n }\n return (\n b1 * 0x100000000000000 +\n b2 * 0x1000000000000 +\n b3 * 0x10000000000 +\n b4 * 0x100000000 +\n b5 * 0x1000000 +\n b6 * 0x10000 +\n b7 * 0x100 +\n b8\n );\n };\n Data.prototype.writeLongLong = function(val) {\n var high, low;\n high = Math.floor(val / 0x100000000);\n low = val & 0xffffffff;\n this.writeByte((high >> 24) & 0xff);\n this.writeByte((high >> 16) & 0xff);\n this.writeByte((high >> 8) & 0xff);\n this.writeByte(high & 0xff);\n this.writeByte((low >> 24) & 0xff);\n this.writeByte((low >> 16) & 0xff);\n this.writeByte((low >> 8) & 0xff);\n return this.writeByte(low & 0xff);\n };\n Data.prototype.readInt = function() {\n return this.readInt32();\n };\n Data.prototype.writeInt = function(val) {\n return this.writeInt32(val);\n };\n /*Data.prototype.slice = function (start, end) {\n return this.data.slice(start, end);\n };*/\n Data.prototype.read = function(bytes) {\n var buf, i;\n buf = [];\n for (\n i = 0;\n 0 <= bytes ? i < bytes : i > bytes;\n i = 0 <= bytes ? ++i : --i\n ) {\n buf.push(this.readByte());\n }\n return buf;\n };\n Data.prototype.write = function(bytes) {\n var byte, i, _len, _results;\n _results = [];\n for (i = 0, _len = bytes.length; i < _len; i++) {\n byte = bytes[i];\n _results.push(this.writeByte(byte));\n }\n return _results;\n };\n return Data;\n})();\n\nvar Directory = (function() {\n var checksum;\n\n /*****************************************************************************************************/\n /* function : Directory generator */\n /* comment : Initialize the offset, tag, length, and checksum for each table for the font to be used.*/\n /*****************************************************************************************************/\n function Directory(data) {\n var entry, i, _ref;\n this.scalarType = data.readInt();\n this.tableCount = data.readShort();\n this.searchRange = data.readShort();\n this.entrySelector = data.readShort();\n this.rangeShift = data.readShort();\n this.tables = {};\n for (\n i = 0, _ref = this.tableCount;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n entry = {\n tag: data.readString(4),\n checksum: data.readInt(),\n offset: data.readInt(),\n length: data.readInt()\n };\n this.tables[entry.tag] = entry;\n }\n }\n /********************************************************************************************************/\n /* function : encode */\n /* comment : It encodes and stores the font table object and information used for the directory object. */\n /********************************************************************************************************/\n Directory.prototype.encode = function(tables) {\n var adjustment,\n directory,\n directoryLength,\n entrySelector,\n headOffset,\n log2,\n offset,\n rangeShift,\n searchRange,\n sum,\n table,\n tableCount,\n tableData,\n tag;\n tableCount = Object.keys(tables).length;\n log2 = Math.log(2);\n searchRange = Math.floor(Math.log(tableCount) / log2) * 16;\n entrySelector = Math.floor(searchRange / log2);\n rangeShift = tableCount * 16 - searchRange;\n directory = new Data();\n directory.writeInt(this.scalarType);\n directory.writeShort(tableCount);\n directory.writeShort(searchRange);\n directory.writeShort(entrySelector);\n directory.writeShort(rangeShift);\n directoryLength = tableCount * 16;\n offset = directory.pos + directoryLength;\n headOffset = null;\n tableData = [];\n for (tag in tables) {\n table = tables[tag];\n directory.writeString(tag);\n directory.writeInt(checksum(table));\n directory.writeInt(offset);\n directory.writeInt(table.length);\n tableData = tableData.concat(table);\n if (tag === \"head\") {\n headOffset = offset;\n }\n offset += table.length;\n while (offset % 4) {\n tableData.push(0);\n offset++;\n }\n }\n directory.write(tableData);\n sum = checksum(directory.data);\n adjustment = 0xb1b0afba - sum;\n directory.pos = headOffset + 8;\n directory.writeUInt32(adjustment);\n return directory.data;\n };\n /***************************************************************/\n /* function : checksum */\n /* comment : Duplicate the table for the tag. */\n /***************************************************************/\n checksum = function(data) {\n var i, sum, tmp, _ref;\n data = __slice.call(data);\n while (data.length % 4) {\n data.push(0);\n }\n tmp = new Data(data);\n sum = 0;\n for (i = 0, _ref = data.length; i < _ref; i = i += 4) {\n sum += tmp.readUInt32();\n }\n return sum & 0xffffffff;\n };\n return Directory;\n})();\n\nvar Table,\n __hasProp = {}.hasOwnProperty,\n __extends = function(child, parent) {\n for (var key in parent) {\n if (__hasProp.call(parent, key)) child[key] = parent[key];\n }\n\n function ctor() {\n this.constructor = child;\n }\n ctor.prototype = parent.prototype;\n child.prototype = new ctor();\n child.__super__ = parent.prototype;\n return child;\n };\n\n/***************************************************************/\n/* function : Table */\n/* comment : Save info for each table, and parse the table. */\n/***************************************************************/\nTable = (function() {\n function Table(file) {\n var info;\n this.file = file;\n info = this.file.directory.tables[this.tag];\n this.exists = !!info;\n if (info) {\n (this.offset = info.offset), (this.length = info.length);\n this.parse(this.file.contents);\n }\n }\n Table.prototype.parse = function() {};\n Table.prototype.encode = function() {};\n Table.prototype.raw = function() {\n if (!this.exists) {\n return null;\n }\n this.file.contents.pos = this.offset;\n return this.file.contents.read(this.length);\n };\n return Table;\n})();\n\nvar HeadTable = (function(_super) {\n __extends(HeadTable, _super);\n\n function HeadTable() {\n return HeadTable.__super__.constructor.apply(this, arguments);\n }\n HeadTable.prototype.tag = \"head\";\n HeadTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.revision = data.readInt();\n this.checkSumAdjustment = data.readInt();\n this.magicNumber = data.readInt();\n this.flags = data.readShort();\n this.unitsPerEm = data.readShort();\n this.created = data.readLongLong();\n this.modified = data.readLongLong();\n this.xMin = data.readShort();\n this.yMin = data.readShort();\n this.xMax = data.readShort();\n this.yMax = data.readShort();\n this.macStyle = data.readShort();\n this.lowestRecPPEM = data.readShort();\n this.fontDirectionHint = data.readShort();\n this.indexToLocFormat = data.readShort();\n return (this.glyphDataFormat = data.readShort());\n };\n HeadTable.prototype.encode = function(indexToLocFormat) {\n var table;\n table = new Data();\n table.writeInt(this.version);\n table.writeInt(this.revision);\n table.writeInt(this.checkSumAdjustment);\n table.writeInt(this.magicNumber);\n table.writeShort(this.flags);\n table.writeShort(this.unitsPerEm);\n table.writeLongLong(this.created);\n table.writeLongLong(this.modified);\n table.writeShort(this.xMin);\n table.writeShort(this.yMin);\n table.writeShort(this.xMax);\n table.writeShort(this.yMax);\n table.writeShort(this.macStyle);\n table.writeShort(this.lowestRecPPEM);\n table.writeShort(this.fontDirectionHint);\n table.writeShort(indexToLocFormat);\n table.writeShort(this.glyphDataFormat);\n return table.data;\n };\n return HeadTable;\n})(Table);\n\n/************************************************************************************/\n/* function : CmapEntry */\n/* comment : Cmap Initializes and encodes object information (required by pdf spec).*/\n/************************************************************************************/\nvar CmapEntry = (function() {\n function CmapEntry(data, offset) {\n var code,\n count,\n endCode,\n glyphId,\n glyphIds,\n i,\n idDelta,\n idRangeOffset,\n index,\n saveOffset,\n segCount,\n segCountX2,\n start,\n startCode,\n tail,\n _j,\n _k,\n _len;\n this.platformID = data.readUInt16();\n this.encodingID = data.readShort();\n this.offset = offset + data.readInt();\n saveOffset = data.pos;\n data.pos = this.offset;\n this.format = data.readUInt16();\n this.length = data.readUInt16();\n this.language = data.readUInt16();\n this.isUnicode =\n (this.platformID === 3 && this.encodingID === 1 && this.format === 4) ||\n (this.platformID === 0 && this.format === 4);\n this.codeMap = {};\n switch (this.format) {\n case 0:\n for (i = 0; i < 256; ++i) {\n this.codeMap[i] = data.readByte();\n }\n break;\n case 4:\n segCountX2 = data.readUInt16();\n segCount = segCountX2 / 2;\n data.pos += 6;\n endCode = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n data.pos += 2;\n startCode = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n idDelta = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n idRangeOffset = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n count = (this.length - data.pos + this.offset) / 2;\n glyphIds = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= count ? _j < count : _j > count;\n i = 0 <= count ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n for (i = _j = 0, _len = endCode.length; _j < _len; i = ++_j) {\n tail = endCode[i];\n start = startCode[i];\n for (\n code = _k = start;\n start <= tail ? _k <= tail : _k >= tail;\n code = start <= tail ? ++_k : --_k\n ) {\n if (idRangeOffset[i] === 0) {\n glyphId = code + idDelta[i];\n } else {\n index = idRangeOffset[i] / 2 + (code - start) - (segCount - i);\n glyphId = glyphIds[index] || 0;\n if (glyphId !== 0) {\n glyphId += idDelta[i];\n }\n }\n this.codeMap[code] = glyphId & 0xffff;\n }\n }\n }\n data.pos = saveOffset;\n }\n CmapEntry.encode = function(charmap, encoding) {\n var charMap,\n code,\n codeMap,\n codes,\n delta,\n deltas,\n diff,\n endCode,\n endCodes,\n entrySelector,\n glyphIDs,\n i,\n id,\n indexes,\n last,\n map,\n nextID,\n offset,\n old,\n rangeOffsets,\n rangeShift,\n searchRange,\n segCount,\n segCountX2,\n startCode,\n startCodes,\n startGlyph,\n subtable,\n _i,\n _j,\n _k,\n _l,\n _len,\n _len1,\n _len2,\n _len3,\n _len4,\n _len5,\n _len6,\n _len7,\n _m,\n _n,\n _name,\n _o,\n _p,\n _q;\n subtable = new Data();\n codes = Object.keys(charmap).sort(function(a, b) {\n return a - b;\n });\n switch (encoding) {\n case \"macroman\":\n id = 0;\n indexes = (function() {\n var _results = [];\n for (i = 0; i < 256; ++i) {\n _results.push(0);\n }\n return _results;\n })();\n map = {\n 0: 0\n };\n codeMap = {};\n for (_i = 0, _len = codes.length; _i < _len; _i++) {\n code = codes[_i];\n if (map[(_name = charmap[code])] == null) {\n map[_name] = ++id;\n }\n codeMap[code] = {\n old: charmap[code],\n new: map[charmap[code]]\n };\n indexes[code] = map[charmap[code]];\n }\n subtable.writeUInt16(1);\n subtable.writeUInt16(0);\n subtable.writeUInt32(12);\n subtable.writeUInt16(0);\n subtable.writeUInt16(262);\n subtable.writeUInt16(0);\n subtable.write(indexes);\n return {\n charMap: codeMap,\n subtable: subtable.data,\n maxGlyphID: id + 1\n };\n case \"unicode\":\n startCodes = [];\n endCodes = [];\n nextID = 0;\n map = {};\n charMap = {};\n last = diff = null;\n for (_j = 0, _len1 = codes.length; _j < _len1; _j++) {\n code = codes[_j];\n old = charmap[code];\n if (map[old] == null) {\n map[old] = ++nextID;\n }\n charMap[code] = {\n old: old,\n new: map[old]\n };\n delta = map[old] - code;\n if (last == null || delta !== diff) {\n if (last) {\n endCodes.push(last);\n }\n startCodes.push(code);\n diff = delta;\n }\n last = code;\n }\n if (last) {\n endCodes.push(last);\n }\n endCodes.push(0xffff);\n startCodes.push(0xffff);\n segCount = startCodes.length;\n segCountX2 = segCount * 2;\n searchRange = 2 * Math.pow(Math.log(segCount) / Math.LN2, 2);\n entrySelector = Math.log(searchRange / 2) / Math.LN2;\n rangeShift = 2 * segCount - searchRange;\n deltas = [];\n rangeOffsets = [];\n glyphIDs = [];\n for (i = _k = 0, _len2 = startCodes.length; _k < _len2; i = ++_k) {\n startCode = startCodes[i];\n endCode = endCodes[i];\n if (startCode === 0xffff) {\n deltas.push(0);\n rangeOffsets.push(0);\n break;\n }\n startGlyph = charMap[startCode][\"new\"];\n if (startCode - startGlyph >= 0x8000) {\n deltas.push(0);\n rangeOffsets.push(2 * (glyphIDs.length + segCount - i));\n for (\n code = _l = startCode;\n startCode <= endCode ? _l <= endCode : _l >= endCode;\n code = startCode <= endCode ? ++_l : --_l\n ) {\n glyphIDs.push(charMap[code][\"new\"]);\n }\n } else {\n deltas.push(startGlyph - startCode);\n rangeOffsets.push(0);\n }\n }\n subtable.writeUInt16(3);\n subtable.writeUInt16(1);\n subtable.writeUInt32(12);\n subtable.writeUInt16(4);\n subtable.writeUInt16(16 + segCount * 8 + glyphIDs.length * 2);\n subtable.writeUInt16(0);\n subtable.writeUInt16(segCountX2);\n subtable.writeUInt16(searchRange);\n subtable.writeUInt16(entrySelector);\n subtable.writeUInt16(rangeShift);\n for (_m = 0, _len3 = endCodes.length; _m < _len3; _m++) {\n code = endCodes[_m];\n subtable.writeUInt16(code);\n }\n subtable.writeUInt16(0);\n for (_n = 0, _len4 = startCodes.length; _n < _len4; _n++) {\n code = startCodes[_n];\n subtable.writeUInt16(code);\n }\n for (_o = 0, _len5 = deltas.length; _o < _len5; _o++) {\n delta = deltas[_o];\n subtable.writeUInt16(delta);\n }\n for (_p = 0, _len6 = rangeOffsets.length; _p < _len6; _p++) {\n offset = rangeOffsets[_p];\n subtable.writeUInt16(offset);\n }\n for (_q = 0, _len7 = glyphIDs.length; _q < _len7; _q++) {\n id = glyphIDs[_q];\n subtable.writeUInt16(id);\n }\n return {\n charMap: charMap,\n subtable: subtable.data,\n maxGlyphID: nextID + 1\n };\n }\n };\n return CmapEntry;\n})();\n\nvar CmapTable = (function(_super) {\n __extends(CmapTable, _super);\n\n function CmapTable() {\n return CmapTable.__super__.constructor.apply(this, arguments);\n }\n CmapTable.prototype.tag = \"cmap\";\n CmapTable.prototype.parse = function(data) {\n var entry, i, tableCount;\n data.pos = this.offset;\n this.version = data.readUInt16();\n tableCount = data.readUInt16();\n this.tables = [];\n this.unicode = null;\n for (\n i = 0;\n 0 <= tableCount ? i < tableCount : i > tableCount;\n i = 0 <= tableCount ? ++i : --i\n ) {\n entry = new CmapEntry(data, this.offset);\n this.tables.push(entry);\n if (entry.isUnicode) {\n if (this.unicode == null) {\n this.unicode = entry;\n }\n }\n }\n return true;\n };\n /*************************************************************************/\n /* function : encode */\n /* comment : Encode the cmap table corresponding to the input character. */\n /*************************************************************************/\n CmapTable.encode = function(charmap, encoding) {\n var result, table;\n if (encoding == null) {\n encoding = \"macroman\";\n }\n result = CmapEntry.encode(charmap, encoding);\n table = new Data();\n table.writeUInt16(0);\n table.writeUInt16(1);\n result.table = table.data.concat(result.subtable);\n return result;\n };\n return CmapTable;\n})(Table);\n\nvar HheaTable = (function(_super) {\n __extends(HheaTable, _super);\n\n function HheaTable() {\n return HheaTable.__super__.constructor.apply(this, arguments);\n }\n HheaTable.prototype.tag = \"hhea\";\n HheaTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.ascender = data.readShort();\n this.decender = data.readShort();\n this.lineGap = data.readShort();\n this.advanceWidthMax = data.readShort();\n this.minLeftSideBearing = data.readShort();\n this.minRightSideBearing = data.readShort();\n this.xMaxExtent = data.readShort();\n this.caretSlopeRise = data.readShort();\n this.caretSlopeRun = data.readShort();\n this.caretOffset = data.readShort();\n data.pos += 4 * 2;\n this.metricDataFormat = data.readShort();\n return (this.numberOfMetrics = data.readUInt16());\n };\n /*HheaTable.prototype.encode = function (ids) {\n var i, table, _i, _ref;\n table = new Data;\n table.writeInt(this.version);\n table.writeShort(this.ascender);\n table.writeShort(this.decender);\n table.writeShort(this.lineGap);\n table.writeShort(this.advanceWidthMax);\n table.writeShort(this.minLeftSideBearing);\n table.writeShort(this.minRightSideBearing);\n table.writeShort(this.xMaxExtent);\n table.writeShort(this.caretSlopeRise);\n table.writeShort(this.caretSlopeRun);\n table.writeShort(this.caretOffset);\n for (i = _i = 0, _ref = 4 * 2; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n table.writeByte(0);\n }\n table.writeShort(this.metricDataFormat);\n table.writeUInt16(ids.length);\n return table.data;\n };*/\n return HheaTable;\n})(Table);\n\nvar OS2Table = (function(_super) {\n __extends(OS2Table, _super);\n\n function OS2Table() {\n return OS2Table.__super__.constructor.apply(this, arguments);\n }\n OS2Table.prototype.tag = \"OS/2\";\n OS2Table.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readUInt16();\n this.averageCharWidth = data.readShort();\n this.weightClass = data.readUInt16();\n this.widthClass = data.readUInt16();\n this.type = data.readShort();\n this.ySubscriptXSize = data.readShort();\n this.ySubscriptYSize = data.readShort();\n this.ySubscriptXOffset = data.readShort();\n this.ySubscriptYOffset = data.readShort();\n this.ySuperscriptXSize = data.readShort();\n this.ySuperscriptYSize = data.readShort();\n this.ySuperscriptXOffset = data.readShort();\n this.ySuperscriptYOffset = data.readShort();\n this.yStrikeoutSize = data.readShort();\n this.yStrikeoutPosition = data.readShort();\n this.familyClass = data.readShort();\n this.panose = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 10; ++i) {\n _results.push(data.readByte());\n }\n return _results;\n })();\n this.charRange = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 4; ++i) {\n _results.push(data.readInt());\n }\n return _results;\n })();\n this.vendorID = data.readString(4);\n this.selection = data.readShort();\n this.firstCharIndex = data.readShort();\n this.lastCharIndex = data.readShort();\n if (this.version > 0) {\n this.ascent = data.readShort();\n this.descent = data.readShort();\n this.lineGap = data.readShort();\n this.winAscent = data.readShort();\n this.winDescent = data.readShort();\n this.codePageRange = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 2; i = ++i) {\n _results.push(data.readInt());\n }\n return _results;\n })();\n if (this.version > 1) {\n this.xHeight = data.readShort();\n this.capHeight = data.readShort();\n this.defaultChar = data.readShort();\n this.breakChar = data.readShort();\n return (this.maxContext = data.readShort());\n }\n }\n };\n /*OS2Table.prototype.encode = function () {\n return this.raw();\n };*/\n return OS2Table;\n})(Table);\n\nvar PostTable = (function(_super) {\n var POSTSCRIPT_GLYPHS;\n __extends(PostTable, _super);\n\n function PostTable() {\n return PostTable.__super__.constructor.apply(this, arguments);\n }\n PostTable.prototype.tag = \"post\";\n PostTable.prototype.parse = function(data) {\n var length, numberOfGlyphs, _results;\n data.pos = this.offset;\n this.format = data.readInt();\n this.italicAngle = data.readInt();\n this.underlinePosition = data.readShort();\n this.underlineThickness = data.readShort();\n this.isFixedPitch = data.readInt();\n this.minMemType42 = data.readInt();\n this.maxMemType42 = data.readInt();\n this.minMemType1 = data.readInt();\n this.maxMemType1 = data.readInt();\n switch (this.format) {\n case 0x00010000:\n break;\n case 0x00020000:\n numberOfGlyphs = data.readUInt16();\n this.glyphNameIndex = [];\n var i;\n for (\n i = 0;\n 0 <= numberOfGlyphs ? i < numberOfGlyphs : i > numberOfGlyphs;\n i = 0 <= numberOfGlyphs ? ++i : --i\n ) {\n this.glyphNameIndex.push(data.readUInt16());\n }\n this.names = [];\n _results = [];\n while (data.pos < this.offset + this.length) {\n length = data.readByte();\n _results.push(this.names.push(data.readString(length)));\n }\n return _results;\n case 0x00025000:\n numberOfGlyphs = data.readUInt16();\n return (this.offsets = data.read(numberOfGlyphs));\n case 0x00030000:\n break;\n case 0x00040000:\n return (this.map = function() {\n var _j, _ref, _results1;\n _results1 = [];\n for (\n i = _j = 0, _ref = this.file.maxp.numGlyphs;\n 0 <= _ref ? _j < _ref : _j > _ref;\n i = 0 <= _ref ? ++_j : --_j\n ) {\n _results1.push(data.readUInt32());\n }\n return _results1;\n }.call(this));\n }\n };\n /*PostTable.prototype.glyphFor = function (code) {\n var index;\n switch (this.format) {\n case 0x00010000:\n return POSTSCRIPT_GLYPHS[code] || '.notdef';\n case 0x00020000:\n index = this.glyphNameIndex[code];\n if (index <= 257) {\n return POSTSCRIPT_GLYPHS[index];\n }\n else {\n return this.names[index - 258] || '.notdef';\n }\n break;\n case 0x00025000:\n return POSTSCRIPT_GLYPHS[code + this.offsets[code]] || '.notdef';\n case 0x00030000:\n return '.notdef';\n case 0x00040000:\n return this.map[code] || 0xFFFF;\n }\n };*/\n /*PostTable.prototype.encode = function (mapping) {\n var id, index, indexes, position, post, raw, string, strings, table, _i, _j, _k, _len, _len1, _len2;\n if (!this.exists) {\n return null;\n }\n raw = this.raw();\n if (this.format === 0x00030000) {\n return raw;\n }\n table = new Data(raw.slice(0, 32));\n table.writeUInt32(0x00020000);\n table.pos = 32;\n indexes = [];\n strings = [];\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n post = this.glyphFor(id);\n position = POSTSCRIPT_GLYPHS.indexOf(post);\n if (position !== -1) {\n indexes.push(position);\n }\n else {\n indexes.push(257 + strings.length);\n strings.push(post);\n }\n }\n table.writeUInt16(Object.keys(mapping).length);\n for (_j = 0, _len1 = indexes.length; _j < _len1; _j++) {\n index = indexes[_j];\n table.writeUInt16(index);\n }\n for (_k = 0, _len2 = strings.length; _k < _len2; _k++) {\n string = strings[_k];\n table.writeByte(string.length);\n table.writeString(string);\n }\n return table.data;\n };*/\n POSTSCRIPT_GLYPHS = \".notdef .null nonmarkingreturn space exclam quotedbl numbersign dollar percent\\nampersand quotesingle parenleft parenright asterisk plus comma hyphen period slash\\nzero one two three four five six seven eight nine colon semicolon less equal greater\\nquestion at A B C D E F G H I J K L M N O P Q R S T U V W X Y Z\\nbracketleft backslash bracketright asciicircum underscore grave\\na b c d e f g h i j k l m n o p q r s t u v w x y z\\nbraceleft bar braceright asciitilde Adieresis Aring Ccedilla Eacute Ntilde Odieresis\\nUdieresis aacute agrave acircumflex adieresis atilde aring ccedilla eacute egrave\\necircumflex edieresis iacute igrave icircumflex idieresis ntilde oacute ograve\\nocircumflex odieresis otilde uacute ugrave ucircumflex udieresis dagger degree cent\\nsterling section bullet paragraph germandbls registered copyright trademark acute\\ndieresis notequal AE Oslash infinity plusminus lessequal greaterequal yen mu\\npartialdiff summation product pi integral ordfeminine ordmasculine Omega ae oslash\\nquestiondown exclamdown logicalnot radical florin approxequal Delta guillemotleft\\nguillemotright ellipsis nonbreakingspace Agrave Atilde Otilde OE oe endash emdash\\nquotedblleft quotedblright quoteleft quoteright divide lozenge ydieresis Ydieresis\\nfraction currency guilsinglleft guilsinglright fi fl daggerdbl periodcentered\\nquotesinglbase quotedblbase perthousand Acircumflex Ecircumflex Aacute Edieresis\\nEgrave Iacute Icircumflex Idieresis Igrave Oacute Ocircumflex apple Ograve Uacute\\nUcircumflex Ugrave dotlessi circumflex tilde macron breve dotaccent ring cedilla\\nhungarumlaut ogonek caron Lslash lslash Scaron scaron Zcaron zcaron brokenbar Eth\\neth Yacute yacute Thorn thorn minus multiply onesuperior twosuperior threesuperior\\nonehalf onequarter threequarters franc Gbreve gbreve Idotaccent Scedilla scedilla\\nCacute cacute Ccaron ccaron dcroat\".split(\n /\\s+/g\n );\n return PostTable;\n})(Table);\n\n/*********************************************************************************************************/\n/* function : NameEntry */\n/* comment : Store copyright information, platformID, encodingID, and languageID in the NameEntry object.*/\n/*********************************************************************************************************/\nvar NameEntry = (function() {\n function NameEntry(raw, entry) {\n this.raw = raw;\n this.length = raw.length;\n this.platformID = entry.platformID;\n this.encodingID = entry.encodingID;\n this.languageID = entry.languageID;\n }\n return NameEntry;\n})();\n\nvar NameTable = (function(_super) {\n var subsetTag;\n __extends(NameTable, _super);\n\n function NameTable() {\n return NameTable.__super__.constructor.apply(this, arguments);\n }\n NameTable.prototype.tag = \"name\";\n NameTable.prototype.parse = function(data) {\n var count,\n entries,\n entry,\n i,\n name,\n stringOffset,\n strings,\n text,\n _j,\n _len,\n _name;\n data.pos = this.offset;\n data.readShort(); //format\n count = data.readShort();\n stringOffset = data.readShort();\n entries = [];\n for (\n i = 0;\n 0 <= count ? i < count : i > count;\n i = 0 <= count ? ++i : --i\n ) {\n entries.push({\n platformID: data.readShort(),\n encodingID: data.readShort(),\n languageID: data.readShort(),\n nameID: data.readShort(),\n length: data.readShort(),\n offset: this.offset + stringOffset + data.readShort()\n });\n }\n strings = {};\n for (i = _j = 0, _len = entries.length; _j < _len; i = ++_j) {\n entry = entries[i];\n data.pos = entry.offset;\n text = data.readString(entry.length);\n name = new NameEntry(text, entry);\n if (strings[(_name = entry.nameID)] == null) {\n strings[_name] = [];\n }\n strings[entry.nameID].push(name);\n }\n this.strings = strings;\n this.copyright = strings[0];\n this.fontFamily = strings[1];\n this.fontSubfamily = strings[2];\n this.uniqueSubfamily = strings[3];\n this.fontName = strings[4];\n this.version = strings[5];\n try {\n this.postscriptName = strings[6][0].raw.replace(\n /[\\x00-\\x19\\x80-\\xff]/g,\n \"\"\n );\n } catch (e) {\n this.postscriptName = strings[4][0].raw.replace(\n /[\\x00-\\x19\\x80-\\xff]/g,\n \"\"\n );\n }\n this.trademark = strings[7];\n this.manufacturer = strings[8];\n this.designer = strings[9];\n this.description = strings[10];\n this.vendorUrl = strings[11];\n this.designerUrl = strings[12];\n this.license = strings[13];\n this.licenseUrl = strings[14];\n this.preferredFamily = strings[15];\n this.preferredSubfamily = strings[17];\n this.compatibleFull = strings[18];\n return (this.sampleText = strings[19]);\n };\n subsetTag = \"AAAAAA\";\n /*NameTable.prototype.encode = function () {\n var id, list, nameID, nameTable, postscriptName, strCount, strTable, string, strings, table, val, _i, _len, _ref;\n strings = {};\n _ref = this.strings;\n for (id in _ref) {\n val = _ref[id];\n strings[id] = val;\n }\n postscriptName = new NameEntry(\"\" + subsetTag + \"+\" + this.postscriptName, {\n platformID: 1\n , encodingID: 0\n , languageID: 0\n });\n strings[6] = [postscriptName];\n subsetTag = successorOf(subsetTag);\n strCount = 0;\n for (id in strings) {\n list = strings[id];\n if (list != null) {\n strCount += list.length;\n }\n }\n table = new Data;\n strTable = new Data;\n table.writeShort(0);\n table.writeShort(strCount);\n table.writeShort(6 + 12 * strCount);\n for (nameID in strings) {\n list = strings[nameID];\n if (list != null) {\n for (_i = 0, _len = list.length; _i < _len; _i++) {\n string = list[_i];\n table.writeShort(string.platformID);\n table.writeShort(string.encodingID);\n table.writeShort(string.languageID);\n table.writeShort(nameID);\n table.writeShort(string.length);\n table.writeShort(strTable.pos);\n strTable.writeString(string.raw);\n }\n }\n }\n return nameTable = {\n postscriptName: postscriptName.raw\n , table: table.data.concat(strTable.data)\n };\n };*/\n return NameTable;\n})(Table);\n\nvar MaxpTable = (function(_super) {\n __extends(MaxpTable, _super);\n\n function MaxpTable() {\n return MaxpTable.__super__.constructor.apply(this, arguments);\n }\n MaxpTable.prototype.tag = \"maxp\";\n MaxpTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.numGlyphs = data.readUInt16();\n this.maxPoints = data.readUInt16();\n this.maxContours = data.readUInt16();\n this.maxCompositePoints = data.readUInt16();\n this.maxComponentContours = data.readUInt16();\n this.maxZones = data.readUInt16();\n this.maxTwilightPoints = data.readUInt16();\n this.maxStorage = data.readUInt16();\n this.maxFunctionDefs = data.readUInt16();\n this.maxInstructionDefs = data.readUInt16();\n this.maxStackElements = data.readUInt16();\n this.maxSizeOfInstructions = data.readUInt16();\n this.maxComponentElements = data.readUInt16();\n return (this.maxComponentDepth = data.readUInt16());\n };\n /*MaxpTable.prototype.encode = function (ids) {\n var table;\n table = new Data;\n table.writeInt(this.version);\n table.writeUInt16(ids.length);\n table.writeUInt16(this.maxPoints);\n table.writeUInt16(this.maxContours);\n table.writeUInt16(this.maxCompositePoints);\n table.writeUInt16(this.maxComponentContours);\n table.writeUInt16(this.maxZones);\n table.writeUInt16(this.maxTwilightPoints);\n table.writeUInt16(this.maxStorage);\n table.writeUInt16(this.maxFunctionDefs);\n table.writeUInt16(this.maxInstructionDefs);\n table.writeUInt16(this.maxStackElements);\n table.writeUInt16(this.maxSizeOfInstructions);\n table.writeUInt16(this.maxComponentElements);\n table.writeUInt16(this.maxComponentDepth);\n return table.data;\n };*/\n return MaxpTable;\n})(Table);\n\nvar HmtxTable = (function(_super) {\n __extends(HmtxTable, _super);\n\n function HmtxTable() {\n return HmtxTable.__super__.constructor.apply(this, arguments);\n }\n HmtxTable.prototype.tag = \"hmtx\";\n HmtxTable.prototype.parse = function(data) {\n var i, last, lsbCount, m, _j, _ref, _results;\n data.pos = this.offset;\n this.metrics = [];\n for (\n i = 0, _ref = this.file.hhea.numberOfMetrics;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n this.metrics.push({\n advance: data.readUInt16(),\n lsb: data.readInt16()\n });\n }\n lsbCount = this.file.maxp.numGlyphs - this.file.hhea.numberOfMetrics;\n this.leftSideBearings = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= lsbCount ? _j < lsbCount : _j > lsbCount;\n i = 0 <= lsbCount ? ++_j : --_j\n ) {\n _results.push(data.readInt16());\n }\n return _results;\n })();\n this.widths = function() {\n var _j, _len, _ref1, _results;\n _ref1 = this.metrics;\n _results = [];\n for (_j = 0, _len = _ref1.length; _j < _len; _j++) {\n m = _ref1[_j];\n _results.push(m.advance);\n }\n return _results;\n }.call(this);\n last = this.widths[this.widths.length - 1];\n _results = [];\n for (\n i = _j = 0;\n 0 <= lsbCount ? _j < lsbCount : _j > lsbCount;\n i = 0 <= lsbCount ? ++_j : --_j\n ) {\n _results.push(this.widths.push(last));\n }\n return _results;\n };\n /***************************************************************/\n /* function : forGlyph */\n /* comment : Returns the advance width and lsb for this glyph. */\n /***************************************************************/\n HmtxTable.prototype.forGlyph = function(id) {\n if (id in this.metrics) {\n return this.metrics[id];\n }\n return {\n advance: this.metrics[this.metrics.length - 1].advance,\n lsb: this.leftSideBearings[id - this.metrics.length]\n };\n };\n /*HmtxTable.prototype.encode = function (mapping) {\n var id, metric, table, _i, _len;\n table = new Data;\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n metric = this.forGlyph(id);\n table.writeUInt16(metric.advance);\n table.writeUInt16(metric.lsb);\n }\n return table.data;\n };*/\n return HmtxTable;\n})(Table);\n\nvar __slice = [].slice;\n\nvar GlyfTable = (function(_super) {\n __extends(GlyfTable, _super);\n\n function GlyfTable() {\n return GlyfTable.__super__.constructor.apply(this, arguments);\n }\n GlyfTable.prototype.tag = \"glyf\";\n GlyfTable.prototype.parse = function() {\n return (this.cache = {});\n };\n GlyfTable.prototype.glyphFor = function(id) {\n var data,\n index,\n length,\n loca,\n numberOfContours,\n raw,\n xMax,\n xMin,\n yMax,\n yMin;\n if (id in this.cache) {\n return this.cache[id];\n }\n loca = this.file.loca;\n data = this.file.contents;\n index = loca.indexOf(id);\n length = loca.lengthOf(id);\n if (length === 0) {\n return (this.cache[id] = null);\n }\n data.pos = this.offset + index;\n raw = new Data(data.read(length));\n numberOfContours = raw.readShort();\n xMin = raw.readShort();\n yMin = raw.readShort();\n xMax = raw.readShort();\n yMax = raw.readShort();\n if (numberOfContours === -1) {\n this.cache[id] = new CompoundGlyph(raw, xMin, yMin, xMax, yMax);\n } else {\n this.cache[id] = new SimpleGlyph(\n raw,\n numberOfContours,\n xMin,\n yMin,\n xMax,\n yMax\n );\n }\n return this.cache[id];\n };\n GlyfTable.prototype.encode = function(glyphs, mapping, old2new) {\n var glyph, id, offsets, table, _i, _len;\n table = [];\n offsets = [];\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n glyph = glyphs[id];\n offsets.push(table.length);\n if (glyph) {\n table = table.concat(glyph.encode(old2new));\n }\n }\n offsets.push(table.length);\n return {\n table: table,\n offsets: offsets\n };\n };\n return GlyfTable;\n})(Table);\n\nvar SimpleGlyph = (function() {\n /**************************************************************************/\n /* function : SimpleGlyph */\n /* comment : Stores raw, xMin, yMin, xMax, and yMax values for this glyph.*/\n /**************************************************************************/\n function SimpleGlyph(raw, numberOfContours, xMin, yMin, xMax, yMax) {\n this.raw = raw;\n this.numberOfContours = numberOfContours;\n this.xMin = xMin;\n this.yMin = yMin;\n this.xMax = xMax;\n this.yMax = yMax;\n this.compound = false;\n }\n SimpleGlyph.prototype.encode = function() {\n return this.raw.data;\n };\n return SimpleGlyph;\n})();\n\nvar CompoundGlyph = (function() {\n var ARG_1_AND_2_ARE_WORDS,\n MORE_COMPONENTS,\n WE_HAVE_AN_X_AND_Y_SCALE,\n WE_HAVE_A_SCALE,\n WE_HAVE_A_TWO_BY_TWO,\n WE_HAVE_INSTRUCTIONS;\n ARG_1_AND_2_ARE_WORDS = 0x0001;\n WE_HAVE_A_SCALE = 0x0008;\n MORE_COMPONENTS = 0x0020;\n WE_HAVE_AN_X_AND_Y_SCALE = 0x0040;\n WE_HAVE_A_TWO_BY_TWO = 0x0080;\n WE_HAVE_INSTRUCTIONS = 0x0100;\n\n /********************************************************************************************************************/\n /* function : CompoundGlypg generator */\n /* comment : It stores raw, xMin, yMin, xMax, yMax, glyph id, and glyph offset for the corresponding compound glyph.*/\n /********************************************************************************************************************/\n function CompoundGlyph(raw, xMin, yMin, xMax, yMax) {\n var data, flags;\n this.raw = raw;\n this.xMin = xMin;\n this.yMin = yMin;\n this.xMax = xMax;\n this.yMax = yMax;\n this.compound = true;\n this.glyphIDs = [];\n this.glyphOffsets = [];\n data = this.raw;\n while (true) {\n flags = data.readShort();\n this.glyphOffsets.push(data.pos);\n this.glyphIDs.push(data.readUInt16());\n if (!(flags & MORE_COMPONENTS)) {\n break;\n }\n if (flags & ARG_1_AND_2_ARE_WORDS) {\n data.pos += 4;\n } else {\n data.pos += 2;\n }\n if (flags & WE_HAVE_A_TWO_BY_TWO) {\n data.pos += 8;\n } else if (flags & WE_HAVE_AN_X_AND_Y_SCALE) {\n data.pos += 4;\n } else if (flags & WE_HAVE_A_SCALE) {\n data.pos += 2;\n }\n }\n }\n /****************************************************************************************************************/\n /* function : CompoundGlypg encode */\n /* comment : After creating a table for the characters you typed, you call directory.encode to encode the table.*/\n /****************************************************************************************************************/\n CompoundGlyph.prototype.encode = function() {\n var i, result, _len, _ref;\n result = new Data(__slice.call(this.raw.data));\n _ref = this.glyphIDs;\n for (i = 0, _len = _ref.length; i < _len; ++i) {\n result.pos = this.glyphOffsets[i];\n }\n return result.data;\n };\n return CompoundGlyph;\n})();\n\nvar LocaTable = (function(_super) {\n __extends(LocaTable, _super);\n\n function LocaTable() {\n return LocaTable.__super__.constructor.apply(this, arguments);\n }\n LocaTable.prototype.tag = \"loca\";\n LocaTable.prototype.parse = function(data) {\n var format, i;\n data.pos = this.offset;\n format = this.file.head.indexToLocFormat;\n if (format === 0) {\n return (this.offsets = function() {\n var _ref, _results;\n _results = [];\n for (i = 0, _ref = this.length; i < _ref; i += 2) {\n _results.push(data.readUInt16() * 2);\n }\n return _results;\n }.call(this));\n } else {\n return (this.offsets = function() {\n var _ref, _results;\n _results = [];\n for (i = 0, _ref = this.length; i < _ref; i += 4) {\n _results.push(data.readUInt32());\n }\n return _results;\n }.call(this));\n }\n };\n LocaTable.prototype.indexOf = function(id) {\n return this.offsets[id];\n };\n LocaTable.prototype.lengthOf = function(id) {\n return this.offsets[id + 1] - this.offsets[id];\n };\n LocaTable.prototype.encode = function(offsets, activeGlyphs) {\n var LocaTable = new Uint32Array(this.offsets.length);\n var glyfPtr = 0;\n var listGlyf = 0;\n for (var k = 0; k < LocaTable.length; ++k) {\n LocaTable[k] = glyfPtr;\n if (listGlyf < activeGlyphs.length && activeGlyphs[listGlyf] == k) {\n ++listGlyf;\n LocaTable[k] = glyfPtr;\n var start = this.offsets[k];\n var len = this.offsets[k + 1] - start;\n if (len > 0) {\n glyfPtr += len;\n }\n }\n }\n var newLocaTable = new Array(LocaTable.length * 4);\n for (var j = 0; j < LocaTable.length; ++j) {\n newLocaTable[4 * j + 3] = LocaTable[j] & 0x000000ff;\n newLocaTable[4 * j + 2] = (LocaTable[j] & 0x0000ff00) >> 8;\n newLocaTable[4 * j + 1] = (LocaTable[j] & 0x00ff0000) >> 16;\n newLocaTable[4 * j] = (LocaTable[j] & 0xff000000) >> 24;\n }\n return newLocaTable;\n };\n return LocaTable;\n})(Table);\n\n/************************************************************************************/\n/* function : invert */\n/* comment : Change the object's (key: value) to create an object with (value: key).*/\n/************************************************************************************/\nvar invert = function(object) {\n var key, ret, val;\n ret = {};\n for (key in object) {\n val = object[key];\n ret[val] = key;\n }\n return ret;\n};\n\n/*var successorOf = function (input) {\n var added, alphabet, carry, i, index, isUpperCase, last, length, next, result;\n alphabet = 'abcdefghijklmnopqrstuvwxyz';\n length = alphabet.length;\n result = input;\n i = input.length;\n while (i >= 0) {\n last = input.charAt(--i);\n if (isNaN(last)) {\n index = alphabet.indexOf(last.toLowerCase());\n if (index === -1) {\n next = last;\n carry = true;\n }\n else {\n next = alphabet.charAt((index + 1) % length);\n isUpperCase = last === last.toUpperCase();\n if (isUpperCase) {\n next = next.toUpperCase();\n }\n carry = index + 1 >= length;\n if (carry && i === 0) {\n added = isUpperCase ? 'A' : 'a';\n result = added + next + result.slice(1);\n break;\n }\n }\n }\n else {\n next = +last + 1;\n carry = next > 9;\n if (carry) {\n next = 0;\n }\n if (carry && i === 0) {\n result = '1' + next + result.slice(1);\n break;\n }\n }\n result = result.slice(0, i) + next + result.slice(i + 1);\n if (!carry) {\n break;\n }\n }\n return result;\n };*/\n\nvar Subset = (function() {\n function Subset(font) {\n this.font = font;\n this.subset = {};\n this.unicodes = {};\n this.next = 33;\n }\n /*Subset.prototype.use = function (character) {\n var i, _i, _ref;\n if (typeof character === 'string') {\n for (i = _i = 0, _ref = character.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n this.use(character.charCodeAt(i));\n }\n return;\n }\n if (!this.unicodes[character]) {\n this.subset[this.next] = character;\n return this.unicodes[character] = this.next++;\n }\n };*/\n /*Subset.prototype.encodeText = function (text) {\n var char, i, string, _i, _ref;\n string = '';\n for (i = _i = 0, _ref = text.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n char = this.unicodes[text.charCodeAt(i)];\n string += String.fromCharCode(char);\n }\n return string;\n };*/\n /***************************************************************/\n /* function : generateCmap */\n /* comment : Returns the unicode cmap for this font. */\n /***************************************************************/\n Subset.prototype.generateCmap = function() {\n var mapping, roman, unicode, unicodeCmap, _ref;\n unicodeCmap = this.font.cmap.tables[0].codeMap;\n mapping = {};\n _ref = this.subset;\n for (roman in _ref) {\n unicode = _ref[roman];\n mapping[roman] = unicodeCmap[unicode];\n }\n return mapping;\n };\n /*Subset.prototype.glyphIDs = function () {\n var ret, roman, unicode, unicodeCmap, val, _ref;\n unicodeCmap = this.font.cmap.tables[0].codeMap;\n ret = [0];\n _ref = this.subset;\n for (roman in _ref) {\n unicode = _ref[roman];\n val = unicodeCmap[unicode];\n if ((val != null) && __indexOf.call(ret, val) < 0) {\n ret.push(val);\n }\n }\n return ret.sort();\n };*/\n /******************************************************************/\n /* function : glyphsFor */\n /* comment : Returns simple glyph objects for the input character.*/\n /******************************************************************/\n Subset.prototype.glyphsFor = function(glyphIDs) {\n var additionalIDs, glyph, glyphs, id, _i, _len, _ref;\n glyphs = {};\n for (_i = 0, _len = glyphIDs.length; _i < _len; _i++) {\n id = glyphIDs[_i];\n glyphs[id] = this.font.glyf.glyphFor(id);\n }\n additionalIDs = [];\n for (id in glyphs) {\n glyph = glyphs[id];\n if (glyph != null ? glyph.compound : void 0) {\n additionalIDs.push.apply(additionalIDs, glyph.glyphIDs);\n }\n }\n if (additionalIDs.length > 0) {\n _ref = this.glyphsFor(additionalIDs);\n for (id in _ref) {\n glyph = _ref[id];\n glyphs[id] = glyph;\n }\n }\n return glyphs;\n };\n /***************************************************************/\n /* function : encode */\n /* comment : Encode various tables for the characters you use. */\n /***************************************************************/\n Subset.prototype.encode = function(glyID, indexToLocFormat) {\n var cmap,\n code,\n glyf,\n glyphs,\n id,\n ids,\n loca,\n new2old,\n newIDs,\n nextGlyphID,\n old2new,\n oldID,\n oldIDs,\n tables,\n _ref;\n cmap = CmapTable.encode(this.generateCmap(), \"unicode\");\n glyphs = this.glyphsFor(glyID);\n old2new = {\n 0: 0\n };\n _ref = cmap.charMap;\n for (code in _ref) {\n ids = _ref[code];\n old2new[ids.old] = ids[\"new\"];\n }\n nextGlyphID = cmap.maxGlyphID;\n for (oldID in glyphs) {\n if (!(oldID in old2new)) {\n old2new[oldID] = nextGlyphID++;\n }\n }\n new2old = invert(old2new);\n newIDs = Object.keys(new2old).sort(function(a, b) {\n return a - b;\n });\n oldIDs = (function() {\n var _i, _len, _results;\n _results = [];\n for (_i = 0, _len = newIDs.length; _i < _len; _i++) {\n id = newIDs[_i];\n _results.push(new2old[id]);\n }\n return _results;\n })();\n glyf = this.font.glyf.encode(glyphs, oldIDs, old2new);\n loca = this.font.loca.encode(glyf.offsets, oldIDs);\n tables = {\n cmap: this.font.cmap.raw(),\n glyf: glyf.table,\n loca: loca,\n hmtx: this.font.hmtx.raw(),\n hhea: this.font.hhea.raw(),\n maxp: this.font.maxp.raw(),\n post: this.font.post.raw(),\n name: this.font.name.raw(),\n head: this.font.head.encode(indexToLocFormat)\n };\n if (this.font.os2.exists) {\n tables[\"OS/2\"] = this.font.os2.raw();\n }\n return this.font.directory.encode(tables);\n };\n return Subset;\n})();\n\njsPDF.API.PDFObject = (function() {\n var pad;\n\n function PDFObject() {}\n pad = function(str, length) {\n return (Array(length + 1).join(\"0\") + str).slice(-length);\n };\n /*****************************************************************************/\n /* function : convert */\n /* comment :Converts pdf tag's / FontBBox and array values in / W to strings */\n /*****************************************************************************/\n PDFObject.convert = function(object) {\n var e, items, key, out, val;\n if (Array.isArray(object)) {\n items = (function() {\n var _i, _len, _results;\n _results = [];\n for (_i = 0, _len = object.length; _i < _len; _i++) {\n e = object[_i];\n _results.push(PDFObject.convert(e));\n }\n return _results;\n })().join(\" \");\n return \"[\" + items + \"]\";\n } else if (typeof object === \"string\") {\n return \"/\" + object;\n } else if (object != null ? object.isString : void 0) {\n return \"(\" + object + \")\";\n } else if (object instanceof Date) {\n return (\n \"(D:\" +\n pad(object.getUTCFullYear(), 4) +\n pad(object.getUTCMonth(), 2) +\n pad(object.getUTCDate(), 2) +\n pad(object.getUTCHours(), 2) +\n pad(object.getUTCMinutes(), 2) +\n pad(object.getUTCSeconds(), 2) +\n \"Z)\"\n );\n } else if ({}.toString.call(object) === \"[object Object]\") {\n out = [\"<<\"];\n for (key in object) {\n val = object[key];\n out.push(\"/\" + key + \" \" + PDFObject.convert(val));\n }\n out.push(\">>\");\n return out.join(\"\\n\");\n } else {\n return \"\" + object;\n }\n };\n return PDFObject;\n})();\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a>=g;e-=g;rg=1<<32-oc(b)+e|c<w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;ww?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&uh(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=sh(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Ah(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=yh(f.type,f.key,f.props,null,a.mode,h),h.ref=sh(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=zh(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);th(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=xh(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Bh=vh(!0),Ch=vh(!1),Dh={},Eh=Uf(Dh),Fh=Uf(Dh),Gh=Uf(Dh);function Hh(a){if(a===Dh)throw Error(p(174));return a}function Ih(a,b){G(Gh,b);G(Fh,a);G(Eh,Dh);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(Eh);G(Eh,b)}function Jh(){E(Eh);E(Fh);E(Gh)}\nfunction Kh(a){Hh(Gh.current);var b=Hh(Eh.current);var c=lb(b,a.type);b!==c&&(G(Fh,a),G(Eh,c))}function Lh(a){Fh.current===a&&(E(Eh),E(Fh))}var M=Uf(0);\nfunction Mh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Nh=[];\nfunction Oh(){for(var a=0;ac?c:4;a(!0);var d=Qh.transition;Qh.transition={};try{a(!1),b()}finally{C=c,Qh.transition=d}}function Fi(){return di().memoizedState}\nfunction Gi(a,b,c){var d=lh(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,c);else if(c=Yg(a,b,c,d),null!==c){var e=L();mh(c,a,d,e);Ji(c,b,d)}}\nfunction ri(a,b,c){var d=lh(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,Xg(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=Yg(a,b,e,d);null!==c&&(e=L(),mh(c,a,d,e),Ji(c,b,d))}}\nfunction Hi(a){var b=a.alternate;return a===N||null!==b&&b===N}function Ii(a,b){Th=Sh=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Ji(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar ai={readContext:Vg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useInsertionEffect:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useDeferredValue:Q,useTransition:Q,useMutableSource:Q,useSyncExternalStore:Q,useId:Q,unstable_isNewReconciler:!1},Yh={readContext:Vg,useCallback:function(a,b){ci().memoizedState=[a,void 0===b?null:b];return a},useContext:Vg,useEffect:vi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ti(4194308,\n4,yi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ti(4194308,4,a,b)},useInsertionEffect:function(a,b){return ti(4,2,a,b)},useMemo:function(a,b){var c=ci();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=ci();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=Gi.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=\nci();a={current:a};return b.memoizedState=a},useState:qi,useDebugValue:Ai,useDeferredValue:function(a){return ci().memoizedState=a},useTransition:function(){var a=qi(!1),b=a[0];a=Ei.bind(null,a[1]);ci().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=N,e=ci();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===R)throw Error(p(349));0!==(Rh&30)||ni(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;vi(ki.bind(null,d,\nf,a),[a]);d.flags|=2048;li(9,mi.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=ci(),b=R.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Uh++;0\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;Aj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eHj&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304)}else{if(!d)if(a=Mh(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Ej(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Hj&&1073741824!==c&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=M.current,G(M,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Ij(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(gj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Jj(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return Jh(),E(Wf),E(H),Oh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Lh(b),null;case 13:E(M);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(M),null;case 4:return Jh(),null;case 10:return Rg(b.type._context),null;case 22:case 23:return Ij(),\nnull;case 24:return null;default:return null}}var Kj=!1,U=!1,Lj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Mj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Nj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Oj=!1;\nfunction Pj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Lg(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Oj;Oj=!1;return n}\nfunction Qj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Nj(b,c,f)}e=e.next}while(e!==d)}}function Rj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Sj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Tj(a){var b=a.alternate;null!==b&&(a.alternate=null,Tj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Uj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Vj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Uj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}\nfunction Xj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Xj(a,b,c),a=a.sibling;null!==a;)Xj(a,b,c),a=a.sibling}var X=null,Yj=!1;function Zj(a,b,c){for(c=c.child;null!==c;)ak(a,b,c),c=c.sibling}\nfunction ak(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Mj(c,b);case 6:var d=X,e=Yj;X=null;Zj(a,b,c);X=d;Yj=e;null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Yj;X=c.stateNode.containerInfo;Yj=!0;\nZj(a,b,c);X=d;Yj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Nj(c,b,g):0!==(f&4)&&Nj(c,b,g));e=e.next}while(e!==d)}Zj(a,b,c);break;case 1:if(!U&&(Mj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Zj(a,b,c);break;case 21:Zj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Zj(a,b,c),U=d):Zj(a,b,c);break;default:Zj(a,b,c)}}function bk(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Lj);b.forEach(function(b){var d=ck.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction dk(a,b){var c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*mk(d/1960))-d;if(10a?16:a;if(null===xk)var d=!1;else{a=xk;xk=null;yk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-gk?Lk(a,0):sk|=c);Ek(a,b)}function Zk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=L();a=Zg(a,b);null!==a&&(Ac(a,b,c),Ek(a,c))}function vj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Zk(a,c)}\nfunction ck(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Zk(a,c)}var Wk;\nWk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)Ug=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return Ug=!1,zj(a,b,c);Ug=0!==(a.flags&131072)?!0:!1}else Ug=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;jj(a,b);a=b.pendingProps;var e=Yf(b,H.current);Tg(b,c);e=Xh(null,b,d,a,e,c);var f=bi();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,ah(b),e.updater=nh,b.stateNode=e,e._reactInternals=b,rh(b,d,a,c),b=kj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Yi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{jj(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=$k(d);a=Lg(d,a);switch(e){case 0:b=dj(null,b,d,a,c);break a;case 1:b=ij(null,b,d,a,c);break a;case 11:b=Zi(null,b,d,a,c);break a;case 14:b=aj(null,b,d,Lg(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),dj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),ij(a,b,d,e,c);case 3:a:{lj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;bh(a,b);gh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ki(Error(p(423)),b);b=mj(a,b,d,c,e);break a}else if(d!==e){e=Ki(Error(p(424)),b);b=mj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Ch(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=$i(a,b,c);break a}Yi(a,b,d,c)}b=b.child}return b;case 5:return Kh(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\nhj(a,b),Yi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return pj(a,b,c);case 4:return Ih(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Bh(b,null,d,c):Yi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),Zi(a,b,d,e,c);case 7:return Yi(a,b,b.pendingProps,c),b.child;case 8:return Yi(a,b,b.pendingProps.children,c),b.child;case 12:return Yi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Mg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=$i(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=ch(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);Sg(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);Sg(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Yi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,Tg(b,c),e=Vg(e),d=d(e),b.flags|=1,Yi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Lg(d,b.pendingProps),e=Lg(d.type,e),aj(a,b,d,e,c);case 15:return cj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),jj(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,Tg(b,c),ph(b,d,e),rh(b,d,e,c),kj(null,b,d,!0,a,c);case 19:return yj(a,b,c);case 22:return ej(a,b,c)}throw Error(p(156,b.tag));};function Gk(a,b){return ac(a,b)}\nfunction al(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new al(a,b,c,d)}function bj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction $k(a){if(\"function\"===typeof a)return bj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction wh(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction yh(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Ah(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return qj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Ah(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function qj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function xh(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction zh(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction bl(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function cl(a,b,c,d,e,f,g,h,k){a=new bl(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};ah(f);return a}function dl(a,b,c){var d=3 value;\nexport const emptyRenderer = () => <> ;\n\nexport const defaultColumn = {\n Cell: defaultRenderer,\n width: 150,\n minWidth: 0,\n maxWidth: Number.MAX_SAFE_INTEGER,\n}\n\nfunction mergeProps(...propList) {\n return propList.reduce((props, next) => {\n const { style, className, ...rest } = next\n\n props = {\n ...props,\n ...rest,\n }\n\n if (style) {\n props.style = props.style\n ? { ...(props.style || {}), ...(style || {}) }\n : style\n }\n\n if (className) {\n props.className = props.className\n ? props.className + ' ' + className\n : className\n }\n\n if (props.className === '') {\n delete props.className\n }\n\n return props\n }, {})\n}\n\nfunction handlePropGetter(prevProps, userProps, meta) {\n // Handle a lambda, pass it the previous props\n if (typeof userProps === 'function') {\n return handlePropGetter({}, userProps(prevProps, meta))\n }\n\n // Handle an array, merge each item as separate props\n if (Array.isArray(userProps)) {\n return mergeProps(prevProps, ...userProps)\n }\n\n // Handle an object by default, merge the two objects\n return mergeProps(prevProps, userProps)\n}\n\nexport const makePropGetter = (hooks, meta = {}) => {\n return (userProps = {}) =>\n [...hooks, userProps].reduce(\n (prev, next) =>\n handlePropGetter(prev, next, {\n ...meta,\n userProps,\n }),\n {}\n )\n}\n\nexport const reduceHooks = (hooks, initial, meta = {}, allowUndefined) =>\n hooks.reduce((prev, next) => {\n const nextValue = next(prev, meta)\n if (process.env.NODE_ENV !== 'production') {\n if (!allowUndefined && typeof nextValue === 'undefined') {\n console.info(next)\n throw new Error(\n 'React Table: A reducer hook ☝️ just returned undefined! This is not allowed.'\n )\n }\n }\n return nextValue\n }, initial)\n\nexport const loopHooks = (hooks, context, meta = {}) =>\n hooks.forEach(hook => {\n const nextValue = hook(context, meta)\n if (process.env.NODE_ENV !== 'production') {\n if (typeof nextValue !== 'undefined') {\n console.info(hook, nextValue)\n throw new Error(\n 'React Table: A loop-type hook ☝️ just returned a value! This is not allowed.'\n )\n }\n }\n })\n\nexport function ensurePluginOrder(plugins, befores, pluginName, afters) {\n if (process.env.NODE_ENV !== 'production' && afters) {\n throw new Error(\n `Defining plugins in the \"after\" section of ensurePluginOrder is no longer supported (see plugin ${pluginName})`\n )\n }\n const pluginIndex = plugins.findIndex(\n plugin => plugin.pluginName === pluginName\n )\n\n if (pluginIndex === -1) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(`The plugin \"${pluginName}\" was not found in the plugin list!\nThis usually means you need to need to name your plugin hook by setting the 'pluginName' property of the hook function, eg:\n\n ${pluginName}.pluginName = '${pluginName}'\n`)\n }\n }\n\n befores.forEach(before => {\n const beforeIndex = plugins.findIndex(\n plugin => plugin.pluginName === before\n )\n if (beforeIndex > -1 && beforeIndex > pluginIndex) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n `React Table: The ${pluginName} plugin hook must be placed after the ${before} plugin hook!`\n )\n }\n }\n })\n}\n\nexport function functionalUpdate(updater, old) {\n return typeof updater === 'function' ? updater(old) : updater\n}\n\nexport function useGetLatest(obj) {\n const ref = React.useRef()\n ref.current = obj\n\n return React.useCallback(() => ref.current, [])\n}\n\n// SSR has issues with useLayoutEffect still, so use useEffect during SSR\nexport const safeUseLayoutEffect =\n typeof document !== 'undefined' ? React.useLayoutEffect : React.useEffect\n\nexport function useMountedLayoutEffect(fn, deps) {\n const mountedRef = React.useRef(false)\n\n safeUseLayoutEffect(() => {\n if (mountedRef.current) {\n fn()\n }\n mountedRef.current = true\n // eslint-disable-next-line\n }, deps)\n}\n\nexport function useAsyncDebounce(defaultFn, defaultWait = 0) {\n const debounceRef = React.useRef({})\n\n const getDefaultFn = useGetLatest(defaultFn)\n const getDefaultWait = useGetLatest(defaultWait)\n\n return React.useCallback(\n async (...args) => {\n if (!debounceRef.current.promise) {\n debounceRef.current.promise = new Promise((resolve, reject) => {\n debounceRef.current.resolve = resolve\n debounceRef.current.reject = reject\n })\n }\n\n if (debounceRef.current.timeout) {\n clearTimeout(debounceRef.current.timeout)\n }\n\n debounceRef.current.timeout = setTimeout(async () => {\n delete debounceRef.current.timeout\n try {\n debounceRef.current.resolve(await getDefaultFn()(...args))\n } catch (err) {\n debounceRef.current.reject(err)\n } finally {\n delete debounceRef.current.promise\n }\n }, getDefaultWait())\n\n return debounceRef.current.promise\n },\n [getDefaultFn, getDefaultWait]\n )\n}\n\nexport function makeRenderer(instance, column, meta = {}) {\n return (type, userProps = {}) => {\n const Comp = typeof type === 'string' ? column[type] : type\n\n if (typeof Comp === 'undefined') {\n console.info(column)\n throw new Error(renderErr)\n }\n\n return flexRender(Comp, { ...instance, column, ...meta, ...userProps })\n }\n}\n\nexport function flexRender(Comp, props) {\n return isReactComponent(Comp) ? : Comp\n}\n\nfunction isReactComponent(component) {\n return (\n isClassComponent(component) ||\n typeof component === 'function' ||\n isExoticComponent(component)\n )\n}\n\nfunction isClassComponent(component) {\n return (\n typeof component === 'function' &&\n (() => {\n const proto = Object.getPrototypeOf(component)\n return proto.prototype && proto.prototype.isReactComponent\n })()\n )\n}\n\nfunction isExoticComponent(component) {\n return (\n typeof component === 'object' &&\n typeof component.$$typeof === 'symbol' &&\n ['react.memo', 'react.forward_ref'].includes(component.$$typeof.description)\n )\n}\n","import { defaultColumn, emptyRenderer } from './publicUtils'\n\n// Find the depth of the columns\nexport function findMaxDepth(columns, depth = 0) {\n return columns.reduce((prev, curr) => {\n if (curr.columns) {\n return Math.max(prev, findMaxDepth(curr.columns, depth + 1))\n }\n return depth\n }, 0)\n}\n\n// Build the visible columns, headers and flat column list\nexport function linkColumnStructure(columns, parent, depth = 0) {\n return columns.map(column => {\n column = {\n ...column,\n parent,\n depth,\n }\n\n assignColumnAccessor(column)\n\n if (column.columns) {\n column.columns = linkColumnStructure(column.columns, column, depth + 1)\n }\n return column\n })\n}\n\nexport function flattenColumns(columns) {\n return flattenBy(columns, 'columns')\n}\n\nexport function assignColumnAccessor(column) {\n // First check for string accessor\n let { id, accessor, Header } = column\n\n if (typeof accessor === 'string') {\n id = id || accessor\n const accessorPath = accessor.split('.')\n accessor = row => getBy(row, accessorPath)\n }\n\n if (!id && typeof Header === 'string' && Header) {\n id = Header\n }\n\n if (!id && column.columns) {\n console.error(column)\n throw new Error('A column ID (or unique \"Header\" value) is required!')\n }\n\n if (!id) {\n console.error(column)\n throw new Error('A column ID (or string accessor) is required!')\n }\n\n Object.assign(column, {\n id,\n accessor,\n })\n\n return column\n}\n\nexport function decorateColumn(column, userDefaultColumn) {\n if (!userDefaultColumn) {\n throw new Error()\n }\n Object.assign(column, {\n // Make sure there is a fallback header, just in case\n Header: emptyRenderer,\n Footer: emptyRenderer,\n ...defaultColumn,\n ...userDefaultColumn,\n ...column,\n })\n\n Object.assign(column, {\n originalWidth: column.width,\n })\n\n return column\n}\n\n// Build the header groups from the bottom up\nexport function makeHeaderGroups(\n allColumns,\n defaultColumn,\n additionalHeaderProperties = () => ({})\n) {\n const headerGroups = []\n\n let scanColumns = allColumns\n\n let uid = 0\n const getUID = () => uid++\n\n while (scanColumns.length) {\n // The header group we are creating\n const headerGroup = {\n headers: [],\n }\n\n // The parent columns we're going to scan next\n const parentColumns = []\n\n const hasParents = scanColumns.some(d => d.parent)\n\n // Scan each column for parents\n scanColumns.forEach(column => {\n // What is the latest (last) parent column?\n let latestParentColumn = [...parentColumns].reverse()[0]\n\n let newParent\n\n if (hasParents) {\n // If the column has a parent, add it if necessary\n if (column.parent) {\n newParent = {\n ...column.parent,\n originalId: column.parent.id,\n id: `${column.parent.id}_${getUID()}`,\n headers: [column],\n ...additionalHeaderProperties(column),\n }\n } else {\n // If other columns have parents, we'll need to add a place holder if necessary\n const originalId = `${column.id}_placeholder`\n newParent = decorateColumn(\n {\n originalId,\n id: `${column.id}_placeholder_${getUID()}`,\n placeholderOf: column,\n headers: [column],\n ...additionalHeaderProperties(column),\n },\n defaultColumn\n )\n }\n\n // If the resulting parent columns are the same, just add\n // the column and increment the header span\n if (\n latestParentColumn &&\n latestParentColumn.originalId === newParent.originalId\n ) {\n latestParentColumn.headers.push(column)\n } else {\n parentColumns.push(newParent)\n }\n }\n\n headerGroup.headers.push(column)\n })\n\n headerGroups.push(headerGroup)\n\n // Start scanning the parent columns\n scanColumns = parentColumns\n }\n\n return headerGroups.reverse()\n}\n\nconst pathObjCache = new Map()\n\nexport function getBy(obj, path, def) {\n if (!path) {\n return obj\n }\n const cacheKey = typeof path === 'function' ? path : JSON.stringify(path)\n\n const pathObj =\n pathObjCache.get(cacheKey) ||\n (() => {\n const pathObj = makePathArray(path)\n pathObjCache.set(cacheKey, pathObj)\n return pathObj\n })()\n\n let val\n\n try {\n val = pathObj.reduce((cursor, pathPart) => cursor[pathPart], obj)\n } catch (e) {\n // continue regardless of error\n }\n return typeof val !== 'undefined' ? val : def\n}\n\nexport function getFirstDefined(...args) {\n for (let i = 0; i < args.length; i += 1) {\n if (typeof args[i] !== 'undefined') {\n return args[i]\n }\n }\n}\n\nexport function getElementDimensions(element) {\n const rect = element.getBoundingClientRect()\n const style = window.getComputedStyle(element)\n const margins = {\n left: parseInt(style.marginLeft),\n right: parseInt(style.marginRight),\n }\n const padding = {\n left: parseInt(style.paddingLeft),\n right: parseInt(style.paddingRight),\n }\n return {\n left: Math.ceil(rect.left),\n width: Math.ceil(rect.width),\n outerWidth: Math.ceil(\n rect.width + margins.left + margins.right + padding.left + padding.right\n ),\n marginLeft: margins.left,\n marginRight: margins.right,\n paddingLeft: padding.left,\n paddingRight: padding.right,\n scrollWidth: element.scrollWidth,\n }\n}\n\nexport function isFunction(a) {\n if (typeof a === 'function') {\n return a\n }\n}\n\nexport function flattenBy(arr, key) {\n const flat = []\n\n const recurse = arr => {\n arr.forEach(d => {\n if (!d[key]) {\n flat.push(d)\n } else {\n recurse(d[key])\n }\n })\n }\n\n recurse(arr)\n\n return flat\n}\n\nexport function expandRows(\n rows,\n { manualExpandedKey, expanded, expandSubRows = true }\n) {\n const expandedRows = []\n\n const handleRow = (row, addToExpandedRows = true) => {\n row.isExpanded =\n (row.original && row.original[manualExpandedKey]) || expanded[row.id]\n\n row.canExpand = row.subRows && !!row.subRows.length\n\n if (addToExpandedRows) {\n expandedRows.push(row)\n }\n\n if (row.subRows && row.subRows.length && row.isExpanded) {\n row.subRows.forEach(row => handleRow(row, expandSubRows))\n }\n }\n\n rows.forEach(row => handleRow(row))\n\n return expandedRows\n}\n\nexport function getFilterMethod(filter, userFilterTypes, filterTypes) {\n return (\n isFunction(filter) ||\n userFilterTypes[filter] ||\n filterTypes[filter] ||\n filterTypes.text\n )\n}\n\nexport function shouldAutoRemoveFilter(autoRemove, value, column) {\n return autoRemove ? autoRemove(value, column) : typeof value === 'undefined'\n}\n\nexport function unpreparedAccessWarning() {\n throw new Error(\n 'React-Table: You have not called prepareRow(row) one or more rows you are attempting to render.'\n )\n}\n\nlet passiveSupported = null\nexport function passiveEventSupported() {\n // memoize support to avoid adding multiple test events\n if (typeof passiveSupported === 'boolean') return passiveSupported\n\n let supported = false\n try {\n const options = {\n get passive() {\n supported = true\n return false\n },\n }\n\n window.addEventListener('test', null, options)\n window.removeEventListener('test', null, options)\n } catch (err) {\n supported = false\n }\n passiveSupported = supported\n return passiveSupported\n}\n\n//\n\nconst reOpenBracket = /\\[/g\nconst reCloseBracket = /\\]/g\n\nfunction makePathArray(obj) {\n return (\n flattenDeep(obj)\n // remove all periods in parts\n .map(d => String(d).replace('.', '_'))\n // join parts using period\n .join('.')\n // replace brackets with periods\n .replace(reOpenBracket, '.')\n .replace(reCloseBracket, '')\n // split it back out on periods\n .split('.')\n )\n}\n\nfunction flattenDeep(arr, newArr = []) {\n if (!Array.isArray(arr)) {\n newArr.push(arr)\n } else {\n for (let i = 0; i < arr.length; i += 1) {\n flattenDeep(arr[i], newArr)\n }\n }\n return newArr\n}\n","const defaultGetTableProps = props => ({\n role: 'table',\n ...props,\n})\n\nconst defaultGetTableBodyProps = props => ({\n role: 'rowgroup',\n ...props,\n})\n\nconst defaultGetHeaderProps = (props, { column }) => ({\n key: `header_${column.id}`,\n colSpan: column.totalVisibleHeaderCount,\n role: 'columnheader',\n ...props,\n})\n\nconst defaultGetFooterProps = (props, { column }) => ({\n key: `footer_${column.id}`,\n colSpan: column.totalVisibleHeaderCount,\n ...props,\n})\n\nconst defaultGetHeaderGroupProps = (props, { index }) => ({\n key: `headerGroup_${index}`,\n role: 'row',\n ...props,\n})\n\nconst defaultGetFooterGroupProps = (props, { index }) => ({\n key: `footerGroup_${index}`,\n ...props,\n})\n\nconst defaultGetRowProps = (props, { row }) => ({\n key: `row_${row.id}`,\n role: 'row',\n ...props,\n})\n\nconst defaultGetCellProps = (props, { cell }) => ({\n key: `cell_${cell.row.id}_${cell.column.id}`,\n role: 'cell',\n ...props,\n})\n\nexport default function makeDefaultPluginHooks() {\n return {\n useOptions: [],\n stateReducers: [],\n useControlledState: [],\n columns: [],\n columnsDeps: [],\n allColumns: [],\n allColumnsDeps: [],\n accessValue: [],\n materializedColumns: [],\n materializedColumnsDeps: [],\n useInstanceAfterData: [],\n visibleColumns: [],\n visibleColumnsDeps: [],\n headerGroups: [],\n headerGroupsDeps: [],\n useInstanceBeforeDimensions: [],\n useInstance: [],\n prepareRow: [],\n getTableProps: [defaultGetTableProps],\n getTableBodyProps: [defaultGetTableBodyProps],\n getHeaderGroupProps: [defaultGetHeaderGroupProps],\n getFooterGroupProps: [defaultGetFooterGroupProps],\n getHeaderProps: [defaultGetHeaderProps],\n getFooterProps: [defaultGetFooterProps],\n getRowProps: [defaultGetRowProps],\n getCellProps: [defaultGetCellProps],\n useFinalInstance: [],\n }\n}\n","import React from 'react'\n\nimport {\n actions,\n functionalUpdate,\n useGetLatest,\n makePropGetter,\n useMountedLayoutEffect,\n} from '../publicUtils'\n\nactions.resetHiddenColumns = 'resetHiddenColumns'\nactions.toggleHideColumn = 'toggleHideColumn'\nactions.setHiddenColumns = 'setHiddenColumns'\nactions.toggleHideAllColumns = 'toggleHideAllColumns'\n\nexport const useColumnVisibility = hooks => {\n hooks.getToggleHiddenProps = [defaultGetToggleHiddenProps]\n hooks.getToggleHideAllColumnsProps = [defaultGetToggleHideAllColumnsProps]\n\n hooks.stateReducers.push(reducer)\n hooks.useInstanceBeforeDimensions.push(useInstanceBeforeDimensions)\n hooks.headerGroupsDeps.push((deps, { instance }) => [\n ...deps,\n instance.state.hiddenColumns,\n ])\n hooks.useInstance.push(useInstance)\n}\n\nuseColumnVisibility.pluginName = 'useColumnVisibility'\n\nconst defaultGetToggleHiddenProps = (props, { column }) => [\n props,\n {\n onChange: e => {\n column.toggleHidden(!e.target.checked)\n },\n style: {\n cursor: 'pointer',\n },\n checked: column.isVisible,\n title: 'Toggle Column Visible',\n },\n]\n\nconst defaultGetToggleHideAllColumnsProps = (props, { instance }) => [\n props,\n {\n onChange: e => {\n instance.toggleHideAllColumns(!e.target.checked)\n },\n style: {\n cursor: 'pointer',\n },\n checked: !instance.allColumnsHidden && !instance.state.hiddenColumns.length,\n title: 'Toggle All Columns Hidden',\n indeterminate:\n !instance.allColumnsHidden && instance.state.hiddenColumns.length,\n },\n]\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n hiddenColumns: [],\n ...state,\n }\n }\n\n if (action.type === actions.resetHiddenColumns) {\n return {\n ...state,\n hiddenColumns: instance.initialState.hiddenColumns || [],\n }\n }\n\n if (action.type === actions.toggleHideColumn) {\n const should =\n typeof action.value !== 'undefined'\n ? action.value\n : !state.hiddenColumns.includes(action.columnId)\n\n const hiddenColumns = should\n ? [...state.hiddenColumns, action.columnId]\n : state.hiddenColumns.filter(d => d !== action.columnId)\n\n return {\n ...state,\n hiddenColumns,\n }\n }\n\n if (action.type === actions.setHiddenColumns) {\n return {\n ...state,\n hiddenColumns: functionalUpdate(action.value, state.hiddenColumns),\n }\n }\n\n if (action.type === actions.toggleHideAllColumns) {\n const shouldAll =\n typeof action.value !== 'undefined'\n ? action.value\n : !state.hiddenColumns.length\n\n return {\n ...state,\n hiddenColumns: shouldAll ? instance.allColumns.map(d => d.id) : [],\n }\n }\n}\n\nfunction useInstanceBeforeDimensions(instance) {\n const {\n headers,\n state: { hiddenColumns },\n } = instance\n\n const isMountedRef = React.useRef(false)\n\n if (!isMountedRef.current) {\n }\n\n const handleColumn = (column, parentVisible) => {\n column.isVisible = parentVisible && !hiddenColumns.includes(column.id)\n\n let totalVisibleHeaderCount = 0\n\n if (column.headers && column.headers.length) {\n column.headers.forEach(\n subColumn =>\n (totalVisibleHeaderCount += handleColumn(subColumn, column.isVisible))\n )\n } else {\n totalVisibleHeaderCount = column.isVisible ? 1 : 0\n }\n\n column.totalVisibleHeaderCount = totalVisibleHeaderCount\n\n return totalVisibleHeaderCount\n }\n\n let totalVisibleHeaderCount = 0\n\n headers.forEach(\n subHeader => (totalVisibleHeaderCount += handleColumn(subHeader, true))\n )\n}\n\nfunction useInstance(instance) {\n const {\n columns,\n flatHeaders,\n dispatch,\n allColumns,\n getHooks,\n state: { hiddenColumns },\n autoResetHiddenColumns = true,\n } = instance\n\n const getInstance = useGetLatest(instance)\n\n const allColumnsHidden = allColumns.length === hiddenColumns.length\n\n const toggleHideColumn = React.useCallback(\n (columnId, value) =>\n dispatch({ type: actions.toggleHideColumn, columnId, value }),\n [dispatch]\n )\n\n const setHiddenColumns = React.useCallback(\n value => dispatch({ type: actions.setHiddenColumns, value }),\n [dispatch]\n )\n\n const toggleHideAllColumns = React.useCallback(\n value => dispatch({ type: actions.toggleHideAllColumns, value }),\n [dispatch]\n )\n\n const getToggleHideAllColumnsProps = makePropGetter(\n getHooks().getToggleHideAllColumnsProps,\n { instance: getInstance() }\n )\n\n flatHeaders.forEach(column => {\n column.toggleHidden = value => {\n dispatch({\n type: actions.toggleHideColumn,\n columnId: column.id,\n value,\n })\n }\n\n column.getToggleHiddenProps = makePropGetter(\n getHooks().getToggleHiddenProps,\n {\n instance: getInstance(),\n column,\n }\n )\n })\n\n const getAutoResetHiddenColumns = useGetLatest(autoResetHiddenColumns)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetHiddenColumns()) {\n dispatch({ type: actions.resetHiddenColumns })\n }\n }, [dispatch, columns])\n\n Object.assign(instance, {\n allColumnsHidden,\n toggleHideColumn,\n setHiddenColumns,\n toggleHideAllColumns,\n getToggleHideAllColumnsProps,\n })\n}\n","import React from 'react'\n\n//\n\nimport {\n linkColumnStructure,\n flattenColumns,\n assignColumnAccessor,\n unpreparedAccessWarning,\n makeHeaderGroups,\n decorateColumn,\n} from '../utils'\n\nimport {\n useGetLatest,\n reduceHooks,\n actions,\n loopHooks,\n makePropGetter,\n makeRenderer,\n} from '../publicUtils'\n\nimport makeDefaultPluginHooks from '../makeDefaultPluginHooks'\n\nimport { useColumnVisibility } from './useColumnVisibility'\n\nconst defaultInitialState = {}\nconst defaultColumnInstance = {}\nconst defaultReducer = (state, action, prevState) => state\nconst defaultGetSubRows = (row, index) => row.subRows || []\nconst defaultGetRowId = (row, index, parent) =>\n `${parent ? [parent.id, index].join('.') : index}`\nconst defaultUseControlledState = d => d\n\nfunction applyDefaults(props) {\n const {\n initialState = defaultInitialState,\n defaultColumn = defaultColumnInstance,\n getSubRows = defaultGetSubRows,\n getRowId = defaultGetRowId,\n stateReducer = defaultReducer,\n useControlledState = defaultUseControlledState,\n ...rest\n } = props\n\n return {\n ...rest,\n initialState,\n defaultColumn,\n getSubRows,\n getRowId,\n stateReducer,\n useControlledState,\n }\n}\n\nexport const useTable = (props, ...plugins) => {\n // Apply default props\n props = applyDefaults(props)\n\n // Add core plugins\n plugins = [useColumnVisibility, ...plugins]\n\n // Create the table instance\n let instanceRef = React.useRef({})\n\n // Create a getter for the instance (helps avoid a lot of potential memory leaks)\n const getInstance = useGetLatest(instanceRef.current)\n\n // Assign the props, plugins and hooks to the instance\n Object.assign(getInstance(), {\n ...props,\n plugins,\n hooks: makeDefaultPluginHooks(),\n })\n\n // Allow plugins to register hooks as early as possible\n plugins.filter(Boolean).forEach(plugin => {\n plugin(getInstance().hooks)\n })\n\n // Consume all hooks and make a getter for them\n const getHooks = useGetLatest(getInstance().hooks)\n getInstance().getHooks = getHooks\n delete getInstance().hooks\n\n // Allow useOptions hooks to modify the options coming into the table\n Object.assign(\n getInstance(),\n reduceHooks(getHooks().useOptions, applyDefaults(props))\n )\n\n const {\n data,\n columns: userColumns,\n initialState,\n defaultColumn,\n getSubRows,\n getRowId,\n stateReducer,\n useControlledState,\n } = getInstance()\n\n // Setup user reducer ref\n const getStateReducer = useGetLatest(stateReducer)\n\n // Build the reducer\n const reducer = React.useCallback(\n (state, action) => {\n // Detect invalid actions\n if (!action.type) {\n console.info({ action })\n throw new Error('Unknown Action 👆')\n }\n\n // Reduce the state from all plugin reducers\n return [\n ...getHooks().stateReducers,\n // Allow the user to add their own state reducer(s)\n ...(Array.isArray(getStateReducer())\n ? getStateReducer()\n : [getStateReducer()]),\n ].reduce(\n (s, handler) => handler(s, action, state, getInstance()) || s,\n state\n )\n },\n [getHooks, getStateReducer, getInstance]\n )\n\n // Start the reducer\n const [reducerState, dispatch] = React.useReducer(reducer, undefined, () =>\n reducer(initialState, { type: actions.init })\n )\n\n // Allow the user to control the final state with hooks\n const state = reduceHooks(\n [...getHooks().useControlledState, useControlledState],\n reducerState,\n { instance: getInstance() }\n )\n\n Object.assign(getInstance(), {\n state,\n dispatch,\n })\n\n // Decorate All the columns\n const columns = React.useMemo(\n () =>\n linkColumnStructure(\n reduceHooks(getHooks().columns, userColumns, {\n instance: getInstance(),\n })\n ),\n [\n getHooks,\n getInstance,\n userColumns,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n ...reduceHooks(getHooks().columnsDeps, [], { instance: getInstance() }),\n ]\n )\n getInstance().columns = columns\n\n // Get the flat list of all columns and allow hooks to decorate\n // those columns (and trigger this memoization via deps)\n let allColumns = React.useMemo(\n () =>\n reduceHooks(getHooks().allColumns, flattenColumns(columns), {\n instance: getInstance(),\n }).map(assignColumnAccessor),\n [\n columns,\n getHooks,\n getInstance,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n ...reduceHooks(getHooks().allColumnsDeps, [], {\n instance: getInstance(),\n }),\n ]\n )\n getInstance().allColumns = allColumns\n\n // Access the row model using initial columns\n const [rows, flatRows, rowsById] = React.useMemo(() => {\n let rows = []\n let flatRows = []\n const rowsById = {}\n\n const allColumnsQueue = [...allColumns]\n\n while (allColumnsQueue.length) {\n const column = allColumnsQueue.shift()\n accessRowsForColumn({\n data,\n rows,\n flatRows,\n rowsById,\n column,\n getRowId,\n getSubRows,\n accessValueHooks: getHooks().accessValue,\n getInstance,\n })\n }\n\n return [rows, flatRows, rowsById]\n }, [allColumns, data, getRowId, getSubRows, getHooks, getInstance])\n\n Object.assign(getInstance(), {\n rows,\n initialRows: [...rows],\n flatRows,\n rowsById,\n // materializedColumns,\n })\n\n loopHooks(getHooks().useInstanceAfterData, getInstance())\n\n // Get the flat list of all columns AFTER the rows\n // have been access, and allow hooks to decorate\n // those columns (and trigger this memoization via deps)\n let visibleColumns = React.useMemo(\n () =>\n reduceHooks(getHooks().visibleColumns, allColumns, {\n instance: getInstance(),\n }).map(d => decorateColumn(d, defaultColumn)),\n [\n getHooks,\n allColumns,\n getInstance,\n defaultColumn,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n ...reduceHooks(getHooks().visibleColumnsDeps, [], {\n instance: getInstance(),\n }),\n ]\n )\n\n // Combine new visible columns with all columns\n allColumns = React.useMemo(() => {\n const columns = [...visibleColumns]\n\n allColumns.forEach(column => {\n if (!columns.find(d => d.id === column.id)) {\n columns.push(column)\n }\n })\n\n return columns\n }, [allColumns, visibleColumns])\n getInstance().allColumns = allColumns\n\n if (process.env.NODE_ENV !== 'production') {\n const duplicateColumns = allColumns.filter((column, i) => {\n return allColumns.findIndex(d => d.id === column.id) !== i\n })\n\n if (duplicateColumns.length) {\n console.info(allColumns)\n throw new Error(\n `Duplicate columns were found with ids: \"${duplicateColumns\n .map(d => d.id)\n .join(', ')}\" in the columns array above`\n )\n }\n }\n\n // Make the headerGroups\n const headerGroups = React.useMemo(\n () =>\n reduceHooks(\n getHooks().headerGroups,\n makeHeaderGroups(visibleColumns, defaultColumn),\n getInstance()\n ),\n [\n getHooks,\n visibleColumns,\n defaultColumn,\n getInstance,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n ...reduceHooks(getHooks().headerGroupsDeps, [], {\n instance: getInstance(),\n }),\n ]\n )\n getInstance().headerGroups = headerGroups\n\n // Get the first level of headers\n const headers = React.useMemo(\n () => (headerGroups.length ? headerGroups[0].headers : []),\n [headerGroups]\n )\n getInstance().headers = headers\n\n // Provide a flat header list for utilities\n getInstance().flatHeaders = headerGroups.reduce(\n (all, headerGroup) => [...all, ...headerGroup.headers],\n []\n )\n\n loopHooks(getHooks().useInstanceBeforeDimensions, getInstance())\n\n // Filter columns down to visible ones\n const visibleColumnsDep = visibleColumns\n .filter(d => d.isVisible)\n .map(d => d.id)\n .sort()\n .join('_')\n\n visibleColumns = React.useMemo(\n () => visibleColumns.filter(d => d.isVisible),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [visibleColumns, visibleColumnsDep]\n )\n getInstance().visibleColumns = visibleColumns\n\n // Header Visibility is needed by this point\n const [\n totalColumnsMinWidth,\n totalColumnsWidth,\n totalColumnsMaxWidth,\n ] = calculateHeaderWidths(headers)\n\n getInstance().totalColumnsMinWidth = totalColumnsMinWidth\n getInstance().totalColumnsWidth = totalColumnsWidth\n getInstance().totalColumnsMaxWidth = totalColumnsMaxWidth\n\n loopHooks(getHooks().useInstance, getInstance())\n\n // Each materialized header needs to be assigned a render function and other\n // prop getter properties here.\n ;[...getInstance().flatHeaders, ...getInstance().allColumns].forEach(\n column => {\n // Give columns/headers rendering power\n column.render = makeRenderer(getInstance(), column)\n\n // Give columns/headers a default getHeaderProps\n column.getHeaderProps = makePropGetter(getHooks().getHeaderProps, {\n instance: getInstance(),\n column,\n })\n\n // Give columns/headers a default getFooterProps\n column.getFooterProps = makePropGetter(getHooks().getFooterProps, {\n instance: getInstance(),\n column,\n })\n }\n )\n\n getInstance().headerGroups = React.useMemo(\n () =>\n headerGroups.filter((headerGroup, i) => {\n // Filter out any headers and headerGroups that don't have visible columns\n headerGroup.headers = headerGroup.headers.filter(column => {\n const recurse = headers =>\n headers.filter(column => {\n if (column.headers) {\n return recurse(column.headers)\n }\n return column.isVisible\n }).length\n if (column.headers) {\n return recurse(column.headers)\n }\n return column.isVisible\n })\n\n // Give headerGroups getRowProps\n if (headerGroup.headers.length) {\n headerGroup.getHeaderGroupProps = makePropGetter(\n getHooks().getHeaderGroupProps,\n { instance: getInstance(), headerGroup, index: i }\n )\n\n headerGroup.getFooterGroupProps = makePropGetter(\n getHooks().getFooterGroupProps,\n { instance: getInstance(), headerGroup, index: i }\n )\n\n return true\n }\n\n return false\n }),\n [headerGroups, getInstance, getHooks]\n )\n\n getInstance().footerGroups = [...getInstance().headerGroups].reverse()\n\n // The prepareRow function is absolutely necessary and MUST be called on\n // any rows the user wishes to be displayed.\n\n getInstance().prepareRow = React.useCallback(\n row => {\n row.getRowProps = makePropGetter(getHooks().getRowProps, {\n instance: getInstance(),\n row,\n })\n\n // Build the visible cells for each row\n row.allCells = allColumns.map(column => {\n const value = row.values[column.id]\n\n const cell = {\n column,\n row,\n value,\n }\n\n // Give each cell a getCellProps base\n cell.getCellProps = makePropGetter(getHooks().getCellProps, {\n instance: getInstance(),\n cell,\n })\n\n // Give each cell a renderer function (supports multiple renderers)\n cell.render = makeRenderer(getInstance(), column, {\n row,\n cell,\n value,\n })\n\n return cell\n })\n\n row.cells = visibleColumns.map(column =>\n row.allCells.find(cell => cell.column.id === column.id)\n )\n\n // need to apply any row specific hooks (useExpanded requires this)\n loopHooks(getHooks().prepareRow, row, { instance: getInstance() })\n },\n [getHooks, getInstance, allColumns, visibleColumns]\n )\n\n getInstance().getTableProps = makePropGetter(getHooks().getTableProps, {\n instance: getInstance(),\n })\n\n getInstance().getTableBodyProps = makePropGetter(\n getHooks().getTableBodyProps,\n {\n instance: getInstance(),\n }\n )\n\n loopHooks(getHooks().useFinalInstance, getInstance())\n\n return getInstance()\n}\n\nfunction calculateHeaderWidths(headers, left = 0) {\n let sumTotalMinWidth = 0\n let sumTotalWidth = 0\n let sumTotalMaxWidth = 0\n let sumTotalFlexWidth = 0\n\n headers.forEach(header => {\n let { headers: subHeaders } = header\n\n header.totalLeft = left\n\n if (subHeaders && subHeaders.length) {\n const [\n totalMinWidth,\n totalWidth,\n totalMaxWidth,\n totalFlexWidth,\n ] = calculateHeaderWidths(subHeaders, left)\n header.totalMinWidth = totalMinWidth\n header.totalWidth = totalWidth\n header.totalMaxWidth = totalMaxWidth\n header.totalFlexWidth = totalFlexWidth\n } else {\n header.totalMinWidth = header.minWidth\n header.totalWidth = Math.min(\n Math.max(header.minWidth, header.width),\n header.maxWidth\n )\n header.totalMaxWidth = header.maxWidth\n header.totalFlexWidth = header.canResize ? header.totalWidth : 0\n }\n if (header.isVisible) {\n left += header.totalWidth\n sumTotalMinWidth += header.totalMinWidth\n sumTotalWidth += header.totalWidth\n sumTotalMaxWidth += header.totalMaxWidth\n sumTotalFlexWidth += header.totalFlexWidth\n }\n })\n\n return [sumTotalMinWidth, sumTotalWidth, sumTotalMaxWidth, sumTotalFlexWidth]\n}\n\nfunction accessRowsForColumn({\n data,\n rows,\n flatRows,\n rowsById,\n column,\n getRowId,\n getSubRows,\n accessValueHooks,\n getInstance,\n}) {\n // Access the row's data column-by-column\n // We do it this way so we can incrementally add materialized\n // columns after the first pass and avoid excessive looping\n const accessRow = (originalRow, rowIndex, depth = 0, parent, parentRows) => {\n // Keep the original reference around\n const original = originalRow\n\n const id = getRowId(originalRow, rowIndex, parent)\n\n let row = rowsById[id]\n\n // If the row hasn't been created, let's make it\n if (!row) {\n row = {\n id,\n original,\n index: rowIndex,\n depth,\n cells: [{}], // This is a dummy cell\n }\n\n // Override common array functions (and the dummy cell's getCellProps function)\n // to show an error if it is accessed without calling prepareRow\n row.cells.map = unpreparedAccessWarning\n row.cells.filter = unpreparedAccessWarning\n row.cells.forEach = unpreparedAccessWarning\n row.cells[0].getCellProps = unpreparedAccessWarning\n\n // Create the cells and values\n row.values = {}\n\n // Push this row into the parentRows array\n parentRows.push(row)\n // Keep track of every row in a flat array\n flatRows.push(row)\n // Also keep track of every row by its ID\n rowsById[id] = row\n\n // Get the original subrows\n row.originalSubRows = getSubRows(originalRow, rowIndex)\n\n // Then recursively access them\n if (row.originalSubRows) {\n const subRows = []\n row.originalSubRows.forEach((d, i) =>\n accessRow(d, i, depth + 1, row, subRows)\n )\n // Keep the new subRows array on the row\n row.subRows = subRows\n }\n } else if (row.subRows) {\n // If the row exists, then it's already been accessed\n // Keep recursing, but don't worry about passing the\n // accumlator array (those rows already exist)\n row.originalSubRows.forEach((d, i) => accessRow(d, i, depth + 1, row))\n }\n\n // If the column has an accessor, use it to get a value\n if (column.accessor) {\n row.values[column.id] = column.accessor(\n originalRow,\n rowIndex,\n row,\n parentRows,\n data\n )\n }\n\n // Allow plugins to manipulate the column value\n row.values[column.id] = reduceHooks(\n accessValueHooks,\n row.values[column.id],\n {\n row,\n column,\n instance: getInstance(),\n },\n true\n )\n }\n\n data.forEach((originalRow, rowIndex) =>\n accessRow(originalRow, rowIndex, 0, undefined, rows)\n )\n}\n","import React from 'react'\n\nimport { expandRows } from '../utils'\n\nimport {\n useGetLatest,\n actions,\n useMountedLayoutEffect,\n makePropGetter,\n ensurePluginOrder,\n} from '../publicUtils'\n\n// Actions\nactions.resetExpanded = 'resetExpanded'\nactions.toggleRowExpanded = 'toggleRowExpanded'\nactions.toggleAllRowsExpanded = 'toggleAllRowsExpanded'\n\nexport const useExpanded = hooks => {\n hooks.getToggleAllRowsExpandedProps = [defaultGetToggleAllRowsExpandedProps]\n hooks.getToggleRowExpandedProps = [defaultGetToggleRowExpandedProps]\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n hooks.prepareRow.push(prepareRow)\n}\n\nuseExpanded.pluginName = 'useExpanded'\n\nconst defaultGetToggleAllRowsExpandedProps = (props, { instance }) => [\n props,\n {\n onClick: e => {\n instance.toggleAllRowsExpanded()\n },\n style: {\n cursor: 'pointer',\n },\n title: 'Toggle All Rows Expanded',\n },\n]\n\nconst defaultGetToggleRowExpandedProps = (props, { row }) => [\n props,\n {\n onClick: () => {\n row.toggleRowExpanded()\n },\n style: {\n cursor: 'pointer',\n },\n title: 'Toggle Row Expanded',\n },\n]\n\n// Reducer\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n expanded: {},\n ...state,\n }\n }\n\n if (action.type === actions.resetExpanded) {\n return {\n ...state,\n expanded: instance.initialState.expanded || {},\n }\n }\n\n if (action.type === actions.toggleAllRowsExpanded) {\n const { value } = action\n const { rowsById } = instance\n\n const isAllRowsExpanded =\n Object.keys(rowsById).length === Object.keys(state.expanded).length\n\n const expandAll = typeof value !== 'undefined' ? value : !isAllRowsExpanded\n\n if (expandAll) {\n const expanded = {}\n\n Object.keys(rowsById).forEach(rowId => {\n expanded[rowId] = true\n })\n\n return {\n ...state,\n expanded,\n }\n }\n\n return {\n ...state,\n expanded: {},\n }\n }\n\n if (action.type === actions.toggleRowExpanded) {\n const { id, value: setExpanded } = action\n const exists = state.expanded[id]\n\n const shouldExist =\n typeof setExpanded !== 'undefined' ? setExpanded : !exists\n\n if (!exists && shouldExist) {\n return {\n ...state,\n expanded: {\n ...state.expanded,\n [id]: true,\n },\n }\n } else if (exists && !shouldExist) {\n const { [id]: _, ...rest } = state.expanded\n return {\n ...state,\n expanded: rest,\n }\n } else {\n return state\n }\n }\n}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n rowsById,\n manualExpandedKey = 'expanded',\n paginateExpandedRows = true,\n expandSubRows = true,\n autoResetExpanded = true,\n getHooks,\n plugins,\n state: { expanded },\n dispatch,\n } = instance\n\n ensurePluginOrder(\n plugins,\n ['useSortBy', 'useGroupBy', 'usePivotColumns', 'useGlobalFilter'],\n 'useExpanded'\n )\n\n const getAutoResetExpanded = useGetLatest(autoResetExpanded)\n\n let isAllRowsExpanded = Boolean(\n Object.keys(rowsById).length && Object.keys(expanded).length\n )\n\n if (isAllRowsExpanded) {\n if (Object.keys(rowsById).some(id => !expanded[id])) {\n isAllRowsExpanded = false\n }\n }\n\n // Bypass any effects from firing when this changes\n useMountedLayoutEffect(() => {\n if (getAutoResetExpanded()) {\n dispatch({ type: actions.resetExpanded })\n }\n }, [dispatch, data])\n\n const toggleRowExpanded = React.useCallback(\n (id, value) => {\n dispatch({ type: actions.toggleRowExpanded, id, value })\n },\n [dispatch]\n )\n\n const toggleAllRowsExpanded = React.useCallback(\n value => dispatch({ type: actions.toggleAllRowsExpanded, value }),\n [dispatch]\n )\n\n const expandedRows = React.useMemo(() => {\n if (paginateExpandedRows) {\n return expandRows(rows, { manualExpandedKey, expanded, expandSubRows })\n }\n\n return rows\n }, [paginateExpandedRows, rows, manualExpandedKey, expanded, expandSubRows])\n\n const expandedDepth = React.useMemo(() => findExpandedDepth(expanded), [\n expanded,\n ])\n\n const getInstance = useGetLatest(instance)\n\n const getToggleAllRowsExpandedProps = makePropGetter(\n getHooks().getToggleAllRowsExpandedProps,\n { instance: getInstance() }\n )\n\n Object.assign(instance, {\n preExpandedRows: rows,\n expandedRows,\n rows: expandedRows,\n expandedDepth,\n isAllRowsExpanded,\n toggleRowExpanded,\n toggleAllRowsExpanded,\n getToggleAllRowsExpandedProps,\n })\n}\n\nfunction prepareRow(row, { instance: { getHooks }, instance }) {\n row.toggleRowExpanded = set => instance.toggleRowExpanded(row.id, set)\n\n row.getToggleRowExpandedProps = makePropGetter(\n getHooks().getToggleRowExpandedProps,\n {\n instance,\n row,\n }\n )\n}\n\nfunction findExpandedDepth(expanded) {\n let maxDepth = 0\n\n Object.keys(expanded).forEach(id => {\n const splitId = id.split('.')\n maxDepth = Math.max(maxDepth, splitId.length)\n })\n\n return maxDepth\n}\n","export const text = (rows, ids, filterValue) => {\n rows = rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return String(rowValue)\n .toLowerCase()\n .includes(String(filterValue).toLowerCase())\n })\n })\n return rows\n}\n\ntext.autoRemove = val => !val\n\nexport const exactText = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return rowValue !== undefined\n ? String(rowValue).toLowerCase() === String(filterValue).toLowerCase()\n : true\n })\n })\n}\n\nexactText.autoRemove = val => !val\n\nexport const exactTextCase = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return rowValue !== undefined\n ? String(rowValue) === String(filterValue)\n : true\n })\n })\n}\n\nexactTextCase.autoRemove = val => !val\n\nexport const includes = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return rowValue.includes(filterValue)\n })\n })\n}\n\nincludes.autoRemove = val => !val || !val.length\n\nexport const includesAll = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return (\n rowValue &&\n rowValue.length &&\n filterValue.every(val => rowValue.includes(val))\n )\n })\n })\n}\n\nincludesAll.autoRemove = val => !val || !val.length\n\nexport const includesSome = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return (\n rowValue &&\n rowValue.length &&\n filterValue.some(val => rowValue.includes(val))\n )\n })\n })\n}\n\nincludesSome.autoRemove = val => !val || !val.length\n\nexport const includesValue = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return filterValue.includes(rowValue)\n })\n })\n}\n\nincludesValue.autoRemove = val => !val || !val.length\n\nexport const exact = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return rowValue === filterValue\n })\n })\n}\n\nexact.autoRemove = val => typeof val === 'undefined'\n\nexport const equals = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n // eslint-disable-next-line eqeqeq\n return rowValue == filterValue\n })\n })\n}\n\nequals.autoRemove = val => val == null\n\nexport const between = (rows, ids, filterValue) => {\n let [min, max] = filterValue || []\n\n min = typeof min === 'number' ? min : -Infinity\n max = typeof max === 'number' ? max : Infinity\n\n if (min > max) {\n const temp = min\n min = max\n max = temp\n }\n\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return rowValue >= min && rowValue <= max\n })\n })\n}\n\nbetween.autoRemove = val =>\n !val || (typeof val[0] !== 'number' && typeof val[1] !== 'number')\n","import React from 'react'\n\nimport {\n getFirstDefined,\n getFilterMethod,\n shouldAutoRemoveFilter,\n} from '../utils'\n\nimport {\n actions,\n useGetLatest,\n functionalUpdate,\n useMountedLayoutEffect,\n} from '../publicUtils'\n\nimport * as filterTypes from '../filterTypes'\n\n// Actions\nactions.resetFilters = 'resetFilters'\nactions.setFilter = 'setFilter'\nactions.setAllFilters = 'setAllFilters'\n\nexport const useFilters = hooks => {\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n}\n\nuseFilters.pluginName = 'useFilters'\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n filters: [],\n ...state,\n }\n }\n\n if (action.type === actions.resetFilters) {\n return {\n ...state,\n filters: instance.initialState.filters || [],\n }\n }\n\n if (action.type === actions.setFilter) {\n const { columnId, filterValue } = action\n const { allColumns, filterTypes: userFilterTypes } = instance\n\n const column = allColumns.find(d => d.id === columnId)\n\n if (!column) {\n throw new Error(\n `React-Table: Could not find a column with id: ${columnId}`\n )\n }\n\n const filterMethod = getFilterMethod(\n column.filter,\n userFilterTypes || {},\n filterTypes\n )\n\n const previousfilter = state.filters.find(d => d.id === columnId)\n\n const newFilter = functionalUpdate(\n filterValue,\n previousfilter && previousfilter.value\n )\n\n //\n if (shouldAutoRemoveFilter(filterMethod.autoRemove, newFilter, column)) {\n return {\n ...state,\n filters: state.filters.filter(d => d.id !== columnId),\n }\n }\n\n if (previousfilter) {\n return {\n ...state,\n filters: state.filters.map(d => {\n if (d.id === columnId) {\n return { id: columnId, value: newFilter }\n }\n return d\n }),\n }\n }\n\n return {\n ...state,\n filters: [...state.filters, { id: columnId, value: newFilter }],\n }\n }\n\n if (action.type === actions.setAllFilters) {\n const { filters } = action\n const { allColumns, filterTypes: userFilterTypes } = instance\n\n return {\n ...state,\n // Filter out undefined values\n filters: functionalUpdate(filters, state.filters).filter(filter => {\n const column = allColumns.find(d => d.id === filter.id)\n const filterMethod = getFilterMethod(\n column.filter,\n userFilterTypes || {},\n filterTypes\n )\n\n if (\n shouldAutoRemoveFilter(filterMethod.autoRemove, filter.value, column)\n ) {\n return false\n }\n return true\n }),\n }\n }\n}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n flatRows,\n rowsById,\n allColumns,\n filterTypes: userFilterTypes,\n manualFilters,\n defaultCanFilter = false,\n disableFilters,\n state: { filters },\n dispatch,\n autoResetFilters = true,\n } = instance\n\n const setFilter = React.useCallback(\n (columnId, filterValue) => {\n dispatch({ type: actions.setFilter, columnId, filterValue })\n },\n [dispatch]\n )\n\n const setAllFilters = React.useCallback(\n filters => {\n dispatch({\n type: actions.setAllFilters,\n filters,\n })\n },\n [dispatch]\n )\n\n allColumns.forEach(column => {\n const {\n id,\n accessor,\n defaultCanFilter: columnDefaultCanFilter,\n disableFilters: columnDisableFilters,\n } = column\n\n // Determine if a column is filterable\n column.canFilter = accessor\n ? getFirstDefined(\n columnDisableFilters === true ? false : undefined,\n disableFilters === true ? false : undefined,\n true\n )\n : getFirstDefined(columnDefaultCanFilter, defaultCanFilter, false)\n\n // Provide the column a way of updating the filter value\n column.setFilter = val => setFilter(column.id, val)\n\n // Provide the current filter value to the column for\n // convenience\n const found = filters.find(d => d.id === id)\n column.filterValue = found && found.value\n })\n\n const [\n filteredRows,\n filteredFlatRows,\n filteredRowsById,\n ] = React.useMemo(() => {\n if (manualFilters || !filters.length) {\n return [rows, flatRows, rowsById]\n }\n\n const filteredFlatRows = []\n const filteredRowsById = {}\n\n // Filters top level and nested rows\n const filterRows = (rows, depth = 0) => {\n let filteredRows = rows\n\n filteredRows = filters.reduce(\n (filteredSoFar, { id: columnId, value: filterValue }) => {\n // Find the filters column\n const column = allColumns.find(d => d.id === columnId)\n\n if (!column) {\n return filteredSoFar\n }\n\n if (depth === 0) {\n column.preFilteredRows = filteredSoFar\n }\n\n const filterMethod = getFilterMethod(\n column.filter,\n userFilterTypes || {},\n filterTypes\n )\n\n if (!filterMethod) {\n console.warn(\n `Could not find a valid 'column.filter' for column with the ID: ${column.id}.`\n )\n return filteredSoFar\n }\n\n // Pass the rows, id, filterValue and column to the filterMethod\n // to get the filtered rows back\n column.filteredRows = filterMethod(\n filteredSoFar,\n [columnId],\n filterValue\n )\n\n return column.filteredRows\n },\n rows\n )\n\n // Apply the filter to any subRows\n // We technically could do this recursively in the above loop,\n // but that would severely hinder the API for the user, since they\n // would be required to do that recursion in some scenarios\n filteredRows.forEach(row => {\n filteredFlatRows.push(row)\n filteredRowsById[row.id] = row\n if (!row.subRows) {\n return\n }\n\n row.subRows =\n row.subRows && row.subRows.length > 0\n ? filterRows(row.subRows, depth + 1)\n : row.subRows\n })\n\n return filteredRows\n }\n\n return [filterRows(rows), filteredFlatRows, filteredRowsById]\n }, [\n manualFilters,\n filters,\n rows,\n flatRows,\n rowsById,\n allColumns,\n userFilterTypes,\n ])\n\n React.useMemo(() => {\n // Now that each filtered column has it's partially filtered rows,\n // lets assign the final filtered rows to all of the other columns\n const nonFilteredColumns = allColumns.filter(\n column => !filters.find(d => d.id === column.id)\n )\n\n // This essentially enables faceted filter options to be built easily\n // using every column's preFilteredRows value\n nonFilteredColumns.forEach(column => {\n column.preFilteredRows = filteredRows\n column.filteredRows = filteredRows\n })\n }, [filteredRows, filters, allColumns])\n\n const getAutoResetFilters = useGetLatest(autoResetFilters)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetFilters()) {\n dispatch({ type: actions.resetFilters })\n }\n }, [dispatch, manualFilters ? null : data])\n\n Object.assign(instance, {\n preFilteredRows: rows,\n preFilteredFlatRows: flatRows,\n preFilteredRowsById: rowsById,\n filteredRows,\n filteredFlatRows,\n filteredRowsById,\n rows: filteredRows,\n flatRows: filteredFlatRows,\n rowsById: filteredRowsById,\n setFilter,\n setAllFilters,\n })\n}\n","import React from 'react'\n\nimport {\n getFilterMethod,\n shouldAutoRemoveFilter,\n getFirstDefined,\n} from '../utils'\n\nimport {\n actions,\n useMountedLayoutEffect,\n functionalUpdate,\n useGetLatest,\n} from '../publicUtils'\n\nimport * as filterTypes from '../filterTypes'\n\n// Actions\nactions.resetGlobalFilter = 'resetGlobalFilter'\nactions.setGlobalFilter = 'setGlobalFilter'\n\nexport const useGlobalFilter = hooks => {\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n}\n\nuseGlobalFilter.pluginName = 'useGlobalFilter'\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.resetGlobalFilter) {\n return {\n ...state,\n globalFilter: instance.initialState.globalFilter || undefined,\n }\n }\n\n if (action.type === actions.setGlobalFilter) {\n const { filterValue } = action\n const { userFilterTypes } = instance\n\n const filterMethod = getFilterMethod(\n instance.globalFilter,\n userFilterTypes || {},\n filterTypes\n )\n\n const newFilter = functionalUpdate(filterValue, state.globalFilter)\n\n //\n if (shouldAutoRemoveFilter(filterMethod.autoRemove, newFilter)) {\n const { globalFilter, ...stateWithoutGlobalFilter } = state\n return stateWithoutGlobalFilter\n }\n\n return {\n ...state,\n globalFilter: newFilter,\n }\n }\n}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n flatRows,\n rowsById,\n allColumns,\n filterTypes: userFilterTypes,\n globalFilter,\n manualGlobalFilter,\n state: { globalFilter: globalFilterValue },\n dispatch,\n autoResetGlobalFilter = true,\n disableGlobalFilter,\n } = instance\n\n const setGlobalFilter = React.useCallback(\n filterValue => {\n dispatch({ type: actions.setGlobalFilter, filterValue })\n },\n [dispatch]\n )\n\n // TODO: Create a filter cache for incremental high speed multi-filtering\n // This gets pretty complicated pretty fast, since you have to maintain a\n // cache for each row group (top-level rows, and each row's recursive subrows)\n // This would make multi-filtering a lot faster though. Too far?\n\n const [\n globalFilteredRows,\n globalFilteredFlatRows,\n globalFilteredRowsById,\n ] = React.useMemo(() => {\n if (manualGlobalFilter || typeof globalFilterValue === 'undefined') {\n return [rows, flatRows, rowsById]\n }\n\n const filteredFlatRows = []\n const filteredRowsById = {}\n\n const filterMethod = getFilterMethod(\n globalFilter,\n userFilterTypes || {},\n filterTypes\n )\n\n if (!filterMethod) {\n console.warn(`Could not find a valid 'globalFilter' option.`)\n return rows\n }\n\n allColumns.forEach(column => {\n const { disableGlobalFilter: columnDisableGlobalFilter } = column\n\n column.canFilter = getFirstDefined(\n columnDisableGlobalFilter === true ? false : undefined,\n disableGlobalFilter === true ? false : undefined,\n true\n )\n })\n\n const filterableColumns = allColumns.filter(c => c.canFilter === true)\n\n // Filters top level and nested rows\n const filterRows = filteredRows => {\n filteredRows = filterMethod(\n filteredRows,\n filterableColumns.map(d => d.id),\n globalFilterValue\n )\n\n filteredRows.forEach(row => {\n filteredFlatRows.push(row)\n filteredRowsById[row.id] = row\n\n row.subRows =\n row.subRows && row.subRows.length\n ? filterRows(row.subRows)\n : row.subRows\n })\n\n return filteredRows\n }\n\n return [filterRows(rows), filteredFlatRows, filteredRowsById]\n }, [\n manualGlobalFilter,\n globalFilterValue,\n globalFilter,\n userFilterTypes,\n allColumns,\n rows,\n flatRows,\n rowsById,\n disableGlobalFilter,\n ])\n\n const getAutoResetGlobalFilter = useGetLatest(autoResetGlobalFilter)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetGlobalFilter()) {\n dispatch({ type: actions.resetGlobalFilter })\n }\n }, [dispatch, manualGlobalFilter ? null : data])\n\n Object.assign(instance, {\n preGlobalFilteredRows: rows,\n preGlobalFilteredFlatRows: flatRows,\n preGlobalFilteredRowsById: rowsById,\n globalFilteredRows,\n globalFilteredFlatRows,\n globalFilteredRowsById,\n rows: globalFilteredRows,\n flatRows: globalFilteredFlatRows,\n rowsById: globalFilteredRowsById,\n setGlobalFilter,\n disableGlobalFilter,\n })\n}\n","export function sum(values, aggregatedValues) {\n // It's faster to just add the aggregations together instead of\n // process leaf nodes individually\n return aggregatedValues.reduce(\n (sum, next) => sum + (typeof next === 'number' ? next : 0),\n 0\n )\n}\n\nexport function min(values) {\n let min = values[0] || 0\n\n values.forEach(value => {\n if (typeof value === 'number') {\n min = Math.min(min, value)\n }\n })\n\n return min\n}\n\nexport function max(values) {\n let max = values[0] || 0\n\n values.forEach(value => {\n if (typeof value === 'number') {\n max = Math.max(max, value)\n }\n })\n\n return max\n}\n\nexport function minMax(values) {\n let min = values[0] || 0\n let max = values[0] || 0\n\n values.forEach(value => {\n if (typeof value === 'number') {\n min = Math.min(min, value)\n max = Math.max(max, value)\n }\n })\n\n return `${min}..${max}`\n}\n\nexport function average(values) {\n return sum(null, values) / values.length\n}\n\nexport function median(values) {\n if (!values.length) {\n return null\n }\n\n const mid = Math.floor(values.length / 2)\n const nums = [...values].sort((a, b) => a - b)\n return values.length % 2 !== 0 ? nums[mid] : (nums[mid - 1] + nums[mid]) / 2\n}\n\nexport function unique(values) {\n return Array.from(new Set(values).values())\n}\n\nexport function uniqueCount(values) {\n return new Set(values).size\n}\n\nexport function count(values) {\n return values.length\n}\n","import React from 'react'\n\nimport * as aggregations from '../aggregations'\n\nimport { getFirstDefined, flattenBy } from '../utils'\n\nimport {\n actions,\n makePropGetter,\n ensurePluginOrder,\n useMountedLayoutEffect,\n useGetLatest,\n} from '../publicUtils'\n\nconst emptyArray = []\nconst emptyObject = {}\n\n// Actions\nactions.resetGroupBy = 'resetGroupBy'\nactions.setGroupBy = 'setGroupBy'\nactions.toggleGroupBy = 'toggleGroupBy'\n\nexport const useGroupBy = hooks => {\n hooks.getGroupByToggleProps = [defaultGetGroupByToggleProps]\n hooks.stateReducers.push(reducer)\n hooks.visibleColumnsDeps.push((deps, { instance }) => [\n ...deps,\n instance.state.groupBy,\n ])\n hooks.visibleColumns.push(visibleColumns)\n hooks.useInstance.push(useInstance)\n hooks.prepareRow.push(prepareRow)\n}\n\nuseGroupBy.pluginName = 'useGroupBy'\n\nconst defaultGetGroupByToggleProps = (props, { header }) => [\n props,\n {\n onClick: header.canGroupBy\n ? e => {\n e.persist()\n header.toggleGroupBy()\n }\n : undefined,\n style: {\n cursor: header.canGroupBy ? 'pointer' : undefined,\n },\n title: 'Toggle GroupBy',\n },\n]\n\n// Reducer\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n groupBy: [],\n ...state,\n }\n }\n\n if (action.type === actions.resetGroupBy) {\n return {\n ...state,\n groupBy: instance.initialState.groupBy || [],\n }\n }\n\n if (action.type === actions.setGroupBy) {\n const { value } = action\n return {\n ...state,\n groupBy: value,\n }\n }\n\n if (action.type === actions.toggleGroupBy) {\n const { columnId, value: setGroupBy } = action\n\n const resolvedGroupBy =\n typeof setGroupBy !== 'undefined'\n ? setGroupBy\n : !state.groupBy.includes(columnId)\n\n if (resolvedGroupBy) {\n return {\n ...state,\n groupBy: [...state.groupBy, columnId],\n }\n }\n\n return {\n ...state,\n groupBy: state.groupBy.filter(d => d !== columnId),\n }\n }\n}\n\nfunction visibleColumns(\n columns,\n {\n instance: {\n state: { groupBy },\n },\n }\n) {\n // Sort grouped columns to the start of the column list\n // before the headers are built\n\n const groupByColumns = groupBy\n .map(g => columns.find(col => col.id === g))\n .filter(Boolean)\n\n const nonGroupByColumns = columns.filter(col => !groupBy.includes(col.id))\n\n columns = [...groupByColumns, ...nonGroupByColumns]\n\n columns.forEach(column => {\n column.isGrouped = groupBy.includes(column.id)\n column.groupedIndex = groupBy.indexOf(column.id)\n })\n\n return columns\n}\n\nconst defaultUserAggregations = {}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n flatRows,\n rowsById,\n allColumns,\n flatHeaders,\n groupByFn = defaultGroupByFn,\n manualGroupBy,\n aggregations: userAggregations = defaultUserAggregations,\n plugins,\n state: { groupBy },\n dispatch,\n autoResetGroupBy = true,\n disableGroupBy,\n defaultCanGroupBy,\n getHooks,\n } = instance\n\n ensurePluginOrder(plugins, ['useColumnOrder', 'useFilters'], 'useGroupBy')\n\n const getInstance = useGetLatest(instance)\n\n allColumns.forEach(column => {\n const {\n accessor,\n defaultGroupBy: defaultColumnGroupBy,\n disableGroupBy: columnDisableGroupBy,\n } = column\n\n column.canGroupBy = accessor\n ? getFirstDefined(\n column.canGroupBy,\n columnDisableGroupBy === true ? false : undefined,\n disableGroupBy === true ? false : undefined,\n true\n )\n : getFirstDefined(\n column.canGroupBy,\n defaultColumnGroupBy,\n defaultCanGroupBy,\n false\n )\n\n if (column.canGroupBy) {\n column.toggleGroupBy = () => instance.toggleGroupBy(column.id)\n }\n\n column.Aggregated = column.Aggregated || column.Cell\n })\n\n const toggleGroupBy = React.useCallback(\n (columnId, value) => {\n dispatch({ type: actions.toggleGroupBy, columnId, value })\n },\n [dispatch]\n )\n\n const setGroupBy = React.useCallback(\n value => {\n dispatch({ type: actions.setGroupBy, value })\n },\n [dispatch]\n )\n\n flatHeaders.forEach(header => {\n header.getGroupByToggleProps = makePropGetter(\n getHooks().getGroupByToggleProps,\n { instance: getInstance(), header }\n )\n })\n\n const [\n groupedRows,\n groupedFlatRows,\n groupedRowsById,\n onlyGroupedFlatRows,\n onlyGroupedRowsById,\n nonGroupedFlatRows,\n nonGroupedRowsById,\n ] = React.useMemo(() => {\n if (manualGroupBy || !groupBy.length) {\n return [\n rows,\n flatRows,\n rowsById,\n emptyArray,\n emptyObject,\n flatRows,\n rowsById,\n ]\n }\n\n // Ensure that the list of filtered columns exist\n const existingGroupBy = groupBy.filter(g =>\n allColumns.find(col => col.id === g)\n )\n\n // Find the columns that can or are aggregating\n // Uses each column to aggregate rows into a single value\n const aggregateRowsToValues = (leafRows, groupedRows, depth) => {\n const values = {}\n\n allColumns.forEach(column => {\n // Don't aggregate columns that are in the groupBy\n if (existingGroupBy.includes(column.id)) {\n values[column.id] = groupedRows[0]\n ? groupedRows[0].values[column.id]\n : null\n return\n }\n\n // Aggregate the values\n let aggregateFn =\n typeof column.aggregate === 'function'\n ? column.aggregate\n : userAggregations[column.aggregate] ||\n aggregations[column.aggregate]\n\n if (aggregateFn) {\n // Get the columnValues to aggregate\n const groupedValues = groupedRows.map(row => row.values[column.id])\n\n // Get the columnValues to aggregate\n const leafValues = leafRows.map(row => {\n let columnValue = row.values[column.id]\n\n if (!depth && column.aggregateValue) {\n const aggregateValueFn =\n typeof column.aggregateValue === 'function'\n ? column.aggregateValue\n : userAggregations[column.aggregateValue] ||\n aggregations[column.aggregateValue]\n\n if (!aggregateValueFn) {\n console.info({ column })\n throw new Error(\n `React Table: Invalid column.aggregateValue option for column listed above`\n )\n }\n\n columnValue = aggregateValueFn(columnValue, row, column)\n }\n return columnValue\n })\n\n values[column.id] = aggregateFn(leafValues, groupedValues)\n } else if (column.aggregate) {\n console.info({ column })\n throw new Error(\n `React Table: Invalid column.aggregate option for column listed above`\n )\n } else {\n values[column.id] = null\n }\n })\n\n return values\n }\n\n let groupedFlatRows = []\n const groupedRowsById = {}\n const onlyGroupedFlatRows = []\n const onlyGroupedRowsById = {}\n const nonGroupedFlatRows = []\n const nonGroupedRowsById = {}\n\n // Recursively group the data\n const groupUpRecursively = (rows, depth = 0, parentId) => {\n // This is the last level, just return the rows\n if (depth === existingGroupBy.length) {\n return rows.map((row) => ({ ...row, depth }))\n }\n\n const columnId = existingGroupBy[depth]\n\n // Group the rows together for this level\n let rowGroupsMap = groupByFn(rows, columnId)\n\n // Peform aggregations for each group\n const aggregatedGroupedRows = Object.entries(rowGroupsMap).map(\n ([groupByVal, groupedRows], index) => {\n let id = `${columnId}:${groupByVal}`\n id = parentId ? `${parentId}>${id}` : id\n\n // First, Recurse to group sub rows before aggregation\n const subRows = groupUpRecursively(groupedRows, depth + 1, id)\n\n // Flatten the leaf rows of the rows in this group\n const leafRows = depth\n ? flattenBy(groupedRows, 'leafRows')\n : groupedRows\n\n const values = aggregateRowsToValues(leafRows, groupedRows, depth)\n\n const row = {\n id,\n isGrouped: true,\n groupByID: columnId,\n groupByVal,\n values,\n subRows,\n leafRows,\n depth,\n index,\n }\n\n subRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n if (subRow.isGrouped) {\n onlyGroupedFlatRows.push(subRow)\n onlyGroupedRowsById[subRow.id] = subRow\n } else {\n nonGroupedFlatRows.push(subRow)\n nonGroupedRowsById[subRow.id] = subRow\n }\n })\n\n return row\n }\n )\n\n return aggregatedGroupedRows\n }\n\n const groupedRows = groupUpRecursively(rows)\n\n groupedRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n if (subRow.isGrouped) {\n onlyGroupedFlatRows.push(subRow)\n onlyGroupedRowsById[subRow.id] = subRow\n } else {\n nonGroupedFlatRows.push(subRow)\n nonGroupedRowsById[subRow.id] = subRow\n }\n })\n\n // Assign the new data\n return [\n groupedRows,\n groupedFlatRows,\n groupedRowsById,\n onlyGroupedFlatRows,\n onlyGroupedRowsById,\n nonGroupedFlatRows,\n nonGroupedRowsById,\n ]\n }, [\n manualGroupBy,\n groupBy,\n rows,\n flatRows,\n rowsById,\n allColumns,\n userAggregations,\n groupByFn,\n ])\n\n const getAutoResetGroupBy = useGetLatest(autoResetGroupBy)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetGroupBy()) {\n dispatch({ type: actions.resetGroupBy })\n }\n }, [dispatch, manualGroupBy ? null : data])\n\n Object.assign(instance, {\n preGroupedRows: rows,\n preGroupedFlatRow: flatRows,\n preGroupedRowsById: rowsById,\n groupedRows,\n groupedFlatRows,\n groupedRowsById,\n onlyGroupedFlatRows,\n onlyGroupedRowsById,\n nonGroupedFlatRows,\n nonGroupedRowsById,\n rows: groupedRows,\n flatRows: groupedFlatRows,\n rowsById: groupedRowsById,\n toggleGroupBy,\n setGroupBy,\n })\n}\n\nfunction prepareRow(row) {\n row.allCells.forEach(cell => {\n // Grouped cells are in the groupBy and the pivot cell for the row\n cell.isGrouped = cell.column.isGrouped && cell.column.id === row.groupByID\n // Placeholder cells are any columns in the groupBy that are not grouped\n cell.isPlaceholder = !cell.isGrouped && cell.column.isGrouped\n // Aggregated cells are not grouped, not repeated, but still have subRows\n cell.isAggregated =\n !cell.isGrouped && !cell.isPlaceholder && row.subRows?.length\n })\n}\n\nexport function defaultGroupByFn(rows, columnId) {\n return rows.reduce((prev, row, i) => {\n // TODO: Might want to implement a key serializer here so\n // irregular column values can still be grouped if needed?\n const resKey = `${row.values[columnId]}`\n prev[resKey] = Array.isArray(prev[resKey]) ? prev[resKey] : []\n prev[resKey].push(row)\n return prev\n }, {})\n}\n","const reSplitAlphaNumeric = /([0-9]+)/gm\n\n// Mixed sorting is slow, but very inclusive of many edge cases.\n// It handles numbers, mixed alphanumeric combinations, and even\n// null, undefined, and Infinity\nexport const alphanumeric = (rowA, rowB, columnId) => {\n let [a, b] = getRowValuesByColumnID(rowA, rowB, columnId)\n\n // Force to strings (or \"\" for unsupported types)\n a = toString(a)\n b = toString(b)\n\n // Split on number groups, but keep the delimiter\n // Then remove falsey split values\n a = a.split(reSplitAlphaNumeric).filter(Boolean)\n b = b.split(reSplitAlphaNumeric).filter(Boolean)\n\n // While\n while (a.length && b.length) {\n let aa = a.shift()\n let bb = b.shift()\n\n const an = parseInt(aa, 10)\n const bn = parseInt(bb, 10)\n\n const combo = [an, bn].sort()\n\n // Both are string\n if (isNaN(combo[0])) {\n if (aa > bb) {\n return 1\n }\n if (bb > aa) {\n return -1\n }\n continue\n }\n\n // One is a string, one is a number\n if (isNaN(combo[1])) {\n return isNaN(an) ? -1 : 1\n }\n\n // Both are numbers\n if (an > bn) {\n return 1\n }\n if (bn > an) {\n return -1\n }\n }\n\n return a.length - b.length\n}\nexport function datetime(rowA, rowB, columnId) {\n let [a, b] = getRowValuesByColumnID(rowA, rowB, columnId)\n\n a = a.getTime()\n b = b.getTime()\n\n return compareBasic(a, b)\n}\n\nexport function basic(rowA, rowB, columnId) {\n let [a, b] = getRowValuesByColumnID(rowA, rowB, columnId)\n\n return compareBasic(a, b)\n}\n\nexport function string(rowA, rowB, columnId) {\n let [a, b] = getRowValuesByColumnID(rowA, rowB, columnId)\n\n a = a.split('').filter(Boolean)\n b = b.split('').filter(Boolean)\n\n while (a.length && b.length) {\n let aa = a.shift()\n let bb = b.shift()\n\n let alower = aa.toLowerCase()\n let blower = bb.toLowerCase()\n\n // Case insensitive comparison until characters match\n if (alower > blower) {\n return 1\n }\n if (blower > alower) {\n return -1\n }\n // If lowercase characters are identical\n if (aa > bb) {\n return 1\n }\n if (bb > aa) {\n return -1\n }\n continue\n }\n\n return a.length - b.length\n}\n\nexport function number(rowA, rowB, columnId) {\n let [a, b] = getRowValuesByColumnID(rowA, rowB, columnId)\n\n const replaceNonNumeric = /[^0-9.]/gi\n\n a = Number(String(a).replace(replaceNonNumeric, ''))\n b = Number(String(b).replace(replaceNonNumeric, ''))\n\n return compareBasic(a, b)\n}\n\n// Utils\n\nfunction compareBasic(a, b) {\n return a === b ? 0 : a > b ? 1 : -1\n}\n\nfunction getRowValuesByColumnID(row1, row2, columnId) {\n return [row1.values[columnId], row2.values[columnId]]\n}\n\nfunction toString(a) {\n if (typeof a === 'number') {\n if (isNaN(a) || a === Infinity || a === -Infinity) {\n return ''\n }\n return String(a)\n }\n if (typeof a === 'string') {\n return a\n }\n return ''\n}\n","import React from 'react'\n\nimport {\n actions,\n ensurePluginOrder,\n defaultColumn,\n makePropGetter,\n useGetLatest,\n useMountedLayoutEffect,\n} from '../publicUtils'\n\nimport { getFirstDefined, isFunction } from '../utils'\n\nimport * as sortTypes from '../sortTypes'\n\n// Actions\nactions.resetSortBy = 'resetSortBy'\nactions.setSortBy = 'setSortBy'\nactions.toggleSortBy = 'toggleSortBy'\nactions.clearSortBy = 'clearSortBy'\n\ndefaultColumn.sortType = 'alphanumeric'\ndefaultColumn.sortDescFirst = false\n\nexport const useSortBy = hooks => {\n hooks.getSortByToggleProps = [defaultGetSortByToggleProps]\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n}\n\nuseSortBy.pluginName = 'useSortBy'\n\nconst defaultGetSortByToggleProps = (props, { instance, column }) => {\n const { isMultiSortEvent = e => e.shiftKey } = instance\n\n return [\n props,\n {\n onClick: column.canSort\n ? e => {\n e.persist()\n column.toggleSortBy(\n undefined,\n !instance.disableMultiSort && isMultiSortEvent(e)\n )\n }\n : undefined,\n style: {\n cursor: column.canSort ? 'pointer' : undefined,\n },\n title: column.canSort ? 'Toggle SortBy' : undefined,\n },\n ]\n}\n\n// Reducer\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n sortBy: [],\n ...state,\n }\n }\n\n if (action.type === actions.resetSortBy) {\n return {\n ...state,\n sortBy: instance.initialState.sortBy || [],\n }\n }\n\n if (action.type === actions.clearSortBy) {\n const { sortBy } = state\n const newSortBy = sortBy.filter(d => d.id !== action.columnId)\n\n return {\n ...state,\n sortBy: newSortBy,\n }\n }\n\n if (action.type === actions.setSortBy) {\n const { sortBy } = action\n return {\n ...state,\n sortBy,\n }\n }\n\n if (action.type === actions.toggleSortBy) {\n const { columnId, desc, multi } = action\n\n const {\n allColumns,\n disableMultiSort,\n disableSortRemove,\n disableMultiRemove,\n maxMultiSortColCount = Number.MAX_SAFE_INTEGER,\n } = instance\n\n const { sortBy } = state\n\n // Find the column for this columnId\n const column = allColumns.find(d => d.id === columnId)\n const { sortDescFirst } = column\n\n // Find any existing sortBy for this column\n const existingSortBy = sortBy.find(d => d.id === columnId)\n const existingIndex = sortBy.findIndex(d => d.id === columnId)\n const hasDescDefined = typeof desc !== 'undefined' && desc !== null\n\n let newSortBy = []\n\n // What should we do with this sort action?\n let sortAction\n\n if (!disableMultiSort && multi) {\n if (existingSortBy) {\n sortAction = 'toggle'\n } else {\n sortAction = 'add'\n }\n } else {\n // Normal mode\n if (existingIndex !== sortBy.length - 1 || sortBy.length !== 1) {\n sortAction = 'replace'\n } else if (existingSortBy) {\n sortAction = 'toggle'\n } else {\n sortAction = 'replace'\n }\n }\n\n // Handle toggle states that will remove the sortBy\n if (\n sortAction === 'toggle' && // Must be toggling\n !disableSortRemove && // If disableSortRemove, disable in general\n !hasDescDefined && // Must not be setting desc\n (multi ? !disableMultiRemove : true) && // If multi, don't allow if disableMultiRemove\n ((existingSortBy && // Finally, detect if it should indeed be removed\n existingSortBy.desc &&\n !sortDescFirst) ||\n (!existingSortBy.desc && sortDescFirst))\n ) {\n sortAction = 'remove'\n }\n\n if (sortAction === 'replace') {\n newSortBy = [\n {\n id: columnId,\n desc: hasDescDefined ? desc : sortDescFirst,\n },\n ]\n } else if (sortAction === 'add') {\n newSortBy = [\n ...sortBy,\n {\n id: columnId,\n desc: hasDescDefined ? desc : sortDescFirst,\n },\n ]\n // Take latest n columns\n newSortBy.splice(0, newSortBy.length - maxMultiSortColCount)\n } else if (sortAction === 'toggle') {\n // This flips (or sets) the\n newSortBy = sortBy.map(d => {\n if (d.id === columnId) {\n return {\n ...d,\n desc: hasDescDefined ? desc : !existingSortBy.desc,\n }\n }\n return d\n })\n } else if (sortAction === 'remove') {\n newSortBy = sortBy.filter(d => d.id !== columnId)\n }\n\n return {\n ...state,\n sortBy: newSortBy,\n }\n }\n}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n flatRows,\n allColumns,\n orderByFn = defaultOrderByFn,\n sortTypes: userSortTypes,\n manualSortBy,\n defaultCanSort,\n disableSortBy,\n flatHeaders,\n state: { sortBy },\n dispatch,\n plugins,\n getHooks,\n autoResetSortBy = true,\n } = instance\n\n ensurePluginOrder(\n plugins,\n ['useFilters', 'useGlobalFilter', 'useGroupBy', 'usePivotColumns'],\n 'useSortBy'\n )\n\n const setSortBy = React.useCallback(\n sortBy => {\n dispatch({ type: actions.setSortBy, sortBy })\n },\n [dispatch]\n )\n\n // Updates sorting based on a columnId, desc flag and multi flag\n const toggleSortBy = React.useCallback(\n (columnId, desc, multi) => {\n dispatch({ type: actions.toggleSortBy, columnId, desc, multi })\n },\n [dispatch]\n )\n\n // use reference to avoid memory leak in #1608\n const getInstance = useGetLatest(instance)\n\n // Add the getSortByToggleProps method to columns and headers\n flatHeaders.forEach(column => {\n const {\n accessor,\n canSort: defaultColumnCanSort,\n disableSortBy: columnDisableSortBy,\n id,\n } = column\n\n const canSort = accessor\n ? getFirstDefined(\n columnDisableSortBy === true ? false : undefined,\n disableSortBy === true ? false : undefined,\n true\n )\n : getFirstDefined(defaultCanSort, defaultColumnCanSort, false)\n\n column.canSort = canSort\n\n if (column.canSort) {\n column.toggleSortBy = (desc, multi) =>\n toggleSortBy(column.id, desc, multi)\n\n column.clearSortBy = () => {\n dispatch({ type: actions.clearSortBy, columnId: column.id })\n }\n }\n\n column.getSortByToggleProps = makePropGetter(\n getHooks().getSortByToggleProps,\n {\n instance: getInstance(),\n column,\n }\n )\n\n const columnSort = sortBy.find(d => d.id === id)\n column.isSorted = !!columnSort\n column.sortedIndex = sortBy.findIndex(d => d.id === id)\n column.isSortedDesc = column.isSorted ? columnSort.desc : undefined\n })\n\n const [sortedRows, sortedFlatRows] = React.useMemo(() => {\n if (manualSortBy || !sortBy.length) {\n return [rows, flatRows]\n }\n\n const sortedFlatRows = []\n\n // Filter out sortBys that correspond to non existing columns\n const availableSortBy = sortBy.filter(sort =>\n allColumns.find(col => col.id === sort.id)\n )\n\n const sortData = rows => {\n // Use the orderByFn to compose multiple sortBy's together.\n // This will also perform a stable sorting using the row index\n // if needed.\n const sortedData = orderByFn(\n rows,\n availableSortBy.map(sort => {\n // Support custom sorting methods for each column\n const column = allColumns.find(d => d.id === sort.id)\n\n if (!column) {\n throw new Error(\n `React-Table: Could not find a column with id: ${sort.id} while sorting`\n )\n }\n\n const { sortType } = column\n\n // Look up sortBy functions in this order:\n // column function\n // column string lookup on user sortType\n // column string lookup on built-in sortType\n // default function\n // default string lookup on user sortType\n // default string lookup on built-in sortType\n const sortMethod =\n isFunction(sortType) ||\n (userSortTypes || {})[sortType] ||\n sortTypes[sortType]\n\n if (!sortMethod) {\n throw new Error(\n `React-Table: Could not find a valid sortType of '${sortType}' for column '${sort.id}'.`\n )\n }\n\n // Return the correct sortFn.\n // This function should always return in ascending order\n return (a, b) => sortMethod(a, b, sort.id, sort.desc)\n }),\n // Map the directions\n availableSortBy.map(sort => {\n // Detect and use the sortInverted option\n const column = allColumns.find(d => d.id === sort.id)\n\n if (column && column.sortInverted) {\n return sort.desc\n }\n\n return !sort.desc\n })\n )\n\n // If there are sub-rows, sort them\n sortedData.forEach(row => {\n sortedFlatRows.push(row)\n if (!row.subRows || row.subRows.length === 0) {\n return\n }\n row.subRows = sortData(row.subRows)\n })\n\n return sortedData\n }\n\n return [sortData(rows), sortedFlatRows]\n }, [\n manualSortBy,\n sortBy,\n rows,\n flatRows,\n allColumns,\n orderByFn,\n userSortTypes,\n ])\n\n const getAutoResetSortBy = useGetLatest(autoResetSortBy)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetSortBy()) {\n dispatch({ type: actions.resetSortBy })\n }\n }, [manualSortBy ? null : data])\n\n Object.assign(instance, {\n preSortedRows: rows,\n preSortedFlatRows: flatRows,\n sortedRows,\n sortedFlatRows,\n rows: sortedRows,\n flatRows: sortedFlatRows,\n setSortBy,\n toggleSortBy,\n })\n}\n\nexport function defaultOrderByFn(arr, funcs, dirs) {\n return [...arr].sort((rowA, rowB) => {\n for (let i = 0; i < funcs.length; i += 1) {\n const sortFn = funcs[i]\n const desc = dirs[i] === false || dirs[i] === 'desc'\n const sortInt = sortFn(rowA, rowB)\n if (sortInt !== 0) {\n return desc ? -sortInt : sortInt\n }\n }\n return dirs[0] ? rowA.index - rowB.index : rowB.index - rowA.index\n })\n}\n","import React from 'react'\n\n//\n\nimport {\n actions,\n ensurePluginOrder,\n functionalUpdate,\n useMountedLayoutEffect,\n useGetLatest,\n} from '../publicUtils'\n\nimport { expandRows } from '../utils'\n\nconst pluginName = 'usePagination'\n\n// Actions\nactions.resetPage = 'resetPage'\nactions.gotoPage = 'gotoPage'\nactions.setPageSize = 'setPageSize'\n\nexport const usePagination = hooks => {\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n}\n\nusePagination.pluginName = pluginName\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n pageSize: 10,\n pageIndex: 0,\n ...state,\n }\n }\n\n if (action.type === actions.resetPage) {\n return {\n ...state,\n pageIndex: instance.initialState.pageIndex || 0,\n }\n }\n\n if (action.type === actions.gotoPage) {\n const { pageCount, page } = instance\n const newPageIndex = functionalUpdate(action.pageIndex, state.pageIndex)\n let canNavigate = false\n\n if (newPageIndex > state.pageIndex) {\n // next page\n canNavigate =\n pageCount === -1\n ? page.length >= state.pageSize\n : newPageIndex < pageCount\n } else if (newPageIndex < state.pageIndex) {\n // prev page\n canNavigate = newPageIndex > -1\n }\n\n if (!canNavigate) {\n return state\n }\n\n return {\n ...state,\n pageIndex: newPageIndex,\n }\n }\n\n if (action.type === actions.setPageSize) {\n const { pageSize } = action\n const topRowIndex = state.pageSize * state.pageIndex\n const pageIndex = Math.floor(topRowIndex / pageSize)\n\n return {\n ...state,\n pageIndex,\n pageSize,\n }\n }\n}\n\nfunction useInstance(instance) {\n const {\n rows,\n autoResetPage = true,\n manualExpandedKey = 'expanded',\n plugins,\n pageCount: userPageCount,\n paginateExpandedRows = true,\n expandSubRows = true,\n state: {\n pageSize,\n pageIndex,\n expanded,\n globalFilter,\n filters,\n groupBy,\n sortBy,\n },\n dispatch,\n data,\n manualPagination,\n } = instance\n\n ensurePluginOrder(\n plugins,\n ['useGlobalFilter', 'useFilters', 'useGroupBy', 'useSortBy', 'useExpanded'],\n 'usePagination'\n )\n\n const getAutoResetPage = useGetLatest(autoResetPage)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetPage()) {\n dispatch({ type: actions.resetPage })\n }\n }, [\n dispatch,\n manualPagination ? null : data,\n globalFilter,\n filters,\n groupBy,\n sortBy,\n ])\n\n const pageCount = manualPagination\n ? userPageCount\n : Math.ceil(rows.length / pageSize)\n\n const pageOptions = React.useMemo(\n () =>\n pageCount > 0\n ? [...new Array(pageCount)].fill(null).map((d, i) => i)\n : [],\n [pageCount]\n )\n\n const page = React.useMemo(() => {\n let page\n\n if (manualPagination) {\n page = rows\n } else {\n const pageStart = pageSize * pageIndex\n const pageEnd = pageStart + pageSize\n\n page = rows.slice(pageStart, pageEnd)\n }\n\n if (paginateExpandedRows) {\n return page\n }\n\n return expandRows(page, { manualExpandedKey, expanded, expandSubRows })\n }, [\n expandSubRows,\n expanded,\n manualExpandedKey,\n manualPagination,\n pageIndex,\n pageSize,\n paginateExpandedRows,\n rows,\n ])\n\n const canPreviousPage = pageIndex > 0\n const canNextPage =\n pageCount === -1 ? page.length >= pageSize : pageIndex < pageCount - 1\n\n const gotoPage = React.useCallback(\n pageIndex => {\n dispatch({ type: actions.gotoPage, pageIndex })\n },\n [dispatch]\n )\n\n const previousPage = React.useCallback(() => {\n return gotoPage(old => old - 1)\n }, [gotoPage])\n\n const nextPage = React.useCallback(() => {\n return gotoPage(old => old + 1)\n }, [gotoPage])\n\n const setPageSize = React.useCallback(\n pageSize => {\n dispatch({ type: actions.setPageSize, pageSize })\n },\n [dispatch]\n )\n\n Object.assign(instance, {\n pageOptions,\n pageCount,\n page,\n canPreviousPage,\n canNextPage,\n gotoPage,\n previousPage,\n nextPage,\n setPageSize,\n })\n}\n","/* istanbul ignore file */\n\nimport {\n actions,\n makePropGetter,\n ensurePluginOrder,\n useMountedLayoutEffect,\n useGetLatest,\n} from '../publicUtils'\n\nimport { flattenColumns, getFirstDefined } from '../utils'\n\n// Actions\nactions.resetPivot = 'resetPivot'\nactions.togglePivot = 'togglePivot'\n\nexport const _UNSTABLE_usePivotColumns = hooks => {\n hooks.getPivotToggleProps = [defaultGetPivotToggleProps]\n hooks.stateReducers.push(reducer)\n hooks.useInstanceAfterData.push(useInstanceAfterData)\n hooks.allColumns.push(allColumns)\n hooks.accessValue.push(accessValue)\n hooks.materializedColumns.push(materializedColumns)\n hooks.materializedColumnsDeps.push(materializedColumnsDeps)\n hooks.visibleColumns.push(visibleColumns)\n hooks.visibleColumnsDeps.push(visibleColumnsDeps)\n hooks.useInstance.push(useInstance)\n hooks.prepareRow.push(prepareRow)\n}\n\n_UNSTABLE_usePivotColumns.pluginName = 'usePivotColumns'\n\nconst defaultPivotColumns = []\n\nconst defaultGetPivotToggleProps = (props, { header }) => [\n props,\n {\n onClick: header.canPivot\n ? e => {\n e.persist()\n header.togglePivot()\n }\n : undefined,\n style: {\n cursor: header.canPivot ? 'pointer' : undefined,\n },\n title: 'Toggle Pivot',\n },\n]\n\n// Reducer\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n pivotColumns: defaultPivotColumns,\n ...state,\n }\n }\n\n if (action.type === actions.resetPivot) {\n return {\n ...state,\n pivotColumns: instance.initialState.pivotColumns || defaultPivotColumns,\n }\n }\n\n if (action.type === actions.togglePivot) {\n const { columnId, value: setPivot } = action\n\n const resolvedPivot =\n typeof setPivot !== 'undefined'\n ? setPivot\n : !state.pivotColumns.includes(columnId)\n\n if (resolvedPivot) {\n return {\n ...state,\n pivotColumns: [...state.pivotColumns, columnId],\n }\n }\n\n return {\n ...state,\n pivotColumns: state.pivotColumns.filter(d => d !== columnId),\n }\n }\n}\n\nfunction useInstanceAfterData(instance) {\n instance.allColumns.forEach(column => {\n column.isPivotSource = instance.state.pivotColumns.includes(column.id)\n })\n}\n\nfunction allColumns(columns, { instance }) {\n columns.forEach(column => {\n column.isPivotSource = instance.state.pivotColumns.includes(column.id)\n column.uniqueValues = new Set()\n })\n return columns\n}\n\nfunction accessValue(value, { column }) {\n if (column.uniqueValues && typeof value !== 'undefined') {\n column.uniqueValues.add(value)\n }\n return value\n}\n\nfunction materializedColumns(materialized, { instance }) {\n const { allColumns, state } = instance\n\n if (!state.pivotColumns.length || !state.groupBy || !state.groupBy.length) {\n return materialized\n }\n\n const pivotColumns = state.pivotColumns\n .map(id => allColumns.find(d => d.id === id))\n .filter(Boolean)\n\n const sourceColumns = allColumns.filter(\n d =>\n !d.isPivotSource &&\n !state.groupBy.includes(d.id) &&\n !state.pivotColumns.includes(d.id)\n )\n\n const buildPivotColumns = (depth = 0, parent, pivotFilters = []) => {\n const pivotColumn = pivotColumns[depth]\n\n if (!pivotColumn) {\n return sourceColumns.map(sourceColumn => {\n // TODO: We could offer support here for renesting pivoted\n // columns inside copies of their header groups. For now,\n // that seems like it would be (1) overkill on nesting, considering\n // you already get nesting for every pivot level and (2)\n // really hard. :)\n\n return {\n ...sourceColumn,\n canPivot: false,\n isPivoted: true,\n parent,\n depth: depth,\n id: `${parent ? `${parent.id}.${sourceColumn.id}` : sourceColumn.id}`,\n accessor: (originalRow, i, row) => {\n if (pivotFilters.every(filter => filter(row))) {\n return row.values[sourceColumn.id]\n }\n },\n }\n })\n }\n\n const uniqueValues = Array.from(pivotColumn.uniqueValues).sort()\n\n return uniqueValues.map(uniqueValue => {\n const columnGroup = {\n ...pivotColumn,\n Header:\n pivotColumn.PivotHeader || typeof pivotColumn.header === 'string'\n ? `${pivotColumn.Header}: ${uniqueValue}`\n : uniqueValue,\n isPivotGroup: true,\n parent,\n depth,\n id: parent\n ? `${parent.id}.${pivotColumn.id}.${uniqueValue}`\n : `${pivotColumn.id}.${uniqueValue}`,\n pivotValue: uniqueValue,\n }\n\n columnGroup.columns = buildPivotColumns(depth + 1, columnGroup, [\n ...pivotFilters,\n row => row.values[pivotColumn.id] === uniqueValue,\n ])\n\n return columnGroup\n })\n }\n\n const newMaterialized = flattenColumns(buildPivotColumns())\n\n return [...materialized, ...newMaterialized]\n}\n\nfunction materializedColumnsDeps(\n deps,\n {\n instance: {\n state: { pivotColumns, groupBy },\n },\n }\n) {\n return [...deps, pivotColumns, groupBy]\n}\n\nfunction visibleColumns(visibleColumns, { instance: { state } }) {\n visibleColumns = visibleColumns.filter(d => !d.isPivotSource)\n\n if (state.pivotColumns.length && state.groupBy && state.groupBy.length) {\n visibleColumns = visibleColumns.filter(\n column => column.isGrouped || column.isPivoted\n )\n }\n\n return visibleColumns\n}\n\nfunction visibleColumnsDeps(deps, { instance }) {\n return [...deps, instance.state.pivotColumns, instance.state.groupBy]\n}\n\nfunction useInstance(instance) {\n const {\n columns,\n allColumns,\n flatHeaders,\n // pivotFn = defaultPivotFn,\n // manualPivot,\n getHooks,\n plugins,\n dispatch,\n autoResetPivot = true,\n manaulPivot,\n disablePivot,\n defaultCanPivot,\n } = instance\n\n ensurePluginOrder(plugins, ['useGroupBy'], 'usePivotColumns')\n\n const getInstance = useGetLatest(instance)\n\n allColumns.forEach(column => {\n const {\n accessor,\n defaultPivot: defaultColumnPivot,\n disablePivot: columnDisablePivot,\n } = column\n\n column.canPivot = accessor\n ? getFirstDefined(\n column.canPivot,\n columnDisablePivot === true ? false : undefined,\n disablePivot === true ? false : undefined,\n true\n )\n : getFirstDefined(\n column.canPivot,\n defaultColumnPivot,\n defaultCanPivot,\n false\n )\n\n if (column.canPivot) {\n column.togglePivot = () => instance.togglePivot(column.id)\n }\n\n column.Aggregated = column.Aggregated || column.Cell\n })\n\n const togglePivot = (columnId, value) => {\n dispatch({ type: actions.togglePivot, columnId, value })\n }\n\n flatHeaders.forEach(header => {\n header.getPivotToggleProps = makePropGetter(\n getHooks().getPivotToggleProps,\n {\n instance: getInstance(),\n header,\n }\n )\n })\n\n const getAutoResetPivot = useGetLatest(autoResetPivot)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetPivot()) {\n dispatch({ type: actions.resetPivot })\n }\n }, [dispatch, manaulPivot ? null : columns])\n\n Object.assign(instance, {\n togglePivot,\n })\n}\n\nfunction prepareRow(row) {\n row.allCells.forEach(cell => {\n // Grouped cells are in the pivotColumns and the pivot cell for the row\n cell.isPivoted = cell.column.isPivoted\n })\n}\n","import React from 'react'\n\nimport {\n actions,\n makePropGetter,\n ensurePluginOrder,\n useGetLatest,\n useMountedLayoutEffect,\n} from '../publicUtils'\n\nconst pluginName = 'useRowSelect'\n\n// Actions\nactions.resetSelectedRows = 'resetSelectedRows'\nactions.toggleAllRowsSelected = 'toggleAllRowsSelected'\nactions.toggleRowSelected = 'toggleRowSelected'\nactions.toggleAllPageRowsSelected = 'toggleAllPageRowsSelected'\n\nexport const useRowSelect = hooks => {\n hooks.getToggleRowSelectedProps = [defaultGetToggleRowSelectedProps]\n hooks.getToggleAllRowsSelectedProps = [defaultGetToggleAllRowsSelectedProps]\n hooks.getToggleAllPageRowsSelectedProps = [\n defaultGetToggleAllPageRowsSelectedProps,\n ]\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n hooks.prepareRow.push(prepareRow)\n}\n\nuseRowSelect.pluginName = pluginName\n\nconst defaultGetToggleRowSelectedProps = (props, { instance, row }) => {\n const { manualRowSelectedKey = 'isSelected' } = instance\n let checked = false\n\n if (row.original && row.original[manualRowSelectedKey]) {\n checked = true\n } else {\n checked = row.isSelected\n }\n\n return [\n props,\n {\n onChange: e => {\n row.toggleRowSelected(e.target.checked)\n },\n style: {\n cursor: 'pointer',\n },\n checked,\n title: 'Toggle Row Selected',\n indeterminate: row.isSomeSelected,\n },\n ]\n}\n\nconst defaultGetToggleAllRowsSelectedProps = (props, { instance }) => [\n props,\n {\n onChange: e => {\n instance.toggleAllRowsSelected(e.target.checked)\n },\n style: {\n cursor: 'pointer',\n },\n checked: instance.isAllRowsSelected,\n title: 'Toggle All Rows Selected',\n indeterminate: Boolean(\n !instance.isAllRowsSelected &&\n Object.keys(instance.state.selectedRowIds).length\n ),\n },\n]\n\nconst defaultGetToggleAllPageRowsSelectedProps = (props, { instance }) => [\n props,\n {\n onChange(e) {\n instance.toggleAllPageRowsSelected(e.target.checked)\n },\n style: {\n cursor: 'pointer',\n },\n checked: instance.isAllPageRowsSelected,\n title: 'Toggle All Current Page Rows Selected',\n indeterminate: Boolean(\n !instance.isAllPageRowsSelected &&\n instance.page.some(({ id }) => instance.state.selectedRowIds[id])\n ),\n },\n]\n\n// eslint-disable-next-line max-params\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n selectedRowIds: {},\n ...state,\n }\n }\n\n if (action.type === actions.resetSelectedRows) {\n return {\n ...state,\n selectedRowIds: instance.initialState.selectedRowIds || {},\n }\n }\n\n if (action.type === actions.toggleAllRowsSelected) {\n const { value: setSelected } = action\n const {\n isAllRowsSelected,\n rowsById,\n nonGroupedRowsById = rowsById,\n } = instance\n\n const selectAll =\n typeof setSelected !== 'undefined' ? setSelected : !isAllRowsSelected\n\n // Only remove/add the rows that are visible on the screen\n // Leave all the other rows that are selected alone.\n const selectedRowIds = Object.assign({}, state.selectedRowIds)\n\n if (selectAll) {\n Object.keys(nonGroupedRowsById).forEach(rowId => {\n selectedRowIds[rowId] = true\n })\n } else {\n Object.keys(nonGroupedRowsById).forEach(rowId => {\n delete selectedRowIds[rowId]\n })\n }\n\n return {\n ...state,\n selectedRowIds,\n }\n }\n\n if (action.type === actions.toggleRowSelected) {\n const { id, value: setSelected } = action\n const { rowsById, selectSubRows = true, getSubRows } = instance\n const isSelected = state.selectedRowIds[id]\n const shouldExist =\n typeof setSelected !== 'undefined' ? setSelected : !isSelected\n\n if (isSelected === shouldExist) {\n return state\n }\n\n const newSelectedRowIds = { ...state.selectedRowIds }\n\n const handleRowById = id => {\n const row = rowsById[id]\n\n if (row) {\n if (!row.isGrouped) {\n if (shouldExist) {\n newSelectedRowIds[id] = true\n } else {\n delete newSelectedRowIds[id]\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n return getSubRows(row).forEach(row => handleRowById(row.id))\n }\n }\n }\n\n handleRowById(id)\n\n return {\n ...state,\n selectedRowIds: newSelectedRowIds,\n }\n }\n\n if (action.type === actions.toggleAllPageRowsSelected) {\n const { value: setSelected } = action\n const {\n page,\n rowsById,\n selectSubRows = true,\n isAllPageRowsSelected,\n getSubRows,\n } = instance\n\n const selectAll =\n typeof setSelected !== 'undefined' ? setSelected : !isAllPageRowsSelected\n\n const newSelectedRowIds = { ...state.selectedRowIds }\n\n const handleRowById = id => {\n const row = rowsById[id]\n\n if (!row.isGrouped) {\n if (selectAll) {\n newSelectedRowIds[id] = true\n } else {\n delete newSelectedRowIds[id]\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n return getSubRows(row).forEach(row => handleRowById(row.id))\n }\n }\n\n page.forEach(row => handleRowById(row.id))\n\n return {\n ...state,\n selectedRowIds: newSelectedRowIds,\n }\n }\n return state\n}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n getHooks,\n plugins,\n rowsById,\n nonGroupedRowsById = rowsById,\n autoResetSelectedRows = true,\n state: { selectedRowIds },\n selectSubRows = true,\n dispatch,\n page,\n getSubRows,\n } = instance\n\n ensurePluginOrder(\n plugins,\n ['useFilters', 'useGroupBy', 'useSortBy', 'useExpanded', 'usePagination'],\n 'useRowSelect'\n )\n\n const selectedFlatRows = React.useMemo(() => {\n const selectedFlatRows = []\n\n rows.forEach(row => {\n const isSelected = selectSubRows\n ? getRowIsSelected(row, selectedRowIds, getSubRows)\n : !!selectedRowIds[row.id]\n row.isSelected = !!isSelected\n row.isSomeSelected = isSelected === null\n\n if (isSelected) {\n selectedFlatRows.push(row)\n }\n })\n\n return selectedFlatRows\n }, [rows, selectSubRows, selectedRowIds, getSubRows])\n\n let isAllRowsSelected = Boolean(\n Object.keys(nonGroupedRowsById).length && Object.keys(selectedRowIds).length\n )\n\n let isAllPageRowsSelected = isAllRowsSelected\n\n if (isAllRowsSelected) {\n if (Object.keys(nonGroupedRowsById).some(id => !selectedRowIds[id])) {\n isAllRowsSelected = false\n }\n }\n\n if (!isAllRowsSelected) {\n if (page && page.length && page.some(({ id }) => !selectedRowIds[id])) {\n isAllPageRowsSelected = false\n }\n }\n\n const getAutoResetSelectedRows = useGetLatest(autoResetSelectedRows)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetSelectedRows()) {\n dispatch({ type: actions.resetSelectedRows })\n }\n }, [dispatch, data])\n\n const toggleAllRowsSelected = React.useCallback(\n value => dispatch({ type: actions.toggleAllRowsSelected, value }),\n [dispatch]\n )\n\n const toggleAllPageRowsSelected = React.useCallback(\n value => dispatch({ type: actions.toggleAllPageRowsSelected, value }),\n [dispatch]\n )\n\n const toggleRowSelected = React.useCallback(\n (id, value) => dispatch({ type: actions.toggleRowSelected, id, value }),\n [dispatch]\n )\n\n const getInstance = useGetLatest(instance)\n\n const getToggleAllRowsSelectedProps = makePropGetter(\n getHooks().getToggleAllRowsSelectedProps,\n { instance: getInstance() }\n )\n\n const getToggleAllPageRowsSelectedProps = makePropGetter(\n getHooks().getToggleAllPageRowsSelectedProps,\n { instance: getInstance() }\n )\n\n Object.assign(instance, {\n selectedFlatRows,\n isAllRowsSelected,\n isAllPageRowsSelected,\n toggleRowSelected,\n toggleAllRowsSelected,\n getToggleAllRowsSelectedProps,\n getToggleAllPageRowsSelectedProps,\n toggleAllPageRowsSelected,\n })\n}\n\nfunction prepareRow(row, { instance }) {\n row.toggleRowSelected = set => instance.toggleRowSelected(row.id, set)\n\n row.getToggleRowSelectedProps = makePropGetter(\n instance.getHooks().getToggleRowSelectedProps,\n { instance: instance, row }\n )\n}\n\nfunction getRowIsSelected(row, selectedRowIds, getSubRows) {\n if (selectedRowIds[row.id]) {\n return true\n }\n\n const subRows = getSubRows(row)\n\n if (subRows && subRows.length) {\n let allChildrenSelected = true\n let someSelected = false\n\n subRows.forEach(subRow => {\n // Bail out early if we know both of these\n if (someSelected && !allChildrenSelected) {\n return\n }\n\n if (getRowIsSelected(subRow, selectedRowIds, getSubRows)) {\n someSelected = true\n } else {\n allChildrenSelected = false\n }\n })\n return allChildrenSelected ? true : someSelected ? null : false\n }\n\n return false\n}\n","import React from 'react'\n\nimport {\n actions,\n functionalUpdate,\n useMountedLayoutEffect,\n useGetLatest,\n} from '../publicUtils'\n\nconst defaultInitialRowStateAccessor = row => ({})\nconst defaultInitialCellStateAccessor = cell => ({})\n\n// Actions\nactions.setRowState = 'setRowState'\nactions.setCellState = 'setCellState'\nactions.resetRowState = 'resetRowState'\n\nexport const useRowState = hooks => {\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n hooks.prepareRow.push(prepareRow)\n}\n\nuseRowState.pluginName = 'useRowState'\n\nfunction reducer(state, action, previousState, instance) {\n const {\n initialRowStateAccessor = defaultInitialRowStateAccessor,\n initialCellStateAccessor = defaultInitialCellStateAccessor,\n rowsById,\n } = instance\n\n if (action.type === actions.init) {\n return {\n rowState: {},\n ...state,\n }\n }\n\n if (action.type === actions.resetRowState) {\n return {\n ...state,\n rowState: instance.initialState.rowState || {},\n }\n }\n\n if (action.type === actions.setRowState) {\n const { rowId, value } = action\n\n const oldRowState =\n typeof state.rowState[rowId] !== 'undefined'\n ? state.rowState[rowId]\n : initialRowStateAccessor(rowsById[rowId])\n\n return {\n ...state,\n rowState: {\n ...state.rowState,\n [rowId]: functionalUpdate(value, oldRowState),\n },\n }\n }\n\n if (action.type === actions.setCellState) {\n const { rowId, columnId, value } = action\n\n const oldRowState =\n typeof state.rowState[rowId] !== 'undefined'\n ? state.rowState[rowId]\n : initialRowStateAccessor(rowsById[rowId])\n\n const oldCellState =\n typeof oldRowState?.cellState?.[columnId] !== 'undefined'\n ? oldRowState.cellState[columnId]\n : initialCellStateAccessor(\n rowsById[rowId]?.cells?.find(cell => cell.column.id === columnId)\n )\n\n return {\n ...state,\n rowState: {\n ...state.rowState,\n [rowId]: {\n ...oldRowState,\n cellState: {\n ...(oldRowState.cellState || {}),\n [columnId]: functionalUpdate(value, oldCellState),\n },\n },\n },\n }\n }\n}\n\nfunction useInstance(instance) {\n const { autoResetRowState = true, data, dispatch } = instance\n\n const setRowState = React.useCallback(\n (rowId, value) =>\n dispatch({\n type: actions.setRowState,\n rowId,\n value,\n }),\n [dispatch]\n )\n\n const setCellState = React.useCallback(\n (rowId, columnId, value) =>\n dispatch({\n type: actions.setCellState,\n rowId,\n columnId,\n value,\n }),\n [dispatch]\n )\n\n const getAutoResetRowState = useGetLatest(autoResetRowState)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetRowState()) {\n dispatch({ type: actions.resetRowState })\n }\n }, [data])\n\n Object.assign(instance, {\n setRowState,\n setCellState,\n })\n}\n\nfunction prepareRow(row, { instance }) {\n const {\n initialRowStateAccessor = defaultInitialRowStateAccessor,\n initialCellStateAccessor = defaultInitialCellStateAccessor,\n state: { rowState },\n } = instance\n\n if (row) {\n row.state =\n typeof rowState[row.id] !== 'undefined'\n ? rowState[row.id]\n : initialRowStateAccessor(row)\n\n row.setState = updater => {\n return instance.setRowState(row.id, updater)\n }\n\n row.cells.forEach(cell => {\n if (!row.state.cellState) {\n row.state.cellState = {}\n }\n\n cell.state =\n typeof row.state.cellState[cell.column.id] !== 'undefined'\n ? row.state.cellState[cell.column.id]\n : initialCellStateAccessor(cell)\n\n cell.setState = updater => {\n return instance.setCellState(row.id, cell.column.id, updater)\n }\n })\n }\n}\n","import React from 'react'\n\nimport { functionalUpdate, actions } from '../publicUtils'\n\n// Actions\nactions.resetColumnOrder = 'resetColumnOrder'\nactions.setColumnOrder = 'setColumnOrder'\n\nexport const useColumnOrder = hooks => {\n hooks.stateReducers.push(reducer)\n hooks.visibleColumnsDeps.push((deps, { instance }) => {\n return [...deps, instance.state.columnOrder]\n })\n hooks.visibleColumns.push(visibleColumns)\n hooks.useInstance.push(useInstance)\n}\n\nuseColumnOrder.pluginName = 'useColumnOrder'\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n columnOrder: [],\n ...state,\n }\n }\n\n if (action.type === actions.resetColumnOrder) {\n return {\n ...state,\n columnOrder: instance.initialState.columnOrder || [],\n }\n }\n\n if (action.type === actions.setColumnOrder) {\n return {\n ...state,\n columnOrder: functionalUpdate(action.columnOrder, state.columnOrder),\n }\n }\n}\n\nfunction visibleColumns(\n columns,\n {\n instance: {\n state: { columnOrder },\n },\n }\n) {\n // If there is no order, return the normal columns\n if (!columnOrder || !columnOrder.length) {\n return columns\n }\n\n const columnOrderCopy = [...columnOrder]\n\n // If there is an order, make a copy of the columns\n const columnsCopy = [...columns]\n\n // And make a new ordered array of the columns\n const columnsInOrder = []\n\n // Loop over the columns and place them in order into the new array\n while (columnsCopy.length && columnOrderCopy.length) {\n const targetColumnId = columnOrderCopy.shift()\n const foundIndex = columnsCopy.findIndex(d => d.id === targetColumnId)\n if (foundIndex > -1) {\n columnsInOrder.push(columnsCopy.splice(foundIndex, 1)[0])\n }\n }\n\n // If there are any columns left, add them to the end\n return [...columnsInOrder, ...columnsCopy]\n}\n\nfunction useInstance(instance) {\n const { dispatch } = instance\n\n instance.setColumnOrder = React.useCallback(\n columnOrder => {\n return dispatch({ type: actions.setColumnOrder, columnOrder })\n },\n [dispatch]\n )\n}\n","import React from 'react'\n\nimport {\n actions,\n defaultColumn,\n makePropGetter,\n useGetLatest,\n ensurePluginOrder,\n useMountedLayoutEffect,\n} from '../publicUtils'\n\nimport { getFirstDefined, passiveEventSupported } from '../utils'\n\n// Default Column\ndefaultColumn.canResize = true\n\n// Actions\nactions.columnStartResizing = 'columnStartResizing'\nactions.columnResizing = 'columnResizing'\nactions.columnDoneResizing = 'columnDoneResizing'\nactions.resetResize = 'resetResize'\n\nexport const useResizeColumns = hooks => {\n hooks.getResizerProps = [defaultGetResizerProps]\n hooks.getHeaderProps.push({\n style: {\n position: 'relative',\n },\n })\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n hooks.useInstanceBeforeDimensions.push(useInstanceBeforeDimensions)\n}\n\nconst defaultGetResizerProps = (props, { instance, header }) => {\n const { dispatch } = instance\n\n const onResizeStart = (e, header) => {\n let isTouchEvent = false\n if (e.type === 'touchstart') {\n // lets not respond to multiple touches (e.g. 2 or 3 fingers)\n if (e.touches && e.touches.length > 1) {\n return\n }\n isTouchEvent = true\n }\n const headersToResize = getLeafHeaders(header)\n const headerIdWidths = headersToResize.map(d => [d.id, d.totalWidth])\n\n const clientX = isTouchEvent ? Math.round(e.touches[0].clientX) : e.clientX\n\n let raf\n let mostRecentClientX\n\n const dispatchEnd = () => {\n window.cancelAnimationFrame(raf)\n raf = null\n dispatch({ type: actions.columnDoneResizing })\n }\n const dispatchMove = () => {\n window.cancelAnimationFrame(raf)\n raf = null\n dispatch({ type: actions.columnResizing, clientX: mostRecentClientX })\n }\n\n const scheduleDispatchMoveOnNextAnimationFrame = clientXPos => {\n mostRecentClientX = clientXPos\n if (!raf) {\n raf = window.requestAnimationFrame(dispatchMove)\n }\n }\n\n const handlersAndEvents = {\n mouse: {\n moveEvent: 'mousemove',\n moveHandler: e => scheduleDispatchMoveOnNextAnimationFrame(e.clientX),\n upEvent: 'mouseup',\n upHandler: e => {\n document.removeEventListener(\n 'mousemove',\n handlersAndEvents.mouse.moveHandler\n )\n document.removeEventListener(\n 'mouseup',\n handlersAndEvents.mouse.upHandler\n )\n dispatchEnd()\n },\n },\n touch: {\n moveEvent: 'touchmove',\n moveHandler: e => {\n if (e.cancelable) {\n e.preventDefault()\n e.stopPropagation()\n }\n scheduleDispatchMoveOnNextAnimationFrame(e.touches[0].clientX)\n return false\n },\n upEvent: 'touchend',\n upHandler: e => {\n document.removeEventListener(\n handlersAndEvents.touch.moveEvent,\n handlersAndEvents.touch.moveHandler\n )\n document.removeEventListener(\n handlersAndEvents.touch.upEvent,\n handlersAndEvents.touch.moveHandler\n )\n dispatchEnd()\n },\n },\n }\n\n const events = isTouchEvent\n ? handlersAndEvents.touch\n : handlersAndEvents.mouse\n const passiveIfSupported = passiveEventSupported()\n ? { passive: false }\n : false\n document.addEventListener(\n events.moveEvent,\n events.moveHandler,\n passiveIfSupported\n )\n document.addEventListener(\n events.upEvent,\n events.upHandler,\n passiveIfSupported\n )\n\n dispatch({\n type: actions.columnStartResizing,\n columnId: header.id,\n columnWidth: header.totalWidth,\n headerIdWidths,\n clientX,\n })\n }\n\n return [\n props,\n {\n onMouseDown: e => e.persist() || onResizeStart(e, header),\n onTouchStart: e => e.persist() || onResizeStart(e, header),\n style: {\n cursor: 'col-resize',\n },\n draggable: false,\n role: 'separator',\n },\n ]\n}\n\nuseResizeColumns.pluginName = 'useResizeColumns'\n\nfunction reducer(state, action) {\n if (action.type === actions.init) {\n return {\n columnResizing: {\n columnWidths: {},\n },\n ...state,\n }\n }\n\n if (action.type === actions.resetResize) {\n return {\n ...state,\n columnResizing: {\n columnWidths: {},\n },\n }\n }\n\n if (action.type === actions.columnStartResizing) {\n const { clientX, columnId, columnWidth, headerIdWidths } = action\n\n return {\n ...state,\n columnResizing: {\n ...state.columnResizing,\n startX: clientX,\n headerIdWidths,\n columnWidth,\n isResizingColumn: columnId,\n },\n }\n }\n\n if (action.type === actions.columnResizing) {\n const { clientX } = action\n const { startX, columnWidth, headerIdWidths = [] } = state.columnResizing\n\n const deltaX = clientX - startX\n const percentageDeltaX = deltaX / columnWidth\n\n const newColumnWidths = {}\n\n headerIdWidths.forEach(([headerId, headerWidth]) => {\n newColumnWidths[headerId] = Math.max(\n headerWidth + headerWidth * percentageDeltaX,\n 0\n )\n })\n\n return {\n ...state,\n columnResizing: {\n ...state.columnResizing,\n columnWidths: {\n ...state.columnResizing.columnWidths,\n ...newColumnWidths,\n },\n },\n }\n }\n\n if (action.type === actions.columnDoneResizing) {\n return {\n ...state,\n columnResizing: {\n ...state.columnResizing,\n startX: null,\n isResizingColumn: null,\n },\n }\n }\n}\n\nconst useInstanceBeforeDimensions = instance => {\n const {\n flatHeaders,\n disableResizing,\n getHooks,\n state: { columnResizing },\n } = instance\n\n const getInstance = useGetLatest(instance)\n\n flatHeaders.forEach(header => {\n const canResize = getFirstDefined(\n header.disableResizing === true ? false : undefined,\n disableResizing === true ? false : undefined,\n true\n )\n\n header.canResize = canResize\n header.width =\n columnResizing.columnWidths[header.id] ||\n header.originalWidth ||\n header.width\n header.isResizing = columnResizing.isResizingColumn === header.id\n\n if (canResize) {\n header.getResizerProps = makePropGetter(getHooks().getResizerProps, {\n instance: getInstance(),\n header,\n })\n }\n })\n}\n\nfunction useInstance(instance) {\n const { plugins, dispatch, autoResetResize = true, columns } = instance\n\n ensurePluginOrder(plugins, ['useAbsoluteLayout'], 'useResizeColumns')\n\n const getAutoResetResize = useGetLatest(autoResetResize)\n useMountedLayoutEffect(() => {\n if (getAutoResetResize()) {\n dispatch({ type: actions.resetResize })\n }\n }, [columns])\n\n const resetResizing = React.useCallback(\n () => dispatch({ type: actions.resetResize }),\n [dispatch]\n )\n\n Object.assign(instance, {\n resetResizing,\n })\n}\n\nfunction getLeafHeaders(header) {\n const leafHeaders = []\n const recurseHeader = header => {\n if (header.columns && header.columns.length) {\n header.columns.map(recurseHeader)\n }\n leafHeaders.push(header)\n }\n recurseHeader(header)\n return leafHeaders\n}\n","const cellStyles = {\n position: 'absolute',\n top: 0,\n}\n\nexport const useAbsoluteLayout = hooks => {\n hooks.getTableBodyProps.push(getRowStyles)\n hooks.getRowProps.push(getRowStyles)\n hooks.getHeaderGroupProps.push(getRowStyles)\n hooks.getFooterGroupProps.push(getRowStyles)\n\n hooks.getHeaderProps.push((props, { column }) => [\n props,\n {\n style: {\n ...cellStyles,\n left: `${column.totalLeft}px`,\n width: `${column.totalWidth}px`,\n },\n },\n ])\n\n hooks.getCellProps.push((props, { cell }) => [\n props,\n {\n style: {\n ...cellStyles,\n left: `${cell.column.totalLeft}px`,\n width: `${cell.column.totalWidth}px`,\n },\n },\n ])\n\n hooks.getFooterProps.push((props, { column }) => [\n props,\n {\n style: {\n ...cellStyles,\n left: `${column.totalLeft}px`,\n width: `${column.totalWidth}px`,\n },\n },\n ])\n}\n\nuseAbsoluteLayout.pluginName = 'useAbsoluteLayout'\n\nconst getRowStyles = (props, { instance }) => [\n props,\n {\n style: {\n position: 'relative',\n width: `${instance.totalColumnsWidth}px`,\n },\n },\n]\n","const cellStyles = {\n display: 'inline-block',\n boxSizing: 'border-box',\n}\n\nconst getRowStyles = (props, { instance }) => [\n props,\n {\n style: {\n display: 'flex',\n width: `${instance.totalColumnsWidth}px`,\n },\n },\n]\n\nexport const useBlockLayout = hooks => {\n hooks.getRowProps.push(getRowStyles)\n hooks.getHeaderGroupProps.push(getRowStyles)\n hooks.getFooterGroupProps.push(getRowStyles)\n\n hooks.getHeaderProps.push((props, { column }) => [\n props,\n {\n style: {\n ...cellStyles,\n width: `${column.totalWidth}px`,\n },\n },\n ])\n\n hooks.getCellProps.push((props, { cell }) => [\n props,\n {\n style: {\n ...cellStyles,\n width: `${cell.column.totalWidth}px`,\n },\n },\n ])\n\n hooks.getFooterProps.push((props, { column }) => [\n props,\n {\n style: {\n ...cellStyles,\n width: `${column.totalWidth}px`,\n },\n },\n ])\n}\n\nuseBlockLayout.pluginName = 'useBlockLayout'\n","export function useFlexLayout(hooks) {\n hooks.getTableProps.push(getTableProps)\n hooks.getRowProps.push(getRowStyles)\n hooks.getHeaderGroupProps.push(getRowStyles)\n hooks.getFooterGroupProps.push(getRowStyles)\n hooks.getHeaderProps.push(getHeaderProps)\n hooks.getCellProps.push(getCellProps)\n hooks.getFooterProps.push(getFooterProps)\n}\n\nuseFlexLayout.pluginName = 'useFlexLayout'\n\nconst getTableProps = (props, { instance }) => [\n props,\n {\n style: {\n minWidth: `${instance.totalColumnsMinWidth}px`,\n },\n },\n]\n\nconst getRowStyles = (props, { instance }) => [\n props,\n {\n style: {\n display: 'flex',\n flex: '1 0 auto',\n minWidth: `${instance.totalColumnsMinWidth}px`,\n },\n },\n]\n\nconst getHeaderProps = (props, { column }) => [\n props,\n {\n style: {\n boxSizing: 'border-box',\n flex: column.totalFlexWidth\n ? `${column.totalFlexWidth} 0 auto`\n : undefined,\n minWidth: `${column.totalMinWidth}px`,\n width: `${column.totalWidth}px`,\n },\n },\n]\n\nconst getCellProps = (props, { cell }) => [\n props,\n {\n style: {\n boxSizing: 'border-box',\n flex: `${cell.column.totalFlexWidth} 0 auto`,\n minWidth: `${cell.column.totalMinWidth}px`,\n width: `${cell.column.totalWidth}px`,\n },\n },\n]\n\nconst getFooterProps = (props, { column }) => [\n props,\n {\n style: {\n boxSizing: 'border-box',\n flex: column.totalFlexWidth\n ? `${column.totalFlexWidth} 0 auto`\n : undefined,\n minWidth: `${column.totalMinWidth}px`,\n width: `${column.totalWidth}px`,\n },\n },\n]\n","import { actions } from '../publicUtils'\n\n// Actions\nactions.columnStartResizing = 'columnStartResizing'\nactions.columnResizing = 'columnResizing'\nactions.columnDoneResizing = 'columnDoneResizing'\nactions.resetResize = 'resetResize'\n\nexport function useGridLayout(hooks) {\n hooks.stateReducers.push(reducer)\n hooks.getTableProps.push(getTableProps)\n hooks.getHeaderProps.push(getHeaderProps)\n hooks.getRowProps.push(getRowProps)\n}\n\nuseGridLayout.pluginName = 'useGridLayout'\n\nconst getTableProps = (props, { instance }) => {\n const gridTemplateColumns = instance.visibleColumns.map(column => {\n if (instance.state.gridLayout.columnWidths[column.id])\n return `${instance.state.gridLayout.columnWidths[column.id]}px`\n // When resizing, lock the width of all unset columns\n // instead of using user-provided width or defaultColumn width,\n // which could potentially be 'auto' or 'fr' units that don't scale linearly\n if (instance.state.columnResizing?.isResizingColumn)\n return `${instance.state.gridLayout.startWidths[column.id]}px`\n if (typeof column.width === 'number') return `${column.width}px`\n return column.width\n })\n return [\n props,\n {\n style: {\n display: `grid`,\n gridTemplateColumns: gridTemplateColumns.join(` `),\n },\n },\n ]\n}\n\nconst getHeaderProps = (props, { column }) => [\n props,\n {\n id: `header-cell-${column.id}`,\n style: {\n position: `sticky`, //enables a scroll wrapper to be placed around the table and have sticky headers\n gridColumn: `span ${column.totalVisibleHeaderCount}`,\n },\n },\n]\n\nconst getRowProps = (props, { row }) => {\n if (row.isExpanded) {\n return [\n props,\n {\n style: {\n gridColumn: `1 / ${row.cells.length + 1}`,\n },\n },\n ]\n }\n return [props, {}]\n}\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n gridLayout: {\n columnWidths: {},\n },\n ...state,\n }\n }\n\n if (action.type === actions.resetResize) {\n return {\n ...state,\n gridLayout: {\n columnWidths: {},\n },\n }\n }\n\n if (action.type === actions.columnStartResizing) {\n const { columnId, headerIdWidths } = action\n const columnWidth = getElementWidth(columnId)\n\n if (columnWidth !== undefined) {\n const startWidths = instance.visibleColumns.reduce(\n (acc, column) => ({\n ...acc,\n [column.id]: getElementWidth(column.id),\n }),\n {}\n )\n const minWidths = instance.visibleColumns.reduce(\n (acc, column) => ({\n ...acc,\n [column.id]: column.minWidth,\n }),\n {}\n )\n const maxWidths = instance.visibleColumns.reduce(\n (acc, column) => ({\n ...acc,\n [column.id]: column.maxWidth,\n }),\n {}\n )\n\n const headerIdGridWidths = headerIdWidths.map(([headerId]) => [\n headerId,\n getElementWidth(headerId),\n ])\n\n return {\n ...state,\n gridLayout: {\n ...state.gridLayout,\n startWidths,\n minWidths,\n maxWidths,\n headerIdGridWidths,\n columnWidth,\n },\n }\n } else {\n return state\n }\n }\n\n if (action.type === actions.columnResizing) {\n const { clientX } = action\n const { startX } = state.columnResizing\n const {\n columnWidth,\n minWidths,\n maxWidths,\n headerIdGridWidths = [],\n } = state.gridLayout\n\n const deltaX = clientX - startX\n const percentageDeltaX = deltaX / columnWidth\n\n const newColumnWidths = {}\n\n headerIdGridWidths.forEach(([headerId, headerWidth]) => {\n newColumnWidths[headerId] = Math.min(\n Math.max(\n minWidths[headerId],\n headerWidth + headerWidth * percentageDeltaX\n ),\n maxWidths[headerId]\n )\n })\n\n return {\n ...state,\n gridLayout: {\n ...state.gridLayout,\n columnWidths: {\n ...state.gridLayout.columnWidths,\n ...newColumnWidths,\n },\n },\n }\n }\n\n if (action.type === actions.columnDoneResizing) {\n return {\n ...state,\n gridLayout: {\n ...state.gridLayout,\n startWidths: {},\n minWidths: {},\n maxWidths: {},\n },\n }\n }\n}\n\nfunction getElementWidth(columnId) {\n const width = document.getElementById(`header-cell-${columnId}`)?.offsetWidth\n\n if (width !== undefined) {\n return width\n }\n}\n","if (process.env.NODE_ENV === 'production') {\n module.exports = require('./dist/react-table.production.min.js')\n} else {\n module.exports = require('./dist/react-table.development.js')\n}\n","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1>>1,e=a[d];if(0>>1;dg(C,c))ng(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(ng(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","//\n\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (ret !== void 0) {\n return !!ret;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\n // Test for A's keys different from B.\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (ret === false || (ret === void 0 && valueA !== valueB)) {\n return false;\n }\n }\n\n return true;\n};\n","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw new Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n var F = function F() {};\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return possibleConstructorReturn(this, result);\n };\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import superPropBase from \"./superPropBase.js\";\nexport default function _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get.bind();\n } else {\n _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n return desc.value;\n };\n }\n return _get.apply(this, arguments);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nexport default function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n return object;\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","import _typeof from \"./typeof.js\";\nexport default function _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n _regeneratorRuntime = function _regeneratorRuntime() {\n return e;\n };\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw new Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"static/js/\" + chunkId + \".\" + {\"513\":\"1a7cda2c\",\"703\":\"bb7b2ef7\"}[chunkId] + \".chunk.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"frontendapp:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t179: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkfrontendapp\"] = self[\"webpackChunkfrontendapp\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct.bind();\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n return _construct.apply(null, arguments);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","////////////////////////////////////////////////////////////////////////////////\n//#region Types and Constants\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Actions represent the type of change to a location value.\n */\nexport enum Action {\n /**\n * A POP indicates a change to an arbitrary index in the history stack, such\n * as a back or forward navigation. It does not describe the direction of the\n * navigation, only that the current index changed.\n *\n * Note: This is the default action for newly created history objects.\n */\n Pop = \"POP\",\n\n /**\n * A PUSH indicates a new entry being added to the history stack, such as when\n * a link is clicked and a new page loads. When this happens, all subsequent\n * entries in the stack are lost.\n */\n Push = \"PUSH\",\n\n /**\n * A REPLACE indicates the entry at the current index in the history stack\n * being replaced by a new one.\n */\n Replace = \"REPLACE\",\n}\n\n/**\n * The pathname, search, and hash values of a URL.\n */\nexport interface Path {\n /**\n * A URL pathname, beginning with a /.\n */\n pathname: string;\n\n /**\n * A URL search string, beginning with a ?.\n */\n search: string;\n\n /**\n * A URL fragment identifier, beginning with a #.\n */\n hash: string;\n}\n\n// TODO: (v7) Change the Location generic default from `any` to `unknown` and\n// remove Remix `useLocation` wrapper.\n\n/**\n * An entry in a history stack. A location contains information about the\n * URL path, as well as possibly some arbitrary state and a key.\n */\nexport interface Location extends Path {\n /**\n * A value of arbitrary data associated with this location.\n */\n state: State;\n\n /**\n * A unique string associated with this location. May be used to safely store\n * and retrieve data in some other storage API, like `localStorage`.\n *\n * Note: This value is always \"default\" on the initial location.\n */\n key: string;\n}\n\n/**\n * A change to the current location.\n */\nexport interface Update {\n /**\n * The action that triggered the change.\n */\n action: Action;\n\n /**\n * The new location.\n */\n location: Location;\n\n /**\n * The delta between this location and the former location in the history stack\n */\n delta: number | null;\n}\n\n/**\n * A function that receives notifications about location changes.\n */\nexport interface Listener {\n (update: Update): void;\n}\n\n/**\n * Describes a location that is the destination of some navigation, either via\n * `history.push` or `history.replace`. This may be either a URL or the pieces\n * of a URL path.\n */\nexport type To = string | Partial;\n\n/**\n * A history is an interface to the navigation stack. The history serves as the\n * source of truth for the current location, as well as provides a set of\n * methods that may be used to change it.\n *\n * It is similar to the DOM's `window.history` object, but with a smaller, more\n * focused API.\n */\nexport interface History {\n /**\n * The last action that modified the current location. This will always be\n * Action.Pop when a history instance is first created. This value is mutable.\n */\n readonly action: Action;\n\n /**\n * The current location. This value is mutable.\n */\n readonly location: Location;\n\n /**\n * Returns a valid href for the given `to` value that may be used as\n * the value of an attribute.\n *\n * @param to - The destination URL\n */\n createHref(to: To): string;\n\n /**\n * Returns a URL for the given `to` value\n *\n * @param to - The destination URL\n */\n createURL(to: To): URL;\n\n /**\n * Encode a location the same way window.history would do (no-op for memory\n * history) so we ensure our PUSH/REPLACE navigations for data routers\n * behave the same as POP\n *\n * @param to Unencoded path\n */\n encodeLocation(to: To): Path;\n\n /**\n * Pushes a new location onto the history stack, increasing its length by one.\n * If there were any entries in the stack after the current one, they are\n * lost.\n *\n * @param to - The new URL\n * @param state - Data to associate with the new location\n */\n push(to: To, state?: any): void;\n\n /**\n * Replaces the current location in the history stack with a new one. The\n * location that was replaced will no longer be available.\n *\n * @param to - The new URL\n * @param state - Data to associate with the new location\n */\n replace(to: To, state?: any): void;\n\n /**\n * Navigates `n` entries backward/forward in the history stack relative to the\n * current index. For example, a \"back\" navigation would use go(-1).\n *\n * @param delta - The delta in the stack index\n */\n go(delta: number): void;\n\n /**\n * Sets up a listener that will be called whenever the current location\n * changes.\n *\n * @param listener - A function that will be called when the location changes\n * @returns unlisten - A function that may be used to stop listening\n */\n listen(listener: Listener): () => void;\n}\n\ntype HistoryState = {\n usr: any;\n key?: string;\n idx: number;\n};\n\nconst PopStateEventType = \"popstate\";\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Memory History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A user-supplied object that describes a location. Used when providing\n * entries to `createMemoryHistory` via its `initialEntries` option.\n */\nexport type InitialEntry = string | Partial;\n\nexport type MemoryHistoryOptions = {\n initialEntries?: InitialEntry[];\n initialIndex?: number;\n v5Compat?: boolean;\n};\n\n/**\n * A memory history stores locations in memory. This is useful in stateful\n * environments where there is no web browser, such as node tests or React\n * Native.\n */\nexport interface MemoryHistory extends History {\n /**\n * The current index in the history stack.\n */\n readonly index: number;\n}\n\n/**\n * Memory history stores the current location in memory. It is designed for use\n * in stateful non-browser environments like tests and React Native.\n */\nexport function createMemoryHistory(\n options: MemoryHistoryOptions = {}\n): MemoryHistory {\n let { initialEntries = [\"/\"], initialIndex, v5Compat = false } = options;\n let entries: Location[]; // Declare so we can access from createMemoryLocation\n entries = initialEntries.map((entry, index) =>\n createMemoryLocation(\n entry,\n typeof entry === \"string\" ? null : entry.state,\n index === 0 ? \"default\" : undefined\n )\n );\n let index = clampIndex(\n initialIndex == null ? entries.length - 1 : initialIndex\n );\n let action = Action.Pop;\n let listener: Listener | null = null;\n\n function clampIndex(n: number): number {\n return Math.min(Math.max(n, 0), entries.length - 1);\n }\n function getCurrentLocation(): Location {\n return entries[index];\n }\n function createMemoryLocation(\n to: To,\n state: any = null,\n key?: string\n ): Location {\n let location = createLocation(\n entries ? getCurrentLocation().pathname : \"/\",\n to,\n state,\n key\n );\n warning(\n location.pathname.charAt(0) === \"/\",\n `relative pathnames are not supported in memory history: ${JSON.stringify(\n to\n )}`\n );\n return location;\n }\n\n function createHref(to: To) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n\n let history: MemoryHistory = {\n get index() {\n return index;\n },\n get action() {\n return action;\n },\n get location() {\n return getCurrentLocation();\n },\n createHref,\n createURL(to) {\n return new URL(createHref(to), \"http://localhost\");\n },\n encodeLocation(to: To) {\n let path = typeof to === \"string\" ? parsePath(to) : to;\n return {\n pathname: path.pathname || \"\",\n search: path.search || \"\",\n hash: path.hash || \"\",\n };\n },\n push(to, state) {\n action = Action.Push;\n let nextLocation = createMemoryLocation(to, state);\n index += 1;\n entries.splice(index, entries.length, nextLocation);\n if (v5Compat && listener) {\n listener({ action, location: nextLocation, delta: 1 });\n }\n },\n replace(to, state) {\n action = Action.Replace;\n let nextLocation = createMemoryLocation(to, state);\n entries[index] = nextLocation;\n if (v5Compat && listener) {\n listener({ action, location: nextLocation, delta: 0 });\n }\n },\n go(delta) {\n action = Action.Pop;\n let nextIndex = clampIndex(index + delta);\n let nextLocation = entries[nextIndex];\n index = nextIndex;\n if (listener) {\n listener({ action, location: nextLocation, delta });\n }\n },\n listen(fn: Listener) {\n listener = fn;\n return () => {\n listener = null;\n };\n },\n };\n\n return history;\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Browser History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A browser history stores the current location in regular URLs in a web\n * browser environment. This is the standard for most web apps and provides the\n * cleanest URLs the browser's address bar.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#browserhistory\n */\nexport interface BrowserHistory extends UrlHistory {}\n\nexport type BrowserHistoryOptions = UrlHistoryOptions;\n\n/**\n * Browser history stores the location in regular URLs. This is the standard for\n * most web apps, but it requires some configuration on the server to ensure you\n * serve the same app at multiple URLs.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createbrowserhistory\n */\nexport function createBrowserHistory(\n options: BrowserHistoryOptions = {}\n): BrowserHistory {\n function createBrowserLocation(\n window: Window,\n globalHistory: Window[\"history\"]\n ) {\n let { pathname, search, hash } = window.location;\n return createLocation(\n \"\",\n { pathname, search, hash },\n // state defaults to `null` because `window.history.state` does\n (globalHistory.state && globalHistory.state.usr) || null,\n (globalHistory.state && globalHistory.state.key) || \"default\"\n );\n }\n\n function createBrowserHref(window: Window, to: To) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n\n return getUrlBasedHistory(\n createBrowserLocation,\n createBrowserHref,\n null,\n options\n );\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Hash History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A hash history stores the current location in the fragment identifier portion\n * of the URL in a web browser environment.\n *\n * This is ideal for apps that do not control the server for some reason\n * (because the fragment identifier is never sent to the server), including some\n * shared hosting environments that do not provide fine-grained controls over\n * which pages are served at which URLs.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#hashhistory\n */\nexport interface HashHistory extends UrlHistory {}\n\nexport type HashHistoryOptions = UrlHistoryOptions;\n\n/**\n * Hash history stores the location in window.location.hash. This makes it ideal\n * for situations where you don't want to send the location to the server for\n * some reason, either because you do cannot configure it or the URL space is\n * reserved for something else.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createhashhistory\n */\nexport function createHashHistory(\n options: HashHistoryOptions = {}\n): HashHistory {\n function createHashLocation(\n window: Window,\n globalHistory: Window[\"history\"]\n ) {\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n } = parsePath(window.location.hash.substr(1));\n\n // Hash URL should always have a leading / just like window.location.pathname\n // does, so if an app ends up at a route like /#something then we add a\n // leading slash so all of our path-matching behaves the same as if it would\n // in a browser router. This is particularly important when there exists a\n // root splat route () since that matches internally against\n // \"/*\" and we'd expect /#something to 404 in a hash router app.\n if (!pathname.startsWith(\"/\") && !pathname.startsWith(\".\")) {\n pathname = \"/\" + pathname;\n }\n\n return createLocation(\n \"\",\n { pathname, search, hash },\n // state defaults to `null` because `window.history.state` does\n (globalHistory.state && globalHistory.state.usr) || null,\n (globalHistory.state && globalHistory.state.key) || \"default\"\n );\n }\n\n function createHashHref(window: Window, to: To) {\n let base = window.document.querySelector(\"base\");\n let href = \"\";\n\n if (base && base.getAttribute(\"href\")) {\n let url = window.location.href;\n let hashIndex = url.indexOf(\"#\");\n href = hashIndex === -1 ? url : url.slice(0, hashIndex);\n }\n\n return href + \"#\" + (typeof to === \"string\" ? to : createPath(to));\n }\n\n function validateHashLocation(location: Location, to: To) {\n warning(\n location.pathname.charAt(0) === \"/\",\n `relative pathnames are not supported in hash history.push(${JSON.stringify(\n to\n )})`\n );\n }\n\n return getUrlBasedHistory(\n createHashLocation,\n createHashHref,\n validateHashLocation,\n options\n );\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region UTILS\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * @private\n */\nexport function invariant(value: boolean, message?: string): asserts value;\nexport function invariant(\n value: T | null | undefined,\n message?: string\n): asserts value is T;\nexport function invariant(value: any, message?: string) {\n if (value === false || value === null || typeof value === \"undefined\") {\n throw new Error(message);\n }\n}\n\nexport function warning(cond: any, message: string) {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging history!\n //\n // This error is thrown as a convenience, so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\nfunction createKey() {\n return Math.random().toString(36).substr(2, 8);\n}\n\n/**\n * For browser-based histories, we combine the state and key into an object\n */\nfunction getHistoryState(location: Location, index: number): HistoryState {\n return {\n usr: location.state,\n key: location.key,\n idx: index,\n };\n}\n\n/**\n * Creates a Location object with a unique key from the given Path\n */\nexport function createLocation(\n current: string | Location,\n to: To,\n state: any = null,\n key?: string\n): Readonly {\n let location: Readonly = {\n pathname: typeof current === \"string\" ? current : current.pathname,\n search: \"\",\n hash: \"\",\n ...(typeof to === \"string\" ? parsePath(to) : to),\n state,\n // TODO: This could be cleaned up. push/replace should probably just take\n // full Locations now and avoid the need to run through this flow at all\n // But that's a pretty big refactor to the current test suite so going to\n // keep as is for the time being and just let any incoming keys take precedence\n key: (to && (to as Location).key) || key || createKey(),\n };\n return location;\n}\n\n/**\n * Creates a string URL path from the given pathname, search, and hash components.\n */\nexport function createPath({\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n}: Partial) {\n if (search && search !== \"?\")\n pathname += search.charAt(0) === \"?\" ? search : \"?\" + search;\n if (hash && hash !== \"#\")\n pathname += hash.charAt(0) === \"#\" ? hash : \"#\" + hash;\n return pathname;\n}\n\n/**\n * Parses a string URL path into its separate pathname, search, and hash components.\n */\nexport function parsePath(path: string): Partial {\n let parsedPath: Partial = {};\n\n if (path) {\n let hashIndex = path.indexOf(\"#\");\n if (hashIndex >= 0) {\n parsedPath.hash = path.substr(hashIndex);\n path = path.substr(0, hashIndex);\n }\n\n let searchIndex = path.indexOf(\"?\");\n if (searchIndex >= 0) {\n parsedPath.search = path.substr(searchIndex);\n path = path.substr(0, searchIndex);\n }\n\n if (path) {\n parsedPath.pathname = path;\n }\n }\n\n return parsedPath;\n}\n\nexport interface UrlHistory extends History {}\n\nexport type UrlHistoryOptions = {\n window?: Window;\n v5Compat?: boolean;\n};\n\nfunction getUrlBasedHistory(\n getLocation: (window: Window, globalHistory: Window[\"history\"]) => Location,\n createHref: (window: Window, to: To) => string,\n validateLocation: ((location: Location, to: To) => void) | null,\n options: UrlHistoryOptions = {}\n): UrlHistory {\n let { window = document.defaultView!, v5Compat = false } = options;\n let globalHistory = window.history;\n let action = Action.Pop;\n let listener: Listener | null = null;\n\n let index = getIndex()!;\n // Index should only be null when we initialize. If not, it's because the\n // user called history.pushState or history.replaceState directly, in which\n // case we should log a warning as it will result in bugs.\n if (index == null) {\n index = 0;\n globalHistory.replaceState({ ...globalHistory.state, idx: index }, \"\");\n }\n\n function getIndex(): number {\n let state = globalHistory.state || { idx: null };\n return state.idx;\n }\n\n function handlePop() {\n action = Action.Pop;\n let nextIndex = getIndex();\n let delta = nextIndex == null ? null : nextIndex - index;\n index = nextIndex;\n if (listener) {\n listener({ action, location: history.location, delta });\n }\n }\n\n function push(to: To, state?: any) {\n action = Action.Push;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n\n index = getIndex() + 1;\n let historyState = getHistoryState(location, index);\n let url = history.createHref(location);\n\n // try...catch because iOS limits us to 100 pushState calls :/\n try {\n globalHistory.pushState(historyState, \"\", url);\n } catch (error) {\n // If the exception is because `state` can't be serialized, let that throw\n // outwards just like a replace call would so the dev knows the cause\n // https://html.spec.whatwg.org/multipage/nav-history-apis.html#shared-history-push/replace-state-steps\n // https://html.spec.whatwg.org/multipage/structured-data.html#structuredserializeinternal\n if (error instanceof DOMException && error.name === \"DataCloneError\") {\n throw error;\n }\n // They are going to lose state here, but there is no real\n // way to warn them about it since the page will refresh...\n window.location.assign(url);\n }\n\n if (v5Compat && listener) {\n listener({ action, location: history.location, delta: 1 });\n }\n }\n\n function replace(to: To, state?: any) {\n action = Action.Replace;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n\n index = getIndex();\n let historyState = getHistoryState(location, index);\n let url = history.createHref(location);\n globalHistory.replaceState(historyState, \"\", url);\n\n if (v5Compat && listener) {\n listener({ action, location: history.location, delta: 0 });\n }\n }\n\n function createURL(to: To): URL {\n // window.location.origin is \"null\" (the literal string value) in Firefox\n // under certain conditions, notably when serving from a local HTML file\n // See https://bugzilla.mozilla.org/show_bug.cgi?id=878297\n let base =\n window.location.origin !== \"null\"\n ? window.location.origin\n : window.location.href;\n\n let href = typeof to === \"string\" ? to : createPath(to);\n invariant(\n base,\n `No window.location.(origin|href) available to create URL for href: ${href}`\n );\n return new URL(href, base);\n }\n\n let history: History = {\n get action() {\n return action;\n },\n get location() {\n return getLocation(window, globalHistory);\n },\n listen(fn: Listener) {\n if (listener) {\n throw new Error(\"A history only accepts one active listener\");\n }\n window.addEventListener(PopStateEventType, handlePop);\n listener = fn;\n\n return () => {\n window.removeEventListener(PopStateEventType, handlePop);\n listener = null;\n };\n },\n createHref(to) {\n return createHref(window, to);\n },\n createURL,\n encodeLocation(to) {\n // Encode a Location the same way window.location would\n let url = createURL(to);\n return {\n pathname: url.pathname,\n search: url.search,\n hash: url.hash,\n };\n },\n push,\n replace,\n go(n) {\n return globalHistory.go(n);\n },\n };\n\n return history;\n}\n\n//#endregion\n","import type { Location, Path, To } from \"./history\";\nimport { invariant, parsePath, warning } from \"./history\";\n\n/**\n * Map of routeId -> data returned from a loader/action/error\n */\nexport interface RouteData {\n [routeId: string]: any;\n}\n\nexport enum ResultType {\n data = \"data\",\n deferred = \"deferred\",\n redirect = \"redirect\",\n error = \"error\",\n}\n\n/**\n * Successful result from a loader or action\n */\nexport interface SuccessResult {\n type: ResultType.data;\n data: any;\n statusCode?: number;\n headers?: Headers;\n}\n\n/**\n * Successful defer() result from a loader or action\n */\nexport interface DeferredResult {\n type: ResultType.deferred;\n deferredData: DeferredData;\n statusCode?: number;\n headers?: Headers;\n}\n\n/**\n * Redirect result from a loader or action\n */\nexport interface RedirectResult {\n type: ResultType.redirect;\n status: number;\n location: string;\n revalidate: boolean;\n reloadDocument?: boolean;\n}\n\n/**\n * Unsuccessful result from a loader or action\n */\nexport interface ErrorResult {\n type: ResultType.error;\n error: any;\n headers?: Headers;\n}\n\n/**\n * Result from a loader or action - potentially successful or unsuccessful\n */\nexport type DataResult =\n | SuccessResult\n | DeferredResult\n | RedirectResult\n | ErrorResult;\n\ntype LowerCaseFormMethod = \"get\" | \"post\" | \"put\" | \"patch\" | \"delete\";\ntype UpperCaseFormMethod = Uppercase;\n\n/**\n * Users can specify either lowercase or uppercase form methods on
    ,\n * useSubmit(), , etc.\n */\nexport type HTMLFormMethod = LowerCaseFormMethod | UpperCaseFormMethod;\n\n/**\n * Active navigation/fetcher form methods are exposed in lowercase on the\n * RouterState\n */\nexport type FormMethod = LowerCaseFormMethod;\nexport type MutationFormMethod = Exclude;\n\n/**\n * In v7, active navigation/fetcher form methods are exposed in uppercase on the\n * RouterState. This is to align with the normalization done via fetch().\n */\nexport type V7_FormMethod = UpperCaseFormMethod;\nexport type V7_MutationFormMethod = Exclude;\n\nexport type FormEncType =\n | \"application/x-www-form-urlencoded\"\n | \"multipart/form-data\"\n | \"application/json\"\n | \"text/plain\";\n\n// Thanks https://github.com/sindresorhus/type-fest!\ntype JsonObject = { [Key in string]: JsonValue } & {\n [Key in string]?: JsonValue | undefined;\n};\ntype JsonArray = JsonValue[] | readonly JsonValue[];\ntype JsonPrimitive = string | number | boolean | null;\ntype JsonValue = JsonPrimitive | JsonObject | JsonArray;\n\n/**\n * @private\n * Internal interface to pass around for action submissions, not intended for\n * external consumption\n */\nexport type Submission =\n | {\n formMethod: FormMethod | V7_FormMethod;\n formAction: string;\n formEncType: FormEncType;\n formData: FormData;\n json: undefined;\n text: undefined;\n }\n | {\n formMethod: FormMethod | V7_FormMethod;\n formAction: string;\n formEncType: FormEncType;\n formData: undefined;\n json: JsonValue;\n text: undefined;\n }\n | {\n formMethod: FormMethod | V7_FormMethod;\n formAction: string;\n formEncType: FormEncType;\n formData: undefined;\n json: undefined;\n text: string;\n };\n\n/**\n * @private\n * Arguments passed to route loader/action functions. Same for now but we keep\n * this as a private implementation detail in case they diverge in the future.\n */\ninterface DataFunctionArgs {\n request: Request;\n params: Params;\n context?: Context;\n}\n\n// TODO: (v7) Change the defaults from any to unknown in and remove Remix wrappers:\n// ActionFunction, ActionFunctionArgs, LoaderFunction, LoaderFunctionArgs\n// Also, make them a type alias instead of an interface\n\n/**\n * Arguments passed to loader functions\n */\nexport interface LoaderFunctionArgs\n extends DataFunctionArgs {}\n\n/**\n * Arguments passed to action functions\n */\nexport interface ActionFunctionArgs\n extends DataFunctionArgs {}\n\n/**\n * Loaders and actions can return anything except `undefined` (`null` is a\n * valid return value if there is no data to return). Responses are preferred\n * and will ease any future migration to Remix\n */\ntype DataFunctionValue = Response | NonNullable | null;\n\n/**\n * Route loader function signature\n */\nexport interface LoaderFunction {\n (args: LoaderFunctionArgs):\n | Promise\n | DataFunctionValue;\n}\n\n/**\n * Route action function signature\n */\nexport interface ActionFunction {\n (args: ActionFunctionArgs):\n | Promise\n | DataFunctionValue;\n}\n\n/**\n * Arguments passed to shouldRevalidate function\n */\nexport interface ShouldRevalidateFunctionArgs {\n currentUrl: URL;\n currentParams: AgnosticDataRouteMatch[\"params\"];\n nextUrl: URL;\n nextParams: AgnosticDataRouteMatch[\"params\"];\n formMethod?: Submission[\"formMethod\"];\n formAction?: Submission[\"formAction\"];\n formEncType?: Submission[\"formEncType\"];\n text?: Submission[\"text\"];\n formData?: Submission[\"formData\"];\n json?: Submission[\"json\"];\n actionResult?: any;\n defaultShouldRevalidate: boolean;\n}\n\n/**\n * Route shouldRevalidate function signature. This runs after any submission\n * (navigation or fetcher), so we flatten the navigation/fetcher submission\n * onto the arguments. It shouldn't matter whether it came from a navigation\n * or a fetcher, what really matters is the URLs and the formData since loaders\n * have to re-run based on the data models that were potentially mutated.\n */\nexport interface ShouldRevalidateFunction {\n (args: ShouldRevalidateFunctionArgs): boolean;\n}\n\n/**\n * Function provided by the framework-aware layers to set `hasErrorBoundary`\n * from the framework-aware `errorElement` prop\n *\n * @deprecated Use `mapRouteProperties` instead\n */\nexport interface DetectErrorBoundaryFunction {\n (route: AgnosticRouteObject): boolean;\n}\n\n/**\n * Function provided by the framework-aware layers to set any framework-specific\n * properties from framework-agnostic properties\n */\nexport interface MapRoutePropertiesFunction {\n (route: AgnosticRouteObject): {\n hasErrorBoundary: boolean;\n } & Record;\n}\n\n/**\n * Keys we cannot change from within a lazy() function. We spread all other keys\n * onto the route. Either they're meaningful to the router, or they'll get\n * ignored.\n */\nexport type ImmutableRouteKey =\n | \"lazy\"\n | \"caseSensitive\"\n | \"path\"\n | \"id\"\n | \"index\"\n | \"children\";\n\nexport const immutableRouteKeys = new Set([\n \"lazy\",\n \"caseSensitive\",\n \"path\",\n \"id\",\n \"index\",\n \"children\",\n]);\n\ntype RequireOne = Exclude<\n {\n [K in keyof T]: K extends Key ? Omit & Required> : never;\n }[keyof T],\n undefined\n>;\n\n/**\n * lazy() function to load a route definition, which can add non-matching\n * related properties to a route\n */\nexport interface LazyRouteFunction {\n (): Promise>>;\n}\n\n/**\n * Base RouteObject with common props shared by all types of routes\n */\ntype AgnosticBaseRouteObject = {\n caseSensitive?: boolean;\n path?: string;\n id?: string;\n loader?: LoaderFunction;\n action?: ActionFunction;\n hasErrorBoundary?: boolean;\n shouldRevalidate?: ShouldRevalidateFunction;\n handle?: any;\n lazy?: LazyRouteFunction;\n};\n\n/**\n * Index routes must not have children\n */\nexport type AgnosticIndexRouteObject = AgnosticBaseRouteObject & {\n children?: undefined;\n index: true;\n};\n\n/**\n * Non-index routes may have children, but cannot have index\n */\nexport type AgnosticNonIndexRouteObject = AgnosticBaseRouteObject & {\n children?: AgnosticRouteObject[];\n index?: false;\n};\n\n/**\n * A route object represents a logical route, with (optionally) its child\n * routes organized in a tree-like structure.\n */\nexport type AgnosticRouteObject =\n | AgnosticIndexRouteObject\n | AgnosticNonIndexRouteObject;\n\nexport type AgnosticDataIndexRouteObject = AgnosticIndexRouteObject & {\n id: string;\n};\n\nexport type AgnosticDataNonIndexRouteObject = AgnosticNonIndexRouteObject & {\n children?: AgnosticDataRouteObject[];\n id: string;\n};\n\n/**\n * A data route object, which is just a RouteObject with a required unique ID\n */\nexport type AgnosticDataRouteObject =\n | AgnosticDataIndexRouteObject\n | AgnosticDataNonIndexRouteObject;\n\nexport type RouteManifest = Record;\n\n// Recursive helper for finding path parameters in the absence of wildcards\ntype _PathParam =\n // split path into individual path segments\n Path extends `${infer L}/${infer R}`\n ? _PathParam | _PathParam\n : // find params after `:`\n Path extends `:${infer Param}`\n ? Param extends `${infer Optional}?`\n ? Optional\n : Param\n : // otherwise, there aren't any params present\n never;\n\n/**\n * Examples:\n * \"/a/b/*\" -> \"*\"\n * \":a\" -> \"a\"\n * \"/a/:b\" -> \"b\"\n * \"/a/blahblahblah:b\" -> \"b\"\n * \"/:a/:b\" -> \"a\" | \"b\"\n * \"/:a/b/:c/*\" -> \"a\" | \"c\" | \"*\"\n */\ntype PathParam =\n // check if path is just a wildcard\n Path extends \"*\" | \"/*\"\n ? \"*\"\n : // look for wildcard at the end of the path\n Path extends `${infer Rest}/*`\n ? \"*\" | _PathParam\n : // look for params in the absence of wildcards\n _PathParam;\n\n// Attempt to parse the given string segment. If it fails, then just return the\n// plain string type as a default fallback. Otherwise, return the union of the\n// parsed string literals that were referenced as dynamic segments in the route.\nexport type ParamParseKey =\n // if you could not find path params, fallback to `string`\n [PathParam] extends [never] ? string : PathParam;\n\n/**\n * The parameters that were parsed from the URL path.\n */\nexport type Params = {\n readonly [key in Key]: string | undefined;\n};\n\n/**\n * A RouteMatch contains info about how a route matched a URL.\n */\nexport interface AgnosticRouteMatch<\n ParamKey extends string = string,\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The route object that was used to match.\n */\n route: RouteObjectType;\n}\n\nexport interface AgnosticDataRouteMatch\n extends AgnosticRouteMatch {}\n\nfunction isIndexRoute(\n route: AgnosticRouteObject\n): route is AgnosticIndexRouteObject {\n return route.index === true;\n}\n\n// Walk the route tree generating unique IDs where necessary, so we are working\n// solely with AgnosticDataRouteObject's within the Router\nexport function convertRoutesToDataRoutes(\n routes: AgnosticRouteObject[],\n mapRouteProperties: MapRoutePropertiesFunction,\n parentPath: number[] = [],\n manifest: RouteManifest = {}\n): AgnosticDataRouteObject[] {\n return routes.map((route, index) => {\n let treePath = [...parentPath, index];\n let id = typeof route.id === \"string\" ? route.id : treePath.join(\"-\");\n invariant(\n route.index !== true || !route.children,\n `Cannot specify children on an index route`\n );\n invariant(\n !manifest[id],\n `Found a route id collision on id \"${id}\". Route ` +\n \"id's must be globally unique within Data Router usages\"\n );\n\n if (isIndexRoute(route)) {\n let indexRoute: AgnosticDataIndexRouteObject = {\n ...route,\n ...mapRouteProperties(route),\n id,\n };\n manifest[id] = indexRoute;\n return indexRoute;\n } else {\n let pathOrLayoutRoute: AgnosticDataNonIndexRouteObject = {\n ...route,\n ...mapRouteProperties(route),\n id,\n children: undefined,\n };\n manifest[id] = pathOrLayoutRoute;\n\n if (route.children) {\n pathOrLayoutRoute.children = convertRoutesToDataRoutes(\n route.children,\n mapRouteProperties,\n treePath,\n manifest\n );\n }\n\n return pathOrLayoutRoute;\n }\n });\n}\n\n/**\n * Matches the given routes to a location and returns the match data.\n *\n * @see https://reactrouter.com/utils/match-routes\n */\nexport function matchRoutes<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n routes: RouteObjectType[],\n locationArg: Partial | string,\n basename = \"/\"\n): AgnosticRouteMatch[] | null {\n let location =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n let pathname = stripBasename(location.pathname || \"/\", basename);\n\n if (pathname == null) {\n return null;\n }\n\n let branches = flattenRoutes(routes);\n rankRouteBranches(branches);\n\n let matches = null;\n for (let i = 0; matches == null && i < branches.length; ++i) {\n matches = matchRouteBranch(\n branches[i],\n // Incoming pathnames are generally encoded from either window.location\n // or from router.navigate, but we want to match against the unencoded\n // paths in the route definitions. Memory router locations won't be\n // encoded here but there also shouldn't be anything to decode so this\n // should be a safe operation. This avoids needing matchRoutes to be\n // history-aware.\n safelyDecodeURI(pathname)\n );\n }\n\n return matches;\n}\n\nexport interface UIMatch {\n id: string;\n pathname: string;\n params: AgnosticRouteMatch[\"params\"];\n data: Data;\n handle: Handle;\n}\n\nexport function convertRouteMatchToUiMatch(\n match: AgnosticDataRouteMatch,\n loaderData: RouteData\n): UIMatch {\n let { route, pathname, params } = match;\n return {\n id: route.id,\n pathname,\n params,\n data: loaderData[route.id],\n handle: route.handle,\n };\n}\n\ninterface RouteMeta<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n relativePath: string;\n caseSensitive: boolean;\n childrenIndex: number;\n route: RouteObjectType;\n}\n\ninterface RouteBranch<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n path: string;\n score: number;\n routesMeta: RouteMeta[];\n}\n\nfunction flattenRoutes<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n routes: RouteObjectType[],\n branches: RouteBranch[] = [],\n parentsMeta: RouteMeta[] = [],\n parentPath = \"\"\n): RouteBranch[] {\n let flattenRoute = (\n route: RouteObjectType,\n index: number,\n relativePath?: string\n ) => {\n let meta: RouteMeta = {\n relativePath:\n relativePath === undefined ? route.path || \"\" : relativePath,\n caseSensitive: route.caseSensitive === true,\n childrenIndex: index,\n route,\n };\n\n if (meta.relativePath.startsWith(\"/\")) {\n invariant(\n meta.relativePath.startsWith(parentPath),\n `Absolute route path \"${meta.relativePath}\" nested under path ` +\n `\"${parentPath}\" is not valid. An absolute child route path ` +\n `must start with the combined path of all its parent routes.`\n );\n\n meta.relativePath = meta.relativePath.slice(parentPath.length);\n }\n\n let path = joinPaths([parentPath, meta.relativePath]);\n let routesMeta = parentsMeta.concat(meta);\n\n // Add the children before adding this route to the array, so we traverse the\n // route tree depth-first and child routes appear before their parents in\n // the \"flattened\" version.\n if (route.children && route.children.length > 0) {\n invariant(\n // Our types know better, but runtime JS may not!\n // @ts-expect-error\n route.index !== true,\n `Index routes must not have child routes. Please remove ` +\n `all child routes from route path \"${path}\".`\n );\n\n flattenRoutes(route.children, branches, routesMeta, path);\n }\n\n // Routes without a path shouldn't ever match by themselves unless they are\n // index routes, so don't add them to the list of possible branches.\n if (route.path == null && !route.index) {\n return;\n }\n\n branches.push({\n path,\n score: computeScore(path, route.index),\n routesMeta,\n });\n };\n routes.forEach((route, index) => {\n // coarse-grain check for optional params\n if (route.path === \"\" || !route.path?.includes(\"?\")) {\n flattenRoute(route, index);\n } else {\n for (let exploded of explodeOptionalSegments(route.path)) {\n flattenRoute(route, index, exploded);\n }\n }\n });\n\n return branches;\n}\n\n/**\n * Computes all combinations of optional path segments for a given path,\n * excluding combinations that are ambiguous and of lower priority.\n *\n * For example, `/one/:two?/three/:four?/:five?` explodes to:\n * - `/one/three`\n * - `/one/:two/three`\n * - `/one/three/:four`\n * - `/one/three/:five`\n * - `/one/:two/three/:four`\n * - `/one/:two/three/:five`\n * - `/one/three/:four/:five`\n * - `/one/:two/three/:four/:five`\n */\nfunction explodeOptionalSegments(path: string): string[] {\n let segments = path.split(\"/\");\n if (segments.length === 0) return [];\n\n let [first, ...rest] = segments;\n\n // Optional path segments are denoted by a trailing `?`\n let isOptional = first.endsWith(\"?\");\n // Compute the corresponding required segment: `foo?` -> `foo`\n let required = first.replace(/\\?$/, \"\");\n\n if (rest.length === 0) {\n // Intepret empty string as omitting an optional segment\n // `[\"one\", \"\", \"three\"]` corresponds to omitting `:two` from `/one/:two?/three` -> `/one/three`\n return isOptional ? [required, \"\"] : [required];\n }\n\n let restExploded = explodeOptionalSegments(rest.join(\"/\"));\n\n let result: string[] = [];\n\n // All child paths with the prefix. Do this for all children before the\n // optional version for all children, so we get consistent ordering where the\n // parent optional aspect is preferred as required. Otherwise, we can get\n // child sections interspersed where deeper optional segments are higher than\n // parent optional segments, where for example, /:two would explode _earlier_\n // then /:one. By always including the parent as required _for all children_\n // first, we avoid this issue\n result.push(\n ...restExploded.map((subpath) =>\n subpath === \"\" ? required : [required, subpath].join(\"/\")\n )\n );\n\n // Then, if this is an optional value, add all child versions without\n if (isOptional) {\n result.push(...restExploded);\n }\n\n // for absolute paths, ensure `/` instead of empty segment\n return result.map((exploded) =>\n path.startsWith(\"/\") && exploded === \"\" ? \"/\" : exploded\n );\n}\n\nfunction rankRouteBranches(branches: RouteBranch[]): void {\n branches.sort((a, b) =>\n a.score !== b.score\n ? b.score - a.score // Higher score first\n : compareIndexes(\n a.routesMeta.map((meta) => meta.childrenIndex),\n b.routesMeta.map((meta) => meta.childrenIndex)\n )\n );\n}\n\nconst paramRe = /^:\\w+$/;\nconst dynamicSegmentValue = 3;\nconst indexRouteValue = 2;\nconst emptySegmentValue = 1;\nconst staticSegmentValue = 10;\nconst splatPenalty = -2;\nconst isSplat = (s: string) => s === \"*\";\n\nfunction computeScore(path: string, index: boolean | undefined): number {\n let segments = path.split(\"/\");\n let initialScore = segments.length;\n if (segments.some(isSplat)) {\n initialScore += splatPenalty;\n }\n\n if (index) {\n initialScore += indexRouteValue;\n }\n\n return segments\n .filter((s) => !isSplat(s))\n .reduce(\n (score, segment) =>\n score +\n (paramRe.test(segment)\n ? dynamicSegmentValue\n : segment === \"\"\n ? emptySegmentValue\n : staticSegmentValue),\n initialScore\n );\n}\n\nfunction compareIndexes(a: number[], b: number[]): number {\n let siblings =\n a.length === b.length && a.slice(0, -1).every((n, i) => n === b[i]);\n\n return siblings\n ? // If two routes are siblings, we should try to match the earlier sibling\n // first. This allows people to have fine-grained control over the matching\n // behavior by simply putting routes with identical paths in the order they\n // want them tried.\n a[a.length - 1] - b[b.length - 1]\n : // Otherwise, it doesn't really make sense to rank non-siblings by index,\n // so they sort equally.\n 0;\n}\n\nfunction matchRouteBranch<\n ParamKey extends string = string,\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n branch: RouteBranch,\n pathname: string\n): AgnosticRouteMatch[] | null {\n let { routesMeta } = branch;\n\n let matchedParams = {};\n let matchedPathname = \"/\";\n let matches: AgnosticRouteMatch[] = [];\n for (let i = 0; i < routesMeta.length; ++i) {\n let meta = routesMeta[i];\n let end = i === routesMeta.length - 1;\n let remainingPathname =\n matchedPathname === \"/\"\n ? pathname\n : pathname.slice(matchedPathname.length) || \"/\";\n let match = matchPath(\n { path: meta.relativePath, caseSensitive: meta.caseSensitive, end },\n remainingPathname\n );\n\n if (!match) return null;\n\n Object.assign(matchedParams, match.params);\n\n let route = meta.route;\n\n matches.push({\n // TODO: Can this as be avoided?\n params: matchedParams as Params,\n pathname: joinPaths([matchedPathname, match.pathname]),\n pathnameBase: normalizePathname(\n joinPaths([matchedPathname, match.pathnameBase])\n ),\n route,\n });\n\n if (match.pathnameBase !== \"/\") {\n matchedPathname = joinPaths([matchedPathname, match.pathnameBase]);\n }\n }\n\n return matches;\n}\n\n/**\n * Returns a path with params interpolated.\n *\n * @see https://reactrouter.com/utils/generate-path\n */\nexport function generatePath(\n originalPath: Path,\n params: {\n [key in PathParam]: string | null;\n } = {} as any\n): string {\n let path: string = originalPath;\n if (path.endsWith(\"*\") && path !== \"*\" && !path.endsWith(\"/*\")) {\n warning(\n false,\n `Route path \"${path}\" will be treated as if it were ` +\n `\"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must ` +\n `always follow a \\`/\\` in the pattern. To get rid of this warning, ` +\n `please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n );\n path = path.replace(/\\*$/, \"/*\") as Path;\n }\n\n // ensure `/` is added at the beginning if the path is absolute\n const prefix = path.startsWith(\"/\") ? \"/\" : \"\";\n\n const stringify = (p: any) =>\n p == null ? \"\" : typeof p === \"string\" ? p : String(p);\n\n const segments = path\n .split(/\\/+/)\n .map((segment, index, array) => {\n const isLastSegment = index === array.length - 1;\n\n // only apply the splat if it's the last segment\n if (isLastSegment && segment === \"*\") {\n const star = \"*\" as PathParam;\n // Apply the splat\n return stringify(params[star]);\n }\n\n const keyMatch = segment.match(/^:(\\w+)(\\??)$/);\n if (keyMatch) {\n const [, key, optional] = keyMatch;\n let param = params[key as PathParam];\n invariant(optional === \"?\" || param != null, `Missing \":${key}\" param`);\n return stringify(param);\n }\n\n // Remove any optional markers from optional static segments\n return segment.replace(/\\?$/g, \"\");\n })\n // Remove empty segments\n .filter((segment) => !!segment);\n\n return prefix + segments.join(\"/\");\n}\n\n/**\n * A PathPattern is used to match on some portion of a URL pathname.\n */\nexport interface PathPattern {\n /**\n * A string to match against a URL pathname. May contain `:id`-style segments\n * to indicate placeholders for dynamic parameters. May also end with `/*` to\n * indicate matching the rest of the URL pathname.\n */\n path: Path;\n /**\n * Should be `true` if the static portions of the `path` should be matched in\n * the same case.\n */\n caseSensitive?: boolean;\n /**\n * Should be `true` if this pattern should match the entire URL pathname.\n */\n end?: boolean;\n}\n\n/**\n * A PathMatch contains info about how a PathPattern matched on a URL pathname.\n */\nexport interface PathMatch {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The pattern that was used to match.\n */\n pattern: PathPattern;\n}\n\ntype Mutable = {\n -readonly [P in keyof T]: T[P];\n};\n\n/**\n * Performs pattern matching on a URL pathname and returns information about\n * the match.\n *\n * @see https://reactrouter.com/utils/match-path\n */\nexport function matchPath<\n ParamKey extends ParamParseKey,\n Path extends string\n>(\n pattern: PathPattern | Path,\n pathname: string\n): PathMatch | null {\n if (typeof pattern === \"string\") {\n pattern = { path: pattern, caseSensitive: false, end: true };\n }\n\n let [matcher, paramNames] = compilePath(\n pattern.path,\n pattern.caseSensitive,\n pattern.end\n );\n\n let match = pathname.match(matcher);\n if (!match) return null;\n\n let matchedPathname = match[0];\n let pathnameBase = matchedPathname.replace(/(.)\\/+$/, \"$1\");\n let captureGroups = match.slice(1);\n let params: Params = paramNames.reduce>(\n (memo, paramName, index) => {\n // We need to compute the pathnameBase here using the raw splat value\n // instead of using params[\"*\"] later because it will be decoded then\n if (paramName === \"*\") {\n let splatValue = captureGroups[index] || \"\";\n pathnameBase = matchedPathname\n .slice(0, matchedPathname.length - splatValue.length)\n .replace(/(.)\\/+$/, \"$1\");\n }\n\n memo[paramName] = safelyDecodeURIComponent(\n captureGroups[index] || \"\",\n paramName\n );\n return memo;\n },\n {}\n );\n\n return {\n params,\n pathname: matchedPathname,\n pathnameBase,\n pattern,\n };\n}\n\nfunction compilePath(\n path: string,\n caseSensitive = false,\n end = true\n): [RegExp, string[]] {\n warning(\n path === \"*\" || !path.endsWith(\"*\") || path.endsWith(\"/*\"),\n `Route path \"${path}\" will be treated as if it were ` +\n `\"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must ` +\n `always follow a \\`/\\` in the pattern. To get rid of this warning, ` +\n `please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n );\n\n let paramNames: string[] = [];\n let regexpSource =\n \"^\" +\n path\n .replace(/\\/*\\*?$/, \"\") // Ignore trailing / and /*, we'll handle it below\n .replace(/^\\/*/, \"/\") // Make sure it has a leading /\n .replace(/[\\\\.*+^$?{}|()[\\]]/g, \"\\\\$&\") // Escape special regex chars\n .replace(/\\/:(\\w+)/g, (_: string, paramName: string) => {\n paramNames.push(paramName);\n return \"/([^\\\\/]+)\";\n });\n\n if (path.endsWith(\"*\")) {\n paramNames.push(\"*\");\n regexpSource +=\n path === \"*\" || path === \"/*\"\n ? \"(.*)$\" // Already matched the initial /, just match the rest\n : \"(?:\\\\/(.+)|\\\\/*)$\"; // Don't include the / in params[\"*\"]\n } else if (end) {\n // When matching to the end, ignore trailing slashes\n regexpSource += \"\\\\/*$\";\n } else if (path !== \"\" && path !== \"/\") {\n // If our path is non-empty and contains anything beyond an initial slash,\n // then we have _some_ form of path in our regex, so we should expect to\n // match only if we find the end of this path segment. Look for an optional\n // non-captured trailing slash (to match a portion of the URL) or the end\n // of the path (if we've matched to the end). We used to do this with a\n // word boundary but that gives false positives on routes like\n // /user-preferences since `-` counts as a word boundary.\n regexpSource += \"(?:(?=\\\\/|$))\";\n } else {\n // Nothing to match for \"\" or \"/\"\n }\n\n let matcher = new RegExp(regexpSource, caseSensitive ? undefined : \"i\");\n\n return [matcher, paramNames];\n}\n\nfunction safelyDecodeURI(value: string) {\n try {\n return decodeURI(value);\n } catch (error) {\n warning(\n false,\n `The URL path \"${value}\" could not be decoded because it is is a ` +\n `malformed URL segment. This is probably due to a bad percent ` +\n `encoding (${error}).`\n );\n\n return value;\n }\n}\n\nfunction safelyDecodeURIComponent(value: string, paramName: string) {\n try {\n return decodeURIComponent(value);\n } catch (error) {\n warning(\n false,\n `The value for the URL param \"${paramName}\" will not be decoded because` +\n ` the string \"${value}\" is a malformed URL segment. This is probably` +\n ` due to a bad percent encoding (${error}).`\n );\n\n return value;\n }\n}\n\n/**\n * @private\n */\nexport function stripBasename(\n pathname: string,\n basename: string\n): string | null {\n if (basename === \"/\") return pathname;\n\n if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n return null;\n }\n\n // We want to leave trailing slash behavior in the user's control, so if they\n // specify a basename with a trailing slash, we should support it\n let startIndex = basename.endsWith(\"/\")\n ? basename.length - 1\n : basename.length;\n let nextChar = pathname.charAt(startIndex);\n if (nextChar && nextChar !== \"/\") {\n // pathname does not start with basename/\n return null;\n }\n\n return pathname.slice(startIndex) || \"/\";\n}\n\n/**\n * Returns a resolved path object relative to the given pathname.\n *\n * @see https://reactrouter.com/utils/resolve-path\n */\nexport function resolvePath(to: To, fromPathname = \"/\"): Path {\n let {\n pathname: toPathname,\n search = \"\",\n hash = \"\",\n } = typeof to === \"string\" ? parsePath(to) : to;\n\n let pathname = toPathname\n ? toPathname.startsWith(\"/\")\n ? toPathname\n : resolvePathname(toPathname, fromPathname)\n : fromPathname;\n\n return {\n pathname,\n search: normalizeSearch(search),\n hash: normalizeHash(hash),\n };\n}\n\nfunction resolvePathname(relativePath: string, fromPathname: string): string {\n let segments = fromPathname.replace(/\\/+$/, \"\").split(\"/\");\n let relativeSegments = relativePath.split(\"/\");\n\n relativeSegments.forEach((segment) => {\n if (segment === \"..\") {\n // Keep the root \"\" segment so the pathname starts at /\n if (segments.length > 1) segments.pop();\n } else if (segment !== \".\") {\n segments.push(segment);\n }\n });\n\n return segments.length > 1 ? segments.join(\"/\") : \"/\";\n}\n\nfunction getInvalidPathError(\n char: string,\n field: string,\n dest: string,\n path: Partial\n) {\n return (\n `Cannot include a '${char}' character in a manually specified ` +\n `\\`to.${field}\\` field [${JSON.stringify(\n path\n )}]. Please separate it out to the ` +\n `\\`to.${dest}\\` field. Alternatively you may provide the full path as ` +\n `a string in and the router will parse it for you.`\n );\n}\n\n/**\n * @private\n *\n * When processing relative navigation we want to ignore ancestor routes that\n * do not contribute to the path, such that index/pathless layout routes don't\n * interfere.\n *\n * For example, when moving a route element into an index route and/or a\n * pathless layout route, relative link behavior contained within should stay\n * the same. Both of the following examples should link back to the root:\n *\n * \n * \n * \n *\n * \n * \n * }> // <-- Does not contribute\n * // <-- Does not contribute\n * \n * \n */\nexport function getPathContributingMatches<\n T extends AgnosticRouteMatch = AgnosticRouteMatch\n>(matches: T[]) {\n return matches.filter(\n (match, index) =>\n index === 0 || (match.route.path && match.route.path.length > 0)\n );\n}\n\n/**\n * @private\n */\nexport function resolveTo(\n toArg: To,\n routePathnames: string[],\n locationPathname: string,\n isPathRelative = false\n): Path {\n let to: Partial;\n if (typeof toArg === \"string\") {\n to = parsePath(toArg);\n } else {\n to = { ...toArg };\n\n invariant(\n !to.pathname || !to.pathname.includes(\"?\"),\n getInvalidPathError(\"?\", \"pathname\", \"search\", to)\n );\n invariant(\n !to.pathname || !to.pathname.includes(\"#\"),\n getInvalidPathError(\"#\", \"pathname\", \"hash\", to)\n );\n invariant(\n !to.search || !to.search.includes(\"#\"),\n getInvalidPathError(\"#\", \"search\", \"hash\", to)\n );\n }\n\n let isEmptyPath = toArg === \"\" || to.pathname === \"\";\n let toPathname = isEmptyPath ? \"/\" : to.pathname;\n\n let from: string;\n\n // Routing is relative to the current pathname if explicitly requested.\n //\n // If a pathname is explicitly provided in `to`, it should be relative to the\n // route context. This is explained in `Note on `` values` in our\n // migration guide from v5 as a means of disambiguation between `to` values\n // that begin with `/` and those that do not. However, this is problematic for\n // `to` values that do not provide a pathname. `to` can simply be a search or\n // hash string, in which case we should assume that the navigation is relative\n // to the current location's pathname and *not* the route pathname.\n if (isPathRelative || toPathname == null) {\n from = locationPathname;\n } else {\n let routePathnameIndex = routePathnames.length - 1;\n\n if (toPathname.startsWith(\"..\")) {\n let toSegments = toPathname.split(\"/\");\n\n // Each leading .. segment means \"go up one route\" instead of \"go up one\n // URL segment\". This is a key difference from how works and a\n // major reason we call this a \"to\" value instead of a \"href\".\n while (toSegments[0] === \"..\") {\n toSegments.shift();\n routePathnameIndex -= 1;\n }\n\n to.pathname = toSegments.join(\"/\");\n }\n\n // If there are more \"..\" segments than parent routes, resolve relative to\n // the root / URL.\n from = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : \"/\";\n }\n\n let path = resolvePath(to, from);\n\n // Ensure the pathname has a trailing slash if the original \"to\" had one\n let hasExplicitTrailingSlash =\n toPathname && toPathname !== \"/\" && toPathname.endsWith(\"/\");\n // Or if this was a link to the current path which has a trailing slash\n let hasCurrentTrailingSlash =\n (isEmptyPath || toPathname === \".\") && locationPathname.endsWith(\"/\");\n if (\n !path.pathname.endsWith(\"/\") &&\n (hasExplicitTrailingSlash || hasCurrentTrailingSlash)\n ) {\n path.pathname += \"/\";\n }\n\n return path;\n}\n\n/**\n * @private\n */\nexport function getToPathname(to: To): string | undefined {\n // Empty strings should be treated the same as / paths\n return to === \"\" || (to as Path).pathname === \"\"\n ? \"/\"\n : typeof to === \"string\"\n ? parsePath(to).pathname\n : to.pathname;\n}\n\n/**\n * @private\n */\nexport const joinPaths = (paths: string[]): string =>\n paths.join(\"/\").replace(/\\/\\/+/g, \"/\");\n\n/**\n * @private\n */\nexport const normalizePathname = (pathname: string): string =>\n pathname.replace(/\\/+$/, \"\").replace(/^\\/*/, \"/\");\n\n/**\n * @private\n */\nexport const normalizeSearch = (search: string): string =>\n !search || search === \"?\"\n ? \"\"\n : search.startsWith(\"?\")\n ? search\n : \"?\" + search;\n\n/**\n * @private\n */\nexport const normalizeHash = (hash: string): string =>\n !hash || hash === \"#\" ? \"\" : hash.startsWith(\"#\") ? hash : \"#\" + hash;\n\nexport type JsonFunction = (\n data: Data,\n init?: number | ResponseInit\n) => Response;\n\n/**\n * This is a shortcut for creating `application/json` responses. Converts `data`\n * to JSON and sets the `Content-Type` header.\n */\nexport const json: JsonFunction = (data, init = {}) => {\n let responseInit = typeof init === \"number\" ? { status: init } : init;\n\n let headers = new Headers(responseInit.headers);\n if (!headers.has(\"Content-Type\")) {\n headers.set(\"Content-Type\", \"application/json; charset=utf-8\");\n }\n\n return new Response(JSON.stringify(data), {\n ...responseInit,\n headers,\n });\n};\n\nexport interface TrackedPromise extends Promise {\n _tracked?: boolean;\n _data?: any;\n _error?: any;\n}\n\nexport class AbortedDeferredError extends Error {}\n\nexport class DeferredData {\n private pendingKeysSet: Set = new Set();\n private controller: AbortController;\n private abortPromise: Promise;\n private unlistenAbortSignal: () => void;\n private subscribers: Set<(aborted: boolean, settledKey?: string) => void> =\n new Set();\n data: Record;\n init?: ResponseInit;\n deferredKeys: string[] = [];\n\n constructor(data: Record, responseInit?: ResponseInit) {\n invariant(\n data && typeof data === \"object\" && !Array.isArray(data),\n \"defer() only accepts plain objects\"\n );\n\n // Set up an AbortController + Promise we can race against to exit early\n // cancellation\n let reject: (e: AbortedDeferredError) => void;\n this.abortPromise = new Promise((_, r) => (reject = r));\n this.controller = new AbortController();\n let onAbort = () =>\n reject(new AbortedDeferredError(\"Deferred data aborted\"));\n this.unlistenAbortSignal = () =>\n this.controller.signal.removeEventListener(\"abort\", onAbort);\n this.controller.signal.addEventListener(\"abort\", onAbort);\n\n this.data = Object.entries(data).reduce(\n (acc, [key, value]) =>\n Object.assign(acc, {\n [key]: this.trackPromise(key, value),\n }),\n {}\n );\n\n if (this.done) {\n // All incoming values were resolved\n this.unlistenAbortSignal();\n }\n\n this.init = responseInit;\n }\n\n private trackPromise(\n key: string,\n value: Promise | unknown\n ): TrackedPromise | unknown {\n if (!(value instanceof Promise)) {\n return value;\n }\n\n this.deferredKeys.push(key);\n this.pendingKeysSet.add(key);\n\n // We store a little wrapper promise that will be extended with\n // _data/_error props upon resolve/reject\n let promise: TrackedPromise = Promise.race([value, this.abortPromise]).then(\n (data) => this.onSettle(promise, key, undefined, data as unknown),\n (error) => this.onSettle(promise, key, error as unknown)\n );\n\n // Register rejection listeners to avoid uncaught promise rejections on\n // errors or aborted deferred values\n promise.catch(() => {});\n\n Object.defineProperty(promise, \"_tracked\", { get: () => true });\n return promise;\n }\n\n private onSettle(\n promise: TrackedPromise,\n key: string,\n error: unknown,\n data?: unknown\n ): unknown {\n if (\n this.controller.signal.aborted &&\n error instanceof AbortedDeferredError\n ) {\n this.unlistenAbortSignal();\n Object.defineProperty(promise, \"_error\", { get: () => error });\n return Promise.reject(error);\n }\n\n this.pendingKeysSet.delete(key);\n\n if (this.done) {\n // Nothing left to abort!\n this.unlistenAbortSignal();\n }\n\n // If the promise was resolved/rejected with undefined, we'll throw an error as you\n // should always resolve with a value or null\n if (error === undefined && data === undefined) {\n let undefinedError = new Error(\n `Deferred data for key \"${key}\" resolved/rejected with \\`undefined\\`, ` +\n `you must resolve/reject with a value or \\`null\\`.`\n );\n Object.defineProperty(promise, \"_error\", { get: () => undefinedError });\n this.emit(false, key);\n return Promise.reject(undefinedError);\n }\n\n if (data === undefined) {\n Object.defineProperty(promise, \"_error\", { get: () => error });\n this.emit(false, key);\n return Promise.reject(error);\n }\n\n Object.defineProperty(promise, \"_data\", { get: () => data });\n this.emit(false, key);\n return data;\n }\n\n private emit(aborted: boolean, settledKey?: string) {\n this.subscribers.forEach((subscriber) => subscriber(aborted, settledKey));\n }\n\n subscribe(fn: (aborted: boolean, settledKey?: string) => void) {\n this.subscribers.add(fn);\n return () => this.subscribers.delete(fn);\n }\n\n cancel() {\n this.controller.abort();\n this.pendingKeysSet.forEach((v, k) => this.pendingKeysSet.delete(k));\n this.emit(true);\n }\n\n async resolveData(signal: AbortSignal) {\n let aborted = false;\n if (!this.done) {\n let onAbort = () => this.cancel();\n signal.addEventListener(\"abort\", onAbort);\n aborted = await new Promise((resolve) => {\n this.subscribe((aborted) => {\n signal.removeEventListener(\"abort\", onAbort);\n if (aborted || this.done) {\n resolve(aborted);\n }\n });\n });\n }\n return aborted;\n }\n\n get done() {\n return this.pendingKeysSet.size === 0;\n }\n\n get unwrappedData() {\n invariant(\n this.data !== null && this.done,\n \"Can only unwrap data on initialized and settled deferreds\"\n );\n\n return Object.entries(this.data).reduce(\n (acc, [key, value]) =>\n Object.assign(acc, {\n [key]: unwrapTrackedPromise(value),\n }),\n {}\n );\n }\n\n get pendingKeys() {\n return Array.from(this.pendingKeysSet);\n }\n}\n\nfunction isTrackedPromise(value: any): value is TrackedPromise {\n return (\n value instanceof Promise && (value as TrackedPromise)._tracked === true\n );\n}\n\nfunction unwrapTrackedPromise(value: any) {\n if (!isTrackedPromise(value)) {\n return value;\n }\n\n if (value._error) {\n throw value._error;\n }\n return value._data;\n}\n\nexport type DeferFunction = (\n data: Record,\n init?: number | ResponseInit\n) => DeferredData;\n\nexport const defer: DeferFunction = (data, init = {}) => {\n let responseInit = typeof init === \"number\" ? { status: init } : init;\n\n return new DeferredData(data, responseInit);\n};\n\nexport type RedirectFunction = (\n url: string,\n init?: number | ResponseInit\n) => Response;\n\n/**\n * A redirect response. Sets the status code and the `Location` header.\n * Defaults to \"302 Found\".\n */\nexport const redirect: RedirectFunction = (url, init = 302) => {\n let responseInit = init;\n if (typeof responseInit === \"number\") {\n responseInit = { status: responseInit };\n } else if (typeof responseInit.status === \"undefined\") {\n responseInit.status = 302;\n }\n\n let headers = new Headers(responseInit.headers);\n headers.set(\"Location\", url);\n\n return new Response(null, {\n ...responseInit,\n headers,\n });\n};\n\n/**\n * A redirect response that will force a document reload to the new location.\n * Sets the status code and the `Location` header.\n * Defaults to \"302 Found\".\n */\nexport const redirectDocument: RedirectFunction = (url, init) => {\n let response = redirect(url, init);\n response.headers.set(\"X-Remix-Reload-Document\", \"true\");\n return response;\n};\n\n/**\n * @private\n * Utility class we use to hold auto-unwrapped 4xx/5xx Response bodies\n */\nexport class ErrorResponseImpl {\n status: number;\n statusText: string;\n data: any;\n private error?: Error;\n private internal: boolean;\n\n constructor(\n status: number,\n statusText: string | undefined,\n data: any,\n internal = false\n ) {\n this.status = status;\n this.statusText = statusText || \"\";\n this.internal = internal;\n if (data instanceof Error) {\n this.data = data.toString();\n this.error = data;\n } else {\n this.data = data;\n }\n }\n}\n\n// We don't want the class exported since usage of it at runtime is an\n// implementation detail, but we do want to export the shape so folks can\n// build their own abstractions around instances via isRouteErrorResponse()\nexport type ErrorResponse = InstanceType;\n\n/**\n * Check if the given error is an ErrorResponse generated from a 4xx/5xx\n * Response thrown from an action/loader\n */\nexport function isRouteErrorResponse(error: any): error is ErrorResponse {\n return (\n error != null &&\n typeof error.status === \"number\" &&\n typeof error.statusText === \"string\" &&\n typeof error.internal === \"boolean\" &&\n \"data\" in error\n );\n}\n","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","import type { History, Location, Path, To } from \"./history\";\nimport {\n Action as HistoryAction,\n createLocation,\n createPath,\n invariant,\n parsePath,\n warning,\n} from \"./history\";\nimport type {\n ActionFunction,\n AgnosticDataRouteMatch,\n AgnosticDataRouteObject,\n AgnosticRouteObject,\n DataResult,\n DeferredData,\n DeferredResult,\n DetectErrorBoundaryFunction,\n ErrorResult,\n FormEncType,\n FormMethod,\n HTMLFormMethod,\n ImmutableRouteKey,\n LoaderFunction,\n MapRoutePropertiesFunction,\n MutationFormMethod,\n RedirectResult,\n RouteData,\n RouteManifest,\n ShouldRevalidateFunctionArgs,\n Submission,\n SuccessResult,\n UIMatch,\n V7_FormMethod,\n V7_MutationFormMethod,\n} from \"./utils\";\nimport {\n ErrorResponseImpl,\n ResultType,\n convertRouteMatchToUiMatch,\n convertRoutesToDataRoutes,\n getPathContributingMatches,\n immutableRouteKeys,\n isRouteErrorResponse,\n joinPaths,\n matchRoutes,\n resolveTo,\n stripBasename,\n} from \"./utils\";\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Types and Constants\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A Router instance manages all navigation and data loading/mutations\n */\nexport interface Router {\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the basename for the router\n */\n get basename(): RouterInit[\"basename\"];\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the current state of the router\n */\n get state(): RouterState;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the routes for this router instance\n */\n get routes(): AgnosticDataRouteObject[];\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Initialize the router, including adding history listeners and kicking off\n * initial data fetches. Returns a function to cleanup listeners and abort\n * any in-progress loads\n */\n initialize(): Router;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Subscribe to router.state updates\n *\n * @param fn function to call with the new state\n */\n subscribe(fn: RouterSubscriber): () => void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Enable scroll restoration behavior in the router\n *\n * @param savedScrollPositions Object that will manage positions, in case\n * it's being restored from sessionStorage\n * @param getScrollPosition Function to get the active Y scroll position\n * @param getKey Function to get the key to use for restoration\n */\n enableScrollRestoration(\n savedScrollPositions: Record,\n getScrollPosition: GetScrollPositionFunction,\n getKey?: GetScrollRestorationKeyFunction\n ): () => void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Navigate forward/backward in the history stack\n * @param to Delta to move in the history stack\n */\n navigate(to: number): Promise;\n\n /**\n * Navigate to the given path\n * @param to Path to navigate to\n * @param opts Navigation options (method, submission, etc.)\n */\n navigate(to: To | null, opts?: RouterNavigateOptions): Promise;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Trigger a fetcher load/submission\n *\n * @param key Fetcher key\n * @param routeId Route that owns the fetcher\n * @param href href to fetch\n * @param opts Fetcher options, (method, submission, etc.)\n */\n fetch(\n key: string,\n routeId: string,\n href: string | null,\n opts?: RouterFetchOptions\n ): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Trigger a revalidation of all current route loaders and fetcher loads\n */\n revalidate(): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Utility function to create an href for the given location\n * @param location\n */\n createHref(location: Location | URL): string;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Utility function to URL encode a destination path according to the internal\n * history implementation\n * @param to\n */\n encodeLocation(to: To): Path;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Get/create a fetcher for the given key\n * @param key\n */\n getFetcher(key?: string): Fetcher;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Delete the fetcher for a given key\n * @param key\n */\n deleteFetcher(key?: string): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Cleanup listeners and abort any in-progress loads\n */\n dispose(): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Get a navigation blocker\n * @param key The identifier for the blocker\n * @param fn The blocker function implementation\n */\n getBlocker(key: string, fn: BlockerFunction): Blocker;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Delete a navigation blocker\n * @param key The identifier for the blocker\n */\n deleteBlocker(key: string): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * HMR needs to pass in-flight route updates to React Router\n * TODO: Replace this with granular route update APIs (addRoute, updateRoute, deleteRoute)\n */\n _internalSetRoutes(routes: AgnosticRouteObject[]): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Internal fetch AbortControllers accessed by unit tests\n */\n _internalFetchControllers: Map;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Internal pending DeferredData instances accessed by unit tests\n */\n _internalActiveDeferreds: Map;\n}\n\n/**\n * State maintained internally by the router. During a navigation, all states\n * reflect the the \"old\" location unless otherwise noted.\n */\nexport interface RouterState {\n /**\n * The action of the most recent navigation\n */\n historyAction: HistoryAction;\n\n /**\n * The current location reflected by the router\n */\n location: Location;\n\n /**\n * The current set of route matches\n */\n matches: AgnosticDataRouteMatch[];\n\n /**\n * Tracks whether we've completed our initial data load\n */\n initialized: boolean;\n\n /**\n * Current scroll position we should start at for a new view\n * - number -> scroll position to restore to\n * - false -> do not restore scroll at all (used during submissions)\n * - null -> don't have a saved position, scroll to hash or top of page\n */\n restoreScrollPosition: number | false | null;\n\n /**\n * Indicate whether this navigation should skip resetting the scroll position\n * if we are unable to restore the scroll position\n */\n preventScrollReset: boolean;\n\n /**\n * Tracks the state of the current navigation\n */\n navigation: Navigation;\n\n /**\n * Tracks any in-progress revalidations\n */\n revalidation: RevalidationState;\n\n /**\n * Data from the loaders for the current matches\n */\n loaderData: RouteData;\n\n /**\n * Data from the action for the current matches\n */\n actionData: RouteData | null;\n\n /**\n * Errors caught from loaders for the current matches\n */\n errors: RouteData | null;\n\n /**\n * Map of current fetchers\n */\n fetchers: Map;\n\n /**\n * Map of current blockers\n */\n blockers: Map;\n}\n\n/**\n * Data that can be passed into hydrate a Router from SSR\n */\nexport type HydrationState = Partial<\n Pick\n>;\n\n/**\n * Future flags to toggle new feature behavior\n */\nexport interface FutureConfig {\n v7_normalizeFormMethod: boolean;\n v7_prependBasename: boolean;\n}\n\n/**\n * Initialization options for createRouter\n */\nexport interface RouterInit {\n routes: AgnosticRouteObject[];\n history: History;\n basename?: string;\n /**\n * @deprecated Use `mapRouteProperties` instead\n */\n detectErrorBoundary?: DetectErrorBoundaryFunction;\n mapRouteProperties?: MapRoutePropertiesFunction;\n future?: Partial;\n hydrationData?: HydrationState;\n window?: Window;\n}\n\n/**\n * State returned from a server-side query() call\n */\nexport interface StaticHandlerContext {\n basename: Router[\"basename\"];\n location: RouterState[\"location\"];\n matches: RouterState[\"matches\"];\n loaderData: RouterState[\"loaderData\"];\n actionData: RouterState[\"actionData\"];\n errors: RouterState[\"errors\"];\n statusCode: number;\n loaderHeaders: Record;\n actionHeaders: Record;\n activeDeferreds: Record | null;\n _deepestRenderedBoundaryId?: string | null;\n}\n\n/**\n * A StaticHandler instance manages a singular SSR navigation/fetch event\n */\nexport interface StaticHandler {\n dataRoutes: AgnosticDataRouteObject[];\n query(\n request: Request,\n opts?: { requestContext?: unknown }\n ): Promise;\n queryRoute(\n request: Request,\n opts?: { routeId?: string; requestContext?: unknown }\n ): Promise;\n}\n\n/**\n * Subscriber function signature for changes to router state\n */\nexport interface RouterSubscriber {\n (state: RouterState): void;\n}\n\n/**\n * Function signature for determining the key to be used in scroll restoration\n * for a given location\n */\nexport interface GetScrollRestorationKeyFunction {\n (location: Location, matches: UIMatch[]): string | null;\n}\n\n/**\n * Function signature for determining the current scroll position\n */\nexport interface GetScrollPositionFunction {\n (): number;\n}\n\nexport type RelativeRoutingType = \"route\" | \"path\";\n\n// Allowed for any navigation or fetch\ntype BaseNavigateOrFetchOptions = {\n preventScrollReset?: boolean;\n relative?: RelativeRoutingType;\n};\n\n// Only allowed for navigations\ntype BaseNavigateOptions = BaseNavigateOrFetchOptions & {\n replace?: boolean;\n state?: any;\n fromRouteId?: string;\n};\n\n// Only allowed for submission navigations\ntype BaseSubmissionOptions = {\n formMethod?: HTMLFormMethod;\n formEncType?: FormEncType;\n} & (\n | { formData: FormData; body?: undefined }\n | { formData?: undefined; body: any }\n);\n\n/**\n * Options for a navigate() call for a normal (non-submission) navigation\n */\ntype LinkNavigateOptions = BaseNavigateOptions;\n\n/**\n * Options for a navigate() call for a submission navigation\n */\ntype SubmissionNavigateOptions = BaseNavigateOptions & BaseSubmissionOptions;\n\n/**\n * Options to pass to navigate() for a navigation\n */\nexport type RouterNavigateOptions =\n | LinkNavigateOptions\n | SubmissionNavigateOptions;\n\n/**\n * Options for a fetch() load\n */\ntype LoadFetchOptions = BaseNavigateOrFetchOptions;\n\n/**\n * Options for a fetch() submission\n */\ntype SubmitFetchOptions = BaseNavigateOrFetchOptions & BaseSubmissionOptions;\n\n/**\n * Options to pass to fetch()\n */\nexport type RouterFetchOptions = LoadFetchOptions | SubmitFetchOptions;\n\n/**\n * Potential states for state.navigation\n */\nexport type NavigationStates = {\n Idle: {\n state: \"idle\";\n location: undefined;\n formMethod: undefined;\n formAction: undefined;\n formEncType: undefined;\n formData: undefined;\n json: undefined;\n text: undefined;\n };\n Loading: {\n state: \"loading\";\n location: Location;\n formMethod: Submission[\"formMethod\"] | undefined;\n formAction: Submission[\"formAction\"] | undefined;\n formEncType: Submission[\"formEncType\"] | undefined;\n formData: Submission[\"formData\"] | undefined;\n json: Submission[\"json\"] | undefined;\n text: Submission[\"text\"] | undefined;\n };\n Submitting: {\n state: \"submitting\";\n location: Location;\n formMethod: Submission[\"formMethod\"];\n formAction: Submission[\"formAction\"];\n formEncType: Submission[\"formEncType\"];\n formData: Submission[\"formData\"];\n json: Submission[\"json\"];\n text: Submission[\"text\"];\n };\n};\n\nexport type Navigation = NavigationStates[keyof NavigationStates];\n\nexport type RevalidationState = \"idle\" | \"loading\";\n\n/**\n * Potential states for fetchers\n */\ntype FetcherStates = {\n Idle: {\n state: \"idle\";\n formMethod: undefined;\n formAction: undefined;\n formEncType: undefined;\n text: undefined;\n formData: undefined;\n json: undefined;\n data: TData | undefined;\n };\n Loading: {\n state: \"loading\";\n formMethod: Submission[\"formMethod\"] | undefined;\n formAction: Submission[\"formAction\"] | undefined;\n formEncType: Submission[\"formEncType\"] | undefined;\n text: Submission[\"text\"] | undefined;\n formData: Submission[\"formData\"] | undefined;\n json: Submission[\"json\"] | undefined;\n data: TData | undefined;\n };\n Submitting: {\n state: \"submitting\";\n formMethod: Submission[\"formMethod\"];\n formAction: Submission[\"formAction\"];\n formEncType: Submission[\"formEncType\"];\n text: Submission[\"text\"];\n formData: Submission[\"formData\"];\n json: Submission[\"json\"];\n data: TData | undefined;\n };\n};\n\nexport type Fetcher =\n FetcherStates[keyof FetcherStates];\n\ninterface BlockerBlocked {\n state: \"blocked\";\n reset(): void;\n proceed(): void;\n location: Location;\n}\n\ninterface BlockerUnblocked {\n state: \"unblocked\";\n reset: undefined;\n proceed: undefined;\n location: undefined;\n}\n\ninterface BlockerProceeding {\n state: \"proceeding\";\n reset: undefined;\n proceed: undefined;\n location: Location;\n}\n\nexport type Blocker = BlockerUnblocked | BlockerBlocked | BlockerProceeding;\n\nexport type BlockerFunction = (args: {\n currentLocation: Location;\n nextLocation: Location;\n historyAction: HistoryAction;\n}) => boolean;\n\ninterface ShortCircuitable {\n /**\n * startNavigation does not need to complete the navigation because we\n * redirected or got interrupted\n */\n shortCircuited?: boolean;\n}\n\ninterface HandleActionResult extends ShortCircuitable {\n /**\n * Error thrown from the current action, keyed by the route containing the\n * error boundary to render the error. To be committed to the state after\n * loaders have completed\n */\n pendingActionError?: RouteData;\n /**\n * Data returned from the current action, keyed by the route owning the action.\n * To be committed to the state after loaders have completed\n */\n pendingActionData?: RouteData;\n}\n\ninterface HandleLoadersResult extends ShortCircuitable {\n /**\n * loaderData returned from the current set of loaders\n */\n loaderData?: RouterState[\"loaderData\"];\n /**\n * errors thrown from the current set of loaders\n */\n errors?: RouterState[\"errors\"];\n}\n\n/**\n * Cached info for active fetcher.load() instances so they can participate\n * in revalidation\n */\ninterface FetchLoadMatch {\n routeId: string;\n path: string;\n}\n\n/**\n * Identified fetcher.load() calls that need to be revalidated\n */\ninterface RevalidatingFetcher extends FetchLoadMatch {\n key: string;\n match: AgnosticDataRouteMatch | null;\n matches: AgnosticDataRouteMatch[] | null;\n controller: AbortController | null;\n}\n\n/**\n * Wrapper object to allow us to throw any response out from callLoaderOrAction\n * for queryRouter while preserving whether or not it was thrown or returned\n * from the loader/action\n */\ninterface QueryRouteResponse {\n type: ResultType.data | ResultType.error;\n response: Response;\n}\n\nconst validMutationMethodsArr: MutationFormMethod[] = [\n \"post\",\n \"put\",\n \"patch\",\n \"delete\",\n];\nconst validMutationMethods = new Set(\n validMutationMethodsArr\n);\n\nconst validRequestMethodsArr: FormMethod[] = [\n \"get\",\n ...validMutationMethodsArr,\n];\nconst validRequestMethods = new Set(validRequestMethodsArr);\n\nconst redirectStatusCodes = new Set([301, 302, 303, 307, 308]);\nconst redirectPreserveMethodStatusCodes = new Set([307, 308]);\n\nexport const IDLE_NAVIGATION: NavigationStates[\"Idle\"] = {\n state: \"idle\",\n location: undefined,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n};\n\nexport const IDLE_FETCHER: FetcherStates[\"Idle\"] = {\n state: \"idle\",\n data: undefined,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n};\n\nexport const IDLE_BLOCKER: BlockerUnblocked = {\n state: \"unblocked\",\n proceed: undefined,\n reset: undefined,\n location: undefined,\n};\n\nconst ABSOLUTE_URL_REGEX = /^(?:[a-z][a-z0-9+.-]*:|\\/\\/)/i;\n\nconst defaultMapRouteProperties: MapRoutePropertiesFunction = (route) => ({\n hasErrorBoundary: Boolean(route.hasErrorBoundary),\n});\n\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region createRouter\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Create a router and listen to history POP navigations\n */\nexport function createRouter(init: RouterInit): Router {\n const routerWindow = init.window\n ? init.window\n : typeof window !== \"undefined\"\n ? window\n : undefined;\n const isBrowser =\n typeof routerWindow !== \"undefined\" &&\n typeof routerWindow.document !== \"undefined\" &&\n typeof routerWindow.document.createElement !== \"undefined\";\n const isServer = !isBrowser;\n\n invariant(\n init.routes.length > 0,\n \"You must provide a non-empty routes array to createRouter\"\n );\n\n let mapRouteProperties: MapRoutePropertiesFunction;\n if (init.mapRouteProperties) {\n mapRouteProperties = init.mapRouteProperties;\n } else if (init.detectErrorBoundary) {\n // If they are still using the deprecated version, wrap it with the new API\n let detectErrorBoundary = init.detectErrorBoundary;\n mapRouteProperties = (route) => ({\n hasErrorBoundary: detectErrorBoundary(route),\n });\n } else {\n mapRouteProperties = defaultMapRouteProperties;\n }\n\n // Routes keyed by ID\n let manifest: RouteManifest = {};\n // Routes in tree format for matching\n let dataRoutes = convertRoutesToDataRoutes(\n init.routes,\n mapRouteProperties,\n undefined,\n manifest\n );\n let inFlightDataRoutes: AgnosticDataRouteObject[] | undefined;\n let basename = init.basename || \"/\";\n // Config driven behavior flags\n let future: FutureConfig = {\n v7_normalizeFormMethod: false,\n v7_prependBasename: false,\n ...init.future,\n };\n // Cleanup function for history\n let unlistenHistory: (() => void) | null = null;\n // Externally-provided functions to call on all state changes\n let subscribers = new Set();\n // Externally-provided object to hold scroll restoration locations during routing\n let savedScrollPositions: Record | null = null;\n // Externally-provided function to get scroll restoration keys\n let getScrollRestorationKey: GetScrollRestorationKeyFunction | null = null;\n // Externally-provided function to get current scroll position\n let getScrollPosition: GetScrollPositionFunction | null = null;\n // One-time flag to control the initial hydration scroll restoration. Because\n // we don't get the saved positions from until _after_\n // the initial render, we need to manually trigger a separate updateState to\n // send along the restoreScrollPosition\n // Set to true if we have `hydrationData` since we assume we were SSR'd and that\n // SSR did the initial scroll restoration.\n let initialScrollRestored = init.hydrationData != null;\n\n let initialMatches = matchRoutes(dataRoutes, init.history.location, basename);\n let initialErrors: RouteData | null = null;\n\n if (initialMatches == null) {\n // If we do not match a user-provided-route, fall back to the root\n // to allow the error boundary to take over\n let error = getInternalRouterError(404, {\n pathname: init.history.location.pathname,\n });\n let { matches, route } = getShortCircuitMatches(dataRoutes);\n initialMatches = matches;\n initialErrors = { [route.id]: error };\n }\n\n let initialized =\n // All initialMatches need to be loaded before we're ready. If we have lazy\n // functions around still then we'll need to run them in initialize()\n !initialMatches.some((m) => m.route.lazy) &&\n // And we have to either have no loaders or have been provided hydrationData\n (!initialMatches.some((m) => m.route.loader) || init.hydrationData != null);\n\n let router: Router;\n let state: RouterState = {\n historyAction: init.history.action,\n location: init.history.location,\n matches: initialMatches,\n initialized,\n navigation: IDLE_NAVIGATION,\n // Don't restore on initial updateState() if we were SSR'd\n restoreScrollPosition: init.hydrationData != null ? false : null,\n preventScrollReset: false,\n revalidation: \"idle\",\n loaderData: (init.hydrationData && init.hydrationData.loaderData) || {},\n actionData: (init.hydrationData && init.hydrationData.actionData) || null,\n errors: (init.hydrationData && init.hydrationData.errors) || initialErrors,\n fetchers: new Map(),\n blockers: new Map(),\n };\n\n // -- Stateful internal variables to manage navigations --\n // Current navigation in progress (to be committed in completeNavigation)\n let pendingAction: HistoryAction = HistoryAction.Pop;\n\n // Should the current navigation prevent the scroll reset if scroll cannot\n // be restored?\n let pendingPreventScrollReset = false;\n\n // AbortController for the active navigation\n let pendingNavigationController: AbortController | null;\n\n // We use this to avoid touching history in completeNavigation if a\n // revalidation is entirely uninterrupted\n let isUninterruptedRevalidation = false;\n\n // Use this internal flag to force revalidation of all loaders:\n // - submissions (completed or interrupted)\n // - useRevalidator()\n // - X-Remix-Revalidate (from redirect)\n let isRevalidationRequired = false;\n\n // Use this internal array to capture routes that require revalidation due\n // to a cancelled deferred on action submission\n let cancelledDeferredRoutes: string[] = [];\n\n // Use this internal array to capture fetcher loads that were cancelled by an\n // action navigation and require revalidation\n let cancelledFetcherLoads: string[] = [];\n\n // AbortControllers for any in-flight fetchers\n let fetchControllers = new Map();\n\n // Track loads based on the order in which they started\n let incrementingLoadId = 0;\n\n // Track the outstanding pending navigation data load to be compared against\n // the globally incrementing load when a fetcher load lands after a completed\n // navigation\n let pendingNavigationLoadId = -1;\n\n // Fetchers that triggered data reloads as a result of their actions\n let fetchReloadIds = new Map();\n\n // Fetchers that triggered redirect navigations\n let fetchRedirectIds = new Set();\n\n // Most recent href/match for fetcher.load calls for fetchers\n let fetchLoadMatches = new Map();\n\n // Store DeferredData instances for active route matches. When a\n // route loader returns defer() we stick one in here. Then, when a nested\n // promise resolves we update loaderData. If a new navigation starts we\n // cancel active deferreds for eliminated routes.\n let activeDeferreds = new Map();\n\n // Store blocker functions in a separate Map outside of router state since\n // we don't need to update UI state if they change\n let blockerFunctions = new Map();\n\n // Flag to ignore the next history update, so we can revert the URL change on\n // a POP navigation that was blocked by the user without touching router state\n let ignoreNextHistoryUpdate = false;\n\n // Initialize the router, all side effects should be kicked off from here.\n // Implemented as a Fluent API for ease of:\n // let router = createRouter(init).initialize();\n function initialize() {\n // If history informs us of a POP navigation, start the navigation but do not update\n // state. We'll update our own state once the navigation completes\n unlistenHistory = init.history.listen(\n ({ action: historyAction, location, delta }) => {\n // Ignore this event if it was just us resetting the URL from a\n // blocked POP navigation\n if (ignoreNextHistoryUpdate) {\n ignoreNextHistoryUpdate = false;\n return;\n }\n\n warning(\n blockerFunctions.size === 0 || delta != null,\n \"You are trying to use a blocker on a POP navigation to a location \" +\n \"that was not created by @remix-run/router. This will fail silently in \" +\n \"production. This can happen if you are navigating outside the router \" +\n \"via `window.history.pushState`/`window.location.hash` instead of using \" +\n \"router navigation APIs. This can also happen if you are using \" +\n \"createHashRouter and the user manually changes the URL.\"\n );\n\n let blockerKey = shouldBlockNavigation({\n currentLocation: state.location,\n nextLocation: location,\n historyAction,\n });\n\n if (blockerKey && delta != null) {\n // Restore the URL to match the current UI, but don't update router state\n ignoreNextHistoryUpdate = true;\n init.history.go(delta * -1);\n\n // Put the blocker into a blocked state\n updateBlocker(blockerKey, {\n state: \"blocked\",\n location,\n proceed() {\n updateBlocker(blockerKey!, {\n state: \"proceeding\",\n proceed: undefined,\n reset: undefined,\n location,\n });\n // Re-do the same POP navigation we just blocked\n init.history.go(delta);\n },\n reset() {\n let blockers = new Map(state.blockers);\n blockers.set(blockerKey!, IDLE_BLOCKER);\n updateState({ blockers });\n },\n });\n return;\n }\n\n return startNavigation(historyAction, location);\n }\n );\n\n // Kick off initial data load if needed. Use Pop to avoid modifying history\n // Note we don't do any handling of lazy here. For SPA's it'll get handled\n // in the normal navigation flow. For SSR it's expected that lazy modules are\n // resolved prior to router creation since we can't go into a fallbackElement\n // UI for SSR'd apps\n if (!state.initialized) {\n startNavigation(HistoryAction.Pop, state.location);\n }\n\n return router;\n }\n\n // Clean up a router and it's side effects\n function dispose() {\n if (unlistenHistory) {\n unlistenHistory();\n }\n subscribers.clear();\n pendingNavigationController && pendingNavigationController.abort();\n state.fetchers.forEach((_, key) => deleteFetcher(key));\n state.blockers.forEach((_, key) => deleteBlocker(key));\n }\n\n // Subscribe to state updates for the router\n function subscribe(fn: RouterSubscriber) {\n subscribers.add(fn);\n return () => subscribers.delete(fn);\n }\n\n // Update our state and notify the calling context of the change\n function updateState(newState: Partial): void {\n state = {\n ...state,\n ...newState,\n };\n subscribers.forEach((subscriber) => subscriber(state));\n }\n\n // Complete a navigation returning the state.navigation back to the IDLE_NAVIGATION\n // and setting state.[historyAction/location/matches] to the new route.\n // - Location is a required param\n // - Navigation will always be set to IDLE_NAVIGATION\n // - Can pass any other state in newState\n function completeNavigation(\n location: Location,\n newState: Partial>\n ): void {\n // Deduce if we're in a loading/actionReload state:\n // - We have committed actionData in the store\n // - The current navigation was a mutation submission\n // - We're past the submitting state and into the loading state\n // - The location being loaded is not the result of a redirect\n let isActionReload =\n state.actionData != null &&\n state.navigation.formMethod != null &&\n isMutationMethod(state.navigation.formMethod) &&\n state.navigation.state === \"loading\" &&\n location.state?._isRedirect !== true;\n\n let actionData: RouteData | null;\n if (newState.actionData) {\n if (Object.keys(newState.actionData).length > 0) {\n actionData = newState.actionData;\n } else {\n // Empty actionData -> clear prior actionData due to an action error\n actionData = null;\n }\n } else if (isActionReload) {\n // Keep the current data if we're wrapping up the action reload\n actionData = state.actionData;\n } else {\n // Clear actionData on any other completed navigations\n actionData = null;\n }\n\n // Always preserve any existing loaderData from re-used routes\n let loaderData = newState.loaderData\n ? mergeLoaderData(\n state.loaderData,\n newState.loaderData,\n newState.matches || [],\n newState.errors\n )\n : state.loaderData;\n\n // On a successful navigation we can assume we got through all blockers\n // so we can start fresh\n let blockers = state.blockers;\n if (blockers.size > 0) {\n blockers = new Map(blockers);\n blockers.forEach((_, k) => blockers.set(k, IDLE_BLOCKER));\n }\n\n // Always respect the user flag. Otherwise don't reset on mutation\n // submission navigations unless they redirect\n let preventScrollReset =\n pendingPreventScrollReset === true ||\n (state.navigation.formMethod != null &&\n isMutationMethod(state.navigation.formMethod) &&\n location.state?._isRedirect !== true);\n\n if (inFlightDataRoutes) {\n dataRoutes = inFlightDataRoutes;\n inFlightDataRoutes = undefined;\n }\n\n if (isUninterruptedRevalidation) {\n // If this was an uninterrupted revalidation then do not touch history\n } else if (pendingAction === HistoryAction.Pop) {\n // Do nothing for POP - URL has already been updated\n } else if (pendingAction === HistoryAction.Push) {\n init.history.push(location, location.state);\n } else if (pendingAction === HistoryAction.Replace) {\n init.history.replace(location, location.state);\n }\n\n updateState({\n ...newState, // matches, errors, fetchers go through as-is\n actionData,\n loaderData,\n historyAction: pendingAction,\n location,\n initialized: true,\n navigation: IDLE_NAVIGATION,\n revalidation: \"idle\",\n restoreScrollPosition: getSavedScrollPosition(\n location,\n newState.matches || state.matches\n ),\n preventScrollReset,\n blockers,\n });\n\n // Reset stateful navigation vars\n pendingAction = HistoryAction.Pop;\n pendingPreventScrollReset = false;\n isUninterruptedRevalidation = false;\n isRevalidationRequired = false;\n cancelledDeferredRoutes = [];\n cancelledFetcherLoads = [];\n }\n\n // Trigger a navigation event, which can either be a numerical POP or a PUSH\n // replace with an optional submission\n async function navigate(\n to: number | To | null,\n opts?: RouterNavigateOptions\n ): Promise {\n if (typeof to === \"number\") {\n init.history.go(to);\n return;\n }\n\n let normalizedPath = normalizeTo(\n state.location,\n state.matches,\n basename,\n future.v7_prependBasename,\n to,\n opts?.fromRouteId,\n opts?.relative\n );\n let { path, submission, error } = normalizeNavigateOptions(\n future.v7_normalizeFormMethod,\n false,\n normalizedPath,\n opts\n );\n\n let currentLocation = state.location;\n let nextLocation = createLocation(state.location, path, opts && opts.state);\n\n // When using navigate as a PUSH/REPLACE we aren't reading an already-encoded\n // URL from window.location, so we need to encode it here so the behavior\n // remains the same as POP and non-data-router usages. new URL() does all\n // the same encoding we'd get from a history.pushState/window.location read\n // without having to touch history\n nextLocation = {\n ...nextLocation,\n ...init.history.encodeLocation(nextLocation),\n };\n\n let userReplace = opts && opts.replace != null ? opts.replace : undefined;\n\n let historyAction = HistoryAction.Push;\n\n if (userReplace === true) {\n historyAction = HistoryAction.Replace;\n } else if (userReplace === false) {\n // no-op\n } else if (\n submission != null &&\n isMutationMethod(submission.formMethod) &&\n submission.formAction === state.location.pathname + state.location.search\n ) {\n // By default on submissions to the current location we REPLACE so that\n // users don't have to double-click the back button to get to the prior\n // location. If the user redirects to a different location from the\n // action/loader this will be ignored and the redirect will be a PUSH\n historyAction = HistoryAction.Replace;\n }\n\n let preventScrollReset =\n opts && \"preventScrollReset\" in opts\n ? opts.preventScrollReset === true\n : undefined;\n\n let blockerKey = shouldBlockNavigation({\n currentLocation,\n nextLocation,\n historyAction,\n });\n\n if (blockerKey) {\n // Put the blocker into a blocked state\n updateBlocker(blockerKey, {\n state: \"blocked\",\n location: nextLocation,\n proceed() {\n updateBlocker(blockerKey!, {\n state: \"proceeding\",\n proceed: undefined,\n reset: undefined,\n location: nextLocation,\n });\n // Send the same navigation through\n navigate(to, opts);\n },\n reset() {\n let blockers = new Map(state.blockers);\n blockers.set(blockerKey!, IDLE_BLOCKER);\n updateState({ blockers });\n },\n });\n return;\n }\n\n return await startNavigation(historyAction, nextLocation, {\n submission,\n // Send through the formData serialization error if we have one so we can\n // render at the right error boundary after we match routes\n pendingError: error,\n preventScrollReset,\n replace: opts && opts.replace,\n });\n }\n\n // Revalidate all current loaders. If a navigation is in progress or if this\n // is interrupted by a navigation, allow this to \"succeed\" by calling all\n // loaders during the next loader round\n function revalidate() {\n interruptActiveLoads();\n updateState({ revalidation: \"loading\" });\n\n // If we're currently submitting an action, we don't need to start a new\n // navigation, we'll just let the follow up loader execution call all loaders\n if (state.navigation.state === \"submitting\") {\n return;\n }\n\n // If we're currently in an idle state, start a new navigation for the current\n // action/location and mark it as uninterrupted, which will skip the history\n // update in completeNavigation\n if (state.navigation.state === \"idle\") {\n startNavigation(state.historyAction, state.location, {\n startUninterruptedRevalidation: true,\n });\n return;\n }\n\n // Otherwise, if we're currently in a loading state, just start a new\n // navigation to the navigation.location but do not trigger an uninterrupted\n // revalidation so that history correctly updates once the navigation completes\n startNavigation(\n pendingAction || state.historyAction,\n state.navigation.location,\n { overrideNavigation: state.navigation }\n );\n }\n\n // Start a navigation to the given action/location. Can optionally provide a\n // overrideNavigation which will override the normalLoad in the case of a redirect\n // navigation\n async function startNavigation(\n historyAction: HistoryAction,\n location: Location,\n opts?: {\n submission?: Submission;\n fetcherSubmission?: Submission;\n overrideNavigation?: Navigation;\n pendingError?: ErrorResponseImpl;\n startUninterruptedRevalidation?: boolean;\n preventScrollReset?: boolean;\n replace?: boolean;\n }\n ): Promise {\n // Abort any in-progress navigations and start a new one. Unset any ongoing\n // uninterrupted revalidations unless told otherwise, since we want this\n // new navigation to update history normally\n pendingNavigationController && pendingNavigationController.abort();\n pendingNavigationController = null;\n pendingAction = historyAction;\n isUninterruptedRevalidation =\n (opts && opts.startUninterruptedRevalidation) === true;\n\n // Save the current scroll position every time we start a new navigation,\n // and track whether we should reset scroll on completion\n saveScrollPosition(state.location, state.matches);\n pendingPreventScrollReset = (opts && opts.preventScrollReset) === true;\n\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let loadingNavigation = opts && opts.overrideNavigation;\n let matches = matchRoutes(routesToUse, location, basename);\n\n // Short circuit with a 404 on the root error boundary if we match nothing\n if (!matches) {\n let error = getInternalRouterError(404, { pathname: location.pathname });\n let { matches: notFoundMatches, route } =\n getShortCircuitMatches(routesToUse);\n // Cancel all pending deferred on 404s since we don't keep any routes\n cancelActiveDeferreds();\n completeNavigation(location, {\n matches: notFoundMatches,\n loaderData: {},\n errors: {\n [route.id]: error,\n },\n });\n return;\n }\n\n // Short circuit if it's only a hash change and not a revalidation or\n // mutation submission.\n //\n // Ignore on initial page loads because since the initial load will always\n // be \"same hash\". For example, on /page#hash and submit a \n // which will default to a navigation to /page\n if (\n state.initialized &&\n !isRevalidationRequired &&\n isHashChangeOnly(state.location, location) &&\n !(opts && opts.submission && isMutationMethod(opts.submission.formMethod))\n ) {\n completeNavigation(location, { matches });\n return;\n }\n\n // Create a controller/Request for this navigation\n pendingNavigationController = new AbortController();\n let request = createClientSideRequest(\n init.history,\n location,\n pendingNavigationController.signal,\n opts && opts.submission\n );\n let pendingActionData: RouteData | undefined;\n let pendingError: RouteData | undefined;\n\n if (opts && opts.pendingError) {\n // If we have a pendingError, it means the user attempted a GET submission\n // with binary FormData so assign here and skip to handleLoaders. That\n // way we handle calling loaders above the boundary etc. It's not really\n // different from an actionError in that sense.\n pendingError = {\n [findNearestBoundary(matches).route.id]: opts.pendingError,\n };\n } else if (\n opts &&\n opts.submission &&\n isMutationMethod(opts.submission.formMethod)\n ) {\n // Call action if we received an action submission\n let actionOutput = await handleAction(\n request,\n location,\n opts.submission,\n matches,\n { replace: opts.replace }\n );\n\n if (actionOutput.shortCircuited) {\n return;\n }\n\n pendingActionData = actionOutput.pendingActionData;\n pendingError = actionOutput.pendingActionError;\n loadingNavigation = getLoadingNavigation(location, opts.submission);\n\n // Create a GET request for the loaders\n request = new Request(request.url, { signal: request.signal });\n }\n\n // Call loaders\n let { shortCircuited, loaderData, errors } = await handleLoaders(\n request,\n location,\n matches,\n loadingNavigation,\n opts && opts.submission,\n opts && opts.fetcherSubmission,\n opts && opts.replace,\n pendingActionData,\n pendingError\n );\n\n if (shortCircuited) {\n return;\n }\n\n // Clean up now that the action/loaders have completed. Don't clean up if\n // we short circuited because pendingNavigationController will have already\n // been assigned to a new controller for the next navigation\n pendingNavigationController = null;\n\n completeNavigation(location, {\n matches,\n ...(pendingActionData ? { actionData: pendingActionData } : {}),\n loaderData,\n errors,\n });\n }\n\n // Call the action matched by the leaf route for this navigation and handle\n // redirects/errors\n async function handleAction(\n request: Request,\n location: Location,\n submission: Submission,\n matches: AgnosticDataRouteMatch[],\n opts: { replace?: boolean } = {}\n ): Promise {\n interruptActiveLoads();\n\n // Put us in a submitting state\n let navigation = getSubmittingNavigation(location, submission);\n updateState({ navigation });\n\n // Call our action and get the result\n let result: DataResult;\n let actionMatch = getTargetMatch(matches, location);\n\n if (!actionMatch.route.action && !actionMatch.route.lazy) {\n result = {\n type: ResultType.error,\n error: getInternalRouterError(405, {\n method: request.method,\n pathname: location.pathname,\n routeId: actionMatch.route.id,\n }),\n };\n } else {\n result = await callLoaderOrAction(\n \"action\",\n request,\n actionMatch,\n matches,\n manifest,\n mapRouteProperties,\n basename\n );\n\n if (request.signal.aborted) {\n return { shortCircuited: true };\n }\n }\n\n if (isRedirectResult(result)) {\n let replace: boolean;\n if (opts && opts.replace != null) {\n replace = opts.replace;\n } else {\n // If the user didn't explicity indicate replace behavior, replace if\n // we redirected to the exact same location we're currently at to avoid\n // double back-buttons\n replace =\n result.location === state.location.pathname + state.location.search;\n }\n await startRedirectNavigation(state, result, { submission, replace });\n return { shortCircuited: true };\n }\n\n if (isErrorResult(result)) {\n // Store off the pending error - we use it to determine which loaders\n // to call and will commit it when we complete the navigation\n let boundaryMatch = findNearestBoundary(matches, actionMatch.route.id);\n\n // By default, all submissions are REPLACE navigations, but if the\n // action threw an error that'll be rendered in an errorElement, we fall\n // back to PUSH so that the user can use the back button to get back to\n // the pre-submission form location to try again\n if ((opts && opts.replace) !== true) {\n pendingAction = HistoryAction.Push;\n }\n\n return {\n // Send back an empty object we can use to clear out any prior actionData\n pendingActionData: {},\n pendingActionError: { [boundaryMatch.route.id]: result.error },\n };\n }\n\n if (isDeferredResult(result)) {\n throw getInternalRouterError(400, { type: \"defer-action\" });\n }\n\n return {\n pendingActionData: { [actionMatch.route.id]: result.data },\n };\n }\n\n // Call all applicable loaders for the given matches, handling redirects,\n // errors, etc.\n async function handleLoaders(\n request: Request,\n location: Location,\n matches: AgnosticDataRouteMatch[],\n overrideNavigation?: Navigation,\n submission?: Submission,\n fetcherSubmission?: Submission,\n replace?: boolean,\n pendingActionData?: RouteData,\n pendingError?: RouteData\n ): Promise {\n // Figure out the right navigation we want to use for data loading\n let loadingNavigation =\n overrideNavigation || getLoadingNavigation(location, submission);\n\n // If this was a redirect from an action we don't have a \"submission\" but\n // we have it on the loading navigation so use that if available\n let activeSubmission =\n submission ||\n fetcherSubmission ||\n getSubmissionFromNavigation(loadingNavigation);\n\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(\n init.history,\n state,\n matches,\n activeSubmission,\n location,\n isRevalidationRequired,\n cancelledDeferredRoutes,\n cancelledFetcherLoads,\n fetchLoadMatches,\n fetchRedirectIds,\n routesToUse,\n basename,\n pendingActionData,\n pendingError\n );\n\n // Cancel pending deferreds for no-longer-matched routes or routes we're\n // about to reload. Note that if this is an action reload we would have\n // already cancelled all pending deferreds so this would be a no-op\n cancelActiveDeferreds(\n (routeId) =>\n !(matches && matches.some((m) => m.route.id === routeId)) ||\n (matchesToLoad && matchesToLoad.some((m) => m.route.id === routeId))\n );\n\n pendingNavigationLoadId = ++incrementingLoadId;\n\n // Short circuit if we have no loaders to run\n if (matchesToLoad.length === 0 && revalidatingFetchers.length === 0) {\n let updatedFetchers = markFetchRedirectsDone();\n completeNavigation(location, {\n matches,\n loaderData: {},\n // Commit pending error if we're short circuiting\n errors: pendingError || null,\n ...(pendingActionData ? { actionData: pendingActionData } : {}),\n ...(updatedFetchers ? { fetchers: new Map(state.fetchers) } : {}),\n });\n return { shortCircuited: true };\n }\n\n // If this is an uninterrupted revalidation, we remain in our current idle\n // state. If not, we need to switch to our loading state and load data,\n // preserving any new action data or existing action data (in the case of\n // a revalidation interrupting an actionReload)\n if (!isUninterruptedRevalidation) {\n revalidatingFetchers.forEach((rf) => {\n let fetcher = state.fetchers.get(rf.key);\n let revalidatingFetcher = getLoadingFetcher(\n undefined,\n fetcher ? fetcher.data : undefined\n );\n state.fetchers.set(rf.key, revalidatingFetcher);\n });\n let actionData = pendingActionData || state.actionData;\n updateState({\n navigation: loadingNavigation,\n ...(actionData\n ? Object.keys(actionData).length === 0\n ? { actionData: null }\n : { actionData }\n : {}),\n ...(revalidatingFetchers.length > 0\n ? { fetchers: new Map(state.fetchers) }\n : {}),\n });\n }\n\n revalidatingFetchers.forEach((rf) => {\n if (fetchControllers.has(rf.key)) {\n abortFetcher(rf.key);\n }\n if (rf.controller) {\n // Fetchers use an independent AbortController so that aborting a fetcher\n // (via deleteFetcher) does not abort the triggering navigation that\n // triggered the revalidation\n fetchControllers.set(rf.key, rf.controller);\n }\n });\n\n // Proxy navigation abort through to revalidation fetchers\n let abortPendingFetchRevalidations = () =>\n revalidatingFetchers.forEach((f) => abortFetcher(f.key));\n if (pendingNavigationController) {\n pendingNavigationController.signal.addEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n }\n\n let { results, loaderResults, fetcherResults } =\n await callLoadersAndMaybeResolveData(\n state.matches,\n matches,\n matchesToLoad,\n revalidatingFetchers,\n request\n );\n\n if (request.signal.aborted) {\n return { shortCircuited: true };\n }\n\n // Clean up _after_ loaders have completed. Don't clean up if we short\n // circuited because fetchControllers would have been aborted and\n // reassigned to new controllers for the next navigation\n if (pendingNavigationController) {\n pendingNavigationController.signal.removeEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n }\n revalidatingFetchers.forEach((rf) => fetchControllers.delete(rf.key));\n\n // If any loaders returned a redirect Response, start a new REPLACE navigation\n let redirect = findRedirect(results);\n if (redirect) {\n if (redirect.idx >= matchesToLoad.length) {\n // If this redirect came from a fetcher make sure we mark it in\n // fetchRedirectIds so it doesn't get revalidated on the next set of\n // loader executions\n let fetcherKey =\n revalidatingFetchers[redirect.idx - matchesToLoad.length].key;\n fetchRedirectIds.add(fetcherKey);\n }\n await startRedirectNavigation(state, redirect.result, { replace });\n return { shortCircuited: true };\n }\n\n // Process and commit output from loaders\n let { loaderData, errors } = processLoaderData(\n state,\n matches,\n matchesToLoad,\n loaderResults,\n pendingError,\n revalidatingFetchers,\n fetcherResults,\n activeDeferreds\n );\n\n // Wire up subscribers to update loaderData as promises settle\n activeDeferreds.forEach((deferredData, routeId) => {\n deferredData.subscribe((aborted) => {\n // Note: No need to updateState here since the TrackedPromise on\n // loaderData is stable across resolve/reject\n // Remove this instance if we were aborted or if promises have settled\n if (aborted || deferredData.done) {\n activeDeferreds.delete(routeId);\n }\n });\n });\n\n let updatedFetchers = markFetchRedirectsDone();\n let didAbortFetchLoads = abortStaleFetchLoads(pendingNavigationLoadId);\n let shouldUpdateFetchers =\n updatedFetchers || didAbortFetchLoads || revalidatingFetchers.length > 0;\n\n return {\n loaderData,\n errors,\n ...(shouldUpdateFetchers ? { fetchers: new Map(state.fetchers) } : {}),\n };\n }\n\n function getFetcher(key: string): Fetcher {\n return state.fetchers.get(key) || IDLE_FETCHER;\n }\n\n // Trigger a fetcher load/submit for the given fetcher key\n function fetch(\n key: string,\n routeId: string,\n href: string | null,\n opts?: RouterFetchOptions\n ) {\n if (isServer) {\n throw new Error(\n \"router.fetch() was called during the server render, but it shouldn't be. \" +\n \"You are likely calling a useFetcher() method in the body of your component. \" +\n \"Try moving it to a useEffect or a callback.\"\n );\n }\n\n if (fetchControllers.has(key)) abortFetcher(key);\n\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let normalizedPath = normalizeTo(\n state.location,\n state.matches,\n basename,\n future.v7_prependBasename,\n href,\n routeId,\n opts?.relative\n );\n let matches = matchRoutes(routesToUse, normalizedPath, basename);\n\n if (!matches) {\n setFetcherError(\n key,\n routeId,\n getInternalRouterError(404, { pathname: normalizedPath })\n );\n return;\n }\n\n let { path, submission, error } = normalizeNavigateOptions(\n future.v7_normalizeFormMethod,\n true,\n normalizedPath,\n opts\n );\n\n if (error) {\n setFetcherError(key, routeId, error);\n return;\n }\n\n let match = getTargetMatch(matches, path);\n\n pendingPreventScrollReset = (opts && opts.preventScrollReset) === true;\n\n if (submission && isMutationMethod(submission.formMethod)) {\n handleFetcherAction(key, routeId, path, match, matches, submission);\n return;\n }\n\n // Store off the match so we can call it's shouldRevalidate on subsequent\n // revalidations\n fetchLoadMatches.set(key, { routeId, path });\n handleFetcherLoader(key, routeId, path, match, matches, submission);\n }\n\n // Call the action for the matched fetcher.submit(), and then handle redirects,\n // errors, and revalidation\n async function handleFetcherAction(\n key: string,\n routeId: string,\n path: string,\n match: AgnosticDataRouteMatch,\n requestMatches: AgnosticDataRouteMatch[],\n submission: Submission\n ) {\n interruptActiveLoads();\n fetchLoadMatches.delete(key);\n\n if (!match.route.action && !match.route.lazy) {\n let error = getInternalRouterError(405, {\n method: submission.formMethod,\n pathname: path,\n routeId: routeId,\n });\n setFetcherError(key, routeId, error);\n return;\n }\n\n // Put this fetcher into it's submitting state\n let existingFetcher = state.fetchers.get(key);\n let fetcher = getSubmittingFetcher(submission, existingFetcher);\n state.fetchers.set(key, fetcher);\n updateState({ fetchers: new Map(state.fetchers) });\n\n // Call the action for the fetcher\n let abortController = new AbortController();\n let fetchRequest = createClientSideRequest(\n init.history,\n path,\n abortController.signal,\n submission\n );\n fetchControllers.set(key, abortController);\n\n let originatingLoadId = incrementingLoadId;\n let actionResult = await callLoaderOrAction(\n \"action\",\n fetchRequest,\n match,\n requestMatches,\n manifest,\n mapRouteProperties,\n basename\n );\n\n if (fetchRequest.signal.aborted) {\n // We can delete this so long as we weren't aborted by ou our own fetcher\n // re-submit which would have put _new_ controller is in fetchControllers\n if (fetchControllers.get(key) === abortController) {\n fetchControllers.delete(key);\n }\n return;\n }\n\n if (isRedirectResult(actionResult)) {\n fetchControllers.delete(key);\n if (pendingNavigationLoadId > originatingLoadId) {\n // A new navigation was kicked off after our action started, so that\n // should take precedence over this redirect navigation. We already\n // set isRevalidationRequired so all loaders for the new route should\n // fire unless opted out via shouldRevalidate\n let doneFetcher = getDoneFetcher(undefined);\n state.fetchers.set(key, doneFetcher);\n updateState({ fetchers: new Map(state.fetchers) });\n return;\n } else {\n fetchRedirectIds.add(key);\n let loadingFetcher = getLoadingFetcher(submission);\n state.fetchers.set(key, loadingFetcher);\n updateState({ fetchers: new Map(state.fetchers) });\n\n return startRedirectNavigation(state, actionResult, {\n fetcherSubmission: submission,\n });\n }\n }\n\n // Process any non-redirect errors thrown\n if (isErrorResult(actionResult)) {\n setFetcherError(key, routeId, actionResult.error);\n return;\n }\n\n if (isDeferredResult(actionResult)) {\n throw getInternalRouterError(400, { type: \"defer-action\" });\n }\n\n // Start the data load for current matches, or the next location if we're\n // in the middle of a navigation\n let nextLocation = state.navigation.location || state.location;\n let revalidationRequest = createClientSideRequest(\n init.history,\n nextLocation,\n abortController.signal\n );\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let matches =\n state.navigation.state !== \"idle\"\n ? matchRoutes(routesToUse, state.navigation.location, basename)\n : state.matches;\n\n invariant(matches, \"Didn't find any matches after fetcher action\");\n\n let loadId = ++incrementingLoadId;\n fetchReloadIds.set(key, loadId);\n\n let loadFetcher = getLoadingFetcher(submission, actionResult.data);\n state.fetchers.set(key, loadFetcher);\n\n let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(\n init.history,\n state,\n matches,\n submission,\n nextLocation,\n isRevalidationRequired,\n cancelledDeferredRoutes,\n cancelledFetcherLoads,\n fetchLoadMatches,\n fetchRedirectIds,\n routesToUse,\n basename,\n { [match.route.id]: actionResult.data },\n undefined // No need to send through errors since we short circuit above\n );\n\n // Put all revalidating fetchers into the loading state, except for the\n // current fetcher which we want to keep in it's current loading state which\n // contains it's action submission info + action data\n revalidatingFetchers\n .filter((rf) => rf.key !== key)\n .forEach((rf) => {\n let staleKey = rf.key;\n let existingFetcher = state.fetchers.get(staleKey);\n let revalidatingFetcher = getLoadingFetcher(\n undefined,\n existingFetcher ? existingFetcher.data : undefined\n );\n state.fetchers.set(staleKey, revalidatingFetcher);\n if (fetchControllers.has(staleKey)) {\n abortFetcher(staleKey);\n }\n if (rf.controller) {\n fetchControllers.set(staleKey, rf.controller);\n }\n });\n\n updateState({ fetchers: new Map(state.fetchers) });\n\n let abortPendingFetchRevalidations = () =>\n revalidatingFetchers.forEach((rf) => abortFetcher(rf.key));\n\n abortController.signal.addEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n\n let { results, loaderResults, fetcherResults } =\n await callLoadersAndMaybeResolveData(\n state.matches,\n matches,\n matchesToLoad,\n revalidatingFetchers,\n revalidationRequest\n );\n\n if (abortController.signal.aborted) {\n return;\n }\n\n abortController.signal.removeEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n\n fetchReloadIds.delete(key);\n fetchControllers.delete(key);\n revalidatingFetchers.forEach((r) => fetchControllers.delete(r.key));\n\n let redirect = findRedirect(results);\n if (redirect) {\n if (redirect.idx >= matchesToLoad.length) {\n // If this redirect came from a fetcher make sure we mark it in\n // fetchRedirectIds so it doesn't get revalidated on the next set of\n // loader executions\n let fetcherKey =\n revalidatingFetchers[redirect.idx - matchesToLoad.length].key;\n fetchRedirectIds.add(fetcherKey);\n }\n return startRedirectNavigation(state, redirect.result);\n }\n\n // Process and commit output from loaders\n let { loaderData, errors } = processLoaderData(\n state,\n state.matches,\n matchesToLoad,\n loaderResults,\n undefined,\n revalidatingFetchers,\n fetcherResults,\n activeDeferreds\n );\n\n // Since we let revalidations complete even if the submitting fetcher was\n // deleted, only put it back to idle if it hasn't been deleted\n if (state.fetchers.has(key)) {\n let doneFetcher = getDoneFetcher(actionResult.data);\n state.fetchers.set(key, doneFetcher);\n }\n\n let didAbortFetchLoads = abortStaleFetchLoads(loadId);\n\n // If we are currently in a navigation loading state and this fetcher is\n // more recent than the navigation, we want the newer data so abort the\n // navigation and complete it with the fetcher data\n if (\n state.navigation.state === \"loading\" &&\n loadId > pendingNavigationLoadId\n ) {\n invariant(pendingAction, \"Expected pending action\");\n pendingNavigationController && pendingNavigationController.abort();\n\n completeNavigation(state.navigation.location, {\n matches,\n loaderData,\n errors,\n fetchers: new Map(state.fetchers),\n });\n } else {\n // otherwise just update with the fetcher data, preserving any existing\n // loaderData for loaders that did not need to reload. We have to\n // manually merge here since we aren't going through completeNavigation\n updateState({\n errors,\n loaderData: mergeLoaderData(\n state.loaderData,\n loaderData,\n matches,\n errors\n ),\n ...(didAbortFetchLoads || revalidatingFetchers.length > 0\n ? { fetchers: new Map(state.fetchers) }\n : {}),\n });\n isRevalidationRequired = false;\n }\n }\n\n // Call the matched loader for fetcher.load(), handling redirects, errors, etc.\n async function handleFetcherLoader(\n key: string,\n routeId: string,\n path: string,\n match: AgnosticDataRouteMatch,\n matches: AgnosticDataRouteMatch[],\n submission?: Submission\n ) {\n let existingFetcher = state.fetchers.get(key);\n // Put this fetcher into it's loading state\n let loadingFetcher = getLoadingFetcher(\n submission,\n existingFetcher ? existingFetcher.data : undefined\n );\n state.fetchers.set(key, loadingFetcher);\n updateState({ fetchers: new Map(state.fetchers) });\n\n // Call the loader for this fetcher route match\n let abortController = new AbortController();\n let fetchRequest = createClientSideRequest(\n init.history,\n path,\n abortController.signal\n );\n fetchControllers.set(key, abortController);\n\n let originatingLoadId = incrementingLoadId;\n let result: DataResult = await callLoaderOrAction(\n \"loader\",\n fetchRequest,\n match,\n matches,\n manifest,\n mapRouteProperties,\n basename\n );\n\n // Deferred isn't supported for fetcher loads, await everything and treat it\n // as a normal load. resolveDeferredData will return undefined if this\n // fetcher gets aborted, so we just leave result untouched and short circuit\n // below if that happens\n if (isDeferredResult(result)) {\n result =\n (await resolveDeferredData(result, fetchRequest.signal, true)) ||\n result;\n }\n\n // We can delete this so long as we weren't aborted by our our own fetcher\n // re-load which would have put _new_ controller is in fetchControllers\n if (fetchControllers.get(key) === abortController) {\n fetchControllers.delete(key);\n }\n\n if (fetchRequest.signal.aborted) {\n return;\n }\n\n // If the loader threw a redirect Response, start a new REPLACE navigation\n if (isRedirectResult(result)) {\n if (pendingNavigationLoadId > originatingLoadId) {\n // A new navigation was kicked off after our loader started, so that\n // should take precedence over this redirect navigation\n let doneFetcher = getDoneFetcher(undefined);\n state.fetchers.set(key, doneFetcher);\n updateState({ fetchers: new Map(state.fetchers) });\n return;\n } else {\n fetchRedirectIds.add(key);\n await startRedirectNavigation(state, result);\n return;\n }\n }\n\n // Process any non-redirect errors thrown\n if (isErrorResult(result)) {\n let boundaryMatch = findNearestBoundary(state.matches, routeId);\n state.fetchers.delete(key);\n // TODO: In remix, this would reset to IDLE_NAVIGATION if it was a catch -\n // do we need to behave any differently with our non-redirect errors?\n // What if it was a non-redirect Response?\n updateState({\n fetchers: new Map(state.fetchers),\n errors: {\n [boundaryMatch.route.id]: result.error,\n },\n });\n return;\n }\n\n invariant(!isDeferredResult(result), \"Unhandled fetcher deferred data\");\n\n // Put the fetcher back into an idle state\n let doneFetcher = getDoneFetcher(result.data);\n state.fetchers.set(key, doneFetcher);\n updateState({ fetchers: new Map(state.fetchers) });\n }\n\n /**\n * Utility function to handle redirects returned from an action or loader.\n * Normally, a redirect \"replaces\" the navigation that triggered it. So, for\n * example:\n *\n * - user is on /a\n * - user clicks a link to /b\n * - loader for /b redirects to /c\n *\n * In a non-JS app the browser would track the in-flight navigation to /b and\n * then replace it with /c when it encountered the redirect response. In\n * the end it would only ever update the URL bar with /c.\n *\n * In client-side routing using pushState/replaceState, we aim to emulate\n * this behavior and we also do not update history until the end of the\n * navigation (including processed redirects). This means that we never\n * actually touch history until we've processed redirects, so we just use\n * the history action from the original navigation (PUSH or REPLACE).\n */\n async function startRedirectNavigation(\n state: RouterState,\n redirect: RedirectResult,\n {\n submission,\n fetcherSubmission,\n replace,\n }: {\n submission?: Submission;\n fetcherSubmission?: Submission;\n replace?: boolean;\n } = {}\n ) {\n if (redirect.revalidate) {\n isRevalidationRequired = true;\n }\n\n let redirectLocation = createLocation(state.location, redirect.location, {\n _isRedirect: true,\n });\n invariant(\n redirectLocation,\n \"Expected a location on the redirect navigation\"\n );\n\n if (isBrowser) {\n let isDocumentReload = false;\n\n if (redirect.reloadDocument) {\n // Hard reload if the response contained X-Remix-Reload-Document\n isDocumentReload = true;\n } else if (ABSOLUTE_URL_REGEX.test(redirect.location)) {\n const url = init.history.createURL(redirect.location);\n isDocumentReload =\n // Hard reload if it's an absolute URL to a new origin\n url.origin !== routerWindow.location.origin ||\n // Hard reload if it's an absolute URL that does not match our basename\n stripBasename(url.pathname, basename) == null;\n }\n\n if (isDocumentReload) {\n if (replace) {\n routerWindow.location.replace(redirect.location);\n } else {\n routerWindow.location.assign(redirect.location);\n }\n return;\n }\n }\n\n // There's no need to abort on redirects, since we don't detect the\n // redirect until the action/loaders have settled\n pendingNavigationController = null;\n\n let redirectHistoryAction =\n replace === true ? HistoryAction.Replace : HistoryAction.Push;\n\n // Use the incoming submission if provided, fallback on the active one in\n // state.navigation\n let { formMethod, formAction, formEncType } = state.navigation;\n if (\n !submission &&\n !fetcherSubmission &&\n formMethod &&\n formAction &&\n formEncType\n ) {\n submission = getSubmissionFromNavigation(state.navigation);\n }\n\n // If this was a 307/308 submission we want to preserve the HTTP method and\n // re-submit the GET/POST/PUT/PATCH/DELETE as a submission navigation to the\n // redirected location\n let activeSubmission = submission || fetcherSubmission;\n if (\n redirectPreserveMethodStatusCodes.has(redirect.status) &&\n activeSubmission &&\n isMutationMethod(activeSubmission.formMethod)\n ) {\n await startNavigation(redirectHistoryAction, redirectLocation, {\n submission: {\n ...activeSubmission,\n formAction: redirect.location,\n },\n // Preserve this flag across redirects\n preventScrollReset: pendingPreventScrollReset,\n });\n } else {\n // If we have a navigation submission, we will preserve it through the\n // redirect navigation\n let overrideNavigation = getLoadingNavigation(\n redirectLocation,\n submission\n );\n await startNavigation(redirectHistoryAction, redirectLocation, {\n overrideNavigation,\n // Send fetcher submissions through for shouldRevalidate\n fetcherSubmission,\n // Preserve this flag across redirects\n preventScrollReset: pendingPreventScrollReset,\n });\n }\n }\n\n async function callLoadersAndMaybeResolveData(\n currentMatches: AgnosticDataRouteMatch[],\n matches: AgnosticDataRouteMatch[],\n matchesToLoad: AgnosticDataRouteMatch[],\n fetchersToLoad: RevalidatingFetcher[],\n request: Request\n ) {\n // Call all navigation loaders and revalidating fetcher loaders in parallel,\n // then slice off the results into separate arrays so we can handle them\n // accordingly\n let results = await Promise.all([\n ...matchesToLoad.map((match) =>\n callLoaderOrAction(\n \"loader\",\n request,\n match,\n matches,\n manifest,\n mapRouteProperties,\n basename\n )\n ),\n ...fetchersToLoad.map((f) => {\n if (f.matches && f.match && f.controller) {\n return callLoaderOrAction(\n \"loader\",\n createClientSideRequest(init.history, f.path, f.controller.signal),\n f.match,\n f.matches,\n manifest,\n mapRouteProperties,\n basename\n );\n } else {\n let error: ErrorResult = {\n type: ResultType.error,\n error: getInternalRouterError(404, { pathname: f.path }),\n };\n return error;\n }\n }),\n ]);\n let loaderResults = results.slice(0, matchesToLoad.length);\n let fetcherResults = results.slice(matchesToLoad.length);\n\n await Promise.all([\n resolveDeferredResults(\n currentMatches,\n matchesToLoad,\n loaderResults,\n loaderResults.map(() => request.signal),\n false,\n state.loaderData\n ),\n resolveDeferredResults(\n currentMatches,\n fetchersToLoad.map((f) => f.match),\n fetcherResults,\n fetchersToLoad.map((f) => (f.controller ? f.controller.signal : null)),\n true\n ),\n ]);\n\n return { results, loaderResults, fetcherResults };\n }\n\n function interruptActiveLoads() {\n // Every interruption triggers a revalidation\n isRevalidationRequired = true;\n\n // Cancel pending route-level deferreds and mark cancelled routes for\n // revalidation\n cancelledDeferredRoutes.push(...cancelActiveDeferreds());\n\n // Abort in-flight fetcher loads\n fetchLoadMatches.forEach((_, key) => {\n if (fetchControllers.has(key)) {\n cancelledFetcherLoads.push(key);\n abortFetcher(key);\n }\n });\n }\n\n function setFetcherError(key: string, routeId: string, error: any) {\n let boundaryMatch = findNearestBoundary(state.matches, routeId);\n deleteFetcher(key);\n updateState({\n errors: {\n [boundaryMatch.route.id]: error,\n },\n fetchers: new Map(state.fetchers),\n });\n }\n\n function deleteFetcher(key: string): void {\n let fetcher = state.fetchers.get(key);\n // Don't abort the controller if this is a deletion of a fetcher.submit()\n // in it's loading phase since - we don't want to abort the corresponding\n // revalidation and want them to complete and land\n if (\n fetchControllers.has(key) &&\n !(fetcher && fetcher.state === \"loading\" && fetchReloadIds.has(key))\n ) {\n abortFetcher(key);\n }\n fetchLoadMatches.delete(key);\n fetchReloadIds.delete(key);\n fetchRedirectIds.delete(key);\n state.fetchers.delete(key);\n }\n\n function abortFetcher(key: string) {\n let controller = fetchControllers.get(key);\n invariant(controller, `Expected fetch controller: ${key}`);\n controller.abort();\n fetchControllers.delete(key);\n }\n\n function markFetchersDone(keys: string[]) {\n for (let key of keys) {\n let fetcher = getFetcher(key);\n let doneFetcher = getDoneFetcher(fetcher.data);\n state.fetchers.set(key, doneFetcher);\n }\n }\n\n function markFetchRedirectsDone(): boolean {\n let doneKeys = [];\n let updatedFetchers = false;\n for (let key of fetchRedirectIds) {\n let fetcher = state.fetchers.get(key);\n invariant(fetcher, `Expected fetcher: ${key}`);\n if (fetcher.state === \"loading\") {\n fetchRedirectIds.delete(key);\n doneKeys.push(key);\n updatedFetchers = true;\n }\n }\n markFetchersDone(doneKeys);\n return updatedFetchers;\n }\n\n function abortStaleFetchLoads(landedId: number): boolean {\n let yeetedKeys = [];\n for (let [key, id] of fetchReloadIds) {\n if (id < landedId) {\n let fetcher = state.fetchers.get(key);\n invariant(fetcher, `Expected fetcher: ${key}`);\n if (fetcher.state === \"loading\") {\n abortFetcher(key);\n fetchReloadIds.delete(key);\n yeetedKeys.push(key);\n }\n }\n }\n markFetchersDone(yeetedKeys);\n return yeetedKeys.length > 0;\n }\n\n function getBlocker(key: string, fn: BlockerFunction) {\n let blocker: Blocker = state.blockers.get(key) || IDLE_BLOCKER;\n\n if (blockerFunctions.get(key) !== fn) {\n blockerFunctions.set(key, fn);\n }\n\n return blocker;\n }\n\n function deleteBlocker(key: string) {\n state.blockers.delete(key);\n blockerFunctions.delete(key);\n }\n\n // Utility function to update blockers, ensuring valid state transitions\n function updateBlocker(key: string, newBlocker: Blocker) {\n let blocker = state.blockers.get(key) || IDLE_BLOCKER;\n\n // Poor mans state machine :)\n // https://mermaid.live/edit#pako:eNqVkc9OwzAMxl8l8nnjAYrEtDIOHEBIgwvKJTReGy3_lDpIqO27k6awMG0XcrLlnz87nwdonESogKXXBuE79rq75XZO3-yHds0RJVuv70YrPlUrCEe2HfrORS3rubqZfuhtpg5C9wk5tZ4VKcRUq88q9Z8RS0-48cE1iHJkL0ugbHuFLus9L6spZy8nX9MP2CNdomVaposqu3fGayT8T8-jJQwhepo_UtpgBQaDEUom04dZhAN1aJBDlUKJBxE1ceB2Smj0Mln-IBW5AFU2dwUiktt_2Qaq2dBfaKdEup85UV7Yd-dKjlnkabl2Pvr0DTkTreM\n invariant(\n (blocker.state === \"unblocked\" && newBlocker.state === \"blocked\") ||\n (blocker.state === \"blocked\" && newBlocker.state === \"blocked\") ||\n (blocker.state === \"blocked\" && newBlocker.state === \"proceeding\") ||\n (blocker.state === \"blocked\" && newBlocker.state === \"unblocked\") ||\n (blocker.state === \"proceeding\" && newBlocker.state === \"unblocked\"),\n `Invalid blocker state transition: ${blocker.state} -> ${newBlocker.state}`\n );\n\n let blockers = new Map(state.blockers);\n blockers.set(key, newBlocker);\n updateState({ blockers });\n }\n\n function shouldBlockNavigation({\n currentLocation,\n nextLocation,\n historyAction,\n }: {\n currentLocation: Location;\n nextLocation: Location;\n historyAction: HistoryAction;\n }): string | undefined {\n if (blockerFunctions.size === 0) {\n return;\n }\n\n // We ony support a single active blocker at the moment since we don't have\n // any compelling use cases for multi-blocker yet\n if (blockerFunctions.size > 1) {\n warning(false, \"A router only supports one blocker at a time\");\n }\n\n let entries = Array.from(blockerFunctions.entries());\n let [blockerKey, blockerFunction] = entries[entries.length - 1];\n let blocker = state.blockers.get(blockerKey);\n\n if (blocker && blocker.state === \"proceeding\") {\n // If the blocker is currently proceeding, we don't need to re-check\n // it and can let this navigation continue\n return;\n }\n\n // At this point, we know we're unblocked/blocked so we need to check the\n // user-provided blocker function\n if (blockerFunction({ currentLocation, nextLocation, historyAction })) {\n return blockerKey;\n }\n }\n\n function cancelActiveDeferreds(\n predicate?: (routeId: string) => boolean\n ): string[] {\n let cancelledRouteIds: string[] = [];\n activeDeferreds.forEach((dfd, routeId) => {\n if (!predicate || predicate(routeId)) {\n // Cancel the deferred - but do not remove from activeDeferreds here -\n // we rely on the subscribers to do that so our tests can assert proper\n // cleanup via _internalActiveDeferreds\n dfd.cancel();\n cancelledRouteIds.push(routeId);\n activeDeferreds.delete(routeId);\n }\n });\n return cancelledRouteIds;\n }\n\n // Opt in to capturing and reporting scroll positions during navigations,\n // used by the component\n function enableScrollRestoration(\n positions: Record,\n getPosition: GetScrollPositionFunction,\n getKey?: GetScrollRestorationKeyFunction\n ) {\n savedScrollPositions = positions;\n getScrollPosition = getPosition;\n getScrollRestorationKey = getKey || null;\n\n // Perform initial hydration scroll restoration, since we miss the boat on\n // the initial updateState() because we've not yet rendered \n // and therefore have no savedScrollPositions available\n if (!initialScrollRestored && state.navigation === IDLE_NAVIGATION) {\n initialScrollRestored = true;\n let y = getSavedScrollPosition(state.location, state.matches);\n if (y != null) {\n updateState({ restoreScrollPosition: y });\n }\n }\n\n return () => {\n savedScrollPositions = null;\n getScrollPosition = null;\n getScrollRestorationKey = null;\n };\n }\n\n function getScrollKey(location: Location, matches: AgnosticDataRouteMatch[]) {\n if (getScrollRestorationKey) {\n let key = getScrollRestorationKey(\n location,\n matches.map((m) => convertRouteMatchToUiMatch(m, state.loaderData))\n );\n return key || location.key;\n }\n return location.key;\n }\n\n function saveScrollPosition(\n location: Location,\n matches: AgnosticDataRouteMatch[]\n ): void {\n if (savedScrollPositions && getScrollPosition) {\n let key = getScrollKey(location, matches);\n savedScrollPositions[key] = getScrollPosition();\n }\n }\n\n function getSavedScrollPosition(\n location: Location,\n matches: AgnosticDataRouteMatch[]\n ): number | null {\n if (savedScrollPositions) {\n let key = getScrollKey(location, matches);\n let y = savedScrollPositions[key];\n if (typeof y === \"number\") {\n return y;\n }\n }\n return null;\n }\n\n function _internalSetRoutes(newRoutes: AgnosticDataRouteObject[]) {\n manifest = {};\n inFlightDataRoutes = convertRoutesToDataRoutes(\n newRoutes,\n mapRouteProperties,\n undefined,\n manifest\n );\n }\n\n router = {\n get basename() {\n return basename;\n },\n get state() {\n return state;\n },\n get routes() {\n return dataRoutes;\n },\n initialize,\n subscribe,\n enableScrollRestoration,\n navigate,\n fetch,\n revalidate,\n // Passthrough to history-aware createHref used by useHref so we get proper\n // hash-aware URLs in DOM paths\n createHref: (to: To) => init.history.createHref(to),\n encodeLocation: (to: To) => init.history.encodeLocation(to),\n getFetcher,\n deleteFetcher,\n dispose,\n getBlocker,\n deleteBlocker,\n _internalFetchControllers: fetchControllers,\n _internalActiveDeferreds: activeDeferreds,\n // TODO: Remove setRoutes, it's temporary to avoid dealing with\n // updating the tree while validating the update algorithm.\n _internalSetRoutes,\n };\n\n return router;\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region createStaticHandler\n////////////////////////////////////////////////////////////////////////////////\n\nexport const UNSAFE_DEFERRED_SYMBOL = Symbol(\"deferred\");\n\nexport interface CreateStaticHandlerOptions {\n basename?: string;\n /**\n * @deprecated Use `mapRouteProperties` instead\n */\n detectErrorBoundary?: DetectErrorBoundaryFunction;\n mapRouteProperties?: MapRoutePropertiesFunction;\n}\n\nexport function createStaticHandler(\n routes: AgnosticRouteObject[],\n opts?: CreateStaticHandlerOptions\n): StaticHandler {\n invariant(\n routes.length > 0,\n \"You must provide a non-empty routes array to createStaticHandler\"\n );\n\n let manifest: RouteManifest = {};\n let basename = (opts ? opts.basename : null) || \"/\";\n let mapRouteProperties: MapRoutePropertiesFunction;\n if (opts?.mapRouteProperties) {\n mapRouteProperties = opts.mapRouteProperties;\n } else if (opts?.detectErrorBoundary) {\n // If they are still using the deprecated version, wrap it with the new API\n let detectErrorBoundary = opts.detectErrorBoundary;\n mapRouteProperties = (route) => ({\n hasErrorBoundary: detectErrorBoundary(route),\n });\n } else {\n mapRouteProperties = defaultMapRouteProperties;\n }\n\n let dataRoutes = convertRoutesToDataRoutes(\n routes,\n mapRouteProperties,\n undefined,\n manifest\n );\n\n /**\n * The query() method is intended for document requests, in which we want to\n * call an optional action and potentially multiple loaders for all nested\n * routes. It returns a StaticHandlerContext object, which is very similar\n * to the router state (location, loaderData, actionData, errors, etc.) and\n * also adds SSR-specific information such as the statusCode and headers\n * from action/loaders Responses.\n *\n * It _should_ never throw and should report all errors through the\n * returned context.errors object, properly associating errors to their error\n * boundary. Additionally, it tracks _deepestRenderedBoundaryId which can be\n * used to emulate React error boundaries during SSr by performing a second\n * pass only down to the boundaryId.\n *\n * The one exception where we do not return a StaticHandlerContext is when a\n * redirect response is returned or thrown from any action/loader. We\n * propagate that out and return the raw Response so the HTTP server can\n * return it directly.\n */\n async function query(\n request: Request,\n { requestContext }: { requestContext?: unknown } = {}\n ): Promise {\n let url = new URL(request.url);\n let method = request.method;\n let location = createLocation(\"\", createPath(url), null, \"default\");\n let matches = matchRoutes(dataRoutes, location, basename);\n\n // SSR supports HEAD requests while SPA doesn't\n if (!isValidMethod(method) && method !== \"HEAD\") {\n let error = getInternalRouterError(405, { method });\n let { matches: methodNotAllowedMatches, route } =\n getShortCircuitMatches(dataRoutes);\n return {\n basename,\n location,\n matches: methodNotAllowedMatches,\n loaderData: {},\n actionData: null,\n errors: {\n [route.id]: error,\n },\n statusCode: error.status,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null,\n };\n } else if (!matches) {\n let error = getInternalRouterError(404, { pathname: location.pathname });\n let { matches: notFoundMatches, route } =\n getShortCircuitMatches(dataRoutes);\n return {\n basename,\n location,\n matches: notFoundMatches,\n loaderData: {},\n actionData: null,\n errors: {\n [route.id]: error,\n },\n statusCode: error.status,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null,\n };\n }\n\n let result = await queryImpl(request, location, matches, requestContext);\n if (isResponse(result)) {\n return result;\n }\n\n // When returning StaticHandlerContext, we patch back in the location here\n // since we need it for React Context. But this helps keep our submit and\n // loadRouteData operating on a Request instead of a Location\n return { location, basename, ...result };\n }\n\n /**\n * The queryRoute() method is intended for targeted route requests, either\n * for fetch ?_data requests or resource route requests. In this case, we\n * are only ever calling a single action or loader, and we are returning the\n * returned value directly. In most cases, this will be a Response returned\n * from the action/loader, but it may be a primitive or other value as well -\n * and in such cases the calling context should handle that accordingly.\n *\n * We do respect the throw/return differentiation, so if an action/loader\n * throws, then this method will throw the value. This is important so we\n * can do proper boundary identification in Remix where a thrown Response\n * must go to the Catch Boundary but a returned Response is happy-path.\n *\n * One thing to note is that any Router-initiated Errors that make sense\n * to associate with a status code will be thrown as an ErrorResponse\n * instance which include the raw Error, such that the calling context can\n * serialize the error as they see fit while including the proper response\n * code. Examples here are 404 and 405 errors that occur prior to reaching\n * any user-defined loaders.\n */\n async function queryRoute(\n request: Request,\n {\n routeId,\n requestContext,\n }: { requestContext?: unknown; routeId?: string } = {}\n ): Promise {\n let url = new URL(request.url);\n let method = request.method;\n let location = createLocation(\"\", createPath(url), null, \"default\");\n let matches = matchRoutes(dataRoutes, location, basename);\n\n // SSR supports HEAD requests while SPA doesn't\n if (!isValidMethod(method) && method !== \"HEAD\" && method !== \"OPTIONS\") {\n throw getInternalRouterError(405, { method });\n } else if (!matches) {\n throw getInternalRouterError(404, { pathname: location.pathname });\n }\n\n let match = routeId\n ? matches.find((m) => m.route.id === routeId)\n : getTargetMatch(matches, location);\n\n if (routeId && !match) {\n throw getInternalRouterError(403, {\n pathname: location.pathname,\n routeId,\n });\n } else if (!match) {\n // This should never hit I don't think?\n throw getInternalRouterError(404, { pathname: location.pathname });\n }\n\n let result = await queryImpl(\n request,\n location,\n matches,\n requestContext,\n match\n );\n if (isResponse(result)) {\n return result;\n }\n\n let error = result.errors ? Object.values(result.errors)[0] : undefined;\n if (error !== undefined) {\n // If we got back result.errors, that means the loader/action threw\n // _something_ that wasn't a Response, but it's not guaranteed/required\n // to be an `instanceof Error` either, so we have to use throw here to\n // preserve the \"error\" state outside of queryImpl.\n throw error;\n }\n\n // Pick off the right state value to return\n if (result.actionData) {\n return Object.values(result.actionData)[0];\n }\n\n if (result.loaderData) {\n let data = Object.values(result.loaderData)[0];\n if (result.activeDeferreds?.[match.route.id]) {\n data[UNSAFE_DEFERRED_SYMBOL] = result.activeDeferreds[match.route.id];\n }\n return data;\n }\n\n return undefined;\n }\n\n async function queryImpl(\n request: Request,\n location: Location,\n matches: AgnosticDataRouteMatch[],\n requestContext: unknown,\n routeMatch?: AgnosticDataRouteMatch\n ): Promise | Response> {\n invariant(\n request.signal,\n \"query()/queryRoute() requests must contain an AbortController signal\"\n );\n\n try {\n if (isMutationMethod(request.method.toLowerCase())) {\n let result = await submit(\n request,\n matches,\n routeMatch || getTargetMatch(matches, location),\n requestContext,\n routeMatch != null\n );\n return result;\n }\n\n let result = await loadRouteData(\n request,\n matches,\n requestContext,\n routeMatch\n );\n return isResponse(result)\n ? result\n : {\n ...result,\n actionData: null,\n actionHeaders: {},\n };\n } catch (e) {\n // If the user threw/returned a Response in callLoaderOrAction, we throw\n // it to bail out and then return or throw here based on whether the user\n // returned or threw\n if (isQueryRouteResponse(e)) {\n if (e.type === ResultType.error) {\n throw e.response;\n }\n return e.response;\n }\n // Redirects are always returned since they don't propagate to catch\n // boundaries\n if (isRedirectResponse(e)) {\n return e;\n }\n throw e;\n }\n }\n\n async function submit(\n request: Request,\n matches: AgnosticDataRouteMatch[],\n actionMatch: AgnosticDataRouteMatch,\n requestContext: unknown,\n isRouteRequest: boolean\n ): Promise | Response> {\n let result: DataResult;\n\n if (!actionMatch.route.action && !actionMatch.route.lazy) {\n let error = getInternalRouterError(405, {\n method: request.method,\n pathname: new URL(request.url).pathname,\n routeId: actionMatch.route.id,\n });\n if (isRouteRequest) {\n throw error;\n }\n result = {\n type: ResultType.error,\n error,\n };\n } else {\n result = await callLoaderOrAction(\n \"action\",\n request,\n actionMatch,\n matches,\n manifest,\n mapRouteProperties,\n basename,\n { isStaticRequest: true, isRouteRequest, requestContext }\n );\n\n if (request.signal.aborted) {\n let method = isRouteRequest ? \"queryRoute\" : \"query\";\n throw new Error(\n `${method}() call aborted: ${request.method} ${request.url}`\n );\n }\n }\n\n if (isRedirectResult(result)) {\n // Uhhhh - this should never happen, we should always throw these from\n // callLoaderOrAction, but the type narrowing here keeps TS happy and we\n // can get back on the \"throw all redirect responses\" train here should\n // this ever happen :/\n throw new Response(null, {\n status: result.status,\n headers: {\n Location: result.location,\n },\n });\n }\n\n if (isDeferredResult(result)) {\n let error = getInternalRouterError(400, { type: \"defer-action\" });\n if (isRouteRequest) {\n throw error;\n }\n result = {\n type: ResultType.error,\n error,\n };\n }\n\n if (isRouteRequest) {\n // Note: This should only be non-Response values if we get here, since\n // isRouteRequest should throw any Response received in callLoaderOrAction\n if (isErrorResult(result)) {\n throw result.error;\n }\n\n return {\n matches: [actionMatch],\n loaderData: {},\n actionData: { [actionMatch.route.id]: result.data },\n errors: null,\n // Note: statusCode + headers are unused here since queryRoute will\n // return the raw Response or value\n statusCode: 200,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null,\n };\n }\n\n if (isErrorResult(result)) {\n // Store off the pending error - we use it to determine which loaders\n // to call and will commit it when we complete the navigation\n let boundaryMatch = findNearestBoundary(matches, actionMatch.route.id);\n let context = await loadRouteData(\n request,\n matches,\n requestContext,\n undefined,\n {\n [boundaryMatch.route.id]: result.error,\n }\n );\n\n // action status codes take precedence over loader status codes\n return {\n ...context,\n statusCode: isRouteErrorResponse(result.error)\n ? result.error.status\n : 500,\n actionData: null,\n actionHeaders: {\n ...(result.headers ? { [actionMatch.route.id]: result.headers } : {}),\n },\n };\n }\n\n // Create a GET request for the loaders\n let loaderRequest = new Request(request.url, {\n headers: request.headers,\n redirect: request.redirect,\n signal: request.signal,\n });\n let context = await loadRouteData(loaderRequest, matches, requestContext);\n\n return {\n ...context,\n // action status codes take precedence over loader status codes\n ...(result.statusCode ? { statusCode: result.statusCode } : {}),\n actionData: {\n [actionMatch.route.id]: result.data,\n },\n actionHeaders: {\n ...(result.headers ? { [actionMatch.route.id]: result.headers } : {}),\n },\n };\n }\n\n async function loadRouteData(\n request: Request,\n matches: AgnosticDataRouteMatch[],\n requestContext: unknown,\n routeMatch?: AgnosticDataRouteMatch,\n pendingActionError?: RouteData\n ): Promise<\n | Omit<\n StaticHandlerContext,\n \"location\" | \"basename\" | \"actionData\" | \"actionHeaders\"\n >\n | Response\n > {\n let isRouteRequest = routeMatch != null;\n\n // Short circuit if we have no loaders to run (queryRoute())\n if (\n isRouteRequest &&\n !routeMatch?.route.loader &&\n !routeMatch?.route.lazy\n ) {\n throw getInternalRouterError(400, {\n method: request.method,\n pathname: new URL(request.url).pathname,\n routeId: routeMatch?.route.id,\n });\n }\n\n let requestMatches = routeMatch\n ? [routeMatch]\n : getLoaderMatchesUntilBoundary(\n matches,\n Object.keys(pendingActionError || {})[0]\n );\n let matchesToLoad = requestMatches.filter(\n (m) => m.route.loader || m.route.lazy\n );\n\n // Short circuit if we have no loaders to run (query())\n if (matchesToLoad.length === 0) {\n return {\n matches,\n // Add a null for all matched routes for proper revalidation on the client\n loaderData: matches.reduce(\n (acc, m) => Object.assign(acc, { [m.route.id]: null }),\n {}\n ),\n errors: pendingActionError || null,\n statusCode: 200,\n loaderHeaders: {},\n activeDeferreds: null,\n };\n }\n\n let results = await Promise.all([\n ...matchesToLoad.map((match) =>\n callLoaderOrAction(\n \"loader\",\n request,\n match,\n matches,\n manifest,\n mapRouteProperties,\n basename,\n { isStaticRequest: true, isRouteRequest, requestContext }\n )\n ),\n ]);\n\n if (request.signal.aborted) {\n let method = isRouteRequest ? \"queryRoute\" : \"query\";\n throw new Error(\n `${method}() call aborted: ${request.method} ${request.url}`\n );\n }\n\n // Process and commit output from loaders\n let activeDeferreds = new Map();\n let context = processRouteLoaderData(\n matches,\n matchesToLoad,\n results,\n pendingActionError,\n activeDeferreds\n );\n\n // Add a null for any non-loader matches for proper revalidation on the client\n let executedLoaders = new Set(\n matchesToLoad.map((match) => match.route.id)\n );\n matches.forEach((match) => {\n if (!executedLoaders.has(match.route.id)) {\n context.loaderData[match.route.id] = null;\n }\n });\n\n return {\n ...context,\n matches,\n activeDeferreds:\n activeDeferreds.size > 0\n ? Object.fromEntries(activeDeferreds.entries())\n : null,\n };\n }\n\n return {\n dataRoutes,\n query,\n queryRoute,\n };\n}\n\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Helpers\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Given an existing StaticHandlerContext and an error thrown at render time,\n * provide an updated StaticHandlerContext suitable for a second SSR render\n */\nexport function getStaticContextFromError(\n routes: AgnosticDataRouteObject[],\n context: StaticHandlerContext,\n error: any\n) {\n let newContext: StaticHandlerContext = {\n ...context,\n statusCode: 500,\n errors: {\n [context._deepestRenderedBoundaryId || routes[0].id]: error,\n },\n };\n return newContext;\n}\n\nfunction isSubmissionNavigation(\n opts: RouterNavigateOptions\n): opts is SubmissionNavigateOptions {\n return (\n opts != null &&\n ((\"formData\" in opts && opts.formData != null) ||\n (\"body\" in opts && opts.body !== undefined))\n );\n}\n\nfunction normalizeTo(\n location: Path,\n matches: AgnosticDataRouteMatch[],\n basename: string,\n prependBasename: boolean,\n to: To | null,\n fromRouteId?: string,\n relative?: RelativeRoutingType\n) {\n let contextualMatches: AgnosticDataRouteMatch[];\n let activeRouteMatch: AgnosticDataRouteMatch | undefined;\n if (fromRouteId != null && relative !== \"path\") {\n // Grab matches up to the calling route so our route-relative logic is\n // relative to the correct source route. When using relative:path,\n // fromRouteId is ignored since that is always relative to the current\n // location path\n contextualMatches = [];\n for (let match of matches) {\n contextualMatches.push(match);\n if (match.route.id === fromRouteId) {\n activeRouteMatch = match;\n break;\n }\n }\n } else {\n contextualMatches = matches;\n activeRouteMatch = matches[matches.length - 1];\n }\n\n // Resolve the relative path\n let path = resolveTo(\n to ? to : \".\",\n getPathContributingMatches(contextualMatches).map((m) => m.pathnameBase),\n stripBasename(location.pathname, basename) || location.pathname,\n relative === \"path\"\n );\n\n // When `to` is not specified we inherit search/hash from the current\n // location, unlike when to=\".\" and we just inherit the path.\n // See https://github.com/remix-run/remix/issues/927\n if (to == null) {\n path.search = location.search;\n path.hash = location.hash;\n }\n\n // Add an ?index param for matched index routes if we don't already have one\n if (\n (to == null || to === \"\" || to === \".\") &&\n activeRouteMatch &&\n activeRouteMatch.route.index &&\n !hasNakedIndexQuery(path.search)\n ) {\n path.search = path.search\n ? path.search.replace(/^\\?/, \"?index&\")\n : \"?index\";\n }\n\n // If we're operating within a basename, prepend it to the pathname. If\n // this is a root navigation, then just use the raw basename which allows\n // the basename to have full control over the presence of a trailing slash\n // on root actions\n if (prependBasename && basename !== \"/\") {\n path.pathname =\n path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n }\n\n return createPath(path);\n}\n\n// Normalize navigation options by converting formMethod=GET formData objects to\n// URLSearchParams so they behave identically to links with query params\nfunction normalizeNavigateOptions(\n normalizeFormMethod: boolean,\n isFetcher: boolean,\n path: string,\n opts?: RouterNavigateOptions\n): {\n path: string;\n submission?: Submission;\n error?: ErrorResponseImpl;\n} {\n // Return location verbatim on non-submission navigations\n if (!opts || !isSubmissionNavigation(opts)) {\n return { path };\n }\n\n if (opts.formMethod && !isValidMethod(opts.formMethod)) {\n return {\n path,\n error: getInternalRouterError(405, { method: opts.formMethod }),\n };\n }\n\n let getInvalidBodyError = () => ({\n path,\n error: getInternalRouterError(400, { type: \"invalid-body\" }),\n });\n\n // Create a Submission on non-GET navigations\n let rawFormMethod = opts.formMethod || \"get\";\n let formMethod = normalizeFormMethod\n ? (rawFormMethod.toUpperCase() as V7_FormMethod)\n : (rawFormMethod.toLowerCase() as FormMethod);\n let formAction = stripHashFromPath(path);\n\n if (opts.body !== undefined) {\n if (opts.formEncType === \"text/plain\") {\n // text only support POST/PUT/PATCH/DELETE submissions\n if (!isMutationMethod(formMethod)) {\n return getInvalidBodyError();\n }\n\n let text =\n typeof opts.body === \"string\"\n ? opts.body\n : opts.body instanceof FormData ||\n opts.body instanceof URLSearchParams\n ? // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#plain-text-form-data\n Array.from(opts.body.entries()).reduce(\n (acc, [name, value]) => `${acc}${name}=${value}\\n`,\n \"\"\n )\n : String(opts.body);\n\n return {\n path,\n submission: {\n formMethod,\n formAction,\n formEncType: opts.formEncType,\n formData: undefined,\n json: undefined,\n text,\n },\n };\n } else if (opts.formEncType === \"application/json\") {\n // json only supports POST/PUT/PATCH/DELETE submissions\n if (!isMutationMethod(formMethod)) {\n return getInvalidBodyError();\n }\n\n try {\n let json =\n typeof opts.body === \"string\" ? JSON.parse(opts.body) : opts.body;\n\n return {\n path,\n submission: {\n formMethod,\n formAction,\n formEncType: opts.formEncType,\n formData: undefined,\n json,\n text: undefined,\n },\n };\n } catch (e) {\n return getInvalidBodyError();\n }\n }\n }\n\n invariant(\n typeof FormData === \"function\",\n \"FormData is not available in this environment\"\n );\n\n let searchParams: URLSearchParams;\n let formData: FormData;\n\n if (opts.formData) {\n searchParams = convertFormDataToSearchParams(opts.formData);\n formData = opts.formData;\n } else if (opts.body instanceof FormData) {\n searchParams = convertFormDataToSearchParams(opts.body);\n formData = opts.body;\n } else if (opts.body instanceof URLSearchParams) {\n searchParams = opts.body;\n formData = convertSearchParamsToFormData(searchParams);\n } else if (opts.body == null) {\n searchParams = new URLSearchParams();\n formData = new FormData();\n } else {\n try {\n searchParams = new URLSearchParams(opts.body);\n formData = convertSearchParamsToFormData(searchParams);\n } catch (e) {\n return getInvalidBodyError();\n }\n }\n\n let submission: Submission = {\n formMethod,\n formAction,\n formEncType:\n (opts && opts.formEncType) || \"application/x-www-form-urlencoded\",\n formData,\n json: undefined,\n text: undefined,\n };\n\n if (isMutationMethod(submission.formMethod)) {\n return { path, submission };\n }\n\n // Flatten submission onto URLSearchParams for GET submissions\n let parsedPath = parsePath(path);\n // On GET navigation submissions we can drop the ?index param from the\n // resulting location since all loaders will run. But fetcher GET submissions\n // only run a single loader so we need to preserve any incoming ?index params\n if (isFetcher && parsedPath.search && hasNakedIndexQuery(parsedPath.search)) {\n searchParams.append(\"index\", \"\");\n }\n parsedPath.search = `?${searchParams}`;\n\n return { path: createPath(parsedPath), submission };\n}\n\n// Filter out all routes below any caught error as they aren't going to\n// render so we don't need to load them\nfunction getLoaderMatchesUntilBoundary(\n matches: AgnosticDataRouteMatch[],\n boundaryId?: string\n) {\n let boundaryMatches = matches;\n if (boundaryId) {\n let index = matches.findIndex((m) => m.route.id === boundaryId);\n if (index >= 0) {\n boundaryMatches = matches.slice(0, index);\n }\n }\n return boundaryMatches;\n}\n\nfunction getMatchesToLoad(\n history: History,\n state: RouterState,\n matches: AgnosticDataRouteMatch[],\n submission: Submission | undefined,\n location: Location,\n isRevalidationRequired: boolean,\n cancelledDeferredRoutes: string[],\n cancelledFetcherLoads: string[],\n fetchLoadMatches: Map,\n fetchRedirectIds: Set,\n routesToUse: AgnosticDataRouteObject[],\n basename: string | undefined,\n pendingActionData?: RouteData,\n pendingError?: RouteData\n): [AgnosticDataRouteMatch[], RevalidatingFetcher[]] {\n let actionResult = pendingError\n ? Object.values(pendingError)[0]\n : pendingActionData\n ? Object.values(pendingActionData)[0]\n : undefined;\n\n let currentUrl = history.createURL(state.location);\n let nextUrl = history.createURL(location);\n\n // Pick navigation matches that are net-new or qualify for revalidation\n let boundaryId = pendingError ? Object.keys(pendingError)[0] : undefined;\n let boundaryMatches = getLoaderMatchesUntilBoundary(matches, boundaryId);\n\n let navigationMatches = boundaryMatches.filter((match, index) => {\n if (match.route.lazy) {\n // We haven't loaded this route yet so we don't know if it's got a loader!\n return true;\n }\n if (match.route.loader == null) {\n return false;\n }\n\n // Always call the loader on new route instances and pending defer cancellations\n if (\n isNewLoader(state.loaderData, state.matches[index], match) ||\n cancelledDeferredRoutes.some((id) => id === match.route.id)\n ) {\n return true;\n }\n\n // This is the default implementation for when we revalidate. If the route\n // provides it's own implementation, then we give them full control but\n // provide this value so they can leverage it if needed after they check\n // their own specific use cases\n let currentRouteMatch = state.matches[index];\n let nextRouteMatch = match;\n\n return shouldRevalidateLoader(match, {\n currentUrl,\n currentParams: currentRouteMatch.params,\n nextUrl,\n nextParams: nextRouteMatch.params,\n ...submission,\n actionResult,\n defaultShouldRevalidate:\n // Forced revalidation due to submission, useRevalidator, or X-Remix-Revalidate\n isRevalidationRequired ||\n // Clicked the same link, resubmitted a GET form\n currentUrl.pathname + currentUrl.search ===\n nextUrl.pathname + nextUrl.search ||\n // Search params affect all loaders\n currentUrl.search !== nextUrl.search ||\n isNewRouteInstance(currentRouteMatch, nextRouteMatch),\n });\n });\n\n // Pick fetcher.loads that need to be revalidated\n let revalidatingFetchers: RevalidatingFetcher[] = [];\n fetchLoadMatches.forEach((f, key) => {\n // Don't revalidate if fetcher won't be present in the subsequent render\n if (!matches.some((m) => m.route.id === f.routeId)) {\n return;\n }\n\n let fetcherMatches = matchRoutes(routesToUse, f.path, basename);\n\n // If the fetcher path no longer matches, push it in with null matches so\n // we can trigger a 404 in callLoadersAndMaybeResolveData. Note this is\n // currently only a use-case for Remix HMR where the route tree can change\n // at runtime and remove a route previously loaded via a fetcher\n if (!fetcherMatches) {\n revalidatingFetchers.push({\n key,\n routeId: f.routeId,\n path: f.path,\n matches: null,\n match: null,\n controller: null,\n });\n return;\n }\n\n // Revalidating fetchers are decoupled from the route matches since they\n // load from a static href. They revalidate based on explicit revalidation\n // (submission, useRevalidator, or X-Remix-Revalidate)\n let fetcher = state.fetchers.get(key);\n let fetcherMatch = getTargetMatch(fetcherMatches, f.path);\n\n let shouldRevalidate = false;\n if (fetchRedirectIds.has(key)) {\n // Never trigger a revalidation of an actively redirecting fetcher\n shouldRevalidate = false;\n } else if (cancelledFetcherLoads.includes(key)) {\n // Always revalidate if the fetcher was cancelled\n shouldRevalidate = true;\n } else if (\n fetcher &&\n fetcher.state !== \"idle\" &&\n fetcher.data === undefined\n ) {\n // If the fetcher hasn't ever completed loading yet, then this isn't a\n // revalidation, it would just be a brand new load if an explicit\n // revalidation is required\n shouldRevalidate = isRevalidationRequired;\n } else {\n // Otherwise fall back on any user-defined shouldRevalidate, defaulting\n // to explicit revalidations only\n shouldRevalidate = shouldRevalidateLoader(fetcherMatch, {\n currentUrl,\n currentParams: state.matches[state.matches.length - 1].params,\n nextUrl,\n nextParams: matches[matches.length - 1].params,\n ...submission,\n actionResult,\n defaultShouldRevalidate: isRevalidationRequired,\n });\n }\n\n if (shouldRevalidate) {\n revalidatingFetchers.push({\n key,\n routeId: f.routeId,\n path: f.path,\n matches: fetcherMatches,\n match: fetcherMatch,\n controller: new AbortController(),\n });\n }\n });\n\n return [navigationMatches, revalidatingFetchers];\n}\n\nfunction isNewLoader(\n currentLoaderData: RouteData,\n currentMatch: AgnosticDataRouteMatch,\n match: AgnosticDataRouteMatch\n) {\n let isNew =\n // [a] -> [a, b]\n !currentMatch ||\n // [a, b] -> [a, c]\n match.route.id !== currentMatch.route.id;\n\n // Handle the case that we don't have data for a re-used route, potentially\n // from a prior error or from a cancelled pending deferred\n let isMissingData = currentLoaderData[match.route.id] === undefined;\n\n // Always load if this is a net-new route or we don't yet have data\n return isNew || isMissingData;\n}\n\nfunction isNewRouteInstance(\n currentMatch: AgnosticDataRouteMatch,\n match: AgnosticDataRouteMatch\n) {\n let currentPath = currentMatch.route.path;\n return (\n // param change for this match, /users/123 -> /users/456\n currentMatch.pathname !== match.pathname ||\n // splat param changed, which is not present in match.path\n // e.g. /files/images/avatar.jpg -> files/finances.xls\n (currentPath != null &&\n currentPath.endsWith(\"*\") &&\n currentMatch.params[\"*\"] !== match.params[\"*\"])\n );\n}\n\nfunction shouldRevalidateLoader(\n loaderMatch: AgnosticDataRouteMatch,\n arg: ShouldRevalidateFunctionArgs\n) {\n if (loaderMatch.route.shouldRevalidate) {\n let routeChoice = loaderMatch.route.shouldRevalidate(arg);\n if (typeof routeChoice === \"boolean\") {\n return routeChoice;\n }\n }\n\n return arg.defaultShouldRevalidate;\n}\n\n/**\n * Execute route.lazy() methods to lazily load route modules (loader, action,\n * shouldRevalidate) and update the routeManifest in place which shares objects\n * with dataRoutes so those get updated as well.\n */\nasync function loadLazyRouteModule(\n route: AgnosticDataRouteObject,\n mapRouteProperties: MapRoutePropertiesFunction,\n manifest: RouteManifest\n) {\n if (!route.lazy) {\n return;\n }\n\n let lazyRoute = await route.lazy();\n\n // If the lazy route function was executed and removed by another parallel\n // call then we can return - first lazy() to finish wins because the return\n // value of lazy is expected to be static\n if (!route.lazy) {\n return;\n }\n\n let routeToUpdate = manifest[route.id];\n invariant(routeToUpdate, \"No route found in manifest\");\n\n // Update the route in place. This should be safe because there's no way\n // we could yet be sitting on this route as we can't get there without\n // resolving lazy() first.\n //\n // This is different than the HMR \"update\" use-case where we may actively be\n // on the route being updated. The main concern boils down to \"does this\n // mutation affect any ongoing navigations or any current state.matches\n // values?\". If not, it should be safe to update in place.\n let routeUpdates: Record = {};\n for (let lazyRouteProperty in lazyRoute) {\n let staticRouteValue =\n routeToUpdate[lazyRouteProperty as keyof typeof routeToUpdate];\n\n let isPropertyStaticallyDefined =\n staticRouteValue !== undefined &&\n // This property isn't static since it should always be updated based\n // on the route updates\n lazyRouteProperty !== \"hasErrorBoundary\";\n\n warning(\n !isPropertyStaticallyDefined,\n `Route \"${routeToUpdate.id}\" has a static property \"${lazyRouteProperty}\" ` +\n `defined but its lazy function is also returning a value for this property. ` +\n `The lazy route property \"${lazyRouteProperty}\" will be ignored.`\n );\n\n if (\n !isPropertyStaticallyDefined &&\n !immutableRouteKeys.has(lazyRouteProperty as ImmutableRouteKey)\n ) {\n routeUpdates[lazyRouteProperty] =\n lazyRoute[lazyRouteProperty as keyof typeof lazyRoute];\n }\n }\n\n // Mutate the route with the provided updates. Do this first so we pass\n // the updated version to mapRouteProperties\n Object.assign(routeToUpdate, routeUpdates);\n\n // Mutate the `hasErrorBoundary` property on the route based on the route\n // updates and remove the `lazy` function so we don't resolve the lazy\n // route again.\n Object.assign(routeToUpdate, {\n // To keep things framework agnostic, we use the provided\n // `mapRouteProperties` (or wrapped `detectErrorBoundary`) function to\n // set the framework-aware properties (`element`/`hasErrorBoundary`) since\n // the logic will differ between frameworks.\n ...mapRouteProperties(routeToUpdate),\n lazy: undefined,\n });\n}\n\nasync function callLoaderOrAction(\n type: \"loader\" | \"action\",\n request: Request,\n match: AgnosticDataRouteMatch,\n matches: AgnosticDataRouteMatch[],\n manifest: RouteManifest,\n mapRouteProperties: MapRoutePropertiesFunction,\n basename: string,\n opts: {\n isStaticRequest?: boolean;\n isRouteRequest?: boolean;\n requestContext?: unknown;\n } = {}\n): Promise {\n let resultType;\n let result;\n let onReject: (() => void) | undefined;\n\n let runHandler = (handler: ActionFunction | LoaderFunction) => {\n // Setup a promise we can race against so that abort signals short circuit\n let reject: () => void;\n let abortPromise = new Promise((_, r) => (reject = r));\n onReject = () => reject();\n request.signal.addEventListener(\"abort\", onReject);\n return Promise.race([\n handler({\n request,\n params: match.params,\n context: opts.requestContext,\n }),\n abortPromise,\n ]);\n };\n\n try {\n let handler = match.route[type];\n\n if (match.route.lazy) {\n if (handler) {\n // Run statically defined handler in parallel with lazy()\n let handlerError;\n let values = await Promise.all([\n // If the handler throws, don't let it immediately bubble out,\n // since we need to let the lazy() execution finish so we know if this\n // route has a boundary that can handle the error\n runHandler(handler).catch((e) => {\n handlerError = e;\n }),\n loadLazyRouteModule(match.route, mapRouteProperties, manifest),\n ]);\n if (handlerError) {\n throw handlerError;\n }\n result = values[0];\n } else {\n // Load lazy route module, then run any returned handler\n await loadLazyRouteModule(match.route, mapRouteProperties, manifest);\n\n handler = match.route[type];\n if (handler) {\n // Handler still run even if we got interrupted to maintain consistency\n // with un-abortable behavior of handler execution on non-lazy or\n // previously-lazy-loaded routes\n result = await runHandler(handler);\n } else if (type === \"action\") {\n let url = new URL(request.url);\n let pathname = url.pathname + url.search;\n throw getInternalRouterError(405, {\n method: request.method,\n pathname,\n routeId: match.route.id,\n });\n } else {\n // lazy() route has no loader to run. Short circuit here so we don't\n // hit the invariant below that errors on returning undefined.\n return { type: ResultType.data, data: undefined };\n }\n }\n } else if (!handler) {\n let url = new URL(request.url);\n let pathname = url.pathname + url.search;\n throw getInternalRouterError(404, {\n pathname,\n });\n } else {\n result = await runHandler(handler);\n }\n\n invariant(\n result !== undefined,\n `You defined ${type === \"action\" ? \"an action\" : \"a loader\"} for route ` +\n `\"${match.route.id}\" but didn't return anything from your \\`${type}\\` ` +\n `function. Please return a value or \\`null\\`.`\n );\n } catch (e) {\n resultType = ResultType.error;\n result = e;\n } finally {\n if (onReject) {\n request.signal.removeEventListener(\"abort\", onReject);\n }\n }\n\n if (isResponse(result)) {\n let status = result.status;\n\n // Process redirects\n if (redirectStatusCodes.has(status)) {\n let location = result.headers.get(\"Location\");\n invariant(\n location,\n \"Redirects returned/thrown from loaders/actions must have a Location header\"\n );\n\n // Support relative routing in internal redirects\n if (!ABSOLUTE_URL_REGEX.test(location)) {\n location = normalizeTo(\n new URL(request.url),\n matches.slice(0, matches.indexOf(match) + 1),\n basename,\n true,\n location\n );\n } else if (!opts.isStaticRequest) {\n // Strip off the protocol+origin for same-origin + same-basename absolute\n // redirects. If this is a static request, we can let it go back to the\n // browser as-is\n let currentUrl = new URL(request.url);\n let url = location.startsWith(\"//\")\n ? new URL(currentUrl.protocol + location)\n : new URL(location);\n let isSameBasename = stripBasename(url.pathname, basename) != null;\n if (url.origin === currentUrl.origin && isSameBasename) {\n location = url.pathname + url.search + url.hash;\n }\n }\n\n // Don't process redirects in the router during static requests requests.\n // Instead, throw the Response and let the server handle it with an HTTP\n // redirect. We also update the Location header in place in this flow so\n // basename and relative routing is taken into account\n if (opts.isStaticRequest) {\n result.headers.set(\"Location\", location);\n throw result;\n }\n\n return {\n type: ResultType.redirect,\n status,\n location,\n revalidate: result.headers.get(\"X-Remix-Revalidate\") !== null,\n reloadDocument: result.headers.get(\"X-Remix-Reload-Document\") !== null,\n };\n }\n\n // For SSR single-route requests, we want to hand Responses back directly\n // without unwrapping. We do this with the QueryRouteResponse wrapper\n // interface so we can know whether it was returned or thrown\n if (opts.isRouteRequest) {\n let queryRouteResponse: QueryRouteResponse = {\n type:\n resultType === ResultType.error ? ResultType.error : ResultType.data,\n response: result,\n };\n throw queryRouteResponse;\n }\n\n let data: any;\n let contentType = result.headers.get(\"Content-Type\");\n // Check between word boundaries instead of startsWith() due to the last\n // paragraph of https://httpwg.org/specs/rfc9110.html#field.content-type\n if (contentType && /\\bapplication\\/json\\b/.test(contentType)) {\n data = await result.json();\n } else {\n data = await result.text();\n }\n\n if (resultType === ResultType.error) {\n return {\n type: resultType,\n error: new ErrorResponseImpl(status, result.statusText, data),\n headers: result.headers,\n };\n }\n\n return {\n type: ResultType.data,\n data,\n statusCode: result.status,\n headers: result.headers,\n };\n }\n\n if (resultType === ResultType.error) {\n return { type: resultType, error: result };\n }\n\n if (isDeferredData(result)) {\n return {\n type: ResultType.deferred,\n deferredData: result,\n statusCode: result.init?.status,\n headers: result.init?.headers && new Headers(result.init.headers),\n };\n }\n\n return { type: ResultType.data, data: result };\n}\n\n// Utility method for creating the Request instances for loaders/actions during\n// client-side navigations and fetches. During SSR we will always have a\n// Request instance from the static handler (query/queryRoute)\nfunction createClientSideRequest(\n history: History,\n location: string | Location,\n signal: AbortSignal,\n submission?: Submission\n): Request {\n let url = history.createURL(stripHashFromPath(location)).toString();\n let init: RequestInit = { signal };\n\n if (submission && isMutationMethod(submission.formMethod)) {\n let { formMethod, formEncType } = submission;\n // Didn't think we needed this but it turns out unlike other methods, patch\n // won't be properly normalized to uppercase and results in a 405 error.\n // See: https://fetch.spec.whatwg.org/#concept-method\n init.method = formMethod.toUpperCase();\n\n if (formEncType === \"application/json\") {\n init.headers = new Headers({ \"Content-Type\": formEncType });\n init.body = JSON.stringify(submission.json);\n } else if (formEncType === \"text/plain\") {\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n init.body = submission.text;\n } else if (\n formEncType === \"application/x-www-form-urlencoded\" &&\n submission.formData\n ) {\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n init.body = convertFormDataToSearchParams(submission.formData);\n } else {\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n init.body = submission.formData;\n }\n }\n\n return new Request(url, init);\n}\n\nfunction convertFormDataToSearchParams(formData: FormData): URLSearchParams {\n let searchParams = new URLSearchParams();\n\n for (let [key, value] of formData.entries()) {\n // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#converting-an-entry-list-to-a-list-of-name-value-pairs\n searchParams.append(key, typeof value === \"string\" ? value : value.name);\n }\n\n return searchParams;\n}\n\nfunction convertSearchParamsToFormData(\n searchParams: URLSearchParams\n): FormData {\n let formData = new FormData();\n for (let [key, value] of searchParams.entries()) {\n formData.append(key, value);\n }\n return formData;\n}\n\nfunction processRouteLoaderData(\n matches: AgnosticDataRouteMatch[],\n matchesToLoad: AgnosticDataRouteMatch[],\n results: DataResult[],\n pendingError: RouteData | undefined,\n activeDeferreds: Map\n): {\n loaderData: RouterState[\"loaderData\"];\n errors: RouterState[\"errors\"] | null;\n statusCode: number;\n loaderHeaders: Record;\n} {\n // Fill in loaderData/errors from our loaders\n let loaderData: RouterState[\"loaderData\"] = {};\n let errors: RouterState[\"errors\"] | null = null;\n let statusCode: number | undefined;\n let foundError = false;\n let loaderHeaders: Record = {};\n\n // Process loader results into state.loaderData/state.errors\n results.forEach((result, index) => {\n let id = matchesToLoad[index].route.id;\n invariant(\n !isRedirectResult(result),\n \"Cannot handle redirect results in processLoaderData\"\n );\n if (isErrorResult(result)) {\n // Look upwards from the matched route for the closest ancestor\n // error boundary, defaulting to the root match\n let boundaryMatch = findNearestBoundary(matches, id);\n let error = result.error;\n // If we have a pending action error, we report it at the highest-route\n // that throws a loader error, and then clear it out to indicate that\n // it was consumed\n if (pendingError) {\n error = Object.values(pendingError)[0];\n pendingError = undefined;\n }\n\n errors = errors || {};\n\n // Prefer higher error values if lower errors bubble to the same boundary\n if (errors[boundaryMatch.route.id] == null) {\n errors[boundaryMatch.route.id] = error;\n }\n\n // Clear our any prior loaderData for the throwing route\n loaderData[id] = undefined;\n\n // Once we find our first (highest) error, we set the status code and\n // prevent deeper status codes from overriding\n if (!foundError) {\n foundError = true;\n statusCode = isRouteErrorResponse(result.error)\n ? result.error.status\n : 500;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n } else {\n if (isDeferredResult(result)) {\n activeDeferreds.set(id, result.deferredData);\n loaderData[id] = result.deferredData.data;\n } else {\n loaderData[id] = result.data;\n }\n\n // Error status codes always override success status codes, but if all\n // loaders are successful we take the deepest status code.\n if (\n result.statusCode != null &&\n result.statusCode !== 200 &&\n !foundError\n ) {\n statusCode = result.statusCode;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n }\n });\n\n // If we didn't consume the pending action error (i.e., all loaders\n // resolved), then consume it here. Also clear out any loaderData for the\n // throwing route\n if (pendingError) {\n errors = pendingError;\n loaderData[Object.keys(pendingError)[0]] = undefined;\n }\n\n return {\n loaderData,\n errors,\n statusCode: statusCode || 200,\n loaderHeaders,\n };\n}\n\nfunction processLoaderData(\n state: RouterState,\n matches: AgnosticDataRouteMatch[],\n matchesToLoad: AgnosticDataRouteMatch[],\n results: DataResult[],\n pendingError: RouteData | undefined,\n revalidatingFetchers: RevalidatingFetcher[],\n fetcherResults: DataResult[],\n activeDeferreds: Map\n): {\n loaderData: RouterState[\"loaderData\"];\n errors?: RouterState[\"errors\"];\n} {\n let { loaderData, errors } = processRouteLoaderData(\n matches,\n matchesToLoad,\n results,\n pendingError,\n activeDeferreds\n );\n\n // Process results from our revalidating fetchers\n for (let index = 0; index < revalidatingFetchers.length; index++) {\n let { key, match, controller } = revalidatingFetchers[index];\n invariant(\n fetcherResults !== undefined && fetcherResults[index] !== undefined,\n \"Did not find corresponding fetcher result\"\n );\n let result = fetcherResults[index];\n\n // Process fetcher non-redirect errors\n if (controller && controller.signal.aborted) {\n // Nothing to do for aborted fetchers\n continue;\n } else if (isErrorResult(result)) {\n let boundaryMatch = findNearestBoundary(state.matches, match?.route.id);\n if (!(errors && errors[boundaryMatch.route.id])) {\n errors = {\n ...errors,\n [boundaryMatch.route.id]: result.error,\n };\n }\n state.fetchers.delete(key);\n } else if (isRedirectResult(result)) {\n // Should never get here, redirects should get processed above, but we\n // keep this to type narrow to a success result in the else\n invariant(false, \"Unhandled fetcher revalidation redirect\");\n } else if (isDeferredResult(result)) {\n // Should never get here, deferred data should be awaited for fetchers\n // in resolveDeferredResults\n invariant(false, \"Unhandled fetcher deferred data\");\n } else {\n let doneFetcher = getDoneFetcher(result.data);\n state.fetchers.set(key, doneFetcher);\n }\n }\n\n return { loaderData, errors };\n}\n\nfunction mergeLoaderData(\n loaderData: RouteData,\n newLoaderData: RouteData,\n matches: AgnosticDataRouteMatch[],\n errors: RouteData | null | undefined\n): RouteData {\n let mergedLoaderData = { ...newLoaderData };\n for (let match of matches) {\n let id = match.route.id;\n if (newLoaderData.hasOwnProperty(id)) {\n if (newLoaderData[id] !== undefined) {\n mergedLoaderData[id] = newLoaderData[id];\n } else {\n // No-op - this is so we ignore existing data if we have a key in the\n // incoming object with an undefined value, which is how we unset a prior\n // loaderData if we encounter a loader error\n }\n } else if (loaderData[id] !== undefined && match.route.loader) {\n // Preserve existing keys not included in newLoaderData and where a loader\n // wasn't removed by HMR\n mergedLoaderData[id] = loaderData[id];\n }\n\n if (errors && errors.hasOwnProperty(id)) {\n // Don't keep any loader data below the boundary\n break;\n }\n }\n return mergedLoaderData;\n}\n\n// Find the nearest error boundary, looking upwards from the leaf route (or the\n// route specified by routeId) for the closest ancestor error boundary,\n// defaulting to the root match\nfunction findNearestBoundary(\n matches: AgnosticDataRouteMatch[],\n routeId?: string\n): AgnosticDataRouteMatch {\n let eligibleMatches = routeId\n ? matches.slice(0, matches.findIndex((m) => m.route.id === routeId) + 1)\n : [...matches];\n return (\n eligibleMatches.reverse().find((m) => m.route.hasErrorBoundary === true) ||\n matches[0]\n );\n}\n\nfunction getShortCircuitMatches(routes: AgnosticDataRouteObject[]): {\n matches: AgnosticDataRouteMatch[];\n route: AgnosticDataRouteObject;\n} {\n // Prefer a root layout route if present, otherwise shim in a route object\n let route = routes.find((r) => r.index || !r.path || r.path === \"/\") || {\n id: `__shim-error-route__`,\n };\n\n return {\n matches: [\n {\n params: {},\n pathname: \"\",\n pathnameBase: \"\",\n route,\n },\n ],\n route,\n };\n}\n\nfunction getInternalRouterError(\n status: number,\n {\n pathname,\n routeId,\n method,\n type,\n }: {\n pathname?: string;\n routeId?: string;\n method?: string;\n type?: \"defer-action\" | \"invalid-body\";\n } = {}\n) {\n let statusText = \"Unknown Server Error\";\n let errorMessage = \"Unknown @remix-run/router error\";\n\n if (status === 400) {\n statusText = \"Bad Request\";\n if (method && pathname && routeId) {\n errorMessage =\n `You made a ${method} request to \"${pathname}\" but ` +\n `did not provide a \\`loader\\` for route \"${routeId}\", ` +\n `so there is no way to handle the request.`;\n } else if (type === \"defer-action\") {\n errorMessage = \"defer() is not supported in actions\";\n } else if (type === \"invalid-body\") {\n errorMessage = \"Unable to encode submission body\";\n }\n } else if (status === 403) {\n statusText = \"Forbidden\";\n errorMessage = `Route \"${routeId}\" does not match URL \"${pathname}\"`;\n } else if (status === 404) {\n statusText = \"Not Found\";\n errorMessage = `No route matches URL \"${pathname}\"`;\n } else if (status === 405) {\n statusText = \"Method Not Allowed\";\n if (method && pathname && routeId) {\n errorMessage =\n `You made a ${method.toUpperCase()} request to \"${pathname}\" but ` +\n `did not provide an \\`action\\` for route \"${routeId}\", ` +\n `so there is no way to handle the request.`;\n } else if (method) {\n errorMessage = `Invalid request method \"${method.toUpperCase()}\"`;\n }\n }\n\n return new ErrorResponseImpl(\n status || 500,\n statusText,\n new Error(errorMessage),\n true\n );\n}\n\n// Find any returned redirect errors, starting from the lowest match\nfunction findRedirect(\n results: DataResult[]\n): { result: RedirectResult; idx: number } | undefined {\n for (let i = results.length - 1; i >= 0; i--) {\n let result = results[i];\n if (isRedirectResult(result)) {\n return { result, idx: i };\n }\n }\n}\n\nfunction stripHashFromPath(path: To) {\n let parsedPath = typeof path === \"string\" ? parsePath(path) : path;\n return createPath({ ...parsedPath, hash: \"\" });\n}\n\nfunction isHashChangeOnly(a: Location, b: Location): boolean {\n if (a.pathname !== b.pathname || a.search !== b.search) {\n return false;\n }\n\n if (a.hash === \"\") {\n // /page -> /page#hash\n return b.hash !== \"\";\n } else if (a.hash === b.hash) {\n // /page#hash -> /page#hash\n return true;\n } else if (b.hash !== \"\") {\n // /page#hash -> /page#other\n return true;\n }\n\n // If the hash is removed the browser will re-perform a request to the server\n // /page#hash -> /page\n return false;\n}\n\nfunction isDeferredResult(result: DataResult): result is DeferredResult {\n return result.type === ResultType.deferred;\n}\n\nfunction isErrorResult(result: DataResult): result is ErrorResult {\n return result.type === ResultType.error;\n}\n\nfunction isRedirectResult(result?: DataResult): result is RedirectResult {\n return (result && result.type) === ResultType.redirect;\n}\n\nexport function isDeferredData(value: any): value is DeferredData {\n let deferred: DeferredData = value;\n return (\n deferred &&\n typeof deferred === \"object\" &&\n typeof deferred.data === \"object\" &&\n typeof deferred.subscribe === \"function\" &&\n typeof deferred.cancel === \"function\" &&\n typeof deferred.resolveData === \"function\"\n );\n}\n\nfunction isResponse(value: any): value is Response {\n return (\n value != null &&\n typeof value.status === \"number\" &&\n typeof value.statusText === \"string\" &&\n typeof value.headers === \"object\" &&\n typeof value.body !== \"undefined\"\n );\n}\n\nfunction isRedirectResponse(result: any): result is Response {\n if (!isResponse(result)) {\n return false;\n }\n\n let status = result.status;\n let location = result.headers.get(\"Location\");\n return status >= 300 && status <= 399 && location != null;\n}\n\nfunction isQueryRouteResponse(obj: any): obj is QueryRouteResponse {\n return (\n obj &&\n isResponse(obj.response) &&\n (obj.type === ResultType.data || obj.type === ResultType.error)\n );\n}\n\nfunction isValidMethod(method: string): method is FormMethod | V7_FormMethod {\n return validRequestMethods.has(method.toLowerCase() as FormMethod);\n}\n\nfunction isMutationMethod(\n method: string\n): method is MutationFormMethod | V7_MutationFormMethod {\n return validMutationMethods.has(method.toLowerCase() as MutationFormMethod);\n}\n\nasync function resolveDeferredResults(\n currentMatches: AgnosticDataRouteMatch[],\n matchesToLoad: (AgnosticDataRouteMatch | null)[],\n results: DataResult[],\n signals: (AbortSignal | null)[],\n isFetcher: boolean,\n currentLoaderData?: RouteData\n) {\n for (let index = 0; index < results.length; index++) {\n let result = results[index];\n let match = matchesToLoad[index];\n // If we don't have a match, then we can have a deferred result to do\n // anything with. This is for revalidating fetchers where the route was\n // removed during HMR\n if (!match) {\n continue;\n }\n\n let currentMatch = currentMatches.find(\n (m) => m.route.id === match!.route.id\n );\n let isRevalidatingLoader =\n currentMatch != null &&\n !isNewRouteInstance(currentMatch, match) &&\n (currentLoaderData && currentLoaderData[match.route.id]) !== undefined;\n\n if (isDeferredResult(result) && (isFetcher || isRevalidatingLoader)) {\n // Note: we do not have to touch activeDeferreds here since we race them\n // against the signal in resolveDeferredData and they'll get aborted\n // there if needed\n let signal = signals[index];\n invariant(\n signal,\n \"Expected an AbortSignal for revalidating fetcher deferred result\"\n );\n await resolveDeferredData(result, signal, isFetcher).then((result) => {\n if (result) {\n results[index] = result || results[index];\n }\n });\n }\n }\n}\n\nasync function resolveDeferredData(\n result: DeferredResult,\n signal: AbortSignal,\n unwrap = false\n): Promise {\n let aborted = await result.deferredData.resolveData(signal);\n if (aborted) {\n return;\n }\n\n if (unwrap) {\n try {\n return {\n type: ResultType.data,\n data: result.deferredData.unwrappedData,\n };\n } catch (e) {\n // Handle any TrackedPromise._error values encountered while unwrapping\n return {\n type: ResultType.error,\n error: e,\n };\n }\n }\n\n return {\n type: ResultType.data,\n data: result.deferredData.data,\n };\n}\n\nfunction hasNakedIndexQuery(search: string): boolean {\n return new URLSearchParams(search).getAll(\"index\").some((v) => v === \"\");\n}\n\nfunction getTargetMatch(\n matches: AgnosticDataRouteMatch[],\n location: Location | string\n) {\n let search =\n typeof location === \"string\" ? parsePath(location).search : location.search;\n if (\n matches[matches.length - 1].route.index &&\n hasNakedIndexQuery(search || \"\")\n ) {\n // Return the leaf index route when index is present\n return matches[matches.length - 1];\n }\n // Otherwise grab the deepest \"path contributing\" match (ignoring index and\n // pathless layout routes)\n let pathMatches = getPathContributingMatches(matches);\n return pathMatches[pathMatches.length - 1];\n}\n\nfunction getSubmissionFromNavigation(\n navigation: Navigation\n): Submission | undefined {\n let { formMethod, formAction, formEncType, text, formData, json } =\n navigation;\n if (!formMethod || !formAction || !formEncType) {\n return;\n }\n\n if (text != null) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData: undefined,\n json: undefined,\n text,\n };\n } else if (formData != null) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData,\n json: undefined,\n text: undefined,\n };\n } else if (json !== undefined) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData: undefined,\n json,\n text: undefined,\n };\n }\n}\n\nfunction getLoadingNavigation(\n location: Location,\n submission?: Submission\n): NavigationStates[\"Loading\"] {\n if (submission) {\n let navigation: NavigationStates[\"Loading\"] = {\n state: \"loading\",\n location,\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n };\n return navigation;\n } else {\n let navigation: NavigationStates[\"Loading\"] = {\n state: \"loading\",\n location,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n };\n return navigation;\n }\n}\n\nfunction getSubmittingNavigation(\n location: Location,\n submission: Submission\n): NavigationStates[\"Submitting\"] {\n let navigation: NavigationStates[\"Submitting\"] = {\n state: \"submitting\",\n location,\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n };\n return navigation;\n}\n\nfunction getLoadingFetcher(\n submission?: Submission,\n data?: Fetcher[\"data\"]\n): FetcherStates[\"Loading\"] {\n if (submission) {\n let fetcher: FetcherStates[\"Loading\"] = {\n state: \"loading\",\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n data,\n };\n return fetcher;\n } else {\n let fetcher: FetcherStates[\"Loading\"] = {\n state: \"loading\",\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n data,\n };\n return fetcher;\n }\n}\n\nfunction getSubmittingFetcher(\n submission: Submission,\n existingFetcher?: Fetcher\n): FetcherStates[\"Submitting\"] {\n let fetcher: FetcherStates[\"Submitting\"] = {\n state: \"submitting\",\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n data: existingFetcher ? existingFetcher.data : undefined,\n };\n return fetcher;\n}\n\nfunction getDoneFetcher(data: Fetcher[\"data\"]): FetcherStates[\"Idle\"] {\n let fetcher: FetcherStates[\"Idle\"] = {\n state: \"idle\",\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n data,\n };\n return fetcher;\n}\n//#endregion\n","import * as React from \"react\";\nimport type {\n AgnosticIndexRouteObject,\n AgnosticNonIndexRouteObject,\n AgnosticRouteMatch,\n History,\n LazyRouteFunction,\n Location,\n Action as NavigationType,\n RelativeRoutingType,\n Router,\n StaticHandlerContext,\n To,\n TrackedPromise,\n} from \"@remix-run/router\";\n\n// Create react-specific types from the agnostic types in @remix-run/router to\n// export from react-router\nexport interface IndexRouteObject {\n caseSensitive?: AgnosticIndexRouteObject[\"caseSensitive\"];\n path?: AgnosticIndexRouteObject[\"path\"];\n id?: AgnosticIndexRouteObject[\"id\"];\n loader?: AgnosticIndexRouteObject[\"loader\"];\n action?: AgnosticIndexRouteObject[\"action\"];\n hasErrorBoundary?: AgnosticIndexRouteObject[\"hasErrorBoundary\"];\n shouldRevalidate?: AgnosticIndexRouteObject[\"shouldRevalidate\"];\n handle?: AgnosticIndexRouteObject[\"handle\"];\n index: true;\n children?: undefined;\n element?: React.ReactNode | null;\n errorElement?: React.ReactNode | null;\n Component?: React.ComponentType | null;\n ErrorBoundary?: React.ComponentType | null;\n lazy?: LazyRouteFunction;\n}\n\nexport interface NonIndexRouteObject {\n caseSensitive?: AgnosticNonIndexRouteObject[\"caseSensitive\"];\n path?: AgnosticNonIndexRouteObject[\"path\"];\n id?: AgnosticNonIndexRouteObject[\"id\"];\n loader?: AgnosticNonIndexRouteObject[\"loader\"];\n action?: AgnosticNonIndexRouteObject[\"action\"];\n hasErrorBoundary?: AgnosticNonIndexRouteObject[\"hasErrorBoundary\"];\n shouldRevalidate?: AgnosticNonIndexRouteObject[\"shouldRevalidate\"];\n handle?: AgnosticNonIndexRouteObject[\"handle\"];\n index?: false;\n children?: RouteObject[];\n element?: React.ReactNode | null;\n errorElement?: React.ReactNode | null;\n Component?: React.ComponentType | null;\n ErrorBoundary?: React.ComponentType | null;\n lazy?: LazyRouteFunction;\n}\n\nexport type RouteObject = IndexRouteObject | NonIndexRouteObject;\n\nexport type DataRouteObject = RouteObject & {\n children?: DataRouteObject[];\n id: string;\n};\n\nexport interface RouteMatch<\n ParamKey extends string = string,\n RouteObjectType extends RouteObject = RouteObject\n> extends AgnosticRouteMatch {}\n\nexport interface DataRouteMatch extends RouteMatch {}\n\nexport interface DataRouterContextObject extends NavigationContextObject {\n router: Router;\n staticContext?: StaticHandlerContext;\n}\n\nexport const DataRouterContext =\n React.createContext(null);\nif (__DEV__) {\n DataRouterContext.displayName = \"DataRouter\";\n}\n\nexport const DataRouterStateContext = React.createContext<\n Router[\"state\"] | null\n>(null);\nif (__DEV__) {\n DataRouterStateContext.displayName = \"DataRouterState\";\n}\n\nexport const AwaitContext = React.createContext(null);\nif (__DEV__) {\n AwaitContext.displayName = \"Await\";\n}\n\nexport interface NavigateOptions {\n replace?: boolean;\n state?: any;\n preventScrollReset?: boolean;\n relative?: RelativeRoutingType;\n}\n\n/**\n * A Navigator is a \"location changer\"; it's how you get to different locations.\n *\n * Every history instance conforms to the Navigator interface, but the\n * distinction is useful primarily when it comes to the low-level API\n * where both the location and a navigator must be provided separately in order\n * to avoid \"tearing\" that may occur in a suspense-enabled app if the action\n * and/or location were to be read directly from the history instance.\n */\nexport interface Navigator {\n createHref: History[\"createHref\"];\n // Optional for backwards-compat with Router/HistoryRouter usage (edge case)\n encodeLocation?: History[\"encodeLocation\"];\n go: History[\"go\"];\n push(to: To, state?: any, opts?: NavigateOptions): void;\n replace(to: To, state?: any, opts?: NavigateOptions): void;\n}\n\ninterface NavigationContextObject {\n basename: string;\n navigator: Navigator;\n static: boolean;\n}\n\nexport const NavigationContext = React.createContext(\n null!\n);\n\nif (__DEV__) {\n NavigationContext.displayName = \"Navigation\";\n}\n\ninterface LocationContextObject {\n location: Location;\n navigationType: NavigationType;\n}\n\nexport const LocationContext = React.createContext(\n null!\n);\n\nif (__DEV__) {\n LocationContext.displayName = \"Location\";\n}\n\nexport interface RouteContextObject {\n outlet: React.ReactElement | null;\n matches: RouteMatch[];\n isDataRoute: boolean;\n}\n\nexport const RouteContext = React.createContext({\n outlet: null,\n matches: [],\n isDataRoute: false,\n});\n\nif (__DEV__) {\n RouteContext.displayName = \"Route\";\n}\n\nexport const RouteErrorContext = React.createContext(null);\n\nif (__DEV__) {\n RouteErrorContext.displayName = \"RouteError\";\n}\n","import * as React from \"react\";\nimport type {\n Blocker,\n BlockerFunction,\n Location,\n ParamParseKey,\n Params,\n Path,\n PathMatch,\n PathPattern,\n RelativeRoutingType,\n Router as RemixRouter,\n RevalidationState,\n To,\n UIMatch,\n} from \"@remix-run/router\";\nimport {\n IDLE_BLOCKER,\n Action as NavigationType,\n UNSAFE_convertRouteMatchToUiMatch as convertRouteMatchToUiMatch,\n UNSAFE_getPathContributingMatches as getPathContributingMatches,\n UNSAFE_invariant as invariant,\n isRouteErrorResponse,\n joinPaths,\n matchPath,\n matchRoutes,\n parsePath,\n resolveTo,\n stripBasename,\n UNSAFE_warning as warning,\n} from \"@remix-run/router\";\n\nimport type {\n DataRouteMatch,\n NavigateOptions,\n RouteContextObject,\n RouteMatch,\n RouteObject,\n} from \"./context\";\nimport {\n AwaitContext,\n DataRouterContext,\n DataRouterStateContext,\n LocationContext,\n NavigationContext,\n RouteContext,\n RouteErrorContext,\n} from \"./context\";\n\n/**\n * Returns the full href for the given \"to\" value. This is useful for building\n * custom links that are also accessible and preserve right-click behavior.\n *\n * @see https://reactrouter.com/hooks/use-href\n */\nexport function useHref(\n to: To,\n { relative }: { relative?: RelativeRoutingType } = {}\n): string {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useHref() may be used only in the context of a component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { hash, pathname, search } = useResolvedPath(to, { relative });\n\n let joinedPathname = pathname;\n\n // If we're operating within a basename, prepend it to the pathname prior\n // to creating the href. If this is a root navigation, then just use the raw\n // basename which allows the basename to have full control over the presence\n // of a trailing slash on root links\n if (basename !== \"/\") {\n joinedPathname =\n pathname === \"/\" ? basename : joinPaths([basename, pathname]);\n }\n\n return navigator.createHref({ pathname: joinedPathname, search, hash });\n}\n\n/**\n * Returns true if this component is a descendant of a .\n *\n * @see https://reactrouter.com/hooks/use-in-router-context\n */\nexport function useInRouterContext(): boolean {\n return React.useContext(LocationContext) != null;\n}\n\n/**\n * Returns the current location object, which represents the current URL in web\n * browsers.\n *\n * Note: If you're using this it may mean you're doing some of your own\n * \"routing\" in your app, and we'd like to know what your use case is. We may\n * be able to provide something higher-level to better suit your needs.\n *\n * @see https://reactrouter.com/hooks/use-location\n */\nexport function useLocation(): Location {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useLocation() may be used only in the context of a component.`\n );\n\n return React.useContext(LocationContext).location;\n}\n\n/**\n * Returns the current navigation action which describes how the router came to\n * the current location, either by a pop, push, or replace on the history stack.\n *\n * @see https://reactrouter.com/hooks/use-navigation-type\n */\nexport function useNavigationType(): NavigationType {\n return React.useContext(LocationContext).navigationType;\n}\n\n/**\n * Returns a PathMatch object if the given pattern matches the current URL.\n * This is useful for components that need to know \"active\" state, e.g.\n * .\n *\n * @see https://reactrouter.com/hooks/use-match\n */\nexport function useMatch<\n ParamKey extends ParamParseKey,\n Path extends string\n>(pattern: PathPattern | Path): PathMatch | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useMatch() may be used only in the context of a component.`\n );\n\n let { pathname } = useLocation();\n return React.useMemo(\n () => matchPath(pattern, pathname),\n [pathname, pattern]\n );\n}\n\n/**\n * The interface for the navigate() function returned from useNavigate().\n */\nexport interface NavigateFunction {\n (to: To, options?: NavigateOptions): void;\n (delta: number): void;\n}\n\nconst navigateEffectWarning =\n `You should call navigate() in a React.useEffect(), not when ` +\n `your component is first rendered.`;\n\n// Mute warnings for calls to useNavigate in SSR environments\nfunction useIsomorphicLayoutEffect(\n cb: Parameters[0]\n) {\n let isStatic = React.useContext(NavigationContext).static;\n if (!isStatic) {\n // We should be able to get rid of this once react 18.3 is released\n // See: https://github.com/facebook/react/pull/26395\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useLayoutEffect(cb);\n }\n}\n\n/**\n * Returns an imperative method for changing the location. Used by s, but\n * may also be used by other elements to change the location.\n *\n * @see https://reactrouter.com/hooks/use-navigate\n */\nexport function useNavigate(): NavigateFunction {\n let { isDataRoute } = React.useContext(RouteContext);\n // Conditional usage is OK here because the usage of a data router is static\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return isDataRoute ? useNavigateStable() : useNavigateUnstable();\n}\n\nfunction useNavigateUnstable(): NavigateFunction {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useNavigate() may be used only in the context of a component.`\n );\n\n let dataRouterContext = React.useContext(DataRouterContext);\n let { basename, navigator } = React.useContext(NavigationContext);\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n getPathContributingMatches(matches).map((match) => match.pathnameBase)\n );\n\n let activeRef = React.useRef(false);\n useIsomorphicLayoutEffect(() => {\n activeRef.current = true;\n });\n\n let navigate: NavigateFunction = React.useCallback(\n (to: To | number, options: NavigateOptions = {}) => {\n warning(activeRef.current, navigateEffectWarning);\n\n // Short circuit here since if this happens on first render the navigate\n // is useless because we haven't wired up our history listener yet\n if (!activeRef.current) return;\n\n if (typeof to === \"number\") {\n navigator.go(to);\n return;\n }\n\n let path = resolveTo(\n to,\n JSON.parse(routePathnamesJson),\n locationPathname,\n options.relative === \"path\"\n );\n\n // If we're operating within a basename, prepend it to the pathname prior\n // to handing off to history (but only if we're not in a data router,\n // otherwise it'll prepend the basename inside of the router).\n // If this is a root navigation, then we navigate to the raw basename\n // which allows the basename to have full control over the presence of a\n // trailing slash on root links\n if (dataRouterContext == null && basename !== \"/\") {\n path.pathname =\n path.pathname === \"/\"\n ? basename\n : joinPaths([basename, path.pathname]);\n }\n\n (!!options.replace ? navigator.replace : navigator.push)(\n path,\n options.state,\n options\n );\n },\n [\n basename,\n navigator,\n routePathnamesJson,\n locationPathname,\n dataRouterContext,\n ]\n );\n\n return navigate;\n}\n\nconst OutletContext = React.createContext(null);\n\n/**\n * Returns the context (if provided) for the child route at this level of the route\n * hierarchy.\n * @see https://reactrouter.com/hooks/use-outlet-context\n */\nexport function useOutletContext(): Context {\n return React.useContext(OutletContext) as Context;\n}\n\n/**\n * Returns the element for the child route at this level of the route\n * hierarchy. Used internally by to render child routes.\n *\n * @see https://reactrouter.com/hooks/use-outlet\n */\nexport function useOutlet(context?: unknown): React.ReactElement | null {\n let outlet = React.useContext(RouteContext).outlet;\n if (outlet) {\n return (\n {outlet}\n );\n }\n return outlet;\n}\n\n/**\n * Returns an object of key/value pairs of the dynamic params from the current\n * URL that were matched by the route path.\n *\n * @see https://reactrouter.com/hooks/use-params\n */\nexport function useParams<\n ParamsOrKey extends string | Record = string\n>(): Readonly<\n [ParamsOrKey] extends [string] ? Params : Partial\n> {\n let { matches } = React.useContext(RouteContext);\n let routeMatch = matches[matches.length - 1];\n return routeMatch ? (routeMatch.params as any) : {};\n}\n\n/**\n * Resolves the pathname of the given `to` value against the current location.\n *\n * @see https://reactrouter.com/hooks/use-resolved-path\n */\nexport function useResolvedPath(\n to: To,\n { relative }: { relative?: RelativeRoutingType } = {}\n): Path {\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n getPathContributingMatches(matches).map((match) => match.pathnameBase)\n );\n\n return React.useMemo(\n () =>\n resolveTo(\n to,\n JSON.parse(routePathnamesJson),\n locationPathname,\n relative === \"path\"\n ),\n [to, routePathnamesJson, locationPathname, relative]\n );\n}\n\n/**\n * Returns the element of the route that matched the current location, prepared\n * with the correct context to render the remainder of the route tree. Route\n * elements in the tree must render an to render their child route's\n * element.\n *\n * @see https://reactrouter.com/hooks/use-routes\n */\nexport function useRoutes(\n routes: RouteObject[],\n locationArg?: Partial | string\n): React.ReactElement | null {\n return useRoutesImpl(routes, locationArg);\n}\n\n// Internal implementation with accept optional param for RouterProvider usage\nexport function useRoutesImpl(\n routes: RouteObject[],\n locationArg?: Partial | string,\n dataRouterState?: RemixRouter[\"state\"]\n): React.ReactElement | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useRoutes() may be used only in the context of a component.`\n );\n\n let { navigator } = React.useContext(NavigationContext);\n let { matches: parentMatches } = React.useContext(RouteContext);\n let routeMatch = parentMatches[parentMatches.length - 1];\n let parentParams = routeMatch ? routeMatch.params : {};\n let parentPathname = routeMatch ? routeMatch.pathname : \"/\";\n let parentPathnameBase = routeMatch ? routeMatch.pathnameBase : \"/\";\n let parentRoute = routeMatch && routeMatch.route;\n\n if (__DEV__) {\n // You won't get a warning about 2 different under a \n // without a trailing *, but this is a best-effort warning anyway since we\n // cannot even give the warning unless they land at the parent route.\n //\n // Example:\n //\n // \n // {/* This route path MUST end with /* because otherwise\n // it will never match /blog/post/123 */}\n // } />\n // } />\n // \n //\n // function Blog() {\n // return (\n // \n // } />\n // \n // );\n // }\n let parentPath = (parentRoute && parentRoute.path) || \"\";\n warningOnce(\n parentPathname,\n !parentRoute || parentPath.endsWith(\"*\"),\n `You rendered descendant (or called \\`useRoutes()\\`) at ` +\n `\"${parentPathname}\" (under ) but the ` +\n `parent route path has no trailing \"*\". This means if you navigate ` +\n `deeper, the parent won't match anymore and therefore the child ` +\n `routes will never render.\\n\\n` +\n `Please change the parent to .`\n );\n }\n\n let locationFromContext = useLocation();\n\n let location;\n if (locationArg) {\n let parsedLocationArg =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n invariant(\n parentPathnameBase === \"/\" ||\n parsedLocationArg.pathname?.startsWith(parentPathnameBase),\n `When overriding the location using \\`\\` or \\`useRoutes(routes, location)\\`, ` +\n `the location pathname must begin with the portion of the URL pathname that was ` +\n `matched by all parent routes. The current pathname base is \"${parentPathnameBase}\" ` +\n `but pathname \"${parsedLocationArg.pathname}\" was given in the \\`location\\` prop.`\n );\n\n location = parsedLocationArg;\n } else {\n location = locationFromContext;\n }\n\n let pathname = location.pathname || \"/\";\n let remainingPathname =\n parentPathnameBase === \"/\"\n ? pathname\n : pathname.slice(parentPathnameBase.length) || \"/\";\n\n let matches = matchRoutes(routes, { pathname: remainingPathname });\n\n if (__DEV__) {\n warning(\n parentRoute || matches != null,\n `No routes matched location \"${location.pathname}${location.search}${location.hash}\" `\n );\n\n warning(\n matches == null ||\n matches[matches.length - 1].route.element !== undefined ||\n matches[matches.length - 1].route.Component !== undefined,\n `Matched leaf route at location \"${location.pathname}${location.search}${location.hash}\" ` +\n `does not have an element or Component. This means it will render an with a ` +\n `null value by default resulting in an \"empty\" page.`\n );\n }\n\n let renderedMatches = _renderMatches(\n matches &&\n matches.map((match) =>\n Object.assign({}, match, {\n params: Object.assign({}, parentParams, match.params),\n pathname: joinPaths([\n parentPathnameBase,\n // Re-encode pathnames that were decoded inside matchRoutes\n navigator.encodeLocation\n ? navigator.encodeLocation(match.pathname).pathname\n : match.pathname,\n ]),\n pathnameBase:\n match.pathnameBase === \"/\"\n ? parentPathnameBase\n : joinPaths([\n parentPathnameBase,\n // Re-encode pathnames that were decoded inside matchRoutes\n navigator.encodeLocation\n ? navigator.encodeLocation(match.pathnameBase).pathname\n : match.pathnameBase,\n ]),\n })\n ),\n parentMatches,\n dataRouterState\n );\n\n // When a user passes in a `locationArg`, the associated routes need to\n // be wrapped in a new `LocationContext.Provider` in order for `useLocation`\n // to use the scoped location instead of the global location.\n if (locationArg && renderedMatches) {\n return (\n \n {renderedMatches}\n \n );\n }\n\n return renderedMatches;\n}\n\nfunction DefaultErrorComponent() {\n let error = useRouteError();\n let message = isRouteErrorResponse(error)\n ? `${error.status} ${error.statusText}`\n : error instanceof Error\n ? error.message\n : JSON.stringify(error);\n let stack = error instanceof Error ? error.stack : null;\n let lightgrey = \"rgba(200,200,200, 0.5)\";\n let preStyles = { padding: \"0.5rem\", backgroundColor: lightgrey };\n let codeStyles = { padding: \"2px 4px\", backgroundColor: lightgrey };\n\n let devInfo = null;\n if (__DEV__) {\n console.error(\n \"Error handled by React Router default ErrorBoundary:\",\n error\n );\n\n devInfo = (\n <>\n

    💿 Hey developer 👋

    \n

    \n You can provide a way better UX than this when your app throws errors\n by providing your own ErrorBoundary or{\" \"}\n errorElement prop on your route.\n

    \n \n );\n }\n\n return (\n <>\n

    Unexpected Application Error!

    \n

    {message}

    \n {stack ?
    {stack}
    : null}\n {devInfo}\n \n );\n}\n\nconst defaultErrorElement = ;\n\ntype RenderErrorBoundaryProps = React.PropsWithChildren<{\n location: Location;\n revalidation: RevalidationState;\n error: any;\n component: React.ReactNode;\n routeContext: RouteContextObject;\n}>;\n\ntype RenderErrorBoundaryState = {\n location: Location;\n revalidation: RevalidationState;\n error: any;\n};\n\nexport class RenderErrorBoundary extends React.Component<\n RenderErrorBoundaryProps,\n RenderErrorBoundaryState\n> {\n constructor(props: RenderErrorBoundaryProps) {\n super(props);\n this.state = {\n location: props.location,\n revalidation: props.revalidation,\n error: props.error,\n };\n }\n\n static getDerivedStateFromError(error: any) {\n return { error: error };\n }\n\n static getDerivedStateFromProps(\n props: RenderErrorBoundaryProps,\n state: RenderErrorBoundaryState\n ) {\n // When we get into an error state, the user will likely click \"back\" to the\n // previous page that didn't have an error. Because this wraps the entire\n // application, that will have no effect--the error page continues to display.\n // This gives us a mechanism to recover from the error when the location changes.\n //\n // Whether we're in an error state or not, we update the location in state\n // so that when we are in an error state, it gets reset when a new location\n // comes in and the user recovers from the error.\n if (\n state.location !== props.location ||\n (state.revalidation !== \"idle\" && props.revalidation === \"idle\")\n ) {\n return {\n error: props.error,\n location: props.location,\n revalidation: props.revalidation,\n };\n }\n\n // If we're not changing locations, preserve the location but still surface\n // any new errors that may come through. We retain the existing error, we do\n // this because the error provided from the app state may be cleared without\n // the location changing.\n return {\n error: props.error || state.error,\n location: state.location,\n revalidation: props.revalidation || state.revalidation,\n };\n }\n\n componentDidCatch(error: any, errorInfo: any) {\n console.error(\n \"React Router caught the following error during render\",\n error,\n errorInfo\n );\n }\n\n render() {\n return this.state.error ? (\n \n \n \n ) : (\n this.props.children\n );\n }\n}\n\ninterface RenderedRouteProps {\n routeContext: RouteContextObject;\n match: RouteMatch;\n children: React.ReactNode | null;\n}\n\nfunction RenderedRoute({ routeContext, match, children }: RenderedRouteProps) {\n let dataRouterContext = React.useContext(DataRouterContext);\n\n // Track how deep we got in our render pass to emulate SSR componentDidCatch\n // in a DataStaticRouter\n if (\n dataRouterContext &&\n dataRouterContext.static &&\n dataRouterContext.staticContext &&\n (match.route.errorElement || match.route.ErrorBoundary)\n ) {\n dataRouterContext.staticContext._deepestRenderedBoundaryId = match.route.id;\n }\n\n return (\n \n {children}\n \n );\n}\n\nexport function _renderMatches(\n matches: RouteMatch[] | null,\n parentMatches: RouteMatch[] = [],\n dataRouterState: RemixRouter[\"state\"] | null = null\n): React.ReactElement | null {\n if (matches == null) {\n if (dataRouterState?.errors) {\n // Don't bail if we have data router errors so we can render them in the\n // boundary. Use the pre-matched (or shimmed) matches\n matches = dataRouterState.matches as DataRouteMatch[];\n } else {\n return null;\n }\n }\n\n let renderedMatches = matches;\n\n // If we have data errors, trim matches to the highest error boundary\n let errors = dataRouterState?.errors;\n if (errors != null) {\n let errorIndex = renderedMatches.findIndex(\n (m) => m.route.id && errors?.[m.route.id]\n );\n invariant(\n errorIndex >= 0,\n `Could not find a matching route for errors on route IDs: ${Object.keys(\n errors\n ).join(\",\")}`\n );\n renderedMatches = renderedMatches.slice(\n 0,\n Math.min(renderedMatches.length, errorIndex + 1)\n );\n }\n\n return renderedMatches.reduceRight((outlet, match, index) => {\n let error = match.route.id ? errors?.[match.route.id] : null;\n // Only data routers handle errors\n let errorElement: React.ReactNode | null = null;\n if (dataRouterState) {\n errorElement = match.route.errorElement || defaultErrorElement;\n }\n let matches = parentMatches.concat(renderedMatches.slice(0, index + 1));\n let getChildren = () => {\n let children: React.ReactNode;\n if (error) {\n children = errorElement;\n } else if (match.route.Component) {\n // Note: This is a de-optimized path since React won't re-use the\n // ReactElement since it's identity changes with each new\n // React.createElement call. We keep this so folks can use\n // `` in `` but generally `Component`\n // usage is only advised in `RouterProvider` when we can convert it to\n // `element` ahead of time.\n children = ;\n } else if (match.route.element) {\n children = match.route.element;\n } else {\n children = outlet;\n }\n return (\n \n );\n };\n // Only wrap in an error boundary within data router usages when we have an\n // ErrorBoundary/errorElement on this route. Otherwise let it bubble up to\n // an ancestor ErrorBoundary/errorElement\n return dataRouterState &&\n (match.route.ErrorBoundary || match.route.errorElement || index === 0) ? (\n \n ) : (\n getChildren()\n );\n }, null as React.ReactElement | null);\n}\n\nenum DataRouterHook {\n UseBlocker = \"useBlocker\",\n UseRevalidator = \"useRevalidator\",\n UseNavigateStable = \"useNavigate\",\n}\n\nenum DataRouterStateHook {\n UseBlocker = \"useBlocker\",\n UseLoaderData = \"useLoaderData\",\n UseActionData = \"useActionData\",\n UseRouteError = \"useRouteError\",\n UseNavigation = \"useNavigation\",\n UseRouteLoaderData = \"useRouteLoaderData\",\n UseMatches = \"useMatches\",\n UseRevalidator = \"useRevalidator\",\n UseNavigateStable = \"useNavigate\",\n UseRouteId = \"useRouteId\",\n}\n\nfunction getDataRouterConsoleError(\n hookName: DataRouterHook | DataRouterStateHook\n) {\n return `${hookName} must be used within a data router. See https://reactrouter.com/routers/picking-a-router.`;\n}\n\nfunction useDataRouterContext(hookName: DataRouterHook) {\n let ctx = React.useContext(DataRouterContext);\n invariant(ctx, getDataRouterConsoleError(hookName));\n return ctx;\n}\n\nfunction useDataRouterState(hookName: DataRouterStateHook) {\n let state = React.useContext(DataRouterStateContext);\n invariant(state, getDataRouterConsoleError(hookName));\n return state;\n}\n\nfunction useRouteContext(hookName: DataRouterStateHook) {\n let route = React.useContext(RouteContext);\n invariant(route, getDataRouterConsoleError(hookName));\n return route;\n}\n\n// Internal version with hookName-aware debugging\nfunction useCurrentRouteId(hookName: DataRouterStateHook) {\n let route = useRouteContext(hookName);\n let thisRoute = route.matches[route.matches.length - 1];\n invariant(\n thisRoute.route.id,\n `${hookName} can only be used on routes that contain a unique \"id\"`\n );\n return thisRoute.route.id;\n}\n\n/**\n * Returns the ID for the nearest contextual route\n */\nexport function useRouteId() {\n return useCurrentRouteId(DataRouterStateHook.UseRouteId);\n}\n\n/**\n * Returns the current navigation, defaulting to an \"idle\" navigation when\n * no navigation is in progress\n */\nexport function useNavigation() {\n let state = useDataRouterState(DataRouterStateHook.UseNavigation);\n return state.navigation;\n}\n\n/**\n * Returns a revalidate function for manually triggering revalidation, as well\n * as the current state of any manual revalidations\n */\nexport function useRevalidator() {\n let dataRouterContext = useDataRouterContext(DataRouterHook.UseRevalidator);\n let state = useDataRouterState(DataRouterStateHook.UseRevalidator);\n return React.useMemo(\n () => ({\n revalidate: dataRouterContext.router.revalidate,\n state: state.revalidation,\n }),\n [dataRouterContext.router.revalidate, state.revalidation]\n );\n}\n\n/**\n * Returns the active route matches, useful for accessing loaderData for\n * parent/child routes or the route \"handle\" property\n */\nexport function useMatches(): UIMatch[] {\n let { matches, loaderData } = useDataRouterState(\n DataRouterStateHook.UseMatches\n );\n return React.useMemo(\n () => matches.map((m) => convertRouteMatchToUiMatch(m, loaderData)),\n [matches, loaderData]\n );\n}\n\n/**\n * Returns the loader data for the nearest ancestor Route loader\n */\nexport function useLoaderData(): unknown {\n let state = useDataRouterState(DataRouterStateHook.UseLoaderData);\n let routeId = useCurrentRouteId(DataRouterStateHook.UseLoaderData);\n\n if (state.errors && state.errors[routeId] != null) {\n console.error(\n `You cannot \\`useLoaderData\\` in an errorElement (routeId: ${routeId})`\n );\n return undefined;\n }\n return state.loaderData[routeId];\n}\n\n/**\n * Returns the loaderData for the given routeId\n */\nexport function useRouteLoaderData(routeId: string): unknown {\n let state = useDataRouterState(DataRouterStateHook.UseRouteLoaderData);\n return state.loaderData[routeId];\n}\n\n/**\n * Returns the action data for the nearest ancestor Route action\n */\nexport function useActionData(): unknown {\n let state = useDataRouterState(DataRouterStateHook.UseActionData);\n\n let route = React.useContext(RouteContext);\n invariant(route, `useActionData must be used inside a RouteContext`);\n\n return Object.values(state?.actionData || {})[0];\n}\n\n/**\n * Returns the nearest ancestor Route error, which could be a loader/action\n * error or a render error. This is intended to be called from your\n * ErrorBoundary/errorElement to display a proper error message.\n */\nexport function useRouteError(): unknown {\n let error = React.useContext(RouteErrorContext);\n let state = useDataRouterState(DataRouterStateHook.UseRouteError);\n let routeId = useCurrentRouteId(DataRouterStateHook.UseRouteError);\n\n // If this was a render error, we put it in a RouteError context inside\n // of RenderErrorBoundary\n if (error) {\n return error;\n }\n\n // Otherwise look for errors from our data router state\n return state.errors?.[routeId];\n}\n\n/**\n * Returns the happy-path data from the nearest ancestor value\n */\nexport function useAsyncValue(): unknown {\n let value = React.useContext(AwaitContext);\n return value?._data;\n}\n\n/**\n * Returns the error from the nearest ancestor value\n */\nexport function useAsyncError(): unknown {\n let value = React.useContext(AwaitContext);\n return value?._error;\n}\n\nlet blockerId = 0;\n\n/**\n * Allow the application to block navigations within the SPA and present the\n * user a confirmation dialog to confirm the navigation. Mostly used to avoid\n * using half-filled form data. This does not handle hard-reloads or\n * cross-origin navigations.\n */\nexport function useBlocker(shouldBlock: boolean | BlockerFunction): Blocker {\n let { router, basename } = useDataRouterContext(DataRouterHook.UseBlocker);\n let state = useDataRouterState(DataRouterStateHook.UseBlocker);\n\n let [blockerKey, setBlockerKey] = React.useState(\"\");\n let blockerFunction = React.useCallback(\n (arg) => {\n if (typeof shouldBlock !== \"function\") {\n return !!shouldBlock;\n }\n if (basename === \"/\") {\n return shouldBlock(arg);\n }\n\n // If they provided us a function and we've got an active basename, strip\n // it from the locations we expose to the user to match the behavior of\n // useLocation\n let { currentLocation, nextLocation, historyAction } = arg;\n return shouldBlock({\n currentLocation: {\n ...currentLocation,\n pathname:\n stripBasename(currentLocation.pathname, basename) ||\n currentLocation.pathname,\n },\n nextLocation: {\n ...nextLocation,\n pathname:\n stripBasename(nextLocation.pathname, basename) ||\n nextLocation.pathname,\n },\n historyAction,\n });\n },\n [basename, shouldBlock]\n );\n\n // This effect is in charge of blocker key assignment and deletion (which is\n // tightly coupled to the key)\n React.useEffect(() => {\n let key = String(++blockerId);\n setBlockerKey(key);\n return () => router.deleteBlocker(key);\n }, [router]);\n\n // This effect handles assigning the blockerFunction. This is to handle\n // unstable blocker function identities, and happens only after the prior\n // effect so we don't get an orphaned blockerFunction in the router with a\n // key of \"\". Until then we just have the IDLE_BLOCKER.\n React.useEffect(() => {\n if (blockerKey !== \"\") {\n router.getBlocker(blockerKey, blockerFunction);\n }\n }, [router, blockerKey, blockerFunction]);\n\n // Prefer the blocker from `state` not `router.state` since DataRouterContext\n // is memoized so this ensures we update on blocker state updates\n return blockerKey && state.blockers.has(blockerKey)\n ? state.blockers.get(blockerKey)!\n : IDLE_BLOCKER;\n}\n\n/**\n * Stable version of useNavigate that is used when we are in the context of\n * a RouterProvider.\n */\nfunction useNavigateStable(): NavigateFunction {\n let { router } = useDataRouterContext(DataRouterHook.UseNavigateStable);\n let id = useCurrentRouteId(DataRouterStateHook.UseNavigateStable);\n\n let activeRef = React.useRef(false);\n useIsomorphicLayoutEffect(() => {\n activeRef.current = true;\n });\n\n let navigate: NavigateFunction = React.useCallback(\n (to: To | number, options: NavigateOptions = {}) => {\n warning(activeRef.current, navigateEffectWarning);\n\n // Short circuit here since if this happens on first render the navigate\n // is useless because we haven't wired up our router subscriber yet\n if (!activeRef.current) return;\n\n if (typeof to === \"number\") {\n router.navigate(to);\n } else {\n router.navigate(to, { fromRouteId: id, ...options });\n }\n },\n [router, id]\n );\n\n return navigate;\n}\n\nconst alreadyWarned: Record = {};\n\nfunction warningOnce(key: string, cond: boolean, message: string) {\n if (!cond && !alreadyWarned[key]) {\n alreadyWarned[key] = true;\n warning(false, message);\n }\n}\n","import type {\n InitialEntry,\n LazyRouteFunction,\n Location,\n MemoryHistory,\n RelativeRoutingType,\n Router as RemixRouter,\n RouterState,\n To,\n TrackedPromise,\n} from \"@remix-run/router\";\nimport {\n AbortedDeferredError,\n Action as NavigationType,\n createMemoryHistory,\n UNSAFE_getPathContributingMatches as getPathContributingMatches,\n UNSAFE_invariant as invariant,\n parsePath,\n resolveTo,\n stripBasename,\n UNSAFE_warning as warning,\n} from \"@remix-run/router\";\nimport * as React from \"react\";\n\nimport type {\n DataRouteObject,\n IndexRouteObject,\n Navigator,\n NonIndexRouteObject,\n RouteMatch,\n RouteObject,\n} from \"./context\";\nimport {\n AwaitContext,\n DataRouterContext,\n DataRouterStateContext,\n LocationContext,\n NavigationContext,\n RouteContext,\n} from \"./context\";\nimport {\n _renderMatches,\n useAsyncValue,\n useInRouterContext,\n useLocation,\n useNavigate,\n useOutlet,\n useRoutes,\n useRoutesImpl,\n} from \"./hooks\";\n\nexport interface FutureConfig {\n v7_startTransition: boolean;\n}\n\nexport interface RouterProviderProps {\n fallbackElement?: React.ReactNode;\n router: RemixRouter;\n future?: FutureConfig;\n}\n\n/**\n Webpack + React 17 fails to compile on any of the following because webpack\n complains that `startTransition` doesn't exist in `React`:\n * import { startTransition } from \"react\"\n * import * as React from from \"react\";\n \"startTransition\" in React ? React.startTransition(() => setState()) : setState()\n * import * as React from from \"react\";\n \"startTransition\" in React ? React[\"startTransition\"](() => setState()) : setState()\n\n Moving it to a constant such as the following solves the Webpack/React 17 issue:\n * import * as React from from \"react\";\n const START_TRANSITION = \"startTransition\";\n START_TRANSITION in React ? React[START_TRANSITION](() => setState()) : setState()\n\n However, that introduces webpack/terser minification issues in production builds\n in React 18 where minification/obfuscation ends up removing the call of\n React.startTransition entirely from the first half of the ternary. Grabbing\n this exported reference once up front resolves that issue.\n\n See https://github.com/remix-run/react-router/issues/10579\n*/\nconst START_TRANSITION = \"startTransition\";\nconst startTransitionImpl = React[START_TRANSITION];\n\n/**\n * Given a Remix Router instance, render the appropriate UI\n */\nexport function RouterProvider({\n fallbackElement,\n router,\n future,\n}: RouterProviderProps): React.ReactElement {\n // Need to use a layout effect here so we are subscribed early enough to\n // pick up on any render-driven redirects/navigations (useEffect/)\n let [state, setStateImpl] = React.useState(router.state);\n let { v7_startTransition } = future || {};\n let setState = React.useCallback(\n (newState: RouterState) => {\n v7_startTransition && startTransitionImpl\n ? startTransitionImpl(() => setStateImpl(newState))\n : setStateImpl(newState);\n },\n [setStateImpl, v7_startTransition]\n );\n React.useLayoutEffect(() => router.subscribe(setState), [router, setState]);\n\n let navigator = React.useMemo((): Navigator => {\n return {\n createHref: router.createHref,\n encodeLocation: router.encodeLocation,\n go: (n) => router.navigate(n),\n push: (to, state, opts) =>\n router.navigate(to, {\n state,\n preventScrollReset: opts?.preventScrollReset,\n }),\n replace: (to, state, opts) =>\n router.navigate(to, {\n replace: true,\n state,\n preventScrollReset: opts?.preventScrollReset,\n }),\n };\n }, [router]);\n\n let basename = router.basename || \"/\";\n\n let dataRouterContext = React.useMemo(\n () => ({\n router,\n navigator,\n static: false,\n basename,\n }),\n [router, navigator, basename]\n );\n\n // The fragment and {null} here are important! We need them to keep React 18's\n // useId happy when we are server-rendering since we may have a