{"version":3,"file":"static/js/main.25521f20.js","mappings":"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,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,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YA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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,IAGE7H,EAA2B,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEE8H,EAA0B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC7DxhD,EAA2B,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEE0hD,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,KAGEt5C,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEE05C,EAA4B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC/D0c,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEE/c,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,cAuKOvF,EAAkBnrC,EAAS/a,GAAA,QAC9BjJ,EAAY,EACZ+gB,EAAe,EACfrR,EAAK,IA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Cb,IAAI9/C,EAAW,EAAGA,GAAYk2C,IAAOl2C,EACxC81E,EAAU58D,GACZ4mC,GAAsB,GAExBz/C,EAAM,MAAQ+lB,EAAGna,GACjB6pE,EAAU5pE,GAAM4zC,GAAY,GAAK9C,EAAS38C,KAC1Cy1E,EAAUvtB,EAAQloD,IAClB4L,GAAA,QA5CQ,IA8CN+8C,GACF8sB,EAAU/tB,GAELvrD,CAAA,UA8HA4kF,EAAW5gE,GAClBA,EAAUqB,KAAKpR,IAAIoR,KAAKnR,IAAI8P,EAAS,GAAI,KAErCngB,GAAkBmgB,IAAA,SA1qBCA,GAAA,QACnB/a,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,IAGOjJ,EAAI,EAAGA,EAAI,GAAIA,IAAK,KACvB+gB,EAAIwqC,GAAQtiD,EAAIjJ,GAAKgkB,EAAK,IAAM,KACpCjD,EAAIsE,KAAKpR,IAAIoR,KAAKnR,IAAI6M,EAAG,GAAI,KAC7BrE,EAAO83C,EAAOx0D,IAAM+gB,CAAA,SAElBrR,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,IAEO7L,EAAI,EAAGA,EAAI,GAAIA,I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uL,EAAI,GAAK7qC,GAAK8C,EAAE+9J,IACjBr1H,GAAKnB,EAAMO,GAAK5qC,EAAMs/B,GAAKt/B,EACpCjY,GAAK,MAAQ+a,EAAEs/B,EACfr6C,GAAK,MAAQ+a,EAAEw8B,EACfv3C,GAAK,MAAQ+a,EAAE69J,GAAA,IACTnyK,IAAOzG,GAAKkjD,GAAKZ,EAAKtiD,GAAK2gB,GAAK5F,EAAE89J,GAAM74K,GAAK,MAAQ+a,EAAEytD,EAAA,MAE5DxoE,EAAI,EACT+a,EAAI/a,EAAI,EAAI,UAGZ,GAAK+a,GAAA,MACDhkB,GAAKA,EAAEw8I,KAAOx4H,EAAIuiJ,GAAGxlJ,IADViD,CAAA,KAIjBqiJ,GAAK,GACPpS,GAAK,CACH,EACA,EACA,EACA,EACA,GACA,GACA,GACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,QACA,QACA,QACA,QACA,UAEFqS,GAAK,GACLya,GAAK,GACLC,GAAK,EACLC,GAAK,CACH,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,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,GAEJhqG,EAAE,aAAc,iBAChBjzD,EAAK8uK,WAAa,kBACT,YAET9uK,EAAK+uK,WAAa,SAAS/uK,GAAA,OAClBA,CAAA,EAETA,EAAKgvK,WAAa,SAAShvK,EAAG/a,EAAGjJ,GAAA,OACxBiJ,EAAEjJ,EAAI,IAEfgkB,EAAKivK,WAAa,SAASjvK,EAAG/a,EAAGjJ,GAAA,OACxBiJ,EAAEjJ,EAAI,IAEfgkB,EAAKkvK,WAAa,SAASlvK,EAAG/a,EAAGjJ,GAAA,OACxBiJ,EAAEjJ,EAAI,IAEfgkB,EAAKmvK,WAAa,SAASnvK,EAAG/a,EAAGjJ,GAAA,OACxB+jF,EAAGA,EAAG//D,EAAG/a,EAAEjJ,EAAI,IAAKiJ,EAAEjJ,EAAI,KAEnCgkB,EAAKovK,WAAa,SAASpvK,EAAG/a,EAAGjJ,GAAA,OACxB+jF,EAAG//D,EAAG/a,EAAEjJ,EAAI,KAErBgkB,EAAKqvK,WAAa,SAASrvK,EAAG/a,EAAGjJ,GAAA,OACxB+jF,EAAG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B,GACJlJ,GAAK,EACLvC,GAAK,EACL0C,GAAK,EACLzC,GAAK,EACLN,GAAK,EACLO,GAAK,EACL4C,GAAK,EACLzF,GAAK,EACLC,GAAK,EACLC,GAAK,EACLC,GAAK,GACLgH,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,IACpEpD,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,KAEFkD,GAAK,CACH,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEFhkC,GAAK,EACL2qC,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,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,KAEFF,GAAK,KACL7oK,GAAK,CACH,CAAC,IA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K,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,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAEtD/tC,GAAI,GACJyvC,GAAI,GACJI,GAAK,GAkBLvI,GAAK,EACLZ,GAAK,EACLX,GAAK,GAKLhE,GAAI,GACNnf,GAAG,sBAAuBS,GAAI,GAC9BT,GAAG,sBAAuBtC,GAAI,GAC9BsC,GAAG,uBAAwBrG,GAAI,GAC/BqG,GAAG,uBAAwBtG,GAAI,GAC/BsG,GAAG,uBAAwBW,GAAI,GAC/BX,GAAG,2BAA4BhD,GAAI,GACnCgD,GAAG,yBAA0BU,GAAI,OAC7ButB,GAAKpuK,EAAKuwK,oBACZlC,GAAKruK,EAAKwwK,oBACV9wC,GAAK1/H,EAAKywK,qBACVnC,GAAKtuK,EAAK0wK,qBACVnC,GAAKvuK,EAAK2wK,qBACVnC,GAAKxuK,EAAK4wK,yBACVnC,GAAKzuK,EAAK6wK,uBACVjQ,GAAK,GACLzvD,GAAK,GAAMyvD,GAAK,EAChBI,IAAM,IACNC,GAAK,IACL0N,GAAK,EACLD,IAAM,KAAOC,IAAM,EACnBjO,GAAK,EACLC,GAAK9gL,EAAE,KACPkhL,GAAKlhL,EAAE,KACPihL,GAAKjhL,EAAE,KACPghL,GAAKhhL,EAAE,KACPqhL,GAAKrhL,EAAEohL,GAAKD,IACZG,GAAKthL,EAAEohL,GAAKD,IACdnf,GAAG,cAAejB,GAAI,GACtBiB,GAAG,cAAehE,GAAI,GACtBgE,GAAG,eAAgB/H,GAAI,GACvB+H,GAAG,eAAgBhI,GAAI,GACvBgI,GAAG,eAAgBf,GAAI,GACvBe,GAAG,mBAAoB1E,GAAI,GAC3B0E,GAAG,iBAAkBhB,GAAI,OACrB+tB,GAAK,CACL,EACA,EACA,EACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEFpD,GAAK,CAAC,EAAG,EAAG,GACZsF,GAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACvCrF,GAAK,OACFsF,eAAiB,SAAS/wK,EAAGhkB,EAAG+gB,EAAGrR,EAAG7L,GAAA,IACrC0nD,EAAI44H,GACJznK,EAAI,IAAI8lJ,GACVthJ,EAAI,IAAIqoE,GACV7sE,EAAE0mK,GAAKliK,EACPA,EAAEuzC,EAAIlJ,EACNrqC,EAAExhB,MAAQ,CAACwhB,EAAExhB,OACbwhB,EAAEvhB,OAAS,CAACuhB,EAAEvhB,QAAA,IACV+sD,EAAIxrC,EAAExhB,MACNosD,EAAI5qC,EAAEvhB,OACRosD,EAAI,IAAI08B,GAAA,GACN,MAAQ18B,GAAK,MAAQ/nC,EAAG,IAAIw8B,EAAI,OAElCv3C,EAAE,MAAQ8iD,GACPvL,EAAI63G,GAAGr0I,EAAGhkB,EAAG+gB,EAAGgrC,EAAErsD,MAAOqsD,EAAEpsD,OAAQosD,EAAE02H,GAAI12H,EAAE22H,GAAI32H,EAAEyZ,OAAQ,YACzDhlB,EACAkM,EAAI,GACJ,MAAQA,IAAMA,EAAE,GAAKX,EAAErsD,MAAM,IAC9B,MAAQosD,IAAMA,EAAE,GAAKC,EAAEpsD,OAAO,IAC7B+sD,EAAI,GACLA,EAAG,CACLxrC,EAAExhB,MAAQwhB,EAAExhB,MAAM,GAClBwhB,EAAEvhB,OAASuhB,EAAEvhB,OAAO,SACZ+P,IAAMA,EAAE,GAAKwR,EAAExhB,OAAA,MACfmE,IAAMA,EAAE,GAAKqd,EAAEvhB,QACvBqkB,EAAG,IACDtU,EAAI,IAAIq+F,IACRlqG,EAAI,IAAIg/J,IACNrkI,KAAOxa,EACTngB,EAAEL,EAAIxD,EACN6D,EAAEmrL,GAAKjuK,EACPld,EAAE6tL,GAAK,EACP1xL,EAAI,CAAC,GACLiJ,EAAE,MAAQpF,IAET,IADDmgB,EAAIq0I,GAAGx0J,EAAE26B,KAAM36B,EAAEL,EAAGK,EAAEmrL,GAAI,KAAM,KAAM,KAAMhvL,EAAG,KAAM6D,KAC1C,GAAKmgB,IAAMhkB,EAAE,KAAOgkB,EAAI,GAE/B,IADJhkB,EAAIgkB,GACQ,IACV/a,EAAE,MAAQyT,GACVhN,EAAE8uB,KAAO36B,EAAE26B,KACX9uB,EAAElM,EAAIK,EAAEL,EAAIK,EAAEZ,OACdyM,EAAEs/K,GAAKnrL,EAAEmrL,GAAKnrL,EAAEZ,OAChByM,EAAEuxB,IAAMguD,GACRv/E,EAAEq/K,GAAK95F,GACPvlF,EAAE8uF,GAAKzK,GACPrkF,EAAEw0K,GAAKxnK,EACH7Y,EAAE+tL,GAAI,IAEJ,OADJ5tK,EAAI27E,MACW,CACbjjF,EAAI,QACEsH,CAAA,aA3mHNA,EAAGhkB,GAAA,IACT+gB,EAAI,CAAC,GACPrR,EAAI,CAAC,GACL7L,EAAI,CAAC,GACPoF,EAAG,OAAS,IACN,MAAQ+a,EAAG,OAAO,KAClB,MAAQhkB,EAAG,OAAQgkB,EAAEngB,EAAI,EAAI,KACjCmgB,EAAE+nC,EAAI/rD,EACNgkB,EAAEngB,EAAI,EACN4L,EAAGuU,EAAE01B,EAAG15C,EAAEw+B,KAAMx+B,EAAEwD,EAAGxD,EAAEgvL,KAClBx9F,GAAGxtE,EAAE01B,EAAG34B,EAAGrR,EAAG7L,GAAI,CACrBmgB,EAAEngB,EAAI,QACAoF,CAAA,IAER+a,EAAEgkK,GAAKC,GACPjoL,EAAEN,MAAQqhB,EAAE,GACZ/gB,EAAEL,OAAS+P,EAAE,IACR+1F,GAAG1kF,EAAE,GAAIrR,EAAE,GAAI,EAAGsU,EAAG,MAAO,MAAM/a,EAAA,OAChC,SAETA,EAAE,GAAK+a,EAAEngB,GACF,EAslHS,CAEDmgB,EAAGtU,GAAI,IAEPA,EAAI,IADT1P,EAAImmK,GAAGz2J,EAAEhQ,MAAOgQ,EAAE/P,OAAQ+c,EAAE+nK,GAAI/nK,EAAE0mK,KAChB,CAChBn6K,EAAG,CACDyG,EAAIsU,EACJhkB,EAAG,OAAS,IACN,MAAQ0P,EAAG,CACbA,EAAI,QACEzG,CAAA,IAERA,EAAE,MAAQyG,EAAEgN,EAAEqrK,IACd9+K,EAAE,MAAQyG,EAAEgN,EAAE+oK,IACdx8K,EAAE,EAAIyG,EAAEgN,EAAE8oK,IAEVv8K,EAAE,OADF8X,EAAIrR,EAAEq8C,IAGN9iD,EAAE,OADFpF,EAAIkd,EAAEmjK,KAEF,GAAKx0K,EAAEs4K,GAAI,IACbt4K,EAAE82K,GAAK3iL,EAAEu/K,GACT1zK,EAAE63K,GAAK1jL,EAAE0jL,GACTt+K,EAAE,MAAQyG,EAAE82K,KACP9f,GAAG7iK,EAAE4gL,GAAI1jK,EAAGqjK,IAAK,CACpB10K,EAAE7L,EAAI,QACA7D,CAAA,KAEH0nG,GAAGh4F,EAAGqR,EAAErhB,OAAQ,MAAMM,EAAA,GACvB+gB,EAAEgiK,GAAI,MAAM/iL,EAAA,IACf+gB,EAAEgiK,IAAMr5F,GAAGh6E,EAAE82K,GAAG/xH,KAAOwvG,KAAA,GACnBv0J,EAAE82K,GAAG/xH,IACPqrG,MAAM,iCACP,MAAQpwJ,EAAE82K,GAAGhmI,EAAE+hI,GAAG9wG,GAAKwyF,MAEvBv0J,EAAE+3K,IACF,EAAI/3K,EAAEgN,EAAEyqK,IACR,MAAQz3K,EAAEgN,EAAEorK,GAAG1yH,IACdkkB,EAAG5pE,EAAEgN,EAAEorK,GAAIp4K,EAAEgN,EAAEgrK,GAAGvG,IACnB,CACAzxK,EAAE7L,EAAI,QACA7D,CAAA,CAER0P,EAAEs4K,GAAK,MAEJzlE,GAAG7yG,EAAGA,EAAEkvE,EAAGlvE,EAAE42K,GAAI52K,EAAEwR,EAAGxR,EAAEA,EAAGqR,EAAEwqC,EAAGg2C,IAAK,MAAMvhG,EAChD6D,EAAEuhL,GAAK11K,EAAE+2K,GACT/2K,EAAI,QACEzG,CAAA,CAERA,EAAE,GAAKyG,EAAE7L,GACT6L,EAAI,EAENA,GAAKA,CAAA,CAEPA,IAAM1P,EAAIgkB,EAAEngB,EAAA,MACP7D,EAAIgkB,EAAEngB,CAAA,KACR,IAED,OADJmgB,EAAI,IAAIyjF,IACO,CACb/qF,EAAI,QACEsH,CAAA,IAERA,EAAEsqK,GAAKzqL,EAAE8tL,GACT3tK,EAAE2wC,EAAI9wD,EAAE8wD,EACR3wC,EAAEwqK,GAAK3qL,EAAEkuL,GACLt5B,GAAGz0I,EAAGtU,IAAA,GACsC,IAAxC1P,EAAImmK,GAAGz2J,EAAEhQ,MAAOgQ,EAAE/P,OAAQ+c,EAAE+nK,GAAI/nK,EAAE0mK,KAAe,IACrDp/J,EAAEqoK,GAAK,EACPtrK,EAAIrE,EAAE+nK,GAENx7K,EAAE,OADFpF,EAAImgB,IAEA,MAAQjD,EAAG,IAGT,GADJ2rC,EAAI,GADJA,EAAI3rC,EAAE6hK,IACM,EAAI,IAAMl2H,EAAI,IAAO,IAAMA,EAAK,KACjC,KACJZ,EAAIC,EAAI,EAAG,EAAID,IAAKA,EAErB,IADDtL,EAAI38C,EAAEipL,GAAGhhI,IACD40F,KACJlgG,EAAEuqI,GAAMr+H,EAAIooI,GAAG,EAAIt0I,EAAEkgG,GAAK,EAAIlgG,EAAEkgG,KAAQ,GAC1C30F,GAAKvL,EAAEuqI,GACZh/H,IAAM+zG,MAAM,sBAAwBj8J,EAAEknL,GAAK,GAE7ClnL,EAAEgrL,GAAK9tK,EAAE4hK,GAAA,IACH9+K,EAAEgrL,GAAMhrL,EAAEgrL,GAAK,IAAO,EAAIhrL,EAAEgrL,KAAOhrL,EAAEgrL,GAAK,GAElD91B,GAAG/0I,EAAGtU,KAAO1P,EAAIgkB,EAAEngB,EAAA,OAEhB7D,EAAIgkB,EAAEngB,CAAA,IAEV7D,GAAK,MAAQ0c,EAAE+nK,IAAM/nK,EAAE+nK,GAAGjoC,KAAOx8I,EAAIumK,GAAG7pJ,EAAE0mK,IAAA,CAEjD1mK,EAAI1c,CAAA,CAENurD,EAAI,GAAK7uC,EAAI,KAAO,GAAK6uC,EAAIrqC,EAAEs/B,EAAE8hI,KAAKjmC,GAAKn7H,EAAEs/B,EAAE+hI,GAAGj/H,CAAA,MAC7CiI,EAAI,YACJA,CAAA,MAELsnI,GAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,aAuBvCnmI,EAAO1oC,EAAM/a,GAAA,QAChBjJ,EAAM,GACD+gB,EAAI,EAAGA,EAAI,EAAGA,IAAK/gB,GAAO6hB,OAAOkkI,aAAa/hI,EAAK/a,MAAA,OACrDjJ,CAAA,UAOA8rD,EAAQ9nC,EAAM/a,GAAA,OAEjB+a,EAAK/a,EAAW,GACf+a,EAAK/a,EAAW,IAAM,EACtB+a,EAAK/a,EAAW,IAAM,MACzB,WAIK8iD,EAAQ/nC,EAAM/a,GAAA,OAEjB+a,EAAK/a,EAAW,GACf+a,EAAK/a,EAAW,IAAM,EACtB+a,EAAK/a,EAAW,IAAM,GACtB+a,EAAK/a,EAAW,IAAM,MACzB,MA9CAiY,EAAA,IAgJAs/B,EAAS,CAAC,GACV2L,EAAQ,CAAC,GACTviC,EAAS,GACT4iC,EAAc,IAAItrC,EAElBw4B,EAAW11B,EACXvU,EAAA,SApGoBuU,EAAK/a,GAAA,IACvBjJ,EAAa,CAAC,EACd+gB,EAAI,EACJrR,GAAA,EACA7L,EAAa,EACb0nD,EAAe,KACnBvrD,EAAUu9K,OAAa,aAzCTv5J,EAAM/a,EAAUjJ,EAAK+gB,GAAA,IAC9B,IAAIrR,EAAI,EAAGA,EAyCiB,EAzCPA,IAAA,GACpBsU,EAAK/a,EAAWyG,IAwCG,OAxCOq9B,WAAWr9B,GAAI,OAAO,UAC/C,EAuCIsU,EAAK/a,GAAqB,CAAJ,IA9BlByT,EAAMwE,EA+BV,IACK6qC,EAAQ/nC,EADxB/a,GAAW,GAEXA,GAAW,EAEJA,EAAU+a,EAAIpa,QAAQ,KACvB42C,EAASkM,EAAO1oC,EAAK/a,GAGrBkjD,EAAeJ,EAAQ/nC,EAF3B/a,GAAW,GAGXA,GAAW,MACP2gB,EAAsBuiC,GAA+B,EAAfA,GAAA,OAElC3L,GAAA,IACD,WACA,gBACQxgD,EAAUu9K,OAAWx8J,KAC9B/gB,EAAUu9K,OAAWx8J,GAAK,CAAC,IACzBtR,EAAMzP,EAAUu9K,OAAWx8J,IAG5Bi0K,QAActlL,EAAc67C,EAAetiD,EAAU,EACxDwG,EAAGwlL,SAAepxL,EAAasoD,EAAe,EAG9CprC,IACIrR,IACFA,GAAA,EACA7L,EAAa,EACb0nD,EAAe,aAGd,QACC97C,EAAOzP,EAAU4M,OAAa,CAAC,GACXsoL,cAAoBlxK,EAAI/a,GAAA,IAC5CujD,EAAWvjD,EAAU,EACLwG,EAAG0lL,aAAmB,EAAIrpI,EAAQ9nC,EAAKwoC,GAC3DA,GAAY,EACS/8C,EAAG2lL,cACtB,EAAItpI,EAAQ9nC,EAAKwoC,GACnBA,GAAY,YAET,OACH98C,GAAA,EACA7L,EAAa+lB,EAAsB,EACnC2hC,EAAetiD,EAAU,YAGtB,QACCwG,EAAMzP,EAAU4M,QACFyoL,QAActpI,EAAQ/nC,EAAK/a,GAC7CujD,EAAWvjD,EAAU,EAEHwG,EAAG6lL,YAnFZ54K,EAmFqCsH,IAnF/B9C,EAmFoCsrC,GAlFjC,GAAY9vC,EAAKwE,EAAW,IAAM,EAmFpDsrC,GAAY,YAET,WAQD9S,EACEjqC,GAAAA,EAAOzP,EAAUu9K,OAAWx8J,GAAK,CAAC,GACnCw0K,SAA0B,EAAIzpI,EAAQ9nC,EAAK/a,GAC9CA,GAAW,EACXwG,EAAG+lL,SAA0B,EAAI1pI,EAAQ9nC,EAAK/a,GAC9CA,GAAW,EACXwG,EAAG/P,MAAoB,EAAIosD,EAAQ9nC,EAAK/a,GACxCA,GAAW,EACXwG,EAAG9P,OAAsB,EAAImsD,EAAQ9nC,EAAK/a,GAC1CA,GAAW,EACXwG,EAAG4rB,SAA0BywB,EAAQ9nC,EAAK/a,GAC1CA,GAAW,EACXywC,EAAO11B,EAAI/a,KACXwG,EAAGi2C,QAA+B,EAAPhM,EAC3BjqC,EAAG0iD,MAAqBzY,GAAQ,EAAK,EAI3B,QAAV8G,IAAkBv3C,GAAW2gB,EAAA,QAE5B5pB,CAAA,EASL,CAA4B05C,EAAU,GAC1CjqC,EAAUlI,SAAemyC,EACzBjqC,EAAUgmL,YAAA,EACVhmL,EAAUimL,SAAA,EAAc,IAEpB5xL,EAAS2L,EAAU7C,OAAa6C,EAAU7C,OAAa,KACvD02C,EAAS7zC,EAAU8tK,OAAa9tK,EAAU8tK,OAAa,QAEvDz5K,EAAQ,CACVA,EAAM6xL,aAAmB7xL,EAAMwxL,WAC/B90I,EAAS,CAAC18C,EAAMsxL,eAChBjpI,EAAQ,CAACroD,EAAMqxL,cAAA,IAGV,IAAI3xL,EAAI,EAAGA,EAAI8/C,EAAO15C,QACC,GAAtB05C,EAAO9/C,GAAP2uD,MAD6B3uD,KAAA,KAOjCw2E,EAAQ12B,EAAO,GACfn3C,EAAOqgD,EAAYuoI,eACrBr7I,EACAsgC,EAAKg7G,QACLh7G,EAAKi7G,SACL9oI,EACA3L,GAEFw5B,EAAKmwD,KAAWh+H,EAChB6tE,EAAK47G,SAAezpI,EAAM,GAC1B6tB,EAAK67G,UAAgBr1I,EAAO,OAEvB,IAAIgU,EAAI,EAAGA,EAAIrI,EAAM,GAAK3L,EAAO,GAAK,EAAGgU,IAC5C5qC,EAAO4qC,GAAKroD,EAAKqoD,GAAA,YAGd90D,MAAQysD,EAAA,KACRxsD,OAAS6gD,EAAA,KACThiB,KAAO5U,EACLjY,IAAA,ECjyKT,SAAUqS,GAAA,IAgDJjD,EAAgB,SAAS/gB,EAAO+gB,EAAYld,EAAgBioD,GAAA,IAC1DC,EAAQ,EACRvL,EAAgB9jC,EAAA,OAEZovC,GAAA,KACD9nC,EAAS4rJ,kBAAkBE,KAC9B/jH,EAAQ,EACRvL,EAAgB+K,EAAA,WAGbvnC,EAAS4rJ,kBAAkBG,OAC9BhkH,EAAQ,EACRvL,EAAgBt/B,EAAA,WAGb8C,EAAS4rJ,kBAAkBI,KAC9BjkH,EAAQ,EACRvL,EAAgBkM,EAQlB,IAEEP,EAAMljD,EANVjJ,EAAQ0P,EACN1P,EACA+gB,EACAld,EACA28C,GAEwB,CAAEokG,MAAO74F,IAAA,OAC5B/nC,EAASopJ,aAAa2D,0BAA0B5kH,EAAA,EAGrDz8C,EAAuB,SACzBsU,EACA/a,EACAjJ,EACA+gB,GAAA,QAKErR,EACA7L,EACA0nD,EALE7uC,EAAQsH,EAAMpa,OAASX,EACzBiY,EAAS,IAAI2rB,WAAW7oB,EAAMpa,OAAS8S,GACvCgwC,EAAiBX,IAKVD,EAAI,EAAGA,EAAIpvC,EAAOovC,GAAK,EAAG,IACjCP,EAASO,EAAI7iD,EACbyG,EAAOsU,EAAM65H,SAAStyF,EAAQA,EAAStiD,GAEnC8X,EACFG,EAAO9F,IAAI2F,EAAcrR,EAAM1P,EAAgB6D,GAAW0nD,EAASO,OAC9D,SAIIK,EAHLviC,EAAM8iC,EAAe9iD,OACvB4iD,EAAU,GAEAL,EAAIviC,EAAKuiC,GAAK,EACxBK,EAAQL,GAAKO,EAAeP,GAAGz8C,EAAM1P,EAAgB6D,GAAA,IAGnD61C,EAAM8G,EAAsBgM,EAAQrrD,UAExC+f,EAAO9F,IAAIoxC,EAAQ9S,GAAM6R,EAASO,EAAA,CAGpCjoD,EAAW6L,CAAA,QAGNwR,CAAA,EAGLrd,EAAa,SAASmgB,GAAA,IAKpB/a,EAASsG,MAAM+7C,MAAM,GAAItnC,GAAA,OAC7B/a,EAAOo4F,QAAQ,GAERp4F,CAAA,EAGLsiD,EAAY,SAASvnC,EAAM/a,GAAA,IAG3BjJ,EAFE+gB,EAAS,GACXrR,EAAMsU,EAAKpa,OAGbmX,EAAO,GAAK,MAEP,IAAIld,EAAI,EAAGA,EAAI6L,EAAK7L,GAAK,EAC5B7D,EAAOgkB,EAAKngB,EAAIoF,IAAmB,EACnC8X,EAAOld,EAAI,GAAMmgB,EAAKngB,GAAK7D,EAAO,IAAU,WAGvC+gB,CAAA,EAGLrE,EAAW,SAASsH,EAAM/a,EAAgBjJ,GAAA,IAG1C+gB,EAFErR,EAAS,GACX7L,EAAMmgB,EAAKpa,OAGb8F,EAAO,GAAK,MAEP,IAAI67C,EAAI,EAAGA,EAAI1nD,EAAK0nD,GAAK,EAC5BxqC,EAAM/gB,GAAYA,EAASurD,IAAO,EAClC77C,EAAO67C,EAAI,GAAMvnC,EAAKunC,GAAKxqC,EAAK,IAAU,WAGrCrR,CAAA,EAGLwR,EAAgB,SAAS8C,EAAM/a,EAAgBjJ,GAAA,IAG/C+gB,EACArR,EAHE7L,EAAS,GACX0nD,EAAMvnC,EAAKpa,OAIb/F,EAAO,GAAK,MAEP,IAAI6Y,EAAI,EAAGA,EAAI6uC,EAAK7uC,GAAK,EAC5BqE,EAAOiD,EAAKtH,EAAIzT,IAAmB,EACnCyG,EAAM1P,GAAYA,EAAS0c,IAAO,EAClC7Y,EAAO6Y,EAAI,GAAMsH,EAAKtH,GAAK,KAAWqE,EAAOrR,IAAQ,GAAM,WAGtD7L,CAAA,EAGL6oD,EAAc,SAAS1oC,EAAM/a,EAAgBjJ,GAAA,IAG7C+gB,EACArR,EACA7L,EACA0nD,EALE7uC,EAAS,GACXwE,EAAM8C,EAAKpa,OAMb8S,EAAO,GAAK,MAEP,IAAIgwC,EAAI,EAAGA,EAAIxrC,EAAKwrC,GAAK,EAC5B3rC,EAAOiD,EAAK0oC,EAAIzjD,IAAmB,EACnCyG,EAAM1P,GAAYA,EAAS0sD,IAAO,EAClC7oD,EAAU7D,GAAYA,EAAS0sD,EAAIzjD,IAAoB,EACvDsiD,EAAQO,EAAe/qC,EAAMrR,EAAI7L,GACjC6Y,EAAOgwC,EAAI,GAAM1oC,EAAK0oC,GAAKnB,EAAQ,IAAU,WAGxC7uC,CAAA,EAGLovC,EAAiB,SAAS9nC,EAAM/a,EAAIjJ,GAAA,GAClCgkB,IAAS/a,GAAMA,IAAOjJ,EAAA,OACjBgkB,EAAA,IAELjD,EAAQsE,KAAKspC,IAAI1lD,EAAKjJ,GACxB0P,EAAM2V,KAAKspC,IAAI3qC,EAAOhkB,GACtB6D,EAAUwhB,KAAKspC,IAAI3qC,EAAO/a,EAAKjJ,EAASA,GAAA,OACnC+gB,GAASrR,GAAOqR,GAASld,EAC5BmgB,EACAtU,GAAO7L,EACPoF,EACAjJ,CAAA,EAGF+rD,EAAmB,iBACd,CAACloD,EAAY0nD,EAAW7uC,EAAUwE,EAAewrC,EAAA,EAGtDlM,EAAwB,SAASx8B,GAAA,IAC/B/a,EAAM+a,EAAOnW,KAAI,SAASmW,GAAA,OACrBA,EAAMpgB,QAAO,SAASogB,EAAI/a,GAAA,OACxB+a,EAAKqB,KAAKspC,IAAI1lD,EAAA,GACpB,aAEEA,EAAImc,QAAQC,KAAKpR,IAAIq3C,MAAM,KAAMriD,GAAA,EA8B1C+a,EAAS8xK,WAAa,SAAS7sL,EAAWyG,EAAO7L,EAAO0nD,GAAA,IAGlD7uC,EAEFwE,EACAwrC,EAEAZ,EACAC,EACAvL,EACA2L,EACAviC,EACA4iC,EACA9S,EACAjqC,EACA3L,EACAw/C,EACA9/C,EACAw2E,EAfA7tE,EAASwF,KAAKi7B,OAAOwiI,aAGrB56G,EAAmB,MAcjB7iD,KAAKy7J,aAAamD,cAActnK,KAClCA,EAAY,IAAI4jC,WAAW5jC,IAEzB0I,KAAKy7J,aAAaoD,kBAAkBvnK,GAAY,IAElDA,GADAyjD,EAAQ,IAAI+rG,GAAIxvJ,IACE6zK,QAClB57J,EAAmBwrC,EAAM+wF,KACzB/gI,EAAagwC,EAAMqhH,WACnBhiH,EAASW,EAAM5qD,QAS0B,IAArC,CAAC,EAAG,GAAGsjB,QAAQsnC,EAAMuwH,WAAmB,IAIvB,IAAfvwH,EAAM+wF,KAAY,CAOpBjxF,GANA5iC,EAC0B,IAAxB8iC,EAAMuxH,eACF,IAAIjiC,YAAYtvF,EAAMwxH,eAAe7vD,QACb,IAAxB3hE,EAAMuxH,eACN,IAAIniC,YAAYpvF,EAAMwxH,eAAe7vD,QACrC,IAAIxhF,WAAW6f,EAAMwxH,eAAe7vD,SAC7BzkH,OACb6F,EAAU,IAAIo9B,WAAW2f,EAAME,EAAM5qD,QACrC43C,EAAY,IAAI7M,WAAW2f,GAAA,IAIvBG,EAHA8H,EAAQ/H,EAAMuxH,eAAiBvxH,EAAM+wF,KAAA,IACzCj6I,EAAI,EACJw2E,EAAI,EAGGx2E,EAAIgpD,EAAKhpD,IAAK,KACnB8/C,EAAQ15B,EAAOpmB,GACfmpD,EAAM,EAECA,EAAM8H,GACXhlD,EAAQuqE,KAAQ12B,IAAUqJ,EAAO,IACjCA,GAAYD,EAAM+wF,KAGpB/jG,EAAUl2C,GAAM8/C,IAAUqJ,EAAO,QAOlB,KAAfD,EAAM+wF,KAAa,CAErBjxF,GADA5iC,EAAS,IAAIoyH,YAAYtvF,EAAMwxH,eAAe7vD,SACjCzkH,OACb6F,EAAU,IAAIo9B,WACZ2f,GAAO,GAAKE,EAAMuxH,gBAAkBvxH,EAAM5qD,QAE5C43C,EAAY,IAAI7M,WAAW2f,GAAO,GAAKE,EAAMuxH,iBAC7Cn6K,EAAY4oD,EAAM5qD,OAAS,EAC3B0B,EAAI,EACJw2E,EAAI,UACA/mE,EAAI,EAEDzP,EAAIgpD,GACTlJ,EAAQ15B,EAAOpmB,KAEfiM,EAAQuqE,KAAQ12B,IAAU,EAAK,IAE3Bx/C,IACF2L,EAAQuqE,KAAQ12B,IAAU,GAAM,IAEhCA,EAAQ15B,EAAOpmB,KACfiM,EAAQuqE,KAAQ12B,IAAU,EAAK,KAGjC5J,EAAUzmC,KAAQqwC,IAAU,GAAM,IAEpCpiC,EAAmB,EAGLqqC,IAtTHvnC,EAAS4rJ,kBAAkBC,MAuTtC5mK,EAAY8X,EACVtR,EACAi9C,EAAMhtD,MAAQgtD,EAAM5qD,OACpB4qD,EAAM5qD,OACNypD,GAEFY,EAAQprC,EAAc24B,EAAWgT,EAAMhtD,MAAO,EAAG6rD,KAEjDtiD,EAAYwG,EACZ08C,EAAQzS,EACRvtC,OAAA,EAAS,IAOW,IAApBugD,EAAMuwH,YACRvgK,EAAa/K,KAAK88J,aAAaT,QAC/BxtH,EAAMkM,EAAMyd,QAERzd,EAAM2hH,aAAayP,SAAS,KAC1BnpH,EAAQjI,EAAM2hH,aAAayP,QAC3BziK,EAAQ,MACZ7X,EAAI,EACJgpD,EAAMmI,EAAM/qD,OAELpG,EAAIgpD,IAAOhpD,EAChB6X,GAASs5C,EAAMnxD,GAAA,IAGjB6X,GAAgB,OAMFmxC,EAAM,IAA2B,IAAtBmI,EAAMvvC,QAAQ,GACrC0mC,EAAO,CAAC6I,EAAMvvC,QAAQ,SAMjB,GAAI/J,IAAUmxC,EAAK,KACxB5iC,EAAS8iC,EAAMwxH,eACfxkI,EAAY,IAAI7M,WAAWjjB,EAAOhgB,QAClCpG,EAAI,EACJgpD,EAAM5iC,EAAOhgB,OAENpG,EAAIgpD,EAAKhpD,IACdk2C,EAAUl2C,GAAKmxD,EAAM/qC,EAAOpmB,IAG9B2oD,EAAQprC,EAAc24B,EAAWgT,EAAMhtD,MAAO,QAKhDq1D,EA7L0B,SAAS9rD,GAAA,IACrCjJ,EAAA,OACIiJ,GAAA,KACD+a,EAAS4rJ,kBAAkBE,KAC9B9vK,EAAY,cAGTgkB,EAAS4rJ,kBAAkBG,OAC9B/vK,EAAY,cAGTgkB,EAAS4rJ,kBAAkBI,KAC9BhwK,EAAY,iBAIZA,EAAY,UAGTA,CAAA,CAnByB,CA6LcurD,GAAA,OAExCp/C,IAAWwF,KAAKi7B,OAAOwiI,eACzB56G,EAAmB,cAAgBO,EAAY,KAEjDP,GACE,WACAzI,EACA,sBACA7qC,EACA,aACAwrC,EAAMhtD,OAGNiS,KAAKy7J,aAAamD,cAActnK,IAChC0I,KAAKy7J,aAAaoD,kBAAkBvnK,MAEpCA,EAAY0I,KAAKy7J,aAAa2D,0BAA0B9nK,KAIvDkjD,GAASx6C,KAAKy7J,aAAamD,cAAcpkH,IAC1Cx6C,KAAKy7J,aAAaoD,kBAAkBrkH,MAEpCA,EAAQx6C,KAAKy7J,aAAa2D,0BAA0B5kH,IAG/C,CACL/qC,MAAOvd,EACP26B,KAAMv1B,EACN7G,MAAOsN,EACPrG,OAAQ8C,EACRiiK,iBAAkB55G,EAClB65G,aAAcviH,EACdqe,QAAS3pB,EACTytH,MAAO9hH,EACPmiH,UAAWv5G,EACXr1D,MAAOgtD,EAAMhtD,MACbC,OAAQ+sD,EAAM/sD,OACdwuK,iBAAkBjtJ,EAClB6sJ,WAAYrxJ,EAAA,GApcpB,CAwcG+4C,GAAMjuD,KCzdT,SAAUwc,GAGRA,EAAS+xK,cAAgB,SAAS9sL,EAAWjJ,EAAO+gB,EAAOrR,GAAA,IACrD7L,EAAS,IAAI60J,GAAUzvJ,GACvBsiD,EAAQ1nD,EAAOnE,MACjBgd,EAAS7Y,EAAOlE,OAEduhB,EAAS,GAEbrd,EAAO27K,uBAAuB,EAAGt+J,GAAA,IAC7BwrC,EAAe,CACjBluB,KAAMtd,EACNxhB,MAAO6rD,EACP5rD,OAAQ+c,GAINovC,EADU,IAAIitG,GAVT,KAWU0mB,OAAO/yH,EAXjB,YAYF1oC,EAAS44J,YAAY7rK,KAAKY,KAAMm6C,EAAM9rD,EAAO+gB,EAAOrR,EAAA,EAG7DsU,EAASgyK,cAAgBhyK,EAAS+xK,aAAA,CAtBpC,CAuBGtgI,GAAMjuD,KHjBTwxJ,GAAW9oJ,UAAU4vK,YAAc,mBAC5BmW,SAAWtkL,KAAK+tK,MAAMwW,UAAUvkL,KAAKwoE,KAAA,GAAK,KAC1CA,KAAO,OACPg8G,SAAWxkL,KAAK+tK,MAAMwW,UAAUvkL,KAAKwoE,KAAA,GAAK,KAC1CA,KAAO,OACPl3E,OAAS0O,KAAK+tK,MAAMwW,UAAUvkL,KAAKwoE,KAAA,GAAK,KACxCA,KAAO,OACPi8G,WAAazkL,KAAK+tK,MAAMwW,UAAUvkL,KAAKwoE,KAAA,GAAK,KAC5CA,KAAO,OACPz6E,MAAQiS,KAAK+tK,MAAMwW,UAAUvkL,KAAKwoE,KAAA,GAAK,KACvCA,KAAO,OACPx6E,OAASgS,KAAK+tK,MAAM2W,SAAS1kL,KAAKwoE,KAAA,GAAK,KACvCA,KAAO,OACPm8G,OAAS3kL,KAAK+tK,MAAM6W,UAAU5kL,KAAKwoE,KAAA,GAAK,KACxCA,KAAO,OACPq8G,MAAQ7kL,KAAK+tK,MAAM6W,UAAU5kL,KAAKwoE,KAAA,GAAK,KACvCA,KAAO,OACPu2E,SAAW/+I,KAAK+tK,MAAMwW,UAAUvkL,KAAKwoE,KAAA,GAAK,KAC1CA,KAAO,OACPs8G,QAAU9kL,KAAK+tK,MAAMwW,UAAUvkL,KAAKwoE,KAAA,GAAK,KACzCA,KAAO,OACPwpF,GAAKhyJ,KAAK+tK,MAAMwW,UAAUvkL,KAAKwoE,KAAA,GAAK,KACpCA,KAAO,OACPgqF,GAAKxyJ,KAAK+tK,MAAMwW,UAAUvkL,KAAKwoE,KAAA,GAAK,KACpCA,KAAO,OACPr4E,OAAS6P,KAAK+tK,MAAMwW,UAAUvkL,KAAKwoE,KAAA,GAAK,KACxCA,KAAO,OACPu8G,gBAAkB/kL,KAAK+tK,MAAMwW,UAAUvkL,KAAKwoE,KAAA,GAAK,KACjDA,KAAO,EAEO,KAAfxoE,KAAK6kL,OAAgB7kL,KAAKguK,gBAAA,KACvB6W,MAAQ,IAEX7kL,KAAK6kL,MAAQ,GAAI,KACfxyK,EAAsB,IAAhBrS,KAAK7P,OAAe,GAAK6P,KAAK6kL,MAAQ7kL,KAAK7P,OAAA,KAChDqoE,QAAU,IAAI56D,MAAMyU,GAAA,IACpB,IAAI/a,EAAI,EAAGA,EAAI+a,EAAK/a,IAAK,KACxBjJ,EAAO2R,KAAK+tK,MAAMiX,SAAShlL,KAAKwoE,OAAA,GAChCp5D,EAAQpP,KAAK+tK,MAAMiX,SAAShlL,KAAKwoE,OAAA,GACjCzqE,EAAMiC,KAAK+tK,MAAMiX,SAAShlL,KAAKwoE,OAAA,GAC/Bt2E,EAAO8N,KAAK+tK,MAAMiX,SAAShlL,KAAKwoE,OAAA,GAAO,KACtChQ,QAAQlhE,GAAK,CAChBwkJ,IAAK/9I,EACLg6I,MAAO3oI,EACPgmI,KAAM/mJ,EACN42L,KAAM/yL,EAAA,EAIR8N,KAAKhS,OAAS,SACXA,SAAW,OACXigL,WAAA,EAAY,EAIrB5mB,GAAW9oJ,UAAU6vK,SAAW,gBACzB5lG,IAAMxoE,KAAK1O,OAAA,QAEV+gB,EAAO,MAAQrS,KAAK6kL,MACpBvtL,EAAM0I,KAAKjS,MAAQiS,KAAKhS,OAAS,OAChC6+B,KAAO,IAAIqO,WAAW5jC,GAAA,KAEtB+a,IAAA,CACL,MAAOA,GACPngB,EAAQu7B,IAAI,oBAAsBpb,EAAA,GAItCg1I,GAAW9oJ,UAAU2mL,KAAO,eAGtB7yK,EAFA/a,EAAOoc,KAAK2+D,KAAKryE,KAAKjS,MAAQ,GAC9BM,EAAOiJ,EAAO,MAEb+a,EAAIrS,KAAKhS,OAAS,EAAGqkB,GAAK,EAAGA,IAAK,SACjCjD,EAAOpP,KAAKiuK,UAAY57J,EAAIrS,KAAKhS,OAAS,EAAIqkB,EACzCtU,EAAI,EAAGA,EAAIzG,EAAMyG,IAAA,QACpB7L,EAAI8N,KAAK+tK,MAAMiX,SAAShlL,KAAKwoE,OAAA,GAC7B5uB,EAAWxqC,EAAOpP,KAAKjS,MAAQ,EAAQ,EAAJgQ,EAAQ,EACtCgN,EAAI,EAAGA,EAAI,GACV,EAAJhN,EAAQgN,EAAI/K,KAAKjS,MADAgd,IAAK,KAEpBwE,EAAMvP,KAAKw4D,QAAStmE,GAAM,EAAI6Y,EAAM,QACnC8hB,KAAK+sB,EAAe,EAAJ7uC,GAASwE,EAAI6lI,KAAA,KAC7BvoH,KAAK+sB,EAAe,EAAJ7uC,EAAQ,GAAKwE,EAAIwoI,MAAA,KACjClrH,KAAK+sB,EAAe,EAAJ7uC,EAAQ,GAAKwE,EAAIusI,IAAA,KACjCjvH,KAAK+sB,EAAe,EAAJ7uC,EAAQ,GAAK,IAO3B,IAAT1c,IAAA,KACGm6E,KAAO,EAAIn6E,EAAA,GAKtBg5J,GAAW9oJ,UAAU4mL,KAAO,mBACtB9yK,EAAOqB,KAAK2+D,KAAKryE,KAAKjS,MAAQ,GAC9BuJ,EAAO+a,EAAO,EACThkB,EAAI2R,KAAKhS,OAAS,EAAGK,GAAK,EAAGA,IAAK,SACrC+gB,EAAOpP,KAAKiuK,UAAY5/K,EAAI2R,KAAKhS,OAAS,EAAIK,EACzC0P,EAAI,EAAGA,EAAIsU,EAAMtU,IAAK,KACzB7L,EAAI8N,KAAK+tK,MAAMiX,SAAShlL,KAAKwoE,OAAA,GAC7B5uB,EAAWxqC,EAAOpP,KAAKjS,MAAQ,EAAQ,EAAJgQ,EAAQ,EAE3CgN,EAAS7Y,GAAK,EACdqd,EAAY,GAAJrd,EAER6oD,EAAM/6C,KAAKw4D,QAAQztD,GAAA,QAClB8hB,KAAK+sB,GAAYmB,EAAIq6F,KAAA,KACrBvoH,KAAK+sB,EAAW,GAAKmB,EAAIg9F,MAAA,KACzBlrH,KAAK+sB,EAAW,GAAKmB,EAAI+gG,IAAA,KACzBjvH,KAAK+sB,EAAW,GAAK,IAElB,EAAJ77C,EAAQ,GAAKiC,KAAKjS,MAAO,MAE7BgtD,EAAM/6C,KAAKw4D,QAAQjpD,GAAA,KACdsd,KAAK+sB,EAAW,GAAKmB,EAAIq6F,KAAA,KACzBvoH,KAAK+sB,EAAW,EAAI,GAAKmB,EAAIg9F,MAAA,KAC7BlrH,KAAK+sB,EAAW,EAAI,GAAKmB,EAAI+gG,IAAA,KAC7BjvH,KAAK+sB,EAAW,EAAI,GAAK,IAGnB,IAATtiD,IAAA,KACGkxE,KAAO,EAAIlxE,EAAA,GAKtB+vJ,GAAW9oJ,UAAU6mL,KAAO,mBACtB/yK,EAAOrS,KAAKjS,MAAQ,EACfuJ,EAAI0I,KAAKhS,OAAS,EAAGsJ,GAAK,EAAGA,IAAK,SACrCjJ,EAAO2R,KAAKiuK,UAAY32K,EAAI0I,KAAKhS,OAAS,EAAIsJ,EACzC8X,EAAI,EAAGA,EAAIpP,KAAKjS,MAAOqhB,IAAK,KAC/BrR,EAAIiC,KAAK+tK,MAAMiX,SAAShlL,KAAKwoE,OAAA,GAC7Bt2E,EAAW7D,EAAO2R,KAAKjS,MAAQ,EAAQ,EAAJqhB,EAAA,GACnCrR,EAAIiC,KAAKw4D,QAAQvgE,OAAQ,KACvB2hD,EAAM55C,KAAKw4D,QAAQz6D,GAAA,KAClB8uB,KAAK36B,GAAY0nD,EAAIkiG,IAAA,KACrBjvH,KAAK36B,EAAW,GAAK0nD,EAAIm+F,MAAA,KACzBlrH,KAAK36B,EAAW,GAAK0nD,EAAIw7F,KAAA,KACzBvoH,KAAK36B,EAAW,GAAK,cAErB26B,KAAK36B,GAAY,SACjB26B,KAAK36B,EAAW,GAAK,SACrB26B,KAAK36B,EAAW,GAAK,SACrB26B,KAAK36B,EAAW,GAAK,IAGjB,IAATmgB,IAAA,KACGm2D,KAAO,EAAIn2D,EAAA,GAKtBg1I,GAAW9oJ,UAAU8mL,MAAQ,mBACvBhzK,EAAQrS,KAAKjS,MAAQ,EAEvBuJ,EADWgR,SAAS,QAAS,GAEtBja,EAAI2R,KAAKhS,OAAS,EAAGK,GAAK,EAAGA,IAAK,SACrC+gB,EAAOpP,KAAKiuK,UAAY5/K,EAAI2R,KAAKhS,OAAS,EAAIK,EACzC0P,EAAI,EAAGA,EAAIiC,KAAKjS,MAAOgQ,IAAK,KAC/B7L,EAAI8N,KAAK+tK,MAAM6W,UAAU5kL,KAAKwoE,KAAA,GAAK,KAClCA,KAAO,MACR5uB,GAAU1nD,EAAIoF,GAAQA,EAAQ,IAAO,EACrCyT,GAAY7Y,GAAK,EAAKoF,GAAQA,EAAQ,IAAO,EAC7CiY,GAAUrd,GAAK,GAAMoF,GAAQA,EAAQ,IAAO,EAC5CyjD,EAAQ7oD,GAAK,GAAK,IAAO,EAEzBioD,EAAW/qC,EAAOpP,KAAKjS,MAAQ,EAAQ,EAAJgQ,EAAA,KAClC8uB,KAAKstB,GAAY5qC,EAAA,KACjBsd,KAAKstB,EAAW,GAAKpvC,EAAA,KACrB8hB,KAAKstB,EAAW,GAAKP,EAAA,KACrB/sB,KAAKstB,EAAW,GAAKY,CAAA,MAGvBytB,KAAOn2D,CAAA,GAIhBg1I,GAAW9oJ,UAAU+mL,MAAQ,mBACvBjzK,EAAQrS,KAAKjS,MAAQ,EAEvBuJ,EADWgR,SAAS,QAAS,GAG7Bja,EADYia,SAAS,SAAU,GAExB8G,EAAIpP,KAAKhS,OAAS,EAAGohB,GAAK,EAAGA,IAAK,SACrCrR,EAAOiC,KAAKiuK,UAAY7+J,EAAIpP,KAAKhS,OAAS,EAAIohB,EACzCld,EAAI,EAAGA,EAAI8N,KAAKjS,MAAOmE,IAAK,KAC/B0nD,EAAI55C,KAAK+tK,MAAM6W,UAAU5kL,KAAKwoE,KAAA,GAAK,KAClCA,KAAO,MAERz9D,GAAU6uC,EAAItiD,GAAQA,EAAQ,IAAO,EACrCiY,GAAYqqC,GAAK,EAAKvrD,GAAQA,EAAQ,IAAO,EAC7C0sD,GAASnB,GAAK,IAAMtiD,EAAQ,IAAO,EAEnC6iD,EAAWp8C,EAAOiC,KAAKjS,MAAQ,EAAQ,EAAJmE,EAAA,KAClC26B,KAAKstB,GAAYY,EAAA,KACjBluB,KAAKstB,EAAW,GAAK5qC,EAAA,KACrBsd,KAAKstB,EAAW,GAAKpvC,EAAA,KACrB8hB,KAAKstB,EAAW,GATT,SAYTquB,KAAOn2D,CAAA,GAIhBg1I,GAAW9oJ,UAAUgnL,MAAQ,eAEtB,IAAIlzK,EAAIrS,KAAKhS,OAAS,EAAGqkB,GAAK,EAAGA,IAAK,SACrC/a,EAAO0I,KAAKiuK,UAAY57J,EAAIrS,KAAKhS,OAAS,EAAIqkB,EACzChkB,EAAI,EAAGA,EAAI2R,KAAKjS,MAAOM,IAAK,KAC/B+gB,EAAOpP,KAAK+tK,MAAMiX,SAAShlL,KAAKwoE,OAAA,GAChCzqE,EAAQiC,KAAK+tK,MAAMiX,SAAShlL,KAAKwoE,OAAA,GACjCt2E,EAAM8N,KAAK+tK,MAAMiX,SAAShlL,KAAKwoE,OAAA,GAC/B5uB,EAAWtiD,EAAO0I,KAAKjS,MAAQ,EAAQ,EAAJM,EAAA,KAClCw+B,KAAK+sB,GAAY1nD,EAAA,KACjB26B,KAAK+sB,EAAW,GAAK77C,EAAA,KACrB8uB,KAAK+sB,EAAW,GAAKxqC,EAAA,KACrByd,KAAK+sB,EAAW,GAAK,SAGvB4uB,KAAOxoE,KAAKjS,MAAQ,IAQ7Bs5J,GAAW9oJ,UAAUinL,MAAQ,eAEtB,IAAInzK,EAAIrS,KAAKhS,OAAS,EAAGqkB,GAAK,EAAGA,IAAA,QAChC/a,EAAO0I,KAAKiuK,UAAY57J,EAAIrS,KAAKhS,OAAS,EAAIqkB,EACzChkB,EAAI,EAAGA,EAAI2R,KAAKjS,MAAOM,IAAK,KAC/B+gB,EAAOpP,KAAK+tK,MAAMiX,SAAShlL,KAAKwoE,OAAA,GAChCzqE,EAAQiC,KAAK+tK,MAAMiX,SAAShlL,KAAKwoE,OAAA,GACjCt2E,EAAM8N,KAAK+tK,MAAMiX,SAAShlL,KAAKwoE,OAAA,GAC/B5uB,EAAQ55C,KAAK+tK,MAAMiX,SAAShlL,KAAKwoE,OAAA,GACjCz9D,EAAWzT,EAAO0I,KAAKjS,MAAQ,EAAQ,EAAJM,EAAA,KAClCw+B,KAAK9hB,GAAY7Y,EAAA,KACjB26B,KAAK9hB,EAAW,GAAKhN,EAAA,KACrB8uB,KAAK9hB,EAAW,GAAKqE,EAAA,KACrByd,KAAK9hB,EAAW,GAAK6uC,CAAA,GAOhCytG,GAAW9oJ,UAAUknL,QAAU,kBACtBzlL,KAAK6sB,IAAA,EIlQd,SAAUxa,GAGRA,EAASqzK,WAAa,SAASpuL,EAAWjJ,EAAO+gB,EAAOrR,GAAA,IAClD7L,EAAS,IAAIm1J,GAAW/vJ,GAAA,GACxBsiD,EAAQ1nD,EAAOnE,MACjBgd,EAAS7Y,EAAOlE,OAIduhB,EAAe,CACjBsd,KAHW36B,EAAOuzL,UAIlB13L,MAAO6rD,EACP5rD,OAAQ+c,GAINgwC,EADU,IAAIqsG,GATT,KAUU0mB,OAAOv+J,EAVjB,YAWF8C,EAAS44J,YAAY7rK,KAAKY,KAAM+6C,EAAM1sD,EAAO+gB,EAAOrR,EAAA,EAlB/D,CAoBG+lD,GAAMjuD,KHkyKTyxJ,GAAY/oJ,UAAUknL,QAAU,kBACvBzlL,KAAK6sB,IAAA,EItzKd,SAAUxa,GAGRA,EAASszK,YAAc,SAASruL,EAAWjJ,EAAO+gB,EAAOrR,GAAA,IACnD7L,EAAS,IAAIo1J,GAAYhwJ,GAAA,GACzBsiD,EAAQ1nD,EAAOnE,MACjBgd,EAAS7Y,EAAOlE,OAIduhB,EAAe,CACjBsd,KAHW36B,EAAOuzL,UAIlB13L,MAAO6rD,EACP5rD,OAAQ+c,GAINgwC,EADU,IAAIqsG,GATT,KAUU0mB,OAAOv+J,EAVjB,YAWF8C,EAAS44J,YAAY7rK,KAAKY,KAAM+6C,EAAM1sD,EAAO+gB,EAAOrR,EAAA,EAlB/D,CAoBG+lD,GAAMjuD,KC0CNiuD,GAAMjuD,IApCE+vL,YAAc,SAASvzK,EAAW/a,EAAOjJ,GAAA,QAG5C+gB,EAAciD,EAAUwa,KACxB9uB,EAASqR,EAAYnX,OAErB/F,EAAS,IAAIgpC,WAAYn9B,EAAS,EAAK,GACvC67C,EAAW,IAAI1e,WAAWn9B,EAAS,GACnCgN,EAAW,EACXwE,EAAa,EAERwrC,EAAI,EAAGA,EAAIh9C,EAAQg9C,GAAK,EAAG,KAC9BZ,EAAI/qC,EAAY2rC,GAChBX,EAAIhrC,EAAY2rC,EAAI,GACpBlM,EAAIz/B,EAAY2rC,EAAI,GACpBP,EAAQprC,EAAY2rC,EAAI,GAC5B7oD,EAAO6Y,KAAcovC,EACrBjoD,EAAO6Y,KAAcqvC,EACrBloD,EAAO6Y,KAAc8jC,EACrB+K,EAASrqC,KAAgBirC,CAAA,KAGvBviC,EAAUjY,KAAKy7J,aAAa2D,0BAA0BltK,GAAA,MAGnD,CACL2zL,MAHc7lL,KAAKy7J,aAAa2D,0BAA0BxlH,GAI1D/sB,KAAM5U,EACNxnB,MAAO6G,EACPmY,MAAOphB,EACP+tK,WAAY,YACZI,iBAAkB,EAClBzuK,MAAOskB,EAAUtkB,MACjBC,OAAQqkB,EAAUrkB,OAAA,EC6KrB81D,GAAMjuD,IA5NEiwL,YAAc,SAASzzK,GAAA,gBA0M1BrS,KAAKglC,SAAS+gJ,mBAAA,KACX/gJ,SAAS+gJ,iBAAmB,CAAC,EAAD,KAC5B/gJ,SAAS+gJ,iBAAiBC,cAAA,QAAe,IAzMhC,CACdC,GAAI,YACJC,GAAI,WACJj1B,GAAI,4BACK,2BACA,2BACA,yBACA,wBACA,0BACA,0BACA,2BACA,yBACA,2BACA,wBACA,yBACA,gCACA,yBACA,2BACA,0BACA,iBACTotB,GAAI,YACJ8H,GAAI,WACJz7D,GAAI,WACJ07D,IAAK,WACLC,GAAI,cACJC,GAAI,SACJ9G,GAAI,aACJR,GAAI,UACJnvC,GAAI,UACJmgB,GAAI,SACJt3B,GAAI,YACJ6tD,GAAI,UACJ1R,GAAI,UACJ2R,GAAI,WACJ57B,GAAI,UACJ67B,GAAI,kBACK,8BACA,wBACA,8BACA,mBACTC,GAAI,UACJv7C,GAAI,WACJqmB,GAAI,OACJQ,GAAI,WACJt4E,GAAI,QACJ03F,GAAI,SACJ3+B,GAAI,2BACK,kBACT2iC,GAAI,kBACK,8BACA,2BACA,2BACA,4BACA,4BACA,gCACA,gCACA,iCACA,sCACA,mCACA,kCACA,qBACTuR,GAAI,YACJxwG,GAAI,WACJywG,GAAI,WACJC,GAAI,SACJxH,GAAI,UACJrzB,GAAI,4BACK,2BACA,0BACA,0BACA,8BACA,0BACA,uBACT1nG,GAAI,UACJwiI,IAAK,WACLrK,GAAI,yBACK,iBACTsK,GAAI,WACJrV,GAAI,WACJznB,GAAI,4BACK,2BACA,2BACA,iCACA,8BACA,uBACT3sG,GAAI,QACJ0pI,GAAI,WACJ7sG,GAAI,UACJ0wE,GAAI,SACJ8yB,GAAI,QACJsJ,GAAI,YACJpiL,GAAI,YACJrQ,GAAI,aACJ0yL,GAAI,YACJxK,GAAI,QACJjmG,GAAI,6BACK,wBACT6lG,GAAI,WACJ4B,GAAI,UACJiJ,GAAI,WACJC,GAAI,SACJC,GAAI,QACJC,GAAI,UACJC,IAAK,UACLC,GAAI,iBACK,+BACA,uBACTxO,GAAI,QACJ3lC,GAAI,UACJl6D,GAAI,aACJ40B,GAAI,gBACJ05E,GAAI,kBACJC,GAAI,QACJl1C,GAAI,YACJ5qD,GAAI,UACJ+tF,GAAI,QACJrjB,GAAI,UACJq1B,GAAI,YACJC,GAAI,SACJC,GAAI,SACJ//B,GAAI,SACJggC,GAAI,YACJ9K,GAAI,qBACJ7H,GAAI,sBACJ0G,GAAI,UACJzqB,GAAI,QACJ22B,GAAI,QACJtX,GAAI,kBACK,eACTuX,GAAI,SACJ5lG,GAAI,qBACK,sBACTysF,GAAI,kBACK,0BACA,qBACToZ,GAAI,UACJC,GAAI,iBACJC,GAAI,mBACK,sBACTC,GAAI,kBACK,qBACTC,GAAI,iBACJC,GAAI,QACJvM,GAAI,WACJ5B,GAAI,YACJtJ,GAAI,SACJ6M,GAAI,aACJpsB,GAAI,UACJi3B,GAAI,SACJj8C,GAAI,YACJk8C,GAAI,SACJ5M,GAAI,UACJ6M,GAAI,kBACK,8BACA,4BACA,0BACA,6BACA,+BACA,uCACA,4BACA,gCACA,8BACA,6BACA,2BACA,8BACA,2BACA,6BACA,yBACA,gCACA,0BACA,4BACA,sBACTljC,GAAI,OACJmjC,GAAI,UACJp9C,GAAI,kBACK,4BACA,mBACT0wC,GAAI,QACJnmG,GAAI,QACJwxE,GAAI,SACJshC,GAAI,OACJC,IAAK,QACLC,GAAI,SACJ5T,GAAI,SACJ1mC,GAAI,UACJu6C,GAAI,UACJC,GAAI,YACJC,IAAK,gBACLt3B,GAAI,OACJhH,GAAI,QACJinB,GAAI,aACJsX,GAAI,UACJlP,GAAI,UACJ3rL,GAAI,QACJ86L,GAAI,QACJlW,GAAI,UACJmW,GAAI,QAQQ92K,KAAA,KACP2yB,SAAS+gJ,iBAAiBqD,aAAe/2K,GAAA,IAC1CrS,KAAKglC,SAAS+gJ,iBAAiBC,eAAA,KAC5BhhJ,SAASsZ,OAAO/O,UAAU,cAAc,gBACtCvK,SAAS4+G,MACZ,UAAY5jJ,KAAKglC,SAAS+gJ,iBAAiBqD,aAAe,aAGzDpkJ,SAAS+gJ,iBAAiBC,cAAA,IAG5BhmL,IAAA,EVtND8vG,GAwWPhsD,GAAMjuD,IA5VHumG,GAAsB0T,GAAIu5E,mBAAqB,SAAS/xL,EAAMjJ,GAAA,IAkB5D+gB,EAEArR,EAjBA7L,GAFJ7D,EAAUA,GAAW,CAAC,GAEGkpI,MAAQv3H,KAAKglC,SAAS60F,UAC3CjgF,EAAWvrD,EAAQW,UAAYgR,KAAKglC,SAAS4zD,cAC7C7tF,EAAY1c,EAAQkhK,WAAavvJ,KAAKglC,SAAS0qH,eAE/CngJ,EAASlhB,EAAQi7L,OACjBj7L,EAAQi7L,OACRp3L,EAAWg5J,SAASq+B,QAAQD,OAC5BvuI,EAAmBxrC,EAAOi6K,IAAMj6K,EAAOi6K,IAAM,EAC7CrvI,EAAU9rD,EAAQo7L,QAClBp7L,EAAQo7L,QACRv3L,EAAWg5J,SAASq+B,QAAQE,QAC5BrvI,EAAoBD,EAAQqvI,IAAMrvI,EAAQqvI,IAAM,EAChD36I,GAAA,IAAYxgD,EAAQ0hK,UACpBv1G,EAAe,EAGfviC,EAAS3gB,EAAKW,OAEd4iD,EAAkB,EAClB9S,EAAqBx4B,EAAO,IAAMwrC,EAClCj9C,EAAS,OAERsR,EAAI,EAAGA,EAAI6I,EAAQ7I,IACtBrR,EAAYzG,EAAK8jC,WAAWhsB,GAEqB,mBAAtCld,EAAWg5J,SAASw+B,cAC7B5rL,EAAO1H,MACJlE,EAAWg5J,SAASy+B,aACnBz3L,EAAWg5J,SAAS0+B,iBAAiB7rL,IAErCgN,GAAa,IAAO6uC,IAAa,GAAK,MAQxCY,EAJA3L,GAC8B,YAA9Bx8B,EAAAA,EAAAA,GAAO8nC,EAAQp8C,MACdyB,MAAM8I,SAAS6xC,EAAQp8C,GAAW88C,GAAkB,KAGnDV,EAAQp8C,GAAW88C,GAAmBT,EAEzB,EAEjBt8C,EAAO1H,MACJmZ,EAAOxR,IAAcgqC,GAAsBgT,EAC1CP,IAGNK,EAAkB98C,EAAA,OAGbD,CAAA,EAmBLg4F,GAAsBga,GAAImmB,mBAAqB,SAAS5jH,EAAM/a,GAAA,IAG5DjJ,GAFJiJ,EAAUA,GAAW,CAAC,GAECtI,UAAYgR,KAAKglC,SAAS4zD,cAC7CxpF,EAAO9X,EAAQigI,MAAQv3H,KAAKglC,SAAS60F,UACrC97H,EAAYzG,EAAQi4J,WAAavvJ,KAAKglC,SAAS0qH,eAAA,OAG/C5/C,GAAI+wD,gBACNxuJ,EAAOy9F,GAAI+wD,cAAcxuJ,IAGgB,mBAAhCjD,EAAK87I,SAASw+B,cAErBt6K,EAAK87I,SAASw+B,cAAcr3K,EAAMhkB,EAAU0P,GAAa1P,EAElD+tG,GACNziD,MAAM35C,KAAMf,WACZhN,QAAO,SAASogB,EAAI/a,GAAA,OACZ+a,EAAK/a,CAAA,GACX,IAQL+uJ,GAAgB,SAASh0I,EAAM/a,EAAcjJ,EAAiB+gB,GAAA,QAC5DrR,EAAS,GAGT7L,EAAI,EACN0nD,EAAIvnC,EAAKpa,OACT8S,EAAa,EACR7Y,IAAM0nD,GAAK7uC,EAAazT,EAAapF,GAAK7D,GAC/C0c,GAAczT,EAAapF,GAC3BA,IAGF6L,EAAO3H,KAAKic,EAAK9S,MAAM,EAAGrN,IAAA,IAGtBqd,EAAcrd,EAAA,IAClB6Y,EAAa,EACN7Y,IAAM0nD,GACP7uC,EAAazT,EAAapF,GAAKkd,IACjCrR,EAAO3H,KAAKic,EAAK9S,MAAMgQ,EAAard,IACpC6Y,EAAa,EACbwE,EAAcrd,GAEhB6Y,GAAczT,EAAapF,GAC3BA,IAAA,OAEEqd,IAAgBrd,GAClB6L,EAAO3H,KAAKic,EAAK9S,MAAMgQ,EAAard,IAG/B6L,CAAA,EAKLi4F,GAA0B,SAAS3jF,EAAM/a,EAAQjJ,GAI9CA,IACHA,EAAU,CAAC,GAAD,IAQV+gB,EACArR,EAGA7L,EACA0nD,EACA7uC,EACAwE,EAkFEwrC,EA9FAZ,EAAO,GACTC,EAAQ,CAACD,GACTtL,EAAcxgD,EAAQw7L,YAAc,EACpCrvI,EAAmB,EACnBviC,EAAsB,EAGtB4iC,EAAQxoC,EAAK6E,MAAM,KACnB6wB,EAAiBq0D,GAAmBziD,MAAM35C,KAAM,CAAC,IAAK3R,IAAU,MAOhEkhB,GAD0B,IAAxBlhB,EAAQy7L,WACGjvI,EAAM,GAAG5iD,OAAS,EAElB5J,EAAQy7L,YAAc,EAErB,KACVhsL,EAAMF,MAAM2R,GAAYN,KAAK,KAC/B9c,EAAO,GACT0oD,EAAM3+C,KAAI,SAASmW,IACjBA,EAAMA,EAAI6E,MAAM,UACRjf,OAAS,EACf9F,EAAOA,EAAK3C,OACV6iB,EAAInW,KAAI,SAASmW,EAAK/a,GAAA,OACZA,GAAO+a,EAAIpa,OAAS,KAAO,IAAMoa,CAAA,KAI7ClgB,EAAKiE,KAAKic,EAAI,OAGlBwoC,EAAQ1oD,EACRod,EAAaumF,GAAmBn8C,MAAM35C,KAAM,CAAClC,EAAKzP,GAAA,KAG/C6D,EAAI,EAAG0nD,EAAIiB,EAAM5iD,OAAQ/F,EAAI0nD,EAAG1nD,IAAK,KACpCy/C,EAAQ,KAEZviC,EAAOyrC,EAAM3oD,GACTqd,GAAyB,MAAXH,EAAK,KACrBA,EAAOA,EAAKqtB,OAAO,GACnBkV,EAAQ,GAQR9C,EAAc2L,GALhBviC,GADAla,EAAeq+F,GAAmBziD,MAAM35C,KAAM,CAACoP,EAAM/gB,KAClB4D,QAAO,SAASogB,EAAI/a,GAAA,OAC9C+a,EAAK/a,CAAA,GACX,IAGsDA,GACvDq6C,EACA,IACI15B,EAAsB3gB,EAAQ,KAGhCyT,EAAMs7I,GAAc1sG,MAAM35C,KAAM,CAC9BoP,EACArR,EACAzG,GAAUu3C,EAAc2L,GACxBljD,IAGF6iD,EAAK/jD,KAAK2U,EAAIq5B,SAEd+V,EAAO,CAACpvC,EAAIqN,OAELrN,EAAI9S,QACTmiD,EAAMhkD,KAAK,CAAC2U,EAAIq5B,UAElBnsB,EAAsBla,EACnBwB,MAAM6P,EAAKnX,QAAUkiD,EAAK,GAAKA,EAAK,GAAGliD,OAAS,IAChDhG,QAAO,SAASogB,EAAI/a,GAAA,OACZ+a,EAAK/a,CAAA,GACX,QAGL6iD,EAAO,CAAC/qC,GAIVgrC,EAAMhkD,KAAK+jD,GACXtL,EAAc52B,EAAsB1I,EACpCirC,EAAmBzS,CAAA,MAEnBoS,EAAK/jD,KAAKgZ,GAEVy/B,GAAe2L,EAAmBviC,EAClCuiC,EAAmBzS,CAAA,QAMrBgT,EADExrC,EACY,SAAS8C,EAAI/a,GAAA,OACjBA,EAAMwG,EAAM,IAAMuU,EAAGpD,KAAK,MAGtB,SAASoD,GAAA,OACdA,EAAGpD,KAAK,MAIZmrC,EAAMl+C,IAAI6+C,EAAA,EAoBnB+0D,GAAI+qB,gBAAkB,SAASxoH,EAAM/a,EAAQjJ,GAAA,IAwCvC+gB,EAnCArR,GAFJ1P,EAAUA,GAAW,CAAC,GAEFW,UAAYgR,KAAKglC,SAAS4zD,cAC5C1mG,EAAa,SAASmgB,GAAA,GAMfA,EAAQi3K,QAAWj3K,EAAQo3K,QAAA,MAoBvB,CACLH,OAAQj3K,EAAQi3K,OAChBG,QAASp3K,EAAQo3K,SAAA,IArBfnyL,EAAI0I,KAAKglC,SAAS60F,QAAQxnH,EAAQynH,SAAUznH,EAAQmlH,WAAA,OAMpDlgI,EAAE4zJ,SAAFq+B,QACK,CACLD,OAAQhyL,EAAE4zJ,SAAFq+B,QAAqBD,QAdtB,GACN,GAcDG,QAASnyL,EAAE4zJ,SAAFq+B,QAAqBE,SAZxB,CAAC,GAeF,CACLlyD,KAAMjgI,EAAE4zJ,SACRl8J,SAAUgR,KAAKglC,SAAS4zD,cACxB22D,UAAWvvJ,KAAKglC,SAAS0qH,eAAA,EAS/BtwJ,KAAKY,KAAM3R,GAKb+gB,EADExR,MAAMqG,QAAQoO,GACHA,EAEAnC,OAAOmC,GAAM6E,MAAM,aAM9B0iC,EAAmB,EAAM55C,KAAKglC,SAASwwF,YAAcl+H,EAAUyG,EASnE7L,EAAW23L,WAAax7L,EAAQw7L,WACN,EAArBx7L,EAAQw7L,WAAmB7pL,KAAKglC,SAASwwF,YAAez3H,EACzD,EACJ7L,EAAW43L,WAAaz7L,EAAQy7L,WAAA,IAE5B/+K,EACFwE,EACAwrC,EAAS,OACNhwC,EAAI,EAAGwE,EAAIH,EAAWnX,OAAQ8S,EAAIwE,EAAGxE,IACxCgwC,EAASA,EAAOvrD,OACdwmG,GAAwBr8C,MAAM35C,KAAM,CAClCoP,EAAWrE,GACX6uC,EACA1nD,KAAA,OAKC6oD,CAAA,EWzVX,SAAUzjD,GAERA,EAAIyyL,gBAAkBzyL,EAAIyyL,iBAAmB,CAAC,EAAD,QAG3C17L,EAAU,mBACV+gB,EAAoB,CAAC,EACrBrR,EAAkB,CAAC,EAEZ7L,EAAI,EAAGA,EAAI7D,GAAgB6D,IAClCkd,EAAkB/gB,EAAQ6D,IANd,mBAM4BA,GACxC6L,EAPY,mBAOY7L,IAAM7D,EAAQ6D,GAAA,IAGpC0nD,EAAM,SAASvnC,GAAA,MACV,KAAO/J,SAAS+J,EAAO,IAAI/T,SAAS,KAGzCyM,EAAYzT,EAAIyyL,gBAAgBhrC,SAAW,SAASznJ,GAAA,IAElDjJ,EAAO+gB,EAAWld,EAAaqd,EAD/BwrC,EAAO,CAAC,SAGP,IAAIZ,KAAO7iD,EAAM,IACpBjJ,EAAQiJ,EAAK6iD,GAER36C,MAAM8I,SAAS6xC,EAAK,KAMvB/qC,EAAY,IAAM+qC,EAAM,KALxBA,EAAM7xC,SAAS6xC,EAAK,IAEpB/qC,GADAA,EAAYwqC,EAAIO,GAAK56C,MAAM,IAEfA,MAAM,GAAI,GAAKxB,EAAgBqR,EAAU7P,OAAO,KAK1C,iBAATlR,EACLA,EAAQ,GACV6D,EAAc0nD,EAAIvrD,GAAOkR,MAAM,GAC/BgQ,EAAe,MAEfrd,EAAc0nD,EAAIvrD,GAAOkR,MAAM,GAC/BgQ,EAAe,IAEjBrd,EACEqd,EACArd,EAAYqN,MAAM,GAAI,GACtBxB,EAAgB7L,EAAYqN,OAAO,QAChC,IACgB,YAAjB8S,EAAAA,EAAAA,GAAOhkB,GAAA,MAGH,IAAIoQ,MACR,0CAAA4T,EAAAA,EAAAA,GAAkDhkB,GAAQ,KAH5D6D,EAAc6Y,EAAS1c,EAAA,CAO3B0sD,EAAK3kD,KAAKgZ,EAAYld,EAAA,QAExB6oD,EAAK3kD,KAAK,KACH2kD,EAAK9rC,KAAK,KAWfM,EAAcjY,EAAIyyL,gBAAgBC,WAAa,SAAS33K,GAAA,GACtC,iBAATA,EAAA,MACH,IAAI5T,MAAM,kDAKhBnH,EAGAjJ,EAGA0P,EAEA7L,EAVE0nD,EAAS,CAAC,EACZ7uC,EAAO,EAEPwE,EAAeqqC,EACfmB,EAAc,GAEdZ,EAAW,GACXC,EAAa,GAEbvL,EAAUx8B,EAAKpa,OAAS,EAGjBuiD,EAAI,EAAGA,EAAI3L,EAAS2L,GAAK,EAKtB,MAFVtoD,EAAKmgB,EAAKmoC,IAGJljD,GAEFyG,EAAMzG,EAAY2X,KAAK,IACvB3X,OAAA,GAGAA,EAAc,GAEPA,EACTA,EAAYlB,KAAKlE,GACF,KAANA,GAET6oD,EAAY3kD,KAAK,CAACmZ,EAAcxR,IAChCwR,EAAe,CAAC,EAChBxR,OAAA,GACe,KAAN7L,IAET7D,EAAkB0sD,EAAY3iC,OACd,GAAG/pB,EAAgB,IAAMkhB,EACzCxR,OAAA,EACAwR,EAAelhB,EAAgB,IAChB,KAAN6D,EACT6Y,GAAQ,WAGJhN,EACEqR,EAAkB4pC,eAAe9mD,IACnCioD,GAAY/qC,EAAkBld,GAC9B6L,EAAMuK,SAAS6xC,EAAU,IAAMpvC,EAC/BA,EAAO,EACPovC,EAAW,IAEXA,GAAYjoD,EAGVkd,EAAkB4pC,eAAe9mD,IACnCkoD,GAAchrC,EAAkBld,GAChCqd,EAAaxR,GAAOuK,SAAS8xC,EAAY,IAAMrvC,EAC/CA,EAAO,EACPhN,OAAA,EACAq8C,EAAa,IAEbA,GAAcloD,EAAA,OAKf0nD,CAAA,EAgBLmB,EAAgB,CAClBywG,UAAW,CAAC,mBACZy+B,gBAAiB16K,EACf,+JAGA4qC,EAAY,CACdovI,QAAS,CACPW,QAASnvI,EAAA,eACOA,EAAA,sBACOA,EAAA,kBACJA,EACnBgqH,UAAWhqH,EAAA,iBACOA,EAAA,wBACOA,EAAA,oBACJA,EAAA,cACNA,EAAA,aACDA,EAAA,mBACMA,EAAA,eACJA,IAMhBX,EAAc,CAChBmvI,QAAS,mBASYh6K,EACjB,gEAEkBA,EAClB,myDAEgBA,EAChB,gnDAEF26K,QAAS36K,EAAW,mEACGA,EACrB,0DAEYA,EACZ,yzDAEF1Q,OAAQ0Q,EACN,sNAEFw1J,UAAWx1J,EACT,wsDAEuBA,EACvB,gnDAEF46K,aAAc56K,EAAW,gEACTA,EAAW,4DACXA,EACd,msDAEaA,EACb,83DAEmBA,EACnB,krDAgBNjY,EAAIgnD,OAAOloD,KAAK,CACd,UACA,SAASic,GAAA,IACH/a,EAAO+a,EAAKklH,KAEZlpI,EAAU+rD,EAAWmvI,QAAYjyL,EAAKsyJ,gBACtCv7J,IACFiJ,EAAK4zJ,SAALq+B,QAA2B,CAAC,EAC5BjyL,EAAK4zJ,SAALq+B,QAAyBD,OAASj7L,EAAQi7L,OAC1ChyL,EAAK4zJ,SAALq+B,QAAyBE,QAAUp7L,EAAQo7L,SAAA,IAGzCr6K,EAAgB+qC,EAASovI,QAAYjyL,EAAKsyJ,gBAC1Cx6I,IACF9X,EAAK4zJ,SAALq+B,QAAyB1/B,SAAWz6I,EACpC9X,EAAKuyJ,SAAWz6I,EAAco8I,UAAU,OA/PhD,CAmQG1nG,GAAMjuD,KCrST,SAAUwc,GAAA,IAGJ/a,EAA2B,SAAS+a,GAAA,QAClC/a,EAAM+a,EAAcpa,OACpB5J,EAAQ,IAAI6sC,WAAW5jC,GAClB8X,EAAI,EAAGA,EAAI9X,EAAK8X,IACvB/gB,EAAM+gB,GAAKiD,EAAc+oB,WAAWhsB,GAAA,OAE/B/gB,CAAA,EAmBTgkB,EAAMxc,IAAIyoD,OAAOloD,KAAK,CACpB,UACA,SAAS/H,GAAA,IACH+gB,OAAA,EACArR,EAAO1P,EAAKkpI,KACZrlI,EAAW7D,EAAK+uG,SAAA,IAChBr/F,EAAKktJ,eAAA,aAGE/4J,EAAA,MAeH,IAAIuM,MACR,+EACEV,EAAK6rJ,eACL,UAZgB,iBAJlBx6I,GAAA,IADEld,EAASk4L,gBAAgBrsL,EAAK6rJ,gBACzB13J,EAAS2qK,SAAS9+J,EAAK6rJ,gBAEvB13J,EAASm4L,eAAetsL,EAAK6rJ,iBAAA,MAG9B,IAAInrJ,MACR,6FACEV,EAAK6rJ,eACL,QAnCE,SAASv7J,EAAM+gB,GAGzBA,EADE,oBAAoBtI,KAAKsI,GACpB9X,EAAyB8X,GAEzB9X,EAAyByjD,GAAK3rC,IAEvC/gB,EAAK68J,SAAW74I,EAAMxc,IAAIy0L,QAAQv2L,KAAKqb,GACvC/gB,EAAK68J,SAASq+B,QAAUl7L,EAAK68J,SAASq+B,SAAW,CAC/C1/B,SAAU,CAAC,EACX4/B,QAAS,CAAC,EACVH,OAAQ,IAEVj7L,EAAK68J,SAASq/B,WAAa,CAAC,GAbhB,CAsCAxsL,EAAMqR,EAAA,KAlDtB,CA4DG00C,ICvCH,SAAUzxC,GAAA,SAGC/a,IAAA,OAED8X,EAAY8+D,MACPtmE,QAAQpC,QAAQ4J,EAAY8+D,OAG9B,iCAGNp2B,OAAM,SAASzlC,GAAA,OACPzK,QAAQ8F,OAAO,IAAIjP,MAAM,yBAA2B4T,GAAA,IAE5D3N,MAAK,SAAS2N,GAAA,OACNA,EAAMxQ,QAAUwQ,EAAMxQ,QAAUwQ,CAAA,IAkF5CyxC,GAAMjuD,IA3DE20L,cAAgB,SACvBn4K,EACAhkB,EACA+gB,EACArR,EACA67C,EACA7uC,EACAwE,EACAwrC,GAAA,GAEIv7C,MAAMnR,IAAMmR,MAAM4P,GAAA,MACpBld,EAAQsE,MAAM,2CAA4CyI,WACpD,IAAIR,MAAM,wDAGde,MAAMzB,IAAMyB,MAAMo6C,GAAA,MACpB1nD,EAAQsE,MAAM,4CAA6CyI,WACrD,IAAIR,MACR,gFAIA07C,EAASld,SAASuJ,cAAc,UACpC2T,EAAOpsD,MAAQgQ,EACfo8C,EAAOnsD,OAAS4rD,EAAA,IACZQ,EAAMD,EAAO4zB,WAAW,MAC5B3zB,EAAI4zB,UAAY,OAChB5zB,EAAI6zB,SAAS,EAAG,EAAG9zB,EAAOpsD,MAAOosD,EAAOnsD,QAAA,IAEpC6gD,EAAU,CACZ47I,aAAA,EACAC,iBAAA,EACAp8G,kBAAA,GAEE9zB,EAAMx6C,KAAA,OACH1I,IACJoN,MACC,SAASpN,GAAA,OACAA,EAAM82E,WAAWh0B,EAAK/nC,EAAKw8B,EAAA,IAEpC,kBACSjnC,QAAQ8F,OAAO,IAAIjP,MAAM,6BAGnCiG,MAAK,SAAS2N,GAAA,OACNA,EAASwiG,OAAOhmE,EAAA,IAExBnqC,MAAK,WACJ81C,EAAImS,SACFxS,EAAO40B,UAAU,aAAc,GAC/B1gF,EACA+gB,EACArR,EACA67C,EACArqC,EACAwrC,EAAA,KA9FV,GCsCG+I,GAAMjuD,IA9BE80L,cAAgB,SAASt4K,GAAA,IAG5B/a,EACAjJ,EAAqB,EACrBia,SAAStI,KAAKglC,SAAS60F,UAAUrlI,GAAGioC,OAAO,GAAI,IAAM,IACvDnlC,EAAoB,IAAIqH,OAAO0T,EAAgB,KAC/ChkB,EAAqB2R,KAAKglC,SAASs2F,qBAEnChkI,EAAoB,IAAIqH,OACtBqB,KAAK4qL,YAAYv4K,EAAgBrS,KAAKglC,SAAS60F,WAC/C,KAEFxrI,EAAqB2R,KAAK4qL,YACxB5qL,KAAKglC,SAASs2F,mBAAqB,GACnCt7H,KAAKglC,SAAS60F,YAAA,IAIb,IAAIzqH,EAAI,EAAGA,GAAKpP,KAAKglC,SAASs2F,mBAAoBlsH,IAAA,IAChD,IAAIrR,EAAI,EAAGA,EAAIiC,KAAKglC,SAAS+kH,MAAM36I,GAAGnX,OAAQ8F,IAAA,KAC5CinC,SAAS+kH,MAAM36I,GAAGrR,GAAKiC,KAAKglC,SAAS+kH,MAAM36I,GAAGrR,GAAGsB,QACpD/H,EACAjJ,GAAA,OAKC2R,IAAA,EC8SR8jD,GAAMjuD,IAxQEg1L,kBAAoB,SAASvzL,EAASjJ,GAAA,IAIzC+gB,EAHJ9X,EAAUA,GAAW,CAAC,EACtBjJ,EAAUA,IAAA,EAAW,IAyJjB0P,EAEA7L,EACA0nD,EAzJA7uC,EAAwB,CAC1B+/K,YAAa,CACX58K,cAAA,EACA7b,OAAA,EACAK,KAAM,UACNq4L,aAAA,EACAC,SAAU,EAAC,MACXC,WAAY,KAEdC,YAAa,CACXh9K,cAAA,EACA7b,OAAA,EACAK,KAAM,UACNq4L,aAAA,EACAC,SAAU,EAAC,MACXC,WAAY,KAEdE,aAAc,CACZj9K,cAAA,EACA7b,OAAA,EACAK,KAAM,UACNq4L,aAAA,EACAC,SAAU,EAAC,MACXC,WAAY,KAEdG,UAAW,CACTl9K,cAAA,EACA7b,OAAA,EACAK,KAAM,UACNq4L,aAAA,EACAC,SAAU,EAAC,MACXC,WAAY,KAEdI,aAAc,CACZn9K,cAAA,EACA7b,OAAA,EACAK,KAAM,UACNq4L,aAAA,EACAC,SAAU,EAAC,MACXC,WAAY,KAEdK,gBAAiB,CACfp9K,cAAA,EACA7b,OAAA,EACAK,KAAM,UACNq4L,aAAA,EACAC,SAAU,EAAC,MACXC,WAAY,KAEdM,sBAAuB,CACrBr9K,aAAc,UACd7b,MAAO,UACPK,KAAM,OACNq4L,aAAA,EACAC,SAAU,CAAC,UAAW,cAAe,YAAa,SAClDC,WAAY,KAEdO,UAAW,CACTt9K,aAAc,MACd7b,MAAO,MACPK,KAAM,OACNq4L,aAAA,EACAC,SAAU,CAAC,MAAO,OAClBC,WAAY,KAEdQ,SAAU,CACRv9K,aAAc,UACd7b,MAAO,UACPK,KAAM,OACNq4L,aAAA,EACAC,SAAU,CAAC,WAAY,UAAW,UAAW,WAAY,UACzDC,WAAY,KAEdS,SAAU,CACRx9K,aAAc,UACd7b,MAAO,UACPK,KAAM,OACNq4L,aAAA,EACAC,SAAU,CAAC,WAAY,UAAW,UAAW,WAAY,UACzDC,WAAY,KAEdU,UAAW,CACTz9K,aAAc,UACd7b,MAAO,UACPK,KAAM,OACNq4L,aAAA,EACAC,SAAU,CAAC,WAAY,UAAW,UAAW,WAAY,UACzDC,WAAY,KAEdW,UAAW,CACT19K,aAAc,UACd7b,MAAO,UACPK,KAAM,OACNq4L,aAAA,EACAC,SAAU,CAAC,WAAY,UAAW,UAAW,WAAY,UACzDC,WAAY,KAEdY,aAAc,CACZ39K,aAAc,aACd7b,MAAO,aACPK,KAAM,OACNq4L,aAAA,EACAC,SAAU,CAAC,aAAc,QACzBC,WAAY,KAEda,OAAQ,CACN59K,aAAc,GACd7b,MAAO,OACPK,KAAM,OACNq4L,aAAA,EACAC,SAAU,CACR,UACA,sBACA,qBACA,QAEFC,WAAY,KAEdc,kBAAmB,CACjB79K,cAAA,EACA7b,OAAA,EACAK,KAAM,UACNq4L,aAAA,EACAC,SAAU,EAAC,MACXC,WAAY,KAEde,eAAgB,CACd99K,aAAc,GACd7b,MAAO,GACPK,KAAM,QACNq4L,aAAA,EACAC,SAAU,KACVC,WAAY,KAEdgB,UAAW,CACT/9K,aAAc,EACd7b,MAAO,EACPK,KAAM,UACNq4L,aAAA,EACAC,SAAU,KACVC,WAAY,MAIZ17K,EAAoBxX,OAAOC,KAAK+S,GAEhCgwC,EAAa,GACbZ,EAAI,EACJC,EAAI,EACJvL,EAAI,WAMC2L,EAAqBnoC,EAAO/a,GAAA,IAC/BjJ,EACA+gB,GAAA,EAAS,IAER/gB,EAAW,EAAGA,EAAWgkB,EAAMpa,OAAQ5J,GAAY,EAClDgkB,EAAMhkB,KAAciJ,IACtB8X,GAAA,GAAS,OAGNA,CAAA,aAGLpP,KAAKglC,SAASknJ,oBAAA,KACXlnJ,SAASknJ,kBAAoB,CAAC,EAAD,KAC7BlnJ,SAASknJ,kBAAkBC,cAAgBtsL,KAAKiU,MACnDjU,KAAKC,UAAUiL,IAAA,KAEZi6B,SAASknJ,kBAAkBlG,cAAA,GAElC52K,EAAgBpP,KAAKglC,SAASknJ,kBAAkBC,cAEhC,UAAZ70L,IAAA,IAAuBjJ,EAAkB,KACvC4pB,EAAM1I,EAAkBtX,OAAA,IAEvB42C,EAAI,EAAGA,EAAI52B,EAAK42B,GAAK,EACxBz/B,EAAcG,EAAkBs/B,IAAIx8C,MAClC+c,EAAcG,EAAkBs/B,IAAI3gC,aACtCkB,EAAcG,EAAkBs/B,IAAIk8I,aAAA,CAAc,IAI/B,YAAnB14K,EAAAA,EAAAA,GAAO/a,GAAA,IACJpF,KAAUoF,EAAA,GACbsiD,EAAQtiD,EAAQpF,GAEdsoD,EAAqBjrC,EAAmBrd,SAAA,IACxC0nD,EACA,IAEiC,YAA/BxqC,EAAcld,GAAQQ,MACL,kBAAVknD,EAEPxqC,EAAcld,GAAQG,MAAQunD,OACzB,GAC0B,SAA/BxqC,EAAcld,GAAQQ,MACtB8nD,EAAqBprC,EAAcld,GAAQ84L,SAAUpxI,GAErDxqC,EAAcld,GAAQG,MAAQunD,OACzB,GAC0B,YAA/BxqC,EAAcld,GAAQQ,MACtBif,OAAOyB,UAAUwmC,GAEjBxqC,EAAcld,GAAQG,MAAQunD,OACzB,GAAmC,UAA/BxqC,EAAcld,GAAQQ,KAAkB,KAC5CynD,EAAI,EAAGA,EAAIP,EAAM3hD,OAAQkiD,GAAK,EAAG,GACpCp8C,GAAA,EACwB,IAApB67C,EAAMO,GAAGliD,QAAuC,iBAAhB2hD,EAAMO,GAAG,GAC3CY,EAAW3kD,KAAK8Z,OAAO0pC,EAAMO,GAAK,SAC7B,GAAIP,EAAMO,GAAGliD,OAAS,EAAG,KACzBmiD,EAAI,EAAGA,EAAIR,EAAMO,GAAGliD,OAAQmiD,GAAK,EACT,iBAAhBR,EAAMO,GAAGC,KAClBr8C,GAAA,IAAU,IAGVA,GACFg9C,EAAW3kD,KAAK,CAACwjD,EAAMO,GAAG,GAAK,EAAGP,EAAMO,GAAG,GAAK,GAAGlrC,KAAK,MAI9DG,EAAcld,GAAQG,MAAQ,IAAM0oD,EAAW9rC,KAAK,KAAO,SAE3DG,EAAcld,GAAQG,MAAQ+c,EAAcld,GAAQgc,aAGtDkB,EAAcld,GAAQ64L,aAAA,CAAc,YAKtC/qL,KAAKglC,SAASknJ,kBAAkBlG,eAAA,KAC7BhhJ,SAASsZ,OAAO/O,UAAU,cAAc,eAEvCl9B,EADA/a,EAAU,OAET+a,KAASjD,GAAA,IACRA,EAAciD,GAAO04K,cACW,SAA9B37K,EAAciD,GAAO3f,KACvB4E,EAAQlB,KAAK,IAAMic,EAAQ,KAAOjD,EAAciD,GAAOhgB,OAEvDiF,EAAQlB,KAAK,IAAMic,EAAQ,IAAMjD,EAAciD,GAAOhgB,QAIrC,IAAnBiF,EAAQW,QAAA,KACL+sC,SAAS4+G,MACZ,2BAA6BtsJ,EAAQ2X,KAAK,MAAQ,gBAInD+1B,SAASknJ,kBAAkBlG,cAAA,GAAe,KAG5ChhJ,SAASknJ,kBAAkBC,cAAgB/8K,EACzCpP,IAAA,EClVX,SAAUqS,GAAA,IAGJ/a,EAAmB,eAEjB+a,EACF,+GACArS,KAAKglC,SAASonJ,aAAaC,aAC3B,qBAGE/0L,EAAyBu2J,SAC3Bn/E,mBARsB,yCAUpBrgF,EAAqBw/J,SAASn/E,mBAAmBr8D,IACjDjD,EAAgBy+I,SAClBn/E,mBAAmB1uE,KAAKglC,SAASonJ,aAAalhC,WAE5CntJ,EAAkB8vJ,SAASn/E,mBATd,kDAUbx8E,EAAsB27J,SAASn/E,mBATd,iBAWjB90B,EACFvrD,EAAmB4J,OACnBmX,EAAcnX,OACd8F,EAAgB9F,OAChBX,EAAuBW,OACvB/F,EAAoB+F,OAAA,KAEjB+sC,SAASonJ,aAAaE,uBAAyBtsL,KAAKglC,SAAS6hH,YAAA,KAC7D7hH,SAAS4+G,MACZ,4CAA8ChqG,EAAY,YAEvD5U,SAAS4+G,MAAM,eACf5+G,SAAS4+G,MACZtsJ,EACEjJ,EACA+gB,EACArR,EACA7L,GAAA,KAEC8yC,SAAS4+G,MAAM,kBACf5+G,SAAS4+G,MAAM,WAGlBv1J,EAAa,WACX2R,KAAKglC,SAASonJ,aAAaE,wBAAA,KACxBtnJ,SAAS4+G,MACZ,aACE5jJ,KAAKglC,SAASonJ,aAAaE,uBAC3B,SAcRj6K,EAASk6K,YAAc,SAASl6K,EAAUjD,GAAA,gBAC7BpP,KAAKglC,SAASonJ,eAAA,KAClBpnJ,SAASonJ,aAAe,CAC3BlhC,SAAU74I,EACVg6K,aAAcj9K,GAAgB,2CAE3B41B,SAASsZ,OAAO/O,UAAU,aAAclhD,GAAA,KAExC22C,SAASsZ,OAAO/O,UAAU,mBAAoBj4C,IAE9C0I,IAAA,EAzEX,CA2EG8jD,GAAMjuD,KCpGT,SAAUwc,GAAA,IAEJ/a,EAAW+a,EAAMxc,IAOjBxH,EAAeiJ,EAASszL,YAAc,SAASv4K,EAAM/a,GAAA,QAItBjJ,EAH7B+gB,EAAS9X,EAAK4zJ,SAASq+B,QAAQD,OAC/BvrL,EAAO,CAAC,GAAI,IAAK,KAAM,MAAO,QAC9B7L,EAAK,CAAC,IACD0nD,EAAI,EAAG7uC,EAAIsH,EAAKpa,OAAW2hD,EAAI7uC,IAAK6uC,EAAG,IAC9CvrD,EAAIiJ,EAAK4zJ,SAAS0+B,iBAAiBv3K,EAAK+oB,WAAWwe,IACnDtiD,EAAK4zJ,SAASq/B,WAAWn0L,KAAK/H,GAC9BiJ,EAAK4zJ,SAASshC,UAAUn+L,GAAKgkB,EAAK+oB,WAAWwe,IACnB,GAAtBxqC,EAAOqE,QAAQplB,KACjB+gB,EAAOhZ,KAAK/H,GACZ+gB,EAAOhZ,KAAK,CAACkS,SAAShR,EAAK4zJ,SAASy+B,aAAat7L,GAAI,OAE9C,KAALA,EAAA,OAEK6D,EAAG+c,KAAK,IAEf5gB,EAAIA,EAAEiQ,SAAS,IACfpM,EAAGkE,KAAK2H,EAAK,EAAI1P,EAAE4J,QAAS5J,EAAA,QAGzB6D,EAAG+c,KAAK,KAGbG,EAAgB,SAASiD,GAAA,IACvB/a,EAAMjJ,EAAO+gB,EAAOrR,EAAS7L,EAAY0nD,EAAI7uC,EAAA,IACjD7Y,EACE,iQAKFkd,EAAQ,GACHwqC,EAAK,EAAG7uC,GALb1c,EAAQ0J,OAAOC,KAAKqa,GAAKtc,MAAK,SAASsc,EAAG/a,GAAA,OACjC+a,EAAI/a,CAAA,KAIaW,OAAQ2hD,EAAK7uC,EAAM6uC,IAC3CtiD,EAAOjJ,EAAMurD,GACTxqC,EAAMnX,QAAU,MAClB/F,GACE,KACAkd,EAAMnX,OACN,iBACAmX,EAAMH,KAAK,MACX,cACFG,EAAQ,aAIRiD,EAAI/a,IACU,OAAd+a,EAAI/a,IAC0B,mBAAvB+a,EAAI/a,GAAMgH,WAEjBP,GAAW,OAASsU,EAAI/a,GAAMgH,SAAS,KAAKiB,OAAO,GACnDjI,GAAQ,SAAWA,GAAMgH,SAAS,KAAKiB,OAAO,GAC9C6P,EAAMhZ,KAAK,IAAMkB,EAAO,KAAOyG,EAAU,aAIzCqR,EAAMnX,SACR/F,GACE,KACAkd,EAAMnX,OACN,iBACAmX,EAAMH,KAAK,MACX,iBAEJ/c,EACE,oEA+EJoF,EAASgnD,OAAOloD,KAAK,CACnB,UACA,SAASkB,IA7Ea,SAASA,GAAA,IAC3BjJ,EAAOiJ,EAAQigI,KACfx5H,EAAMzG,EAAQi4I,IACdr9I,EAAYoF,EAAQuvJ,UACpBjtG,EAAYtiD,EAAQ2wJ,UAAA,GAGtB55J,EAAK68J,oBAAoB74I,EAAMxc,IAAIy0L,SACjB,eAAlBj8L,EAAKw7J,SACL,SAEI9+I,EAAS1c,EAAK68J,SAASq+B,QAAQD,OAE/B/5K,EADOlhB,EAAK68J,SAASuhC,OAAO3e,OAAOz/K,EAAK68J,SAASq/B,WAAY,GAE7DxvI,EAAa,GACRZ,EAAI,EAAGA,EAAI5qC,EAAUtX,OAAQkiD,IACpCY,GAAc7qC,OAAOkkI,aAAa7kI,EAAU4qC,IAAA,IAE1CC,EAAYloD,IAChB0nD,EAAU,CAAE/sB,KAAMkuB,EAAYotG,YAAA,EAAkBC,SAAUhuG,IAC1Dr8C,EAAI,cAEA8wC,EAAO38C,IAEX0nD,EAAU,CAAE/sB,KADGzd,EAAc/gB,EAAK68J,SAASshC,WACfrkC,YAAA,EAAkBC,SAAUv5G,IACxD9wC,EAAI,cAEAy8C,EAAiBtoD,IACrB6L,EAAI,MACJA,EAAI,yBACJA,EAAI,cAAgB+hE,GAAUzxE,EAAKyrI,WACnC/7H,EAAI,cAAgBq8C,EAAY,QAChCr8C,EAAI,aAAesU,EAAMxc,IAAI62L,UAAUhyJ,QAAQrsC,EAAK68J,SAASrkG,OAC7D9oD,EAAI,UAAY1P,EAAK68J,SAAS4D,OAC9B/wJ,EAAI,UAAY1P,EAAK68J,SAASyhC,OAC9B5uL,EAAI,gBAAkB1P,EAAK68J,SAAS0hC,aACpC7uL,EAAI,WAAa1P,EAAK68J,SAAS2hC,UAC/B9uL,EAAI,YAAc1P,EAAK68J,SAAS4hC,UAChC/uL,EAAI,cAAgB1P,EAAK68J,SAAS6hC,WAClChvL,EAAI,MACJA,EAAI,cAEAka,EAAiB/lB,IACrB6L,EAAI,MACJA,EAAI,eACJA,EAAI,cAAgB+hE,GAAUzxE,EAAKyrI,WACnC/7H,EAAI,mBAAqBy8C,EAAiB,QAC1Cz8C,EAAI,MAAQsU,EAAMxc,IAAI62L,UAAUhyJ,QAAQ3vB,IACxChN,EAAI,0BACJA,EAAI,YACJA,EAAI,0BACJA,EAAI,kBACJA,EAAI,MACJA,EAAI,iBACJA,EAAI,qBACJA,EAAI,cAAgB1P,EAAKw7J,SAAW,KACpC9rJ,EAAI,MACJA,EAAI,MACJA,EAAI,UAEJ1P,EAAKkwJ,aAAersJ,IACpB6L,EAAI,MACJA,EAAI,eACJA,EAAI,mBACJA,EAAI,cAAgB8wC,EAAO,QAC3B9wC,EAAI,cAAgB+hE,GAAUzxE,EAAKyrI,WACnC/7H,EAAI,cAAgB1P,EAAKw7J,UACzB9rJ,EAAI,qBAAuBka,EAAiB,SAC5Cla,EAAI,MACJA,EAAI,UAEJ1P,EAAKs7J,iBAAA,CAAkB,EAvEH,CA8EFryJ,EAAA,IAqEtBA,EAASgnD,OAAOloD,KAAK,CACnB,UACA,SAASkB,IAnEmB,SAASA,GAAA,IACjCjJ,EAAOiJ,EAAQigI,KACfx5H,EAAMzG,EAAQi4I,IACdr9I,EAAYoF,EAAQuvJ,UACpBjtG,EAAYtiD,EAAQ2wJ,UAAA,GAGtB55J,EAAK68J,oBAAoB74I,EAAMxc,IAAIy0L,SACjB,oBAAlBj8L,EAAKw7J,SACL,SAGI9+I,EADO1c,EAAK68J,SAAS8hC,QAErBz9K,EAAa,GACRwrC,EAAI,EAAGA,EAAIhwC,EAAU9S,OAAQ8iD,IACpCxrC,GAAcW,OAAOkkI,aAAarpI,EAAUgwC,IAAA,IAE1CZ,EAAYjoD,IAChB0nD,EAAU,CAAE/sB,KAAMtd,EAAY44I,YAAA,EAAkBC,SAAUjuG,IAC1Dp8C,EAAI,cAEAq8C,EAAOloD,IAEX0nD,EAAU,CAAE/sB,KADGzd,EAAc/gB,EAAK68J,SAASshC,WACfrkC,YAAA,EAAkBC,SAAUhuG,IACxDr8C,EAAI,cAEA8wC,EAAiB38C,IACrB6L,EAAI,MACJA,EAAI,YAAc1P,EAAK68J,SAAS4hC,UAChC/uL,EAAI,cAAgB1P,EAAK68J,SAAS6hC,WAClChvL,EAAI,UAAY1P,EAAK68J,SAASyhC,OAC9B5uL,EAAI,yBACJA,EAAI,cAAgBo8C,EAAY,QAChCp8C,EAAI,aACJA,EAAI,aAAesU,EAAMxc,IAAI62L,UAAUhyJ,QAAQrsC,EAAK68J,SAASrkG,OAC7D9oD,EAAI,cAAgB+hE,GAAUzxE,EAAKyrI,WACnC/7H,EAAI,gBAAkB1P,EAAK68J,SAAS0hC,aACpC7uL,EAAI,WAAa1P,EAAK68J,SAAS2hC,UAC/B9uL,EAAI,MACJA,EAAI,UACJ1P,EAAKkwJ,aAAersJ,IAAA,IACf,IAAIsoD,EAAI,EAAGA,EAAInsD,EAAK68J,SAAS+hC,KAAK3D,OAAOrxL,OAAQuiD,IACpDnsD,EAAK68J,SAAS+hC,KAAK3D,OAAO9uI,GAAKlyC,SAC7Bja,EAAK68J,SAAS+hC,KAAK3D,OAAO9uI,IAAM,IAAOnsD,EAAK68J,SAASr5C,KAAKq7E,aAG9DnvL,EACE,2CACEq8C,EACA,iBACA0lB,GAAUzxE,EAAKyrI,UACf,mBACAjrF,EALF,iBAQExgD,EAAKw7J,SACL,wCACAx3I,EAAMxc,IAAI62L,UAAUhyJ,QAAQrsC,EAAK68J,SAAS+hC,KAAK3D,QAC/C,MAEJvrL,EAAI,UACJ1P,EAAKs7J,iBAAA,CAAkB,EA7DG,CAoEFryJ,EAAA,QAIxByG,EAAmB,SAASsU,GAAA,IAc5B/a,EAbE8X,EAAOiD,EAAK3jB,MAAQ,GACpBqP,EAAIsU,EAAK2oC,EACT9oD,EAAImgB,EAAKs/B,EACTiI,EAAUvnC,EAAKriB,SAAW,CAAC,EAC3B+a,EAAQsH,EAAK68I,OAAS,CAAC,EAEvB3/I,EAAYxE,EAAMqgJ,UAClBrwG,EAAgBhwC,EAAMokJ,cACtBh1G,EAAQpvC,EAAMqkJ,MACdh1G,EAAMW,EAENlM,EAAM,GACR2L,EAAI,EAEFviC,EAAU,GACV4iC,EAAWV,EAAMC,GAAKyvG,SAAA,GAEE,eAAxB1vG,EAAMC,GAAKyvG,SAAA,MACN,CACLn7J,KAAM0gB,EACN4rC,EAAGj9C,EACH4zC,EAAGz/C,EACHlC,QAAS4pD,EACTs1G,MAAOnkJ,GAAA,IAGXkN,EAAU7I,EAEVgrC,EAAMW,EACFn9C,MAAMqG,QAAQmL,KAChB6I,EAAU7I,EAAK,IAEZorC,EAAI,EAAGA,EAAIviC,EAAQhgB,OAAQuiD,GAAK,EAC/BL,EAAMC,GAAK8wG,SAASlyG,eAAe,UACrC1hD,EACE6iD,EAAMC,GAAK8wG,SAASiiC,KAAKC,QAAQC,QAAQp1K,EAAQuiC,GAAGpf,WAAW,KAgB9D9jC,GAED2gB,EAAQuiC,GAAGpf,WAAW,GAAK,KAC3B+e,EAAMC,GAAK8wG,SAASlyG,eAAe,WAOrCnK,GAAO52B,EAAQuiC,GAHb3L,GAAO,OAMT9G,EAAS,UACTz/B,SAAS8xC,EAAI76C,MAAM,IAAM,IAAmB,oBAAbs7C,EAEjC9S,EAASx4B,EAAUs/B,EAAKuL,GACrBljC,MAAM,IACNhb,KAAI,SAASmW,GAAA,OACLA,EAAG+oB,WAAW,GAAG98B,SAAS,OAElC2Q,KAAK,IACc,eAAb4rC,IACT9S,EAAS15C,EAAYwgD,EAAKsL,EAAMC,KAElCrvC,EAAMszF,OAAA,EAEC,CACL3vG,KAAMq5C,EACNiT,EAAGj9C,EACH4zC,EAAGz/C,EACHlC,QAAS4pD,EACTs1G,MAAOnkJ,EAAA,EAiDXzT,EAASgnD,OAAOloD,KAAK,CAAC,kBA7CG,SAASic,GAAA,IAC5B/a,EAAO+a,EAAM3jB,MAAQ,GAKrBL,EAAU,GACV+gB,EAAO,CACT1gB,KAAM4I,EACN0jD,EAPI3oC,EAAM2oC,EAQVrJ,EAPIt/B,EAAMs/B,EAQV3hD,QAPUqiB,EAAMriB,QAQhBk/J,MAPQ78I,EAAM68I,OAAA,GAUZtxJ,MAAMqG,QAAQ3M,GAAO,KACnBpF,EAAI,MACHA,EAAI,EAAGA,EAAIoF,EAAKW,OAAQ/F,GAAK,EAC5B0L,MAAMqG,QAAQ3M,EAAKpF,KACE,IAAnBoF,EAAKpF,GAAG+F,OACV5J,EAAQ+H,KAAK,CACX2H,EAAiBhG,OAAOsJ,OAAO,CAAC,EAAG+N,EAAM,CAAE1gB,KAAM4I,EAAKpF,GAAG,MACtDxD,KACH4I,EAAKpF,GAAG,GACRoF,EAAKpF,GAAG,KAQZ7D,EAAQ+H,KACN2H,EAAiBhG,OAAOsJ,OAAO,CAAC,EAAG+N,EAAM,CAAE1gB,KAAM4I,EAAKpF,MAAOxD,MAInE2jB,EAAM3jB,KAAOL,CAAA,MAEbgkB,EAAM3jB,KAAOqP,EACXhG,OAAOsJ,OAAO,CAAC,EAAG+N,EAAM,CAAE1gB,KAAM4I,KAChC5I,IAAA,IAxWR,CA6WGo1D,ICpWH,SAAUzxC,GAAA,IAGJ/a,EAAiB,2BACR0I,KAAKglC,SAASsoJ,MAAA,KAClBtoJ,SAASsoJ,IAAM,CAAC,IAAD,CAEf,EAaTj7K,EAAS+3K,gBAAkB,SAAS/3K,GAAA,OAClC/a,EAAe8H,KAAKY,WAAA,IACNA,KAAKglC,SAASsoJ,IAAIj7K,EAAA,EAclCA,EAASk7K,aAAe,SAASl7K,EAAUhkB,GAAA,OACzCiJ,EAAe8H,KAAKY,MAAAA,KACfglC,SAASsoJ,IAAIj7K,GAAYhkB,EACvB2R,IAAA,EAaTqS,EAASg4K,eAAiB,SAASh4K,GAAA,OACjC/a,EAAe8H,KAAKY,WAAA,IAETA,KAAKglC,SAASsoJ,IAAIj7K,GACpBrS,KAAKglC,SAASsoJ,IAAIj7K,GAEpB,MA1DX,CA4DGyxC,GAAMjuD,KCpET,SAAUwc,GAojERA,EAAMm7K,eAAiBn7K,EAAM9T,UAAUivL,eAAiB,SAASn7K,GAAA,IAsF7DhkB,EACA+gB,EAGArR,EACA7L,EACA0nD,EACA7uC,EACAwE,EA7FEwrC,EAAiBzjD,EAEjB6iD,EAAmB,CACrB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACnB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACnB,CAAC,EAAG,EAAG,EAAG,GAAM,EAAG,EAAG,GACtB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACnB,CAAC,EAAG,EAAG,GAAM,GAAM,EAAG,EAAG,GACzB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAGjBC,EAAmB,CACrB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACnB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACnB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACnB,CAAC,EAAG,EAAG,EAAG,GAAM,EAAG,EAAG,IAGpBvL,EAAkB,CAAEr0C,EAAG,EAAG8qE,EAAG,EAAGmoH,GAAI,EAAGC,GAAI,EAAGrlH,EAAG,EAAG4B,EAAG,EAAGnnB,EAAG,GAE7DtI,EAAsB,GACrB,IACA,IACA,IACA,KACG,MACA,MACA,MACA,GAGJviC,EAAc,CAChB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,OACA,OACA,OACA,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,UAGE4iC,EAAuB,IAAIl8C,OAC7B,qGAGEopC,GAAA,EAWFjqC,EAPU,OASP0vL,eAAiB,CAAC,EAAD,IAkBlBr7L,EAAe,SAASkgB,GAAA,IACtB/a,EAAW+a,EAAG+oB,aAChB/sC,EAAQiJ,GAAY,EACpB8X,EAAWorC,EAAoBnsD,GAAA,gBAE7B+gB,EACK2rC,EAA0B,IAAX3rC,GAA6B,IAAX9X,IACrB,MAAVjJ,GAA4B,MAAVA,EACpB,KACEwsD,EAAqB/zC,KAAKzY,GAE5B,IACY,IAAVA,EAEF,IAEF,KAGLsjD,EAAsB,SAASt/B,GAAA,IAC5B,IAAW/a,EAAPjJ,EAAI,EAAaA,EAAIgkB,EAAKpa,OAAQ5J,IAAK,IAE7B,OADjBiJ,EAAWnF,EAAakgB,EAAKqqB,OAAOruC,KAAA,SAG7B,GAAiB,MAAbiJ,EAAA,QACF,SAGJ,EAKLzF,EAAmB,SAASwgB,EAAO/a,EAAOsiD,EAAe7uC,GAAA,IAEzDwE,EACAwrC,EACAZ,EACAC,EAJEvL,EAAQv3C,EAAMyT,GAAA,OAKV8jC,GAAA,IACD,QACA,IAoGK,IAGL,UACA,UACA,UACA,UACA,MACH9G,GAAA,EAAc,MA3GA,IAEX,QACA,eAGA,KACCA,IACF8G,EAAQ,gBAIP,KACH9G,GAAA,EAEA8G,EAAQ,cAGL,KAyFW,IAEX,KACHA,EAAQ,UA3FA,IAGL,KAED9jC,EAAQ,GACRA,EAAQ,GAAKzT,EAAMW,QACqB,QAAtCsX,EAAQqqC,EAAc7uC,EAAQ,KAA0B,OAAVwE,GAChB,QAA9BwrC,EAAQzjD,EAAMyT,EAAQ,KAA0B,OAAVgwC,EAExClM,EAAQ,IACC9G,IACTgT,EAAQ,MAEVlM,EAAQkM,IAAUxrC,EAAQwrC,EAAQ,cAG/B,KAEHlM,EACY,QAFZt/B,EAAQxE,EAAQ,EAAI6uC,EAAc7uC,EAAQ,GAAK,MAG7CA,EAAQ,EAAIzT,EAAMW,QACG,OAArBX,EAAMyT,EAAQ,GACV,KACA,cAGH,QACCA,EAAQ,GAAkC,OAA7B6uC,EAAc7uC,EAAQ,GAAa,CAClD8jC,EAAQ,WAEH,GAAI9G,EAAa,CACtB8G,EAAQ,cAGVsL,EAAIpvC,EAAQ,EACZqvC,EAAM9iD,EAAMW,OACLkiD,EAAIC,GAAoB,OAAb9iD,EAAM6iD,IACtBA,IAGAtL,EADEsL,EAAIC,GAAoB,OAAb9iD,EAAM6iD,GACX,KAEA,cAIP,SACCp8C,IAAgB7L,EAAU,KAE5BkoD,EAAM9iD,EAAMW,OACZkiD,EAAIpvC,EAAQ,EACLovC,EAAIC,GAAoB,QAAb9iD,EAAM6iD,IACtBA,IAAA,GAEEA,EAAIC,EAAK,KACPI,EAAInoC,EAAMtH,GACVkN,EAAgBuiC,GAAK,MAAUA,GAAK,MAAiB,QAANA,EAAA,GACnDjrC,EAAQjY,EAAM6iD,GACVliC,IAA2B,MAAV1I,GAA2B,OAAVA,GAAiB,CACrDs/B,EAAQ,YAMZA,EADE9jC,EAAQ,GAAoC,OAA9BwE,EAAQjY,EAAMyT,EAAQ,IAC9B,IAEA6uC,EAAc7uC,EAAQ,aAI7B,IACHg9B,GAAA,EACA15C,GAAA,EACAwgD,EAAQ/wC,EAAA,UAGL,IACHsR,GAAA,EACAy/B,EAAQ,IAWA,OAGLA,CAAA,EAkBLw5B,EAAgB,SAASh2D,EAAM/a,EAAmBjJ,GAAA,IAChD+gB,EAAYiD,EAAK6E,MAAM,WACvB7oB,GACFmM,EAAe4U,EAAW/gB,EAAQ,CAAEs/L,QAAS7vL,IAE/CsR,EAAUgI,UACV9f,GAAqBA,EAAkB8f,UAChChI,EAAUH,KAAK,KAKpBzU,EAAiB,SAAS6X,EAAO/a,EAAQyG,GAAA,IACvC7L,EAEF0nD,EACA7uC,EACAwE,EACAwrC,EACAP,GAAW,EACXviC,EAAM5F,EAAMpa,OACZ4iD,EAAW,EACXlJ,EAAgB,GAChB02B,EAAavqE,EAAOs8C,EAAmBD,EACvC3/C,EAAQ,OAEVutC,GAAA,EAEA15C,GAAA,EACA+gB,GAAA,EACKwqC,EAAI,EAAGA,EAAI3hC,EAAK2hC,IACnBp/C,EAAMo/C,GAAKznD,EAAakgB,EAAMunC,IAAA,IAE3B7uC,EAAQ,EAAGA,EAAQkN,EAAKlN,IAAS,IACpCgwC,EAAYF,EACZlJ,EAAc5mC,GAASlZ,EACrBwgB,EACA7X,EACAm3C,EACA5mC,GAGF7Y,EAAoB,KADpB2oD,EAAWwtB,EAAWttB,GAAWlM,EAAgB8C,EAAc5mC,MAE/D8vC,GAAY,GACZvjD,EAAOyT,GAASwE,EAAW84D,EAAWxtB,GAAU,GAC5C3oD,EAAS,EAAG,GACC,KAAXA,EAAiB,KACd0nD,EAAIY,EAASZ,EAAI7uC,EAAO6uC,IAC3BtiD,EAAOsiD,GAAK,EAEdY,GAAW,OAEXA,GAAW,KAGH6tB,EAAWxtB,GAAU,IAEd,IAAbL,IACFA,EAAUzvC,QAAA,GAGRyvC,GAAW,EAAG,KACXZ,EAAIY,EAASZ,EAAI7uC,EAAO6uC,IAC3BtiD,EAAOsiD,GAAKrqC,EAEdirC,GAAW,EAGM,MAAjBhgD,EAAMuQ,KACRzT,EAAOyT,GAAS,GAElBhN,EAAO4vL,SAAWp+K,CAAA,CAEhBH,GAxFa,SAASiD,EAAO/a,EAAQjJ,GAAA,IACpC,IAAI+gB,EAAI,EAAGA,EAAI/gB,EAAQ+gB,IAAA,GACT,MAAbiD,EAAMjD,GAAY,CACpB9X,EAAO8X,GAAKtR,EAAA,IACP,IAAIC,EAAIqR,EAAI,EAAGrR,GAAK,GACN,OAAbsU,EAAMtU,GADgBA,IAExBzG,EAAOyG,GAAKD,CAAA,EANH,CAyFFtD,EAAOlD,EAAQ2gB,EAAA,EAM5B4qC,EAAiB,SACnBxwC,EACA/a,EACA8X,EACArR,EACA7L,GAAA,KAEIA,EAAOy7L,QAAUt7K,GAAA,IAGP,IAAVA,GAjSM,IAiSSvU,IAAqBzP,EAAA,OACtCiJ,EAAU8f,eACVhI,GAAqBA,EAAkBgI,WAAA,QAGrCwiC,EACF7uC,EACAwE,EACAwrC,EACAZ,EAAM7iD,EAAUW,OAChBmiD,EAAQ,EAEHA,EAAQD,GAAK,IACdp8C,EAAOq8C,IAAU/nC,EAAO,KAC1B9C,EAAM6qC,EAAQ,EACP7qC,EAAM4qC,GAAOp8C,EAAOwR,IAAQ8C,GACjC9C,IAAA,IAEGwrC,EAAMX,EAAOrvC,EAAOwE,EAAM,EAAGwrC,EAAMhwC,EAAMgwC,IAAOhwC,IACnD6uC,EAAKtiD,EAAUyjD,GACfzjD,EAAUyjD,GAAOzjD,EAAUyT,GAC3BzT,EAAUyT,GAAQ6uC,EACdxqC,IACFwqC,EAAKxqC,EAAkB2rC,GACvB3rC,EAAkB2rC,GAAO3rC,EAAkBrE,GAC3CqE,EAAkBrE,GAAQ6uC,GAG9BQ,EAAQ7qC,CAAA,CAEV6qC,GAAA,IAmBAY,EAAW,SAAS3oC,EAAM/a,EAAmBjJ,GAAA,IAC3C+gB,EAAYiD,EAAK6E,MAAM,IACzBnZ,EAAS,CAAE4vL,QAAS7vL,GAAA,OAEjBzP,IACHA,EAAS,IAEXmM,EAAe4U,EAAW/gB,EAAQ0P,GApBf,SAASsU,EAAW/a,EAAQjJ,GAAA,GACxB,IAAnBA,EAAOs/L,SAAiBp+K,EAAA,IACrB,IAAWH,EAAPrR,EAAI,EAAUA,EAAIsU,EAAUpa,OAAQ8F,IACzB,IAAdzG,EAAOyG,KACTqR,EAAQ6I,EAAYxE,QAAQpB,EAAUtU,MACzB,IACXsU,EAAUtU,GAAKka,EAAY7I,EAAQ,IANxB,CAqBJA,EAAW/gB,EAAQ0P,GAClC8kD,EAAe,EAAazzC,EAAW9X,EAAmBjJ,EAAQ0P,GAClE8kD,EA5VU,EA4VczzC,EAAW9X,EAAmBjJ,EAAQ0P,GACvDqR,EAAUH,KAAK,iBAYnBu+K,eAAeI,cAAgB,SAClCv7K,EACA/a,EACAjJ,GAAA,GAlWU,SAASgkB,EAAM/a,GAAA,GACrBA,EAAA,IACG,IAAIjJ,EAAI,EAAGA,EAAIgkB,EAAKpa,OAAQ5J,IAC/BiJ,EAAkBjJ,GAAKA,OAAA,IAGvB6D,IACFA,EAAWy/C,EAAoBt/B,SAAA,IAE7BtH,IACFA,EAAY4mC,EAAoBt/B,GAAA,CAVxB,CAoWJA,EAAM/a,GACPyG,IAAe67C,GAAiB7uC,EAI9B,GAAIhN,GAAe67C,GAAgB1nD,EAAW6Y,EAEnDjN,EAAO5L,EArXC,EADA,EAuXRmgB,EAAOg2D,EAAch2D,EAAM/a,EAAmBjJ,QACzC,IAAK0P,GAAe67C,GAAgB7uC,EAEzCjN,EAAO5L,EAzXC,EADA,EA2XRmgB,EAAO2oC,EAAS3oC,EAAM/a,EAAmBjJ,GACzCgkB,EAAOg2D,EAAch2D,EAAM/a,QACtB,IAAIyG,GAAgB7L,GAAa0nD,GAAiB7uC,GAIlD,GAAIhN,IAAgB67C,GAAgB1nD,EAAW6Y,EAEpDsH,EAAOg2D,EAAch2D,EAAM/a,GACvBpF,GAEF4L,EAtYM,EAuYNuU,EAAO2oC,EAAS3oC,EAAM/a,EAAmBjJ,KAGzCyP,EAzYM,EA0YNuU,EAAO2oC,EAAS3oC,EAAM/a,EAAmBjJ,GACzCgkB,EAAOg2D,EAAch2D,EAAM/a,SAExB,GAAIyG,GAAe7L,IAAa0nD,GAAgB7uC,EAErDjN,EA/YQ,EAgZRuU,EAAO2oC,EAAS3oC,EAAM/a,EAAmBjJ,GACzCgkB,EAAOg2D,EAAch2D,EAAM/a,QACtB,IAAKyG,IAAgB67C,GAAgB1nD,EAAW6Y,EAAW,KAE5DqE,EAA0BG,EAC1Brd,GAEF4L,EAvZM,EAwZNuU,EAAO2oC,EAAS3oC,EAAM/a,EAAmBjJ,GACzCyP,EA1ZM,EA2ZNyR,GAAA,EACA8C,EAAO2oC,EAAS3oC,EAAM/a,EAAmBjJ,GACzCkhB,EAAuBH,IAGvBtR,EAhaM,EAiaNuU,EAAO2oC,EAAS3oC,EAAM/a,EAAmBjJ,GACzCgkB,EAAOg2D,EAAch2D,EAAM/a,GAC3BwG,EAlaM,EAmaNyR,GAAA,EACA8C,EAAO2oC,EAAS3oC,EAAM/a,EAAmBjJ,GACzCkhB,EAAuBH,EACvBiD,EAAOg2D,EAAch2D,EAAM/a,GAAA,OAxC7BwG,EA/XQ,EAgYRuU,EAAO2oC,EAAS3oC,EAAM/a,EAAmBjJ,QAdzCyP,EAAO5L,EAjXC,EADA,EAmXRmgB,EAAO2oC,EAAS3oC,EAAM/a,EAAmBjJ,GAAA,OAuDpCgkB,CAAA,OAcJm7K,eAAeh1B,WAAa,SAASnmJ,GACpCA,IACFtU,EAAcsU,EAAQw7K,cACtBj0I,EAAevnC,EAAQy7K,eACvB57L,EAAWmgB,EAAQ07K,WACnBhjL,EAAYsH,EAAQ27K,YACpBz+K,EAAuB8C,EAAQ47K,oBAAA,OAI9BT,eAAeh1B,WAAWnmJ,GACxBrS,KAAKwtL,cAAA,MAGVl2L,EA5jFmB,CACrB,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,KACA,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,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,IAC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","sources":["assets/icons/PTMS.svg","assets/icons/building.svg","assets/logos/Seal_of_Uttar_Pradesh.svg","components/ui/skeletons/DoughnutSkeleton.jsx","components/charts/DoughutChart.jsx","components/home/templates/LocationBodyTemplate.js","components/layout/Header.jsx","components/properties/buttons/adminButtons.js","components/properties/buttons/ctaoButtons.js","components/properties/buttons/tsButtons.js","components/properties/buttons/viewButtons.js","components/shared/LocationFilters.jsx","components/ui/FormButtons.jsx","components/ui/IconInput.jsx","components/ui/LabelledDropdown.jsx","../node_modules/react-leaflet/lib/Marker.js","components/ui/MapDialog.jsx","components/ui/PageHeader.jsx","components/ui/StatsCard.jsx","components/ui/Toast.jsx","components/ui/skeletons/TableSkeleton.jsx","../node_modules/yup/index.esm.js","config/validationSchema.js","constant.js","context/AuthContext.js","context/ToastContext.js","middleware/utils.js","middleware/api.js","utils/formatCurrency.js","utils/getAmountInWords.js","utils/modifyBuildingUrl.js","utils/parseJWT.js","utils/trimSpaceAndLowerCase.js","../node_modules/@remix-run/router/history.ts","../node_modules/@remix-run/router/utils.ts","../node_modules/@remix-run/router/router.ts","../node_modules/apexcharts/dist/apexcharts.common.js","../node_modules/formik/node_modules/deepmerge/dist/es.js","../node_modules/lodash-es/_freeGlobal.js","../node_modules/lodash-es/_root.js","../node_modules/lodash-es/_Symbol.js","../node_modules/lodash-es/_getRawTag.js","../node_modules/lodash-es/_objectToString.js","../node_modules/lodash-es/_baseGetTag.js","../node_modules/lodash-es/_overArg.js","../node_modules/lodash-es/_getPrototype.js","../node_modules/lodash-es/isObjectLike.js","../node_modules/lodash-es/isPlainObject.js","../node_modules/tiny-warning/dist/tiny-warning.esm.js","../node_modules/lodash-es/_listCacheClear.js","../node_modules/lodash-es/eq.js","../node_modules/lodash-es/_assocIndexOf.js","../node_modules/lodash-es/_listCacheDelete.js","../node_modules/lodash-es/_listCacheGet.js","../node_modules/lodash-es/_listCacheHas.js","../node_modules/lodash-es/_listCacheSet.js","../node_modules/lodash-es/_ListCache.js","../node_modules/lodash-es/_stackClear.js","../node_modules/lodash-es/_stackDelete.js","../node_modules/lodash-es/_stackGet.js","../node_modules/lodash-es/_stackHas.js","../node_modules/lodash-es/isObject.js","../node_modules/lodash-es/isFunction.js","../node_modules/lodash-es/_coreJsData.js","../node_modules/lodash-es/_isMasked.js","../node_modules/lodash-es/_toSource.js","../node_modules/lodash-es/_baseIsNative.js","../node_modules/lodash-es/_getValue.js","../node_modules/lodash-es/_getNative.js","../node_modules/lodash-es/_Map.js","../node_modules/lodash-es/_nativeCreate.js","../node_modules/lodash-es/_hashClear.js","../node_modules/lodash-es/_hashDelete.js","../node_modules/lodash-es/_hashGet.js","../node_modules/lodash-es/_hashHas.js","../node_modules/lodash-es/_hashSet.js","../node_modules/lodash-es/_Hash.js","../node_modules/lodash-es/_mapCacheClear.js","../node_modules/lodash-es/_isKeyable.js","../node_modules/lodash-es/_getMapData.js","../node_modules/lodash-es/_mapCacheDelete.js","../node_modules/lodash-es/_mapCacheGet.js","../node_modules/lodash-es/_mapCacheHas.js","../node_modules/lodash-es/_mapCacheSet.js","../node_modules/lodash-es/_MapCache.js","../node_modules/lodash-es/_stackSet.js","../node_modules/lodash-es/_Stack.js","../node_modules/lodash-es/_arrayEach.js","../node_modules/lodash-es/_defineProperty.js","../node_modules/lodash-es/_baseAssignValue.js","../node_modules/lodash-es/_assignValue.js","../node_modules/lodash-es/_copyObject.js","../node_modules/lodash-es/_baseTimes.js","../node_modules/lodash-es/_baseIsArguments.js","../node_modules/lodash-es/isArguments.js","../node_modules/lodash-es/isArray.js","../node_modules/lodash-es/stubFalse.js","../node_modules/lodash-es/isBuffer.js","../node_modules/lodash-es/_isIndex.js","../node_modules/lodash-es/isLength.js","../node_modules/lodash-es/_baseIsTypedArray.js","../node_modules/lodash-es/_baseUnary.js","../node_modules/lodash-es/_nodeUtil.js","../node_modules/lodash-es/isTypedArray.js","../node_modules/lodash-es/_arrayLikeKeys.js","../node_modules/lodash-es/_isPrototype.js","../node_modules/lodash-es/_nativeKeys.js","../node_modules/lodash-es/_baseKeys.js","../node_modules/lodash-es/isArrayLike.js","../node_modules/lodash-es/keys.js","../node_modules/lodash-es/_baseAssign.js","../node_modules/lodash-es/_nativeKeysIn.js","../node_modules/lodash-es/_baseKeysIn.js","../node_modules/lodash-es/keysIn.js","../node_modules/lodash-es/_baseAssignIn.js","../node_modules/lodash-es/_cloneBuffer.js","../node_modules/lodash-es/_copyArray.js","../node_modules/lodash-es/_arrayFilter.js","../node_modules/lodash-es/stubArray.js","../node_modules/lodash-es/_getSymbols.js","../node_modules/lodash-es/_copySymbols.js","../node_modules/lodash-es/_arrayPush.js","../node_modules/lodash-es/_getSymbolsIn.js","../node_modules/lodash-es/_copySymbolsIn.js","../node_modules/lodash-es/_baseGetAllKeys.js","../node_modules/lodash-es/_getAllKeys.js","../node_modules/lodash-es/_getAllKeysIn.js","../node_modules/lodash-es/_DataView.js","../node_modules/lodash-es/_Promise.js","../node_modules/lodash-es/_Set.js","../node_modules/lodash-es/_WeakMap.js","../node_modules/lodash-es/_getTag.js","../node_modules/lodash-es/_initCloneArray.js","../node_modules/lodash-es/_Uint8Array.js","../node_modules/lodash-es/_cloneArrayBuffer.js","../node_modules/lodash-es/_cloneDataView.js","../node_modules/lodash-es/_cloneRegExp.js","../node_modules/lodash-es/_cloneSymbol.js","../node_modules/lodash-es/_cloneTypedArray.js","../node_modules/lodash-es/_initCloneByTag.js","../node_modules/lodash-es/_baseCreate.js","../node_modules/lodash-es/_initCloneObject.js","../node_modules/lodash-es/_baseIsMap.js","../node_modules/lodash-es/isMap.js","../node_modules/lodash-es/_baseIsSet.js","../node_modules/lodash-es/isSet.js","../node_modules/lodash-es/_baseClone.js","../node_modules/lodash-es/clone.js","../node_modules/lodash-es/_arrayMap.js","../node_modules/lodash-es/isSymbol.js","../node_modules/lodash-es/memoize.js","../node_modules/lodash-es/_stringToPath.js","../node_modules/lodash-es/_memoizeCapped.js","../node_modules/lodash-es/_toKey.js","../node_modules/lodash-es/_baseToString.js","../node_modules/lodash-es/toString.js","../node_modules/lodash-es/toPath.js","../node_modules/lodash-es/cloneDeep.js","../node_modules/formik/src/FormikContext.tsx","../node_modules/formik/src/utils.ts","../node_modules/formik/src/Formik.tsx","../node_modules/formik/src/Field.tsx","../node_modules/formik/src/Form.tsx","../node_modules/formik/src/connect.tsx","../node_modules/formik/src/FieldArray.tsx","../node_modules/formik/src/ErrorMessage.tsx","../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/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/leaflet/src/core/Util.js","../node_modules/leaflet/src/core/Class.js","../node_modules/leaflet/src/core/Events.js","../node_modules/leaflet/src/geometry/Point.js","../node_modules/leaflet/src/geometry/Bounds.js","../node_modules/leaflet/src/geo/LatLngBounds.js","../node_modules/leaflet/src/geo/LatLng.js","../node_modules/leaflet/src/geo/crs/CRS.js","../node_modules/leaflet/src/geo/crs/CRS.Earth.js","../node_modules/leaflet/src/geo/projection/Projection.SphericalMercator.js","../node_modules/leaflet/src/geometry/Transformation.js","../node_modules/leaflet/src/geo/crs/CRS.EPSG3857.js","../node_modules/leaflet/src/layer/vector/SVG.Util.js","../node_modules/leaflet/src/core/Browser.js","../node_modules/leaflet/src/dom/DomEvent.Pointer.js","../node_modules/leaflet/src/dom/DomEvent.DoubleTap.js","../node_modules/leaflet/src/dom/DomUtil.js","../node_modules/leaflet/src/dom/DomEvent.js","../node_modules/leaflet/src/dom/PosAnimation.js","../node_modules/leaflet/src/map/Map.js","../node_modules/leaflet/src/control/Control.js","../node_modules/leaflet/src/control/Control.Layers.js","../node_modules/leaflet/src/control/Control.Zoom.js","../node_modules/leaflet/src/control/Control.Scale.js","../node_modules/leaflet/src/control/Control.Attribution.js","../node_modules/leaflet/src/control/index.js","../node_modules/leaflet/src/core/Handler.js","../node_modules/leaflet/src/core/index.js","../node_modules/leaflet/src/dom/Draggable.js","../node_modules/leaflet/src/geometry/PolyUtil.js","../node_modules/leaflet/src/geometry/LineUtil.js","../node_modules/leaflet/src/geo/projection/Projection.LonLat.js","../node_modules/leaflet/src/geo/projection/Projection.Mercator.js","../node_modules/leaflet/src/geo/crs/CRS.EPSG3395.js","../node_modules/leaflet/src/geo/crs/CRS.EPSG4326.js","../node_modules/leaflet/src/geo/crs/CRS.Simple.js","../node_modules/leaflet/src/geo/crs/index.js","../node_modules/leaflet/src/layer/Layer.js","../node_modules/leaflet/src/layer/LayerGroup.js","../node_modules/leaflet/src/layer/FeatureGroup.js","../node_modules/leaflet/src/layer/marker/Icon.js","../node_modules/leaflet/src/layer/marker/Icon.Default.js","../node_modules/leaflet/src/layer/marker/Marker.Drag.js","../node_modules/leaflet/src/layer/marker/Marker.js","../node_modules/leaflet/src/layer/vector/Path.js","../node_modules/leaflet/src/layer/vector/CircleMarker.js","../node_modules/leaflet/src/layer/vector/Circle.js","../node_modules/leaflet/src/layer/vector/Polyline.js","../node_modules/leaflet/src/layer/vector/Polygon.js","../node_modules/leaflet/src/layer/GeoJSON.js","../node_modules/leaflet/src/layer/ImageOverlay.js","../node_modules/leaflet/src/layer/VideoOverlay.js","../node_modules/leaflet/src/layer/SVGOverlay.js","../node_modules/leaflet/src/layer/DivOverlay.js","../node_modules/leaflet/src/layer/Popup.js","../node_modules/leaflet/src/layer/Tooltip.js","../node_modules/leaflet/src/layer/marker/DivIcon.js","../node_modules/leaflet/src/layer/marker/index.js","../node_modules/leaflet/src/layer/tile/GridLayer.js","../node_modules/leaflet/src/layer/tile/TileLayer.js","../node_modules/leaflet/src/layer/tile/TileLayer.WMS.js","../node_modules/leaflet/src/layer/tile/index.js","../node_modules/leaflet/src/layer/vector/Renderer.js","../node_modules/leaflet/src/layer/vector/Canvas.js","../node_modules/leaflet/src/layer/vector/SVG.VML.js","../node_modules/leaflet/src/layer/vector/SVG.js","../node_modules/leaflet/src/layer/vector/Renderer.getRenderer.js","../node_modules/leaflet/src/layer/vector/Rectangle.js","../node_modules/leaflet/src/layer/vector/index.js","../node_modules/leaflet/src/layer/index.js","../node_modules/leaflet/src/map/handler/Map.BoxZoom.js","../node_modules/leaflet/src/map/handler/Map.DoubleClickZoom.js","../node_modules/leaflet/src/map/handler/Map.Drag.js","../node_modules/leaflet/src/map/handler/Map.Keyboard.js","../node_modules/leaflet/src/map/handler/Map.ScrollWheelZoom.js","../node_modules/leaflet/src/map/handler/Map.TapHold.js","../node_modules/leaflet/src/map/handler/Map.TouchZoom.js","../node_modules/leaflet/src/map/index.js","../node_modules/primereact/api/api.esm.js","../node_modules/primereact/button/button.esm.js","../node_modules/primereact/column/column.esm.js","../node_modules/primereact/componentbase/componentbase.esm.js","../node_modules/dom-helpers/esm/removeClass.js","../node_modules/react-transition-group/esm/config.js","../node_modules/react-transition-group/esm/utils/reflow.js","../node_modules/react-transition-group/esm/Transition.js","../node_modules/react-transition-group/esm/CSSTransition.js","../node_modules/dom-helpers/esm/addClass.js","../node_modules/dom-helpers/esm/hasClass.js","../node_modules/primereact/csstransition/csstransition.esm.js","../node_modules/primereact/icons/arrowdown/index.esm.js","../node_modules/primereact/icons/arrowup/index.esm.js","../node_modules/primereact/icons/angledoubleleft/index.esm.js","../node_modules/primereact/icons/angledoubleright/index.esm.js","../node_modules/primereact/icons/angleleft/index.esm.js","../node_modules/primereact/paginator/paginator.esm.js","../node_modules/primereact/icons/pencil/index.esm.js","../node_modules/primereact/icons/filter/index.esm.js","../node_modules/primereact/icons/filterslash/index.esm.js","../node_modules/primereact/icons/trash/index.esm.js","../node_modules/primereact/icons/sortalt/index.esm.js","../node_modules/primereact/icons/sortamountdown/index.esm.js","../node_modules/primereact/icons/sortamountupalt/index.esm.js","../node_modules/primereact/datatable/datatable.esm.js","../node_modules/primereact/icons/windowmaximize/index.esm.js","../node_modules/primereact/icons/windowminimize/index.esm.js","../node_modules/primereact/dialog/dialog.esm.js","../node_modules/primereact/dropdown/dropdown.esm.js","../node_modules/primereact/galleria/galleria.esm.js","../node_modules/primereact/hooks/hooks.esm.js","../node_modules/primereact/iconbase/iconbase.esm.js","../node_modules/primereact/iconfield/iconfield.esm.js","../node_modules/primereact/icons/angledown/index.esm.js","../node_modules/primereact/icons/angleright/index.esm.js","../node_modules/primereact/icons/bars/index.esm.js","../node_modules/primereact/icons/check/index.esm.js","../node_modules/primereact/icons/chevrondown/index.esm.js","../node_modules/primereact/icons/chevronleft/index.esm.js","../node_modules/primereact/icons/chevronright/index.esm.js","../node_modules/primereact/icons/chevronup/index.esm.js","../node_modules/primereact/icons/exclamationtriangle/index.esm.js","../node_modules/primereact/icons/eye/index.esm.js","../node_modules/primereact/icons/infocircle/index.esm.js","../node_modules/primereact/icons/plus/index.esm.js","../node_modules/primereact/icons/search/index.esm.js","../node_modules/primereact/icons/spinner/index.esm.js","../node_modules/primereact/icons/times/index.esm.js","../node_modules/primereact/icons/timescircle/index.esm.js","../node_modules/primereact/inputicon/inputicon.esm.js","../node_modules/primereact/icons/angleup/index.esm.js","../node_modules/primereact/inputnumber/inputnumber.esm.js","../node_modules/primereact/inputswitch/inputswitch.esm.js","../node_modules/primereact/inputtext/inputtext.esm.js","../node_modules/primereact/keyfilter/keyfilter.esm.js","../node_modules/primereact/overlayservice/overlayservice.esm.js","../node_modules/primereact/icons/minus/index.esm.js","../node_modules/primereact/panel/panel.esm.js","../node_modules/primereact/icons/eyeslash/index.esm.js","../node_modules/primereact/password/password.esm.js","../node_modules/primereact/portal/portal.esm.js","../node_modules/primereact/progressspinner/progressspinner.esm.js","../node_modules/primereact/ripple/ripple.esm.js","../node_modules/primereact/skeleton/skeleton.esm.js","../node_modules/primereact/tabview/tabview.esm.js","../node_modules/primereact/toast/toast.esm.js","../node_modules/primereact/tooltip/tooltip.esm.js","../node_modules/primereact/utils/utils.esm.js","../node_modules/primereact/virtualscroller/virtualscroller.esm.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/property-expr/index.js","../node_modules/react-apexcharts/dist/react-apexcharts.min.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-fast-compare/index.js","../node_modules/react-router-dom/dom.ts","../node_modules/react-router-dom/index.tsx","../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/index.ts","../node_modules/react-transition-group/esm/utils/ChildMapping.js","../node_modules/react-transition-group/esm/TransitionGroup.js","../node_modules/react-transition-group/esm/TransitionGroupContext.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/tiny-case/index.js","../node_modules/to-words/dist/ToWords.js","../node_modules/to-words/dist/locales/ee-EE.js","../node_modules/to-words/dist/locales/en-AE.js","../node_modules/to-words/dist/locales/en-BD.js","../node_modules/to-words/dist/locales/en-GB.js","../node_modules/to-words/dist/locales/en-GH.js","../node_modules/to-words/dist/locales/en-IE.js","../node_modules/to-words/dist/locales/en-IN.js","../node_modules/to-words/dist/locales/en-MM.js","../node_modules/to-words/dist/locales/en-MU.js","../node_modules/to-words/dist/locales/en-NG.js","../node_modules/to-words/dist/locales/en-NP.js","../node_modules/to-words/dist/locales/en-PH.js","../node_modules/to-words/dist/locales/en-US.js","../node_modules/to-words/dist/locales/fa-IR.js","../node_modules/to-words/dist/locales/fr-BE.js","../node_modules/to-words/dist/locales/fr-FR.js","../node_modules/to-words/dist/locales/gu-IN.js","../node_modules/to-words/dist/locales/hi-IN.js","../node_modules/to-words/dist/locales/ko-KR.js","../node_modules/to-words/dist/locales/mr-IN.js","../node_modules/to-words/dist/locales/nl-SR.js","../node_modules/to-words/dist/locales/pt-BR.js","../node_modules/to-words/dist/locales/tr-TR.js","../node_modules/toposort/index.js","webpack://ptms-citizen/./src/components/charts/styles.module.css?c6c8","webpack://ptms-citizen/./src/components/ui/ui.module.css?24d2","webpack://ptms-citizen/./src/pages/error.pages/notFound.module.css?35dd","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@react-leaflet/core/lib/component.js","../node_modules/@react-leaflet/core/lib/context.js","../node_modules/@react-leaflet/core/lib/element.js","../node_modules/@react-leaflet/core/lib/events.js","../node_modules/@react-leaflet/core/lib/layer.js","../node_modules/@react-leaflet/core/lib/attribution.js","../node_modules/@react-leaflet/core/lib/path.js","../node_modules/@react-leaflet/core/lib/generic.js","../node_modules/@react-leaflet/core/lib/pane.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/platform/common/utils.js","../node_modules/axios/lib/platform/index.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/adapters/adapters.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/parseProtocol.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","../node_modules/react-leaflet/lib/LayersControl.js","../node_modules/@react-leaflet/core/lib/control.js","../node_modules/react-leaflet/lib/MapContainer.js","../node_modules/react-leaflet/lib/TileLayer.js","../node_modules/@react-leaflet/core/lib/grid-layer.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/node module decorator","../webpack/runtime/publicPath","../webpack/runtime/css loading","../webpack/runtime/jsonp chunk loading","../node_modules/primereact/menubar/menubar.esm.js","webpack://ptms-citizen/./src/layout/layout.module.css?08be","routes/pathConstants.js","components/layout/navItem.template.js","layout/Layout.jsx","webpack://ptms-citizen/./src/components/layout/changePassword.module.css?4644","components/layout/ChangePassword.jsx","../node_modules/primereact/menu/menu.esm.js","components/layout/UserInfo.template.jsx","components/layout/TopBar.jsx","layout/LoggedInLayout.jsx","pages/error.pages/ErrorPage.jsx","pages/error.pages/UnAuthorized.jsx","routes/ProtectedRoutes.jsx","components/validation/SurveyedFilter.jsx","components/validation/tables/AllProperties.jsx","components/validation/tables/ApprovedProperties.jsx","components/validation/tables/PendingProperties.jsx","components/validation/tables/RejectedProperties.jsx","components/validation/tables/ApprovalLogs.jsx","components/validation/SurveyedTables.jsx","components/validation/SurveyedVisuals.jsx","pages/validation/SurveyedPropertiesList.jsx","components/config/rolesMaster/RoleForm.jsx","pages/config/RolesMaster.jsx","routes/index.js","webpack://ptms-citizen/./src/components/login/component.module.css?e8ef","components/login/LoginForm.jsx","../node_modules/primereact/icons/refresh/index.esm.js","../node_modules/primereact/icons/searchminus/index.esm.js","../node_modules/primereact/icons/searchplus/index.esm.js","../node_modules/primereact/icons/undo/index.esm.js","../node_modules/primereact/image/image.esm.js","webpack://ptms-citizen/./src/pages/login/login.module.css?1fbb","pages/login/Login.jsx","routes/noLayoutRoutes.js","App.js","index.js"],"sourcesContent":["var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _path12, _path13, _path14, _path15, _path16, _path17, _path18, _path19, _path20, _path21, _path22, _path23, _path24, _path25, _path26, _path27, _path28, _path29, _path30, _path31, _path32, _path33, _path34, _path35, _path36, _path37, _path38, _path39, _path40, _path41, _path42, _path43, _path44, _path45, _path46, _path47, _path48, _path49, _path50, _path51, _path52, _path53, _path54, _path55, _path56, _path57, _path58, _path59, _path60, _path61, _path62, _path63, _path64, _path65, _path66, _path67, _path68, _path69, _path70, _path71, _path72, _path73, _path74, _path75, _path76, _path77, _path78, _path79, _path80, _path81, _path82, _path83, _path84, _path85, _path86, _path87, _path88, _path89, _path90, _path91, _path92, _path93, _path94, _path95, _path96, _path97, _path98, _path99, _path100, _path101, _path102, _path103, _path104, _path105, _path106, _path107, _g, _path108, _path109, _path110, _path111, _path112, _path113, _path114, _path115, _path116, _path117, _path118, _path119, _path120, _path121, _path122, _path123, _path124, _g2, _path125, _g3, _g4, _g5, _path126, _g6, _path127, _path128, _path129, _path130, _path131, _path132, _path133, _path134, _path135, _path136, _path137, _path138, _path139, _path140, _path141, _path142, _path143, _g7, _g8, _path144, _path145, _path146, _path147, _path148, _path149, _path150, _path151, _path152, _path153, _path154, _path155, _path156, _path157, _path158, _path159, _path160, _path161, _path162, _path163, _path164, _path165, _path166, _path167, _path168, _path169, _path170, _path171, _path172, _path173, _path174, _path175, _path176, _path177, _g9, _path178, _g10, _path179, _g11, _path180, _path181, _g12, _path182, _path183, _path184, _path185, _path186, _path187, _path188, _path189, _path190, _path191, _path192, _path193, _path194, _path195, _path196, _path197, _path198, _path199, _path200, _path201, _path202, _path203, _path204, _path205, _path206, _path207, _path208, _path209, _path210, _path211, _path212, _path213, _path214;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgPtms(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 582,\n height: 403,\n viewBox: \"0 0 582 403\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M171.39 202.09H94.9788V402.094H171.39V202.09Z\",\n fill: \"#F0F0F0\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M171.391 202.09H133.185V402.094H171.391V202.09Z\",\n fill: \"#E6E6E6\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M130.687 178.316H103.704V202.09H130.687V178.316Z\",\n fill: \"#F0F0F0\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M130.687 178.316H124.256V202.09H130.687V178.316Z\",\n fill: \"#E6E6E6\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M173.627 200.703H88.6108V202.09H173.627V200.703Z\",\n fill: \"#E0E0E0\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M116.53 212.458H110.062V226.096H116.53V212.458Z\",\n fill: \"white\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M133.185 231.449C133.185 231.593 124.632 231.709 114.083 231.709C103.531 231.709 94.9788 231.593 94.9788 231.449C94.9788 231.305 103.531 231.189 114.083 231.189C124.632 231.189 133.185 231.306 133.185 231.449Z\",\n fill: \"#E0E0E0\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M155.069 212.458H148.601V226.096H155.069V212.458Z\",\n fill: \"#E0E0E0\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M171.723 231.449C171.723 231.593 163.17 231.709 152.621 231.709C142.069 231.709 133.517 231.593 133.517 231.449C133.517 231.305 142.068 231.189 152.621 231.189C163.17 231.189 171.723 231.306 171.723 231.449Z\",\n fill: \"#E0E0E0\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M155.069 239.536H148.601V253.174H155.069V239.536Z\",\n fill: \"#E0E0E0\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M171.723 258.526C171.723 258.67 163.17 258.786 152.621 258.786C142.069 258.786 133.517 258.669 133.517 258.526C133.517 258.383 142.068 258.266 152.621 258.266C163.17 258.266 171.723 258.383 171.723 258.526Z\",\n fill: \"#E0E0E0\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M155.069 267.43H148.601V281.068H155.069V267.43Z\",\n fill: \"#E0E0E0\"\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M171.723 286.421C171.723 286.565 163.17 286.681 152.621 286.681C142.069 286.681 133.517 286.565 133.517 286.421C133.517 286.277 142.068 286.161 152.621 286.161C163.17 286.16 171.723 286.277 171.723 286.421Z\",\n fill: \"#E0E0E0\"\n })), _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M155.069 295.324H148.601V308.962H155.069V295.324Z\",\n fill: \"#E0E0E0\"\n })), _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M171.723 314.315C171.723 314.459 163.17 314.575 152.621 314.575C142.069 314.575 133.517 314.459 133.517 314.315C133.517 314.171 142.068 314.055 152.621 314.055C163.17 314.054 171.723 314.171 171.723 314.315Z\",\n fill: \"#E0E0E0\"\n })), _path16 || (_path16 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M155.069 322.42H148.601V336.058H155.069V322.42Z\",\n fill: \"#E0E0E0\"\n })), _path17 || (_path17 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M171.723 341.411C171.723 341.555 163.17 341.671 152.621 341.671C142.069 341.671 133.517 341.554 133.517 341.411C133.517 341.267 142.068 341.151 152.621 341.151C163.17 341.15 171.723 341.267 171.723 341.411Z\",\n fill: \"#E0E0E0\"\n })), _path18 || (_path18 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M155.069 349.626H148.601V363.264H155.069V349.626Z\",\n fill: \"#E0E0E0\"\n })), _path19 || (_path19 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M155.069 377.188H148.601V390.826H155.069V377.188Z\",\n fill: \"#E0E0E0\"\n })), _path20 || (_path20 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M171.723 368.616C171.723 368.76 161.343 369.446 150.794 369.446C140.242 369.446 133.517 368.76 133.517 368.616C133.517 368.472 142.068 368.356 152.621 368.356C163.17 368.356 171.723 368.473 171.723 368.616Z\",\n fill: \"#E0E0E0\"\n })), _path21 || (_path21 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M116.53 239.949H110.062V253.587H116.53V239.949Z\",\n fill: \"white\"\n })), _path22 || (_path22 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M133.185 258.94C133.185 259.084 124.632 259.2 114.083 259.2C103.531 259.2 94.9788 259.083 94.9788 258.94C94.9788 258.796 103.531 258.68 114.083 258.68C124.632 258.679 133.185 258.796 133.185 258.94Z\",\n fill: \"#E0E0E0\"\n })), _path23 || (_path23 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M116.53 267.439H110.062V281.077H116.53V267.439Z\",\n fill: \"white\"\n })), _path24 || (_path24 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M133.185 286.43C133.185 286.574 124.632 286.69 114.083 286.69C103.531 286.69 94.9788 286.574 94.9788 286.43C94.9788 286.286 103.531 286.17 114.083 286.17C124.632 286.17 133.185 286.286 133.185 286.43Z\",\n fill: \"#E0E0E0\"\n })), _path25 || (_path25 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M116.53 294.93H110.062V308.568H116.53V294.93Z\",\n fill: \"white\"\n })), _path26 || (_path26 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M133.185 313.92C133.185 314.064 124.632 314.18 114.083 314.18C103.531 314.18 94.9788 314.064 94.9788 313.92C94.9788 313.776 103.531 313.66 114.083 313.66C124.632 313.66 133.185 313.777 133.185 313.92Z\",\n fill: \"#E0E0E0\"\n })), _path27 || (_path27 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M116.53 322.42H110.062V336.058H116.53V322.42Z\",\n fill: \"white\"\n })), _path28 || (_path28 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M133.185 341.411C133.185 341.555 124.632 341.671 114.083 341.671C103.531 341.671 94.9788 341.554 94.9788 341.411C94.9788 341.267 103.531 341.151 114.083 341.151C124.632 341.15 133.185 341.267 133.185 341.411Z\",\n fill: \"#E0E0E0\"\n })), _path29 || (_path29 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M116.53 349.91H110.062V363.548H116.53V349.91Z\",\n fill: \"white\"\n })), _path30 || (_path30 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M133.185 368.901C133.185 369.045 124.632 369.161 114.083 369.161C103.531 369.161 94.9788 369.044 94.9788 368.901C94.9788 368.757 103.531 368.641 114.083 368.641C124.632 368.641 133.185 368.758 133.185 368.901Z\",\n fill: \"#E0E0E0\"\n })), _path31 || (_path31 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M116.53 377.401H110.062V391.039H116.53V377.401Z\",\n fill: \"white\"\n })), _path32 || (_path32 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M465.133 130.585H361.188V402.657H465.133V130.585Z\",\n fill: \"#F0F0F0\"\n })), _path33 || (_path33 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M465.133 130.585H413.16V402.657H465.133V130.585Z\",\n fill: \"#EBEBEB\"\n })), _path34 || (_path34 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M409.763 98.244H373.057V130.585H409.763V98.244Z\",\n fill: \"#F5F5F5\"\n })), _path35 || (_path35 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M409.762 98.244H401.014V130.585H409.762V98.244Z\",\n fill: \"#E0E0E0\"\n })), _path36 || (_path36 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M468.175 128.698H352.525V130.584H468.175V128.698Z\",\n fill: \"#E0E0E0\"\n })), _path37 || (_path37 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M390.504 144.69H381.706V163.242H390.504V144.69Z\",\n fill: \"white\"\n })), _path38 || (_path38 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M413.16 170.523C413.16 170.719 401.525 170.877 387.175 170.877C372.82 170.877 361.188 170.718 361.188 170.523C361.188 170.328 372.821 170.169 387.175 170.169C401.525 170.169 413.16 170.328 413.16 170.523Z\",\n fill: \"#E0E0E0\"\n })), _path39 || (_path39 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M442.929 144.69H434.131V163.242H442.929V144.69Z\",\n fill: \"#E0E0E0\"\n })), _path40 || (_path40 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M465.585 170.523C465.585 170.719 453.95 170.877 439.6 170.877C425.245 170.877 413.613 170.718 413.613 170.523C413.613 170.328 425.246 170.169 439.6 170.169C453.95 170.169 465.585 170.328 465.585 170.523Z\",\n fill: \"#E0E0E0\"\n })), _path41 || (_path41 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M442.929 181.523H434.131V200.075H442.929V181.523Z\",\n fill: \"#E0E0E0\"\n })), _path42 || (_path42 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M465.585 207.357C465.585 207.553 453.95 207.711 439.6 207.711C425.245 207.711 413.613 207.553 413.613 207.357C413.613 207.161 425.246 207.003 439.6 207.003C453.95 207.003 465.585 207.162 465.585 207.357Z\",\n fill: \"#E0E0E0\"\n })), _path43 || (_path43 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M442.929 219.469H434.131V238.021H442.929V219.469Z\",\n fill: \"#E0E0E0\"\n })), _path44 || (_path44 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M465.585 245.302C465.585 245.498 453.95 245.656 439.6 245.656C425.245 245.656 413.613 245.497 413.613 245.302C413.613 245.107 425.246 244.948 439.6 244.948C453.95 244.948 465.585 245.107 465.585 245.302Z\",\n fill: \"#E0E0E0\"\n })), _path45 || (_path45 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M442.929 257.414H434.131V275.966H442.929V257.414Z\",\n fill: \"#E0E0E0\"\n })), _path46 || (_path46 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M465.585 283.248C465.585 283.444 453.95 283.602 439.6 283.602C425.245 283.602 413.613 283.443 413.613 283.248C413.613 283.053 425.246 282.894 439.6 282.894C453.95 282.893 465.585 283.052 465.585 283.248Z\",\n fill: \"#E0E0E0\"\n })), _path47 || (_path47 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M442.929 294.274H434.131V312.826H442.929V294.274Z\",\n fill: \"#E0E0E0\"\n })), _path48 || (_path48 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M465.585 320.108C465.585 320.304 453.95 320.462 439.6 320.462C425.245 320.462 413.613 320.303 413.613 320.108C413.613 319.912 425.246 319.754 439.6 319.754C453.95 319.753 465.585 319.912 465.585 320.108Z\",\n fill: \"#E0E0E0\"\n })), _path49 || (_path49 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M442.929 331.283H434.131V349.835H442.929V331.283Z\",\n fill: \"#E0E0E0\"\n })), _path50 || (_path50 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M442.929 368.776H434.131V387.328H442.929V368.776Z\",\n fill: \"#E0E0E0\"\n })), _path51 || (_path51 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M465.585 357.116C465.585 357.312 453.95 357.47 439.6 357.47C425.245 357.47 413.613 357.311 413.613 357.116C413.613 356.92 425.246 356.762 439.6 356.762C453.95 356.762 465.585 356.921 465.585 357.116Z\",\n fill: \"#E0E0E0\"\n })), _path52 || (_path52 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M390.504 182.086H381.706V200.638H390.504V182.086Z\",\n fill: \"white\"\n })), _path53 || (_path53 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M413.16 207.919C413.16 208.115 401.525 208.273 387.175 208.273C372.82 208.273 361.188 208.114 361.188 207.919C361.188 207.724 372.821 207.565 387.175 207.565C401.525 207.565 413.16 207.724 413.16 207.919Z\",\n fill: \"#E0E0E0\"\n })), _path54 || (_path54 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M390.504 219.482H381.706V238.034H390.504V219.482Z\",\n fill: \"white\"\n })), _path55 || (_path55 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M413.16 245.315C413.16 245.511 401.525 245.669 387.175 245.669C372.82 245.669 361.188 245.511 361.188 245.315C361.188 245.119 372.821 244.961 387.175 244.961C401.525 244.961 413.16 245.12 413.16 245.315Z\",\n fill: \"#E0E0E0\"\n })), _path56 || (_path56 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M390.504 256.878H381.706V275.43H390.504V256.878Z\",\n fill: \"white\"\n })), _path57 || (_path57 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M413.16 282.711C413.16 282.907 401.525 283.065 387.175 283.065C372.82 283.065 361.188 282.906 361.188 282.711C361.188 282.515 372.821 282.357 387.175 282.357C401.525 282.357 413.16 282.516 413.16 282.711Z\",\n fill: \"#E0E0E0\"\n })), _path58 || (_path58 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M390.504 294.274H381.706V312.826H390.504V294.274Z\",\n fill: \"white\"\n })), _path59 || (_path59 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M413.16 320.108C413.16 320.304 401.525 320.462 387.175 320.462C372.82 320.462 361.188 320.303 361.188 320.108C361.188 319.912 372.821 319.754 387.175 319.754C401.525 319.753 413.16 319.912 413.16 320.108Z\",\n fill: \"#E0E0E0\"\n })), _path60 || (_path60 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M390.504 331.67H381.706V350.222H390.504V331.67Z\",\n fill: \"white\"\n })), _path61 || (_path61 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M413.16 357.504C413.16 357.7 401.525 357.858 387.175 357.858C372.82 357.858 361.188 357.699 361.188 357.504C361.188 357.309 372.821 357.15 387.175 357.15C401.525 357.15 413.16 357.308 413.16 357.504Z\",\n fill: \"#E0E0E0\"\n })), _path62 || (_path62 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M390.504 369.066H381.706V387.618H390.504V369.066Z\",\n fill: \"white\"\n })), _path63 || (_path63 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M109.213 325.323H50.6179V402.607H109.213V325.323Z\",\n fill: \"#F0F0F0\"\n })), _path64 || (_path64 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M109.212 325.323H81.738V402.607H109.212V325.323Z\",\n fill: \"#EBEBEB\"\n })), _path65 || (_path65 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M68.172 335.786H62.9041V348.586H68.172V335.786Z\",\n fill: \"white\"\n })), _path66 || (_path66 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M68.172 385.883H62.9041V398.683H68.172V385.883Z\",\n fill: \"white\"\n })), _path67 || (_path67 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M81.7379 353.61C81.7379 353.754 74.7709 353.87 66.1779 353.87C57.5829 353.87 50.6169 353.753 50.6169 353.61C50.6169 353.466 57.5829 353.35 66.1779 353.35C74.7709 353.349 81.7379 353.466 81.7379 353.61Z\",\n fill: \"#E0E0E0\"\n })), _path68 || (_path68 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M68.172 361.025H62.9041V373.825H68.172V361.025Z\",\n fill: \"white\"\n })), _path69 || (_path69 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M81.7379 378.848C81.7379 378.992 74.7709 379.108 66.1779 379.108C57.5829 379.108 50.6169 378.992 50.6169 378.848C50.6169 378.704 57.5829 378.588 66.1779 378.588C74.7709 378.588 81.7379 378.704 81.7379 378.848Z\",\n fill: \"#E0E0E0\"\n })), _path70 || (_path70 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M92.841 335.786H87.573V348.586H92.841V335.786Z\",\n fill: \"#E0E0E0\"\n })), _path71 || (_path71 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M104.271 335.786H99.0029V348.586H104.271V335.786Z\",\n fill: \"#E0E0E0\"\n })), _path72 || (_path72 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M92.841 360.075H87.573V372.875H92.841V360.075Z\",\n fill: \"#E0E0E0\"\n })), _path73 || (_path73 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M104.271 360.075H99.0029V372.875H104.271V360.075Z\",\n fill: \"#E0E0E0\"\n })), _path74 || (_path74 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M92.841 384.363H87.573V397.163H92.841V384.363Z\",\n fill: \"#E0E0E0\"\n })), _path75 || (_path75 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M104.271 384.363H99.0029V397.163H104.271V384.363Z\",\n fill: \"#E0E0E0\"\n })), _path76 || (_path76 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M113.617 322.633H46.2129V325.42H113.617V322.633Z\",\n fill: \"#E0E0E0\"\n })), _path77 || (_path77 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M109.621 325.682C109.621 325.826 96.5248 325.943 80.3728 325.943C64.2158 325.943 51.1218 325.826 51.1218 325.682C51.1218 325.538 64.2158 325.422 80.3728 325.422C96.5248 325.422 109.621 325.538 109.621 325.682Z\",\n fill: \"#E0E0E0\"\n })), _path78 || (_path78 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M539.042 301.579H462.622V402.374H539.042V301.579Z\",\n fill: \"#E0E0E0\"\n })), _path79 || (_path79 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M539.042 301.579H503.21V402.374H539.042V301.579Z\",\n fill: \"#EBEBEB\"\n })), _path80 || (_path80 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M485.516 315.226H478.645V331.92H485.516V315.226Z\",\n fill: \"white\"\n })), _path81 || (_path81 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M485.516 380.562H478.645V397.256H485.516V380.562Z\",\n fill: \"white\"\n })), _path82 || (_path82 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M503.21 338.471C503.21 338.615 494.123 338.731 482.917 338.731C471.707 338.731 462.622 338.614 462.622 338.471C462.622 338.328 471.707 338.211 482.917 338.211C494.123 338.211 503.21 338.328 503.21 338.471Z\",\n fill: \"#FAFAFA\"\n })), _path83 || (_path83 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M485.516 348.142H478.645V364.836H485.516V348.142Z\",\n fill: \"white\"\n })), _path84 || (_path84 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M503.21 371.387C503.21 371.531 494.123 371.647 482.917 371.647C471.707 371.647 462.622 371.53 462.622 371.387C462.622 371.244 471.707 371.127 482.917 371.127C494.123 371.127 503.21 371.244 503.21 371.387Z\",\n fill: \"#FAFAFA\"\n })), _path85 || (_path85 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M517.69 315.226H510.819V331.92H517.69V315.226Z\",\n fill: \"#E0E0E0\"\n })), _path86 || (_path86 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M532.597 315.226H525.726V331.92H532.597V315.226Z\",\n fill: \"#E0E0E0\"\n })), _path87 || (_path87 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M517.69 346.903H510.819V363.597H517.69V346.903Z\",\n fill: \"#E0E0E0\"\n })), _path88 || (_path88 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M532.597 346.903H525.726V363.597H532.597V346.903Z\",\n fill: \"#E0E0E0\"\n })), _path89 || (_path89 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M517.69 378.58H510.819V395.274H517.69V378.58Z\",\n fill: \"#E0E0E0\"\n })), _path90 || (_path90 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M532.597 378.58H525.726V395.274H532.597V378.58Z\",\n fill: \"#E0E0E0\"\n })), _path91 || (_path91 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M544.786 298.07H456.877V301.705H544.786V298.07Z\",\n fill: \"#E0E0E0\"\n })), _path92 || (_path92 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M539.576 302.047C539.576 302.191 522.495 302.307 501.43 302.307C480.358 302.307 463.281 302.19 463.281 302.047C463.281 301.903 480.358 301.787 501.43 301.787C522.495 301.787 539.576 301.904 539.576 302.047Z\",\n fill: \"#FAFAFA\"\n })), _path93 || (_path93 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M176.29 26.22H233.393C233.393 26.22 233.4 13.147 226.651 13.147C217.747 13.147 216.182 21.252 216.182 21.252C216.182 21.252 216.182 -3.14699 203.906 0.433014C192.289 3.82101 190.976 19.439 190.976 19.439C190.976 19.439 188.885 11.585 182.588 16.011C176.29 20.437 176.29 26.22 176.29 26.22Z\",\n fill: \"#EBEBEB\"\n })), _path94 || (_path94 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M48.5508 73.434H77.5258C77.5258 73.434 77.5298 66.8 74.1048 66.8C69.5868 66.8 68.7928 70.913 68.7928 70.913C68.7928 70.913 68.7928 58.532 62.5638 60.349C56.6688 62.068 56.0028 69.993 56.0028 69.993C56.0028 69.993 54.9418 66.008 51.7468 68.254C48.5508 70.5 48.5508 73.434 48.5508 73.434Z\",\n fill: \"#EBEBEB\"\n })), _path95 || (_path95 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M506.944 104.33H547.565C547.565 104.33 547.57 95.031 542.769 95.031C536.435 95.031 535.321 100.797 535.321 100.797C535.321 100.797 535.321 83.44 526.588 85.987C518.324 88.397 517.39 99.507 517.39 99.507C517.39 99.507 515.903 93.92 511.423 97.069C506.944 100.217 506.944 104.33 506.944 104.33Z\",\n fill: \"#EBEBEB\"\n })), _path96 || (_path96 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M581.503 402.657C581.503 402.801 451.43 402.917 291.014 402.917C130.542 402.917 0.49707 402.8 0.49707 402.657C0.49707 402.513 130.542 402.397 291.014 402.397C451.43 402.397 581.503 402.513 581.503 402.657Z\",\n fill: \"#0D0D0D\"\n })), _path97 || (_path97 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M385.296 211.695C385.386 211.792 384.536 213.066 383.4 214.54C382.263 216.015 381.269 217.131 381.18 217.034C381.091 216.937 381.94 215.663 383.077 214.188C384.214 212.714 385.207 211.598 385.296 211.695Z\",\n fill: \"white\"\n })), _path98 || (_path98 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M352.735 402.591H180.487C175.125 402.591 170.778 397.42 170.778 391.042V62.255C170.778 55.877 175.125 50.706 180.487 50.706H352.735C358.098 50.706 362.445 55.877 362.445 62.255V391.041C362.445 397.42 358.098 402.591 352.735 402.591Z\",\n fill: \"#0D0D0D\"\n })), _path99 || (_path99 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M265.131 395.637C269.192 395.637 272.484 391.425 272.484 386.229C272.484 381.033 269.192 376.821 265.131 376.821C261.069 376.821 257.777 381.033 257.777 386.229C257.777 391.425 261.069 395.637 265.131 395.637Z\",\n fill: \"#455A64\"\n })), _path100 || (_path100 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M294.454 64.727H238.77C238.206 64.727 237.749 64.183 237.749 63.512V62.056C237.749 61.385 238.206 60.841 238.77 60.841H294.454C295.018 60.841 295.475 61.385 295.475 62.056V63.512C295.475 64.183 295.018 64.727 294.454 64.727Z\",\n fill: \"#455A64\"\n })), _path101 || (_path101 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M356.821 371.971H176.402V74.092H356.821V371.971ZM177.242 370.971H355.981V75.092H177.242V370.971Z\",\n fill: \"#0D0D0D\"\n })), _path102 || (_path102 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M178.127 337.431L176.822 337.667V344.384L177.457 344.284L178.127 337.431Z\",\n fill: \"#455A64\"\n })), _path103 || (_path103 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M183.735 297.493C181.396 298.603 179.082 299.528 176.822 300.313V309.61H187.357V324.617H176.822V331.588L207.139 326.111C197.844 318.354 189.848 308.585 183.735 297.493Z\",\n fill: \"#455A64\"\n })), _path104 || (_path104 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M335.547 138.771L277.031 151.475L280.49 173.01L333.301 180.864L335.547 138.771ZM297.285 171.457H285.963V152.767H297.285V171.457ZM302.344 172.412V156.433H329.881L329.088 175.861L302.344 172.412Z\",\n fill: \"#883CAE\"\n })), _path105 || (_path105 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M179.919 343.897L217.875 337.932L211.94 331.322L180.594 336.985L179.919 343.897Z\",\n fill: \"#455A64\"\n })), _path106 || (_path106 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M338.801 77.817L270.824 112.824L276.601 148.791L335.698 135.96L338.801 77.817ZM295.3 136.697L285.12 139.841L282.807 111.786L295.3 105.372V136.697ZM302.883 139.887V107.011L331.973 92.076L329.88 131.548L302.883 139.887Z\",\n fill: \"#883CAE\"\n })), _path107 || (_path107 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M230.435 162.811C227.72 159.993 225.512 156.739 223.507 153.377L217.207 160.128C218.123 161.571 219.028 162.908 219.929 164C227.095 172.684 237.4 179.937 247.928 182.667C252.213 183.778 254.69 188.86 253.232 193.556L250.175 203.402C255.867 203.996 261.201 205.39 265.69 206.838L274.706 178.203L265.754 176.872C251.849 174.805 239.595 172.32 230.435 162.811Z\",\n fill: \"#883CAE\"\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.2\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M230.435 162.811C227.72 159.993 225.512 156.739 223.507 153.377L217.207 160.128C218.123 161.571 219.028 162.908 219.929 164C227.095 172.684 237.4 179.937 247.928 182.667C252.213 183.778 254.69 188.86 253.232 193.556L250.175 203.402C255.867 203.996 261.201 205.39 265.69 206.838L274.706 178.203L265.754 176.872C251.849 174.805 239.595 172.32 230.435 162.811Z\",\n fill: \"black\"\n }))), _path108 || (_path108 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M332.379 186.782L280.079 179.004L271.008 207.815L326.746 209.025L332.379 186.782ZM282.43 183.281H289.336V186.828H282.43V183.281ZM287.168 203.545V191.267H322.9V203.545H287.168Z\",\n fill: \"#455A64\"\n })), _path109 || (_path109 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M214.896 330.788L220.887 337.459L251.65 332.625C254.705 332.145 257.669 334.025 258.903 337.227L269.132 363.757C270.146 366.387 269.772 369.305 268.378 371.471H280.694L261.715 322.33L214.896 330.788Z\",\n fill: \"#455A64\"\n })), _path110 || (_path110 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M312.609 264.845L318.527 241.474H286.448L312.609 264.845Z\",\n fill: \"#455A64\"\n })), _path111 || (_path111 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M201.815 125.103C194.262 119.482 186.153 116.098 179.575 114.095C178.661 113.817 177.743 113.555 176.823 113.306V117.344H178.044V125.621H176.823V139.473C177.398 140.494 177.927 141.543 178.409 142.619L201.815 125.103ZM183.262 120.798H190.569V129.074H183.262V120.798Z\",\n fill: \"#0D0D0D\"\n })), _path112 || (_path112 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M249.806 155.806C246.685 157.708 244.554 161.465 244.292 165.462C250.754 168.357 258.285 169.708 266.443 170.921L274.972 172.19L271.736 152.042C266.374 152.119 261.007 152.705 255.738 153.784C253.833 154.173 251.648 154.683 249.806 155.806ZM262.897 155.439C264.095 155.188 265.358 154.943 266.507 155.398C268.381 156.141 269.353 158.502 269.692 160.718C270.033 162.934 269.958 165.259 270.68 167.354C270.096 167.581 269.511 167.808 268.926 168.035L267.893 167.891C264.177 167.406 260.461 166.921 256.744 166.436C255.585 166.285 254.404 166.127 253.337 165.59C252.271 165.053 251.316 164.069 251.035 162.785C250.657 161.06 251.606 159.245 252.91 158.255C254.214 157.266 255.805 156.921 257.348 156.598C259.199 156.213 261.048 155.826 262.897 155.439Z\",\n fill: \"#455A64\"\n })), _path113 || (_path113 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M264.249 229.286L259.048 245.804C257.658 250.218 255.331 253.984 252.414 256.906L291.076 320.613L304.328 322.831L311.217 271.246L264.249 229.286ZM258.441 259.796L267.414 237.687L276.318 245.753L267.194 269.484L258.441 259.796ZM270.144 272.748L279.436 248.577L293.735 261.531L283.668 287.716L270.144 272.748ZM286.618 290.98L296.853 264.356L305.837 272.494L300.658 306.517L286.618 290.98Z\",\n fill: \"#455A64\"\n })), _path114 || (_path114 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M191.412 112.263C197.278 109.87 202.33 107.321 205.393 102.438C207.108 99.706 208.179 96.189 208.576 91.984C208.939 88.155 208.716 84.189 208.5 80.354L210.904 80.181C211.126 84.13 211.356 88.214 210.971 92.275C210.529 96.95 209.313 100.902 207.357 104.019C204.349 108.812 199.86 111.517 194.624 113.82C198.8 115.964 203.062 118.644 207.135 121.976L264.776 108.705L259.297 74.592H176.822V107.15C178.202 107.505 179.579 107.88 180.951 108.298C184.162 109.275 187.722 110.577 191.412 112.263ZM216.145 77.96H255.129V102.698H216.145V77.96ZM191.533 81.28H201.818V97.651H191.533V81.28ZM176.839 81.28H187.123V97.651H176.839V81.28Z\",\n fill: \"#455A64\"\n })), _path115 || (_path115 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M356.401 104.548V97.362C354.327 96.304 352.159 95.559 349.927 95.237C348.555 95.039 347.571 93.64 347.68 92.078L348.29 83.356C348.377 82.111 349.145 81.063 350.209 80.736L356.401 78.837V74.592H344.283L342.891 100.655C347.602 100.662 352.269 102.025 356.401 104.548Z\",\n fill: \"#455A64\"\n })), _path116 || (_path116 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M332.26 74.592H264.684L269.846 106.734L332.26 74.592ZM271.867 82.934L294.365 84.626C296.026 84.751 296.443 87.303 294.932 88.093L274.367 98.844C273.41 99.344 272.294 98.683 272.112 97.508L270.178 85.065C269.998 83.902 270.827 82.856 271.867 82.934Z\",\n fill: \"#455A64\"\n })), _path117 || (_path117 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M340.602 328.904L356.401 331.549V320.471L346.927 319.342L353.684 304.807H356.401V300.861H355.518L356.401 298.961V289.07C355.369 290.702 354.37 292.326 353.418 293.988C347.276 304.72 343.273 316.578 340.602 328.904Z\",\n fill: \"#455A64\"\n })), _path118 || (_path118 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M351.246 278.546C352.468 276.663 353.663 274.817 354.804 272.972H316.347L309.571 323.71L331.089 327.312C333.987 313.563 338.41 300.146 345.333 288.052C347.218 284.759 349.266 281.6 351.246 278.546ZM342.129 283.392C335.42 293.95 330.489 306.06 327.591 318.64C327.284 319.973 326.139 320.827 324.935 320.632L317.269 319.39C315.948 319.176 315.036 317.783 315.237 316.289L319.945 281.378C320.124 280.051 321.132 279.07 322.317 279.071L340.193 279.077C342.154 279.078 343.275 281.589 342.129 283.392Z\",\n fill: \"#455A64\"\n })), _path119 || (_path119 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M342.571 106.657L338.568 181.648L356.401 184.3V177.999L343.778 176.407L344.533 160.06H356.402V155.568H344.716L345.475 139.118L356.402 139.468V111.601C352.402 108.343 347.506 106.584 342.571 106.657Z\",\n fill: \"#455A64\"\n })), _path120 || (_path120 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M317.584 266.969H356.401V229.119H350.443V215.749H356.401V209.783H338.639L342.388 194.558L356.401 196.157V190.354L337.692 187.571L317.584 266.969ZM342.59 219.842V235.122H355.18V261.679H327.076L336.712 219.842H342.59Z\",\n fill: \"#455A64\"\n })), _path121 || (_path121 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M266.127 223.319L283.394 238.745H319.218L326.058 211.739L270.155 210.525L266.127 223.319ZM298.853 215.75H301.862H319.93L314.951 234.486H298.853V215.75ZM278.415 213.84H288.613V217.66H278.415V213.84ZM278.415 220.014H288.613V223.834H278.415V220.014ZM288.613 226.189V230.009H278.415V226.189H288.613Z\",\n fill: \"#455A64\"\n })), _path122 || (_path122 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M267.665 322.762L286.478 371.471H325.857C326.525 359.07 327.634 346.045 329.943 333.187L267.665 322.762ZM302.166 350.447H285.361L281.146 333.825H302.166V350.447ZM309.252 355.085V335.461H317.521V355.085H309.252Z\",\n fill: \"#455A64\"\n })), _path123 || (_path123 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M237.148 263.537C235.983 263.537 234.808 263.435 233.63 263.225C233.307 263.168 232.985 263.103 232.664 263.033C227.172 261.825 222.021 258.65 218.032 254.183C215.855 264.38 211.117 274.148 204.214 282.052C198.575 288.507 192.242 293.098 185.961 296.376C192.317 307.81 200.733 317.783 210.526 325.499L259.519 316.648L238.973 263.452C238.368 263.508 237.759 263.537 237.148 263.537ZM216.797 311.482L198.415 301.404L214.938 273.867L227.988 279.779L216.797 311.482ZM243.089 291.314L252.555 310.534C253.084 311.608 252.499 312.95 251.425 313.128L236.074 315.667C234.947 315.853 234.033 314.647 234.367 313.415L240.252 291.656C240.652 290.176 242.424 289.962 243.089 291.314Z\",\n fill: \"#455A64\"\n })), _path124 || (_path124 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M191.112 168.617C187.971 161.525 189.621 152.765 195.311 148.138C199.73 144.545 204.741 144.737 208.717 148.174C211.242 150.357 213.568 154.225 215.806 157.874L222.164 151.061C221.525 149.935 220.898 148.805 220.279 147.683C218.641 144.715 216.948 141.645 215.09 138.89C212.494 135.039 209.533 131.733 206.391 128.872L180.433 148.297C180.479 148.468 180.53 148.636 180.574 148.807C181.718 153.272 181.992 157.44 182.235 161.116C182.357 162.99 182.472 164.748 182.689 166.216C183.6 172.406 186.965 178.276 191.237 184.199L196.926 178.102C194.683 175.2 192.661 172.116 191.112 168.617ZM206.139 131.9L209.094 135.898L203.009 141.666L200.055 137.668L206.139 131.9Z\",\n fill: \"#883CAE\"\n })), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.2\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M191.112 168.617C187.971 161.525 189.621 152.765 195.311 148.138C199.73 144.545 204.741 144.737 208.717 148.174C211.242 150.357 213.568 154.225 215.806 157.874L222.164 151.061C221.525 149.935 220.898 148.805 220.279 147.683C218.641 144.715 216.948 141.645 215.09 138.89C212.494 135.039 209.533 131.733 206.391 128.872L180.433 148.297C180.479 148.468 180.53 148.636 180.574 148.807C181.718 153.272 181.992 157.44 182.235 161.116C182.357 162.99 182.472 164.748 182.689 166.216C183.6 172.406 186.965 178.276 191.237 184.199L196.926 178.102C194.683 175.2 192.661 172.116 191.112 168.617ZM206.139 131.9L209.094 135.898L203.009 141.666L200.055 137.668L206.139 131.9Z\",\n fill: \"black\"\n }))), _path125 || (_path125 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M233.672 257.141C233.93 257.198 234.19 257.249 234.452 257.296C242.871 258.796 251.12 253.113 254.056 243.788L264.876 209.42C259.208 207.612 254.091 206.498 249.351 206.051L237.396 244.541C236.451 247.728 232.389 247.443 231.806 244.146C229.898 233.356 226.568 222.916 221.951 213.221C219.356 215.239 217.1 217.62 215.279 220.299C216.654 223.772 217.763 227.45 218.487 231.384C219.395 236.323 219.61 241.415 219.182 246.49C222.579 251.932 227.897 255.87 233.672 257.141Z\",\n fill: \"#883CAE\"\n })), _g3 || (_g3 = /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.2\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M233.672 257.141C233.93 257.198 234.19 257.249 234.452 257.296C242.871 258.796 251.12 253.113 254.056 243.788L264.876 209.42C259.208 207.612 254.091 206.498 249.351 206.051L237.396 244.541C236.451 247.728 232.389 247.443 231.806 244.146C229.898 233.356 226.568 222.916 221.951 213.221C219.356 215.239 217.1 217.62 215.279 220.299C216.654 223.772 217.763 227.45 218.487 231.384C219.395 236.323 219.61 241.415 219.182 246.49C222.579 251.932 227.897 255.87 233.672 257.141Z\",\n fill: \"#883CAE\"\n }))), _g4 || (_g4 = /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.2\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M233.672 257.141C233.93 257.198 234.19 257.249 234.452 257.296C242.871 258.796 251.12 253.113 254.056 243.788L264.876 209.42C259.208 207.612 254.091 206.498 249.351 206.051L237.396 244.541C236.451 247.728 232.389 247.443 231.806 244.146C229.898 233.356 226.568 222.916 221.951 213.221C219.356 215.239 217.1 217.62 215.279 220.299C216.654 223.772 217.763 227.45 218.487 231.384C219.395 236.323 219.61 241.415 219.182 246.49C222.579 251.932 227.897 255.87 233.672 257.141Z\",\n fill: \"#883CAE\"\n }))), _g5 || (_g5 = /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.2\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M233.672 257.141C233.93 257.198 234.19 257.249 234.452 257.296C242.871 258.796 251.12 253.113 254.056 243.788L264.876 209.42C259.208 207.612 254.091 206.498 249.351 206.051L237.396 244.541C236.451 247.728 232.389 247.443 231.806 244.146C229.898 233.356 226.568 222.916 221.951 213.221C219.356 215.239 217.1 217.62 215.279 220.299C216.654 223.772 217.763 227.45 218.487 231.384C219.395 236.323 219.61 241.415 219.182 246.49C222.579 251.932 227.897 255.87 233.672 257.141Z\",\n fill: \"black\"\n }))), _path126 || (_path126 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M220.782 210.824C216.921 203.178 212.243 196.029 206.787 189.596C204.062 186.383 201.197 183.337 198.545 180.126L192.783 186.299C194.362 188.4 196.03 190.513 197.722 192.654C203.496 199.963 209.8 207.949 214.123 217.561C216.002 215.027 218.249 212.765 220.782 210.824Z\",\n fill: \"#883CAE\"\n })), _g6 || (_g6 = /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.2\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M220.782 210.824C216.921 203.178 212.243 196.029 206.787 189.596C204.062 186.383 201.197 183.337 198.545 180.126L192.783 186.299C194.362 188.4 196.03 190.513 197.722 192.654C203.496 199.963 209.8 207.949 214.123 217.561C216.002 215.027 218.249 212.765 220.782 210.824Z\",\n fill: \"black\"\n }))), _path127 || (_path127 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M244.283 262.227L265.159 316.275L287.823 320.069L250.533 258.623C248.621 260.174 246.514 261.391 244.283 262.227ZM274.722 304.79L266.006 307.7L263.258 301.448L271.011 298.215L274.722 304.79ZM269.683 295.862L262.178 298.991L258.441 290.489L265.086 287.716L269.683 295.862Z\",\n fill: \"#455A64\"\n })), _path128 || (_path128 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M219.302 135.247C221.31 138.226 223.071 141.417 224.773 144.502C227.622 149.665 230.312 154.542 234.015 158.386C236.387 160.848 239.062 162.771 241.981 164.323C242.556 159.772 245.077 155.589 248.665 153.403C250.817 152.092 253.223 151.526 255.309 151.098C260.576 150.019 265.941 149.427 271.3 149.324L265.725 114.611L212.482 126.87C214.908 129.368 217.209 132.144 219.302 135.247ZM242.12 125.436L263.158 120.798V129.802H242.12V125.436ZM234.823 133.622H263.159V147.073L234.823 150.667V133.622ZM223.391 128.915L231.401 127.081V138.942H223.391V128.915Z\",\n fill: \"#455A64\"\n })), _path129 || (_path129 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M343.898 353.448V343.227H356.401V337.616L339.431 334.775C337.228 346.865 336.163 359.297 335.504 371.47H356.401V353.447H343.898V353.448Z\",\n fill: \"#455A64\"\n })), _path130 || (_path130 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M176.822 344.384V350.801L177.457 344.284L176.822 344.384Z\",\n fill: \"#455A64\"\n })), _path131 || (_path131 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M179.919 343.897L177.229 371.471H247.991L217.875 337.932L179.919 343.897Z\",\n fill: \"#455A64\"\n })), _path132 || (_path132 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M269.131 363.757L258.902 337.227C257.668 334.026 254.705 332.145 251.649 332.625L220.886 337.459L251.426 371.471H268.378C269.772 369.305 270.145 366.387 269.131 363.757Z\",\n fill: \"#0D0D0D\"\n })), _path133 || (_path133 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M351.246 278.546C349.266 281.6 347.217 284.759 345.333 288.052C338.411 300.147 333.988 313.563 331.09 327.312L340.602 328.904C343.274 316.579 347.276 304.72 353.419 293.989C354.37 292.327 355.368 290.704 356.402 289.071V272.972H354.805C353.663 274.817 352.468 276.663 351.246 278.546Z\",\n fill: \"#0D0D0D\"\n })), _path134 || (_path134 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M329.943 333.188C327.633 346.046 326.525 359.071 325.857 371.472H335.504C336.163 359.298 337.227 346.867 339.431 334.777L329.943 333.188Z\",\n fill: \"#0D0D0D\"\n })), _path135 || (_path135 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M182.455 295.103L184.532 293.722C184.996 294.616 185.472 295.5 185.96 296.377C192.242 293.099 198.574 288.508 204.213 282.053C211.116 274.149 215.854 264.38 218.031 254.184C216.451 252.413 215.048 250.446 213.888 248.308L218.402 245.164C218.648 245.616 218.91 246.057 219.182 246.491C219.61 241.416 219.395 236.324 218.487 231.385C217.763 227.451 216.654 223.773 215.279 220.3C214.761 221.062 214.267 221.839 213.822 222.647L211.777 221.204C212.475 219.935 213.264 218.722 214.124 217.562C209.801 207.95 203.497 199.964 197.723 192.655C196.03 190.513 194.363 188.401 192.784 186.3L190.905 188.314L189.25 186.332L191.238 184.201C186.966 178.278 183.601 172.408 182.689 166.218C182.473 164.75 182.358 162.993 182.235 161.118C181.993 157.441 181.719 153.274 180.575 148.809C180.531 148.638 180.48 148.469 180.434 148.299L178.724 149.579L176.822 146.32V159.7C176.868 160.337 176.911 160.967 176.951 161.578C177.083 163.578 177.206 165.467 177.462 167.206C179.056 178.033 186.205 187.081 193.775 196.661C201.663 206.645 210.604 217.962 213.298 232.61C216.157 248.154 211.232 265.483 200.445 277.833C193.233 286.089 184.727 291.051 176.821 294.024V300.315C179.082 299.53 181.396 298.605 183.734 297.495C183.3 296.702 182.871 295.906 182.455 295.103Z\",\n fill: \"#0D0D0D\"\n })), _path136 || (_path136 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M176.822 139.472V143.805L178.408 142.618C177.927 141.543 177.397 140.493 176.822 139.472Z\",\n fill: \"#883CAE\"\n })), _path137 || (_path137 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M213.299 232.608C210.605 217.959 201.664 206.643 193.775 196.659C186.205 187.079 179.056 178.031 177.462 167.204C177.207 165.465 177.082 163.576 176.952 161.576C176.912 160.965 176.869 160.335 176.823 159.698V185.525C186.301 201.881 202.896 214.846 206.46 234.223C208.962 247.829 204.11 262.387 195.479 272.266C190.253 278.25 183.797 282.63 176.822 285.602V294.022C184.727 291.049 193.234 286.087 200.446 277.831C211.232 265.481 216.157 248.152 213.299 232.608Z\",\n fill: \"#0D0D0D\"\n })), _path138 || (_path138 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M206.459 234.222C202.896 214.845 186.3 201.88 176.822 185.524V285.601C183.797 282.629 190.252 278.249 195.479 272.265C204.11 262.386 208.962 247.828 206.459 234.222Z\",\n fill: \"#455A64\"\n })), _path139 || (_path139 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M338.401 184.77L338.322 185.087L337.692 187.572L356.401 190.354V184.3L338.568 181.648L338.401 184.77Z\",\n fill: \"#0D0D0D\"\n })), _path140 || (_path140 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M333.147 183.749L333.301 180.865L280.49 173.01L280.988 176.114L280.079 179.003L332.378 186.782L333.147 183.749Z\",\n fill: \"#0D0D0D\"\n })), _path141 || (_path141 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M201.814 125.103L205.487 122.355L207.135 121.975C203.062 118.643 198.801 115.964 194.624 113.819C193.398 114.358 192.131 114.876 190.832 115.392L190.034 112.817C190.498 112.632 190.956 112.447 191.411 112.262C187.721 110.575 184.162 109.274 180.95 108.297C179.579 107.879 178.202 107.504 176.821 107.149V113.305C177.742 113.554 178.66 113.816 179.574 114.094C186.152 116.097 194.261 119.482 201.814 125.103Z\",\n fill: \"#883CAE\"\n })), _path142 || (_path142 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M215.09 138.89C216.948 141.646 218.641 144.715 220.279 147.683C220.897 148.805 221.525 149.935 222.164 151.061L224.271 148.803L225.926 150.785L223.508 153.376C225.512 156.738 227.721 159.993 230.436 162.81C239.595 172.318 251.85 174.803 265.753 176.871L274.705 178.202L275.522 175.607L274.973 172.187L266.444 170.918C258.286 169.705 250.755 168.354 244.293 165.459C244.283 165.596 244.271 165.734 244.267 165.872L241.86 165.77C241.876 165.283 241.922 164.8 241.982 164.32C239.064 162.768 236.389 160.845 234.016 158.383C230.313 154.539 227.623 149.662 224.774 144.499C223.072 141.413 221.311 138.223 219.303 135.244C217.21 132.141 214.91 129.365 212.482 126.867L207.551 128.002L206.391 128.869C209.533 131.733 212.493 135.039 215.09 138.89Z\",\n fill: \"#0D0D0D\"\n })), _path143 || (_path143 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M208.717 148.174C204.742 144.738 199.731 144.545 195.311 148.138C189.621 152.764 187.971 161.525 191.112 168.617C192.662 172.116 194.684 175.201 196.928 178.104L215.806 157.875C213.568 154.225 211.242 150.357 208.717 148.174Z\",\n fill: \"#883CAE\"\n })), _g7 || (_g7 = /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.1\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M208.717 148.174C204.742 144.738 199.731 144.545 195.311 148.138C189.621 152.764 187.971 161.525 191.112 168.617C192.662 172.116 194.684 175.201 196.928 178.104L215.806 157.875C213.568 154.225 211.242 150.357 208.717 148.174Z\",\n fill: \"#883CAE\"\n }))), _g8 || (_g8 = /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.2\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M208.717 148.174C204.742 144.738 199.731 144.545 195.311 148.138C189.621 152.764 187.971 161.525 191.112 168.617C192.662 172.116 194.684 175.201 196.928 178.104L215.806 157.875C213.568 154.225 211.242 150.357 208.717 148.174Z\",\n fill: \"#883CAE\"\n }))), _path144 || (_path144 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M238.868 206.202C232.518 207.063 226.681 209.543 221.951 213.221C226.567 222.916 229.897 233.356 231.806 244.146C232.39 247.442 236.451 247.728 237.396 244.541L249.351 206.051C245.655 205.702 242.187 205.753 238.868 206.202Z\",\n fill: \"#883CAE\"\n })), _path145 || (_path145 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M247.927 182.667C237.4 179.937 227.094 172.684 219.928 164C219.027 162.908 218.122 161.571 217.206 160.128L208.237 169.739L235.267 204.104C236.358 203.859 237.46 203.645 238.582 203.492C242.504 202.961 246.413 203.009 250.172 203.401L253.23 193.555C254.689 188.86 252.212 183.778 247.927 182.667Z\",\n fill: \"#883CAE\"\n })), _path146 || (_path146 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M198.546 180.125C201.198 183.337 204.063 186.383 206.788 189.595C212.244 196.028 216.921 203.177 220.783 210.823C224.25 208.166 228.253 206.113 232.592 204.801L206.488 171.614L198.546 180.125Z\",\n fill: \"#883CAE\"\n })), _path147 || (_path147 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M270.824 112.824L338.801 77.817L338.973 74.592H332.26L269.846 106.734L270.824 112.824Z\",\n fill: \"#0D0D0D\"\n })), _path148 || (_path148 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M180.434 148.297L206.391 128.872L207.55 128.005L212.481 126.87L265.724 114.611L264.776 108.704L207.135 121.975L205.486 122.355L201.814 125.103L178.408 142.618L176.822 143.805V146.318L178.724 149.577L180.434 148.297Z\",\n fill: \"#0D0D0D\"\n })), _path149 || (_path149 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M233.629 263.226C234.808 263.436 235.983 263.538 237.147 263.538C237.759 263.538 238.367 263.509 238.972 263.453L238.31 261.739L243.165 259.333L244.283 262.227C246.512 261.392 248.619 260.175 250.531 258.624L248.991 256.087L250.977 254.541L252.413 256.907C255.329 253.984 257.656 250.219 259.046 245.805L264.247 229.287L260.183 225.656L263.465 220.943L266.126 223.32L270.154 210.526L268.946 210.5L268.869 210.773C267.506 210.284 266.178 209.836 264.875 209.421L254.055 243.789C251.119 253.114 242.87 258.797 234.45 257.297C234.189 257.251 233.928 257.199 233.67 257.142C227.896 255.871 222.577 251.934 219.18 246.491C218.909 246.057 218.646 245.616 218.401 245.164L213.886 248.308C215.047 250.446 216.45 252.414 218.03 254.184C222.018 258.652 227.169 261.826 232.661 263.034C232.985 263.104 233.306 263.168 233.629 263.226Z\",\n fill: \"#0D0D0D\"\n })), _path150 || (_path150 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M265.724 114.611L271.299 149.324C272.203 149.307 273.107 149.299 274.01 149.31L273.984 152.039C273.235 152.03 272.485 152.031 271.736 152.042L274.972 172.19L275.521 175.61L274.704 178.205L265.689 206.84C266.72 207.173 267.705 207.506 268.641 207.834L268.641 207.764L271.008 207.815L280.079 179.004L280.989 176.115L280.49 173.011L277.031 151.476L275.025 151.912L274.572 149.232L276.601 148.792L270.824 112.825L269.845 106.735L264.683 74.593H259.297L264.775 108.706L265.724 114.611Z\",\n fill: \"#0D0D0D\"\n })), _path151 || (_path151 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M263.335 322.037L261.713 322.33L280.693 371.471H286.478L267.664 322.762L263.335 322.037Z\",\n fill: \"#0D0D0D\"\n })), _path152 || (_path152 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M243.166 259.332L238.311 261.738L238.972 263.453L259.518 316.648L263.303 315.964L265.159 316.275L244.283 262.227L243.166 259.332Z\",\n fill: \"#0D0D0D\"\n })), _path153 || (_path153 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M178.291 335.745L180.686 336.044L180.594 336.984L211.94 331.321L211.53 330.864L213.219 328.918L214.897 330.787L261.714 322.329L263.336 322.036L267.666 322.761L329.945 333.186L339.432 334.774L356.403 337.615V331.547L340.603 328.902L331.091 327.31L309.573 323.708L309.176 326.685L303.935 325.788L304.331 322.831L291.079 320.613L291.776 321.762L289.79 323.307L287.824 320.068L265.161 316.274L263.305 315.963L259.52 316.647L210.527 325.498C211.353 326.148 212.184 326.787 213.029 327.405L211.722 329.697C210.162 328.556 208.635 327.358 207.141 326.11L176.823 331.587V337.665L178.128 337.429L178.291 335.745Z\",\n fill: \"#0D0D0D\"\n })), _path154 || (_path154 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M313.148 272.972L311.217 271.247L304.328 322.832L303.933 325.789L309.174 326.687L309.571 323.71L316.347 272.972H313.148Z\",\n fill: \"#0D0D0D\"\n })), _path155 || (_path155 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M335.698 135.96L338.082 135.442L338.535 138.121L335.548 138.77L333.302 180.864L333.148 183.748L332.379 186.781L326.746 209.024L329.112 209.075L329.066 211.803L326.059 211.738L319.219 238.744H321.107V241.473H318.528L312.609 264.844L314.988 266.968H317.585L337.693 187.571L338.322 185.086L338.402 184.769L338.569 181.647L342.572 106.656C342.242 106.661 341.912 106.671 341.583 106.692L341.28 100.699C341.817 100.664 342.355 100.653 342.892 100.654L344.283 74.591H338.974L338.802 77.817L335.698 135.96Z\",\n fill: \"#0D0D0D\"\n })), _path156 || (_path156 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M206.487 171.615L206.218 171.273L208.017 169.458L208.238 169.74L217.207 160.129L223.507 153.377L225.925 150.786L224.27 148.804L222.163 151.062L215.806 157.874L196.927 178.103L191.238 184.2L189.25 186.331L190.905 188.313L192.784 186.299L198.546 180.125L206.487 171.615Z\",\n fill: \"#0D0D0D\"\n })), _path157 || (_path157 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M221.952 213.221C226.681 209.543 232.519 207.063 238.869 206.202C242.188 205.753 245.656 205.701 249.352 206.05C254.091 206.497 259.209 207.611 264.878 209.419C266.181 209.835 267.508 210.282 268.872 210.771L268.948 210.498L268.597 210.49L268.642 207.832C267.707 207.504 266.72 207.17 265.69 206.838C261.2 205.389 255.866 203.995 250.174 203.402C246.415 203.01 242.506 202.962 238.583 203.493C237.462 203.645 236.36 203.859 235.269 204.105L235.723 204.683L233.925 206.498L232.591 204.803C228.252 206.115 224.25 208.167 220.782 210.825C218.248 212.766 216.002 215.028 214.124 217.562C213.264 218.722 212.475 219.935 211.777 221.204L213.822 222.647C214.267 221.839 214.761 221.062 215.279 220.3C217.1 217.62 219.356 215.24 221.952 213.221Z\",\n fill: \"#0D0D0D\"\n })), _path158 || (_path158 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M208.017 169.458L206.218 171.273L206.487 171.615L232.591 204.802L233.925 206.497L235.723 204.682L235.268 204.105L208.238 169.74L208.017 169.458Z\",\n fill: \"#0D0D0D\"\n })), _path159 || (_path159 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M263.159 133.622H234.823V150.668L263.159 147.073V133.622Z\",\n fill: \"#0D0D0D\"\n })), _path160 || (_path160 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M263.159 120.798L242.12 125.436V129.802H263.159V120.798Z\",\n fill: \"#0D0D0D\"\n })), _path161 || (_path161 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M231.401 127.081L223.391 128.915V138.942H231.401V127.081Z\",\n fill: \"#0D0D0D\"\n })), _path162 || (_path162 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M251.037 162.786C251.318 164.069 252.273 165.054 253.34 165.591C254.407 166.128 255.586 166.285 256.747 166.437C260.463 166.922 264.179 167.407 267.896 167.892L268.928 168.036C269.513 167.809 270.098 167.582 270.683 167.355C269.961 165.26 270.035 162.935 269.695 160.719C269.354 158.503 268.383 156.142 266.509 155.399C265.36 154.943 264.097 155.189 262.899 155.44C261.05 155.827 259.201 156.214 257.352 156.601C255.809 156.924 254.218 157.268 252.915 158.258C251.609 159.246 250.66 161.061 251.037 162.786Z\",\n fill: \"#0D0D0D\"\n })), _path163 || (_path163 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M248.664 153.403C245.076 155.589 242.555 159.772 241.981 164.323C241.92 164.803 241.874 165.286 241.858 165.773L244.265 165.875C244.269 165.737 244.283 165.6 244.291 165.462C244.553 161.465 246.683 157.708 249.805 155.806C251.647 154.684 253.832 154.174 255.737 153.783C261.006 152.704 266.373 152.118 271.735 152.041C272.485 152.03 273.234 152.029 273.983 152.038L274.009 149.309C273.106 149.298 272.202 149.306 271.298 149.323C265.939 149.426 260.574 150.018 255.307 151.097C253.222 151.526 250.816 152.092 248.664 153.403Z\",\n fill: \"#0D0D0D\"\n })), _path164 || (_path164 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M255.129 77.96H216.145V102.698H255.129V77.96Z\",\n fill: \"#0D0D0D\"\n })), _path165 || (_path165 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M201.818 81.28H191.533V97.651H201.818V81.28Z\",\n fill: \"#0D0D0D\"\n })), _path166 || (_path166 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M187.123 81.28H176.839V97.651H187.123V81.28Z\",\n fill: \"#0D0D0D\"\n })), _path167 || (_path167 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M207.358 104.018C209.313 100.901 210.53 96.949 210.972 92.274C211.356 88.213 211.127 84.129 210.906 80.18L208.501 80.353C208.716 84.188 208.94 88.153 208.578 91.983C208.18 96.188 207.109 99.705 205.394 102.437C202.331 107.321 197.279 109.87 191.413 112.262C190.958 112.447 190.5 112.632 190.036 112.817L190.834 115.392C192.133 114.875 193.399 114.358 194.625 113.819C199.86 111.517 204.349 108.812 207.358 104.018Z\",\n fill: \"#0D0D0D\"\n })), _path168 || (_path168 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M209.093 135.897L206.139 131.9L200.055 137.667L203.008 141.665L209.093 135.897Z\",\n fill: \"#0D0D0D\"\n })), _path169 || (_path169 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M338.535 138.122L338.081 135.443L335.698 135.96L276.601 148.791L274.572 149.231L275.026 151.911L277.032 151.475L335.547 138.771L338.535 138.122Z\",\n fill: \"#0D0D0D\"\n })), _path170 || (_path170 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M341.28 100.699L341.582 106.692C341.912 106.671 342.241 106.661 342.571 106.656C347.506 106.583 352.402 108.342 356.401 111.602V104.548C352.269 102.025 347.602 100.662 342.891 100.654C342.354 100.653 341.817 100.665 341.28 100.699Z\",\n fill: \"#0D0D0D\"\n })), _path171 || (_path171 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M314.987 266.969L312.609 264.845L286.448 241.474H280.642V238.745H283.394L266.127 223.319L263.466 220.942L260.184 225.655L264.248 229.286L311.217 271.247L313.148 272.972H316.346H354.804H356.401V266.969H317.584H314.987Z\",\n fill: \"#0D0D0D\"\n })), _path172 || (_path172 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M340.192 279.077L322.317 279.071C321.131 279.071 320.123 280.051 319.944 281.378L315.236 316.289C315.034 317.783 315.947 319.176 317.268 319.39L324.934 320.632C326.138 320.827 327.283 319.973 327.59 318.64C330.488 306.061 335.42 293.95 342.129 283.392C343.275 281.589 342.154 279.078 340.192 279.077Z\",\n fill: \"#0D0D0D\"\n })), _path173 || (_path173 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M348.29 83.356L347.681 92.078C347.571 93.64 348.556 95.04 349.928 95.237C352.16 95.558 354.327 96.304 356.402 97.362V78.837L350.21 80.736C349.145 81.062 348.377 82.111 348.29 83.356Z\",\n fill: \"#0D0D0D\"\n })), _path174 || (_path174 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M185.96 296.377C185.472 295.5 184.996 294.616 184.532 293.722L182.455 295.103C182.871 295.907 183.3 296.703 183.735 297.494C189.848 308.586 197.845 318.355 207.139 326.112C208.634 327.36 210.161 328.558 211.72 329.699L213.027 327.407C212.183 326.789 211.351 326.15 210.525 325.5C200.732 317.784 192.316 307.811 185.96 296.377Z\",\n fill: \"#0D0D0D\"\n })), _path175 || (_path175 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M268.947 210.499L270.155 210.525L326.059 211.739L329.065 211.804L329.112 209.076L326.746 209.025L271.008 207.814L268.641 207.763L268.641 207.833L268.595 210.491L268.947 210.499Z\",\n fill: \"#0D0D0D\"\n })), _path176 || (_path176 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M302.344 156.433V172.412L329.089 175.862L329.881 156.433H302.344Z\",\n fill: \"#883CAE\"\n })), _path177 || (_path177 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M302.344 156.433V172.412L329.089 175.862L329.881 156.433H302.344Z\",\n fill: \"#883CAE\"\n })), _g9 || (_g9 = /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.1\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M302.344 156.433V172.412L329.089 175.862L329.881 156.433H302.344Z\",\n fill: \"black\"\n }))), _path178 || (_path178 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M297.285 152.767H285.963V171.457H297.285V152.767Z\",\n fill: \"#883CAE\"\n })), _g10 || (_g10 = /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.1\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M297.285 152.767H285.963V171.457H297.285V152.767Z\",\n fill: \"black\"\n }))), _path179 || (_path179 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M285.12 139.842L295.3 136.697V105.373L282.808 111.787L285.12 139.842Z\",\n fill: \"#883CAE\"\n })), _g11 || (_g11 = /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.1\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M285.12 139.842L295.3 136.697V105.373L282.808 111.787L285.12 139.842Z\",\n fill: \"black\"\n }))), _path180 || (_path180 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M302.883 107.011V139.887L329.881 131.548L331.974 92.076L302.883 107.011Z\",\n fill: \"#883CAE\"\n })), _path181 || (_path181 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M302.883 107.011V139.887L329.881 131.548L331.974 92.076L302.883 107.011Z\",\n fill: \"#883CAE\"\n })), _g12 || (_g12 = /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.1\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M302.883 107.011V139.887L329.881 131.548L331.974 92.076L302.883 107.011Z\",\n fill: \"black\"\n }))), _path182 || (_path182 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M190.569 120.798H183.262V129.074H190.569V120.798Z\",\n fill: \"#0D0D0D\"\n })), _path183 || (_path183 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M178.043 117.344H176.822V125.62H178.043V117.344Z\",\n fill: \"#0D0D0D\"\n })), _path184 || (_path184 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M327.076 261.68H355.18V235.122H342.59V219.842H336.712L327.076 261.68Z\",\n fill: \"#0D0D0D\"\n })), _path185 || (_path185 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M338.639 209.783H356.401V196.157L342.388 194.558L338.639 209.783Z\",\n fill: \"#0D0D0D\"\n })), _path186 || (_path186 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M356.401 215.75H350.443V229.12H356.401V215.75Z\",\n fill: \"#0D0D0D\"\n })), _path187 || (_path187 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M270.178 85.065L272.112 97.508C272.294 98.683 273.41 99.344 274.367 98.844L294.932 88.093C296.443 87.303 296.026 84.751 294.365 84.626L271.866 82.934C270.827 82.856 269.997 83.902 270.178 85.065Z\",\n fill: \"#0D0D0D\"\n })), _path188 || (_path188 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M267.415 237.687L258.441 259.796L267.195 269.485L276.318 245.753L267.415 237.687Z\",\n fill: \"#0D0D0D\"\n })), _path189 || (_path189 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M279.436 248.578L270.144 272.748L283.669 287.716L293.736 261.532L279.436 248.578Z\",\n fill: \"#0D0D0D\"\n })), _path190 || (_path190 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M296.853 264.356L286.618 290.98L300.657 306.518L305.837 272.495L296.853 264.356Z\",\n fill: \"#0D0D0D\"\n })), _path191 || (_path191 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M285.361 350.447H302.166V333.825H281.146L285.361 350.447Z\",\n fill: \"#0D0D0D\"\n })), _path192 || (_path192 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M317.521 335.462H309.252V355.086H317.521V335.462Z\",\n fill: \"#0D0D0D\"\n })), _path193 || (_path193 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M322.9 191.267H287.168V203.545H322.9V191.267Z\",\n fill: \"#0D0D0D\"\n })), _path194 || (_path194 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M289.336 183.281H282.43V186.828H289.336V183.281Z\",\n fill: \"#0D0D0D\"\n })), _path195 || (_path195 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M319.929 215.75H301.862H298.853V234.486H314.951L319.929 215.75Z\",\n fill: \"#0D0D0D\"\n })), _path196 || (_path196 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M288.613 213.84H278.415V217.66H288.613V213.84Z\",\n fill: \"#0D0D0D\"\n })), _path197 || (_path197 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M288.613 220.014H278.415V223.834H288.613V220.014Z\",\n fill: \"#0D0D0D\"\n })), _path198 || (_path198 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M288.613 226.189H278.415V230.009H288.613V226.189Z\",\n fill: \"#0D0D0D\"\n })), _path199 || (_path199 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M280.642 238.745V241.474H286.448H318.527H321.106V238.745H319.219H283.394H280.642Z\",\n fill: \"#0D0D0D\"\n })), _path200 || (_path200 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M234.367 313.414C234.033 314.647 234.947 315.853 236.074 315.666L251.425 313.127C252.499 312.949 253.084 311.608 252.555 310.533L243.089 291.313C242.423 289.962 240.652 290.175 240.252 291.654L234.367 313.414Z\",\n fill: \"#0D0D0D\"\n })), _path201 || (_path201 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M344.715 155.569H356.401V139.469L345.474 139.119L344.715 155.569Z\",\n fill: \"#0D0D0D\"\n })), _path202 || (_path202 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M343.778 176.407L356.401 177.999V160.06H344.532L343.778 176.407Z\",\n fill: \"#0D0D0D\"\n })), _path203 || (_path203 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M356.401 300.862V298.962L355.518 300.862H356.401Z\",\n fill: \"#0D0D0D\"\n })), _path204 || (_path204 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M346.927 319.342L356.401 320.471V304.807H353.684L346.927 319.342Z\",\n fill: \"#0D0D0D\"\n })), _path205 || (_path205 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M214.896 330.788L213.218 328.919L211.529 330.865L211.94 331.322L217.875 337.932L247.99 371.471H251.426L220.887 337.459L214.896 330.788Z\",\n fill: \"#0D0D0D\"\n })), _path206 || (_path206 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M180.594 336.985L180.686 336.045L178.291 335.745L178.127 337.431L177.457 344.284L176.822 350.801V371.471H177.229L179.919 343.897L180.594 336.985Z\",\n fill: \"#0D0D0D\"\n })), _path207 || (_path207 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M250.978 254.54L248.992 256.086L250.533 258.623L287.823 320.069L289.788 323.308L291.774 321.763L291.076 320.613L252.414 256.906L250.978 254.54Z\",\n fill: \"#0D0D0D\"\n })), _path208 || (_path208 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M356.401 343.227H343.898V353.448H356.401V343.227Z\",\n fill: \"#0D0D0D\"\n })), _path209 || (_path209 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M187.357 309.61H176.822V324.617H187.357V309.61Z\",\n fill: \"#0D0D0D\"\n })), _path210 || (_path210 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M198.416 301.404L216.797 311.482L227.988 279.779L214.938 273.867L198.416 301.404Z\",\n fill: \"#0D0D0D\"\n })), _path211 || (_path211 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M266.007 307.7L274.722 304.79L271.012 298.216L263.258 301.448L266.007 307.7Z\",\n fill: \"#0D0D0D\"\n })), _path212 || (_path212 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M262.178 298.991L269.683 295.862L265.086 287.716L258.441 290.49L262.178 298.991Z\",\n fill: \"#0D0D0D\"\n })), _path213 || (_path213 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M318.222 115.629C318.222 111.325 313.699 108.598 309.088 110.755C308.047 111.242 307.185 112.067 306.662 113.08C305.502 115.327 306.014 117.894 307.066 120.024L310.655 129.119C311.172 130.43 313.03 130.422 313.536 129.107L317.055 119.964C318.273 117.181 318.222 115.629 318.222 115.629ZM313.89 119.375C310.79 121.177 307.649 117.846 309.348 114.558C309.574 114.121 309.92 113.754 310.332 113.514C313.432 111.711 316.574 115.043 314.874 118.331C314.648 118.769 314.302 119.136 313.89 119.375Z\",\n fill: \"white\"\n })), _path214 || (_path214 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M232.442 190.08C232.442 185.776 227.919 183.049 223.308 185.206C222.267 185.693 221.405 186.518 220.882 187.532C219.722 189.779 220.234 192.346 221.286 194.476L224.875 203.571C225.392 204.882 227.25 204.874 227.756 203.559L231.275 194.416C232.493 191.632 232.442 190.08 232.442 190.08ZM228.11 193.826C225.01 195.628 221.869 192.297 223.568 189.009C223.794 188.572 224.14 188.205 224.552 187.965C227.652 186.162 230.794 189.494 229.094 192.782C228.868 193.219 228.522 193.586 228.11 193.826Z\",\n fill: \"white\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgPtms);\nexport default __webpack_public_path__ + \"static/media/PTMS.4c26187d35972022d20073001028e5b1.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _g2, _g3, _g4, _g5, _g6, _g7, _g8, _g9, _g10, _g11, _g12, _g13, _g14, _g15;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgBuilding(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Capa_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 512.001 512.001\",\n style: {\n enableBackground: \"new 0 0 512.001 512.001\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#55A2F0\"\n },\n d: \"M117.111,247.128H56.085c-1.915,0-3.467,1.552-3.467,3.467v40.607c0,1.915,1.552,3.467,3.467,3.467 h61.026c1.915,0,3.467-1.552,3.467-3.467v-40.607C120.578,248.68,119.026,247.128,117.111,247.128z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#4B9EE2\"\n },\n d: \"M117.111,247.128H86.617v47.541h30.494c1.915,0,3.467-1.552,3.467-3.467v-40.607 C120.578,248.68,119.026,247.128,117.111,247.128z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#2D5872\"\n },\n d: \"M403.106,58.338c-4.2,0-7.604,3.404-7.604,7.604v76.595c0,4.2,3.404,7.604,7.604,7.604 s7.604-3.404,7.604-7.604V65.942C410.71,61.743,407.306,58.338,403.106,58.338z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#FF4C4C\"\n },\n d: \"M415.902,171.47H390.31c-4.415,0-7.994-3.579-7.994-7.994V135.51c0-4.415,3.579-7.994,7.994-7.994 h25.592c4.415,0,7.994,3.579,7.994,7.994v27.966C423.896,167.891,420.317,171.47,415.902,171.47z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#F33A3A\"\n },\n d: \"M452.017,252.546h-97.822c-4.206,0-7.616-3.41-7.616-7.615v-73.834c0-4.206,3.41-7.615,7.616-7.615 h97.822c4.206,0,7.615,3.41,7.615,7.615v73.834C459.632,249.136,456.223,252.546,452.017,252.546z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#FF4C4C\"\n },\n d: \"M483.348,512H311.693V199.929h167.44c2.328,0,4.215,1.887,4.215,4.215V512z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#F33A3A\"\n },\n d: \"M479.133,199.929h-46.625c2.328,0,4.215,1.887,4.215,4.215V512h46.625V204.144 C483.348,201.816,481.461,199.929,479.133,199.929z\"\n }), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#E1EFFB\"\n },\n d: \"M451.246,274.316h-98.362c-3.482,0-6.304-2.823-6.304-6.304v-14.579 c0-3.482,2.823-6.304,6.304-6.304h98.362c3.482,0,6.304,2.823,6.304,6.304v14.579C457.55,271.493,454.728,274.316,451.246,274.316z \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#E1EFFB\"\n },\n d: \"M451.246,336.648h-98.362c-3.482,0-6.304-2.823-6.304-6.304v-14.579 c0-3.482,2.823-6.304,6.304-6.304h98.362c3.482,0,6.304,2.823,6.304,6.304v14.579C457.55,333.825,454.728,336.648,451.246,336.648z \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#E1EFFB\"\n },\n d: \"M451.246,398.98h-98.362c-3.482,0-6.304-2.823-6.304-6.304v-14.579c0-3.482,2.823-6.304,6.304-6.304 h98.362c3.482,0,6.304,2.823,6.304,6.304v14.579C457.55,396.157,454.728,398.98,451.246,398.98z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#E1EFFB\"\n },\n d: \"M451.246,461.312h-98.362c-3.482,0-6.304-2.823-6.304-6.304v-14.579 c0-3.482,2.823-6.304,6.304-6.304h98.362c3.482,0,6.304,2.823,6.304,6.304v14.579C457.55,458.49,454.728,461.312,451.246,461.312z\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#FFB125\"\n },\n d: \"M356.319,512h-198.22c-3.17,0-5.739-2.569-5.739-5.739V14.92c0-3.17,2.569-5.739,5.739-5.739h198.22 c3.17,0,5.739,2.569,5.739,5.739v491.341C362.058,509.431,359.489,512,356.319,512z\"\n }), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#FF901D\"\n },\n d: \"M356.32,9.181h-46.625c3.17,0,5.739,2.569,5.739,5.739v491.341c0,3.17-2.569,5.739-5.739,5.739 h46.625c3.17,0,5.739-2.569,5.739-5.739V14.92C362.059,11.75,359.489,9.181,356.32,9.181z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#FF901D\"\n },\n d: \"M371.068,0H140.932c-1.573,0-2.849,1.275-2.849,2.849v19.316c0,1.573,1.275,2.849,2.849,2.849 h230.136c1.573,0,2.849-1.275,2.849-2.849V2.849C373.917,1.275,372.641,0,371.068,0z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#E1EFFB\"\n },\n d: \"M209.865,93.9h-27.887c-1.964,0-3.557-1.592-3.557-3.557v-34.05c0-1.964,1.592-3.557,3.557-3.557 h27.887c1.964,0,3.557,1.592,3.557,3.557v34.051C213.422,92.308,211.829,93.9,209.865,93.9z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#E1EFFB\"\n },\n d: \"M271.153,93.9h-27.887c-1.964,0-3.557-1.592-3.557-3.557v-34.05c0-1.964,1.592-3.557,3.557-3.557 h27.887c1.964,0,3.557,1.592,3.557,3.557v34.051C274.709,92.308,273.117,93.9,271.153,93.9z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#E1EFFB\"\n },\n d: \"M332.44,93.9h-27.887c-1.964,0-3.557-1.592-3.557-3.557v-34.05c0-1.964,1.592-3.557,3.557-3.557 h27.887c1.964,0,3.557,1.592,3.557,3.557v34.051C335.997,92.308,334.405,93.9,332.44,93.9z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#E1EFFB\"\n },\n d: \"M209.865,185.753h-27.887c-1.964,0-3.557-1.592-3.557-3.557v-34.051 c0-1.964,1.592-3.557,3.557-3.557h27.887c1.964,0,3.557,1.592,3.557,3.557v34.051C213.422,184.161,211.829,185.753,209.865,185.753 z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#E1EFFB\"\n },\n d: \"M271.153,185.753h-27.887c-1.964,0-3.557-1.592-3.557-3.557v-34.051 c0-1.964,1.592-3.557,3.557-3.557h27.887c1.964,0,3.557,1.592,3.557,3.557v34.051C274.709,184.161,273.117,185.753,271.153,185.753 z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#E1EFFB\"\n },\n d: \"M332.44,185.753h-27.887c-1.964,0-3.557-1.592-3.557-3.557v-34.051c0-1.964,1.592-3.557,3.557-3.557 h27.887c1.964,0,3.557,1.592,3.557,3.557v34.051C335.997,184.161,334.405,185.753,332.44,185.753z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#E1EFFB\"\n },\n d: \"M209.865,277.606h-27.887c-1.964,0-3.557-1.592-3.557-3.557v-34.051 c0-1.964,1.592-3.557,3.557-3.557h27.887c1.964,0,3.557,1.592,3.557,3.557v34.051C213.422,276.014,211.829,277.606,209.865,277.606 z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#E1EFFB\"\n },\n d: \"M271.153,277.606h-27.887c-1.964,0-3.557-1.592-3.557-3.557v-34.051 c0-1.964,1.592-3.557,3.557-3.557h27.887c1.964,0,3.557,1.592,3.557,3.557v34.051C274.709,276.014,273.117,277.606,271.153,277.606 z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#E1EFFB\"\n },\n d: \"M332.44,277.606h-27.887c-1.964,0-3.557-1.592-3.557-3.557v-34.051c0-1.964,1.592-3.557,3.557-3.557 h27.887c1.964,0,3.557,1.592,3.557,3.557v34.051C335.997,276.014,334.405,277.606,332.44,277.606z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#E1EFFB\"\n },\n d: \"M271.153,369.459h-27.887c-1.964,0-3.557-1.592-3.557-3.557v-34.051 c0-1.964,1.592-3.557,3.557-3.557h27.887c1.964,0,3.557,1.592,3.557,3.557v34.051C274.709,367.867,273.117,369.459,271.153,369.459 z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#E1EFFB\"\n },\n d: \"M332.44,369.459h-27.887c-1.964,0-3.557-1.592-3.557-3.557v-34.051c0-1.964,1.592-3.557,3.557-3.557 h27.887c1.964,0,3.557,1.592,3.557,3.557v34.051C335.997,367.867,334.405,369.459,332.44,369.459z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#E1EFFB\"\n },\n d: \"M271.153,461.312h-27.887c-1.964,0-3.557-1.592-3.557-3.557v-34.051 c0-1.964,1.592-3.557,3.557-3.557h27.887c1.964,0,3.557,1.592,3.557,3.557v34.051C274.709,459.72,273.117,461.312,271.153,461.312z \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#E1EFFB\"\n },\n d: \"M332.44,461.312h-27.887c-1.964,0-3.557-1.592-3.557-3.557v-34.051c0-1.964,1.592-3.557,3.557-3.557 h27.887c1.964,0,3.557,1.592,3.557,3.557v34.051C335.997,459.72,334.405,461.312,332.44,461.312z\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#61AFF6\"\n },\n d: \"M243.928,512H33.035c-2.421,0-4.383-1.962-4.383-4.383V284.184c0-2.421,1.962-4.383,4.383-4.383 h210.893c2.421,0,4.383,1.962,4.383,4.383v223.434C248.311,510.038,246.349,512,243.928,512z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#55A2F0\"\n },\n d: \"M243.928,279.801h-47.464c2.421,0,4.383,1.962,4.383,4.383v223.434c0,2.421-1.962,4.383-4.383,4.383 h47.464c2.42,0,4.383-1.962,4.383-4.383V284.184C248.311,281.763,246.349,279.801,243.928,279.801z\"\n }), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#E1EFFB\"\n },\n d: \"M86.617,343.174H59.016c-2.43,0-4.4-1.97-4.4-4.4v-17.579c0-2.43,1.97-4.4,4.4-4.4h27.601 c2.43,0,4.4,1.97,4.4,4.4v17.579C91.017,341.204,89.047,343.174,86.617,343.174z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#E1EFFB\"\n },\n d: \"M150.869,343.174h-27.601c-2.43,0-4.4-1.97-4.4-4.4v-17.579c0-2.43,1.97-4.4,4.4-4.4h27.601 c2.43,0,4.4,1.97,4.4,4.4v17.579C155.269,341.204,153.299,343.174,150.869,343.174z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#E1EFFB\"\n },\n d: \"M215.121,343.174H187.52c-2.43,0-4.4-1.97-4.4-4.4v-17.579c0-2.43,1.97-4.4,4.4-4.4h27.601 c2.43,0,4.4,1.97,4.4,4.4v17.579C219.521,341.204,217.551,343.174,215.121,343.174z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#E1EFFB\"\n },\n d: \"M86.617,404.873H59.016c-2.43,0-4.4-1.97-4.4-4.4v-17.579c0-2.43,1.97-4.4,4.4-4.4h27.601 c2.43,0,4.4,1.97,4.4,4.4v17.579C91.017,402.903,89.047,404.873,86.617,404.873z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#E1EFFB\"\n },\n d: \"M150.869,404.873h-27.601c-2.43,0-4.4-1.97-4.4-4.4v-17.579c0-2.43,1.97-4.4,4.4-4.4h27.601 c2.43,0,4.4,1.97,4.4,4.4v17.579C155.269,402.903,153.299,404.873,150.869,404.873z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#E1EFFB\"\n },\n d: \"M215.121,404.873H187.52c-2.43,0-4.4-1.97-4.4-4.4v-17.579c0-2.43,1.97-4.4,4.4-4.4h27.601 c2.43,0,4.4,1.97,4.4,4.4v17.579C219.521,402.903,217.551,404.873,215.121,404.873z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#E1EFFB\"\n },\n d: \"M86.617,466.572H59.016c-2.43,0-4.4-1.97-4.4-4.4v-17.579c0-2.43,1.97-4.4,4.4-4.4h27.601 c2.43,0,4.4,1.97,4.4,4.4v17.579C91.017,464.602,89.047,466.572,86.617,466.572z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#E1EFFB\"\n },\n d: \"M150.869,466.572h-27.601c-2.43,0-4.4-1.97-4.4-4.4v-17.579c0-2.43,1.97-4.4,4.4-4.4h27.601 c2.43,0,4.4,1.97,4.4,4.4v17.579C155.269,464.602,153.299,466.572,150.869,466.572z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#E1EFFB\"\n },\n d: \"M215.121,466.572H187.52c-2.43,0-4.4-1.97-4.4-4.4v-17.579c0-2.43,1.97-4.4,4.4-4.4h27.601 c2.43,0,4.4,1.97,4.4,4.4v17.579C219.521,464.602,217.551,466.572,215.121,466.572z\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#2D5872\"\n },\n d: \"M490.351,488.51H21.649c-6.487,0-11.745,5.258-11.745,11.745l0,0c0,6.487,5.258,11.745,11.745,11.745 h468.703c6.487,0,11.745-5.258,11.745-11.745l0,0C502.096,493.769,496.838,488.51,490.351,488.51z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#1D4859\"\n },\n d: \"M502.022,498.966c-0.009-0.078-0.025-0.154-0.035-0.232c-0.046-0.356-0.105-0.708-0.183-1.054 c-0.011-0.049-0.026-0.097-0.038-0.146c-0.09-0.379-0.198-0.75-0.324-1.115c-0.005-0.014-0.01-0.028-0.015-0.042 c-0.138-0.393-0.296-0.776-0.473-1.149v-0.001l0,0c-1.885-3.968-5.918-6.718-10.603-6.718h-34.88v2.991 c0,5.768-4.676,10.445-10.445,10.445H21.649c-4.685,0-8.718-2.75-10.603-6.718c-0.725,1.526-1.142,3.226-1.142,5.027l0,0 c0,6.486,5.258,11.745,11.745,11.745h433.822h34.88c6.487,0,11.745-5.258,11.745-11.745l0,0 C502.096,499.819,502.068,499.389,502.022,498.966z\"\n }), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null)), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", null)), _g3 || (_g3 = /*#__PURE__*/React.createElement(\"g\", null)), _g4 || (_g4 = /*#__PURE__*/React.createElement(\"g\", null)), _g5 || (_g5 = /*#__PURE__*/React.createElement(\"g\", null)), _g6 || (_g6 = /*#__PURE__*/React.createElement(\"g\", null)), _g7 || (_g7 = /*#__PURE__*/React.createElement(\"g\", null)), _g8 || (_g8 = /*#__PURE__*/React.createElement(\"g\", null)), _g9 || (_g9 = /*#__PURE__*/React.createElement(\"g\", null)), _g10 || (_g10 = /*#__PURE__*/React.createElement(\"g\", null)), _g11 || (_g11 = /*#__PURE__*/React.createElement(\"g\", null)), _g12 || (_g12 = /*#__PURE__*/React.createElement(\"g\", null)), _g13 || (_g13 = /*#__PURE__*/React.createElement(\"g\", null)), _g14 || (_g14 = /*#__PURE__*/React.createElement(\"g\", null)), _g15 || (_g15 = /*#__PURE__*/React.createElement(\"g\", null)));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgBuilding);\nexport default __webpack_public_path__ + \"static/media/building.ad79353716be319fbf48fac3a56e9e91.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _polygon, _polygon2, _rect, _path10, _path11, _path12, _polygon3, _polygon4, _path13, _path14, _path15, _polygon5, _polygon6, _path16, _polygon7, _path17, _path18, _g, _path19, _path20, _g2, _path21, _path22, _path23;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgSealOfUttarPradesh(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Ebene_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n width: \"478.043px\",\n height: \"478.047px\",\n viewBox: \"0 0 478.043 478.047\",\n enableBackground: \"new 0 0 478.043 478.047\",\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"none\",\n stroke: \"#000000\",\n strokeWidth: 4,\n strokeMiterlimit: 2.613,\n d: \"M239.023,18.734 c121.656,0,220.281,98.629,220.281,220.293c0,121.657-98.625,220.281-220.281,220.281c-121.66,0-220.285-98.624-220.285-220.281 C18.738,117.363,117.363,18.734,239.023,18.734z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M352.068,226.957c-3.173,0-5.746,2.573-5.746,5.747s2.573,5.747,5.746,5.747c3.175,0,5.748-2.573,5.748-5.747 S355.242,226.957,352.068,226.957z M351.047,233.16c-0.898,0-1.617-0.719-1.617-1.613s0.719-1.613,1.617-1.613 c0.891,0,1.608,0.719,1.608,1.613S351.938,233.16,351.047,233.16z\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M125.89,227.104c-3.173,0-5.746,2.573-5.746,5.747s2.573,5.747,5.746,5.747c3.175,0,5.748-2.573,5.748-5.747 S129.065,227.104,125.89,227.104z M126.996,233.16c-0.888,0-1.613-0.719-1.613-1.613s0.726-1.613,1.613-1.613 c0.895,0,1.616,0.719,1.616,1.613S127.89,233.16,126.996,233.16z\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M239.027,39.102L239.027,39.102h-0.012c-55.195,0-105.172,22.387-141.352,58.566c-36.177,36.184-58.57,86.16-58.57,141.355 h0.012v0.012h-0.012c0,55.191,22.395,105.168,58.57,141.348c36.18,36.188,86.155,58.562,141.352,58.562v-0.004h0.012v0.004 c55.195,0,105.168-22.375,141.353-58.562c36.188-36.18,58.565-86.156,58.569-141.355h-0.004v-0.004h0.004 c-0.004-55.195-22.383-105.168-58.569-141.355C344.202,61.488,294.223,39.102,239.027,39.102 M239.023,36.453h0.004v0.008 c55.923,0,106.57,22.676,143.228,59.332c36.655,36.66,59.332,87.293,59.332,143.23h0.012v0.004h-0.012 c0,55.926-22.677,106.575-59.332,143.23c-36.656,36.656-87.293,59.332-143.228,59.332v0.012h-0.012v-0.012 c-55.922,0-106.57-22.676-143.227-59.332c-36.664-36.655-59.332-87.305-59.332-143.223v-0.012c0-55.93,22.668-106.57,59.344-143.23 c36.656-36.656,87.293-59.332,143.215-59.332v-0.008L239.023,36.453L239.023,36.453z\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"none\",\n stroke: \"#000000\",\n strokeWidth: 6,\n strokeMiterlimit: 2.613,\n d: \"M125.18,99.047 c-4.789,3.898-9.375,8.039-13.734,12.398c-25.698,25.707-43.698,59.121-50.19,96.477\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"none\",\n stroke: \"#000000\",\n strokeWidth: 6,\n strokeMiterlimit: 2.613,\n d: \"M226.952,58.854 c-26.91,2.301-58.067,11.416-81.4,25.833\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"none\",\n stroke: \"#000000\",\n strokeWidth: 6,\n strokeMiterlimit: 2.613,\n d: \"M276.008,62.391 c-7.081-1.477-14.313-2.537-21.672-3.156\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"none\",\n stroke: \"#000000\",\n strokeWidth: 6,\n strokeMiterlimit: 2.613,\n d: \"M418.616,225 c-3.41-44.227-22.75-83.988-52.319-113.555c-17.5-17.5-38.578-31.422-62.031-40.57\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"none\",\n stroke: \"#000000\",\n strokeWidth: 0.5,\n strokeMiterlimit: 2.613,\n d: \"M239.023,36.453h0.004v0.008 c55.923,0,106.57,22.676,143.228,59.332c36.655,36.66,59.332,87.293,59.332,143.23h0.012v0.004h-0.012 c0,55.926-22.677,106.575-59.332,143.23c-36.656,36.656-87.293,59.332-143.228,59.332v0.012h-0.012v-0.012 c-55.922,0-106.57-22.676-143.227-59.332c-36.664-36.655-59.332-87.305-59.332-143.223v-0.012c0-55.93,22.668-106.57,59.344-143.23 c36.656-36.656,87.293-59.332,143.215-59.332v-0.008L239.023,36.453L239.023,36.453z\"\n })), _polygon || (_polygon = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"128.354,358.381 135.107,367.684 146.039,364.131 139.285,373.434 146.039,382.729 135.107,379.17 128.354,388.477 128.354,376.979 117.418,373.434 128.354,369.875 \"\n })), _polygon2 || (_polygon2 = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"347.799,360.281 341.045,369.584 330.113,366.029 336.866,375.332 330.113,384.627 341.045,381.078 347.799,390.375 347.799,378.887 358.734,375.332 347.799,371.775 \"\n })), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 237.188,\n y: 121.637,\n width: 3.672,\n height: 108.484\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M215.051,116.25c0.82,2.07,1.309,4.75,1.309,7.672c0,1.914-0.207,3.719-0.586,5.32c6.742-1.594,13.5-2.203,20.254-1.453 l-5.905-12.855c-2.824,0-5.552,0.125-8.168,0.371C219.586,115.527,217.281,115.844,215.051,116.25 M209.992,130.844 c-0.188-2.07-0.849-4.387-1.996-6.652c-1.043-2.059-2.345-3.809-3.73-5.148c-8.281,2.832-15.043,6.871-20.363,11.227v0.004 l-0.973,0.812l-0.93,0.82c-1.59,1.414-3.021,2.844-4.297,4.242l-0.048,0.059l-0.012,0.008v0.008l-0.012,0.004l-0.012,0.02 c-7.888,7.488-17.685,12.027-26.578,16.156c-5.699,2.637-11.013,5.102-15.117,8.027c4.969-1.875,9.75-2.777,14.668-3.699 c9.473-1.777,19.41-3.645,31.82-13.094l0.172-0.102C191.719,138.281,200.848,133.742,209.992,130.844 M206.73,118.25 c1.185,1.336,2.324,3.008,3.285,4.914c1.238,2.441,1.988,4.879,2.25,6.996l0.91-0.25c0.586-1.766,0.914-3.809,0.914-5.988 c0-2.707-0.512-5.211-1.371-7.215C210.645,117.152,208.652,117.668,206.73,118.25 M230.547,112.688h0.297l1.023,0.656l7.008,15.281 l0.133,0.711c-0.086,0.613-0.664,1.043-1.273,0.953c-8.953-1.363-17.922-0.168-26.901,2.648c-9.023,2.84-18.06,7.32-27.095,12.523 c-12.819,9.738-23.016,11.66-32.737,13.477c-6.824,1.285-13.414,2.52-20.484,6.504v-0.008l-1.233-0.09l-0.203-1.578 c4.397-5.699,12.272-9.352,21.022-13.41c8.742-4.051,18.379-8.512,25.984-15.762l0.012-0.008c1.336-1.465,2.801-2.938,4.406-4.363 l0.961-0.84l1.008-0.844c7.543-6.176,17.863-11.723,31.16-14.305c2.578-0.508,5.285-0.898,8.121-1.164 C224.566,112.809,227.5,112.676,230.547,112.688\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M181.699,130.664c0.073,1.5,0.315,3.121,0.737,4.777c0.785,3.039,2.039,5.668,3.469,7.5c0.688-0.387,1.375-0.77,2.062-1.141 c-1.422-1.754-2.625-4.152-3.34-6.926c-0.551-2.16-0.728-4.273-0.586-6.156l-0.855,0.688L181.699,130.664\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M176.93,135.336c0.271,1.07,0.625,2.168,1.078,3.281c1.102,2.727,2.57,5.031,4.113,6.648l0.979-0.738l1.008-0.574 c-1.562-1.531-2.983-3.66-4.004-6.188c-0.608-1.512-1.026-3.016-1.246-4.453C178.184,133.992,177.547,134.664,176.93,135.336\"\n })), _polygon3 || (_polygon3 = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"149.473,157.266 238.828,194.258 238.094,196.039 148.746,159.039 \"\n })), _polygon4 || (_polygon4 = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"147.398,153.336 149.109,158.156 133.066,162.18 135.199,159.133 \"\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M262.992,116.25c-0.812,2.07-1.302,4.75-1.302,7.672c0,1.914,0.207,3.719,0.582,5.32 c-6.746-1.594-13.496-2.203-20.258-1.453l5.914-12.855c2.816,0,5.539,0.125,8.16,0.371 C258.461,115.527,260.758,115.844,262.992,116.25 M268.047,130.844c0.188-2.07,0.852-4.387,2-6.652 c1.043-2.059,2.344-3.809,3.733-5.148c8.277,2.832,15.052,6.871,20.359,11.227l0.008,0.004l0.97,0.812l0.93,0.82 c1.594,1.414,3.026,2.844,4.293,4.242l0.051,0.059l0.016,0.008v0.008l0.008,0.004l0.017,0.02 c7.879,7.488,17.68,12.027,26.569,16.156c5.703,2.637,11.009,5.102,15.125,8.027c-4.969-1.875-9.758-2.777-14.668-3.699 c-9.479-1.777-19.418-3.645-31.827-13.094l-0.168-0.102C286.328,138.281,277.195,133.742,268.047,130.844 M271.324,118.25 c-1.195,1.336-2.332,3.008-3.302,4.914c-1.227,2.441-1.983,4.879-2.25,6.996l-0.905-0.25c-0.587-1.766-0.914-3.809-0.914-5.988 c0-2.707,0.508-5.211,1.375-7.215C267.406,117.152,269.402,117.668,271.324,118.25 M247.492,112.688h-0.289l-1.017,0.656 l-7.02,15.281l-0.138,0.711c0.095,0.613,0.673,1.043,1.281,0.953c8.953-1.363,17.922-0.168,26.898,2.648 c9.022,2.84,18.059,7.32,27.094,12.523c12.828,9.738,23.016,11.66,32.733,13.477c6.836,1.285,13.427,2.52,20.484,6.504v-0.008 l1.238-0.09l0.207-1.578c-4.402-5.699-12.277-9.352-21.023-13.41c-8.742-4.051-18.371-8.512-25.988-15.762l-0.012-0.008 c-1.336-1.465-2.801-2.938-4.397-4.363l-0.969-0.84l-1.009-0.844c-7.539-6.176-17.866-11.723-31.159-14.305 c-2.574-0.508-5.277-0.898-8.121-1.164C253.477,112.809,250.539,112.676,247.492,112.688\"\n })), _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M296.344,130.664c-0.078,1.5-0.316,3.121-0.734,4.777c-0.78,3.039-2.043,5.668-3.469,7.5 c-0.688-0.387-1.383-0.77-2.065-1.141c1.426-1.754,2.629-4.152,3.34-6.926c0.551-2.16,0.733-4.273,0.586-6.156l0.854,0.688 L296.344,130.664\"\n })), _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M301.113,135.336c-0.262,1.07-0.629,2.168-1.065,3.281c-1.113,2.727-2.586,5.031-4.125,6.648l-0.978-0.738l-1.008-0.574 c1.556-1.531,2.98-3.66,4.008-6.188c0.609-1.512,1.017-3.016,1.242-4.453C299.859,133.992,300.5,134.664,301.113,135.336\"\n })), _polygon5 || (_polygon5 = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"328.57,157.266 239.219,194.258 239.953,196.039 329.305,159.039 \"\n })), _polygon6 || (_polygon6 = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"330.645,153.336 328.934,158.156 344.977,162.18 342.844,159.133 \"\n })), _path16 || (_path16 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M227.73,113.941l9.996-16.711c0.43-0.707,1.353-0.941,2.07-0.516l0.539,0.559l9.977,16.668v1.543l-10,16.711 c-0.43,0.707-1.354,0.941-2.059,0.516l-0.527-0.516l-9.996-16.711V113.941L227.73,113.941z\"\n })), _polygon7 || (_polygon7 = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"239.023,100.93 230.777,114.711 239.023,128.492 247.273,114.711 \"\n })), _path17 || (_path17 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M253.047,380.477c10.871-48.656-15.906-57.766-2.137-112.16c0.229-0.914,0.44-1.827,0.62-2.754 c0.195-0.922,0.353-1.852,0.5-2.789c0.398-2.647,0.523-5.133,0.562-7.487c0.172-10.234,0.328-18.277,8.734-25.262 c2.905-2.414,6.141-4.531,9.641-6.426c29.09-15.77,76.147-15.965,98.91-40.129c-3.423-8.059-7.574-15.729-12.371-22.945 c-18.332,33.445-88.789,17.672-118.883,55.688c-30.771-40.629-98.797-23.492-118.056-55.75c-4.772,7.18-8.901,14.812-12.323,22.828 c39.371,34.336,76.969,15.887,106.746,47.656c9.926,9.266,12.012,21.176,10.112,34.617c-2.09,14.875-4.102,27.199-3.901,41.103 c0.125,8.703,0.344,16.262,3.668,24.137c5.479,12.974,6.926,33.763-1.271,49.535c5.066,0.547,10.211,0.828,15.422,0.828v-0.008 h0.004v0.008C243.762,381.164,248.43,380.93,253.047,380.477\"\n })), _path18 || (_path18 = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000000\",\n d: \"M239.023,96.891v0.004h-0.008v-0.004c-39.234,0-74.766,15.918-100.488,41.641 c-25.729,25.727-41.637,61.254-41.637,100.492l0,0v0.008l0,0c0,39.233,15.906,74.772,41.633,100.487 c25.728,25.724,61.258,41.646,100.492,41.646v-0.008h0.012v0.008c39.234,0,74.767-15.922,100.488-41.646 c25.727-25.715,41.641-61.254,41.641-100.487h-0.004v-0.008h0.004c0-39.238-15.914-74.766-41.633-100.492 C313.793,112.809,278.262,96.891,239.023,96.891 M239.023,94.32L239.023,94.32v0.008c39.953,0,76.133,16.203,102.312,42.383 c26.188,26.184,42.391,62.359,42.391,102.312v0.008c0,39.949-16.203,76.125-42.391,102.312 c-26.181,26.185-62.359,42.38-102.31,42.38v0.012h-0.012v-0.012c-39.949,0-76.125-16.195-102.312-42.38 c-26.185-26.188-42.379-62.362-42.379-102.312v-0.008c0-39.953,16.194-76.129,42.379-102.312 c26.188-26.18,62.362-42.383,102.312-42.383V94.32H239.023z\"\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M72.051,177.399c2.266-1.355,5.074-2.005,7.02-1.427c2.375,0.699,4.039,2.816,5,6.348c3.228-2.668,6.148-3.617,8.75-2.848 c1.949,0.574,3.392,2.055,4.337,4.441c0.938,2.379,0.913,5.25-0.078,8.602c-0.853,2.809-2.297,5.262-4.328,7.367 c-2.039,2.102-8.388,5.391-19.047,9.859l-0.281-3.633c6.672-3.152,11-5.406,12.992-6.77c1.983-1.363,3.319-3.191,4-5.48 c0.641-2.164,0.703-4.039,0.194-5.637c-0.508-1.598-1.348-2.57-2.52-2.918c-1.185-0.348-2.438-0.117-3.75,0.695 c-0.316,1.906-0.715,3.668-1.195,5.293c-0.352,1.188-0.965,2.98-1.848,5.379l-6.539-0.555c0.742-1.902,1.354-3.695,1.852-5.383 c1.828-6.164,1.336-9.66-1.457-10.488c-1.168-0.344-4.086,1.639-5.479,3.162L72.051,177.399z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M93.959,134.708l25.768,15.601l-0.828,1.355l-8.332,2.559l-10.43-6.379l-4.875,7.969c-2.34,3.828-2.043,6.641,0.879,8.43 c2.398,1.465,6.969,0.875,13.711-1.77l0.445,3.25c-9.07,3.684-15.711,4.23-19.935,1.648c-2.034-1.27-3.293-2.949-3.784-5.031 c-0.484-2.086-0.164-4.051,0.969-5.895l7.25-11.867l-4.719-2.733L93.959,134.708z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M115.868,109.795c1.483,0.715,4.076,2.4,5.351,3.662c3.438,3.426,4.375,7.84,2.801,13.246 c4.513-0.508,10.824-1.836,18.926-3.984l-0.344,3.289c-18.147,4.625-28.562,5.609-31.227,2.953c-1.72-1.711-1.5-3.641,0.647-5.797 c1.052-1.055,2.75-2.102,5.105-3.133c-0.281-1.648-0.824-2.871-1.621-3.664c-0.629-0.625-2.654-1.217-3.896-1.564L115.868,109.795z \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M176.461,70.359l12.879,28.594l-1.453,0.652l-8.332-2.523l-2.758-6.148c-1.332,1.504-2.906,2.672-4.742,3.496 c-2.727,1.223-5.941,1.578-9.645,1.055c-3.704-0.523-5.98-1.711-6.845-3.574l-3.586-7.98L176.461,70.359z M173.867,84.418 l-4.041-9.427l-10.373,5.587l4.414,9.82c0.913,2.039,2.358,2.609,4.336,1.723c0.512-0.23,1.073-0.664,1.68-1.301 C170.484,90.188,171.812,88.055,173.867,84.418z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M213.894,61.722l4.393,11.685l-12.263,2.359c-2.241,0.43-4.069,1.211-5.491,2.34c-1.431,1.133-2.023,2.305-1.789,3.516 c0.383,1.996,2.104,2.695,5.155,2.109c1-0.191,2.086-0.516,3.267-0.965c-0.22-1.105,0.18-2.113,1.188-3.023 c1.017-0.906,2.457-1.543,4.344-1.902c2.191-0.422,4.044-0.312,5.556,0.324c1.512,0.641,2.391,1.57,2.617,2.781 c0.397,2.047-0.734,3.734-3.402,5.055l8.012,3.812l-5.586,2.094l-7.875-3.789c-5.426,1.047-9.809,0.551-13.156-1.484 c-3.344-2.039-5.289-4.477-5.836-7.32c-0.391-2.051,0.185-3.887,1.73-5.508c1.551-1.625,3.934-2.742,7.145-3.363l8.371-1.609 l-1.258-5.984L213.894,61.722z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M337.084,89.765l-14.343,26.345l-0.922-0.504l-3.477-8.402l5.151-9.445c-2.957-0.371-5.387-1.074-7.289-2.109 c-1.995-1.094-3.938-2.559-5.812-4.398c-1.262,0.656-3.117,1.219-5.582,1.684c1.07,3.738,2.695,8.488,4.867,14.258l-2.978,0.234 c-5.358-13.305-7.09-21.707-5.18-25.207c0.508-0.941,1.266-1.535,2.262-1.781c0.988-0.246,1.935-0.125,2.824,0.359 c0.875,0.477,1.887,1.332,3.035,2.57c0.973-0.941,1.676-1.809,2.109-2.602c0.434-0.797,1.229-2.947,1.418-4.146L337.084,89.765z M329.948,86.134l-11.393-5.509c-0.328,1.629-0.971,3.371-1.674,4.668c-0.642,1.168-1.431,2.195-2.384,3.086 c1.273,1.387,2.603,2.461,3.992,3.215c2.871,1.566,5.547,1.773,8.027,0.621L329.948,86.134z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M362.622,110.797c-0.655,1.508-2.2,4.215-3.42,5.531c-3.293,3.57-7.664,4.672-13.125,3.301 c0.672,4.492,2.238,10.746,4.699,18.762l-3.301-0.219c-5.312-17.961-6.695-28.324-4.133-31.094c1.641-1.777,3.578-1.633,5.815,0.43 c1.09,1.008,2.199,2.672,3.316,4.984c1.641-0.344,2.844-0.93,3.602-1.762c0.605-0.648,1.363-2.683,1.664-3.94L362.622,110.797z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M390.986,146.104l-6.01,3.685c1.172,0.773,2.176,1.805,3,3.098c1.801,2.816,2.234,5.855,1.305,9.129 c-0.934,3.273-2.569,5.656-4.897,7.145c-2.445,1.562-5.438,2.223-8.984,1.984l0.984-7.555c3.926,0.52,6.789,0.199,8.594-0.953 c1.789-1.145,2.117-2.598,0.984-4.363c-0.664-1.047-2.938-2.637-6.812-4.758l-14.023,8.957l-0.75-1.168l1.25-8.871l5.285-3.375 c-2.719-1.613-4.543-3.152-5.479-4.613c-1.293-2.035-1.656-4.398-1.082-7.098c0.582-2.699,2.062-4.809,4.457-6.344 c3.469-2.215,6.438-1.395,8.901,2.469c1.527,2.395,2.181,5.723,1.949,9.996l7.012-4.103L390.986,146.104z M377.023,145.152 l0.445-0.285c-0.492-2.039-1.148-3.695-1.965-4.969c-0.935-1.469-2.062-2.633-3.388-3.5c-1.319-0.871-2.483-0.98-3.5-0.336 c-0.543,0.352-0.844,0.895-0.897,1.641c-0.062,0.75,0.145,1.496,0.617,2.238C369.491,141.746,372.387,143.484,377.023,145.152z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M407.398,181.865l-28.578,10.193l-0.453-1.238l3.095-8.395l23.174-8.162L407.398,181.865z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M415,212.616c-1.438,0.797-4.531,1.978-6.298,2.282c-4.78,0.82-8.922-0.973-12.422-5.383 c-2.194,3.973-4.77,9.887-7.703,17.742l-2.479-2.184c6.727-17.48,11.949-26.539,15.66-27.18c2.387-0.41,3.836,0.887,4.354,3.887 c0.254,1.469,0.117,3.461-0.401,5.977c1.508,0.723,2.815,0.988,3.93,0.797c0.875-0.148,3.324-1.518,4.324-2.33L415,212.616z\"\n }))), _path19 || (_path19 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M187.985,50.141l5.954-0.521c1.518-0.132,3.33,0.14,5.44,0.818c2.105,0.678,4.033,1.746,5.788,3.199 c1.759,1.458,4.643,2.889,9.148,9.396l-3.328,2.859c-2.643-3.71-4.349-5.999-5.118-6.873c-0.771-0.875-1.994-1.598-3.66-2.167 c-1.665-0.568-3.634-0.756-5.918-0.556l-5.811,0.508L187.985,50.141z\"\n })), _path20 || (_path20 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M169.391,93.211c0.688-0.938,2.188-3.371,4.5-7.297l4.828,1.238c-3.93,6.879-14.102,20.832-15.625,20.832l-4.758-3.168 C158.336,104.816,168.695,94.148,169.391,93.211z\"\n })), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M234.669,55.874c-3.216,1.212-4.453,4.639-4.589,6.685c-0.073,1.446,0.868,2.858,2.815,4.237 c1.944,1.376,4.321,2.162,7.126,2.355c1.083,0.074,2.2,0.048,3.349-0.083c-1.346,2.313-3.096,4.303-5.237,5.964 c-1.915-2.414-3.933-3.695-6.054-3.84c-1.263-0.083-2.336,0.242-3.226,0.978c-0.886,0.74-1.386,1.752-1.503,3.028 c-0.08,1.534,0.529,2.872,1.835,4.019c1.299,1.147,3.057,1.806,5.269,1.977c1.062,0.07,2.191,0.014,3.392-0.17l7.837,9.992 l3.939-0.985l-7.771-10.146c6.197-2.542,9.484-6.491,9.849-11.843c0.206-2.955-0.597-6.323-3.092-9.605 c0,0-2.007-2.564-5.776-3.191C240.9,54.923,238.193,54.545,234.669,55.874z M244.666,66.009c-0.802,0.819-1.691,1.191-2.646,1.131 c-0.957-0.088-1.753-0.495-2.389-1.222c-0.637-0.728-0.916-1.67-0.838-2.828c0.166-2.419,0.801-3.745,3.08-4.562 c0.558-0.2,2.11-0.085,2.623,0.212c1.337,0.777,1.6,2.22,1.494,3.749C245.912,64.019,245.469,65.193,244.666,66.009z\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"259.59,61.346 257.961,86.027 264.219,92.242 265.672,92.34 267.852,60.219 \"\n }))), _path21 || (_path21 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M95.885,142.854l3,1.75c-3.93,6.879-13.75,23.5-15.25,25.75l-3.5-2.25C80.135,168.104,93.572,146.779,95.885,142.854z\"\n })), _path22 || (_path22 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M375.568,243.715c-1.094-1.16-2.315-1.934-3.512-2.145c-1.547-0.273-1.551-2.992-1.996-4.517l-1.906-5.141 c-1.069-2.215-2.336-4.543-3.844-6.047c-1.93-3.75-4.719-8.086-8.309-11.43c-13.57-12.664-25.267-17.141-3.091,0.133 c2.41,3.516,5.195,6.758,7.32,10.555c4.633,3.711,6.117,10.285,7.508,15.844c-0.93,3.892-3.805,3.984-7.133,5.277 c-2.602,0.371-5.19,0.746-7.883,1.116c-9.906,0.367-19.828-0.836-29.648-2.409c-1.293-0.648-2.602-1.203-3.983-1.759 c-0.656-0.934-1.297-1.766-2.039-2.594c-0.258-4.272,0.367-7.354,1.801-10.522c1.547-3.406,8.816-16.293,11.602-15.152 c0.794,0.324,1.31,0.645,1.513,1.676c-0.363,4.816-0.646,12.508,2.328,16.68c0.547,0,1.016,0.09,1.479,0.188 c1.021-3.062-0.84-7.23-1.026-10.473c0.094-2.312,0.188-4.539,0.188-6.762c1.141-7.613,3.02-9.672,5.602-12.348l-1.327,0.262 c-2,1.008-3.414,2.109-4.556,4.117c-0.547,0.379-1.319,0.867-2.108,1.438c-3.004,2.199-6.004,5.508-8.625,8.164 c-4.927,5.004-8.836,14.703-11.5,19.023c-1.109,1.113-2.228,2.32-3.336,3.523c-2.312,4.172,1.022,5.93,1.022,10.276 c-0.375,0.47-0.746,0.935-1.211,1.48c-1.953,0.875-5.664,3.324-4.938,5.293c0.616,1.66,2.379,1.395,3.75,1.512 c1.055,0.086,2.194,0.223,2.672,0.164c-0.603-0.504-1.062-1.289-1.328-2.078c-0.605-1.742-0.242-2.012,1.233-2.819 c2.359-1.289,4.746-1.863,7.509-2.25c0.641-0.367,1.198-0.738,1.762-1.021c2.684,0,4.543,1.301,6.941,2.039 c1.483,0,3.53-0.371,4.637,0.738c1.762-1.289,3.16-0.457,4.453,0.836c2.504-0.367,5.18-1.668,7.69-0.742 c3.609-0.363,7.685,1.113,11.117,1.953c1.945,1.105,4.445,1.48,6.574,1.668c1.582,0.645,3.16,1.289,4.729,2.027 c2.688,0.375,6.484,2.602,3.521,5.566c-4.078-1.021-8.062-3.427-12.047-5.005c-3.427-0.832-6.849-1.758-10.195-2.965h-6.023 c-6.464,0.324-18.523-1.784-23.342-0.562c-0.001-0.001-0.001-0.001-0.001-0.002c-3.059,0.375-3.059,0.375-6.397,1.207l-0.832,1.396 c0.555,1.479,1.02,2.965,1.483,4.535v9.819c-0.836,4.535-1.672,9.177-2.602,13.806c-2.68,4.539-6.391,8.336-10.93,10.934 c-1.297,0-2.594,0.095-3.984,0.188c-1.945-0.926-2.965-3.797-5.469-2.871c-1.758,2.312,0.652,6.668-1.293,8.613 c-1.48-0.188-2.414-0.56-3.707-1.396c-0.836-1.758-1.672-3.422-2.504-5.094c-4.449,1.578-3.426,6.771-4.359,10.565 c-0.457,0.371-0.918,0.738-1.477,1.113c0.094,0.461,0.184,0.926,0.281,1.477c1.852,1.207,3.979,2.039,4.44,4.353 c-0.555,1.483-1.109,3.617-2.5,4.543c3.062,2.228,3.523,7.513,2.875,10.935c-0.836,0.362-2.227,0.926-2.594,1.758 c-0.93,0.281-1.859,0.562-2.785,0.832c-3.059,2.777-4.355,4.172-5.746,7.969c-1.383,1.855-2.219,5.191-2.867,7.418l1.203,0.273 c0.281-1.117,0.555-2.406,1.297-3.146c0.277-1.301,0.556-2.508,0.836-3.707c1.853-0.931,2.961-3.155,3.984-4.914 c2.406-1.854,2.406-1.854,3.426-3.055c1.668-0.652,3.521-0.742,5.277-0.841c2.32,1.121,2.039,0.841,2.039,3.613 c-1.105,0.746-2.219,1.484-3.332,2.228c-2.039,2.038-4.078,4.073-6.211,6.207c-1.293,3.801-3.152,7.418-3.703,11.401 c0.188,1.938,0.371,3.978,0.551,6.012c0.469,1.668,1.488,3.707-0.18,4.816c-6.211-1.02-7.781-8.977-9.267-13.979 c-1.272-10.548,0.056-15.113,6.578-22.613c1.484-1.293,2.504-1.758,2.781-3.694c-9.594-3.353-21.609-25.23-6.117-36.32 c5.469-1.767,2.594,6.758,2.32,9.262c0.272,1.02,0.461,2.039,0.647,3.059c0.734,1.113,1.384,2.228,2.039,3.43 c1.017,0.462,2.228,1.293,2.966,2.125l0.184-1.108c-1.953-0.93-2.875-4.812-3.25-6.953c-0.461-6.198,2.039-11.297,7.969-13.062 l0.84-1.105c-2.973-2.191-6.797-1.477-10.395,0c-4.938,2.016-8.406,4.102-11.508,8.461c-3.742,5.238-3.978,9.504-2.992,14.016 c1.699,7.711,5.328,10.355,8.961,15.137c1.449,0.695,2.93,1.785,3.504,3.211c1.016,2.531-0.984,3.52-2.586,4.945 c-0.297,0.625-0.68,1.176-1.059,1.727c-7.669,11.008-4.902,23.238,0.854,30.75c3.25,4.25,7.348,6.742,12.438,7.828 c7.797,1.664,1.022-2.848-0.367-11.871v-3.984c0.832-2.215,1.391-4.629,1.672-7.031c1.938-3.065,2.781-5.284,3.613-6.586 c1.479-0.926,2.87-1.852,4.262-2.684c2.414,1.391,2.133,2.227,2.312,5.375c1.207,3.145,2.875,6.211,5.281,8.617 c2.969,1.938,4.633,1.938,8.065,1.664l0.832-1.395c-0.188-0.551-0.366-1.021-0.555-1.478c-2.879-4.078-3.984-7.969,0.094-12.047 c0.353,0.539,1.642,2.836,3.898,4.129c4.234,2.422,6.688,2.246,11.758,2.75c3.754,0.375,6.262,1.233,3.148-3.819 c-4.906-3.246-4.267-6.668-3.146-12.134c1.332-1.844,3.422-3.819,6.238-5.711c15.016-10.012,32.598-21.555,41.738-43.272 c2.496-5.926,4.194-12.328,4.284-15.5c1.375-0.75,3.492-0.422,4.41-1.406c3.677-3.973-2.379-5.941-3.562-8.73 c-0.328-0.772-0.371-1.637-0.281-2.461c0.254-2.441,1.646-4.129,3.668-5.32c0.945-0.559,1.867-1.073,2.332-1.848 C377.161,246.648,376.7,244.945,375.568,243.715z M315.574,247.175c-1.668-0.461-2.691-1.391-3.426-2.87 c0.359-0.556,0.461-1.203,1.293-1.203c2.597,1.016,4.355,1.203,4.816,4.262C317.426,247.266,316.491,247.176,315.574,247.175z M364.594,250.973c-2.133-0.184-4.267-0.281-6.485-0.371l0.086-0.461c1.207-0.188,2.414-0.375,3.617-0.555 c1.11-1.664,5.282-3.703,6.852-2.133C367.836,249.215,366.163,249.766,364.594,250.973z M349.859,260.609 c4.267,1.022,4.813,5.188,0.93,7.5c-0.562-0.461-1.207-0.836-1.859-1.199C348.288,264.777,347.077,261.531,349.859,260.609z M351.527,279.414l-0.738,0.93c-0.562-0.367-1.116-0.742-1.676-1.016c0.094-0.559,0.188-1.121,0.188-1.578 c0.558-0.094,1.112-0.188,1.574-0.188C351.245,278.02,351.245,278.02,351.527,279.414z M343.184,260.141 c1.479,2.227-0.363,4.086-1.293,6.023c-1.853-0.367-1.853-0.367-2.228-0.73C339.387,262.555,339.293,258.848,343.184,260.141z M343.559,279.789c-1.481-0.832-1.762-0.926-1.762-2.688c0.555-0.188,1.108-0.371,1.668-0.559 C344.758,277.656,343.93,278.488,343.559,279.789z M345.316,281.266c3.797,1.395,0.832,5.473-1.945,6.023 c-0.375-0.832-0.375-0.832-1.48-1.852c0-1.945,0.461-2.59,1.293-4.266C343.929,281.172,344.663,281.172,345.316,281.266z M336.836,273.285c0.211-1.266,1.039-2.16,1.848-2.027c0.809,0.141,1.301,1.277,1.098,2.531c-0.207,1.257-1.039,2.156-1.848,2.023 C337.116,275.664,336.625,274.539,336.836,273.285z M338.969,280.633c-0.099,0.633-0.517,1.078-0.918,1.008 c-0.411-0.07-0.657-0.633-0.56-1.266c0.113-0.621,0.524-1.07,0.935-1C338.827,279.438,339.077,280,338.969,280.633z M335.961,283.398h1.387c0.094,1.02,0.277,1.301-0.094,2.133l-1.388-0.367C335.961,284.511,335.961,283.96,335.961,283.398z M293.239,301.555c1.945-0.648,2.691,1.492,1.855,2.973c-0.555-0.375-1.203-0.75-1.855-1.121V301.555z M282.024,310.246 c-0.242-1.066-0.094-2.129,0.32-3.188c1.215,0.094,2.14,0.645,2.945,1.395C284.195,309.777,283.109,310.211,282.024,310.246z M288.977,333.988c-4.352-2.879-5.184-7.324-6.306-12.141c0.102-0.934,0.188-1.852,0.188-2.691c0.371,0.101,0.836,0.933,1.392,1.398 C285.829,324.164,290.368,329.816,288.977,333.988z M295.094,352.789c-4.172-1.762-5.188-8.156-5.188-12.227 c0.375-1.484,0.828-4.258,2.039-5.285c0.555,0.187,1.109,0.468,1.57,0.738c1.024,2.414-0.277,4.086-0.277,6.586 C294.719,345.656,297.41,349.738,295.094,352.789z M294.539,324.625l0.18-1.207l0.652,0.094c0.188,0.926,0.094,0.926-0.277,1.676 L294.539,324.625z M300,331.211c-0.923-0.289-1.57-0.648-2.125-1.582C297.5,324.812,303.245,329.07,300,331.211z M302.788,324.625 c0-1.484,0.645-2.777,1.57-3.711c2.415,1.211,1.392,3.25-0.272,4.918L302.788,324.625z M311.866,345.191 c-4.543-2.684-4.543-2.684-5.93-3.893c-1.023-2.132-1.484-6.117,1.016-7.312c0.742,1.478,0.277,3.609,1.298,4.63 c3.241,0-0.743-5.75,3.526-6.398c0.832,3.341,0.918,6.763,2.035,10.103C313.812,344.266,313.812,344.546,311.866,345.191z M310.297,322.035c1.569,2.215,1.664,2.215-0.289,4.172C308.531,325,308.07,322.594,310.297,322.035z M310.163,316.586 c0.759-0.398,1.578-0.305,1.837,0.188c0.258,0.504-0.141,1.229-0.898,1.617c-0.754,0.387-1.574,0.305-1.836-0.199 C309.008,317.699,309.409,316.973,310.163,316.586z M316.14,328.124c-0.754,0.392-1.574,0.31-1.832-0.194 c-0.257-0.492,0.141-1.219,0.895-1.609c0.759-0.395,1.585-0.313,1.844,0.19C317.304,327.016,316.898,327.729,316.14,328.124z M318.258,322.035c-0.646,0.188-1.392,0.371-2.125,0.559l-0.746-0.84c-0.465-2.309,0.089-3.246,2.315-3.891 C319.281,318.977,319.094,320.367,318.258,322.035z M316.047,313.129l0.944-0.949l0.949,0.949l-0.949,0.949L316.047,313.129z M307.139,315.259c-2.039,2.043-4.914,3.527-7.785,4.082c-3.612,2.039-3.612,2.039-4.172,2.691 c-0.551-0.188-1.104-0.375-1.758-0.562c-3.521,0.562-5.648,0.652-6.113-3.145c0.181-2.505,0.181-2.505,0.556-3.336 c11.956-7.109,18.819-11.595,25.016-29.828c0.651-3.992,1.297-7.966,1.944-11.961c0.185-4.16,0.281-8.238,0.371-12.316 c0.652-1.944,0.935-2.227,2.785-2.965c0.094-0.455,0.093-0.458-0.366-1.387c1.237,2.22,17.038,2.128,17.507,3.605 c-0.188,5.75-1.017,10.941-2.039,16.685c-2.5,5.93-2.312,13.147-7.505,17.695C320.303,301.294,315.529,311.779,307.139,315.259z M332.531,295.727c-0.375,0.646-0.836,1.392-1.301,2.125c-1.761-0.836-2.683-1.668-1.574-3.984c0.649-0.281,1.297-0.46,1.853-0.648 C331.883,294.055,332.25,294.891,332.531,295.727z M323.637,307.949l-1.301,0.188l-0.188-0.926l1.396,0.281L323.637,307.949z M325.485,311.746c1.578,2.227-0.09,4.172-1.848,5.473c-2.039-0.281-2.039-1.02-2.598-3.34 C321.5,310.641,323.356,311.562,325.485,311.746z M324.75,321.707c-1.134,0.574-2.359,0.449-2.75-0.301 c-0.38-0.742,0.226-1.82,1.354-2.406c1.125-0.586,2.356-0.453,2.747,0.293C326.484,320.031,325.883,321.117,324.75,321.707z M326.788,303.227c-0.562-0.18-1.116-0.281-1.672-0.367c-0.555-1.859,0.09-2.691,1.945-2.973 C328.258,300.82,327.434,302.207,326.788,303.227z M328.445,307.672l0.844-0.555c2.406,0,1.941,1.207,1.941,3.055 c-2.226-0.367-2.226-0.367-2.683-0.734C328.547,308.781,328.547,308.23,328.445,307.672z M332.898,314.992 c-1.39-0.375-1.39-0.375-1.852-0.836c0.09-0.555,0.184-1.016,0.184-1.484c1.945-1.945,2.226-0.188,2.414,1.582L332.898,314.992z M334.468,304.152c-0.461,0.188-1.012,0.375-1.57,0.551c-1.293-0.645-1.39-3.148-0.461-4.071c0.648,0.086,1.297,0.273,1.859,0.461 C334.656,302.113,335.123,302.945,334.468,304.152z M335.68,293.031c-0.555-0.18-1.211-0.367-1.853-0.551 c-0.929-1.301-1.116-2.871-0.276-4.168c0.747-0.098,1.48-0.188,2.227-0.285C336.977,289.703,336.422,291.273,335.68,293.031z M336.883,294.797l0.651-0.277c2.224,1.105,2.871,3.145,1.388,5.367c-0.556-0.176-1.203-0.277-1.852-0.363 C336.235,298.316,336.508,296.277,336.883,294.797z M338.922,309.988c-0.828-0.281-1.668-0.457-2.039-1.207 c-0.273-3.148,0.094-4.91,3.711-4.91C343.184,305.723,340.956,308.781,338.922,309.988z M341.891,288.027l1.203,0.375 c1.297,1.301,1.664,4.535-0.461,5.184C339.387,292.938,339.945,289.973,341.891,288.027z M347.637,300.449 c-0.934,0.738-1.852,1.477-2.785,2.223l-1.11-0.934c-1.483-3.516-0.647-5.367,2.688-5.367 C347.727,297.203,347.637,299.062,347.637,300.449z M347.543,273.203l-1.207,0.844c-1.759-0.469-2.134-0.648-3.341-2.141 C342.995,264.496,349.206,268.211,347.543,273.203z M355.015,287.009c-0.228,1.605-1.142,2.767-2.039,2.578l-0.156-0.039v0.062 c1.665,2.5,0.094,5.005-1.854,6.574c-1.013-0.371-1.759-0.738-2.592-1.569c-1.112-3.433,0.274-4.265,3.337-4.824v-1.763 c-1.484-1.476-0.56-3.144,0.375-4.901c2.125-0.371,2.125,0.187,2.961,1.944l-0.086,0.22 C355.085,285.798,355.109,286.388,355.015,287.009z M355.605,275.891c-0.558-0.086-1.207-0.18-1.854-0.179 c-0.56-1.207-0.746-3.985-0.185-5.098C357.55,270.062,359.214,274.133,355.605,275.891z M359.031,281.453 c-0.647-0.367-1.297-0.645-2.043-0.926c0-2.59,1.763-4.078,4.172-4.449C361.991,277.75,360.695,280.809,359.031,281.453z M361.625,270.52c-0.652-0.082-1.298-0.184-1.946-0.27c-1.023-1.301-1.484-3.246-1.109-4.914c1.938-1.211,3.242-0.465,4.629,0.918 C363.387,268.762,363.758,269.043,361.625,270.52z\"\n })), _path23 || (_path23 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M214.453,324.164c3.633-4.781,7.266-7.426,8.949-15.137c0.996-4.512,0.759-8.777-2.987-14.016 c-3.099-4.359-6.567-6.445-11.509-8.461c-3.598-1.477-7.418-2.191-10.395,0l0.836,1.105c5.926,1.765,8.434,6.863,7.969,13.062 c-0.367,2.142-1.293,6.023-3.242,6.953l0.181,1.108c0.75-0.832,1.957-1.663,2.965-2.125c0.656-1.202,1.301-2.316,2.039-3.43 c0.187-1.02,0.375-2.039,0.652-3.059c-0.278-2.504-3.149-11.028,2.323-9.262c15.492,11.09,3.47,32.968-6.121,36.32 c0.273,1.937,1.305,2.401,2.773,3.694c6.535,7.5,7.859,12.065,6.582,22.613c-1.478,5.003-3.06,12.96-9.258,13.979 c-1.677-1.109-0.653-3.148-0.188-4.816c0.188-2.034,0.363-4.073,0.551-6.012c-0.551-3.983-2.401-7.601-3.702-11.401 c-2.134-2.134-4.173-4.169-6.212-6.207c-1.108-0.743-2.227-1.481-3.336-2.228c0-2.772-0.272-2.492,2.039-3.613 c1.759,0.099,3.617,0.188,5.281,0.841c1.021,1.2,1.021,1.2,3.43,3.055c1.016,1.759,2.137,3.983,3.988,4.914 c0.277,1.199,0.551,2.406,0.824,3.707c0.747,0.739,1.023,2.028,1.309,3.146l1.199-0.273c-0.647-2.227-1.483-5.562-2.875-7.418 c-1.39-3.797-2.683-5.191-5.742-7.969c-0.925-0.271-1.851-0.551-2.776-0.832c-0.375-0.832-1.759-1.396-2.599-1.758 c-0.648-3.422-0.18-8.707,2.867-10.935c-1.383-0.926-1.937-3.06-2.496-4.543c0.469-2.313,2.599-3.146,4.453-4.353 c0.09-0.551,0.176-1.016,0.271-1.477c-0.552-0.375-1.021-0.742-1.478-1.113c-0.925-3.795,0.086-8.987-4.358-10.565 c-0.832,1.672-1.664,3.336-2.5,5.094c-1.298,0.836-2.224,1.207-3.712,1.396c-1.944-1.945,0.47-6.301-1.297-8.613 c-2.5-0.926-3.52,1.945-5.465,2.871c-1.386-0.094-2.683-0.188-3.983-0.188c-4.536-2.598-8.25-6.395-10.935-10.934 c-0.926-4.629-1.758-9.271-2.59-13.806v-9.819c0.457-1.57,0.918-3.056,1.477-4.535l-0.832-1.396c-3.34-0.832-3.34-0.832-6.387-1.207 c0,0.001,0,0.001-0.001,0.002c-4.833-1.224-16.893,0.886-23.354,0.562h-6.023c-3.34,1.207-6.765,2.133-10.195,2.965 c-3.984,1.578-7.969,3.984-12.047,5.005c-2.965-2.965,0.832-5.191,3.523-5.566c1.575-0.738,3.145-1.383,4.727-2.027 c2.134-0.188,4.629-0.562,6.574-1.668c3.426-0.84,7.504-2.316,11.121-1.953c2.497-0.926,5.192,0.375,7.688,0.742 c1.301-1.293,2.687-2.125,4.452-0.836c1.113-1.109,3.153-0.738,4.634-0.738c2.409-0.738,4.261-2.039,6.944-2.039 c0.563,0.282,1.118,0.653,1.771,1.021c2.754,0.387,5.137,0.961,7.5,2.25c1.476,0.808,1.832,1.077,1.242,2.819 c-0.27,0.789-0.727,1.574-1.324,2.078c0.461,0.059,1.604-0.078,2.664-0.164c1.367-0.117,3.137,0.148,3.746-1.512 c0.727-1.969-2.98-4.418-4.941-5.293c-0.461-0.546-0.828-1.011-1.199-1.48c0-4.347,3.329-6.104,1.021-10.276 c-1.113-1.203-2.228-2.41-3.34-3.523c-2.66-4.32-6.574-14.019-11.505-19.023c-2.616-2.656-5.604-5.965-8.616-8.164 c-0.785-0.571-1.57-1.059-2.117-1.438c-1.129-2.008-2.555-3.109-4.551-4.117l-1.324-0.262c2.578,2.676,4.465,4.735,5.594,12.348 c0,2.223,0.103,4.45,0.188,6.762c-0.188,3.243-2.043,7.411-1.023,10.473c0.468-0.098,0.938-0.188,1.488-0.188 c2.965-4.172,2.683-11.864,2.319-16.68c0.2-1.031,0.728-1.352,1.513-1.676c2.782-1.141,10.055,11.746,11.602,15.152 c1.438,3.168,2.063,6.25,1.806,10.522c-0.738,0.828-1.392,1.66-2.039,2.594c-1.391,0.556-2.695,1.11-3.984,1.759 c-9.828,1.573-19.734,2.776-29.656,2.409c-2.688-0.37-5.276-0.745-7.879-1.116c-3.328-1.293-6.199-1.386-7.129-5.277 c1.387-5.559,2.875-12.133,7.504-15.844c2.132-3.797,4.91-7.039,7.316-10.555c22.18-17.274,10.483-12.797-3.086-0.133 c-3.586,3.344-6.384,7.68-8.31,11.43c-1.5,1.504-2.766,3.832-3.844,6.047l-1.898,5.141c-0.448,1.524-0.448,4.243-2.004,4.517 c-1.194,0.211-2.422,0.984-3.504,2.145c-1.144,1.23-1.598,2.934-0.871,4.168c0.453,0.774,1.387,1.289,2.324,1.848 c2.027,1.191,3.418,2.879,3.668,5.32c0.094,0.824,0.047,1.688-0.281,2.461c-1.183,2.789-7.233,4.758-3.562,8.73 c0.926,0.984,3.035,0.656,4.418,1.406c0.082,3.172,1.781,9.574,4.277,15.5c9.14,21.718,26.729,33.261,41.741,43.272 c2.812,1.892,4.906,3.867,6.246,5.711c1.106,5.466,1.759,8.888-3.164,12.134c-3.105,5.053-0.598,4.194,3.164,3.819 c5.063-0.504,7.524-0.328,11.754-2.75c2.262-1.293,3.551-3.59,3.902-4.129c4.078,4.078,2.965,7.969,0.094,12.047 c-0.187,0.457-0.374,0.927-0.562,1.478l0.832,1.395c3.433,0.273,5.101,0.273,8.062-1.664c2.414-2.406,4.078-5.473,5.285-8.617 c0.188-3.148-0.094-3.984,2.316-5.375c1.387,0.832,2.773,1.758,4.258,2.684c0.844,1.302,1.676,3.521,3.621,6.586 c0.269,2.402,0.832,4.816,1.664,7.031v3.984c-1.383,9.023-8.156,13.535-0.371,11.871c5.101-1.086,9.195-3.578,12.453-7.828 c5.754-7.512,8.52-19.742,0.852-30.75c-0.383-0.551-0.769-1.102-1.074-1.727c-1.593-1.426-3.586-2.414-2.565-4.945 C211.523,325.949,213.012,324.859,214.453,324.164z M164.601,243.102c0.832,0,0.926,0.647,1.297,1.203 c-0.742,1.479-1.758,2.409-3.43,2.87c-0.921,0.001-1.851,0.091-2.683,0.188C160.254,244.305,162.012,244.117,164.601,243.102z M116.238,249.586c1.195,0.18,2.402,0.367,3.609,0.555l0.094,0.461c-2.226,0.09-4.354,0.188-6.479,0.371 c-1.582-1.207-3.246-1.758-4.086-3.52C110.953,245.883,115.117,247.922,116.238,249.586z M195.703,307.059 c0.409,1.059,0.562,2.121,0.315,3.188c-1.078-0.035-2.175-0.469-3.257-1.793C193.559,307.703,194.485,307.152,195.703,307.059z M184.805,301.555v1.852c-0.649,0.371-1.301,0.746-1.852,1.121C182.117,303.047,182.859,300.906,184.805,301.555z M142.184,285.164 l-1.395,0.367c-0.375-0.832-0.188-1.113-0.095-2.133h1.396C142.09,283.96,142.09,284.511,142.184,285.164z M139.359,271.258 c0.81-0.133,1.642,0.762,1.853,2.027c0.211,1.254-0.281,2.379-1.103,2.527c-0.809,0.133-1.641-0.767-1.84-2.023 C138.058,272.535,138.55,271.398,139.359,271.258z M139.992,281.641c-0.406,0.07-0.81-0.375-0.923-1.008 c-0.098-0.633,0.148-1.195,0.548-1.258c0.409-0.07,0.82,0.379,0.93,1C140.649,281.008,140.402,281.57,139.992,281.641z M134.859,260.141c3.892-1.293,3.797,2.414,3.523,5.293c-0.37,0.363-0.37,0.363-2.227,0.73 C135.234,264.227,133.375,262.367,134.859,260.141z M134.484,279.789c-0.366-1.301-1.207-2.133,0.095-3.246 c0.555,0.188,1.112,0.371,1.676,0.559C136.254,278.863,135.973,278.957,134.484,279.789z M136.156,285.438 c-1.109,1.02-1.109,1.02-1.484,1.852c-2.777-0.551-5.742-4.629-1.945-6.023c0.648-0.094,1.392-0.094,2.133-0.094 C135.692,282.848,136.156,283.492,136.156,285.438z M128.192,260.609c2.777,0.922,1.57,4.168,0.918,6.301 c-0.648,0.363-1.294,0.738-1.844,1.199C123.368,265.797,123.926,261.632,128.192,260.609z M128.93,279.328 c-0.555,0.273-1.114,0.648-1.664,1.016l-0.75-0.93c0.281-1.395,0.281-1.395,0.656-1.852c0.457,0,1.02,0.094,1.57,0.188 C128.742,278.207,128.836,278.77,128.93,279.328z M114.844,266.254c1.395-1.383,2.684-2.129,4.629-0.918 c0.375,1.668-0.09,3.613-1.104,4.914c-0.653,0.086-1.299,0.188-1.942,0.27C114.289,269.043,114.656,268.762,114.844,266.254z M119.016,281.453c-1.672-0.645-2.965-3.703-2.133-5.375c2.406,0.371,4.172,1.859,4.172,4.449 C120.312,280.809,119.66,281.086,119.016,281.453z M124.477,270.614c0.562,1.112,0.375,3.891-0.18,5.098 c-0.652-0.001-1.297,0.093-1.859,0.179C118.829,274.133,120.493,270.062,124.477,270.614z M129.668,294.613 c-0.832,0.832-1.57,1.199-2.599,1.57c-1.944-1.569-3.516-4.074-1.844-6.574v-0.062l-0.156,0.039 c-0.897,0.188-1.812-0.973-2.047-2.578c-0.082-0.621-0.059-1.211,0.06-1.719L123,285.07c0.832-1.758,0.832-2.316,2.965-1.945 c0.926,1.758,1.852,3.426,0.371,4.902v1.762C129.391,290.348,130.781,291.18,129.668,294.613z M135.047,271.906 c-1.207,1.492-1.582,1.672-3.34,2.141l-1.207-0.844C128.836,268.211,135.047,264.496,135.047,271.906z M134.304,301.738 l-1.109,0.934c-0.926-0.746-1.858-1.484-2.78-2.223c0-1.387-0.095-3.246,1.198-4.078 C134.953,296.371,135.785,298.223,134.304,301.738z M134.953,288.402l1.202-0.375c1.949,1.945,2.5,4.91-0.733,5.559 C133.277,292.938,133.652,289.703,134.953,288.402z M141.156,308.781c-0.366,0.75-1.198,0.926-2.038,1.207 c-2.031-1.207-4.259-4.266-1.656-6.117C141.07,303.871,141.434,305.633,141.156,308.781z M140.976,299.523 c-0.647,0.086-1.3,0.188-1.858,0.363c-1.48-2.223-0.828-4.262,1.391-5.367l0.647,0.277 C141.527,296.277,141.808,298.316,140.976,299.523z M142.265,288.027c0.75,0.098,1.488,0.188,2.228,0.285 c0.836,1.297,0.647,2.867-0.271,4.168c-0.652,0.184-1.3,0.371-1.854,0.551C141.621,291.273,141.07,289.703,142.265,288.027z M143.755,301.093c0.559-0.188,1.207-0.375,1.852-0.461c0.933,0.923,0.831,3.427-0.466,4.071c-0.547-0.176-1.104-0.363-1.57-0.551 C142.923,302.945,143.383,302.113,143.755,301.093z M145.511,295.727c0.281-0.836,0.652-1.672,1.027-2.508 c0.547,0.188,1.198,0.367,1.852,0.648c1.106,2.316,0.188,3.148-1.578,3.984C146.351,297.118,145.886,296.372,145.511,295.727z M145.141,314.992l-0.733-0.738c0.188-1.77,0.461-3.527,2.405-1.582c0,0.469,0.095,0.93,0.188,1.484 C146.539,314.617,146.539,314.617,145.141,314.992z M149.495,309.438c-0.456,0.367-0.456,0.367-2.684,0.734 c0-1.848-0.461-3.055,1.945-3.055l0.832,0.555C149.495,308.23,149.495,308.781,149.495,309.438z M150.985,299.887 c1.853,0.281,2.496,1.113,1.945,2.973c-0.555,0.086-1.114,0.188-1.664,0.367C150.61,302.207,149.778,300.82,150.985,299.887z M156.04,321.406c-0.383,0.75-1.609,0.875-2.746,0.301c-1.129-0.59-1.734-1.676-1.349-2.414c0.387-0.746,1.616-0.879,2.742-0.293 C155.825,319.586,156.422,320.664,156.04,321.406z M154.406,317.219c-1.758-1.301-3.422-3.246-1.844-5.473 c2.125-0.184,3.984-1.105,4.445,2.133C156.445,316.199,156.445,316.938,154.406,317.219z M154.406,307.949l0.095-0.457l1.395-0.281 l-0.188,0.926L154.406,307.949z M159.785,322.035c-0.832-1.668-1.021-3.059,0.559-4.172c2.227,0.645,2.773,1.582,2.312,3.891 l-0.741,0.84C161.18,322.406,160.441,322.223,159.785,322.035z M160.102,313.129l0.949-0.949l0.949,0.949l-0.949,0.949 L160.102,313.129z M163.734,327.93c-0.246,0.504-1.078,0.586-1.836,0.194c-0.754-0.396-1.151-1.108-0.895-1.613 c0.257-0.504,1.079-0.585,1.833-0.19C163.594,326.711,163.992,327.438,163.734,327.93z M172.109,341.299 c-1.39,1.209-1.39,1.209-5.925,3.893c-1.945-0.646-1.945-0.926-1.945-2.871c1.105-3.34,1.195-6.762,2.027-10.103 c4.273,0.648,0.289,6.398,3.527,6.398c1.02-1.021,0.559-3.152,1.293-4.63C173.594,335.182,173.125,339.167,172.109,341.299z M168.773,318.191c-0.246,0.504-1.078,0.586-1.828,0.199c-0.762-0.388-1.159-1.113-0.901-1.617c0.258-0.492,1.078-0.586,1.832-0.188 C168.633,316.973,169.039,317.699,168.773,318.191z M168.035,326.207c-1.949-1.957-1.853-1.957-0.281-4.172 C169.98,322.594,169.512,325,168.035,326.207z M173.965,325.832c-1.668-1.668-2.695-3.707-0.281-4.918 c0.926,0.934,1.57,2.227,1.57,3.711L173.965,325.832z M170.894,315.259c-8.383-3.479-13.153-13.965-18.438-20.741 c-5.191-4.548-5.004-11.766-7.5-17.695c-1.02-5.743-1.859-10.935-2.039-16.685c0.461-1.479,16.294-1.386,17.517-3.608 c-0.465,0.932-0.466,0.934-0.372,1.39c1.848,0.738,2.132,1.021,2.777,2.965c0.094,4.078,0.187,8.156,0.375,12.316 c0.645,3.995,1.29,7.969,1.938,11.961c6.203,18.233,13.074,22.719,25.027,29.828c0.371,0.831,0.371,0.831,0.551,3.336 c-0.469,3.797-2.594,3.707-6.117,3.145c-0.645,0.188-1.195,0.374-1.758,0.562c-0.555-0.652-0.555-0.652-4.172-2.691 C175.812,318.786,172.941,317.302,170.894,315.259z M183.504,324.625l-0.551,0.562c-0.375-0.75-0.47-0.75-0.281-1.676l0.647-0.094 L183.504,324.625z M180.176,329.629c-0.563,0.934-1.207,1.293-2.133,1.582C174.797,329.07,180.547,324.812,180.176,329.629z M182.953,352.789c-2.32-3.051,0.366-7.133,1.852-10.188c0-2.5-1.301-4.172-0.281-6.586c0.47-0.271,1.023-0.552,1.578-0.738 c1.203,1.027,1.668,3.801,2.039,5.285C188.141,344.633,187.117,351.027,182.953,352.789z M189.062,333.988 c-1.387-4.172,3.16-9.824,4.73-13.434c0.559-0.466,1.02-1.298,1.395-1.398c0,0.84,0.082,1.758,0.181,2.691 C194.25,326.664,193.418,331.109,189.062,333.988z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgSealOfUttarPradesh);\nexport default __webpack_public_path__ + \"static/media/Seal_of_Uttar_Pradesh.007c78d2adf7aec85bca629660eb4b49.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\n\nconst DoughnutSkeleton = () => {\n return (\n
\n \n \n \n \n\n \n \n \n \n \n \n \n
\n );\n};\n\nexport default DoughnutSkeleton;\n","import Chart from \"react-apexcharts\";\n\nimport DoughnutSkeleton from \"components/ui/skeletons/DoughnutSkeleton\";\nimport { formatCurrency } from \"utils/formatCurrency\";\nimport styles from \"./styles.module.css\";\n\nvar colorPalette = [\"#00D8B6\", \"#008FFB\", \"#FEB019\", \"#FF4560\", \"#775DD0\"];\n\nconst commonThemes = {\n // theme: {\n // mode: \"light\",\n // palette: \"palette1\",\n // },\n noData: {\n text: \"No records available\",\n align: \"center\",\n verticalAlign: \"middle\",\n\n style: {\n color: undefined,\n fontSize: \"14px\",\n fontFamily: undefined,\n },\n },\n chart: {\n fontFamily: \"DM Sans\",\n toolbar: {\n show: true,\n export: {\n csv: {\n filename: `Export_${new Date().toLocaleDateString(\"en-CA\")}`,\n },\n },\n },\n },\n};\n\nconst DoughnutChart = ({ series, labels, height, isCurrency, loading }) => {\n if (loading) {\n return ;\n }\n\n const options = {\n title: {\n style: {\n fontWeight: 600,\n },\n },\n colors: colorPalette,\n dataLabels: {\n textAnchor: \"middle\",\n formatter: function (val, opts) {\n const index = opts.seriesIndex;\n const actualValue = series[index];\n return +parseFloat(actualValue).toFixed(2);\n },\n enabled: false,\n offsetY: -16,\n },\n legend: {\n position: \"bottom\",\n floating: false,\n fontSize: \"10px\",\n },\n labels: labels,\n plotOptions: {\n pie: {\n customScale: 0.8,\n dataLabels: {\n offset: 0,\n minAngleToShowLabel: 10,\n },\n donut: {\n background: \"transparent\",\n labels: {\n show: true,\n total: {\n show: true,\n showAlways: false,\n label: \"Total\",\n fontWeight: \"600\",\n formatter: function (w) {\n const totalSum = w.globals.seriesTotals.reduce((a, b) => {\n return a + b;\n }, 0);\n\n return isCurrency\n ? formatCurrency(totalSum)\n : +parseFloat(totalSum).toFixed(2);\n },\n },\n value: {\n show: true,\n formatter: function (val) {\n return isCurrency\n ? formatCurrency(val)\n : +parseFloat(val).toFixed(2);\n },\n },\n },\n\n tooltip: {\n enabled: true,\n style: { fontSize: 1, backgroundColor: \"white\" },\n theme: \"dark\",\n },\n },\n },\n },\n ...commonThemes,\n };\n return (\n \n );\n};\n\nexport default DoughnutChart;\n","import { Button } from \"primereact/button\";\n\nconst locationBodyTemplate = (\n rowData,\n setSelectedProperty,\n toggleLocationModal\n) => {\n return (\n {\n setSelectedProperty(rowData);\n toggleLocationModal();\n }}\n />\n );\n};\n\nexport default locationBodyTemplate;\n","import React from \"react\";\n\nconst Header = () => {\n return (\n
\n \n\n

\n Bareilly Nagar Nigam\n

\n\n \n
\n );\n};\n\nexport default Header;\n","import { Button } from \"primereact/button\";\n\nconst renderAdminButtons = (\n rowData,\n setSelectedProperty,\n toggleEditModal,\n toggleMatchingRemoveModal,\n togglePhotoUpdateModal\n) => {\n return (\n
\n {\n setSelectedProperty(rowData);\n toggleEditModal();\n }}\n />\n\n {\n setSelectedProperty(rowData);\n toggleMatchingRemoveModal();\n }}\n />\n\n {\n setSelectedProperty(rowData);\n togglePhotoUpdateModal();\n }}\n />\n
\n );\n};\n\nexport default renderAdminButtons;\n","import { Button } from \"primereact/button\";\n\nconst renderCTAOButtons = (rowData) => {\n return (\n
\n {\n window.open(`/properties/edit/${rowData.propertyUniqueId}`, \"_blank\");\n }}\n />\n {\n window.open(\n `/arrearsCorrection/${rowData.propertyUniqueId}`,\n \"_blank\"\n );\n }}\n />\n {\n window.open(\n `/payments/advance-posting/${rowData.propertyUniqueId}`,\n \"_blank\"\n );\n }}\n />\n
\n );\n};\nexport default renderCTAOButtons;\n","import { Button } from \"primereact/button\";\n\nconst renderTSButtons = (\n rowData,\n setSelectedProperty,\n toggleEditDetailsModal,\n toggleRequestMutationModal\n) => {\n return (\n
\n {\n setSelectedProperty(rowData);\n toggleEditDetailsModal();\n }}\n />\n {\n setSelectedProperty(rowData);\n toggleRequestMutationModal();\n }}\n />\n
\n );\n};\n\nexport default renderTSButtons;\n","import locationBodyTemplate from \"components/home/templates/LocationBodyTemplate\";\nimport { Button } from \"primereact/button\";\n\nconst renderViewButtons = (\n rowData,\n setSelectedProperty,\n toggleFloorModal,\n toggleShowLocationModal,\n showGallery\n) => {\n return (\n
\n {\n setSelectedProperty(rowData);\n toggleFloorModal();\n }}\n />\n {\n setSelectedProperty(rowData);\n showGallery();\n }}\n />\n {\n window.open(`/arv/${rowData.propertyUniqueId}`);\n }}\n />\n {\n window.open(`/ledger/${rowData.propertyUniqueId}`);\n }}\n />\n {locationBodyTemplate(\n rowData,\n setSelectedProperty,\n toggleShowLocationModal\n )}\n
\n );\n};\n\nexport default renderViewButtons;\n","import { useAuth } from \"context/AuthContext\";\nimport { API } from \"middleware/api\";\nimport { Dropdown } from \"primereact/dropdown\";\nimport { useEffect, useState } from \"react\";\n\nconst LocationFilters = ({\n selectedZone,\n selectedWard,\n selectedMohalla,\n onZoneChange,\n onWardChange,\n onMohallaChange,\n}) => {\n const [zones, setZones] = useState([]);\n const [wards, setWards] = useState([]);\n const [mohallas, setMohallas] = useState([]);\n\n const { userDetails, userAccess, accessType } = useAuth();\n\n useEffect(() => {\n const fetchAllZones = async () => {\n try {\n const response = await API.fetchFilteredZones();\n if (response) {\n response.sort((a, b) => a.zone_code - b.zone_code);\n let zoneOptions = [];\n\n response.forEach((zone) => {\n zoneOptions.push({\n zone_name: zone.zone_name,\n zone_id: zone._id,\n });\n });\n\n setZones(zoneOptions);\n }\n } catch (error) { }\n };\n\n fetchAllZones();\n }, [userDetails]);\n\n useEffect(() => {\n const fetchAllWards = async () => {\n try {\n const response = await API.fetchAllWards(selectedZone);\n\n if (response) {\n let wardOptions = [];\n\n response.forEach((ward) => {\n wardOptions.push({\n ward_name: `${ward.ward_name}-${ward.ward_fullname}`,\n ward_id: ward._id,\n });\n });\n\n setWards(wardOptions);\n }\n } catch (error) { }\n };\n\n fetchAllWards();\n }, [selectedZone, userDetails]);\n\n useEffect(() => {\n const fetchAllMohallas = async () => {\n try {\n const response = await API.fetchMohallasByWard(selectedWard);\n if (response) {\n setMohallas(response);\n }\n } catch (error) { }\n };\n\n if (selectedWard) {\n fetchAllMohallas();\n }\n }, [selectedWard]);\n\n return (\n
\n {accessType !== \"ward\" && (\n {\n onZoneChange(e.value);\n onWardChange();\n onMohallaChange();\n }}\n className=\"w-full\"\n id=\"zone-location-filter\"\n optionLabel=\"zone_name\"\n optionValue=\"zone_id\"\n placeholder=\"Select Zone\"\n />\n )}\n\n {\n onWardChange(e.value);\n onMohallaChange();\n }}\n className=\"w-full\"\n id=\"ward-location-filter\"\n optionLabel=\"ward_name\"\n optionValue=\"ward_id\"\n placeholder=\"Select Ward\"\n />\n\n {\n onMohallaChange(e.value);\n }}\n className=\"w-full\"\n id=\"mohalla-location-filter\"\n optionLabel=\"name\"\n optionValue=\"_id\"\n placeholder=\"Select Mohalla\"\n />\n
\n );\n};\n\nexport default LocationFilters;\n","import { Button } from \"primereact/button\";\n\nconst FormButtons = ({ handleReset, errors, isSubmitting }) => {\n return (\n
\n 0 || isSubmitting}\n type=\"submit\"\n label=\"Apply\"\n icon=\"pi pi-check\"\n className=\"w-max\"\n id=\"apply-button\"\n />\n 0 || isSubmitting}\n type=\"button\"\n label=\"Reset\"\n icon=\"pi pi-sync\"\n className=\"w-max\"\n id=\"reset-button\"\n onClick={handleReset}\n />\n
\n );\n};\n\nexport default FormButtons;\n","import React from \"react\";\nimport { IconField } from \"primereact/iconfield\";\nimport { InputIcon } from \"primereact/inputicon\";\nimport { InputText } from \"primereact/inputtext\";\n\nimport styles from \"./ui.module.css\";\n\nconst IconInput = ({\n label,\n type,\n name,\n onInputChange,\n inputValue,\n handleBlur,\n errors,\n touched,\n iconName,\n required,\n ...props\n}) => {\n return (\n
\n {label && (\n \n )}\n \n {iconName ? (\n \n \n \n \n ) : (\n \n )}\n {errors && touched && {errors}}\n \n
\n );\n};\n\nexport default IconInput;\n","import { Dropdown } from \"primereact/dropdown\";\nimport React from \"react\";\n\nimport styles from \"./ui.module.css\";\n\nconst LabelledDropdown = ({\n options,\n value,\n label,\n onChange,\n placeholderText,\n id,\n required,\n handleBlur,\n errors,\n touched,\n ...props\n}) => {\n return (\n
\n {label && (\n \n )}\n \n {errors && {errors}}\n
\n );\n};\n\nexport default LabelledDropdown;\n","import { createElementObject, createLayerComponent, extendContext } from '@react-leaflet/core';\nimport { Marker as LeafletMarker } from 'leaflet';\nexport const Marker = createLayerComponent(function createMarker({ position , ...options }, ctx) {\n const marker = new LeafletMarker(position, options);\n return createElementObject(marker, extendContext(ctx, {\n overlayContainer: marker\n }));\n}, function updateMarker(marker, props, prevProps) {\n if (props.position !== prevProps.position) {\n marker.setLatLng(props.position);\n }\n if (props.icon != null && props.icon !== prevProps.icon) {\n marker.setIcon(props.icon);\n }\n if (props.zIndexOffset != null && props.zIndexOffset !== prevProps.zIndexOffset) {\n marker.setZIndexOffset(props.zIndexOffset);\n }\n if (props.opacity != null && props.opacity !== prevProps.opacity) {\n marker.setOpacity(props.opacity);\n }\n if (marker.dragging != null && props.draggable !== prevProps.draggable) {\n if (props.draggable === true) {\n marker.dragging.enable();\n } else {\n marker.dragging.disable();\n }\n }\n});\n","import { Dialog } from \"primereact/dialog\";\nimport React from \"react\";\nimport { LayersControl, MapContainer, Marker, TileLayer } from \"react-leaflet\";\n\nimport styles from \"./ui.module.css\";\n\nimport L from \"leaflet\";\n\nconst locationMarker = new L.Icon({\n iconUrl: require(\"assets/icons/building.svg\").default,\n iconSize: [40, 40],\n iconAnchor: [32, 64],\n});\n\nconst MapDialog = ({ visible, toggleModalVisibility, selectedProperty }) => {\n return (\n \n <>\n \n See on Google\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n );\n};\n\nexport default MapDialog;\n\n// import { Dialog } from \"primereact/dialog\";\n// import React, { useState } from \"react\";\n// import MapGL, { FullscreenControl, Marker } from \"react-map-gl\";\n\n// import \"mapbox-gl/dist/mapbox-gl.css\";\n\n// const MAPBOX_TOKEN =\n// \"pk.eyJ1Ijoic2FydmVzaHBhbGF2IiwiYSI6ImNrc3UxNjNiZjFiZnkzMm9kOHRjZzM0MGsifQ.IuFVKuKrlshye1HRKIz0AQ\";\n\n// const MapDialog = ({ visible, toggleModalVisibility, selectedProperty }) => {\n// const [viewport, setViewport] = useState({\n// latitude: selectedProperty?.latitude,\n// longitude: selectedProperty?.longitude,\n// zoom: 10,\n// width: \"500px\",\n// height: \"100px\",\n// });\n\n// return (\n// \n// {/* */}\n\n// \n// \n//
📍
\n// \n// \n// \n// );\n// };\n\n// export default MapDialog;\n","import React from \"react\";\n\nconst PageHeader = ({ text }) => {\n return (\n
\n
\n

{text}

\n
\n );\n};\n\nexport default PageHeader;\n","import React from \"react\";\nimport { formatCurrency } from \"utils/formatCurrency\";\n\nimport styles from \"./ui.module.css\";\nimport { Skeleton } from \"primereact/skeleton\";\nimport getAmountInWords from \"utils/getAmountInWords\";\nimport { Tooltip } from \"primereact/tooltip\";\n\nconst StatsCard = ({\n title,\n value,\n borderColor,\n isCurrency = true,\n loading,\n}) => {\n if (loading) {\n return (\n
\n \n \n
\n );\n }\n\n // Ensure value is initialized as 0 if it's undefined or null\n const formattedValue = value !== undefined && value !== null ? value : 0;\n\n return (\n
\n
\n
{title}
\n \n {isCurrency ? formatCurrency(formattedValue) : formattedValue}\n
\n\n {isCurrency && (\n \n )}\n
\n\n \n
\n );\n};\n\nexport default StatsCard;\n","import React, { forwardRef, useEffect } from \"react\";\nimport { Toast } from \"primereact/toast\";\n\nconst CustomToast = forwardRef((props, ref) => {\n useEffect(() => {\n if (ref && ref.current && props.toastOptions) {\n ref.current.show({\n severity: props.toastOptions.severity,\n summary: props.toastOptions.summary,\n detail: props.toastOptions.detail,\n life: 3000,\n });\n }\n }, [props.toastOptions, ref]);\n\n return ;\n});\n\nexport default CustomToast;\n","import { Column } from \"jspdf-autotable\";\nimport { DataTable } from \"primereact/datatable\";\nimport { Skeleton } from \"primereact/skeleton\";\n\nconst TableSkeleton = () => {\n const items = Array.from({ length: 5 }, (v, i) => i);\n return (\n
\n \n } />\n } />\n } />\n } />\n \n
\n );\n};\n\nexport default TableSkeleton;\n","import { getter, forEach, split, normalizePath, join } from 'property-expr';\nimport { camelCase, snakeCase } from 'tiny-case';\nimport toposort from 'toposort';\n\nconst toString = Object.prototype.toString;\nconst errorToString = Error.prototype.toString;\nconst regExpToString = RegExp.prototype.toString;\nconst symbolToString = typeof Symbol !== 'undefined' ? Symbol.prototype.toString : () => '';\nconst SYMBOL_REGEXP = /^Symbol\\((.*)\\)(.*)$/;\nfunction printNumber(val) {\n if (val != +val) return 'NaN';\n const isNegativeZero = val === 0 && 1 / val < 0;\n return isNegativeZero ? '-0' : '' + val;\n}\nfunction printSimpleValue(val, quoteStrings = false) {\n if (val == null || val === true || val === false) return '' + val;\n const typeOf = typeof val;\n if (typeOf === 'number') return printNumber(val);\n if (typeOf === 'string') return quoteStrings ? `\"${val}\"` : val;\n if (typeOf === 'function') return '[Function ' + (val.name || 'anonymous') + ']';\n if (typeOf === 'symbol') return symbolToString.call(val).replace(SYMBOL_REGEXP, 'Symbol($1)');\n const tag = toString.call(val).slice(8, -1);\n if (tag === 'Date') return isNaN(val.getTime()) ? '' + val : val.toISOString(val);\n if (tag === 'Error' || val instanceof Error) return '[' + errorToString.call(val) + ']';\n if (tag === 'RegExp') return regExpToString.call(val);\n return null;\n}\nfunction printValue(value, quoteStrings) {\n let result = printSimpleValue(value, quoteStrings);\n if (result !== null) return result;\n return JSON.stringify(value, function (key, value) {\n let result = printSimpleValue(this[key], quoteStrings);\n if (result !== null) return result;\n return value;\n }, 2);\n}\n\nfunction toArray(value) {\n return value == null ? [] : [].concat(value);\n}\n\nlet _Symbol$toStringTag, _Symbol$hasInstance, _Symbol$toStringTag2;\nlet strReg = /\\$\\{\\s*(\\w+)\\s*\\}/g;\n_Symbol$toStringTag = Symbol.toStringTag;\nclass ValidationErrorNoStack {\n constructor(errorOrErrors, value, field, type) {\n this.name = void 0;\n this.message = void 0;\n this.value = void 0;\n this.path = void 0;\n this.type = void 0;\n this.params = void 0;\n this.errors = void 0;\n this.inner = void 0;\n this[_Symbol$toStringTag] = 'Error';\n this.name = 'ValidationError';\n this.value = value;\n this.path = field;\n this.type = type;\n this.errors = [];\n this.inner = [];\n toArray(errorOrErrors).forEach(err => {\n if (ValidationError.isError(err)) {\n this.errors.push(...err.errors);\n const innerErrors = err.inner.length ? err.inner : [err];\n this.inner.push(...innerErrors);\n } else {\n this.errors.push(err);\n }\n });\n this.message = this.errors.length > 1 ? `${this.errors.length} errors occurred` : this.errors[0];\n }\n}\n_Symbol$hasInstance = Symbol.hasInstance;\n_Symbol$toStringTag2 = Symbol.toStringTag;\nclass ValidationError extends Error {\n static formatError(message, params) {\n const path = params.label || params.path || 'this';\n if (path !== params.path) params = Object.assign({}, params, {\n path\n });\n if (typeof message === 'string') return message.replace(strReg, (_, key) => printValue(params[key]));\n if (typeof message === 'function') return message(params);\n return message;\n }\n static isError(err) {\n return err && err.name === 'ValidationError';\n }\n constructor(errorOrErrors, value, field, type, disableStack) {\n const errorNoStack = new ValidationErrorNoStack(errorOrErrors, value, field, type);\n if (disableStack) {\n return errorNoStack;\n }\n super();\n this.value = void 0;\n this.path = void 0;\n this.type = void 0;\n this.params = void 0;\n this.errors = [];\n this.inner = [];\n this[_Symbol$toStringTag2] = 'Error';\n this.name = errorNoStack.name;\n this.message = errorNoStack.message;\n this.type = errorNoStack.type;\n this.value = errorNoStack.value;\n this.path = errorNoStack.path;\n this.errors = errorNoStack.errors;\n this.inner = errorNoStack.inner;\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, ValidationError);\n }\n }\n static [_Symbol$hasInstance](inst) {\n return ValidationErrorNoStack[Symbol.hasInstance](inst) || super[Symbol.hasInstance](inst);\n }\n}\n\nlet mixed = {\n default: '${path} is invalid',\n required: '${path} is a required field',\n defined: '${path} must be defined',\n notNull: '${path} cannot be null',\n oneOf: '${path} must be one of the following values: ${values}',\n notOneOf: '${path} must not be one of the following values: ${values}',\n notType: ({\n path,\n type,\n value,\n originalValue\n }) => {\n const castMsg = originalValue != null && originalValue !== value ? ` (cast from the value \\`${printValue(originalValue, true)}\\`).` : '.';\n return type !== 'mixed' ? `${path} must be a \\`${type}\\` type, ` + `but the final value was: \\`${printValue(value, true)}\\`` + castMsg : `${path} must match the configured type. ` + `The validated value was: \\`${printValue(value, true)}\\`` + castMsg;\n }\n};\nlet string = {\n length: '${path} must be exactly ${length} characters',\n min: '${path} must be at least ${min} characters',\n max: '${path} must be at most ${max} characters',\n matches: '${path} must match the following: \"${regex}\"',\n email: '${path} must be a valid email',\n url: '${path} must be a valid URL',\n uuid: '${path} must be a valid UUID',\n datetime: '${path} must be a valid ISO date-time',\n datetime_precision: '${path} must be a valid ISO date-time with a sub-second precision of exactly ${precision} digits',\n datetime_offset: '${path} must be a valid ISO date-time with UTC \"Z\" timezone',\n trim: '${path} must be a trimmed string',\n lowercase: '${path} must be a lowercase string',\n uppercase: '${path} must be a upper case string'\n};\nlet number = {\n min: '${path} must be greater than or equal to ${min}',\n max: '${path} must be less than or equal to ${max}',\n lessThan: '${path} must be less than ${less}',\n moreThan: '${path} must be greater than ${more}',\n positive: '${path} must be a positive number',\n negative: '${path} must be a negative number',\n integer: '${path} must be an integer'\n};\nlet date = {\n min: '${path} field must be later than ${min}',\n max: '${path} field must be at earlier than ${max}'\n};\nlet boolean = {\n isValue: '${path} field must be ${value}'\n};\nlet object = {\n noUnknown: '${path} field has unspecified keys: ${unknown}'\n};\nlet array = {\n min: '${path} field must have at least ${min} items',\n max: '${path} field must have less than or equal to ${max} items',\n length: '${path} must have ${length} items'\n};\nlet tuple = {\n notType: params => {\n const {\n path,\n value,\n spec\n } = params;\n const typeLen = spec.types.length;\n if (Array.isArray(value)) {\n if (value.length < typeLen) return `${path} tuple value has too few items, expected a length of ${typeLen} but got ${value.length} for value: \\`${printValue(value, true)}\\``;\n if (value.length > typeLen) return `${path} tuple value has too many items, expected a length of ${typeLen} but got ${value.length} for value: \\`${printValue(value, true)}\\``;\n }\n return ValidationError.formatError(mixed.notType, params);\n }\n};\nvar locale = Object.assign(Object.create(null), {\n mixed,\n string,\n number,\n date,\n object,\n array,\n boolean,\n tuple\n});\n\nconst isSchema = obj => obj && obj.__isYupSchema__;\n\nclass Condition {\n static fromOptions(refs, config) {\n if (!config.then && !config.otherwise) throw new TypeError('either `then:` or `otherwise:` is required for `when()` conditions');\n let {\n is,\n then,\n otherwise\n } = config;\n let check = typeof is === 'function' ? is : (...values) => values.every(value => value === is);\n return new Condition(refs, (values, schema) => {\n var _branch;\n let branch = check(...values) ? then : otherwise;\n return (_branch = branch == null ? void 0 : branch(schema)) != null ? _branch : schema;\n });\n }\n constructor(refs, builder) {\n this.fn = void 0;\n this.refs = refs;\n this.refs = refs;\n this.fn = builder;\n }\n resolve(base, options) {\n let values = this.refs.map(ref =>\n // TODO: ? operator here?\n ref.getValue(options == null ? void 0 : options.value, options == null ? void 0 : options.parent, options == null ? void 0 : options.context));\n let schema = this.fn(values, base, options);\n if (schema === undefined ||\n // @ts-ignore this can be base\n schema === base) {\n return base;\n }\n if (!isSchema(schema)) throw new TypeError('conditions must return a schema object');\n return schema.resolve(options);\n }\n}\n\nconst prefixes = {\n context: '$',\n value: '.'\n};\nfunction create$9(key, options) {\n return new Reference(key, options);\n}\nclass Reference {\n constructor(key, options = {}) {\n this.key = void 0;\n this.isContext = void 0;\n this.isValue = void 0;\n this.isSibling = void 0;\n this.path = void 0;\n this.getter = void 0;\n this.map = void 0;\n if (typeof key !== 'string') throw new TypeError('ref must be a string, got: ' + key);\n this.key = key.trim();\n if (key === '') throw new TypeError('ref must be a non-empty string');\n this.isContext = this.key[0] === prefixes.context;\n this.isValue = this.key[0] === prefixes.value;\n this.isSibling = !this.isContext && !this.isValue;\n let prefix = this.isContext ? prefixes.context : this.isValue ? prefixes.value : '';\n this.path = this.key.slice(prefix.length);\n this.getter = this.path && getter(this.path, true);\n this.map = options.map;\n }\n getValue(value, parent, context) {\n let result = this.isContext ? context : this.isValue ? value : parent;\n if (this.getter) result = this.getter(result || {});\n if (this.map) result = this.map(result);\n return result;\n }\n\n /**\n *\n * @param {*} value\n * @param {Object} options\n * @param {Object=} options.context\n * @param {Object=} options.parent\n */\n cast(value, options) {\n return this.getValue(value, options == null ? void 0 : options.parent, options == null ? void 0 : options.context);\n }\n resolve() {\n return this;\n }\n describe() {\n return {\n type: 'ref',\n key: this.key\n };\n }\n toString() {\n return `Ref(${this.key})`;\n }\n static isRef(value) {\n return value && value.__isYupRef;\n }\n}\n\n// @ts-ignore\nReference.prototype.__isYupRef = true;\n\nconst isAbsent = value => value == null;\n\nfunction createValidation(config) {\n function validate({\n value,\n path = '',\n options,\n originalValue,\n schema\n }, panic, next) {\n const {\n name,\n test,\n params,\n message,\n skipAbsent\n } = config;\n let {\n parent,\n context,\n abortEarly = schema.spec.abortEarly,\n disableStackTrace = schema.spec.disableStackTrace\n } = options;\n function resolve(item) {\n return Reference.isRef(item) ? item.getValue(value, parent, context) : item;\n }\n function createError(overrides = {}) {\n const nextParams = Object.assign({\n value,\n originalValue,\n label: schema.spec.label,\n path: overrides.path || path,\n spec: schema.spec,\n disableStackTrace: overrides.disableStackTrace || disableStackTrace\n }, params, overrides.params);\n for (const key of Object.keys(nextParams)) nextParams[key] = resolve(nextParams[key]);\n const error = new ValidationError(ValidationError.formatError(overrides.message || message, nextParams), value, nextParams.path, overrides.type || name, nextParams.disableStackTrace);\n error.params = nextParams;\n return error;\n }\n const invalid = abortEarly ? panic : next;\n let ctx = {\n path,\n parent,\n type: name,\n from: options.from,\n createError,\n resolve,\n options,\n originalValue,\n schema\n };\n const handleResult = validOrError => {\n if (ValidationError.isError(validOrError)) invalid(validOrError);else if (!validOrError) invalid(createError());else next(null);\n };\n const handleError = err => {\n if (ValidationError.isError(err)) invalid(err);else panic(err);\n };\n const shouldSkip = skipAbsent && isAbsent(value);\n if (shouldSkip) {\n return handleResult(true);\n }\n let result;\n try {\n var _result;\n result = test.call(ctx, value, ctx);\n if (typeof ((_result = result) == null ? void 0 : _result.then) === 'function') {\n if (options.sync) {\n throw new Error(`Validation test of type: \"${ctx.type}\" returned a Promise during a synchronous validate. ` + `This test will finish after the validate call has returned`);\n }\n return Promise.resolve(result).then(handleResult, handleError);\n }\n } catch (err) {\n handleError(err);\n return;\n }\n handleResult(result);\n }\n validate.OPTIONS = config;\n return validate;\n}\n\nfunction getIn(schema, path, value, context = value) {\n let parent, lastPart, lastPartDebug;\n\n // root path: ''\n if (!path) return {\n parent,\n parentPath: path,\n schema\n };\n forEach(path, (_part, isBracket, isArray) => {\n let part = isBracket ? _part.slice(1, _part.length - 1) : _part;\n schema = schema.resolve({\n context,\n parent,\n value\n });\n let isTuple = schema.type === 'tuple';\n let idx = isArray ? parseInt(part, 10) : 0;\n if (schema.innerType || isTuple) {\n if (isTuple && !isArray) throw new Error(`Yup.reach cannot implicitly index into a tuple type. the path part \"${lastPartDebug}\" must contain an index to the tuple element, e.g. \"${lastPartDebug}[0]\"`);\n if (value && idx >= value.length) {\n throw new Error(`Yup.reach cannot resolve an array item at index: ${_part}, in the path: ${path}. ` + `because there is no value at that index. `);\n }\n parent = value;\n value = value && value[idx];\n schema = isTuple ? schema.spec.types[idx] : schema.innerType;\n }\n\n // sometimes the array index part of a path doesn't exist: \"nested.arr.child\"\n // in these cases the current part is the next schema and should be processed\n // in this iteration. For cases where the index signature is included this\n // check will fail and we'll handle the `child` part on the next iteration like normal\n if (!isArray) {\n if (!schema.fields || !schema.fields[part]) throw new Error(`The schema does not contain the path: ${path}. ` + `(failed at: ${lastPartDebug} which is a type: \"${schema.type}\")`);\n parent = value;\n value = value && value[part];\n schema = schema.fields[part];\n }\n lastPart = part;\n lastPartDebug = isBracket ? '[' + _part + ']' : '.' + _part;\n });\n return {\n schema,\n parent,\n parentPath: lastPart\n };\n}\nfunction reach(obj, path, value, context) {\n return getIn(obj, path, value, context).schema;\n}\n\nclass ReferenceSet extends Set {\n describe() {\n const description = [];\n for (const item of this.values()) {\n description.push(Reference.isRef(item) ? item.describe() : item);\n }\n return description;\n }\n resolveAll(resolve) {\n let result = [];\n for (const item of this.values()) {\n result.push(resolve(item));\n }\n return result;\n }\n clone() {\n return new ReferenceSet(this.values());\n }\n merge(newItems, removeItems) {\n const next = this.clone();\n newItems.forEach(value => next.add(value));\n removeItems.forEach(value => next.delete(value));\n return next;\n }\n}\n\n// tweaked from https://github.com/Kelin2025/nanoclone/blob/0abeb7635bda9b68ef2277093f76dbe3bf3948e1/src/index.js\nfunction clone(src, seen = new Map()) {\n if (isSchema(src) || !src || typeof src !== 'object') return src;\n if (seen.has(src)) return seen.get(src);\n let copy;\n if (src instanceof Date) {\n // Date\n copy = new Date(src.getTime());\n seen.set(src, copy);\n } else if (src instanceof RegExp) {\n // RegExp\n copy = new RegExp(src);\n seen.set(src, copy);\n } else if (Array.isArray(src)) {\n // Array\n copy = new Array(src.length);\n seen.set(src, copy);\n for (let i = 0; i < src.length; i++) copy[i] = clone(src[i], seen);\n } else if (src instanceof Map) {\n // Map\n copy = new Map();\n seen.set(src, copy);\n for (const [k, v] of src.entries()) copy.set(k, clone(v, seen));\n } else if (src instanceof Set) {\n // Set\n copy = new Set();\n seen.set(src, copy);\n for (const v of src) copy.add(clone(v, seen));\n } else if (src instanceof Object) {\n // Object\n copy = {};\n seen.set(src, copy);\n for (const [k, v] of Object.entries(src)) copy[k] = clone(v, seen);\n } else {\n throw Error(`Unable to clone ${src}`);\n }\n return copy;\n}\n\n// If `CustomSchemaMeta` isn't extended with any keys, we'll fall back to a\n// loose Record definition allowing free form usage.\nclass Schema {\n constructor(options) {\n this.type = void 0;\n this.deps = [];\n this.tests = void 0;\n this.transforms = void 0;\n this.conditions = [];\n this._mutate = void 0;\n this.internalTests = {};\n this._whitelist = new ReferenceSet();\n this._blacklist = new ReferenceSet();\n this.exclusiveTests = Object.create(null);\n this._typeCheck = void 0;\n this.spec = void 0;\n this.tests = [];\n this.transforms = [];\n this.withMutation(() => {\n this.typeError(mixed.notType);\n });\n this.type = options.type;\n this._typeCheck = options.check;\n this.spec = Object.assign({\n strip: false,\n strict: false,\n abortEarly: true,\n recursive: true,\n disableStackTrace: false,\n nullable: false,\n optional: true,\n coerce: true\n }, options == null ? void 0 : options.spec);\n this.withMutation(s => {\n s.nonNullable();\n });\n }\n\n // TODO: remove\n get _type() {\n return this.type;\n }\n clone(spec) {\n if (this._mutate) {\n if (spec) Object.assign(this.spec, spec);\n return this;\n }\n\n // if the nested value is a schema we can skip cloning, since\n // they are already immutable\n const next = Object.create(Object.getPrototypeOf(this));\n\n // @ts-expect-error this is readonly\n next.type = this.type;\n next._typeCheck = this._typeCheck;\n next._whitelist = this._whitelist.clone();\n next._blacklist = this._blacklist.clone();\n next.internalTests = Object.assign({}, this.internalTests);\n next.exclusiveTests = Object.assign({}, this.exclusiveTests);\n\n // @ts-expect-error this is readonly\n next.deps = [...this.deps];\n next.conditions = [...this.conditions];\n next.tests = [...this.tests];\n next.transforms = [...this.transforms];\n next.spec = clone(Object.assign({}, this.spec, spec));\n return next;\n }\n label(label) {\n let next = this.clone();\n next.spec.label = label;\n return next;\n }\n meta(...args) {\n if (args.length === 0) return this.spec.meta;\n let next = this.clone();\n next.spec.meta = Object.assign(next.spec.meta || {}, args[0]);\n return next;\n }\n withMutation(fn) {\n let before = this._mutate;\n this._mutate = true;\n let result = fn(this);\n this._mutate = before;\n return result;\n }\n concat(schema) {\n if (!schema || schema === this) return this;\n if (schema.type !== this.type && this.type !== 'mixed') throw new TypeError(`You cannot \\`concat()\\` schema's of different types: ${this.type} and ${schema.type}`);\n let base = this;\n let combined = schema.clone();\n const mergedSpec = Object.assign({}, base.spec, combined.spec);\n combined.spec = mergedSpec;\n combined.internalTests = Object.assign({}, base.internalTests, combined.internalTests);\n\n // manually merge the blacklist/whitelist (the other `schema` takes\n // precedence in case of conflicts)\n combined._whitelist = base._whitelist.merge(schema._whitelist, schema._blacklist);\n combined._blacklist = base._blacklist.merge(schema._blacklist, schema._whitelist);\n\n // start with the current tests\n combined.tests = base.tests;\n combined.exclusiveTests = base.exclusiveTests;\n\n // manually add the new tests to ensure\n // the deduping logic is consistent\n combined.withMutation(next => {\n schema.tests.forEach(fn => {\n next.test(fn.OPTIONS);\n });\n });\n combined.transforms = [...base.transforms, ...combined.transforms];\n return combined;\n }\n isType(v) {\n if (v == null) {\n if (this.spec.nullable && v === null) return true;\n if (this.spec.optional && v === undefined) return true;\n return false;\n }\n return this._typeCheck(v);\n }\n resolve(options) {\n let schema = this;\n if (schema.conditions.length) {\n let conditions = schema.conditions;\n schema = schema.clone();\n schema.conditions = [];\n schema = conditions.reduce((prevSchema, condition) => condition.resolve(prevSchema, options), schema);\n schema = schema.resolve(options);\n }\n return schema;\n }\n resolveOptions(options) {\n var _options$strict, _options$abortEarly, _options$recursive, _options$disableStack;\n return Object.assign({}, options, {\n from: options.from || [],\n strict: (_options$strict = options.strict) != null ? _options$strict : this.spec.strict,\n abortEarly: (_options$abortEarly = options.abortEarly) != null ? _options$abortEarly : this.spec.abortEarly,\n recursive: (_options$recursive = options.recursive) != null ? _options$recursive : this.spec.recursive,\n disableStackTrace: (_options$disableStack = options.disableStackTrace) != null ? _options$disableStack : this.spec.disableStackTrace\n });\n }\n\n /**\n * Run the configured transform pipeline over an input value.\n */\n\n cast(value, options = {}) {\n let resolvedSchema = this.resolve(Object.assign({\n value\n }, options));\n let allowOptionality = options.assert === 'ignore-optionality';\n let result = resolvedSchema._cast(value, options);\n if (options.assert !== false && !resolvedSchema.isType(result)) {\n if (allowOptionality && isAbsent(result)) {\n return result;\n }\n let formattedValue = printValue(value);\n let formattedResult = printValue(result);\n throw new TypeError(`The value of ${options.path || 'field'} could not be cast to a value ` + `that satisfies the schema type: \"${resolvedSchema.type}\". \\n\\n` + `attempted value: ${formattedValue} \\n` + (formattedResult !== formattedValue ? `result of cast: ${formattedResult}` : ''));\n }\n return result;\n }\n _cast(rawValue, options) {\n let value = rawValue === undefined ? rawValue : this.transforms.reduce((prevValue, fn) => fn.call(this, prevValue, rawValue, this), rawValue);\n if (value === undefined) {\n value = this.getDefault(options);\n }\n return value;\n }\n _validate(_value, options = {}, panic, next) {\n let {\n path,\n originalValue = _value,\n strict = this.spec.strict\n } = options;\n let value = _value;\n if (!strict) {\n value = this._cast(value, Object.assign({\n assert: false\n }, options));\n }\n let initialTests = [];\n for (let test of Object.values(this.internalTests)) {\n if (test) initialTests.push(test);\n }\n this.runTests({\n path,\n value,\n originalValue,\n options,\n tests: initialTests\n }, panic, initialErrors => {\n // even if we aren't ending early we can't proceed further if the types aren't correct\n if (initialErrors.length) {\n return next(initialErrors, value);\n }\n this.runTests({\n path,\n value,\n originalValue,\n options,\n tests: this.tests\n }, panic, next);\n });\n }\n\n /**\n * Executes a set of validations, either schema, produced Tests or a nested\n * schema validate result.\n */\n runTests(runOptions, panic, next) {\n let fired = false;\n let {\n tests,\n value,\n originalValue,\n path,\n options\n } = runOptions;\n let panicOnce = arg => {\n if (fired) return;\n fired = true;\n panic(arg, value);\n };\n let nextOnce = arg => {\n if (fired) return;\n fired = true;\n next(arg, value);\n };\n let count = tests.length;\n let nestedErrors = [];\n if (!count) return nextOnce([]);\n let args = {\n value,\n originalValue,\n path,\n options,\n schema: this\n };\n for (let i = 0; i < tests.length; i++) {\n const test = tests[i];\n test(args, panicOnce, function finishTestRun(err) {\n if (err) {\n Array.isArray(err) ? nestedErrors.push(...err) : nestedErrors.push(err);\n }\n if (--count <= 0) {\n nextOnce(nestedErrors);\n }\n });\n }\n }\n asNestedTest({\n key,\n index,\n parent,\n parentPath,\n originalParent,\n options\n }) {\n const k = key != null ? key : index;\n if (k == null) {\n throw TypeError('Must include `key` or `index` for nested validations');\n }\n const isIndex = typeof k === 'number';\n let value = parent[k];\n const testOptions = Object.assign({}, options, {\n // Nested validations fields are always strict:\n // 1. parent isn't strict so the casting will also have cast inner values\n // 2. parent is strict in which case the nested values weren't cast either\n strict: true,\n parent,\n value,\n originalValue: originalParent[k],\n // FIXME: tests depend on `index` being passed around deeply,\n // we should not let the options.key/index bleed through\n key: undefined,\n // index: undefined,\n [isIndex ? 'index' : 'key']: k,\n path: isIndex || k.includes('.') ? `${parentPath || ''}[${isIndex ? k : `\"${k}\"`}]` : (parentPath ? `${parentPath}.` : '') + key\n });\n return (_, panic, next) => this.resolve(testOptions)._validate(value, testOptions, panic, next);\n }\n validate(value, options) {\n var _options$disableStack2;\n let schema = this.resolve(Object.assign({}, options, {\n value\n }));\n let disableStackTrace = (_options$disableStack2 = options == null ? void 0 : options.disableStackTrace) != null ? _options$disableStack2 : schema.spec.disableStackTrace;\n return new Promise((resolve, reject) => schema._validate(value, options, (error, parsed) => {\n if (ValidationError.isError(error)) error.value = parsed;\n reject(error);\n }, (errors, validated) => {\n if (errors.length) reject(new ValidationError(errors, validated, undefined, undefined, disableStackTrace));else resolve(validated);\n }));\n }\n validateSync(value, options) {\n var _options$disableStack3;\n let schema = this.resolve(Object.assign({}, options, {\n value\n }));\n let result;\n let disableStackTrace = (_options$disableStack3 = options == null ? void 0 : options.disableStackTrace) != null ? _options$disableStack3 : schema.spec.disableStackTrace;\n schema._validate(value, Object.assign({}, options, {\n sync: true\n }), (error, parsed) => {\n if (ValidationError.isError(error)) error.value = parsed;\n throw error;\n }, (errors, validated) => {\n if (errors.length) throw new ValidationError(errors, value, undefined, undefined, disableStackTrace);\n result = validated;\n });\n return result;\n }\n isValid(value, options) {\n return this.validate(value, options).then(() => true, err => {\n if (ValidationError.isError(err)) return false;\n throw err;\n });\n }\n isValidSync(value, options) {\n try {\n this.validateSync(value, options);\n return true;\n } catch (err) {\n if (ValidationError.isError(err)) return false;\n throw err;\n }\n }\n _getDefault(options) {\n let defaultValue = this.spec.default;\n if (defaultValue == null) {\n return defaultValue;\n }\n return typeof defaultValue === 'function' ? defaultValue.call(this, options) : clone(defaultValue);\n }\n getDefault(options\n // If schema is defaulted we know it's at least not undefined\n ) {\n let schema = this.resolve(options || {});\n return schema._getDefault(options);\n }\n default(def) {\n if (arguments.length === 0) {\n return this._getDefault();\n }\n let next = this.clone({\n default: def\n });\n return next;\n }\n strict(isStrict = true) {\n return this.clone({\n strict: isStrict\n });\n }\n nullability(nullable, message) {\n const next = this.clone({\n nullable\n });\n next.internalTests.nullable = createValidation({\n message,\n name: 'nullable',\n test(value) {\n return value === null ? this.schema.spec.nullable : true;\n }\n });\n return next;\n }\n optionality(optional, message) {\n const next = this.clone({\n optional\n });\n next.internalTests.optionality = createValidation({\n message,\n name: 'optionality',\n test(value) {\n return value === undefined ? this.schema.spec.optional : true;\n }\n });\n return next;\n }\n optional() {\n return this.optionality(true);\n }\n defined(message = mixed.defined) {\n return this.optionality(false, message);\n }\n nullable() {\n return this.nullability(true);\n }\n nonNullable(message = mixed.notNull) {\n return this.nullability(false, message);\n }\n required(message = mixed.required) {\n return this.clone().withMutation(next => next.nonNullable(message).defined(message));\n }\n notRequired() {\n return this.clone().withMutation(next => next.nullable().optional());\n }\n transform(fn) {\n let next = this.clone();\n next.transforms.push(fn);\n return next;\n }\n\n /**\n * Adds a test function to the schema's queue of tests.\n * tests can be exclusive or non-exclusive.\n *\n * - exclusive tests, will replace any existing tests of the same name.\n * - non-exclusive: can be stacked\n *\n * If a non-exclusive test is added to a schema with an exclusive test of the same name\n * the exclusive test is removed and further tests of the same name will be stacked.\n *\n * If an exclusive test is added to a schema with non-exclusive tests of the same name\n * the previous tests are removed and further tests of the same name will replace each other.\n */\n\n test(...args) {\n let opts;\n if (args.length === 1) {\n if (typeof args[0] === 'function') {\n opts = {\n test: args[0]\n };\n } else {\n opts = args[0];\n }\n } else if (args.length === 2) {\n opts = {\n name: args[0],\n test: args[1]\n };\n } else {\n opts = {\n name: args[0],\n message: args[1],\n test: args[2]\n };\n }\n if (opts.message === undefined) opts.message = mixed.default;\n if (typeof opts.test !== 'function') throw new TypeError('`test` is a required parameters');\n let next = this.clone();\n let validate = createValidation(opts);\n let isExclusive = opts.exclusive || opts.name && next.exclusiveTests[opts.name] === true;\n if (opts.exclusive) {\n if (!opts.name) throw new TypeError('Exclusive tests must provide a unique `name` identifying the test');\n }\n if (opts.name) next.exclusiveTests[opts.name] = !!opts.exclusive;\n next.tests = next.tests.filter(fn => {\n if (fn.OPTIONS.name === opts.name) {\n if (isExclusive) return false;\n if (fn.OPTIONS.test === validate.OPTIONS.test) return false;\n }\n return true;\n });\n next.tests.push(validate);\n return next;\n }\n when(keys, options) {\n if (!Array.isArray(keys) && typeof keys !== 'string') {\n options = keys;\n keys = '.';\n }\n let next = this.clone();\n let deps = toArray(keys).map(key => new Reference(key));\n deps.forEach(dep => {\n // @ts-ignore readonly array\n if (dep.isSibling) next.deps.push(dep.key);\n });\n next.conditions.push(typeof options === 'function' ? new Condition(deps, options) : Condition.fromOptions(deps, options));\n return next;\n }\n typeError(message) {\n let next = this.clone();\n next.internalTests.typeError = createValidation({\n message,\n name: 'typeError',\n skipAbsent: true,\n test(value) {\n if (!this.schema._typeCheck(value)) return this.createError({\n params: {\n type: this.schema.type\n }\n });\n return true;\n }\n });\n return next;\n }\n oneOf(enums, message = mixed.oneOf) {\n let next = this.clone();\n enums.forEach(val => {\n next._whitelist.add(val);\n next._blacklist.delete(val);\n });\n next.internalTests.whiteList = createValidation({\n message,\n name: 'oneOf',\n skipAbsent: true,\n test(value) {\n let valids = this.schema._whitelist;\n let resolved = valids.resolveAll(this.resolve);\n return resolved.includes(value) ? true : this.createError({\n params: {\n values: Array.from(valids).join(', '),\n resolved\n }\n });\n }\n });\n return next;\n }\n notOneOf(enums, message = mixed.notOneOf) {\n let next = this.clone();\n enums.forEach(val => {\n next._blacklist.add(val);\n next._whitelist.delete(val);\n });\n next.internalTests.blacklist = createValidation({\n message,\n name: 'notOneOf',\n test(value) {\n let invalids = this.schema._blacklist;\n let resolved = invalids.resolveAll(this.resolve);\n if (resolved.includes(value)) return this.createError({\n params: {\n values: Array.from(invalids).join(', '),\n resolved\n }\n });\n return true;\n }\n });\n return next;\n }\n strip(strip = true) {\n let next = this.clone();\n next.spec.strip = strip;\n return next;\n }\n\n /**\n * Return a serialized description of the schema including validations, flags, types etc.\n *\n * @param options Provide any needed context for resolving runtime schema alterations (lazy, when conditions, etc).\n */\n describe(options) {\n const next = (options ? this.resolve(options) : this).clone();\n const {\n label,\n meta,\n optional,\n nullable\n } = next.spec;\n const description = {\n meta,\n label,\n optional,\n nullable,\n default: next.getDefault(options),\n type: next.type,\n oneOf: next._whitelist.describe(),\n notOneOf: next._blacklist.describe(),\n tests: next.tests.map(fn => ({\n name: fn.OPTIONS.name,\n params: fn.OPTIONS.params\n })).filter((n, idx, list) => list.findIndex(c => c.name === n.name) === idx)\n };\n return description;\n }\n}\n// @ts-expect-error\nSchema.prototype.__isYupSchema__ = true;\nfor (const method of ['validate', 'validateSync']) Schema.prototype[`${method}At`] = function (path, value, options = {}) {\n const {\n parent,\n parentPath,\n schema\n } = getIn(this, path, value, options.context);\n return schema[method](parent && parent[parentPath], Object.assign({}, options, {\n parent,\n path\n }));\n};\nfor (const alias of ['equals', 'is']) Schema.prototype[alias] = Schema.prototype.oneOf;\nfor (const alias of ['not', 'nope']) Schema.prototype[alias] = Schema.prototype.notOneOf;\n\nconst returnsTrue = () => true;\nfunction create$8(spec) {\n return new MixedSchema(spec);\n}\nclass MixedSchema extends Schema {\n constructor(spec) {\n super(typeof spec === 'function' ? {\n type: 'mixed',\n check: spec\n } : Object.assign({\n type: 'mixed',\n check: returnsTrue\n }, spec));\n }\n}\ncreate$8.prototype = MixedSchema.prototype;\n\nfunction create$7() {\n return new BooleanSchema();\n}\nclass BooleanSchema extends Schema {\n constructor() {\n super({\n type: 'boolean',\n check(v) {\n if (v instanceof Boolean) v = v.valueOf();\n return typeof v === 'boolean';\n }\n });\n this.withMutation(() => {\n this.transform((value, _raw, ctx) => {\n if (ctx.spec.coerce && !ctx.isType(value)) {\n if (/^(true|1)$/i.test(String(value))) return true;\n if (/^(false|0)$/i.test(String(value))) return false;\n }\n return value;\n });\n });\n }\n isTrue(message = boolean.isValue) {\n return this.test({\n message,\n name: 'is-value',\n exclusive: true,\n params: {\n value: 'true'\n },\n test(value) {\n return isAbsent(value) || value === true;\n }\n });\n }\n isFalse(message = boolean.isValue) {\n return this.test({\n message,\n name: 'is-value',\n exclusive: true,\n params: {\n value: 'false'\n },\n test(value) {\n return isAbsent(value) || value === false;\n }\n });\n }\n default(def) {\n return super.default(def);\n }\n defined(msg) {\n return super.defined(msg);\n }\n optional() {\n return super.optional();\n }\n required(msg) {\n return super.required(msg);\n }\n notRequired() {\n return super.notRequired();\n }\n nullable() {\n return super.nullable();\n }\n nonNullable(msg) {\n return super.nonNullable(msg);\n }\n strip(v) {\n return super.strip(v);\n }\n}\ncreate$7.prototype = BooleanSchema.prototype;\n\n/**\n * This file is a modified version of the file from the following repository:\n * Date.parse with progressive enhancement for ISO 8601 \n * NON-CONFORMANT EDITION.\n * © 2011 Colin Snover \n * Released under MIT license.\n */\n\n// prettier-ignore\n// 1 YYYY 2 MM 3 DD 4 HH 5 mm 6 ss 7 msec 8 Z 9 ± 10 tzHH 11 tzmm\nconst isoReg = /^(\\d{4}|[+-]\\d{6})(?:-?(\\d{2})(?:-?(\\d{2}))?)?(?:[ T]?(\\d{2}):?(\\d{2})(?::?(\\d{2})(?:[,.](\\d{1,}))?)?(?:(Z)|([+-])(\\d{2})(?::?(\\d{2}))?)?)?$/;\nfunction parseIsoDate(date) {\n const struct = parseDateStruct(date);\n if (!struct) return Date.parse ? Date.parse(date) : Number.NaN;\n\n // timestamps without timezone identifiers should be considered local time\n if (struct.z === undefined && struct.plusMinus === undefined) {\n return new Date(struct.year, struct.month, struct.day, struct.hour, struct.minute, struct.second, struct.millisecond).valueOf();\n }\n let totalMinutesOffset = 0;\n if (struct.z !== 'Z' && struct.plusMinus !== undefined) {\n totalMinutesOffset = struct.hourOffset * 60 + struct.minuteOffset;\n if (struct.plusMinus === '+') totalMinutesOffset = 0 - totalMinutesOffset;\n }\n return Date.UTC(struct.year, struct.month, struct.day, struct.hour, struct.minute + totalMinutesOffset, struct.second, struct.millisecond);\n}\nfunction parseDateStruct(date) {\n var _regexResult$7$length, _regexResult$;\n const regexResult = isoReg.exec(date);\n if (!regexResult) return null;\n\n // use of toNumber() avoids NaN timestamps caused by “undefined”\n // values being passed to Date constructor\n return {\n year: toNumber(regexResult[1]),\n month: toNumber(regexResult[2], 1) - 1,\n day: toNumber(regexResult[3], 1),\n hour: toNumber(regexResult[4]),\n minute: toNumber(regexResult[5]),\n second: toNumber(regexResult[6]),\n millisecond: regexResult[7] ?\n // allow arbitrary sub-second precision beyond milliseconds\n toNumber(regexResult[7].substring(0, 3)) : 0,\n precision: (_regexResult$7$length = (_regexResult$ = regexResult[7]) == null ? void 0 : _regexResult$.length) != null ? _regexResult$7$length : undefined,\n z: regexResult[8] || undefined,\n plusMinus: regexResult[9] || undefined,\n hourOffset: toNumber(regexResult[10]),\n minuteOffset: toNumber(regexResult[11])\n };\n}\nfunction toNumber(str, defaultValue = 0) {\n return Number(str) || defaultValue;\n}\n\n// Taken from HTML spec: https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address\nlet rEmail =\n// eslint-disable-next-line\n/^[a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\nlet rUrl =\n// eslint-disable-next-line\n/^((https?|ftp):)?\\/\\/(((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:)*@)?(((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]))|((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.?)(:\\d*)?)(\\/((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)+(\\/(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)*)*)?)?(\\?((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|[\\uE000-\\uF8FF]|\\/|\\?)*)?(\\#((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|\\/|\\?)*)?$/i;\n\n// eslint-disable-next-line\nlet rUUID = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;\nlet yearMonthDay = '^\\\\d{4}-\\\\d{2}-\\\\d{2}';\nlet hourMinuteSecond = '\\\\d{2}:\\\\d{2}:\\\\d{2}';\nlet zOrOffset = '(([+-]\\\\d{2}(:?\\\\d{2})?)|Z)';\nlet rIsoDateTime = new RegExp(`${yearMonthDay}T${hourMinuteSecond}(\\\\.\\\\d+)?${zOrOffset}$`);\nlet isTrimmed = value => isAbsent(value) || value === value.trim();\nlet objStringTag = {}.toString();\nfunction create$6() {\n return new StringSchema();\n}\nclass StringSchema extends Schema {\n constructor() {\n super({\n type: 'string',\n check(value) {\n if (value instanceof String) value = value.valueOf();\n return typeof value === 'string';\n }\n });\n this.withMutation(() => {\n this.transform((value, _raw, ctx) => {\n if (!ctx.spec.coerce || ctx.isType(value)) return value;\n\n // don't ever convert arrays\n if (Array.isArray(value)) return value;\n const strValue = value != null && value.toString ? value.toString() : value;\n\n // no one wants plain objects converted to [Object object]\n if (strValue === objStringTag) return value;\n return strValue;\n });\n });\n }\n required(message) {\n return super.required(message).withMutation(schema => schema.test({\n message: message || mixed.required,\n name: 'required',\n skipAbsent: true,\n test: value => !!value.length\n }));\n }\n notRequired() {\n return super.notRequired().withMutation(schema => {\n schema.tests = schema.tests.filter(t => t.OPTIONS.name !== 'required');\n return schema;\n });\n }\n length(length, message = string.length) {\n return this.test({\n message,\n name: 'length',\n exclusive: true,\n params: {\n length\n },\n skipAbsent: true,\n test(value) {\n return value.length === this.resolve(length);\n }\n });\n }\n min(min, message = string.min) {\n return this.test({\n message,\n name: 'min',\n exclusive: true,\n params: {\n min\n },\n skipAbsent: true,\n test(value) {\n return value.length >= this.resolve(min);\n }\n });\n }\n max(max, message = string.max) {\n return this.test({\n name: 'max',\n exclusive: true,\n message,\n params: {\n max\n },\n skipAbsent: true,\n test(value) {\n return value.length <= this.resolve(max);\n }\n });\n }\n matches(regex, options) {\n let excludeEmptyString = false;\n let message;\n let name;\n if (options) {\n if (typeof options === 'object') {\n ({\n excludeEmptyString = false,\n message,\n name\n } = options);\n } else {\n message = options;\n }\n }\n return this.test({\n name: name || 'matches',\n message: message || string.matches,\n params: {\n regex\n },\n skipAbsent: true,\n test: value => value === '' && excludeEmptyString || value.search(regex) !== -1\n });\n }\n email(message = string.email) {\n return this.matches(rEmail, {\n name: 'email',\n message,\n excludeEmptyString: true\n });\n }\n url(message = string.url) {\n return this.matches(rUrl, {\n name: 'url',\n message,\n excludeEmptyString: true\n });\n }\n uuid(message = string.uuid) {\n return this.matches(rUUID, {\n name: 'uuid',\n message,\n excludeEmptyString: false\n });\n }\n datetime(options) {\n let message = '';\n let allowOffset;\n let precision;\n if (options) {\n if (typeof options === 'object') {\n ({\n message = '',\n allowOffset = false,\n precision = undefined\n } = options);\n } else {\n message = options;\n }\n }\n return this.matches(rIsoDateTime, {\n name: 'datetime',\n message: message || string.datetime,\n excludeEmptyString: true\n }).test({\n name: 'datetime_offset',\n message: message || string.datetime_offset,\n params: {\n allowOffset\n },\n skipAbsent: true,\n test: value => {\n if (!value || allowOffset) return true;\n const struct = parseDateStruct(value);\n if (!struct) return false;\n return !!struct.z;\n }\n }).test({\n name: 'datetime_precision',\n message: message || string.datetime_precision,\n params: {\n precision\n },\n skipAbsent: true,\n test: value => {\n if (!value || precision == undefined) return true;\n const struct = parseDateStruct(value);\n if (!struct) return false;\n return struct.precision === precision;\n }\n });\n }\n\n //-- transforms --\n ensure() {\n return this.default('').transform(val => val === null ? '' : val);\n }\n trim(message = string.trim) {\n return this.transform(val => val != null ? val.trim() : val).test({\n message,\n name: 'trim',\n test: isTrimmed\n });\n }\n lowercase(message = string.lowercase) {\n return this.transform(value => !isAbsent(value) ? value.toLowerCase() : value).test({\n message,\n name: 'string_case',\n exclusive: true,\n skipAbsent: true,\n test: value => isAbsent(value) || value === value.toLowerCase()\n });\n }\n uppercase(message = string.uppercase) {\n return this.transform(value => !isAbsent(value) ? value.toUpperCase() : value).test({\n message,\n name: 'string_case',\n exclusive: true,\n skipAbsent: true,\n test: value => isAbsent(value) || value === value.toUpperCase()\n });\n }\n}\ncreate$6.prototype = StringSchema.prototype;\n\n//\n// String Interfaces\n//\n\nlet isNaN$1 = value => value != +value;\nfunction create$5() {\n return new NumberSchema();\n}\nclass NumberSchema extends Schema {\n constructor() {\n super({\n type: 'number',\n check(value) {\n if (value instanceof Number) value = value.valueOf();\n return typeof value === 'number' && !isNaN$1(value);\n }\n });\n this.withMutation(() => {\n this.transform((value, _raw, ctx) => {\n if (!ctx.spec.coerce) return value;\n let parsed = value;\n if (typeof parsed === 'string') {\n parsed = parsed.replace(/\\s/g, '');\n if (parsed === '') return NaN;\n // don't use parseFloat to avoid positives on alpha-numeric strings\n parsed = +parsed;\n }\n\n // null -> NaN isn't useful; treat all nulls as null and let it fail on\n // nullability check vs TypeErrors\n if (ctx.isType(parsed) || parsed === null) return parsed;\n return parseFloat(parsed);\n });\n });\n }\n min(min, message = number.min) {\n return this.test({\n message,\n name: 'min',\n exclusive: true,\n params: {\n min\n },\n skipAbsent: true,\n test(value) {\n return value >= this.resolve(min);\n }\n });\n }\n max(max, message = number.max) {\n return this.test({\n message,\n name: 'max',\n exclusive: true,\n params: {\n max\n },\n skipAbsent: true,\n test(value) {\n return value <= this.resolve(max);\n }\n });\n }\n lessThan(less, message = number.lessThan) {\n return this.test({\n message,\n name: 'max',\n exclusive: true,\n params: {\n less\n },\n skipAbsent: true,\n test(value) {\n return value < this.resolve(less);\n }\n });\n }\n moreThan(more, message = number.moreThan) {\n return this.test({\n message,\n name: 'min',\n exclusive: true,\n params: {\n more\n },\n skipAbsent: true,\n test(value) {\n return value > this.resolve(more);\n }\n });\n }\n positive(msg = number.positive) {\n return this.moreThan(0, msg);\n }\n negative(msg = number.negative) {\n return this.lessThan(0, msg);\n }\n integer(message = number.integer) {\n return this.test({\n name: 'integer',\n message,\n skipAbsent: true,\n test: val => Number.isInteger(val)\n });\n }\n truncate() {\n return this.transform(value => !isAbsent(value) ? value | 0 : value);\n }\n round(method) {\n var _method;\n let avail = ['ceil', 'floor', 'round', 'trunc'];\n method = ((_method = method) == null ? void 0 : _method.toLowerCase()) || 'round';\n\n // this exists for symemtry with the new Math.trunc\n if (method === 'trunc') return this.truncate();\n if (avail.indexOf(method.toLowerCase()) === -1) throw new TypeError('Only valid options for round() are: ' + avail.join(', '));\n return this.transform(value => !isAbsent(value) ? Math[method](value) : value);\n }\n}\ncreate$5.prototype = NumberSchema.prototype;\n\n//\n// Number Interfaces\n//\n\nlet invalidDate = new Date('');\nlet isDate = obj => Object.prototype.toString.call(obj) === '[object Date]';\nfunction create$4() {\n return new DateSchema();\n}\nclass DateSchema extends Schema {\n constructor() {\n super({\n type: 'date',\n check(v) {\n return isDate(v) && !isNaN(v.getTime());\n }\n });\n this.withMutation(() => {\n this.transform((value, _raw, ctx) => {\n // null -> InvalidDate isn't useful; treat all nulls as null and let it fail on\n // nullability check vs TypeErrors\n if (!ctx.spec.coerce || ctx.isType(value) || value === null) return value;\n value = parseIsoDate(value);\n\n // 0 is a valid timestamp equivalent to 1970-01-01T00:00:00Z(unix epoch) or before.\n return !isNaN(value) ? new Date(value) : DateSchema.INVALID_DATE;\n });\n });\n }\n prepareParam(ref, name) {\n let param;\n if (!Reference.isRef(ref)) {\n let cast = this.cast(ref);\n if (!this._typeCheck(cast)) throw new TypeError(`\\`${name}\\` must be a Date or a value that can be \\`cast()\\` to a Date`);\n param = cast;\n } else {\n param = ref;\n }\n return param;\n }\n min(min, message = date.min) {\n let limit = this.prepareParam(min, 'min');\n return this.test({\n message,\n name: 'min',\n exclusive: true,\n params: {\n min\n },\n skipAbsent: true,\n test(value) {\n return value >= this.resolve(limit);\n }\n });\n }\n max(max, message = date.max) {\n let limit = this.prepareParam(max, 'max');\n return this.test({\n message,\n name: 'max',\n exclusive: true,\n params: {\n max\n },\n skipAbsent: true,\n test(value) {\n return value <= this.resolve(limit);\n }\n });\n }\n}\nDateSchema.INVALID_DATE = invalidDate;\ncreate$4.prototype = DateSchema.prototype;\ncreate$4.INVALID_DATE = invalidDate;\n\n// @ts-expect-error\nfunction sortFields(fields, excludedEdges = []) {\n let edges = [];\n let nodes = new Set();\n let excludes = new Set(excludedEdges.map(([a, b]) => `${a}-${b}`));\n function addNode(depPath, key) {\n let node = split(depPath)[0];\n nodes.add(node);\n if (!excludes.has(`${key}-${node}`)) edges.push([key, node]);\n }\n for (const key of Object.keys(fields)) {\n let value = fields[key];\n nodes.add(key);\n if (Reference.isRef(value) && value.isSibling) addNode(value.path, key);else if (isSchema(value) && 'deps' in value) value.deps.forEach(path => addNode(path, key));\n }\n return toposort.array(Array.from(nodes), edges).reverse();\n}\n\nfunction findIndex(arr, err) {\n let idx = Infinity;\n arr.some((key, ii) => {\n var _err$path;\n if ((_err$path = err.path) != null && _err$path.includes(key)) {\n idx = ii;\n return true;\n }\n });\n return idx;\n}\nfunction sortByKeyOrder(keys) {\n return (a, b) => {\n return findIndex(keys, a) - findIndex(keys, b);\n };\n}\n\nconst parseJson = (value, _, ctx) => {\n if (typeof value !== 'string') {\n return value;\n }\n let parsed = value;\n try {\n parsed = JSON.parse(value);\n } catch (err) {\n /* */\n }\n return ctx.isType(parsed) ? parsed : value;\n};\n\n// @ts-ignore\nfunction deepPartial(schema) {\n if ('fields' in schema) {\n const partial = {};\n for (const [key, fieldSchema] of Object.entries(schema.fields)) {\n partial[key] = deepPartial(fieldSchema);\n }\n return schema.setFields(partial);\n }\n if (schema.type === 'array') {\n const nextArray = schema.optional();\n if (nextArray.innerType) nextArray.innerType = deepPartial(nextArray.innerType);\n return nextArray;\n }\n if (schema.type === 'tuple') {\n return schema.optional().clone({\n types: schema.spec.types.map(deepPartial)\n });\n }\n if ('optional' in schema) {\n return schema.optional();\n }\n return schema;\n}\nconst deepHas = (obj, p) => {\n const path = [...normalizePath(p)];\n if (path.length === 1) return path[0] in obj;\n let last = path.pop();\n let parent = getter(join(path), true)(obj);\n return !!(parent && last in parent);\n};\nlet isObject = obj => Object.prototype.toString.call(obj) === '[object Object]';\nfunction unknown(ctx, value) {\n let known = Object.keys(ctx.fields);\n return Object.keys(value).filter(key => known.indexOf(key) === -1);\n}\nconst defaultSort = sortByKeyOrder([]);\nfunction create$3(spec) {\n return new ObjectSchema(spec);\n}\nclass ObjectSchema extends Schema {\n constructor(spec) {\n super({\n type: 'object',\n check(value) {\n return isObject(value) || typeof value === 'function';\n }\n });\n this.fields = Object.create(null);\n this._sortErrors = defaultSort;\n this._nodes = [];\n this._excludedEdges = [];\n this.withMutation(() => {\n if (spec) {\n this.shape(spec);\n }\n });\n }\n _cast(_value, options = {}) {\n var _options$stripUnknown;\n let value = super._cast(_value, options);\n\n //should ignore nulls here\n if (value === undefined) return this.getDefault(options);\n if (!this._typeCheck(value)) return value;\n let fields = this.fields;\n let strip = (_options$stripUnknown = options.stripUnknown) != null ? _options$stripUnknown : this.spec.noUnknown;\n let props = [].concat(this._nodes, Object.keys(value).filter(v => !this._nodes.includes(v)));\n let intermediateValue = {}; // is filled during the transform below\n let innerOptions = Object.assign({}, options, {\n parent: intermediateValue,\n __validating: options.__validating || false\n });\n let isChanged = false;\n for (const prop of props) {\n let field = fields[prop];\n let exists = (prop in value);\n if (field) {\n let fieldValue;\n let inputValue = value[prop];\n\n // safe to mutate since this is fired in sequence\n innerOptions.path = (options.path ? `${options.path}.` : '') + prop;\n field = field.resolve({\n value: inputValue,\n context: options.context,\n parent: intermediateValue\n });\n let fieldSpec = field instanceof Schema ? field.spec : undefined;\n let strict = fieldSpec == null ? void 0 : fieldSpec.strict;\n if (fieldSpec != null && fieldSpec.strip) {\n isChanged = isChanged || prop in value;\n continue;\n }\n fieldValue = !options.__validating || !strict ?\n // TODO: use _cast, this is double resolving\n field.cast(value[prop], innerOptions) : value[prop];\n if (fieldValue !== undefined) {\n intermediateValue[prop] = fieldValue;\n }\n } else if (exists && !strip) {\n intermediateValue[prop] = value[prop];\n }\n if (exists !== prop in intermediateValue || intermediateValue[prop] !== value[prop]) {\n isChanged = true;\n }\n }\n return isChanged ? intermediateValue : value;\n }\n _validate(_value, options = {}, panic, next) {\n let {\n from = [],\n originalValue = _value,\n recursive = this.spec.recursive\n } = options;\n options.from = [{\n schema: this,\n value: originalValue\n }, ...from];\n // this flag is needed for handling `strict` correctly in the context of\n // validation vs just casting. e.g strict() on a field is only used when validating\n options.__validating = true;\n options.originalValue = originalValue;\n super._validate(_value, options, panic, (objectErrors, value) => {\n if (!recursive || !isObject(value)) {\n next(objectErrors, value);\n return;\n }\n originalValue = originalValue || value;\n let tests = [];\n for (let key of this._nodes) {\n let field = this.fields[key];\n if (!field || Reference.isRef(field)) {\n continue;\n }\n tests.push(field.asNestedTest({\n options,\n key,\n parent: value,\n parentPath: options.path,\n originalParent: originalValue\n }));\n }\n this.runTests({\n tests,\n value,\n originalValue,\n options\n }, panic, fieldErrors => {\n next(fieldErrors.sort(this._sortErrors).concat(objectErrors), value);\n });\n });\n }\n clone(spec) {\n const next = super.clone(spec);\n next.fields = Object.assign({}, this.fields);\n next._nodes = this._nodes;\n next._excludedEdges = this._excludedEdges;\n next._sortErrors = this._sortErrors;\n return next;\n }\n concat(schema) {\n let next = super.concat(schema);\n let nextFields = next.fields;\n for (let [field, schemaOrRef] of Object.entries(this.fields)) {\n const target = nextFields[field];\n nextFields[field] = target === undefined ? schemaOrRef : target;\n }\n return next.withMutation(s =>\n // XXX: excludes here is wrong\n s.setFields(nextFields, [...this._excludedEdges, ...schema._excludedEdges]));\n }\n _getDefault(options) {\n if ('default' in this.spec) {\n return super._getDefault(options);\n }\n\n // if there is no default set invent one\n if (!this._nodes.length) {\n return undefined;\n }\n let dft = {};\n this._nodes.forEach(key => {\n var _innerOptions;\n const field = this.fields[key];\n let innerOptions = options;\n if ((_innerOptions = innerOptions) != null && _innerOptions.value) {\n innerOptions = Object.assign({}, innerOptions, {\n parent: innerOptions.value,\n value: innerOptions.value[key]\n });\n }\n dft[key] = field && 'getDefault' in field ? field.getDefault(innerOptions) : undefined;\n });\n return dft;\n }\n setFields(shape, excludedEdges) {\n let next = this.clone();\n next.fields = shape;\n next._nodes = sortFields(shape, excludedEdges);\n next._sortErrors = sortByKeyOrder(Object.keys(shape));\n // XXX: this carries over edges which may not be what you want\n if (excludedEdges) next._excludedEdges = excludedEdges;\n return next;\n }\n shape(additions, excludes = []) {\n return this.clone().withMutation(next => {\n let edges = next._excludedEdges;\n if (excludes.length) {\n if (!Array.isArray(excludes[0])) excludes = [excludes];\n edges = [...next._excludedEdges, ...excludes];\n }\n\n // XXX: excludes here is wrong\n return next.setFields(Object.assign(next.fields, additions), edges);\n });\n }\n partial() {\n const partial = {};\n for (const [key, schema] of Object.entries(this.fields)) {\n partial[key] = 'optional' in schema && schema.optional instanceof Function ? schema.optional() : schema;\n }\n return this.setFields(partial);\n }\n deepPartial() {\n const next = deepPartial(this);\n return next;\n }\n pick(keys) {\n const picked = {};\n for (const key of keys) {\n if (this.fields[key]) picked[key] = this.fields[key];\n }\n return this.setFields(picked, this._excludedEdges.filter(([a, b]) => keys.includes(a) && keys.includes(b)));\n }\n omit(keys) {\n const remaining = [];\n for (const key of Object.keys(this.fields)) {\n if (keys.includes(key)) continue;\n remaining.push(key);\n }\n return this.pick(remaining);\n }\n from(from, to, alias) {\n let fromGetter = getter(from, true);\n return this.transform(obj => {\n if (!obj) return obj;\n let newObj = obj;\n if (deepHas(obj, from)) {\n newObj = Object.assign({}, obj);\n if (!alias) delete newObj[from];\n newObj[to] = fromGetter(obj);\n }\n return newObj;\n });\n }\n\n /** Parse an input JSON string to an object */\n json() {\n return this.transform(parseJson);\n }\n noUnknown(noAllow = true, message = object.noUnknown) {\n if (typeof noAllow !== 'boolean') {\n message = noAllow;\n noAllow = true;\n }\n let next = this.test({\n name: 'noUnknown',\n exclusive: true,\n message: message,\n test(value) {\n if (value == null) return true;\n const unknownKeys = unknown(this.schema, value);\n return !noAllow || unknownKeys.length === 0 || this.createError({\n params: {\n unknown: unknownKeys.join(', ')\n }\n });\n }\n });\n next.spec.noUnknown = noAllow;\n return next;\n }\n unknown(allow = true, message = object.noUnknown) {\n return this.noUnknown(!allow, message);\n }\n transformKeys(fn) {\n return this.transform(obj => {\n if (!obj) return obj;\n const result = {};\n for (const key of Object.keys(obj)) result[fn(key)] = obj[key];\n return result;\n });\n }\n camelCase() {\n return this.transformKeys(camelCase);\n }\n snakeCase() {\n return this.transformKeys(snakeCase);\n }\n constantCase() {\n return this.transformKeys(key => snakeCase(key).toUpperCase());\n }\n describe(options) {\n const next = (options ? this.resolve(options) : this).clone();\n const base = super.describe(options);\n base.fields = {};\n for (const [key, value] of Object.entries(next.fields)) {\n var _innerOptions2;\n let innerOptions = options;\n if ((_innerOptions2 = innerOptions) != null && _innerOptions2.value) {\n innerOptions = Object.assign({}, innerOptions, {\n parent: innerOptions.value,\n value: innerOptions.value[key]\n });\n }\n base.fields[key] = value.describe(innerOptions);\n }\n return base;\n }\n}\ncreate$3.prototype = ObjectSchema.prototype;\n\nfunction create$2(type) {\n return new ArraySchema(type);\n}\nclass ArraySchema extends Schema {\n constructor(type) {\n super({\n type: 'array',\n spec: {\n types: type\n },\n check(v) {\n return Array.isArray(v);\n }\n });\n\n // `undefined` specifically means uninitialized, as opposed to \"no subtype\"\n this.innerType = void 0;\n this.innerType = type;\n }\n _cast(_value, _opts) {\n const value = super._cast(_value, _opts);\n\n // should ignore nulls here\n if (!this._typeCheck(value) || !this.innerType) {\n return value;\n }\n let isChanged = false;\n const castArray = value.map((v, idx) => {\n const castElement = this.innerType.cast(v, Object.assign({}, _opts, {\n path: `${_opts.path || ''}[${idx}]`\n }));\n if (castElement !== v) {\n isChanged = true;\n }\n return castElement;\n });\n return isChanged ? castArray : value;\n }\n _validate(_value, options = {}, panic, next) {\n var _options$recursive;\n // let sync = options.sync;\n // let path = options.path;\n let innerType = this.innerType;\n // let endEarly = options.abortEarly ?? this.spec.abortEarly;\n let recursive = (_options$recursive = options.recursive) != null ? _options$recursive : this.spec.recursive;\n options.originalValue != null ? options.originalValue : _value;\n super._validate(_value, options, panic, (arrayErrors, value) => {\n var _options$originalValu2;\n if (!recursive || !innerType || !this._typeCheck(value)) {\n next(arrayErrors, value);\n return;\n }\n\n // #950 Ensure that sparse array empty slots are validated\n let tests = new Array(value.length);\n for (let index = 0; index < value.length; index++) {\n var _options$originalValu;\n tests[index] = innerType.asNestedTest({\n options,\n index,\n parent: value,\n parentPath: options.path,\n originalParent: (_options$originalValu = options.originalValue) != null ? _options$originalValu : _value\n });\n }\n this.runTests({\n value,\n tests,\n originalValue: (_options$originalValu2 = options.originalValue) != null ? _options$originalValu2 : _value,\n options\n }, panic, innerTypeErrors => next(innerTypeErrors.concat(arrayErrors), value));\n });\n }\n clone(spec) {\n const next = super.clone(spec);\n // @ts-expect-error readonly\n next.innerType = this.innerType;\n return next;\n }\n\n /** Parse an input JSON string to an object */\n json() {\n return this.transform(parseJson);\n }\n concat(schema) {\n let next = super.concat(schema);\n\n // @ts-expect-error readonly\n next.innerType = this.innerType;\n if (schema.innerType)\n // @ts-expect-error readonly\n next.innerType = next.innerType ?\n // @ts-expect-error Lazy doesn't have concat and will break\n next.innerType.concat(schema.innerType) : schema.innerType;\n return next;\n }\n of(schema) {\n // FIXME: this should return a new instance of array without the default to be\n let next = this.clone();\n if (!isSchema(schema)) throw new TypeError('`array.of()` sub-schema must be a valid yup schema not: ' + printValue(schema));\n\n // @ts-expect-error readonly\n next.innerType = schema;\n next.spec = Object.assign({}, next.spec, {\n types: schema\n });\n return next;\n }\n length(length, message = array.length) {\n return this.test({\n message,\n name: 'length',\n exclusive: true,\n params: {\n length\n },\n skipAbsent: true,\n test(value) {\n return value.length === this.resolve(length);\n }\n });\n }\n min(min, message) {\n message = message || array.min;\n return this.test({\n message,\n name: 'min',\n exclusive: true,\n params: {\n min\n },\n skipAbsent: true,\n // FIXME(ts): Array\n test(value) {\n return value.length >= this.resolve(min);\n }\n });\n }\n max(max, message) {\n message = message || array.max;\n return this.test({\n message,\n name: 'max',\n exclusive: true,\n params: {\n max\n },\n skipAbsent: true,\n test(value) {\n return value.length <= this.resolve(max);\n }\n });\n }\n ensure() {\n return this.default(() => []).transform((val, original) => {\n // We don't want to return `null` for nullable schema\n if (this._typeCheck(val)) return val;\n return original == null ? [] : [].concat(original);\n });\n }\n compact(rejector) {\n let reject = !rejector ? v => !!v : (v, i, a) => !rejector(v, i, a);\n return this.transform(values => values != null ? values.filter(reject) : values);\n }\n describe(options) {\n const next = (options ? this.resolve(options) : this).clone();\n const base = super.describe(options);\n if (next.innerType) {\n var _innerOptions;\n let innerOptions = options;\n if ((_innerOptions = innerOptions) != null && _innerOptions.value) {\n innerOptions = Object.assign({}, innerOptions, {\n parent: innerOptions.value,\n value: innerOptions.value[0]\n });\n }\n base.innerType = next.innerType.describe(innerOptions);\n }\n return base;\n }\n}\ncreate$2.prototype = ArraySchema.prototype;\n\n// @ts-ignore\nfunction create$1(schemas) {\n return new TupleSchema(schemas);\n}\nclass TupleSchema extends Schema {\n constructor(schemas) {\n super({\n type: 'tuple',\n spec: {\n types: schemas\n },\n check(v) {\n const types = this.spec.types;\n return Array.isArray(v) && v.length === types.length;\n }\n });\n this.withMutation(() => {\n this.typeError(tuple.notType);\n });\n }\n _cast(inputValue, options) {\n const {\n types\n } = this.spec;\n const value = super._cast(inputValue, options);\n if (!this._typeCheck(value)) {\n return value;\n }\n let isChanged = false;\n const castArray = types.map((type, idx) => {\n const castElement = type.cast(value[idx], Object.assign({}, options, {\n path: `${options.path || ''}[${idx}]`\n }));\n if (castElement !== value[idx]) isChanged = true;\n return castElement;\n });\n return isChanged ? castArray : value;\n }\n _validate(_value, options = {}, panic, next) {\n let itemTypes = this.spec.types;\n super._validate(_value, options, panic, (tupleErrors, value) => {\n var _options$originalValu2;\n // intentionally not respecting recursive\n if (!this._typeCheck(value)) {\n next(tupleErrors, value);\n return;\n }\n let tests = [];\n for (let [index, itemSchema] of itemTypes.entries()) {\n var _options$originalValu;\n tests[index] = itemSchema.asNestedTest({\n options,\n index,\n parent: value,\n parentPath: options.path,\n originalParent: (_options$originalValu = options.originalValue) != null ? _options$originalValu : _value\n });\n }\n this.runTests({\n value,\n tests,\n originalValue: (_options$originalValu2 = options.originalValue) != null ? _options$originalValu2 : _value,\n options\n }, panic, innerTypeErrors => next(innerTypeErrors.concat(tupleErrors), value));\n });\n }\n describe(options) {\n const next = (options ? this.resolve(options) : this).clone();\n const base = super.describe(options);\n base.innerType = next.spec.types.map((schema, index) => {\n var _innerOptions;\n let innerOptions = options;\n if ((_innerOptions = innerOptions) != null && _innerOptions.value) {\n innerOptions = Object.assign({}, innerOptions, {\n parent: innerOptions.value,\n value: innerOptions.value[index]\n });\n }\n return schema.describe(innerOptions);\n });\n return base;\n }\n}\ncreate$1.prototype = TupleSchema.prototype;\n\nfunction create(builder) {\n return new Lazy(builder);\n}\nclass Lazy {\n constructor(builder) {\n this.type = 'lazy';\n this.__isYupSchema__ = true;\n this.spec = void 0;\n this._resolve = (value, options = {}) => {\n let schema = this.builder(value, options);\n if (!isSchema(schema)) throw new TypeError('lazy() functions must return a valid schema');\n if (this.spec.optional) schema = schema.optional();\n return schema.resolve(options);\n };\n this.builder = builder;\n this.spec = {\n meta: undefined,\n optional: false\n };\n }\n clone(spec) {\n const next = new Lazy(this.builder);\n next.spec = Object.assign({}, this.spec, spec);\n return next;\n }\n optionality(optional) {\n const next = this.clone({\n optional\n });\n return next;\n }\n optional() {\n return this.optionality(true);\n }\n resolve(options) {\n return this._resolve(options.value, options);\n }\n cast(value, options) {\n return this._resolve(value, options).cast(value, options);\n }\n asNestedTest(config) {\n let {\n key,\n index,\n parent,\n options\n } = config;\n let value = parent[index != null ? index : key];\n return this._resolve(value, Object.assign({}, options, {\n value,\n parent\n })).asNestedTest(config);\n }\n validate(value, options) {\n return this._resolve(value, options).validate(value, options);\n }\n validateSync(value, options) {\n return this._resolve(value, options).validateSync(value, options);\n }\n validateAt(path, value, options) {\n return this._resolve(value, options).validateAt(path, value, options);\n }\n validateSyncAt(path, value, options) {\n return this._resolve(value, options).validateSyncAt(path, value, options);\n }\n isValid(value, options) {\n return this._resolve(value, options).isValid(value, options);\n }\n isValidSync(value, options) {\n return this._resolve(value, options).isValidSync(value, options);\n }\n describe(options) {\n return options ? this.resolve(options).describe(options) : {\n type: 'lazy',\n meta: this.spec.meta,\n label: undefined\n };\n }\n meta(...args) {\n if (args.length === 0) return this.spec.meta;\n let next = this.clone();\n next.spec.meta = Object.assign(next.spec.meta || {}, args[0]);\n return next;\n }\n}\n\nfunction setLocale(custom) {\n Object.keys(custom).forEach(type => {\n // @ts-ignore\n Object.keys(custom[type]).forEach(method => {\n // @ts-ignore\n locale[type][method] = custom[type][method];\n });\n });\n}\n\nfunction addMethod(schemaType, name, fn) {\n if (!schemaType || !isSchema(schemaType.prototype)) throw new TypeError('You must provide a yup schema constructor function');\n if (typeof name !== 'string') throw new TypeError('A Method name must be provided');\n if (typeof fn !== 'function') throw new TypeError('Method function must be provided');\n schemaType.prototype[name] = fn;\n}\n\nexport { ArraySchema, BooleanSchema, DateSchema, MixedSchema, NumberSchema, ObjectSchema, Schema, StringSchema, TupleSchema, ValidationError, addMethod, create$2 as array, create$7 as bool, create$7 as boolean, create$4 as date, locale as defaultLocale, getIn, isSchema, create as lazy, create$8 as mixed, create$5 as number, create$3 as object, printValue, reach, create$9 as ref, setLocale, create$6 as string, create$1 as tuple };\n","import { trimSpaceAndLowerCase } from \"utils/trimSpaceAndLowerCase\";\nimport * as Yup from \"yup\";\n\nconst validFileExtensions = {\n image: [\"jpg\", \"gif\", \"png\", \"jpeg\", \"svg\", \"webp\"],\n};\n\nfunction isValidFileType(fileName, fileType) {\n return (\n fileName &&\n validFileExtensions[fileType].indexOf(fileName.split(\".\").pop()) > -1\n );\n}\n\nexport const uploadSchema = Yup.object().shape({\n mobileNumber: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .required(\"Mobile number is required\")\n .matches(\n /^(?:\\+?91|0)?[6789]\\d{9}$/,\n \"Mobile number must be a valid Indian number\"\n ),\n propertyUniqueId: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .required(\"Unique Property ID is required\"),\n oldPropertyTaxId: Yup.string()\n .notRequired()\n .trim(\"Can't contain trailing spaces\")\n .strict(),\n ownerName: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .required(\"Owner name is required\"),\n fatherHusbandName: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .required(\"Father/Husband name is required\"),\n houseNumber: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .required(\"House number is required\"),\n});\n\nexport const loginSchema = Yup.object({\n email: Yup.string()\n .email(\"Invalid email address\")\n .required(\"Email is required\"),\n password: Yup.string()\n .required(\"Password is required\")\n .min(8, \"Password must be at least 8 characters\"),\n});\n\nexport const ChangePasswordSchema = Yup.object().shape({\n oldPassword: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .min(8, \"Password must be at least 8 characters\")\n .required(\"Old Password is required\"),\n newPassword: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .notOneOf([Yup.ref(\"oldPassword\"), null], \"Can not be same as old password\")\n .min(8, \"Password must be at least 8 characters\")\n .required(\"New Password is required\"),\n\n confirmNewPassword: Yup.string()\n .oneOf([Yup.ref(\"newPassword\"), null], \"Passwords must match\")\n .required(\"Confirm Password is required\"),\n});\n\nexport const ResetPasswordSchema = Yup.object().shape({\n newPassword: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .min(8, \"Password must be at least 8 characters\")\n .required(\"New Password is required\"),\n\n confirmNewPassword: Yup.string()\n .oneOf([Yup.ref(\"newPassword\"), null], \"Passwords must match\")\n .required(\"Confirm Password is required\"),\n});\n\nexport const propertyEditSchema = Yup.object().shape({\n ownerName: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .required(\"Owner Name is required\")\n .strict(),\n fatherName: Yup.string()\n .notRequired()\n .trim(\"Can't contain trailing spaces\")\n .strict(),\n husbandName: Yup.string()\n .notRequired()\n .trim(\"Can't contain trailing spaces\")\n .strict(),\n propertyAddress: Yup.string()\n .notRequired()\n .trim(\"Can't contain trailing spaces\")\n .strict(),\n mobileNumber: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .matches(\n /^(?:(?:\\+|0{0,2})91(\\s*|[-])?|[0]?)?([6789]\\d{2}([-]?)\\d{3}([-]?)\\d{4})$/,\n \"Mobile number is not valid\"\n ),\n emailId: Yup.string()\n .email(\"Invalid email address\")\n .trim(\"Can't contain trailing spaces\"),\n\n zoneId: Yup.string()\n .required(\"Zone must be a string\")\n .trim(\"Can't contain trailing spaces\"),\n wardId: Yup.string()\n .required(\"Ward must be a string\")\n .trim(\"Can't contain trailing spaces\"),\n mohallaId: Yup.string()\n .required(\"Mohalla must be a string\")\n .trim(\"Can't contain trailing spaces\"),\n\n oldPropertyTaxId: Yup.string()\n .notRequired()\n .trim(\"Can't contain trailing spaces\")\n .strict(),\n oldArv: Yup.number().positive(\"Must be a positive number or 0\"),\n houseNumber: Yup.string()\n .notRequired()\n .trim(\"Can't contain trailing spaces\")\n .strict(),\n plotArea: Yup.number().positive(\"Must be a positive number or 0\").strict(),\n constType: Yup.string()\n .notRequired()\n .trim(\"Can't contain trailing spaces\")\n .strict(),\n\n houseCategory: Yup.string()\n .required(\"House Category is required\")\n .trim(\"Can't contain trailing spaces\"),\n category: Yup.number().when(\"houseCategory\", (houseCategory, schema) => {\n return trimSpaceAndLowerCase(houseCategory[0]) === \"nonresidential\"\n ? schema\n .required(\"Property Category is required\")\n .typeError(\"Property Category must be a number\")\n : schema.notRequired();\n }),\n subCategory: Yup.number().when(\"houseCategory\", (houseCategory, schema) => {\n return trimSpaceAndLowerCase(houseCategory[0]) === \"nonresidential\"\n ? schema\n .required(\"Property Sub-Category is required\")\n .typeError(\"Property Sub-Category must be a number\")\n : schema.notRequired();\n }),\n\n occupancyStatus: Yup.string()\n .notRequired()\n .trim(\"Can't contain trailing spaces\")\n .strict(),\n roadType: Yup.string()\n .notRequired()\n .trim(\"Can't contain trailing spaces\")\n .strict(),\n roadWidth: Yup.string()\n .notRequired()\n .trim(\"Can't contain trailing spaces\")\n .strict(),\n\n constructionYear: Yup.number().positive(\"Must be a positive number or 0\"),\n\n // facilitiesAvailable: Yup.boolean(),\n\n // facilities: Yup.string().notRequired().trim(\"Can't contain trailing spaces\").strict(),\n\n isMetroRailProperty: Yup.boolean(),\n houseTaxApplicable: Yup.boolean().required(\"House Tax should be selected\"),\n sewerageConnectionAvailable: Yup.boolean().required(\n \"Sewer Connection should be selected\"\n ),\n waterTaxApplicable: Yup.boolean().required(\"Water Tax should be selected\"),\n sourceOfWater: Yup.string().notRequired(),\n\n isDisabled: Yup.boolean(),\n disabilityPercentage: Yup.number().when(\n \"isDisabled\",\n (isDisabled, schema) => {\n return isDisabled[0]\n ? schema\n .required(\"Disable Percentage is required\")\n .positive(\"Should be positive disability\")\n .max(100, \"Max disability percentage can be 100%\")\n .typeError(\"Disable Percentage must be a number\")\n : schema.notRequired();\n }\n ),\n disabilityDocumentProof: Yup.string().when(\n \"isDisabled\",\n (isDisabled, schema) => {\n return isDisabled[0]\n ? schema.required(\n \"Document proof is required when disability is applied\"\n )\n : schema.notRequired();\n }\n ),\n isExDefensePersonalWidow: Yup.boolean(),\n exDefensePersonalDocumentProof: Yup.string().when(\n \"isExDefensePersonalWidow\",\n (isExDefensePersonalWidow, schema) => {\n return isExDefensePersonalWidow[0]\n ? schema.required(\"Document proof is required\")\n : schema.notRequired();\n }\n ),\n});\n\nexport const propertyAddSchema = Yup.object().shape({\n ownerName: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .required(\"Owner Name is required\"),\n fatherName: Yup.string(),\n husbandName: Yup.string(),\n propertyAddress: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .required(\"Property address is required\"),\n mobileNumber: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .matches(\n /^(?:(?:\\+|0{0,2})91(\\s*|[-])?|[0]?)?([6789]\\d{2}([-]?)\\d{3}([-]?)\\d{4})$/,\n \"Mobile number is not valid\"\n )\n .required(\"Mobile number is required\"),\n emailId: Yup.string()\n .email(\"Invalid email address\")\n .trim(\"Can't contain trailing spaces\"),\n\n zoneId: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .required(\"Zone is required\"),\n wardId: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .required(\"Ward is required\"),\n mohallaId: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .required(\"Mohalla is required\"),\n\n houseNumber: Yup.string(),\n\n plotArea: Yup.number().required(\"Plot area is required\"),\n constType: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .required(\"Construction type is required\"),\n\n houseCategory: Yup.string()\n .required(\"House Category is required\")\n .trim(\"Can't contain trailing spaces\"),\n\n category: Yup.number().when(\"houseCategory\", (houseCategory, schema) => {\n return trimSpaceAndLowerCase(houseCategory[0]) === \"nonresidential\"\n ? schema\n .required(\"Property Category is required\")\n .typeError(\"Property Category must be a number\")\n : schema.notRequired();\n }),\n subCategory: Yup.number().when(\"houseCategory\", (houseCategory, schema) => {\n return trimSpaceAndLowerCase(houseCategory[0]) === \"nonresidential\"\n ? schema\n .required(\"Property Sub-Category is required\")\n .typeError(\"Property Sub-Category must be a number\")\n : schema.notRequired();\n }),\n\n occupancyStatus: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .required(\"Occupancy status is required\"),\n roadType: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .required(\"Road type is required\"),\n roadWidth: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .required(\"Road width is required\"),\n\n constructionYear: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .required(\"Construction year is required\"),\n\n // facilitiesAvailable: Yup.array().required(\"Facilities are required\"),\n\n sewerageConnectionAvailable: Yup.boolean().required(\n \"Sewer Connection should be selected\"\n ),\n waterTaxApplicable: Yup.boolean().required(\"Water Tax should be selected\"),\n sourceOfWater: Yup.string().notRequired(),\n\n isDisabled: Yup.boolean().required(\"This is required\"),\n disabilityPercentage: Yup.number().when(\n \"isDisabled\",\n (isDisabled, schema) => {\n return isDisabled[0]\n ? schema\n .required(\"Disable Percentage is required\")\n .positive(\"Should be positive disability\")\n .max(100, \"Max disability percentage can be 100%\")\n .typeError(\"Disable Percentage must be a number\")\n : schema.notRequired();\n }\n ),\n disabilityDocumentProof: Yup.string().when(\n \"isDisabled\",\n (isDisabled, schema) => {\n return isDisabled[0]\n ? schema.required(\n \"Document proof is required when disability is applied\"\n )\n : schema.notRequired();\n }\n ),\n isExDefensePersonalWidow: Yup.boolean().required(\"This is required\"),\n exDefensePersonalDocumentProof: Yup.string().when(\n \"isExDefensePersonalWidow\",\n (isExDefensePersonalWidow, schema) => {\n return isExDefensePersonalWidow[0]\n ? schema.required(\"Document proof is required\")\n : schema.notRequired();\n }\n ),\n});\n\nexport const oldPropertyAddSchema = Yup.object().shape({\n ownerName: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .required(\"Owner Name is required\"),\n oldZoneId: Yup.number()\n .typeError(\"The field should be a number\")\n .required(\"Zone Id is required\"),\n oldWardId: Yup.number()\n .typeError(\"The field should be a number\")\n .required(\"Ward Id is required\"),\n oldMohallaId: Yup.number()\n .typeError(\"The field should be a number\")\n .required(\"Mohalla Id is required\"),\n oldZoneName: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .required(\"Zone Name is required\"),\n oldWardName: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .required(\"Ward Name is required\"),\n oldMohallaName: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .required(\"Mohalla Name is required\"),\n PTINNo: Yup.string()\n .min(6, \"PTINNo must be at least 6 characters\")\n .required(\"PTINNo is required\"),\n ownerFatherName: Yup.string().trim(\"Can't contain trailing spaces\"),\n oldMobileNo: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .matches(\n /^(?:(?:\\+|0{0,2})91(\\s*|[-])?|[0]?)?([6789]\\d{2}([-]?)\\d{3}([-]?)\\d{4})$/,\n \"Mobile number is not valid\"\n ),\n oldHouseNo: Yup.string(),\n oldOwnerAddress: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .required(\"Property address is required\"),\n oldConstYear: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .required(\"Construction year is required\"),\n oldBuildingUsage: \"\",\n oldHouseCategory: Yup.string()\n .required(\"House Category is required\")\n .trim(\"Can't contain trailing spaces\"),\n oldConstructionArea: Yup.number()\n .min(0, \"Must be a positive number or 0\")\n .required(\"Construction area is required\"),\n oldPlotArea: Yup.number().required(\"Plot area is required\"),\n oldOpenArea: Yup.number()\n .min(0, \"Must be a positive number or 0\")\n .required(\"Open area is required\"),\n oldCarpetArea: Yup.number()\n .min(0, \"Must be a positive number or 0\")\n .required(\"Carpet area is required\"),\n oldArv: Yup.number()\n .positive(\"Must be a positive number or 0\")\n .required(\"ARV is required\"),\n houseTaxApplicable: Yup.boolean().required(\"House Tax should be selected\"),\n arrearsHouseTax: Yup.number().min(0, \"Must be a positive number or 0\"),\n interestHouseTax: Yup.number().min(0, \"Must be a positive number or 0\"),\n oldHouseTax: Yup.number().min(0, \"Must be a positive number or 0\"),\n waterTaxApplicable: Yup.boolean().required(\"Water Tax should be selected\"),\n arrearsWaterTax: Yup.number().min(0, \"Must be a positive number or 0\"),\n interestWaterTax: Yup.number().min(0, \"Must be a positive number or 0\"),\n oldWaterTax: Yup.number().min(0, \"Must be a positive number or 0\"),\n sewerTaxApplicable: Yup.boolean().required(\"Sewer Tax should be selected\"),\n arrearsSewarageTax: Yup.number().min(0, \"Must be a positive number or 0\"),\n interestSewerTax: Yup.number().min(0, \"Must be a positive number or 0\"),\n oldSewerTax: Yup.number().min(0, \"Must be a positive number or 0\"),\n oldConstType: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .required(\"Construction type is required\"),\n oldRoadWidth: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .required(\"Road width is required\"),\n arrearsTotalTax: Yup.number().min(0, \"Must be a positive number or 0\"),\n});\n\nexport const floorEditSchema = Yup.object().shape({\n floorNumber: Yup.number().required(\"Floor Number is required\"),\n rentType: Yup.string()\n .required(\"Rent Type is required\")\n .trim(\"Can't contain trailing spaces\"),\n rentUsage: Yup.string()\n .required(\"Rent Usage is required\")\n .trim(\"Can't contain trailing spaces\"),\n type: Yup.string()\n .required(\"Floor type is required\")\n .trim(\"Can't contain trailing spaces\"),\n category: Yup.number().when(\"houseCategory\", (houseCategory, schema) => {\n return trimSpaceAndLowerCase(houseCategory[0]) === \"Non Residential\"\n ? schema\n .required(\"Property Category is required\")\n .typeError(\"Property Category must be a number\")\n : schema.notRequired();\n }),\n subCategory: Yup.number().when(\"houseCategory\", (houseCategory, schema) => {\n return trimSpaceAndLowerCase(houseCategory[0]) === \"Non Residential\"\n ? schema\n .required(\"Property Sub-Category is required\")\n .typeError(\"Property Sub-Category must be a number\")\n : schema.notRequired();\n }),\n areaSqft: Yup.number()\n .positive(\"Must be a positive number or 0\")\n .required(\"Area is required\"),\n\n propertyPremiseId: Yup.number().required(\"Premise Id is required\"),\n});\n\nexport const floorAddSchema = Yup.object().shape({\n floorNumber: Yup.number().required(\"Floor Number is required\"),\n rentType: Yup.string()\n .required(\"Rent Type is required\")\n .trim(\"Can't contain trailing spaces\"),\n rentUsage: Yup.string()\n .required(\"Rent Usage is required\")\n .trim(\"Can't contain trailing spaces\"),\n type: Yup.string()\n .required(\"Floor type is required\")\n .trim(\"Can't contain trailing spaces\"),\n category: Yup.number().when(\"houseCategory\", (houseCategory, schema) => {\n return trimSpaceAndLowerCase(houseCategory[0]) === \"nonresidential\"\n ? schema\n .required(\"Property Category is required\")\n .typeError(\"Property Category must be a number\")\n : schema.notRequired();\n }),\n subCategory: Yup.number().when(\"houseCategory\", (houseCategory, schema) => {\n return trimSpaceAndLowerCase(houseCategory[0]) === \"nonresidential\"\n ? schema\n .required(\"Property Sub-Category is required\")\n .typeError(\"Property Sub-Category must be a number\")\n : schema.notRequired();\n }),\n areaSqft: Yup.number()\n .positive(\"Must be a positive number or 0\")\n .required(\"Area is required\"),\n});\n\nexport const selfAssessmentSchema = Yup.object().shape({\n ownerName: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .required(\"Owner Name is required\"),\n fatherName: Yup.string(),\n husbandName: Yup.string(),\n propertyAddress: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .required(\"Property address is required\"),\n mobileNumber: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .matches(\n /^(?:(?:\\+|0{0,2})91(\\s*|[-])?|[0]?)?([6789]\\d{2}([-]?)\\d{3}([-]?)\\d{4})$/,\n \"Mobile number is not valid\"\n )\n .required(\"Mobile number is required\"),\n emailId: Yup.string()\n .email(\"Invalid email address\")\n .trim(\"Can't contain trailing spaces\"),\n\n zoneId: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .required(\"Zone is required\"),\n wardId: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .required(\"Ward is required\"),\n mohallaId: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .required(\"Mohalla is required\"),\n\n houseNumber: Yup.string(),\n\n plotArea: Yup.number().required(\"Plot area is required\"),\n constType: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .required(\"Construction type is required\"),\n\n houseCategory: Yup.string()\n .required(\"House Category is required\")\n .trim(\"Can't contain trailing spaces\"),\n\n category: Yup.number().when(\"houseCategory\", (houseCategory, schema) => {\n return trimSpaceAndLowerCase(houseCategory[0]) === \"nonresidential\"\n ? schema\n .required(\"Property Category is required\")\n .typeError(\"Property Category must be a number\")\n : schema.notRequired();\n }),\n subCategory: Yup.number().when(\"houseCategory\", (houseCategory, schema) => {\n return trimSpaceAndLowerCase(houseCategory[0]) === \"nonresidential\"\n ? schema\n .required(\"Property Sub-Category is required\")\n .typeError(\"Property Sub-Category must be a number\")\n : schema.notRequired();\n }),\n\n occupancyStatus: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .required(\"Occupancy status is required\"),\n roadType: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .required(\"Road type is required\"),\n roadWidth: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .required(\"Road width is required\"),\n\n constructionYear: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .required(\"Construction year is required\"),\n\n // facilitiesAvailable: Yup.array().required(\"Facilities are required\"),\n\n sewerageConnectionAvailable: Yup.boolean().required(\n \"Sewer Connection should be selected\"\n ),\n waterTaxApplicable: Yup.boolean().required(\"Water Tax should be selected\"),\n sourceOfWater: Yup.string().notRequired(),\n\n isDisabled: Yup.boolean().required(\"This is required\"),\n disabilityPercentage: Yup.number().when(\n \"isDisabled\",\n (isDisabled, schema) => {\n return isDisabled[0]\n ? schema\n .required(\"Disable Percentage is required\")\n .positive(\"Should be positive disability\")\n .max(100, \"Max disability percentage can be 100%\")\n .typeError(\"Disable Percentage must be a number\")\n : schema.notRequired();\n }\n ),\n disabilityDocumentProof: Yup.string().when(\n \"isDisabled\",\n (isDisabled, schema) => {\n return isDisabled[0]\n ? schema.required(\n \"Document proof is required when disability is applied\"\n )\n : schema.notRequired();\n }\n ),\n isExDefensePersonalWidow: Yup.boolean().required(\"This is required\"),\n exDefensePersonalDocumentProof: Yup.string().when(\n \"isExDefensePersonalWidow\",\n (isExDefensePersonalWidow, schema) => {\n return isExDefensePersonalWidow[0]\n ? schema.required(\"Document proof is required\")\n : schema.notRequired();\n }\n ),\n});\n\nexport const arrearsFormSchema = Yup.object().shape({\n finYear: Yup.date().required(\"Financial Year is required.\"),\n revisedArrearsHouseTax: Yup.number()\n .required(\"House Tax is required.\")\n .min(0, \"Tax can not be negative\"),\n revisedArrearsSewerageTax: Yup.number()\n .required(\"Sewerage Tax is required.\")\n .min(0, \"Tax can not be negative\"),\n revisedArrearsWaterTax: Yup.number()\n .required(\"Water Tax is required.\")\n .min(0, \"Tax can not be negative\"),\n receiptNumber: Yup.string().required(\"Receipt Number is required.\"),\n remarks: Yup.string(),\n});\n\nexport const paymentSchema = Yup.object().shape({\n transactionType: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .required(\"Transaction mode is required\"),\n type: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .required(\"Payment type is required\"),\n paidAmount: Yup.number()\n .typeError(\"Paid amount must be a number\")\n .required(\"Paid amount is required\")\n .positive(\"Paid amount must be positive\"),\n\n ddNumber: Yup.string().when(\"transactionType\", (transactionType, schema) => {\n return transactionType[0] === \"DD\"\n ? schema\n .required(\"DD number is required\")\n .typeError(\"DD Number must be a string\")\n : schema.notRequired();\n }),\n chequeNo: Yup.string().when(\"transactionType\", (transactionType, schema) => {\n return transactionType[0] === \"Cheque\"\n ? schema\n .required(\"Cheque number is required\")\n .typeError(\"Cheque number must be a string\")\n : schema.notRequired();\n }),\n bankName: Yup.string().when(\"transactionType\", (transactionType, schema) => {\n return [\"DD\"].includes(transactionType[0])\n ? schema\n .required(\"Bank name is required\")\n .typeError(\"Bank name must be a string\")\n : schema.notRequired();\n }),\n issuerName: Yup.string().when(\n \"transactionType\",\n (transactionType, schema) => {\n return [\"Cheque\", \"DD\"].includes(transactionType[0])\n ? schema\n .required(\"Issuer name is required\")\n .typeError(\"Issuer name must be a string\")\n : schema.notRequired();\n }\n ),\n ifscCode: Yup.string().when(\"transactionType\", (transactionType, schema) => {\n return transactionType[0] === \"Cheque\"\n ? schema\n .required(\"IFSC Code is required\")\n .typeError(\"IFSC Code must be a string\")\n : schema.notRequired();\n }),\n});\n\nexport const onlinePaymentFormSchema = Yup.object().shape({\n firstname: Yup.string().required(\"Name is required\"),\n phone: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .matches(\n /^(?:(?!0|91)(?:\\+|0{0,2})91(\\s*|[-])?|[6789]\\d{2}([-]?)\\d{3}([-]?)\\d{4})$/,\n \"Mobile number is not valid, it should be of 10 numbers only\"\n )\n .required(\"Mobile number is required\"),\n email: Yup.string()\n .email(\"Invalid email address\")\n .trim(\"Can't contain trailing spaces\"),\n type: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .required(\"Type is required\"),\n});\n\nexport const neftPaymentFormSchema = Yup.object().shape({\n payerName: Yup.string().required(\"Name is required\"),\n payerMobile: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .matches(\n /^(?:(?!0|91)(?:\\+|0{0,2})91(\\s*|[-])?|[6789]\\d{2}([-]?)\\d{3}([-]?)\\d{4})$/,\n \"Mobile number is not valid, it should be of 10 numbers only\"\n )\n .required(\"Mobile number is required\"),\n refId: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .required(\"Ref Id is required\"),\n debitAccountNo: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .required(\"Debit Account No is required\"),\n ifscCode: Yup.string().trim(\"Can't contain trailing spaces\").notRequired(),\n transactionType: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .required(\"Transaction Type is required\"),\n paymentType: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .required(\"Payment Type is required\"),\n amount: Yup.number()\n .required(\"Amount is required\")\n .min(0, \"Amount must be non-negative\"),\n});\n\nexport const adminEditSchema = Yup.object().shape(\n {\n ownerName: Yup.string().required(\"Owner name is required\"),\n husbandName: Yup.string().when(\"fatherName\", (fatherName, schema) => {\n return !fatherName[0]\n ? schema\n .required(\"Husband's name is required\")\n .typeError(\"Husband name must be a string\")\n : schema.notRequired();\n }),\n fatherName: Yup.string().when(\"husbandName\", (husbandName, schema) => {\n return !husbandName[0]\n ? schema\n .required(\"Father's name is required\")\n .typeError(\"Father name must be a string\")\n : schema.notRequired();\n }),\n\n mobileNumber: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .matches(\n /^(?:(?:\\+|0{0,2})91(\\s*|[-])?|[0]?)?([6789]\\d{2}([-]?)\\d{3}([-]?)\\d{4})$/,\n \"Mobile number is not valid\"\n ),\n houseNumber: Yup.string(),\n PTINNo: Yup.string(),\n },\n [\"fatherName\", \"husbandName\"]\n);\n\nexport const addOperatorSchema = Yup.object().shape({\n username: Yup.string().required(\"Username is required\"),\n email: Yup.string().email(\"Invalid email\").required(\"Email is required\"),\n mobile: Yup.string().required(\"Mobile is required\"),\n password: Yup.string().required(\"Password is required\"),\n designation: Yup.string().required(\"Designation is required\"),\n city_id: Yup.string().required(\"City ID is required\"),\n});\n\nexport const addOfficialSchema = Yup.object({\n username: Yup.string().trim().required(\"This field is required\"),\n email: Yup.string()\n .trim()\n .email(\"Invalid email format\")\n .required(\"This field is required\"),\n password: Yup.string().trim().required(\"This field is required\"),\n accessId: Yup.string().trim().required(\"This field is required\"),\n accessType: Yup.string().trim().required(\"This field is required\"),\n loginType: Yup.string().trim().required(\"This field is required\"),\n cityId: Yup.string().trim().required(\"This field is required\"),\n accessibleZones: Yup.array(),\n accessibleWards: Yup.array(),\n});\n\nexport const addWardSchema = Yup.object().shape({\n city_id: Yup.string().required(\"City is required\"),\n zone_id: Yup.string().required(\"Zone is required\"),\n ward_no: Yup.number()\n .required(\"Ward no is required\")\n .positive()\n .min(1, \"Ward Number must be more than 0\"),\n ward_fullname: Yup.string().required(\"Ward Full Name is required\"),\n});\n\nexport const editWardSchema = Yup.object().shape({\n existingName: Yup.string().required(\"Ward existing full name is required\"),\n updatedName: Yup.string()\n .required(\"Ward new full name is required\")\n .notOneOf([Yup.ref(\"existingName\"), null], \"Can not be same as old name\"),\n});\n\nexport const addZoneSchema = Yup.object().shape({\n city_id: Yup.string().required(\"City is required\"),\n zone_no: Yup.number()\n .required(\"Zone number is required\")\n .positive()\n .min(1, \"Zone number must have value greater than 0\"),\n});\n\nexport const addMohallaSchema = Yup.object().shape({\n name: Yup.string().required(\"Mohalla Name is required\"),\n zone: Yup.string().required(\"Zone is required\"),\n ward: Yup.string().required(\"Ward is required\"),\n water_tax_availability: Yup.boolean(),\n sewer_tax_availability: Yup.boolean(),\n road_w_12_24: Yup.object().shape({\n rcc_rbc: Yup.number().required(\"Required Value\"),\n other_pucca: Yup.number().required(\"Required Value\"),\n kachha: Yup.number().required(\"Required Value\"),\n vacant_land: Yup.number().required(\"Required Value\"),\n }),\n road_w_l_12: Yup.object().shape({\n rcc_rbc: Yup.number().required(\"Required Value\"),\n other_pucca: Yup.number().required(\"Required Value\"),\n kachha: Yup.number().required(\"Required Value\"),\n vacant_land: Yup.number().required(\"Required Value\"),\n }),\n road_w_m_24: Yup.object().shape({\n rcc_rbc: Yup.number().required(\"Required Value\"),\n other_pucca: Yup.number().required(\"Required Value\"),\n kachha: Yup.number().required(\"Required Value\"),\n vacant_land: Yup.number().required(\"Required Value\"),\n }),\n});\n\nexport const editMohallaSchema = Yup.object().shape({\n mohallaOldName: Yup.string().required(\"Mohalla Old Name is required\"),\n mohallaNewName: Yup.string().notRequired(\"Mohalla New Name is required\"),\n zone: Yup.string().required(\"Zone is required\"),\n ward: Yup.string().required(\"Ward is required\"),\n water_tax_availability: Yup.boolean().required(\"Required Value\"),\n sewer_tax_availability: Yup.boolean().required(\"Required Value\"),\n road_w_12_24: Yup.object().shape({\n rcc_rbc: Yup.number().required(\"Required Value\"),\n other_pucca: Yup.number().required(\"Required Value\"),\n kachha: Yup.number().required(\"Required Value\"),\n vacant_land: Yup.number().required(\"Required Value\"),\n }),\n road_w_l_12: Yup.object().shape({\n rcc_rbc: Yup.number().required(\"Required Value\"),\n other_pucca: Yup.number().required(\"Required Value\"),\n kachha: Yup.number().required(\"Required Value\"),\n vacant_land: Yup.number().required(\"Required Value\"),\n }),\n road_w_m_24: Yup.object().shape({\n rcc_rbc: Yup.number().required(\"Required Value\"),\n other_pucca: Yup.number().required(\"Required Value\"),\n kachha: Yup.number().required(\"Required Value\"),\n vacant_land: Yup.number().required(\"Required Value\"),\n }),\n});\n\nexport const addDiscountSchema = Yup.object().shape({\n billingPeriod: Yup.string().required(\"Billing Period is required\"),\n status: Yup.boolean(),\n discountPercentage: Yup.number()\n .required(\"Discount Percentage is required\")\n .min(0, \"Discount percentage must be non-negative\")\n .max(100),\n periodDescription: Yup.string().required(\"Period Description is required\"),\n additionDiscountCriteria: Yup.array().of(\n Yup.object().shape({\n criteria: Yup.string(),\n discountPercentage: Yup.number()\n .min(0, \"Discount percentage cannot be less than 0.\")\n .max(100),\n })\n ),\n});\n\nexport const editDiscountSchema = Yup.object().shape({\n billingPeriod: Yup.string().required(\"Billing Period is required\"),\n status: Yup.boolean(),\n discountPercentage: Yup.number()\n .required(\"Discount Percentage is required\")\n .min(0, \"Discount percentage must be non-negative\"),\n periodDescription: Yup.string().required(\"Period Description is required\"),\n additionDiscountCriteria: Yup.array().of(\n Yup.object().shape({\n criteria: Yup.string(),\n discountPercentage: Yup.number()\n .min(0, \"Discount percentage cannot be less than 0.\")\n .max(100),\n })\n ),\n});\n\nexport const photoUpdateSchema = Yup.object().shape({\n buildingImageFront: Yup.mixed()\n .required(\"Building front-view is required\")\n .test(\"is-valid-type\", \"Not a valid image type\", (value) =>\n isValidFileType(value && value.name.toLowerCase(), \"image\")\n ),\n buildingImageRight: Yup.mixed()\n .required(\"Building right-view is required\")\n .test(\"is-valid-type\", \"Not a valid image type\", (value) =>\n isValidFileType(value && value.name.toLowerCase(), \"image\")\n ),\n buildingImageLeft: Yup.mixed()\n .required(\"Building left-view is required\")\n .test(\"is-valid-type\", \"Not a valid image type\", (value) =>\n isValidFileType(value && value.name.toLowerCase(), \"image\")\n ),\n ownerId: Yup.mixed().notRequired(),\n landRegistryDocument: Yup.mixed().notRequired(),\n electricityBill: Yup.mixed().notRequired(),\n});\n\nexport const mobileUpdateSchema = Yup.object().shape({\n mobileNumber: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .required(\"Mobile number is required\")\n .matches(\n /^(?:\\+?91|0)?[6789]\\d{9}$/,\n \"Mobile number must be a valid Indian number\"\n ),\n});\n\nexport const editDetailsSchema = Yup.object().shape({\n mobileNumber: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .matches(\n /^(?:\\+?91|0)?[6789]\\d{9}$/,\n \"Mobile number must be a valid Indian number\"\n ),\n houseNumber: Yup.string(),\n propertyAddress: Yup.string(),\n});\n\nexport const requestMutationSchema = Yup.object().shape(\n {\n ownerName: Yup.string().required(\"Owner name is required\"),\n husbandName: Yup.string().when(\"fatherName\", (fatherName, schema) => {\n return !fatherName[0]\n ? schema\n .required(\"Husband's name is required\")\n .typeError(\"Husband name must be a string\")\n : schema.notRequired();\n }),\n fatherName: Yup.string().when(\"husbandName\", (husbandName, schema) => {\n return !husbandName[0]\n ? schema\n .required(\"Father's name is required\")\n .typeError(\"Father name must be a string\")\n : schema.notRequired();\n }),\n },\n [\"fatherName\", \"husbandName\"]\n);\n\nexport const advancePaymentPostingSchema = Yup.object().shape({\n amount: Yup.number()\n .required(\"Amount is required\")\n .min(0, \"Amount must be non-negative\"),\n payerName: Yup.string().required(\"Name of the Payer is required\"),\n payerMobile: Yup.string()\n .trim(\"Can't contain trailing spaces\")\n .required(\"Mobile number is required\")\n .matches(\n /^(?:\\+?91|0)?[6789]\\d{9}$/,\n \"Mobile number must be a valid Indian number\"\n ),\n transactionMethod: Yup.string().required(\"Transaction Method is required\"),\n paymentType: Yup.string().required(\"Payment Type is required\"),\n});\n\nexport const paymentShiftSchema = Yup.object().shape({\n paidPUID: Yup.string()\n .required(\"Unique Property ID is required\")\n .trim(\"Can't contain trailing spaces\"),\n shiftPUID: Yup.string()\n .required(\"Unique Property ID is required\")\n .trim(\"Can't contain trailing spaces\"),\n requestedBy: Yup.string().required(\"Requested By is required\"),\n});\n\nexport const propertyDeletionSchema = Yup.object().shape({\n propertyIds: Yup.array()\n .of(\n Yup.string()\n .length(17, \"Each Property ID must be exactly 17 characters long\")\n .matches(\n /^[a-zA-Z0-9-]+$/,\n \"Each Property ID must be alphanumeric with optional hyphens\"\n )\n .required(\"Property ID cannot be empty\")\n )\n .min(1, \"At least one Property ID is required\"),\n reason: Yup.string()\n .required(\"Reason is required\")\n .min(5, \"Reason must be at least 5 characters long\"),\n requestedBy: Yup.string()\n .required(\"Requested By is required\")\n .matches(\n /^[a-zA-Z\\s]+$/,\n \"Requested By must contain only letters and spaces\"\n ),\n});\n\nexport const paymentCancelSchema = Yup.object().shape({\n txnID: Yup.string()\n .required(\"Transaction ID is required\")\n .trim(\"Can't contain trailing spaces\"),\n remarks: Yup.string()\n .required(\"Remark is required\")\n .min(5, \"Remark must be at least 5 characters long\"),\n});\n","export const ULB_NAME = \"Bareilly\";\nexport const ULB_LOGO = require(\"assets/logos/bnn-logo.png\");\nexport const STATE_LOGO =\n require(\"assets/logos/Seal_of_Uttar_Pradesh.svg\").default;\n\nexport const NO_IMAGE_URL =\n \"https://res.cloudinary.com/dsuflgnfi/image/upload/v1717476320/Images/noImage.jpg\";\n\nexport const ACCESS_TOKEN =\n \"pk.eyJ1Ijoic2FydmVzaHBhbGF2IiwiYSI6ImNrc3UxNjNiZjFiZnkzMm9kOHRjZzM0MGsifQ.IuFVKuKrlshye1HRKIz0AQ\";\n\nconst PAYMENT_MODE = {\n NB: \"Netbanking\",\n DC: \"Debit Card\",\n CC: \"Credit Card\",\n UPI: \"UPI\",\n};\n\nconst PropertyCategories = {\n residential: \"Residential\",\n nonresidential: \"Non-Residential\",\n mix: \"Mix\",\n vacant: \"Vacant\",\n underconstruction: \"Under Construction\",\n \"Under Construction\": \"Under Construction\",\n};\n\nconst PropertyCategoriesHindi = {\n residential: \"आवासीय\",\n nonresidential: \"अनावासीय\",\n mix: \"मिश्रित\",\n vacant: \"खाली प्लॉट\",\n underconstruction: \"निर्माणाधीन\",\n};\n\nconst sourceOfWater = [\n {\n label: \"Select Source of Water\",\n value: \"\",\n disabled: true,\n },\n {\n label: \"Municipal Connection\",\n value: \"Municipal Connection\",\n },\n { label: \"Submercible\", value: \"Submercible\" },\n {\n label: \"Public Tap\",\n value: \"Public Tap\",\n },\n {\n label: \"Other\",\n value: \"Other\",\n },\n];\n\nconst columnDefsJalkal = [\n {\n field: \"propertyUniqueId\",\n header: \"Property UID\",\n dataType: \"text\",\n },\n {\n field: \"zone\",\n header: \"Zone\",\n dataType: \"text\",\n },\n {\n field: \"ward\",\n header: \"Ward\",\n dataType: \"text\",\n },\n {\n field: \"mohalla\",\n header: \"Mohalla\",\n dataType: \"text\",\n },\n {\n field: \"arrearWaterTax\",\n header: \"Arrear Water Tax\",\n dataType: \"number\",\n },\n {\n field: \"arrearSewerageTax\",\n header: \"Arrear Sewerage Tax\",\n dataType: \"number\",\n },\n {\n field: \"editRequestedBy\",\n header: \"Edited By\",\n dataType: \"text\",\n },\n {\n field: \"createdAt\",\n header: \"Edited On\",\n dataType: \"date\",\n },\n {\n field: \"updatedAt\",\n header: \"Last Updated\",\n dataType: \"date\",\n },\n];\n\nconst columnDefsAllProperties = [\n {\n field: \"propertyUniqueId\",\n header: \"Property UID\",\n },\n {\n field: \"hasPaid\",\n header: \"Payment Status\",\n },\n {\n field: \"buildingId\",\n header: \"Building ID\",\n },\n {\n field: \"zone\",\n header: \"Zone\",\n },\n {\n field: \"ward\",\n header: \"Ward\",\n },\n {\n field: \"mohalla\",\n header: \"Mohalla\",\n },\n {\n field: \"ownerName\",\n header: \"Owner Name\",\n },\n {\n field: \"tenantName\",\n header: \"Tenant Name\",\n },\n {\n field: \"fatherName\",\n header: \"Father Name\",\n },\n {\n field: \"husbandName\",\n header: \"Husband Name\",\n },\n {\n field: \"occupancyStatus\",\n header: \"Occupancy Status\",\n },\n {\n field: \"emailId\",\n header: \"Email ID\",\n },\n {\n field: \"mobileNumber\",\n header: \"Mobile Number\",\n },\n {\n field: \"houseCategory\",\n header: \"Property Usage\",\n },\n {\n field: \"categoryName\",\n header: \"Category\",\n },\n {\n field: \"subCategoryName\",\n header: \"Sub-Category\",\n },\n {\n field: \"houseNumber\",\n header: \"House Number\",\n },\n {\n field: \"buildingName\",\n header: \"Building Name\",\n },\n {\n field: \"propertyAddress\",\n header: \"Property Address\",\n },\n {\n field: \"roadType\",\n header: \"Road Type\",\n },\n {\n field: \"otherRoadType\",\n header: \"Other Road Type\",\n },\n {\n field: \"roadWidth\",\n header: \"Road Width\",\n },\n {\n field: \"constType\",\n header: \"Construction Type\",\n },\n {\n field: \"sewerageConnectionAvailable\",\n header: \"Sewerage Connection\",\n },\n {\n field: \"sourceOfWater\",\n header: \"Source of Water\",\n },\n {\n field: \"facilities\",\n header: \"Facilities\",\n },\n\n {\n field: \"plotArea\",\n header: \"Plot Area (sqft)\",\n },\n { field: \"coveredAreaBuilding\", header: \"Covered Area\" },\n {\n field: \"totalBuiltUpArea\",\n header: \"BuiltUp Area (sqft)\",\n },\n {\n field: \"openSpaceTotal\",\n header: \"Open Space (sqft)\",\n },\n {\n field: \"constructionYear\",\n header: \"Construction Year\",\n },\n {\n field: \"oldPropertyTaxId\",\n header: \"Old Property UID\",\n },\n {\n field: \"oldHouseNumber\",\n header: \"Old House No.\",\n },\n {\n field: \"usage\",\n header: \"Old Usage\",\n },\n {\n field: \"oldArv\",\n header: \"Old ARV\",\n },\n {\n field: \"totalARV\",\n header: \"Current ARV\",\n },\n {\n field: \"oldHouseTax\",\n header: \"Old House Tax\",\n },\n {\n field: \"totalHouseTax\",\n header: \"House Tax\",\n },\n {\n field: \"oldSewerageTax\",\n header: \"Old Sewer Tax\",\n },\n {\n field: \"totalSewarageTax\",\n header: \"Sewer Tax\",\n },\n {\n field: \"oldWaterTax\",\n header: \"Old Water Tax\",\n },\n {\n field: \"totalWaterTax\",\n header: \"Water Tax\",\n },\n {\n field: \"totalTax\",\n header: \"Total Tax\",\n },\n];\n\nconst columnDefsMessaging = [\n {\n field: \"propertyUniqueId\",\n header: \"Property UID\",\n },\n {\n field: \"zone\",\n header: \"Zone\",\n },\n {\n field: \"ward\",\n header: \"Ward\",\n },\n {\n field: \"mohalla\",\n header: \"Mohalla\",\n },\n {\n field: \"ownerName\",\n header: \"Owner Name\",\n },\n {\n field: \"mobileNumber\",\n header: \"Mobile Number\",\n },\n];\n\nconst columnDefsOldPayments = [\n { field: \"oldPropertyTaxId\", header: \"Old Property UID\" },\n { field: \"propertyUniqueId\", header: \"Property UID\" },\n { field: \"currentPaidAmount\", header: \"Current Payment\" },\n { field: \"netDemand\", header: \"Last Payment Amount\" },\n { field: \"totalDemand\", header: \"Current Demand\" },\n { field: \"paymentMode\", header: \"Last Payment Mode\" },\n { field: \"ownerName\", header: \"Owner Name\" },\n {\n field: \"fatherName\",\n header: \"Owner Father Name\",\n },\n { field: \"houseCategory\", header: \"House Category\" },\n { field: \"zone\", header: \"Zone Name\" },\n { field: \"ward\", header: \"Ward Name\" },\n { field: \"mohalla\", header: \"Mohalla Name\" },\n { field: \"mobileNumber\", header: \"Mobile No\" },\n { field: \"houseNumber\", header: \"House No\" },\n { field: \"propertyAddress\", header: \"Owner Address\" },\n { field: \"riArv\", header: \"Annual Rental Value\" },\n];\n\nconst oldPropertiesColumns = [\n { field: \"PTINNo\", header: \"Property Tax ID\" },\n { field: \"oldZoneName\", header: \"Zone Name\" },\n { field: \"oldWardName\", header: \"Ward Name\" },\n { field: \"oldMohallaName\", header: \"Mohalla Name\" },\n { field: \"oldHouseCategory\", header: \"House Category\" },\n { field: \"ownerName\", header: \"Owner Name\" },\n { field: \"oldConstYear\", header: \"Construction Year\" },\n { field: \"ownerFatherName\", header: \"Owner's Father Name\" },\n { field: \"oldMobileNo\", header: \"Mobile Number\" },\n { field: \"oldHouseNo\", header: \"House Number\" },\n { field: \"oldOwnerAddress\", header: \"Owner Address\" },\n { field: \"oldBuildingUsage\", header: \"Building Usage\" },\n { field: \"oldConstType\", header: \"Construction Type\" },\n { field: \"oldRoadWidth\", header: \"Road Width\" },\n { field: \"oldConstructionArea\", header: \"Construction Area\" },\n { field: \"ownerArea\", header: \"Owner's Area\" },\n { field: \"oldPlotArea\", header: \"Plot Area\" },\n { field: \"oldOpenArea\", header: \"Open Area\" },\n { field: \"oldCarpetArea\", header: \"Carpet Area\" },\n { field: \"oldArv\", header: \"Annual Rental Value\" },\n { field: \"houseTaxApplicable\", header: \"House Tax Applicable\" },\n { field: \"arrearsHouseTax\", header: \"Arrears of House Tax\" },\n { field: \"interestHouseTax\", header: \"Interest on House Tax\" },\n { field: \"oldHouseTax\", header: \"Old House Tax\" },\n { field: \"waterTaxApplicable\", header: \"Water Tax Applicable\" },\n { field: \"arrearsWaterTax\", header: \"Arrears of Water Tax\" },\n { field: \"interestWaterTax\", header: \"Interest on Water Tax\" },\n { field: \"oldWaterTax\", header: \"Old Water Tax\" },\n { field: \"sewerTaxApplicable\", header: \"Sewer Tax Applicable\" },\n { field: \"arrearsSewarageTax\", header: \"Arrears of Sewer Tax\" },\n { field: \"interestSewerTax\", header: \"Interest on Sewer Tax\" },\n { field: \"oldSewerTax\", header: \"Old Sewer Tax\" },\n // { field: \"isMutationDone\", header: \"Mutation Status\" },\n];\n\nconst oldPropertiesKeys = {\n oldWardName: \"Ward Name\",\n oldMohallaName: \"Mohalla Name\",\n oldZoneName: \"Zone Name\",\n PTINNo: \"PTIN No\",\n ownerName: \"Owner Name\",\n oldHouseCategory: \"House Category\",\n oldConstYear: \"Construction Year\",\n ownerFatherName: \"Owner's Father Name\",\n oldMobileNo: \"Mobile Number\",\n oldArv: \"Old ARV\",\n oldHouseNo: \"House Number\",\n isMutationDone: \"Mutation Status\",\n oldOwnerAddress: \"Owner Address\",\n};\n\nconst columnDefsMohalla = [\n { field: \"name\", header: \"Name\", sortable: true },\n { field: \"zone\", header: \"Zone\", sortable: true },\n { field: \"ward\", header: \"Ward\", sortable: true },\n\n { field: \"water_tax_availability\", header: \"Water Availability\" },\n { field: \"sewer_tax_availability\", header: \"Sewer Availability\" },\n\n { field: \"road_w_l_12.rcc_rbc\", header: \"RCC/RBC\" },\n { field: \"road_w_l_12.other_pucca\", header: \"Other Pucca\" },\n { field: \"road_w_l_12.kachha\", header: \"Kachcha\" },\n { field: \"road_w_l_12.vacant_land\", header: \"Vacant Land\" },\n\n { field: \"road_w_12_24.rcc_rbc\", header: \"RCC/RBC\" },\n { field: \"road_w_12_24.other_pucca\", header: \"Other Pucca\" },\n { field: \"road_w_12_24.kachha\", header: \"Kachcha\" },\n { field: \"road_w_12_24.vacant_land\", header: \"Vacant Land\" },\n\n { field: \"road_w_m_24.rcc_rbc\", header: \"RCC/RBC\" },\n { field: \"road_w_m_24.other_pucca\", header: \"Other Pucca\" },\n { field: \"road_w_m_24.kachha\", header: \"Kachcha\" },\n { field: \"road_w_m_24.vacant_land\", header: \"Vacant Land\" },\n];\n\nconst columnDefsSurveyedProperties = [\n {\n field: \"propertyUniqueId\",\n header: \"Property UID\",\n },\n {\n field: \"buildingId\",\n header: \"Building ID\",\n },\n {\n field: \"zone\",\n header: \"Zone\",\n },\n {\n field: \"ward\",\n header: \"Ward\",\n },\n {\n field: \"mohalla\",\n header: \"Mohalla\",\n },\n {\n field: \"surveyed_by\",\n header: \"Surveyed By\",\n },\n {\n field: \"surveyed_date\",\n header: \"Surveyed On\",\n },\n {\n field: \"ownerName\",\n header: \"Owner Name\",\n },\n {\n field: \"fatherName\",\n header: \"Father Name\",\n },\n {\n field: \"husbandName\",\n header: \"Husband Name\",\n },\n {\n field: \"occupancyStatus\",\n header: \"Occupancy Status\",\n },\n {\n field: \"emailId\",\n header: \"Email ID\",\n },\n {\n field: \"mobileNumber\",\n header: \"Mobile Number\",\n },\n {\n field: \"houseCategory\",\n header: \"Property Usage\",\n },\n {\n field: \"categoryName\",\n header: \"Category\",\n },\n {\n field: \"subCategoryName\",\n header: \"Sub-Category\",\n },\n {\n field: \"houseNumber\",\n header: \"House Number\",\n },\n {\n field: \"buildingName\",\n header: \"Building Name\",\n },\n {\n field: \"propertyAddress\",\n header: \"Property Address\",\n },\n {\n field: \"roadType\",\n header: \"Road Type\",\n },\n {\n field: \"otherRoadType\",\n header: \"Other Road Type\",\n },\n {\n field: \"roadWidth\",\n header: \"Road Width\",\n },\n {\n field: \"constType\",\n header: \"Construction Type\",\n },\n {\n field: \"sewerageConnectionAvailable\",\n header: \"Sewerage Connection\",\n },\n {\n field: \"sourceOfWater\",\n header: \"Source of Water\",\n },\n {\n field: \"facilities\",\n header: \"Facilities\",\n },\n\n {\n field: \"plotArea\",\n header: \"Plot Area (sqft)\",\n },\n { field: \"coveredAreaBuilding\", header: \"Covered Area\" },\n {\n field: \"totalBuiltUpArea\",\n header: \"BuiltUp Area (sqft)\",\n },\n {\n field: \"openSpaceTotal\",\n header: \"Open Space (sqft)\",\n },\n {\n field: \"constructionYear\",\n header: \"Construction Year\",\n },\n {\n field: \"oldPropertyTaxId\",\n header: \"Old Property UID\",\n },\n {\n field: \"oldHouseNumber\",\n header: \"Old House No.\",\n },\n {\n field: \"usage\",\n header: \"Old Usage\",\n },\n {\n field: \"oldArv\",\n header: \"Old ARV\",\n },\n {\n field: \"totalARV\",\n header: \"Current ARV\",\n },\n {\n field: \"oldHouseTax\",\n header: \"Old House Tax\",\n },\n {\n field: \"totalHouseTax\",\n header: \"House Tax\",\n },\n {\n field: \"oldSewerageTax\",\n header: \"Old Sewer Tax\",\n },\n {\n field: \"totalSewarageTax\",\n header: \"Sewer Tax\",\n },\n {\n field: \"oldWaterTax\",\n header: \"Old Water Tax\",\n },\n {\n field: \"totalWaterTax\",\n header: \"Water Tax\",\n },\n {\n field: \"totalTax\",\n header: \"Total Tax\",\n },\n];\n\nconst PAYMENT_MODES = [\n {\n label: \"UPI\",\n value: \"UPI\",\n },\n {\n label: \"Debit Card\",\n value: \"DC\",\n },\n {\n label: \"Credit Card\",\n value: \"CC\",\n },\n {\n label: \"NetBanking\",\n value: \"NB\",\n },\n];\n\nconst TRANSACTION_TYPES_OFFLINE = [\n {\n label: \"Cash\",\n value: \"Cash\",\n },\n {\n label: \"DD\",\n value: \"DD\",\n },\n {\n label: \"Cheque\",\n value: \"Cheque\",\n },\n];\n\nconst TRANSACTION_TYPES_POS = [\n {\n label: \"Cash\",\n value: \"Cash\",\n },\n {\n label: \"Card\",\n value: \"Card\",\n },\n {\n label: \"BHARATQR\",\n value: \"BHARATQR\",\n },\n {\n label: \"DD\",\n value: \"DD\",\n },\n {\n label: \"Cheque\",\n value: \"Cheque\",\n },\n];\n\nconst PAYMENT_TYPES = [\n {\n label: \"UPI\",\n value: \"UPI\",\n },\n {\n label: \"Debit Card\",\n value: \"DC\",\n },\n {\n label: \"Credit Card\",\n value: \"CC\",\n },\n {\n label: \"NetBanking\",\n value: \"NB\",\n },\n {\n label: \"Cash\",\n value: \"Cash\",\n },\n {\n label: \"DD\",\n value: \"DD\",\n },\n {\n label: \"Cheque\",\n value: \"Cheque\",\n },\n];\n\nconst PROPERTY_TYPE_OPTIONS = [\n { label: \"Residential\", value: \"residential\" },\n { label: \"Non-Residential\", value: \"nonresidential\" },\n { label: \"Mix\", value: \"mix\" },\n { label: \"Vacant\", value: \"vacant\" },\n { label: \"Under Construction\", value: \"underconstruction\" },\n];\n\nconst PAYMENT_STATUS_OPTIONS = [\n { label: \"In Progress\", value: \"In progress\" },\n { label: \"Cleared\", value: \"Cleared\" },\n];\n\nconst ROAD_TYPES = [\n { label: \"<12 meters/12 मीटर से कम\", value: \"<12 meters\" },\n { label: \">24 meters/24 मीटर से अधिक\", value: \">24 meters\" },\n {\n label: \"12-24 meters/12 से 24 मीटर के बीच\",\n value: \"12-24 meters\",\n },\n];\n\nconst FY_MONTHS = [\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n \"January\",\n \"February\",\n \"March\",\n];\n\nexport {\n ROAD_TYPES,\n PAYMENT_MODES,\n PAYMENT_TYPES,\n PropertyCategories,\n sourceOfWater,\n columnDefsJalkal,\n columnDefsAllProperties,\n columnDefsMessaging,\n columnDefsOldPayments,\n oldPropertiesColumns,\n columnDefsMohalla,\n oldPropertiesKeys,\n PropertyCategoriesHindi,\n PAYMENT_MODE,\n PROPERTY_TYPE_OPTIONS,\n PAYMENT_STATUS_OPTIONS,\n TRANSACTION_TYPES_POS,\n TRANSACTION_TYPES_OFFLINE,\n FY_MONTHS,\n columnDefsSurveyedProperties,\n};\n","import axios from \"axios\";\nimport CustomToast from \"components/ui/Toast\";\nimport {\n createContext,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { API } from \"middleware/api\";\nimport { parseJwt } from \"utils/parseJWT\";\n\nconst AuthContext = createContext();\n\nconst AuthProvider = ({ children }) => {\n const toast = useRef(null);\n const [toastOptions, setToastOptions] = useState();\n\n // State to hold the authentication token\n const [accessToken, setAccessToken] = useState(\n localStorage.getItem(\"accessBNNToken\")\n );\n\n const [userDetails, setUserDetails] = useState();\n const [userAccess, setUserAccess] = useState();\n const [accessType, setAccessType] = useState();\n const [loginType, setLoginType] = useState(parseJwt(accessToken)?.loginType);\n\n // Function to set the authentication token\n const setToken = (newToken) => {\n localStorage.setItem(\"accessBNNToken\", newToken);\n setAccessToken(newToken);\n };\n\n const removeToken = () => {\n setToastOptions({\n severity: \"success\",\n summary: \"Logout Success!\",\n detail: \"You have been successfully logged out of portal!\",\n });\n setAccessToken(null);\n setUserDetails(null);\n setUserAccess(null);\n localStorage.removeItem(\"accessBNNToken\");\n };\n\n useEffect(() => {\n const fetchUser = async (email, loginUser) => {\n try {\n let user;\n\n if (!userDetails) {\n if (![\"nagar_nigam\", \"jalkal\"].includes(loginUser)) {\n user = await API.fetchUploadUser(email);\n } else {\n user = await API.fetchOfficial(email);\n }\n\n if (user) {\n setUserDetails(user);\n } else {\n setToastOptions({\n severity: \"warn\",\n summary: \"Oops...\",\n detail: \"Could not load user correctly, please login again\",\n });\n removeToken();\n }\n }\n } catch (error) {\n setToastOptions({\n severity: \"error\",\n summary: \"Error\",\n detail: error.message,\n });\n removeToken();\n }\n };\n\n if (accessToken) {\n const decodedJWT = parseJwt(accessToken);\n\n // ! Calculate expiration time in milliseconds (8 hours)\n const threeHoursInMs = 8 * 60 * 60 * 1000;\n const expirationTime = decodedJWT?.exp * threeHoursInMs;\n\n // ! Check if current time is greater than expiration time\n if (expirationTime <= new Date().getTime()) {\n removeToken();\n }\n\n axios.defaults.headers.common[\"Authorization\"] = `Bearer ${accessToken}`;\n setToken(accessToken);\n\n setLoginType(decodedJWT.loginType);\n setUserAccess(decodedJWT.accessName);\n setAccessType(decodedJWT.accessType);\n\n fetchUser(decodedJWT?.email, decodedJWT?.loginType);\n } else {\n delete axios.defaults.headers.common[\"Authorization\"];\n localStorage.removeItem(\"accessBNNToken\");\n }\n }, [accessToken, userDetails]);\n\n const contextValue = useMemo(\n () => ({\n accessToken,\n setToken,\n removeToken,\n userDetails,\n userAccess,\n loginType,\n accessType,\n }),\n [accessToken, userDetails, userAccess, loginType, accessType]\n );\n\n // Provide the authentication context to the children components\n return (\n <>\n \n \n {children}\n \n \n );\n};\n\nexport default AuthProvider;\n\nexport const useAuth = () => {\n return useContext(AuthContext);\n};\n","// ToastContext.js\nimport { Toast } from \"primereact/toast\";\nimport { createContext, useContext, useRef } from \"react\";\n\nconst ToastContext = createContext();\n\nexport const ToastProvider = ({ children }) => {\n const toastRef = useRef(null);\n\n const showToast = (toastOptions) => {\n toastRef.current.show({\n severity: toastOptions.severity,\n summary: toastOptions.summary,\n detail: toastOptions.detail,\n life: toastOptions.duration ?? 2000,\n });\n };\n\n return (\n \n \n {children}\n \n );\n};\n\nexport const useToast = () => useContext(ToastContext);\n","export const getOnlineTransactionsQueries = (values) => {\n let queryConditions = \"\";\n if (values?.dates && values?.dates.length === 2) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}startDate=${new Date(\n values?.dates[0]\n ).toLocaleDateString(\"en-CA\")}&endDate=${new Date(\n values?.dates[1]\n ).toLocaleDateString(\"en-CA\")}`;\n }\n\n if (values?.transactionId) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}transactionId=${\n values?.transactionId\n }`;\n }\n\n if (values?.propertyUniqueId) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}propertyUniqueId=${\n values?.propertyUniqueId\n }`;\n }\n\n if (values?.paymentMethod) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}paymentMethod=${\n values?.paymentMethod\n }`;\n }\n\n if (values?.page && values?.pageSize) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}page=${\n values?.page\n }&limit=${values?.pageSize}`;\n }\n\n if (values?.zoneId) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}zoneId=${values?.zoneId}`;\n }\n\n if (values?.wardId) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}wardId=${values?.wardId}`;\n }\n\n if (values?.mohallaId) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}mohallaId=${\n values?.mohallaId\n }`;\n }\n\n if (values?.houseCategory) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}houseCategory=${\n values?.houseCategory\n }`;\n }\n\n return queryConditions;\n};\n\nexport const getOfflineTransactionsQueries = (values) => {\n let queryConditions = \"\";\n\n if (values?.dates && values?.dates.length === 2) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}startDate=${new Date(\n values?.dates[0]\n ).toLocaleDateString(\"en-CA\")}&endDate=${new Date(\n values?.dates[1]\n ).toLocaleDateString(\"en-CA\")}`;\n }\n\n if (values?.transactionId) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}transactionId=${\n values?.transactionId\n }`;\n }\n\n if (values?.txnType) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}txnType=${\n values?.txnType\n }`;\n }\n\n if (values?.propertyUniqueId) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}propertyUniqueId=${\n values?.propertyUniqueId\n }`;\n }\n\n if (values?.transactionType) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}transactionType=${\n values?.transactionType\n }`;\n }\n\n if (values?.paymentStatus) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}paymentStatus=${\n values?.paymentStatus\n }`;\n }\n\n if (values?.zoneId) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}zoneId=${values?.zoneId}`;\n }\n\n if (values?.wardId) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}wardId=${values?.wardId}`;\n }\n\n if (values?.mohallaId) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}mohallaId=${\n values?.mohallaId\n }`;\n }\n\n if (values?.houseCategory) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}houseCategory=${\n values?.houseCategory\n }`;\n }\n\n if (values?.chequeNo) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}chequeNo=${\n values?.chequeNo\n }`;\n }\n\n if (values?.ddNo) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}ddNo=${values?.ddNo}`;\n }\n\n if (values?.page && values?.pageSize) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}page=${\n values?.page\n }&limit=${values?.pageSize}`;\n }\n\n return queryConditions;\n};\n\nexport const getNeftTransactionsQueries = (values) => {\n let queryConditions = \"\";\n\n if (values?.dates && values?.dates.length === 2) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}startDate=${new Date(\n values?.dates[0]\n ).toLocaleDateString(\"en-CA\")}&endDate=${new Date(\n values?.dates[1]\n ).toLocaleDateString(\"en-CA\")}`;\n }\n\n if (values?.transactionId) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}transactionId=${\n values?.transactionId\n }`;\n }\n\n if (values?.propertyUniqueId) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}propertyUniqueId=${\n values?.propertyUniqueId\n }`;\n }\n\n if (values?.transactionType) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}transactionType=${\n values?.transactionType\n }`;\n }\n\n if (values?.zoneId) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}zoneId=${values?.zoneId}`;\n }\n\n if (values?.wardId) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}wardId=${values?.wardId}`;\n }\n\n if (values?.mohallaId) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}mohallaId=${\n values?.mohallaId\n }`;\n }\n\n if (values?.houseCategory) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}houseCategory=${\n values?.houseCategory\n }`;\n }\n\n if (values?.page && values?.pageSize) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}page=${\n values?.page\n }&limit=${values?.pageSize}`;\n }\n\n return queryConditions;\n};\n\nexport const getObjectionQueries = (values) => {\n let queryConditions = \"\";\n\n if (values.zoneId && values.zoneId !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}zoneId=${values.zoneId}`;\n }\n if (values.wardId && values.wardId !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}wardId=${values.wardId}`;\n }\n if (values.mohallaId && values.mohallaId !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}mohallaId=${\n values.mohallaId\n }`;\n }\n if (values.ownerName && values.ownerName !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}ownerName=${\n values.ownerName\n }`;\n }\n if (values.houseNumber && values.houseNumber !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}houseNumber=${\n values.houseNumber\n }`;\n }\n if (values.propertyUniqueId && values.propertyUniqueId !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}propertyUniqueId=${\n values.propertyUniqueId\n }`;\n }\n if (values.objectionStatus && values.objectionStatus !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}objectionStatus=${\n values.objectionStatus\n }`;\n }\n if (values.uploaderType && values.uploaderType !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}uploaderType=${\n values.uploaderType\n }`;\n }\n if (values.objectionDate && values.objectionDate !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}objectionDate=${\n values.objectionDate\n }`;\n }\n\n if (values?.dates && values?.dates.length === 2) {\n queryConditions += `?startDate=${new Date(\n values?.dates[0]\n ).toLocaleDateString(\"en-CA\")}&endDate=${new Date(\n values?.dates[1]\n ).toLocaleDateString(\"en-CA\")}`;\n }\n\n if (values.resolvedDates && values?.resolvedDates.length === 2) {\n const resolvedStartDate = new Date(\n values.resolvedDates[0]\n ).toLocaleDateString(\"en-CA\");\n const resolvedEndDate = new Date(\n values.resolvedDates[1]\n ).toLocaleDateString(\"en-CA\");\n\n queryConditions += `${\n queryConditions ? \"&\" : \"?\"\n }resolvedStartDate=${resolvedStartDate}&resolvedEndDate=${resolvedEndDate}`;\n }\n\n if (values?.page && values?.pageSize) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}page=${\n values?.page\n }&limit=${values?.pageSize}`;\n }\n\n return queryConditions;\n};\n\nexport const getEditedPropertiesQueries = (values) => {\n let queryConditions = \"\";\n\n if (values.zoneId && values.zoneId !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}zoneId=${values.zoneId}`;\n }\n if (values.wardId && values.wardId !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}wardId=${values.wardId}`;\n }\n if (values.mohallaId && values.mohallaId !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}mohallaId=${\n values.mohallaId\n }`;\n }\n if (values.ownerName && values.ownerName !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}ownerName=${\n values.ownerName\n }`;\n }\n if (values.houseNumber && values.houseNumber !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}houseNumber=${\n values.houseNumber\n }`;\n }\n if (values.propertyUniqueId && values.propertyUniqueId !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}propertyUniqueId=${\n values.propertyUniqueId\n }`;\n }\n\n if (values.editedOn && values.editedOn !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}editedOn=${new Date(\n values.editedOn\n ).toLocaleDateString(\"en-CA\")}`;\n }\n\n if (values?.page && values?.pageSize) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}page=${\n values?.page\n }&limit=${values?.pageSize}`;\n }\n\n return queryConditions;\n};\n\nexport const getDemandQueries = (values) => {\n let queryConditions = \"\";\n\n if (values.zoneId && values.zoneId !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}zoneId=${values.zoneId}`;\n }\n if (values.wardId && values.wardId !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}wardId=${values.wardId}`;\n }\n if (values.mohallaId && values.mohallaId !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}mohallaId=${\n values.mohallaId\n }`;\n }\n if (values.houseCategory && values.houseCategory !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}houseCategory=${\n values.houseCategory\n }`;\n }\n\n if (values.category && values.category !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}category=${\n values.category\n }`;\n }\n\n if (values.subCategory && values.subCategory !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}subCategory=${\n values.subCategory\n }`;\n }\n if (values.year && values.year !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}year=${new Date(\n values.year\n ).getFullYear()}`;\n }\n\n return queryConditions;\n};\n\nexport const getDefaulterQueries = (paginationQuery, values, queryType) => {\n let queryConditions = \"\";\n\n if (paginationQuery.page && paginationQuery.pageSize) {\n queryConditions += `?page=${paginationQuery.page}&limit=${paginationQuery.pageSize}`;\n }\n\n if (values.zoneId && values.zoneId !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}zoneId=${values.zoneId}`;\n }\n if (values.wardId && values.wardId !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}wardId=${values.wardId}`;\n }\n if (values.mohallaId && values.mohallaId !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}mohallaId=${\n values.mohallaId\n }`;\n }\n if (values.filterType && values.filterType !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}filterType=${\n values.filterType\n }`;\n }\n if (values.minAmount || values.maxAmount) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}minAmount=${\n values.minAmount ?? 100000\n }`;\n queryConditions += `${queryConditions ? \"&\" : \"?\"}maxAmount=${\n values.maxAmount ?? 500000\n }`;\n }\n if (values.houseCategory && values.houseCategory !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}houseCategory=${\n values.houseCategory\n }`;\n }\n if (values.category && values.category !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}category=${\n values.category\n }`;\n }\n if (values.subCategory && values.subCategory !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}subCategory=${\n values.subCategory\n }`;\n }\n if (values.matchingStatus && values.matchingStatus !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}matchingStatus=${\n values.matchingStatus\n }`;\n }\n\n return queryConditions;\n};\n\nexport const getARVQueries = (paginationQuery, values) => {\n let queryConditions = \"\";\n\n if (paginationQuery.page && paginationQuery.pageSize) {\n queryConditions += `?page=${paginationQuery.page}&limit=${paginationQuery.pageSize}`;\n }\n\n if (values.zoneId && values.zoneId !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}zoneId=${values.zoneId}`;\n }\n if (values.wardId && values.wardId !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}wardId=${values.wardId}`;\n }\n if (values.mohallaId && values.mohallaId !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}mohallaId=${\n values.mohallaId\n }`;\n }\n if (values.minAmount || values.maxAmount) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}minAmount=${\n values.minAmount ?? 100000\n }`;\n queryConditions += `${queryConditions ? \"&\" : \"?\"}maxAmount=${\n values.maxAmount ?? 500000\n }`;\n }\n if (values.houseCategory && values.houseCategory !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}houseCategory=${\n values.houseCategory\n }`;\n }\n if (values.category && values.category !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}category=${\n values.category\n }`;\n }\n if (values.subCategory && values.subCategory !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}subCategory=${\n values.subCategory\n }`;\n }\n if (values.matchingStatus && values.matchingStatus !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}matchingStatus=${\n values.matchingStatus\n }`;\n }\n\n return queryConditions;\n};\n\nexport const getPropertyQueries = (values) => {\n let queryConditions = \"\";\n\n if (values.zoneId && values.zoneId !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}zoneId=${values.zoneId}`;\n }\n if (values.wardId && values.wardId !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}wardId=${values.wardId}`;\n }\n if (values.mohallaId && values.mohallaId !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}mohallaId=${\n values.mohallaId\n }`;\n }\n\n if (values.propertyUniqueId && values.propertyUniqueId !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}propertyUniqueId=${\n values.propertyUniqueId\n }`;\n }\n\n if (values.oldPropertyTaxId && values.oldPropertyTaxId !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}oldPropertyTaxId=${\n values.oldPropertyTaxId\n }`;\n }\n\n if (values.ownerName && values.ownerName !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}ownerName=${\n values.ownerName\n }`;\n }\n if (values.fatherName && values.fatherName !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}fatherName=${\n values.fatherName\n }`;\n }\n if (values.mobileNumber && values.mobileNumber !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}mobileNumber=${\n values.mobileNumber\n }`;\n }\n if (values.houseNumber && values.houseNumber !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}houseNumber=${\n values.houseNumber\n }`;\n }\n\n if (values.category && values.category !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}category=${\n values.category\n }`;\n }\n if (values.subCategory && values.subCategory !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}subCategory=${\n values.subCategory\n }`;\n }\n\n if (values.buildingId && values.buildingId !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}buildingId=${\n values.buildingId\n }`;\n }\n\n return queryConditions;\n};\n\nexport const getCollectionQueries = (values) => {\n let queryConditions = \"\";\n\n if (values.page && values.pageSize) {\n queryConditions += `?page=${values.page}&limit=${values.pageSize}`;\n }\n\n if (values.zoneId && values.zoneId !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}zoneId=${values.zoneId}`;\n }\n if (values.wardId && values.wardId !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}wardId=${values.wardId}`;\n }\n if (values.mohallaId && values.mohallaId !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}mohallaId=${\n values.mohallaId\n }`;\n }\n\n if (values.houseCategory && values.houseCategory !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}houseCategory=${\n values.houseCategory\n }`;\n }\n\n if (values.category && values.category !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}category=${\n values.category\n }`;\n }\n\n if (values.subCategory && values.subCategory !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}subCategory=${\n values.subCategory\n }`;\n }\n\n if (values.method && values.method !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}method=${values.method}`;\n }\n if (values.mode && values.mode !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}mode=${values.mode}`;\n }\n\n if (values?.dates && values?.dates.length === 2) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}startDate=${new Date(\n values?.dates[0]\n ).toLocaleDateString(\"en-CA\")}&endDate=${new Date(\n values?.dates[1]\n ).toLocaleDateString(\"en-CA\")}`;\n }\n\n return queryConditions;\n};\n\nexport const getDashboardQueries = (paginationQuery, values) => {\n let queryConditions = \"\";\n\n if (paginationQuery.page && paginationQuery.pageSize) {\n queryConditions += `page=${paginationQuery.page}&limit=${paginationQuery.pageSize}`;\n }\n\n if (values.zoneId && values.zoneId !== \"\") {\n queryConditions += `&zoneId=${values.zoneId}`;\n }\n if (values.wardId && values.wardId !== \"\") {\n queryConditions += `&wardId=${values.wardId}`;\n }\n if (values.mohallaId && values.mohallaId !== \"\") {\n queryConditions += `&mohallaId=${values.mohallaId}`;\n }\n\n return queryConditions;\n};\n\nexport const getMutationQueries = (values) => {\n let queryConditions = \"\";\n\n if (values.page && values.pageSize) {\n queryConditions += `?page=${values.page}&limit=${values.pageSize}`;\n }\n\n if (values.zoneId && values.zoneId !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}zoneId=${values.zoneId}`;\n }\n if (values.wardId && values.wardId !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}wardId=${values.wardId}`;\n }\n if (values.mohallaId && values.mohallaId !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}mohallaId=${\n values.mohallaId\n }`;\n }\n if (values.propertyUniqueId && values.propertyUniqueId !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}propertyUniqueId=${\n values.propertyUniqueId\n }`;\n }\n if (values.mutationId && values.mutationId !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}mutationId=${\n values.mutationId\n }`;\n }\n if (values.status && values.status !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}status=${values.status}`;\n }\n\n return queryConditions;\n};\n\nexport const getDrCrQueries = (paginationQuery, values) => {\n let queryConditions = \"\";\n\n if (paginationQuery.page && paginationQuery.pageSize) {\n queryConditions += `?page=${paginationQuery.page}&limit=${paginationQuery.pageSize}`;\n }\n\n if (values?.zoneId && values?.zoneId !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}zoneId=${values?.zoneId}`;\n }\n if (values?.wardId && values?.wardId !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}wardId=${values?.wardId}`;\n }\n if (values?.mohallaId && values?.mohallaId !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}mohallaId=${\n values?.mohallaId\n }`;\n }\n if (values?.propertyUniqueId && values.propertyUniqueId !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}propertyUniqueId=${\n values.propertyUniqueId\n }`;\n }\n if (values?.debitCreditNo && values?.debitCreditNo !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}debitCreditNo=${\n values?.debitCreditNo\n }`;\n }\n\n return queryConditions;\n};\n\nexport const getArchivedQueries = (values) => {\n let queryConditions = \"\";\n\n if (values?.dates && values?.dates.length === 2) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}startDate=${new Date(\n values?.dates[0]\n ).toLocaleDateString(\"en-CA\")}&endDate=${new Date(\n values?.dates[1]\n ).toLocaleDateString(\"en-CA\")}`;\n }\n\n if (values?.chequeNo) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}chequeNo=${\n values?.chequeNo\n }`;\n }\n\n if (values?.txnType) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}txnType=${\n values?.txnType\n }`;\n }\n\n if (values?.transactionId) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}transactionId=${\n values?.transactionId\n }`;\n }\n\n if (values?.propertyUniqueId) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}propertyUniqueId=${\n values?.propertyUniqueId\n }`;\n }\n return queryConditions;\n};\n\nexport const getValidationQueries = (values) => {\n let queryConditions = \"\";\n\n if (values?.dates && values?.dates.length === 2) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}startDate=${new Date(\n values?.dates[0]\n ).toLocaleDateString(\"en-CA\")}&endDate=${new Date(\n values?.dates[1]\n ).toLocaleDateString(\"en-CA\")}`;\n }\n\n if (values.page && values.pageSize) {\n queryConditions += `?page=${values.page}&limit=${values.pageSize}`;\n }\n\n if (values.zoneId && values.zoneId !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}zoneId=${values.zoneId}`;\n }\n if (values.wardId && values.wardId !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}wardId=${values.wardId}`;\n }\n if (values.mohallaId && values.mohallaId !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}mohallaId=${\n values.mohallaId\n }`;\n }\n if (values.surveyed_by && values.surveyed_by !== \"\") {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}surveyed_by=${\n values.surveyed_by\n }`;\n }\n\n if (values?.propertyUniqueId) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}propertyUniqueId=${\n values?.propertyUniqueId\n }`;\n }\n\n return queryConditions;\n};\n","import axios from \"axios\";\nimport {\n getArchivedQueries,\n getARVQueries,\n getCollectionQueries,\n getDashboardQueries,\n getDefaulterQueries,\n getDemandQueries,\n getDrCrQueries,\n getEditedPropertiesQueries,\n getMutationQueries,\n getNeftTransactionsQueries,\n getObjectionQueries,\n getOfflineTransactionsQueries,\n getOnlineTransactionsQueries,\n getPropertyQueries,\n // getValidationQueries,\n} from \"./utils\";\n\nconst API_BASE_URL =\n process.env.NODE_ENV === \"production\"\n ? process.env.API_URL || \"https://api-citizen.arahas.com/bareilly/\"\n : \"http://localhost:5035/bareilly/\";\n\naxios.defaults.headers.common[\"Content-Type\"] = \"application/json\";\naxios.defaults.baseURL = API_BASE_URL;\n\n/*=============================================\n= Handle API Error =\n=============================================*/\n\nconst handleApiError = (error) => {\n let errorMessage = \"Something went wrong\";\n let errorType = \"error\";\n\n if (error.response) {\n const { data, status: statusCode } = error.response;\n\n if (statusCode === 404) {\n errorMessage = data.message || \"Resource not found\";\n errorType = data.status;\n } else {\n errorMessage = data.message || \"Server Error\";\n errorType = data.status;\n }\n } else if (error.request) {\n errorMessage = \"No response received from the server\";\n } else {\n errorMessage = error.message || \"Request failed\";\n }\n throw new Error(`${errorType}: ${errorMessage}`);\n};\n\n/*===== End of handling API error ======*/\n\nexport const API = {\n /*=============================================\n= Zones APIs =\n=============================================*/\n\n fetchFilteredZones: async () => {\n try {\n const response = await axios.get(`zones`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchAllZones: async () => {\n try {\n const response = await axios.get(`zones/all`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n addZone: async (values) => {\n try {\n const response = await axios.post(`zones/add`, values);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n /*===== End of Zone APIs ======*/\n\n /*=============================================\n= Wards APIs =\n=============================================*/\n\n fetchAllWards: async (selectedZone) => {\n try {\n const response = await axios.get(\n `wards/all${selectedZone ? `?zone=${selectedZone}` : \"\"}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchAllWardsByZone: async (selectedZone) => {\n try {\n const response = await axios.get(\n `wards${selectedZone ? `?zone=${selectedZone}` : \"\"}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n editWard: async (wardId, values) => {\n try {\n const response = await axios.patch(`wards/edit/${wardId}`, values);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n addWard: async (values) => {\n try {\n const response = await axios.post(`wards/add`, values);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n /*===== End of Wards APIs ======*/\n\n /*=============================================\n= Mohallas APIs =\n=============================================*/\n\n fetchAllMohallas: async () => {\n try {\n const response = await axios.get(`mohallas`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n editMohalla: async (mohallaId, formData) => {\n try {\n const response = await axios.patch(\n `mohallas/edit/${mohallaId}`,\n formData,\n {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n }\n );\n console.log(response.data);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n addMohalla: async (values) => {\n try {\n const response = await axios.post(`mohallas/add`, values);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchAllMohallasByWardsAndZone: async (selectedZone, selectedWard) => {\n try {\n const response = await axios.get(\n `mohallas?zone=${selectedZone}&ward=${selectedWard}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchMohallasByWard: async (selectedWard) => {\n try {\n const response = await axios.get(`mohallas?ward=${selectedWard}`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n /*===== End of Mohallas APIs ======*/\n\n /*=============================================\n= Roles APIs =\n=============================================*/\n\n fetchAllRoles: async () => {\n try {\n const response = await axios.get(`roles/all`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n editRole: async (roleId, values) => {\n try {\n const response = await axios.patch(`roles/edit/${roleId}`, values);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n addRole: async (values) => {\n try {\n const response = await axios.post(`roles/add/`, values);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n /*===== End of Roles APIs ======*/\n\n fetchBanks: async () => {\n try {\n const response = await axios.get(`banks`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchCategories: async () => {\n try {\n const response = await axios.get(`categories`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n addCategory: async (values) => {\n try {\n const response = await axios.post(`categories`, values);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n updateCategory: async (categoryID, values) => {\n try {\n const response = await axios.patch(\n `categories/categoryID=${categoryID}`,\n values\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n deleteCategory: async (categoryID) => {\n try {\n const response = await axios.delete(\n `categories/categoryID=${categoryID}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchAllFilteredProperties: async (values) => {\n try {\n const response = await axios.post(`properties/all`, values);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n generateBulkNotices: async (formData) => {\n try {\n const response = await axios.post(\n `properties/generateBulkNotice`,\n formData,\n {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n }\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchPropertyByID: async (propertyUniqueId) => {\n try {\n const response = await axios.get(\n `properties?propertyUniqueId=${propertyUniqueId}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n searchPropertyDetails: async (query, values) => {\n try {\n let queryConditions;\n\n if (query.page && query.pageSize) {\n queryConditions = `?page=${query.page}&limit=${query.pageSize}`;\n }\n\n const response = await axios.post(\n `properties/search${queryConditions ? queryConditions : \"\"}`,\n values\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n messageSearchPropertyDetails: async (query, values) => {\n console.log(\"🚀 ~ messageSearchPropertyDetails: ~ query:\", query);\n try {\n let queryConditions;\n\n if (query.page && query.pageSize) {\n queryConditions = `?page=${query.page}&limit=${query.pageSize}`;\n }\n\n const response = await axios.post(\n `properties/message/search${queryConditions ? queryConditions : \"\"}`,\n values\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchPaginatedProperties: async (query, values) => {\n try {\n let queryConditions = \"\";\n\n if (query.page && query.pageSize) {\n queryConditions = `?page=${query.page}&limit=${query.pageSize}`;\n }\n\n const response = await axios.post(\n `properties/paginated${queryConditions}`,\n values\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n exportPropertyDetails: async (values) => {\n try {\n const queryConditions = getPropertyQueries(values);\n const response = await axios.get(`properties/export${queryConditions}`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n addProperty: async (formData) => {\n try {\n const response = await axios.post(`properties/add`, formData, {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n });\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n editPropertyDetails: async (propertyUniqueId, formData) => {\n try {\n const response = await axios.patch(\n `properties/edit/${propertyUniqueId}`,\n formData,\n {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n }\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchDebitCreditNote: async (paginationQuery, values) => {\n try {\n const queryConditions = getDrCrQueries(paginationQuery, values);\n\n const response = await axios.get(`/drcrNotes${queryConditions}`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n exportDebitCreditNote: async (values) => {\n try {\n let queryConditions = getDrCrQueries({}, values);\n\n const response = await axios.get(`/drcrNotes/export${queryConditions}`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n correctArrear: async (propertyUniqueId, formData) => {\n try {\n const response = await axios.post(\n `/properties/correctArrear/${propertyUniqueId}`,\n formData,\n {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n }\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n editPropertyFloor: async (propertyUniqueId, values) => {\n try {\n const response = await axios.put(\n `properties/premises/${propertyUniqueId}`,\n values\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n addFloorToProperty: async (propertyUniqueId, values) => {\n try {\n const response = await axios.post(\n `properties/premises/${propertyUniqueId}`,\n values\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchLedger: async (values) => {\n try {\n const response = await axios.post(`properties/ledger`, values);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n generateDemandBill: async (propertyRefId) => {\n try {\n const response = await axios.get(\n `taxDemands/demandBillDetails?propertyId=${propertyRefId}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n generateBulkDemandBill: async (values) => {\n try {\n const response = await axios.post(`taxDemands/bulkDemandBill`, values);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n generateExcelDemandBill: async (formData) => {\n try {\n const response = await axios.post(\n `taxDemands/bulkDemandBillByExcel`,\n formData,\n {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n }\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n getPaymentDetails: async (propertyRefId, mode) => {\n try {\n const response = await axios.get(\n `taxDemands/paymentDetails?propertyId=${propertyRefId}&mode=${mode}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n /*=============================================\n= Objection APIs =\n=============================================*/\n fetchAllObjections: async (values) => {\n try {\n let queryConditions = getObjectionQueries(values);\n\n const response = await axios.get(`objection${queryConditions}`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchResolvedObjections: async (values) => {\n try {\n let queryConditions = getObjectionQueries(values);\n\n const response = await axios.get(`objection/resolved${queryConditions}`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n exportAllObjections: async (values) => {\n try {\n let queryConditions = getObjectionQueries(values);\n\n const response = await axios.get(`objection/export${queryConditions}`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchEditedProperties: async (values) => {\n try {\n let queryConditions = getEditedPropertiesQueries(values);\n\n const response = await axios.get(`properties/edited${queryConditions}`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n exportEditedProperties: async (values) => {\n try {\n let queryConditions = getEditedPropertiesQueries(values);\n\n const response = await axios.get(\n `properties/edited/export${queryConditions}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchObjectionsSummary: async (values) => {\n try {\n const queryConditions = getObjectionQueries(values);\n\n const response = await axios.get(`objection/summary${queryConditions}`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchObjectionStatus: async (query, values) => {\n try {\n let queryConditions;\n\n if (query.page && query.pageSize) {\n queryConditions = `?page=${query.page}&limit=${query.pageSize}`;\n }\n\n const response = await axios.post(\n `/objection/status${queryConditions}`,\n values\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n uploadObjection: async (formData) => {\n try {\n const response = await axios.post(`objection/upload`, formData, {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n });\n\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n rejectObjection: async (objectionId, values) => {\n try {\n const response = await axios.patch(\n `objection/reject/${objectionId}`,\n values\n );\n\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n /*===== End of Objection APIs ======*/\n\n /*=============================================\n= Operator/Officials APIs =\n=============================================*/\n\n loginUploadUser: async (values) => {\n try {\n const response = await axios.post(`operators/login`, values);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n loginOfficial: async (values) => {\n try {\n const response = await axios.post(`officials/login`, values);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchAllOperators: async () => {\n try {\n const response = await axios.get(`operators/all`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchAllRIs: async () => {\n try {\n const response = await axios.get(`officials/allRI`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n addOperator: async (values) => {\n try {\n const response = await axios.post(`operators`, values);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchAllOfficials: async () => {\n try {\n const response = await axios.get(`officials/all`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n addOfficial: async (values) => {\n try {\n const response = await axios.post(`officials`, values);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n editOfficial: async (values) => {\n try {\n const response = await axios.patch(`officials`, values);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n deleteOfficial: async (userId) => {\n try {\n const response = await axios.delete(`officials/delete/${userId}`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n restoreOfficial: async (userId) => {\n try {\n const response = await axios.patch(`officials/restore/${userId}`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchUploadUser: async (email) => {\n try {\n const response = await axios.get(`operators?email=${email}`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchRoles: async () => {\n try {\n const response = await axios.get(`roles`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchOfficial: async (email) => {\n try {\n const response = await axios.get(`officials?email=${email}`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n /*===== End of Operator/Officials APIs ======*/\n\n /*=============================================\n= Discount APIs =\n=============================================*/\n fetchDiscountsForPosting: async () => {\n try {\n const response = await axios.get(`discounts/posting`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchDiscount: async () => {\n try {\n const response = await axios.get(`discounts`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n addDiscount: async (values) => {\n try {\n const response = await axios.post(`discounts/add`, values);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n editDiscountById: async (discountId, values) => {\n try {\n const response = await axios.patch(\n `discounts/edit/${discountId}`,\n values\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n /*===== End of Discount APIs ======*/\n\n editJalkalProperty: async (values) => {\n try {\n const response = await axios.post(`jalkal`, values);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n /*=============================================\n= Edit APIs =\n=============================================*/\n fetchAllPendingEdits: async (values) => {\n try {\n const response = await axios.post(`jalkal/pending`, values);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchAllApprovedEdits: async (values) => {\n try {\n const response = await axios.post(`jalkal/approved`, values);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchAllRejectedEdits: async (values) => {\n try {\n const response = await axios.post(`jalkal/rejected`, values);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchAllArchivedEdits: async () => {\n try {\n const response = await axios.get(`jalkal/archived`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n approveEdit: async (editId, userId, remarks) => {\n try {\n const response = await axios.patch(`jalkal/approve/${editId}`, {\n userId: userId,\n comment: remarks,\n });\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n rejectEdit: async (editId, userId, remarks) => {\n try {\n const response = await axios.patch(`jalkal/reject/${editId}`, {\n userId: userId,\n comment: remarks,\n });\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n /*===== End of Edit APIs ======*/\n\n changeOfficialsPassword: async (values) => {\n try {\n const response = await axios.post(`officials/changePassword`, values);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n resetOfficialsPassword: async (values) => {\n try {\n const response = await axios.post(`officials/resetPassword`, values);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n changeUploadUserPassword: async (values) => {\n try {\n const response = await axios.post(`operators/changePassword`, values);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n resetOperatorsPassword: async (values) => {\n try {\n const response = await axios.post(`operators/resetPassword`, values);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n resolveObjection: async (propertyRefUniqueId, formData) => {\n try {\n const response = await axios.patch(\n `properties/resolveObjection?propertyRefUniqueId=${propertyRefUniqueId}`,\n formData,\n {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n }\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n editProperty: async (propertyRefUniqueId, dataToUpdate) => {\n try {\n const response = await axios.patch(\n `properties/editProperty?propertyRefUniqueId=${propertyRefUniqueId}`,\n dataToUpdate\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n splitProperty: async (propertyUniqueId, splitData) => {\n try {\n const response = await axios.patch(\n `properties/splitProperty?propertyUniqueId=${propertyUniqueId}`,\n splitData\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n calculateTax: async (propertyRefUniqueId) => {\n try {\n const response = await axios.get(\n `properties/calculateTax?propertyRefUniqueId=${propertyRefUniqueId}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchTaxCalculations: async (propertyRefUniqueId) => {\n try {\n const response = await axios.get(\n `properties/taxCalculations?propertyRefUniqueId=${propertyRefUniqueId}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n calculateMohallaPropertiesTax: async (mohallaId) => {\n try {\n const response = await axios.patch(\n `properties/calculateMohallaTax?mohallaId=${mohallaId}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchCityDetails: async () => {\n try {\n const response = await axios.get(`cities`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n addSelfAssessedProperty: async (values) => {\n try {\n const response = await axios.post(`selfAssessment`, values, {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n });\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n /*=============================================\n= Transaction APIs =\n=============================================*/\n\n fetchOldTransactions: async (values) => {\n try {\n let queryConditions = \"\";\n\n if (values.oldPropertyTaxId) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}oldPropertyTaxId=${\n values.oldPropertyTaxId\n }`;\n }\n\n if (values.zoneId) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}zoneId=${\n values.zoneId\n }`;\n }\n\n if (values.wardId) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}wardId=${\n values.wardId\n }`;\n }\n\n if (values.mohallaId) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}mohallaId=${\n values.mohallaId\n }`;\n }\n\n if (values.hasPaid) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}hasPaid=${\n values.hasPaid\n }`;\n }\n\n if (values.page && values.pageSize) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}page=${\n values.page\n }&limit=${values.pageSize}`;\n }\n\n if (values?.dates && values?.dates.length === 2) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}startDate=${new Date(\n values?.dates[0]\n ).toLocaleDateString()}&endDate=${new Date(\n values?.dates[1]\n ).toLocaleDateString()}`;\n }\n\n const response = await axios.get(`oldPayments${queryConditions}`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n exportOldTransactions: async (values) => {\n try {\n let queryConditions = \"\";\n\n if (values.oldPropertyTaxId) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}oldPropertyTaxId=${\n values.oldPropertyTaxId\n }`;\n }\n\n if (values.zoneId) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}zoneId=${\n values.zoneId\n }`;\n }\n\n if (values.wardId) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}wardId=${\n values.wardId\n }`;\n }\n\n if (values.mohallaId) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}mohallaId=${\n values.mohallaId\n }`;\n }\n\n if (values.hasPaid) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}hasPaid=${\n values.hasPaid\n }`;\n }\n\n if (values?.dates && values?.dates.length === 2) {\n queryConditions += `${queryConditions ? \"&\" : \"?\"}startDate=${new Date(\n values?.dates[0]\n ).toLocaleDateString()}&endDate=${new Date(\n values?.dates[1]\n ).toLocaleDateString()}`;\n }\n\n const response = await axios.get(`oldPayments/export${queryConditions}`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchAllTransactions: async (values) => {\n try {\n let queryConditions = getOfflineTransactionsQueries(values);\n\n const response = await axios.get(`transactions${queryConditions}`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchAllPOSTransactions: async (values) => {\n try {\n let queryConditions = getOfflineTransactionsQueries(values);\n\n const response = await axios.get(`transactions/pos${queryConditions}`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchArchivedTransactions: async (values) => {\n try {\n let queryConditions = getArchivedQueries(values);\n\n const response = await axios.get(\n `transactions/archived${queryConditions}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n addTransaction: async (values) => {\n try {\n const response = await axios.post(`transactions`, values);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n approveTransaction: async (transactionId) => {\n try {\n const response = await axios.patch(\n `transactions/approve/${transactionId}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n rejectTransaction: async (transactionId, remarks) => {\n try {\n const response = await axios.post(\n `transactions/reject/${transactionId}`,\n remarks\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchAllTransactionsAmount: async (values) => {\n try {\n let queryConditions = getOfflineTransactionsQueries(values);\n\n const response = await axios.get(\n `transactions/summary${queryConditions}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchPOSTransactionsSummary: async (values) => {\n try {\n let queryConditions = getOfflineTransactionsQueries(values);\n\n const response = await axios.get(\n `transactions/pos/summary${queryConditions}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n advancePaymentPosting: async (propertyUniqueId, formData) => {\n try {\n const response = await axios.post(\n `/transactions/advancePaymentPosting/${propertyUniqueId}`,\n formData,\n {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n }\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n /*===== End of Transaction APIs ======*/\n\n fetchApplicationsCitizen: async () => {\n try {\n const response = await axios.get(`selfAssessment`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchApplicationsNigam: async () => {\n try {\n const response = await axios.get(`selfAssessment/all`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n initiateOfflinePayment: async (values) => {\n try {\n const response = await axios.post(\n `transactions/initiate_payment`,\n values\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchDiscountAndPayableAmount: async (values) => {\n try {\n const response = await axios.post(`payments/calculateDiscounts`, values);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n initiatePayment: async (values) => {\n try {\n const response = await axios.post(`payments/initiate_payment`, values);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n completeNEFTPayment: async (formData) => {\n try {\n const response = await axios.post(`neftPayments`, formData, {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n });\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n sendTaxCollectionMessage: async (values) => {\n try {\n const response = await axios.post(`payments/easyCollect`, values);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n sendBulkTaxCollectionMessage: async (values, type) => {\n try {\n const response = await axios.post(\n `payments/easyCollectBulk?type=${type}`,\n values\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchOnlineTransaction: async (values) => {\n try {\n const response = await axios.post(`payments/transaction`, values);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchAllOnlineTransactions: async (values) => {\n try {\n let queryConditions = getOnlineTransactionsQueries(values);\n\n const response = await axios.get(`payments/all${queryConditions}`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n exportOnlineTransactions: async (values) => {\n try {\n let queryConditions = getOnlineTransactionsQueries(values);\n\n const response = await axios.get(`payments/export${queryConditions}`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n exportOnlineTxnSummary: async (values) => {\n try {\n let queryConditions = getOnlineTransactionsQueries(values);\n\n const response = await axios.get(\n `payments/summary/export${queryConditions}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchNEFTTransactions: async (values) => {\n try {\n let queryConditions = getNeftTransactionsQueries(values);\n\n const response = await axios.get(`neftPayments/all${queryConditions}`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n exportNEFTTransactions: async (values) => {\n try {\n let queryConditions = getNeftTransactionsQueries(values);\n\n const response = await axios.get(`neftPayments/export${queryConditions}`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchNEFTTransactionsSummary: async (values) => {\n try {\n let queryConditions = getNeftTransactionsQueries(values);\n\n const response = await axios.get(\n `neftPayments/summary${queryConditions}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n exportNEFTTransactionSummary: async (values) => {\n try {\n let queryConditions = getNeftTransactionsQueries(values);\n\n const response = await axios.get(\n `neftPayments/summary/export${queryConditions}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n exportOfflineTransactions: async (values) => {\n try {\n let queryConditions = getOfflineTransactionsQueries(values);\n\n const response = await axios.get(`transactions/export${queryConditions}`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n exportTransactionSummary: async (values) => {\n try {\n let queryConditions = getOfflineTransactionsQueries(values);\n const response = await axios.get(\n `transactions/summary/export${queryConditions}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n exportPOSTransactions: async (values) => {\n try {\n let queryConditions = getOfflineTransactionsQueries(values);\n\n const response = await axios.get(\n `transactions/pos/export${queryConditions}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchTransactionsSummary: async (values) => {\n try {\n let queryConditions = getOfflineTransactionsQueries(values);\n\n const response = await axios.get(`payments/summary${queryConditions}`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchTransactionsByDate: async (values) => {\n try {\n const response = await axios.post(`payments/transaction_date`, values);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchPayoutsByDate: async (values) => {\n try {\n const response = await axios.post(`payments/payout`, values);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchPostingTransactions: async (values) => {\n try {\n const response = await axios.get(`transactions/posting-summary`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n /*=============================================\n= Tax Demand APIs =\n=============================================*/\n\n fetchTotalDemandSummary: async (query) => {\n try {\n const demandQueries = getDemandQueries(query);\n\n const response = await axios.get(\n `taxDemands/totalSummary${demandQueries}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchSplitDemandSummary: async (query) => {\n try {\n const demandQueries = getDemandQueries(query);\n\n const response = await axios.get(\n `taxDemands/splitSummary${demandQueries}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchZoneWiseDemandSummary: async (query) => {\n try {\n const demandQueries = getDemandQueries(query);\n\n const response = await axios.get(\n `taxDemands/zoneWiseSummary${demandQueries}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchZoneAndUsageWiseDemandSummary: async (query) => {\n try {\n const demandQueries = getDemandQueries(query);\n\n const response = await axios.get(\n `taxDemands/zoneAndUsageWiseSummary${demandQueries}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchDefaultersList: async (paginationQuery, values) => {\n try {\n const queryConditions = getDefaulterQueries(paginationQuery, values);\n\n const response = await axios.get(\n `taxDemands/defaultersList${queryConditions}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n exportDefaultersList: async (values) => {\n try {\n const queryConditions = getDefaulterQueries({}, values);\n\n const response = await axios.get(\n `taxDemands/defaultersList/export${queryConditions}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchARVList: async (paginationQuery, values) => {\n try {\n const queryConditions = getARVQueries(paginationQuery, values);\n const response = await axios.get(`properties/arvList${queryConditions}`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n exportARVList: async (values) => {\n try {\n const queryConditions = getARVQueries({}, values);\n\n const response = await axios.get(\n `properties/arvList/export${queryConditions}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n /*===== End of Tax Demand APIs ======*/\n\n /*=============================================\n= Tax Collection APIs =\n=============================================*/\n\n fetchTotalCollection: async (query) => {\n try {\n const collectionQueries = getCollectionQueries(query);\n\n const response = await axios.get(\n `taxCollections/summary${collectionQueries}`\n );\n\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchPendingChequeCollection: async (query) => {\n try {\n const collectionQueries = getCollectionQueries(query);\n\n const response = await axios.get(\n `transactions/pendingChequeAmount${collectionQueries}`\n );\n\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchTypeWiseCollection: async (query) => {\n try {\n const collectionQueries = getCollectionQueries(query);\n\n const response = await axios.get(\n `taxCollections/typeWise${collectionQueries}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchMonthWiseCollection: async (query) => {\n try {\n const collectionQueries = getCollectionQueries(query);\n\n const response = await axios.get(\n `taxCollections/monthWise${collectionQueries}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchMonthlyCollection: async (query) => {\n try {\n const collectionQueries = getCollectionQueries(query);\n\n const response = await axios.get(\n `taxCollections/monthly${collectionQueries}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchCollectionSummary: async (query) => {\n try {\n const collectionQueries = getCollectionQueries(query);\n\n const response = await axios.get(\n `transactions/collectionSummary${collectionQueries}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchCollectionList: async (query) => {\n try {\n const collectionQueries = getCollectionQueries(query);\n\n const response = await axios.get(\n `taxCollections/collectionList${collectionQueries}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchZoneWiseCollection: async (query) => {\n try {\n const collectionQueries = getCollectionQueries(query);\n\n const response = await axios.get(\n `taxCollections/zoneWise${collectionQueries}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchWardWiseCollection: async (query) => {\n try {\n const collectionQueries = getCollectionQueries(query);\n\n const response = await axios.get(\n `taxCollections/wardWise${collectionQueries}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchMohallaWiseCollection: async (query) => {\n try {\n const collectionQueries = getCollectionQueries(query);\n\n const response = await axios.get(\n `taxCollections/mohallaWise${collectionQueries}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchRIWiseCollection: async (query) => {\n try {\n const collectionQueries = getCollectionQueries(query);\n\n const response = await axios.get(\n `taxCollections/riWise${collectionQueries}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchDemandAndCollectionReport: async (query) => {\n try {\n const collectionQueries = getCollectionQueries(query);\n\n const response = await axios.get(\n `taxCollections/demandAndCollection${collectionQueries}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n /*===== End of Tax Collection APIs ======*/\n\n updateOwnerDetails: async (values) => {\n try {\n const response = await axios.patch(\n `properties/updateOwnerDetails`,\n values\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n updateBuildingImages: async (selectedProperty, formData) => {\n try {\n const response = await axios.patch(\n `properties/updateBuildingImages?propertyUniqueId=${selectedProperty.propertyUniqueId}`,\n formData,\n {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n }\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n updateMobileNumber: async (selectedProperty, values) => {\n try {\n const response = await axios.patch(\n `properties/updateMobileNumber?propertyUniqueId=${selectedProperty.propertyUniqueId}`,\n values\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n updateDetailsOfficials: async (selectedProperty, values) => {\n try {\n const response = await axios.patch(\n `properties/updateDetails?propertyUniqueId=${selectedProperty.propertyUniqueId}`,\n values\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n createMutationRequest: async (formData) => {\n try {\n const response = await axios.post(`mutations`, formData, {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n });\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchMutations: async () => {\n try {\n const response = await axios.get(`mutations`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchAllMutations: async (values) => {\n try {\n let queryConditions = getMutationQueries(values);\n\n const response = await axios.get(`mutations/all${queryConditions}`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n exportAllMutations: async (values) => {\n try {\n let queryConditions = getMutationQueries(values);\n\n const response = await axios.get(`mutations/export${queryConditions}`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n approveMutation: async (mutationId, userId, remarks) => {\n try {\n if (!mutationId) {\n throw new Error(\"Mutation Id is required\");\n }\n const response = await axios.patch(`mutations/approve/${mutationId}`, {\n userId,\n remarks,\n });\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n rejectMutation: async (mutationId, values) => {\n try {\n const response = await axios.patch(\n `mutations/reject/${mutationId}`,\n values\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n removeMatchingDetails: async (propertyId) => {\n try {\n const response = await axios.patch(\n `properties/removeMatchingDetails/${propertyId}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchPTINDetails: async (ptinNo) => {\n try {\n const response = await axios.get(`oldProperties/byPTIN?ptin=${ptinNo}`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n insertTransactionToDB: async (values) => {\n try {\n const response = await axios.post(`payments/syncPayment`, values);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchOldProperties: async (query, values) => {\n try {\n let queryConditions = \"\";\n\n if (query.page && query.pageSize) {\n queryConditions = `?page=${query.page}&limit=${query.pageSize}`;\n }\n\n if (values.oldPropertyTaxId) {\n queryConditions += `&oldPropertyTaxId=${values.oldPropertyTaxId}`;\n }\n\n const response = await axios.get(`/oldProperties${queryConditions}`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n addOldProperty: async (values) => {\n try {\n const response = await axios.post(`oldProperties/add`, values);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n propertyCount: async () => {\n try {\n const response = await axios.get(`properties/count`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n replaceTaxDemand: async (propertyUniqueId) => {\n try {\n const response = await axios.post(\n `taxDemands/replace?propertyUniqueId=${propertyUniqueId}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n /*=============================================\n= Dashboard Report APIs =\n=============================================*/\n\n fetchTypeWiseCount: async (values) => {\n try {\n let demandQueries = getDashboardQueries({}, values);\n\n if (values.matchingStatus && values.matchingStatus !== \"\") {\n demandQueries += `${demandQueries ? \"&\" : \"?\"}matchingStatus=${\n values.matchingStatus\n }`;\n }\n\n const response = await axios.get(\n `properties/propertyWise?${demandQueries}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchARVRangeDetails: async (range, paginationQuery, values) => {\n try {\n const demandQueries = getDashboardQueries(paginationQuery, values);\n const queryString = `range=${range}&${demandQueries}`;\n\n const response = await axios.get(`properties/arvWise?${queryString}`);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n exportARVRangeDetails: async (range, values) => {\n try {\n const demandQueries = getDashboardQueries({}, values);\n const queryString = `range=${range}&${demandQueries}`;\n\n const response = await axios.get(\n `properties/arvWise/export?${queryString}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchCategoryWiseDetails: async (category, paginationQuery, values) => {\n try {\n const demandQueries = getDashboardQueries(paginationQuery, values);\n const queryString = `category=${category}&${demandQueries}`;\n\n const response = await axios.get(\n `properties/categoryWise?${queryString}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n exportCategoryWiseDetails: async (category, values) => {\n try {\n const demandQueries = getDashboardQueries({}, values);\n const queryString = `category=${category}&${demandQueries}`;\n\n const response = await axios.get(\n `properties/categoryWise/export?${queryString}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchViewDetails: async (values) => {\n try {\n const demandQueries = getDashboardQueries({}, values);\n\n const response = await axios.get(\n `properties/viewDetails?${demandQueries}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchPropertiesSummary: async (values) => {\n try {\n let demandQueries = getDashboardQueries({}, values);\n\n if (values.matchingStatus && values.matchingStatus !== \"\") {\n demandQueries += `${demandQueries ? \"&\" : \"?\"}matchingStatus=${\n values.matchingStatus\n }`;\n }\n const response = await axios.get(\n `properties/summaryProperties?${demandQueries}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n /*===== End of Dashboard Report APIs ======*/\n\n fetchGISReportData: async (reportType) => {\n try {\n const response = await axios.get(\n `taxDemands/getGISReport?reportType=${reportType}`\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n /*=============================================\n= GIS Module APIs =\n=============================================*/\n\n fetchGeoJson: async () => {\n try {\n const response = await axios.get(`mapSession/`);\n // console.log(\"🚀 ~ fetchGeoJson: ~ response:\", response);\n return response;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n /*===== End of GIS Module APIs ======*/\n\n /*=============================================\n= Logs APIs =\n=============================================*/\n\n fetchLogs: async (queryParams) => {\n try {\n const response = await axios.get(\n `logs${queryParams ? `?${queryParams.toString()}` : \"\"}`\n );\n\n return response;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchAdminEditLogs: async (queryParams) => {\n try {\n const response = await axios.get(\n `logs/adminEdits${queryParams ? `?${queryParams.toString()}` : \"\"}`\n );\n\n return response;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchMatchingRemovedLogs: async (queryParams) => {\n try {\n const response = await axios.get(\n `logs/matchingRemoved${queryParams ? `?${queryParams.toString()}` : \"\"}`\n );\n\n return response;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchDeletedPropertiesLogs: async (queryParams) => {\n try {\n const response = await axios.get(\n `logs/deletedProperties${\n queryParams ? `?${queryParams.toString()}` : \"\"\n }`\n );\n\n return response;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchAddedPropertiesLogs: async (queryParams) => {\n try {\n const response = await axios.get(\n `logs/addedProperties${queryParams ? `?${queryParams.toString()}` : \"\"}`\n );\n\n return response;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchPaymentShiftLogs: async (queryParams) => {\n try {\n const response = await axios.get(\n `logs/paymentShift${queryParams ? `?${queryParams.toString()}` : \"\"}`\n );\n\n return response;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n fetchSplitLogs: async (queryParams) => {\n try {\n const response = await axios.get(\n `logs/splits${queryParams ? `?${queryParams.toString()}` : \"\"}`\n );\n\n return response;\n } catch (error) {\n handleApiError(error);\n }\n },\n /*=============================================\n= Admin Utility APIs =\n=============================================*/\n\n shiftPayment: async (values) => {\n try {\n const response = await axios.patch(`transactions/shiftPayment`, values);\n\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n cancelPayment: async (values) => {\n try {\n const response = await axios.patch(`transactions/cancelPayment`, values);\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n bulkMatch: async (formData) => {\n try {\n const response = await axios.post(\n `properties/updatePTINFromExcel`,\n formData,\n {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n }\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n bulkUpdateNonTaxable: async (formData) => {\n try {\n const response = await axios.patch(\n `properties/updateFromExcel`,\n formData,\n {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n }\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n bulkUpdateRoadWidth: async (formData) => {\n try {\n const response = await axios.patch(\n `properties/updateRoadWidth`,\n formData,\n {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n }\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n splitFromExcel: async (propertyId, formData) => {\n try {\n const response = await axios.patch(\n `properties/splitFromExcel?propertyUniqueId=${propertyId}`,\n formData,\n {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n }\n );\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n deleteProperty: async (values) => {\n try {\n const response = await axios.post(`properties/delete`, values, {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n });\n\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n updateTaxDemandFromTxn: async (values) => {\n try {\n const response = await axios.get(\n `taxDemands/fetchUpdatedTotals?propertyUniqueId=${values.propertyUniqueId}`\n );\n\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n pushToENagarSewa: async () => {\n try {\n const response = await axios.get(`taxCollections/pushToENagarSewa`);\n\n return response.data;\n } catch (error) {\n handleApiError(error);\n }\n },\n\n /*===== End of Admin Utility Module APIs ======*/\n};\n","export const formatCurrency = (value) => {\n return (\n value &&\n parseFloat(value)?.toLocaleString(\"en-IN\", {\n style: \"currency\",\n currency: \"INR\",\n minimumFractionDigits: 2,\n })\n );\n};\n","import { ToWords } from \"to-words\";\n\nfunction getAmountInWords(num, isCurrency = true) {\n if (isNaN(num)) {\n return \"Zero\";\n }\n\n const toWords = new ToWords({\n localeCode: \"en-IN\",\n currency: isCurrency,\n ...(isCurrency && {\n converterOptions: {\n currency: true,\n ignoreDecimal: false,\n ignoreZeroCurrency: false,\n doNotAddOnly: false,\n currencyOptions: {\n name: \"Rupee\",\n plural: \"Rupees\",\n symbol: \"₹\",\n fractionalUnit: {\n name: \"Paisa\",\n plural: \"Paise\",\n symbol: \"\",\n },\n },\n },\n }),\n });\n\n return toWords.convert(num);\n}\n\nexport default getAmountInWords;\n","export const modifyUrl = (url) => {\n const baseUrl =\n \"https://cityos-files.s3.ap-south-1.amazonaws.com/data-collections/\";\n const targetPrefix =\n \"https://sgp1.digitaloceanspaces.com/tos-fileserver/data-collections/\";\n\n // Check if the URL starts with the target prefix\n if (url.startsWith(targetPrefix)) {\n const fileName = url.split(\"/\").pop(); // Extract the file name\n return baseUrl + fileName; // Concatenate with the new base URL\n }\n\n // Return the original URL if it doesn't match the condition\n return url;\n};\n","export const parseJwt = (token) => {\n try {\n const base64Url = token.split(\".\")[1];\n const base64 = base64Url.replace(/-/g, \"+\").replace(/_/g, \"/\");\n const rawBytes = new TextDecoder().decode(\n Uint8Array.from(atob(base64), (c) => c.charCodeAt(0))\n );\n return JSON.parse(rawBytes);\n } catch (e) {\n return null;\n }\n};\n","export function trimSpaceAndLowerCase(str) {\n return str ? str?.toLowerCase().replace(/\\s+/g, \"\") : \"\";\n}\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 // Treating this as a full URL will strip any trailing spaces so we need to\n // pre-encode them since they might be part of a matching splat param from\n // an ancestor route\n href = href.replace(/ $/, \"%20\");\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 type LoaderFunction = {\n (args: LoaderFunctionArgs):\n | Promise\n | DataFunctionValue;\n} & { hydrate?: boolean };\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 */\nexport type 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 // 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 let decoded = decodePath(pathname);\n matches = matchRouteBranch(branches[i], decoded);\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, compiledParams] = 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 = compiledParams.reduce>(\n (memo, { paramName, isOptional }, 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 const value = captureGroups[index];\n if (isOptional && !value) {\n memo[paramName] = undefined;\n } else {\n memo[paramName] = (value || \"\").replace(/%2F/g, \"/\");\n }\n return memo;\n },\n {}\n );\n\n return {\n params,\n pathname: matchedPathname,\n pathnameBase,\n pattern,\n };\n}\n\ntype CompiledPathParam = { paramName: string; isOptional?: boolean };\n\nfunction compilePath(\n path: string,\n caseSensitive = false,\n end = true\n): [RegExp, CompiledPathParam[]] {\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 params: CompiledPathParam[] = [];\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(\n /\\/:([\\w-]+)(\\?)?/g,\n (_: string, paramName: string, isOptional) => {\n params.push({ paramName, isOptional: isOptional != null });\n return isOptional ? \"/?([^\\\\/]+)?\" : \"/([^\\\\/]+)\";\n }\n );\n\n if (path.endsWith(\"*\")) {\n params.push({ paramName: \"*\" });\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, params];\n}\n\nfunction decodePath(value: string) {\n try {\n return value\n .split(\"/\")\n .map((v) => decodeURIComponent(v).replace(/\\//g, \"%2F\"))\n .join(\"/\");\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\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// Return the array of pathnames for the current route matches - used to\n// generate the routePathnames input for resolveTo()\nexport function getResolveToMatches<\n T extends AgnosticRouteMatch = AgnosticRouteMatch\n>(matches: T[], v7_relativeSplatPath: boolean) {\n let pathMatches = getPathContributingMatches(matches);\n\n // When v7_relativeSplatPath is enabled, use the full pathname for the leaf\n // match so we include splat values for \".\" links. See:\n // https://github.com/remix-run/react-router/issues/11052#issuecomment-1836589329\n if (v7_relativeSplatPath) {\n return pathMatches.map((match, idx) =>\n idx === matches.length - 1 ? match.pathname : match.pathnameBase\n );\n }\n\n return pathMatches.map((match) => match.pathnameBase);\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 (toPathname == null) {\n from = locationPathname;\n } else {\n let routePathnameIndex = routePathnames.length - 1;\n\n // With relative=\"route\" (the default), each leading .. segment means\n // \"go up one route\" instead of \"go up one URL segment\". This is a key\n // difference from how works and a major reason we call this a\n // \"to\" value instead of a \"href\".\n if (!isPathRelative && toPathname.startsWith(\"..\")) {\n let toSegments = toPathname.split(\"/\");\n\n while (toSegments[0] === \"..\") {\n toSegments.shift();\n routePathnameIndex -= 1;\n }\n\n to.pathname = toSegments.join(\"/\");\n }\n\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\nexport type ErrorResponse = {\n status: number;\n statusText: string;\n data: any;\n};\n\n/**\n * @private\n * Utility class we use to hold auto-unwrapped 4xx/5xx Response bodies\n *\n * We don't export the class for public use since it's an implementation\n * detail, but we export the interface above so folks can build their own\n * abstractions around instances via isRouteErrorResponse()\n */\nexport class ErrorResponseImpl implements ErrorResponse {\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/**\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 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 getResolveToMatches,\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 future config for the router\n */\n get future(): FutureConfig;\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 * Return the window associated with the router\n */\n get window(): RouterInit[\"window\"];\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_fetcherPersist: boolean;\n v7_normalizeFormMethod: boolean;\n v7_partialHydration: boolean;\n v7_prependBasename: boolean;\n v7_relativeSplatPath: 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\ntype ViewTransitionOpts = {\n currentLocation: Location;\n nextLocation: Location;\n};\n\n/**\n * Subscriber function signature for changes to router state\n */\nexport interface RouterSubscriber {\n (\n state: RouterState,\n opts: {\n deletedFetchers: string[];\n unstable_viewTransitionOpts?: ViewTransitionOpts;\n unstable_flushSync: boolean;\n }\n ): 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 unstable_flushSync?: boolean;\n};\n\n// Only allowed for navigations\ntype BaseNavigateOptions = BaseNavigateOrFetchOptions & {\n replace?: boolean;\n state?: any;\n fromRouteId?: string;\n unstable_viewTransition?: boolean;\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\nconst TRANSITIONS_STORAGE_KEY = \"remix-router-transitions\";\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_fetcherPersist: false,\n v7_normalizeFormMethod: false,\n v7_partialHydration: false,\n v7_prependBasename: false,\n v7_relativeSplatPath: 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: boolean;\n let hasLazyRoutes = initialMatches.some((m) => m.route.lazy);\n let hasLoaders = initialMatches.some((m) => m.route.loader);\n if (hasLazyRoutes) {\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 initialized = false;\n } else if (!hasLoaders) {\n // If we've got no loaders to run, then we're good to go\n initialized = true;\n } else if (future.v7_partialHydration) {\n // If partial hydration is enabled, we're initialized so long as we were\n // provided with hydrationData for every route with a loader, and no loaders\n // were marked for explicit hydration\n let loaderData = init.hydrationData ? init.hydrationData.loaderData : null;\n let errors = init.hydrationData ? init.hydrationData.errors : null;\n initialized = initialMatches.every(\n (m) =>\n m.route.loader &&\n m.route.loader.hydrate !== true &&\n ((loaderData && loaderData[m.route.id] !== undefined) ||\n (errors && errors[m.route.id] !== undefined))\n );\n } else {\n // Without partial hydration - we're initialized if we were provided any\n // hydrationData - which is expected to be complete\n initialized = init.hydrationData != null;\n }\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 // Should the current navigation enable document.startViewTransition?\n let pendingViewTransitionEnabled = false;\n\n // Store applied view transitions so we can apply them on POP\n let appliedViewTransitions: Map> = new Map<\n string,\n Set\n >();\n\n // Cleanup function for persisting applied transitions to sessionStorage\n let removePageHideEventListener: (() => void) | null = 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 // Ref-count mounted fetchers so we know when it's ok to clean them up\n let activeFetchers = new Map();\n\n // Fetchers that have requested a delete when using v7_fetcherPersist,\n // they'll be officially removed after they return to idle\n let deletedFetchers = new Set();\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 if (isBrowser) {\n // FIXME: This feels gross. How can we cleanup the lines between\n // scrollRestoration/appliedTransitions persistance?\n restoreAppliedTransitions(routerWindow, appliedViewTransitions);\n let _saveAppliedTransitions = () =>\n persistAppliedTransitions(routerWindow, appliedViewTransitions);\n routerWindow.addEventListener(\"pagehide\", _saveAppliedTransitions);\n removePageHideEventListener = () =>\n routerWindow.removeEventListener(\"pagehide\", _saveAppliedTransitions);\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 initialHydration: true,\n });\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 if (removePageHideEventListener) {\n removePageHideEventListener();\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(\n newState: Partial,\n opts: {\n flushSync?: boolean;\n viewTransitionOpts?: ViewTransitionOpts;\n } = {}\n ): void {\n state = {\n ...state,\n ...newState,\n };\n\n // Prep fetcher cleanup so we can tell the UI which fetcher data entries\n // can be removed\n let completedFetchers: string[] = [];\n let deletedFetchersKeys: string[] = [];\n\n if (future.v7_fetcherPersist) {\n state.fetchers.forEach((fetcher, key) => {\n if (fetcher.state === \"idle\") {\n if (deletedFetchers.has(key)) {\n // Unmounted from the UI and can be totally removed\n deletedFetchersKeys.push(key);\n } else {\n // Returned to idle but still mounted in the UI, so semi-remains for\n // revalidations and such\n completedFetchers.push(key);\n }\n }\n });\n }\n\n // Iterate over a local copy so that if flushSync is used and we end up\n // removing and adding a new subscriber due to the useCallback dependencies,\n // we don't get ourselves into a loop calling the new subscriber immediately\n [...subscribers].forEach((subscriber) =>\n subscriber(state, {\n deletedFetchers: deletedFetchersKeys,\n unstable_viewTransitionOpts: opts.viewTransitionOpts,\n unstable_flushSync: opts.flushSync === true,\n })\n );\n\n // Remove idle fetchers from state since we only care about in-flight fetchers.\n if (future.v7_fetcherPersist) {\n completedFetchers.forEach((key) => state.fetchers.delete(key));\n deletedFetchersKeys.forEach((key) => deleteFetcher(key));\n }\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 { flushSync }: { flushSync?: boolean } = {}\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 let viewTransitionOpts: ViewTransitionOpts | undefined;\n\n // On POP, enable transitions if they were enabled on the original navigation\n if (pendingAction === HistoryAction.Pop) {\n // Forward takes precedence so they behave like the original navigation\n let priorPaths = appliedViewTransitions.get(state.location.pathname);\n if (priorPaths && priorPaths.has(location.pathname)) {\n viewTransitionOpts = {\n currentLocation: state.location,\n nextLocation: location,\n };\n } else if (appliedViewTransitions.has(location.pathname)) {\n // If we don't have a previous forward nav, assume we're popping back to\n // the new location and enable if that location previously enabled\n viewTransitionOpts = {\n currentLocation: location,\n nextLocation: state.location,\n };\n }\n } else if (pendingViewTransitionEnabled) {\n // Store the applied transition on PUSH/REPLACE\n let toPaths = appliedViewTransitions.get(state.location.pathname);\n if (toPaths) {\n toPaths.add(location.pathname);\n } else {\n toPaths = new Set([location.pathname]);\n appliedViewTransitions.set(state.location.pathname, toPaths);\n }\n viewTransitionOpts = {\n currentLocation: state.location,\n nextLocation: location,\n };\n }\n\n updateState(\n {\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 viewTransitionOpts,\n flushSync: flushSync === true,\n }\n );\n\n // Reset stateful navigation vars\n pendingAction = HistoryAction.Pop;\n pendingPreventScrollReset = false;\n pendingViewTransitionEnabled = 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 future.v7_relativeSplatPath,\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 flushSync = (opts && opts.unstable_flushSync) === true;\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 enableViewTransition: opts && opts.unstable_viewTransition,\n flushSync,\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 initialHydration?: boolean;\n submission?: Submission;\n fetcherSubmission?: Submission;\n overrideNavigation?: Navigation;\n pendingError?: ErrorResponseImpl;\n startUninterruptedRevalidation?: boolean;\n preventScrollReset?: boolean;\n replace?: boolean;\n enableViewTransition?: boolean;\n flushSync?: 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 pendingViewTransitionEnabled = (opts && opts.enableViewTransition) === true;\n\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let loadingNavigation = opts && opts.overrideNavigation;\n let matches = matchRoutes(routesToUse, location, basename);\n let flushSync = (opts && opts.flushSync) === true;\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(\n location,\n {\n matches: notFoundMatches,\n loaderData: {},\n errors: {\n [route.id]: error,\n },\n },\n { flushSync }\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 }, { flushSync });\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, flushSync }\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 flushSync = false;\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 opts && opts.initialHydration === true,\n flushSync,\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; flushSync?: boolean } = {}\n ): Promise {\n interruptActiveLoads();\n\n // Put us in a submitting state\n let navigation = getSubmittingNavigation(location, submission);\n updateState({ navigation }, { flushSync: opts.flushSync === true });\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 future.v7_relativeSplatPath\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 initialHydration?: boolean,\n flushSync?: 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 future.v7_partialHydration && initialHydration === true,\n isRevalidationRequired,\n cancelledDeferredRoutes,\n cancelledFetcherLoads,\n deletedFetchers,\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(\n location,\n {\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 { flushSync }\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 we have partialHydration enabled, then don't update the state for the\n // initial data load since it's not a \"navigation\"\n if (\n !isUninterruptedRevalidation &&\n (!future.v7_partialHydration || !initialHydration)\n ) {\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 {\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 flushSync,\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 // During partial hydration, preserve SSR errors for routes that don't re-run\n if (future.v7_partialHydration && initialHydration && state.errors) {\n Object.entries(state.errors)\n .filter(([id]) => !matchesToLoad.some((m) => m.route.id === id))\n .forEach(([routeId, error]) => {\n errors = Object.assign(errors || {}, { [routeId]: error });\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 // 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 let flushSync = (opts && opts.unstable_flushSync) === true;\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 future.v7_relativeSplatPath,\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 { flushSync }\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, { flushSync });\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(\n key,\n routeId,\n path,\n match,\n matches,\n flushSync,\n submission\n );\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(\n key,\n routeId,\n path,\n match,\n matches,\n flushSync,\n submission\n );\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 flushSync: boolean,\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, { flushSync });\n return;\n }\n\n // Put this fetcher into it's submitting state\n let existingFetcher = state.fetchers.get(key);\n updateFetcherState(key, getSubmittingFetcher(submission, existingFetcher), {\n flushSync,\n });\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 future.v7_relativeSplatPath\n );\n\n if (fetchRequest.signal.aborted) {\n // We can delete this so long as we weren't aborted by 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 // When using v7_fetcherPersist, we don't want errors bubbling up to the UI\n // or redirects processed for unmounted fetchers so we just revert them to\n // idle\n if (future.v7_fetcherPersist && deletedFetchers.has(key)) {\n if (isRedirectResult(actionResult) || isErrorResult(actionResult)) {\n updateFetcherState(key, getDoneFetcher(undefined));\n return;\n }\n // Let SuccessResult's fall through for revalidation\n } else {\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 updateFetcherState(key, getDoneFetcher(undefined));\n return;\n } else {\n fetchRedirectIds.add(key);\n updateFetcherState(key, getLoadingFetcher(submission));\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\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 false,\n isRevalidationRequired,\n cancelledDeferredRoutes,\n cancelledFetcherLoads,\n deletedFetchers,\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 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 fetchers: new Map(state.fetchers),\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 flushSync: boolean,\n submission?: Submission\n ) {\n let existingFetcher = state.fetchers.get(key);\n updateFetcherState(\n key,\n getLoadingFetcher(\n submission,\n existingFetcher ? existingFetcher.data : undefined\n ),\n { flushSync }\n );\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 future.v7_relativeSplatPath\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 // We don't want errors bubbling up or redirects followed for unmounted\n // fetchers, so short circuit here if it was removed from the UI\n if (deletedFetchers.has(key)) {\n updateFetcherState(key, getDoneFetcher(undefined));\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 updateFetcherState(key, getDoneFetcher(undefined));\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 setFetcherError(key, routeId, result.error);\n return;\n }\n\n invariant(!isDeferredResult(result), \"Unhandled fetcher deferred data\");\n\n // Put the fetcher back into an idle state\n updateFetcherState(key, getDoneFetcher(result.data));\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 future.v7_relativeSplatPath\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 future.v7_relativeSplatPath\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 updateFetcherState(\n key: string,\n fetcher: Fetcher,\n opts: { flushSync?: boolean } = {}\n ) {\n state.fetchers.set(key, fetcher);\n updateState(\n { fetchers: new Map(state.fetchers) },\n { flushSync: (opts && opts.flushSync) === true }\n );\n }\n\n function setFetcherError(\n key: string,\n routeId: string,\n error: any,\n opts: { flushSync?: boolean } = {}\n ) {\n let boundaryMatch = findNearestBoundary(state.matches, routeId);\n deleteFetcher(key);\n updateState(\n {\n errors: {\n [boundaryMatch.route.id]: error,\n },\n fetchers: new Map(state.fetchers),\n },\n { flushSync: (opts && opts.flushSync) === true }\n );\n }\n\n function getFetcher(key: string): Fetcher {\n if (future.v7_fetcherPersist) {\n activeFetchers.set(key, (activeFetchers.get(key) || 0) + 1);\n // If this fetcher was previously marked for deletion, unmark it since we\n // have a new instance\n if (deletedFetchers.has(key)) {\n deletedFetchers.delete(key);\n }\n }\n return state.fetchers.get(key) || IDLE_FETCHER;\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 deletedFetchers.delete(key);\n state.fetchers.delete(key);\n }\n\n function deleteFetcherAndUpdateState(key: string): void {\n if (future.v7_fetcherPersist) {\n let count = (activeFetchers.get(key) || 0) - 1;\n if (count <= 0) {\n activeFetchers.delete(key);\n deletedFetchers.add(key);\n } else {\n activeFetchers.set(key, count);\n }\n } else {\n deleteFetcher(key);\n }\n updateState({ fetchers: new Map(state.fetchers) });\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 future() {\n return future;\n },\n get state() {\n return state;\n },\n get routes() {\n return dataRoutes;\n },\n get window() {\n return routerWindow;\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: deleteFetcherAndUpdateState,\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\n/**\n * Future flags to toggle new feature behavior\n */\nexport interface StaticHandlerFutureConfig {\n v7_relativeSplatPath: boolean;\n v7_throwAbortReason: boolean;\n}\n\nexport interface CreateStaticHandlerOptions {\n basename?: string;\n /**\n * @deprecated Use `mapRouteProperties` instead\n */\n detectErrorBoundary?: DetectErrorBoundaryFunction;\n mapRouteProperties?: MapRoutePropertiesFunction;\n future?: Partial;\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 // Config driven behavior flags\n let future: StaticHandlerFutureConfig = {\n v7_relativeSplatPath: false,\n v7_throwAbortReason: false,\n ...(opts ? opts.future : null),\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 future.v7_relativeSplatPath,\n { isStaticRequest: true, isRouteRequest, requestContext }\n );\n\n if (request.signal.aborted) {\n throwStaticHandlerAbortedError(request, isRouteRequest, future);\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 future.v7_relativeSplatPath,\n { isStaticRequest: true, isRouteRequest, requestContext }\n )\n ),\n ]);\n\n if (request.signal.aborted) {\n throwStaticHandlerAbortedError(request, isRouteRequest, future);\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: isRouteErrorResponse(error) ? error.status : 500,\n errors: {\n [context._deepestRenderedBoundaryId || routes[0].id]: error,\n },\n };\n return newContext;\n}\n\nfunction throwStaticHandlerAbortedError(\n request: Request,\n isRouteRequest: boolean,\n future: StaticHandlerFutureConfig\n) {\n if (future.v7_throwAbortReason && request.signal.reason !== undefined) {\n throw request.signal.reason;\n }\n\n let method = isRouteRequest ? \"queryRoute\" : \"query\";\n throw new Error(`${method}() call aborted: ${request.method} ${request.url}`);\n}\n\nfunction isSubmissionNavigation(\n opts: BaseNavigateOrFetchOptions\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 v7_relativeSplatPath: boolean,\n fromRouteId?: string,\n relative?: RelativeRoutingType\n) {\n let contextualMatches: AgnosticDataRouteMatch[];\n let activeRouteMatch: AgnosticDataRouteMatch | undefined;\n if (fromRouteId) {\n // Grab matches up to the calling route so our route-relative logic is\n // relative to the correct source route\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 getResolveToMatches(contextualMatches, v7_relativeSplatPath),\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?: BaseNavigateOrFetchOptions\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 isInitialLoad: boolean,\n isRevalidationRequired: boolean,\n cancelledDeferredRoutes: string[],\n cancelledFetcherLoads: string[],\n deletedFetchers: Set,\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 let { route } = match;\n if (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\n if (route.loader == null) {\n return false;\n }\n\n if (isInitialLoad) {\n if (route.loader.hydrate) {\n return true;\n }\n return (\n state.loaderData[route.id] === undefined &&\n // Don't re-run if the loader ran and threw an error\n (!state.errors || state.errors[route.id] === undefined)\n );\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:\n // - on initial load (shouldn't be any fetchers then anyway)\n // - if fetcher won't be present in the subsequent render\n // - no longer matches the URL (v7_fetcherPersist=false)\n // - was unmounted but persisted due to v7_fetcherPersist=true\n if (\n isInitialLoad ||\n !matches.some((m) => m.route.id === f.routeId) ||\n deletedFetchers.has(key)\n ) {\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 v7_relativeSplatPath: boolean,\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 v7_relativeSplatPath\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\n try {\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 if (result.body == null) {\n data = null;\n } else {\n data = await result.json();\n }\n } else {\n data = await result.text();\n }\n } catch (e) {\n return { type: ResultType.error, error: e };\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 =\n routes.length === 1\n ? routes[0]\n : 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\nfunction restoreAppliedTransitions(\n _window: Window,\n transitions: Map>\n) {\n try {\n let sessionPositions = _window.sessionStorage.getItem(\n TRANSITIONS_STORAGE_KEY\n );\n if (sessionPositions) {\n let json = JSON.parse(sessionPositions);\n for (let [k, v] of Object.entries(json || {})) {\n if (v && Array.isArray(v)) {\n transitions.set(k, new Set(v || []));\n }\n }\n }\n } catch (e) {\n // no-op, use default empty object\n }\n}\n\nfunction persistAppliedTransitions(\n _window: Window,\n transitions: Map>\n) {\n if (transitions.size > 0) {\n let json: Record = {};\n for (let [k, v] of transitions) {\n json[k] = [...v];\n }\n try {\n _window.sessionStorage.setItem(\n TRANSITIONS_STORAGE_KEY,\n JSON.stringify(json)\n );\n } catch (error) {\n warning(\n false,\n `Failed to save applied view transitions in sessionStorage (${error}).`\n );\n }\n }\n}\n\n//#endregion\n","/*!\n * ApexCharts v3.47.0\n * (c) 2018-2024 ApexCharts\n * Released under the MIT License.\n */\n\"use strict\";function t(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function e(e){for(var i=1;it.length)&&(e=t.length);for(var i=0,a=new Array(e);i=t.length?{done:!0}:{done:!1,value:t[a++]}},e:function(t){throw t},f:s}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var r,o=!0,n=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return o=t.done,t},e:function(t){n=!0,r=t},f:function(){try{o||null==i.return||i.return()}finally{if(n)throw r}}}}var b=function(){function t(){a(this,t)}return r(t,[{key:\"shadeRGBColor\",value:function(t,e){var i=e.split(\",\"),a=t<0?0:255,s=t<0?-1*t:t,r=parseInt(i[0].slice(4),10),o=parseInt(i[1],10),n=parseInt(i[2],10);return\"rgb(\"+(Math.round((a-r)*s)+r)+\",\"+(Math.round((a-o)*s)+o)+\",\"+(Math.round((a-n)*s)+n)+\")\"}},{key:\"shadeHexColor\",value:function(t,e){var i=parseInt(e.slice(1),16),a=t<0?0:255,s=t<0?-1*t:t,r=i>>16,o=i>>8&255,n=255&i;return\"#\"+(16777216+65536*(Math.round((a-r)*s)+r)+256*(Math.round((a-o)*s)+o)+(Math.round((a-n)*s)+n)).toString(16).slice(1)}},{key:\"shadeColor\",value:function(e,i){return t.isColorHex(i)?this.shadeHexColor(e,i):this.shadeRGBColor(e,i)}}],[{key:\"bind\",value:function(t,e){return function(){return t.apply(e,arguments)}}},{key:\"isObject\",value:function(t){return t&&\"object\"===i(t)&&!Array.isArray(t)&&null!=t}},{key:\"is\",value:function(t,e){return Object.prototype.toString.call(e)===\"[object \"+t+\"]\"}},{key:\"listToArray\",value:function(t){var e,i=[];for(e=0;e1&&void 0!==arguments[1]?arguments[1]:2;return Number.isInteger(t)?t:parseFloat(t.toPrecision(e))}},{key:\"randomId\",value:function(){return(Math.random()+1).toString(36).substring(4)}},{key:\"noExponents\",value:function(t){var e=String(t).split(/[eE]/);if(1===e.length)return e[0];var i=\"\",a=t<0?\"-\":\"\",s=e[0].replace(\".\",\"\"),r=Number(e[1])+1;if(r<0){for(i=a+\"0.\";r++;)i+=\"0\";return i+s.replace(/^-/,\"\")}for(r-=s.length;r--;)i+=\"0\";return s+i}},{key:\"getDimensions\",value:function(t){var e=getComputedStyle(t,null),i=t.clientHeight,a=t.clientWidth;return i-=parseFloat(e.paddingTop)+parseFloat(e.paddingBottom),[a-=parseFloat(e.paddingLeft)+parseFloat(e.paddingRight),i]}},{key:\"getBoundingClientRect\",value:function(t){var e=t.getBoundingClientRect();return{top:e.top,right:e.right,bottom:e.bottom,left:e.left,width:t.clientWidth,height:t.clientHeight,x:e.left,y:e.top}}},{key:\"getLargestStringFromArr\",value:function(t){return t.reduce((function(t,e){return Array.isArray(e)&&(e=e.reduce((function(t,e){return t.length>e.length?t:e}))),t.length>e.length?t:e}),0)}},{key:\"hexToRgba\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"#999999\",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.6;\"#\"!==t.substring(0,1)&&(t=\"#999999\");var i=t.replace(\"#\",\"\");i=i.match(new RegExp(\"(.{\"+i.length/3+\"})\",\"g\"));for(var a=0;a1&&void 0!==arguments[1]?arguments[1]:\"x\",i=t.toString().slice();return i=i.replace(/[` ~!@#$%^&*()|+\\=?;:'\",.<>{}[\\]\\\\/]/gi,e)}},{key:\"negToZero\",value:function(t){return t<0?0:t}},{key:\"moveIndexInArray\",value:function(t,e,i){if(i>=t.length)for(var a=i-t.length+1;a--;)t.push(void 0);return t.splice(i,0,t.splice(e,1)[0]),t}},{key:\"extractNumber\",value:function(t){return parseFloat(t.replace(/[^\\d.]*/g,\"\"))}},{key:\"findAncestor\",value:function(t,e){for(;(t=t.parentElement)&&!t.classList.contains(e););return t}},{key:\"setELstyles\",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t.style.key=e[i])}},{key:\"isNumber\",value:function(t){return!isNaN(t)&&parseFloat(Number(t))===t&&!isNaN(parseInt(t,10))}},{key:\"isFloat\",value:function(t){return Number(t)===t&&t%1!=0}},{key:\"isSafari\",value:function(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}},{key:\"isFirefox\",value:function(){return navigator.userAgent.toLowerCase().indexOf(\"firefox\")>-1}},{key:\"isIE11\",value:function(){if(-1!==window.navigator.userAgent.indexOf(\"MSIE\")||window.navigator.appVersion.indexOf(\"Trident/\")>-1)return!0}},{key:\"isIE\",value:function(){var t=window.navigator.userAgent,e=t.indexOf(\"MSIE \");if(e>0)return parseInt(t.substring(e+5,t.indexOf(\".\",e)),10);if(t.indexOf(\"Trident/\")>0){var i=t.indexOf(\"rv:\");return parseInt(t.substring(i+3,t.indexOf(\".\",i)),10)}var a=t.indexOf(\"Edge/\");return a>0&&parseInt(t.substring(a+5,t.indexOf(\".\",a)),10)}},{key:\"getGCD\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:7,a=Math.pow(10,i-Math.floor(Math.log10(Math.max(t,e))));for(t=Math.round(Math.abs(t)*a),e=Math.round(Math.abs(e)*a);e;){var s=e;e=t%e,t=s}return t/a}},{key:\"getPrimeFactors\",value:function(t){for(var e=[],i=2;t>=2;)t%i==0?(e.push(i),t/=i):i++;return e}},{key:\"mod\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:7,a=Math.pow(10,i-Math.floor(Math.log10(Math.max(t,e))));return(t=Math.round(Math.abs(t)*a))%(e=Math.round(Math.abs(e)*a))/a}}]),t}(),v=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.setEasingFunctions()}return r(t,[{key:\"setEasingFunctions\",value:function(){var t;if(!this.w.globals.easing){switch(this.w.config.chart.animations.easing){case\"linear\":t=\"-\";break;case\"easein\":t=\"<\";break;case\"easeout\":t=\">\";break;case\"easeinout\":default:t=\"<>\";break;case\"swing\":t=function(t){var e=1.70158;return(t-=1)*t*((e+1)*t+e)+1};break;case\"bounce\":t=function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375};break;case\"elastic\":t=function(t){return t===!!t?t:Math.pow(2,-10*t)*Math.sin((t-.075)*(2*Math.PI)/.3)+1}}this.w.globals.easing=t}}},{key:\"animateLine\",value:function(t,e,i,a){t.attr(e).animate(a).attr(i)}},{key:\"animateMarker\",value:function(t,e,i,a,s,r){e||(e=0),t.attr({r:e,width:e,height:e}).animate(a,s).attr({r:i,width:i.width,height:i.height}).afterAll((function(){r()}))}},{key:\"animateCircle\",value:function(t,e,i,a,s){t.attr({r:e.r,cx:e.cx,cy:e.cy}).animate(a,s).attr({r:i.r,cx:i.cx,cy:i.cy})}},{key:\"animateRect\",value:function(t,e,i,a,s){t.attr(e).animate(a).attr(i).afterAll((function(){return s()}))}},{key:\"animatePathsGradually\",value:function(t){var e=t.el,i=t.realIndex,a=t.j,s=t.fill,r=t.pathFrom,o=t.pathTo,n=t.speed,l=t.delay,h=this.w,c=0;h.config.chart.animations.animateGradually.enabled&&(c=h.config.chart.animations.animateGradually.delay),h.config.chart.animations.dynamicAnimation.enabled&&h.globals.dataChanged&&\"bar\"!==h.config.chart.type&&(c=0),this.morphSVG(e,i,a,\"line\"!==h.config.chart.type||h.globals.comboCharts?s:\"stroke\",r,o,n,l*c)}},{key:\"showDelayedElements\",value:function(){this.w.globals.delayedElements.forEach((function(t){var e=t.el;e.classList.remove(\"apexcharts-element-hidden\"),e.classList.add(\"apexcharts-hidden-element-shown\")}))}},{key:\"animationCompleted\",value:function(t){var e=this.w;e.globals.animationEnded||(e.globals.animationEnded=!0,this.showDelayedElements(),\"function\"==typeof e.config.chart.events.animationEnd&&e.config.chart.events.animationEnd(this.ctx,{el:t,w:e}))}},{key:\"morphSVG\",value:function(t,e,i,a,s,r,o,n){var l=this,h=this.w;s||(s=t.attr(\"pathFrom\")),r||(r=t.attr(\"pathTo\"));var c=function(t){return\"radar\"===h.config.chart.type&&(o=1),\"M 0 \".concat(h.globals.gridHeight)};(!s||s.indexOf(\"undefined\")>-1||s.indexOf(\"NaN\")>-1)&&(s=c()),(!r||r.indexOf(\"undefined\")>-1||r.indexOf(\"NaN\")>-1)&&(r=c()),h.globals.shouldAnimate||(o=1),t.plot(s).animate(1,h.globals.easing,n).plot(s).animate(o,h.globals.easing,n).plot(r).afterAll((function(){b.isNumber(i)?i===h.globals.series[h.globals.maxValsInArrayIndex].length-2&&h.globals.shouldAnimate&&l.animationCompleted(t):\"none\"!==a&&h.globals.shouldAnimate&&(!h.globals.comboCharts&&e===h.globals.series.length-1||h.globals.comboCharts)&&l.animationCompleted(t),l.showDelayedElements()}))}}]),t}(),m=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"getDefaultFilter\",value:function(t,e){var i=this.w;t.unfilter(!0),(new window.SVG.Filter).size(\"120%\",\"180%\",\"-5%\",\"-40%\"),\"none\"!==i.config.states.normal.filter?this.applyFilter(t,e,i.config.states.normal.filter.type,i.config.states.normal.filter.value):i.config.chart.dropShadow.enabled&&this.dropShadow(t,i.config.chart.dropShadow,e)}},{key:\"addNormalFilter\",value:function(t,e){var i=this.w;i.config.chart.dropShadow.enabled&&!t.node.classList.contains(\"apexcharts-marker\")&&this.dropShadow(t,i.config.chart.dropShadow,e)}},{key:\"addLightenFilter\",value:function(t,e,i){var a=this,s=this.w,r=i.intensity;t.unfilter(!0);new window.SVG.Filter;t.filter((function(t){var i=s.config.chart.dropShadow;(i.enabled?a.addShadow(t,e,i):t).componentTransfer({rgb:{type:\"linear\",slope:1.5,intercept:r}})})),t.filterer.node.setAttribute(\"filterUnits\",\"userSpaceOnUse\"),this._scaleFilterSize(t.filterer.node)}},{key:\"addDarkenFilter\",value:function(t,e,i){var a=this,s=this.w,r=i.intensity;t.unfilter(!0);new window.SVG.Filter;t.filter((function(t){var i=s.config.chart.dropShadow;(i.enabled?a.addShadow(t,e,i):t).componentTransfer({rgb:{type:\"linear\",slope:r}})})),t.filterer.node.setAttribute(\"filterUnits\",\"userSpaceOnUse\"),this._scaleFilterSize(t.filterer.node)}},{key:\"applyFilter\",value:function(t,e,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:.5;switch(i){case\"none\":this.addNormalFilter(t,e);break;case\"lighten\":this.addLightenFilter(t,e,{intensity:a});break;case\"darken\":this.addDarkenFilter(t,e,{intensity:a})}}},{key:\"addShadow\",value:function(t,e,i){var a,s=this.w,r=i.blur,o=i.top,n=i.left,l=i.color,h=i.opacity;if((null===(a=s.config.chart.dropShadow.enabledOnSeries)||void 0===a?void 0:a.length)>0&&-1===s.config.chart.dropShadow.enabledOnSeries.indexOf(e))return t;var c=t.flood(Array.isArray(l)?l[e]:l,h).composite(t.sourceAlpha,\"in\").offset(n,o).gaussianBlur(r).merge(t.source);return t.blend(t.source,c)}},{key:\"dropShadow\",value:function(t,e){var i,a,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=e.top,o=e.left,n=e.blur,l=e.color,h=e.opacity,c=e.noUserSpaceOnUse,d=this.w;if(t.unfilter(!0),b.isIE()&&\"radialBar\"===d.config.chart.type)return t;if((null===(i=d.config.chart.dropShadow.enabledOnSeries)||void 0===i?void 0:i.length)>0&&-1===(null===(a=d.config.chart.dropShadow.enabledOnSeries)||void 0===a?void 0:a.indexOf(s)))return t;return l=Array.isArray(l)?l[s]:l,t.filter((function(t){var e=null;e=b.isSafari()||b.isFirefox()||b.isIE()?t.flood(l,h).composite(t.sourceAlpha,\"in\").offset(o,r).gaussianBlur(n):t.flood(l,h).composite(t.sourceAlpha,\"in\").offset(o,r).gaussianBlur(n).merge(t.source),t.blend(t.source,e)})),c||t.filterer.node.setAttribute(\"filterUnits\",\"userSpaceOnUse\"),this._scaleFilterSize(t.filterer.node),t}},{key:\"setSelectionFilter\",value:function(t,e,i){var a=this.w;if(void 0!==a.globals.selectedDataPoints[e]&&a.globals.selectedDataPoints[e].indexOf(i)>-1){t.node.setAttribute(\"selected\",!0);var s=a.config.states.active.filter;\"none\"!==s&&this.applyFilter(t,e,s.type,s.value)}}},{key:\"_scaleFilterSize\",value:function(t){!function(e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}({width:\"200%\",height:\"200%\",x:\"-50%\",y:\"-50%\"})}}]),t}(),y=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"roundPathCorners\",value:function(t,e){function i(t,e,i){var s=e.x-t.x,r=e.y-t.y,o=Math.sqrt(s*s+r*r);return a(t,e,Math.min(1,i/o))}function a(t,e,i){return{x:t.x+(e.x-t.x)*i,y:t.y+(e.y-t.y)*i}}function s(t,e){t.length>2&&(t[t.length-2]=e.x,t[t.length-1]=e.y)}function r(t){return{x:parseFloat(t[t.length-2]),y:parseFloat(t[t.length-1])}}t.indexOf(\"NaN\")>-1&&(t=\"\");var o=t.split(/[,\\s]/).reduce((function(t,e){var i=e.match(\"([a-zA-Z])(.+)\");return i?(t.push(i[1]),t.push(i[2])):t.push(e),t}),[]).reduce((function(t,e){return parseFloat(e)==e&&t.length?t[t.length-1].push(e):t.push([e]),t}),[]),n=[];if(o.length>1){var l=r(o[0]),h=null;\"Z\"==o[o.length-1][0]&&o[0].length>2&&(h=[\"L\",l.x,l.y],o[o.length-1]=h),n.push(o[0]);for(var c=1;c2&&\"L\"==g[0]&&u.length>2&&\"L\"==u[0]){var p,f,x=r(d),b=r(g),v=r(u);p=i(b,x,e),f=i(b,v,e),s(g,p),g.origPoint=b,n.push(g);var m=a(p,b,.5),y=a(b,f,.5),w=[\"C\",m.x,m.y,y.x,y.y,f.x,f.y];w.origPoint=b,n.push(w)}else n.push(g)}if(h){var k=r(n[n.length-1]);n.push([\"Z\"]),s(n[0],k)}}else n=o;return n.reduce((function(t,e){return t+e.join(\" \")+\" \"}),\"\")}},{key:\"drawLine\",value:function(t,e,i,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:\"#a8a8a8\",r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,n=arguments.length>7&&void 0!==arguments[7]?arguments[7]:\"butt\";return this.w.globals.dom.Paper.line().attr({x1:t,y1:e,x2:i,y2:a,stroke:s,\"stroke-dasharray\":r,\"stroke-width\":o,\"stroke-linecap\":n})}},{key:\"drawRect\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:\"#fefefe\",o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:1,n=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,l=arguments.length>8&&void 0!==arguments[8]?arguments[8]:null,h=arguments.length>9&&void 0!==arguments[9]?arguments[9]:0,c=this.w.globals.dom.Paper.rect();return c.attr({x:t,y:e,width:i>0?i:0,height:a>0?a:0,rx:s,ry:s,opacity:o,\"stroke-width\":null!==n?n:0,stroke:null!==l?l:\"none\",\"stroke-dasharray\":h}),c.node.setAttribute(\"fill\",r),c}},{key:\"drawPolygon\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"#e1e1e1\",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"none\";return this.w.globals.dom.Paper.polygon(t).attr({fill:a,stroke:e,\"stroke-width\":i})}},{key:\"drawCircle\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;t<0&&(t=0);var i=this.w.globals.dom.Paper.circle(2*t);return null!==e&&i.attr(e),i}},{key:\"drawPath\",value:function(t){var e=t.d,i=void 0===e?\"\":e,a=t.stroke,s=void 0===a?\"#a8a8a8\":a,r=t.strokeWidth,o=void 0===r?1:r,n=t.fill,l=t.fillOpacity,h=void 0===l?1:l,c=t.strokeOpacity,d=void 0===c?1:c,g=t.classes,u=t.strokeLinecap,p=void 0===u?null:u,f=t.strokeDashArray,x=void 0===f?0:f,b=this.w;return null===p&&(p=b.config.stroke.lineCap),(i.indexOf(\"undefined\")>-1||i.indexOf(\"NaN\")>-1)&&(i=\"M 0 \".concat(b.globals.gridHeight)),b.globals.dom.Paper.path(i).attr({fill:n,\"fill-opacity\":h,stroke:s,\"stroke-opacity\":d,\"stroke-linecap\":p,\"stroke-width\":o,\"stroke-dasharray\":x,class:g})}},{key:\"group\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w.globals.dom.Paper.group();return null!==t&&e.attr(t),e}},{key:\"move\",value:function(t,e){var i=[\"M\",t,e].join(\" \");return i}},{key:\"line\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=null;return null===i?a=[\" L\",t,e].join(\" \"):\"H\"===i?a=[\" H\",t].join(\" \"):\"V\"===i&&(a=[\" V\",e].join(\" \")),a}},{key:\"curve\",value:function(t,e,i,a,s,r){var o=[\"C\",t,e,i,a,s,r].join(\" \");return o}},{key:\"quadraticCurve\",value:function(t,e,i,a){return[\"Q\",t,e,i,a].join(\" \")}},{key:\"arc\",value:function(t,e,i,a,s,r,o){var n=\"A\";arguments.length>7&&void 0!==arguments[7]&&arguments[7]&&(n=\"a\");var l=[n,t,e,i,a,s,r,o].join(\" \");return l}},{key:\"renderPaths\",value:function(t){var i,a=t.j,s=t.realIndex,r=t.pathFrom,o=t.pathTo,n=t.stroke,l=t.strokeWidth,h=t.strokeLinecap,c=t.fill,d=t.animationDelay,g=t.initialSpeed,u=t.dataChangeSpeed,p=t.className,f=t.shouldClipToGrid,x=void 0===f||f,b=t.bindEventsOnPaths,y=void 0===b||b,w=t.drawShadow,k=void 0===w||w,A=this.w,S=new m(this.ctx),C=new v(this.ctx),L=this.w.config.chart.animations.enabled,P=L&&this.w.config.chart.animations.dynamicAnimation.enabled,M=!!(L&&!A.globals.resized||P&&A.globals.dataChanged&&A.globals.shouldAnimate);M?i=r:(i=o,A.globals.animationEnded=!0);var I=A.config.stroke.dashArray,T=0;T=Array.isArray(I)?I[s]:A.config.stroke.dashArray;var z=this.drawPath({d:i,stroke:n,strokeWidth:l,fill:c,fillOpacity:1,classes:p,strokeLinecap:h,strokeDashArray:T});if(z.attr(\"index\",s),x&&z.attr({\"clip-path\":\"url(#gridRectMask\".concat(A.globals.cuid,\")\")}),\"none\"!==A.config.states.normal.filter.type)S.getDefaultFilter(z,s);else if(A.config.chart.dropShadow.enabled&&k){var X=A.config.chart.dropShadow;S.dropShadow(z,X,s)}y&&(z.node.addEventListener(\"mouseenter\",this.pathMouseEnter.bind(this,z)),z.node.addEventListener(\"mouseleave\",this.pathMouseLeave.bind(this,z)),z.node.addEventListener(\"mousedown\",this.pathMouseDown.bind(this,z))),z.attr({pathTo:o,pathFrom:r});var E={el:z,j:a,realIndex:s,pathFrom:r,pathTo:o,fill:c,strokeWidth:l,delay:d};return!L||A.globals.resized||A.globals.dataChanged?!A.globals.resized&&A.globals.dataChanged||C.showDelayedElements():C.animatePathsGradually(e(e({},E),{},{speed:g})),A.globals.dataChanged&&P&&M&&C.animatePathsGradually(e(e({},E),{},{speed:u})),z}},{key:\"drawPattern\",value:function(t,e,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"#a8a8a8\",s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;return this.w.globals.dom.Paper.pattern(e,i,(function(r){\"horizontalLines\"===t?r.line(0,0,i,0).stroke({color:a,width:s+1}):\"verticalLines\"===t?r.line(0,0,0,e).stroke({color:a,width:s+1}):\"slantedLines\"===t?r.line(0,0,e,i).stroke({color:a,width:s}):\"squares\"===t?r.rect(e,i).fill(\"none\").stroke({color:a,width:s}):\"circles\"===t&&r.circle(e).fill(\"none\").stroke({color:a,width:s})}))}},{key:\"drawGradient\",value:function(t,e,i,a,s){var r,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,h=arguments.length>8&&void 0!==arguments[8]?arguments[8]:0,c=this.w;e.length<9&&0===e.indexOf(\"#\")&&(e=b.hexToRgba(e,a)),i.length<9&&0===i.indexOf(\"#\")&&(i=b.hexToRgba(i,s));var d=0,g=1,u=1,p=null;null!==n&&(d=void 0!==n[0]?n[0]/100:0,g=void 0!==n[1]?n[1]/100:1,u=void 0!==n[2]?n[2]/100:1,p=void 0!==n[3]?n[3]/100:null);var f=!(\"donut\"!==c.config.chart.type&&\"pie\"!==c.config.chart.type&&\"polarArea\"!==c.config.chart.type&&\"bubble\"!==c.config.chart.type);if(r=null===l||0===l.length?c.globals.dom.Paper.gradient(f?\"radial\":\"linear\",(function(t){t.at(d,e,a),t.at(g,i,s),t.at(u,i,s),null!==p&&t.at(p,e,a)})):c.globals.dom.Paper.gradient(f?\"radial\":\"linear\",(function(t){(Array.isArray(l[h])?l[h]:l).forEach((function(e){t.at(e.offset/100,e.color,e.opacity)}))})),f){var x=c.globals.gridWidth/2,v=c.globals.gridHeight/2;\"bubble\"!==c.config.chart.type?r.attr({gradientUnits:\"userSpaceOnUse\",cx:x,cy:v,r:o}):r.attr({cx:.5,cy:.5,r:.8,fx:.2,fy:.2})}else\"vertical\"===t?r.from(0,0).to(0,1):\"diagonal\"===t?r.from(0,0).to(1,1):\"horizontal\"===t?r.from(0,1).to(1,1):\"diagonal2\"===t&&r.from(1,0).to(0,1);return r}},{key:\"getTextBasedOnMaxWidth\",value:function(t){var e=t.text,i=t.maxWidth,a=t.fontSize,s=t.fontFamily,r=this.getTextRects(e,a,s),o=r.width/e.length,n=Math.floor(i/o);return i-1){var n=i.globals.selectedDataPoints[s].indexOf(r);i.globals.selectedDataPoints[s].splice(n,1)}}else{if(!i.config.states.active.allowMultipleDataPointsSelection&&i.globals.selectedDataPoints.length>0){i.globals.selectedDataPoints=[];var l=i.globals.dom.Paper.select(\".apexcharts-series path\").members,h=i.globals.dom.Paper.select(\".apexcharts-series circle, .apexcharts-series rect\").members,c=function(t){Array.prototype.forEach.call(t,(function(t){t.node.setAttribute(\"selected\",\"false\"),a.getDefaultFilter(t,s)}))};c(l),c(h)}t.node.setAttribute(\"selected\",\"true\"),o=\"true\",void 0===i.globals.selectedDataPoints[s]&&(i.globals.selectedDataPoints[s]=[]),i.globals.selectedDataPoints[s].push(r)}if(\"true\"===o){var d=i.config.states.active.filter;if(\"none\"!==d)a.applyFilter(t,s,d.type,d.value);else if(\"none\"!==i.config.states.hover.filter&&!i.globals.isTouchDevice){var g=i.config.states.hover.filter;a.applyFilter(t,s,g.type,g.value)}}else if(\"none\"!==i.config.states.active.filter.type)if(\"none\"===i.config.states.hover.filter.type||i.globals.isTouchDevice)a.getDefaultFilter(t,s);else{g=i.config.states.hover.filter;a.applyFilter(t,s,g.type,g.value)}\"function\"==typeof i.config.chart.events.dataPointSelection&&i.config.chart.events.dataPointSelection(e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}),e&&this.ctx.events.fireEvent(\"dataPointSelection\",[e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}])}},{key:\"rotateAroundCenter\",value:function(t){var e={};return t&&\"function\"==typeof t.getBBox&&(e=t.getBBox()),{x:e.x+e.width/2,y:e.y+e.height/2}}},{key:\"getTextRects\",value:function(t,e,i,a){var s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],r=this.w,o=this.drawText({x:-200,y:-200,text:t,textAnchor:\"start\",fontSize:e,fontFamily:i,foreColor:\"#fff\",opacity:0});a&&o.attr(\"transform\",a),r.globals.dom.Paper.add(o);var n=o.bbox();return s||(n=o.node.getBoundingClientRect()),o.remove(),{width:n.width,height:n.height}}},{key:\"placeTextWithEllipsis\",value:function(t,e,i){if(\"function\"==typeof t.getComputedTextLength&&(t.textContent=e,e.length>0&&t.getComputedTextLength()>=i/1.1)){for(var a=e.length-3;a>0;a-=3)if(t.getSubStringLength(0,a)<=i/1.1)return void(t.textContent=e.substring(0,a)+\"...\");t.textContent=\".\"}}}],[{key:\"setAttrs\",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}}]),t}(),w=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"getStackedSeriesTotals\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=this.w,i=[];if(0===e.globals.series.length)return i;for(var a=0;a0&&void 0!==arguments[0]?arguments[0]:null;return null===t?this.w.config.series.reduce((function(t,e){return t+e}),0):this.w.globals.series[t].reduce((function(t,e){return t+e}),0)}},{key:\"getStackedSeriesTotalsByGroups\",value:function(){var t=this,e=this.w,i=[];return e.globals.seriesGroups.forEach((function(a){var s=[];e.config.series.forEach((function(t,e){a.indexOf(t.name)>-1&&s.push(e)}));var r=e.globals.series.map((function(t,e){return-1===s.indexOf(e)?e:-1})).filter((function(t){return-1!==t}));i.push(t.getStackedSeriesTotals(r))})),i}},{key:\"isSeriesNull\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return 0===(null===t?this.w.config.series.filter((function(t){return null!==t})):this.w.config.series[t].data.filter((function(t){return null!==t}))).length}},{key:\"seriesHaveSameValues\",value:function(t){return this.w.globals.series[t].every((function(t,e,i){return t===i[0]}))}},{key:\"getCategoryLabels\",value:function(t){var e=this.w,i=t.slice();return e.config.xaxis.convertedCatToNumeric&&(i=t.map((function(t,i){return e.config.xaxis.labels.formatter(t-e.globals.minX+1)}))),i}},{key:\"getLargestSeries\",value:function(){var t=this.w;t.globals.maxValsInArrayIndex=t.globals.series.map((function(t){return t.length})).indexOf(Math.max.apply(Math,t.globals.series.map((function(t){return t.length}))))}},{key:\"getLargestMarkerSize\",value:function(){var t=this.w,e=0;return t.globals.markers.size.forEach((function(t){e=Math.max(e,t)})),t.config.markers.discrete&&t.config.markers.discrete.length&&t.config.markers.discrete.forEach((function(t){e=Math.max(e,t.size)})),e>0&&(e+=t.config.markers.hover.sizeOffset+1),t.globals.markers.largestSize=e,e}},{key:\"getSeriesTotals\",value:function(){var t=this.w;t.globals.seriesTotals=t.globals.series.map((function(t,e){var i=0;if(Array.isArray(t))for(var a=0;at&&i.globals.seriesX[s][o]0&&(e=!0),{comboBarCount:i,comboCharts:e}}},{key:\"extendArrayProps\",value:function(t,e,i){var a,s,r,o,n,l;(null!==(a=e)&&void 0!==a&&a.yaxis&&(e=t.extendYAxis(e,i)),null!==(s=e)&&void 0!==s&&s.annotations)&&(e.annotations.yaxis&&(e=t.extendYAxisAnnotations(e)),null!==(r=e)&&void 0!==r&&null!==(o=r.annotations)&&void 0!==o&&o.xaxis&&(e=t.extendXAxisAnnotations(e)),null!==(n=e)&&void 0!==n&&null!==(l=n.annotations)&&void 0!==l&&l.points&&(e=t.extendPointAnnotations(e)));return e}}]),t}(),k=function(){function t(e){a(this,t),this.w=e.w,this.annoCtx=e}return r(t,[{key:\"setOrientations\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.w;if(\"vertical\"===t.label.orientation){var a=null!==e?e:0,s=i.globals.dom.baseEl.querySelector(\".apexcharts-xaxis-annotations .apexcharts-xaxis-annotation-label[rel='\".concat(a,\"']\"));if(null!==s){var r=s.getBoundingClientRect();s.setAttribute(\"x\",parseFloat(s.getAttribute(\"x\"))-r.height+4),\"top\"===t.label.position?s.setAttribute(\"y\",parseFloat(s.getAttribute(\"y\"))+r.width):s.setAttribute(\"y\",parseFloat(s.getAttribute(\"y\"))-r.width);var o=this.annoCtx.graphics.rotateAroundCenter(s),n=o.x,l=o.y;s.setAttribute(\"transform\",\"rotate(-90 \".concat(n,\" \").concat(l,\")\"))}}}},{key:\"addBackgroundToAnno\",value:function(t,e){var i=this.w;if(!t||void 0===e.label.text||void 0!==e.label.text&&!String(e.label.text).trim())return null;var a=i.globals.dom.baseEl.querySelector(\".apexcharts-grid\").getBoundingClientRect(),s=t.getBoundingClientRect(),r=e.label.style.padding.left,o=e.label.style.padding.right,n=e.label.style.padding.top,l=e.label.style.padding.bottom;\"vertical\"===e.label.orientation&&(n=e.label.style.padding.left,l=e.label.style.padding.right,r=e.label.style.padding.top,o=e.label.style.padding.bottom);var h=s.left-a.left-r,c=s.top-a.top-n,d=this.annoCtx.graphics.drawRect(h-i.globals.barPadForNumericAxis,c,s.width+r+o,s.height+n+l,e.label.borderRadius,e.label.style.background,1,e.label.borderWidth,e.label.borderColor,0);return e.id&&d.node.classList.add(e.id),d}},{key:\"annotationsBackground\",value:function(){var t=this,e=this.w,i=function(i,a,s){var r=e.globals.dom.baseEl.querySelector(\".apexcharts-\".concat(s,\"-annotations .apexcharts-\").concat(s,\"-annotation-label[rel='\").concat(a,\"']\"));if(r){var o=r.parentNode,n=t.addBackgroundToAnno(r,i);n&&(o.insertBefore(n.node,r),i.label.mouseEnter&&n.node.addEventListener(\"mouseenter\",i.label.mouseEnter.bind(t,i)),i.label.mouseLeave&&n.node.addEventListener(\"mouseleave\",i.label.mouseLeave.bind(t,i)),i.label.click&&n.node.addEventListener(\"click\",i.label.click.bind(t,i)))}};e.config.annotations.xaxis.map((function(t,e){i(t,e,\"xaxis\")})),e.config.annotations.yaxis.map((function(t,e){i(t,e,\"yaxis\")})),e.config.annotations.points.map((function(t,e){i(t,e,\"point\")}))}},{key:\"getY1Y2\",value:function(t,e){var i,a=\"y1\"===t?e.y:e.y2,s=this.w;if(this.annoCtx.invertAxis){var r=s.globals.labels;s.config.xaxis.convertedCatToNumeric&&(r=s.globals.categoryLabels);var o=r.indexOf(a),n=s.globals.dom.baseEl.querySelector(\".apexcharts-yaxis-texts-g text:nth-child(\"+(o+1)+\")\");i=n?parseFloat(n.getAttribute(\"y\")):(s.globals.gridHeight/r.length-1)*(o+1)-s.globals.barHeight,void 0!==e.seriesIndex&&s.globals.barHeight&&(i=i-s.globals.barHeight/2*(s.globals.series.length-1)+s.globals.barHeight*e.seriesIndex)}else{var l;if(s.config.yaxis[e.yAxisIndex].logarithmic)l=(a=new w(this.annoCtx.ctx).getLogVal(a,e.yAxisIndex))/s.globals.yLogRatio[e.yAxisIndex];else l=(a-s.globals.minYArr[e.yAxisIndex])/(s.globals.yRange[e.yAxisIndex]/s.globals.gridHeight);i=s.globals.gridHeight-l,!e.marker||void 0!==e.y&&null!==e.y||(i=0),s.config.yaxis[e.yAxisIndex]&&s.config.yaxis[e.yAxisIndex].reversed&&(i=l)}return\"string\"==typeof a&&a.indexOf(\"px\")>-1&&(i=parseFloat(a)),i}},{key:\"getX1X2\",value:function(t,e){var i=this.w,a=this.annoCtx.invertAxis?i.globals.minY:i.globals.minX,s=this.annoCtx.invertAxis?i.globals.maxY:i.globals.maxX,r=this.annoCtx.invertAxis?i.globals.yRange[0]:i.globals.xRange,o=(e.x-a)/(r/i.globals.gridWidth);this.annoCtx.inversedReversedAxis&&(o=(s-e.x)/(r/i.globals.gridWidth)),\"category\"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric||this.annoCtx.invertAxis||i.globals.dataFormatXNumeric||(o=this.getStringX(e.x));var n=(e.x2-a)/(r/i.globals.gridWidth);return this.annoCtx.inversedReversedAxis&&(n=(s-e.x2)/(r/i.globals.gridWidth)),\"category\"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric||this.annoCtx.invertAxis||i.globals.dataFormatXNumeric||(n=this.getStringX(e.x2)),void 0!==e.x&&null!==e.x||!e.marker||(o=i.globals.gridWidth),\"x1\"===t&&\"string\"==typeof e.x&&e.x.indexOf(\"px\")>-1&&(o=parseFloat(e.x)),\"x2\"===t&&\"string\"==typeof e.x2&&e.x2.indexOf(\"px\")>-1&&(n=parseFloat(e.x2)),void 0!==e.seriesIndex&&i.globals.barWidth&&!this.annoCtx.invertAxis&&(o=o-i.globals.barWidth/2*(i.globals.series.length-1)+i.globals.barWidth*e.seriesIndex),\"x1\"===t?o:n}},{key:\"getStringX\",value:function(t){var e=this.w,i=t;e.config.xaxis.convertedCatToNumeric&&e.globals.categoryLabels.length&&(t=e.globals.categoryLabels.indexOf(t)+1);var a=e.globals.labels.indexOf(t),s=e.globals.dom.baseEl.querySelector(\".apexcharts-xaxis-texts-g text:nth-child(\"+(a+1)+\")\");return s&&(i=parseFloat(s.getAttribute(\"x\"))),i}}]),t}(),A=function(){function t(e){a(this,t),this.w=e.w,this.annoCtx=e,this.invertAxis=this.annoCtx.invertAxis,this.helpers=new k(this.annoCtx)}return r(t,[{key:\"addXaxisAnnotation\",value:function(t,e,i){var a,s=this.w,r=this.helpers.getX1X2(\"x1\",t),o=t.label.text,n=t.strokeDashArray;if(b.isNumber(r)){if(null===t.x2||void 0===t.x2){var l=this.annoCtx.graphics.drawLine(r+t.offsetX,0+t.offsetY,r+t.offsetX,s.globals.gridHeight+t.offsetY,t.borderColor,n,t.borderWidth);e.appendChild(l.node),t.id&&l.node.classList.add(t.id)}else{if((a=this.helpers.getX1X2(\"x2\",t))o){var h=o;o=a,a=h}var c=this.annoCtx.graphics.drawRect(0+t.offsetX,a+t.offsetY,this._getYAxisAnnotationWidth(t),o-a,0,t.fillColor,t.opacity,1,t.borderColor,r);c.node.classList.add(\"apexcharts-annotation-rect\"),c.attr(\"clip-path\",\"url(#gridRectMask\".concat(s.globals.cuid,\")\")),e.appendChild(c.node),t.id&&c.node.classList.add(t.id)}var d=\"right\"===t.label.position?s.globals.gridWidth:\"center\"===t.label.position?s.globals.gridWidth/2:0,g=this.annoCtx.graphics.drawText({x:d+t.label.offsetX,y:(null!=a?a:o)+t.label.offsetY-3,text:n,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:\"apexcharts-yaxis-annotation-label \".concat(t.label.style.cssClass,\" \").concat(t.id?t.id:\"\")});g.attr({rel:i}),e.appendChild(g.node)}},{key:\"_getYAxisAnnotationWidth\",value:function(t){var e=this.w;e.globals.gridWidth;return(t.width.indexOf(\"%\")>-1?e.globals.gridWidth*parseInt(t.width,10)/100:parseInt(t.width,10))+t.offsetX}},{key:\"drawYAxisAnnotations\",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:\"apexcharts-yaxis-annotations\"});return e.config.annotations.yaxis.map((function(e,a){t.addYaxisAnnotation(e,i.node,a)})),i}}]),t}(),C=function(){function t(e){a(this,t),this.w=e.w,this.annoCtx=e,this.helpers=new k(this.annoCtx)}return r(t,[{key:\"addPointAnnotation\",value:function(t,e,i){this.w;var a=this.helpers.getX1X2(\"x1\",t),s=this.helpers.getY1Y2(\"y1\",t);if(b.isNumber(a)){var r={pSize:t.marker.size,pointStrokeWidth:t.marker.strokeWidth,pointFillColor:t.marker.fillColor,pointStrokeColor:t.marker.strokeColor,shape:t.marker.shape,pRadius:t.marker.radius,class:\"apexcharts-point-annotation-marker \".concat(t.marker.cssClass,\" \").concat(t.id?t.id:\"\")},o=this.annoCtx.graphics.drawMarker(a+t.marker.offsetX,s+t.marker.offsetY,r);e.appendChild(o.node);var n=t.label.text?t.label.text:\"\",l=this.annoCtx.graphics.drawText({x:a+t.label.offsetX,y:s+t.label.offsetY-t.marker.size-parseFloat(t.label.style.fontSize)/1.6,text:n,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:\"apexcharts-point-annotation-label \".concat(t.label.style.cssClass,\" \").concat(t.id?t.id:\"\")});if(l.attr({rel:i}),e.appendChild(l.node),t.customSVG.SVG){var h=this.annoCtx.graphics.group({class:\"apexcharts-point-annotations-custom-svg \"+t.customSVG.cssClass});h.attr({transform:\"translate(\".concat(a+t.customSVG.offsetX,\", \").concat(s+t.customSVG.offsetY,\")\")}),h.node.innerHTML=t.customSVG.SVG,e.appendChild(h.node)}if(t.image.path){var c=t.image.width?t.image.width:20,d=t.image.height?t.image.height:20;o=this.annoCtx.addImage({x:a+t.image.offsetX-c/2,y:s+t.image.offsetY-d/2,width:c,height:d,path:t.image.path,appendTo:\".apexcharts-point-annotations\"})}t.mouseEnter&&o.node.addEventListener(\"mouseenter\",t.mouseEnter.bind(this,t)),t.mouseLeave&&o.node.addEventListener(\"mouseleave\",t.mouseLeave.bind(this,t)),t.click&&o.node.addEventListener(\"click\",t.click.bind(this,t))}}},{key:\"drawPointAnnotations\",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:\"apexcharts-point-annotations\"});return e.config.annotations.points.map((function(e,a){t.addPointAnnotation(e,i.node,a)})),i}}]),t}();var L={name:\"en\",options:{months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],toolbar:{exportToSVG:\"Download SVG\",exportToPNG:\"Download PNG\",exportToCSV:\"Download CSV\",menu:\"Menu\",selection:\"Selection\",selectionZoom:\"Selection Zoom\",zoomIn:\"Zoom In\",zoomOut:\"Zoom Out\",pan:\"Panning\",reset:\"Reset Zoom\"}}},P=function(){function t(){a(this,t),this.yAxis={show:!0,showAlways:!1,showForNullSeries:!0,seriesName:void 0,opposite:!1,reversed:!1,logarithmic:!1,logBase:10,tickAmount:void 0,stepSize:void 0,forceNiceScale:!1,max:void 0,min:void 0,floating:!1,decimalsInFloat:void 0,labels:{show:!0,minWidth:0,maxWidth:160,offsetX:0,offsetY:0,align:void 0,rotate:0,padding:20,style:{colors:[],fontSize:\"11px\",fontWeight:400,fontFamily:void 0,cssClass:\"\"},formatter:void 0},axisBorder:{show:!1,color:\"#e0e0e0\",width:1,offsetX:0,offsetY:0},axisTicks:{show:!1,color:\"#e0e0e0\",width:6,offsetX:0,offsetY:0},title:{text:void 0,rotate:-90,offsetY:0,offsetX:0,style:{color:void 0,fontSize:\"11px\",fontWeight:900,fontFamily:void 0,cssClass:\"\"}},tooltip:{enabled:!1,offsetX:0},crosshairs:{show:!0,position:\"front\",stroke:{color:\"#b6b6b6\",width:1,dashArray:0}}},this.pointAnnotation={id:void 0,x:0,y:null,yAxisIndex:0,seriesIndex:void 0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,marker:{size:4,fillColor:\"#fff\",strokeWidth:2,strokeColor:\"#333\",shape:\"circle\",offsetX:0,offsetY:0,radius:2,cssClass:\"\"},label:{borderColor:\"#c2c2c2\",borderWidth:1,borderRadius:2,text:void 0,textAnchor:\"middle\",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:\"#fff\",color:void 0,fontSize:\"11px\",fontFamily:void 0,fontWeight:400,cssClass:\"\",padding:{left:5,right:5,top:2,bottom:2}}},customSVG:{SVG:void 0,cssClass:void 0,offsetX:0,offsetY:0},image:{path:void 0,width:20,height:20,offsetX:0,offsetY:0}},this.yAxisAnnotation={id:void 0,y:0,y2:null,strokeDashArray:1,fillColor:\"#c2c2c2\",borderColor:\"#c2c2c2\",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,width:\"100%\",yAxisIndex:0,label:{borderColor:\"#c2c2c2\",borderWidth:1,borderRadius:2,text:void 0,textAnchor:\"end\",position:\"right\",offsetX:0,offsetY:-3,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:\"#fff\",color:void 0,fontSize:\"11px\",fontFamily:void 0,fontWeight:400,cssClass:\"\",padding:{left:5,right:5,top:2,bottom:2}}}},this.xAxisAnnotation={id:void 0,x:0,x2:null,strokeDashArray:1,fillColor:\"#c2c2c2\",borderColor:\"#c2c2c2\",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,label:{borderColor:\"#c2c2c2\",borderWidth:1,borderRadius:2,text:void 0,textAnchor:\"middle\",orientation:\"vertical\",position:\"top\",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:\"#fff\",color:void 0,fontSize:\"11px\",fontFamily:void 0,fontWeight:400,cssClass:\"\",padding:{left:5,right:5,top:2,bottom:2}}}},this.text={x:0,y:0,text:\"\",textAnchor:\"start\",foreColor:void 0,fontSize:\"13px\",fontFamily:void 0,fontWeight:400,appendTo:\".apexcharts-annotations\",backgroundColor:\"transparent\",borderColor:\"#c2c2c2\",borderRadius:0,borderWidth:0,paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2}}return r(t,[{key:\"init\",value:function(){return{annotations:{yaxis:[this.yAxisAnnotation],xaxis:[this.xAxisAnnotation],points:[this.pointAnnotation],texts:[],images:[],shapes:[]},chart:{animations:{enabled:!0,easing:\"easeinout\",speed:800,animateGradually:{delay:150,enabled:!0},dynamicAnimation:{enabled:!0,speed:350}},background:\"transparent\",locales:[L],defaultLocale:\"en\",dropShadow:{enabled:!1,enabledOnSeries:void 0,top:2,left:2,blur:4,color:\"#000\",opacity:.35},events:{animationEnd:void 0,beforeMount:void 0,mounted:void 0,updated:void 0,click:void 0,mouseMove:void 0,mouseLeave:void 0,xAxisLabelClick:void 0,legendClick:void 0,markerClick:void 0,selection:void 0,dataPointSelection:void 0,dataPointMouseEnter:void 0,dataPointMouseLeave:void 0,beforeZoom:void 0,beforeResetZoom:void 0,zoomed:void 0,scrolled:void 0,brushScrolled:void 0},foreColor:\"#373d3f\",fontFamily:\"Helvetica, Arial, sans-serif\",height:\"auto\",parentHeightOffset:15,redrawOnParentResize:!0,redrawOnWindowResize:!0,id:void 0,group:void 0,nonce:void 0,offsetX:0,offsetY:0,selection:{enabled:!1,type:\"x\",fill:{color:\"#24292e\",opacity:.1},stroke:{width:1,color:\"#24292e\",opacity:.4,dashArray:3},xaxis:{min:void 0,max:void 0},yaxis:{min:void 0,max:void 0}},sparkline:{enabled:!1},brush:{enabled:!1,autoScaleYaxis:!0,target:void 0,targets:void 0},stacked:!1,stackOnlyBar:!0,stackType:\"normal\",toolbar:{show:!0,offsetX:0,offsetY:0,tools:{download:!0,selection:!0,zoom:!0,zoomin:!0,zoomout:!0,pan:!0,reset:!0,customIcons:[]},export:{csv:{filename:void 0,columnDelimiter:\",\",headerCategory:\"category\",headerValue:\"value\",dateFormatter:function(t){return new Date(t).toDateString()}},png:{filename:void 0},svg:{filename:void 0}},autoSelected:\"zoom\"},type:\"line\",width:\"100%\",zoom:{enabled:!0,type:\"x\",autoScaleYaxis:!1,zoomedArea:{fill:{color:\"#90CAF9\",opacity:.4},stroke:{color:\"#0D47A1\",opacity:.4,width:1}}}},plotOptions:{area:{fillTo:\"origin\"},bar:{horizontal:!1,columnWidth:\"70%\",barHeight:\"70%\",distributed:!1,borderRadius:0,borderRadiusApplication:\"around\",borderRadiusWhenStacked:\"last\",rangeBarOverlap:!0,rangeBarGroupRows:!1,hideZeroBarsWhenGrouped:!1,isDumbbell:!1,dumbbellColors:void 0,isFunnel:!1,isFunnel3d:!0,colors:{ranges:[],backgroundBarColors:[],backgroundBarOpacity:1,backgroundBarRadius:0},dataLabels:{position:\"top\",maxItems:100,hideOverflowingLabels:!0,orientation:\"horizontal\",total:{enabled:!1,formatter:void 0,offsetX:0,offsetY:0,style:{color:\"#373d3f\",fontSize:\"12px\",fontFamily:void 0,fontWeight:600}}}},bubble:{zScaling:!0,minBubbleRadius:void 0,maxBubbleRadius:void 0},candlestick:{colors:{upward:\"#00B746\",downward:\"#EF403C\"},wick:{useFillColor:!0}},boxPlot:{colors:{upper:\"#00E396\",lower:\"#008FFB\"}},heatmap:{radius:2,enableShades:!0,shadeIntensity:.5,reverseNegativeShade:!1,distributed:!1,useFillColorAsStroke:!1,colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},treemap:{enableShades:!0,shadeIntensity:.5,distributed:!1,reverseNegativeShade:!1,useFillColorAsStroke:!1,borderRadius:4,dataLabels:{format:\"scale\"},colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},radialBar:{inverseOrder:!1,startAngle:0,endAngle:360,offsetX:0,offsetY:0,hollow:{margin:5,size:\"50%\",background:\"transparent\",image:void 0,imageWidth:150,imageHeight:150,imageOffsetX:0,imageOffsetY:0,imageClipped:!0,position:\"front\",dropShadow:{enabled:!1,top:0,left:0,blur:3,color:\"#000\",opacity:.5}},track:{show:!0,startAngle:void 0,endAngle:void 0,background:\"#f2f2f2\",strokeWidth:\"97%\",opacity:1,margin:5,dropShadow:{enabled:!1,top:0,left:0,blur:3,color:\"#000\",opacity:.5}},dataLabels:{show:!0,name:{show:!0,fontSize:\"16px\",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:0,formatter:function(t){return t}},value:{show:!0,fontSize:\"14px\",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:16,formatter:function(t){return t+\"%\"}},total:{show:!1,label:\"Total\",fontSize:\"16px\",fontWeight:600,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)/t.globals.series.length+\"%\"}}},barLabels:{enabled:!1,margin:5,useSeriesColors:!0,fontFamily:void 0,fontWeight:600,fontSize:\"16px\",formatter:function(t){return t},onClick:void 0}},pie:{customScale:1,offsetX:0,offsetY:0,startAngle:0,endAngle:360,expandOnClick:!0,dataLabels:{offset:0,minAngleToShowLabel:10},donut:{size:\"65%\",background:\"transparent\",labels:{show:!1,name:{show:!0,fontSize:\"16px\",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:-10,formatter:function(t){return t}},value:{show:!0,fontSize:\"20px\",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:10,formatter:function(t){return t}},total:{show:!1,showAlways:!1,label:\"Total\",fontSize:\"16px\",fontWeight:400,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)}}}}},polarArea:{rings:{strokeWidth:1,strokeColor:\"#e8e8e8\"},spokes:{strokeWidth:1,connectorColors:\"#e8e8e8\"}},radar:{size:void 0,offsetX:0,offsetY:0,polygons:{strokeWidth:1,strokeColors:\"#e8e8e8\",connectorColors:\"#e8e8e8\",fill:{colors:void 0}}}},colors:void 0,dataLabels:{enabled:!0,enabledOnSeries:void 0,formatter:function(t){return null!==t?t:\"\"},textAnchor:\"middle\",distributed:!1,offsetX:0,offsetY:0,style:{fontSize:\"12px\",fontFamily:void 0,fontWeight:600,colors:void 0},background:{enabled:!0,foreColor:\"#fff\",borderRadius:2,padding:4,opacity:.9,borderWidth:1,borderColor:\"#fff\",dropShadow:{enabled:!1,top:1,left:1,blur:1,color:\"#000\",opacity:.45}},dropShadow:{enabled:!1,top:1,left:1,blur:1,color:\"#000\",opacity:.45}},fill:{type:\"solid\",colors:void 0,opacity:.85,gradient:{shade:\"dark\",type:\"horizontal\",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]},image:{src:[],width:void 0,height:void 0},pattern:{style:\"squares\",width:6,height:6,strokeWidth:2}},forecastDataPoints:{count:0,fillOpacity:.5,strokeWidth:void 0,dashArray:4},grid:{show:!0,borderColor:\"#e0e0e0\",strokeDashArray:0,position:\"back\",xaxis:{lines:{show:!1}},yaxis:{lines:{show:!0}},row:{colors:void 0,opacity:.5},column:{colors:void 0,opacity:.5},padding:{top:0,right:10,bottom:0,left:12}},labels:[],legend:{show:!0,showForSingleSeries:!1,showForNullSeries:!0,showForZeroSeries:!0,floating:!1,position:\"bottom\",horizontalAlign:\"center\",inverseOrder:!1,fontSize:\"12px\",fontFamily:void 0,fontWeight:400,width:void 0,height:void 0,formatter:void 0,tooltipHoverFormatter:void 0,offsetX:-20,offsetY:4,customLegendItems:[],labels:{colors:void 0,useSeriesColors:!1},markers:{width:12,height:12,strokeWidth:0,fillColors:void 0,strokeColor:\"#fff\",radius:12,customHTML:void 0,offsetX:0,offsetY:0,onClick:void 0},itemMargin:{horizontal:5,vertical:2},onItemClick:{toggleDataSeries:!0},onItemHover:{highlightDataSeries:!0}},markers:{discrete:[],size:0,colors:void 0,strokeColors:\"#fff\",strokeWidth:2,strokeOpacity:.9,strokeDashArray:0,fillOpacity:1,shape:\"circle\",width:8,height:8,radius:2,offsetX:0,offsetY:0,onClick:void 0,onDblClick:void 0,showNullDataPoints:!0,hover:{size:void 0,sizeOffset:3}},noData:{text:void 0,align:\"center\",verticalAlign:\"middle\",offsetX:0,offsetY:0,style:{color:void 0,fontSize:\"14px\",fontFamily:void 0}},responsive:[],series:void 0,states:{normal:{filter:{type:\"none\",value:0}},hover:{filter:{type:\"lighten\",value:.1}},active:{allowMultipleDataPointsSelection:!1,filter:{type:\"darken\",value:.5}}},title:{text:void 0,align:\"left\",margin:5,offsetX:0,offsetY:0,floating:!1,style:{fontSize:\"14px\",fontWeight:900,fontFamily:void 0,color:void 0}},subtitle:{text:void 0,align:\"left\",margin:5,offsetX:0,offsetY:30,floating:!1,style:{fontSize:\"12px\",fontWeight:400,fontFamily:void 0,color:void 0}},stroke:{show:!0,curve:\"smooth\",lineCap:\"butt\",width:2,colors:void 0,dashArray:0,fill:{type:\"solid\",colors:void 0,opacity:.85,gradient:{shade:\"dark\",type:\"horizontal\",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]}}},tooltip:{enabled:!0,enabledOnSeries:void 0,shared:!0,hideEmptySeries:!1,followCursor:!1,intersect:!1,inverseOrder:!1,custom:void 0,fillSeriesColor:!1,theme:\"light\",cssClass:\"\",style:{fontSize:\"12px\",fontFamily:void 0},onDatasetHover:{highlightDataSeries:!1},x:{show:!0,format:\"dd MMM\",formatter:void 0},y:{formatter:void 0,title:{formatter:function(t){return t?t+\": \":\"\"}}},z:{formatter:void 0,title:\"Size: \"},marker:{show:!0,fillColors:void 0},items:{display:\"flex\"},fixed:{enabled:!1,position:\"topRight\",offsetX:0,offsetY:0}},xaxis:{type:\"category\",categories:[],convertedCatToNumeric:!1,offsetX:0,offsetY:0,overwriteCategories:void 0,labels:{show:!0,rotate:-45,rotateAlways:!1,hideOverlappingLabels:!0,trim:!1,minHeight:void 0,maxHeight:120,showDuplicates:!0,style:{colors:[],fontSize:\"12px\",fontWeight:400,fontFamily:void 0,cssClass:\"\"},offsetX:0,offsetY:0,format:void 0,formatter:void 0,datetimeUTC:!0,datetimeFormatter:{year:\"yyyy\",month:\"MMM 'yy\",day:\"dd MMM\",hour:\"HH:mm\",minute:\"HH:mm:ss\",second:\"HH:mm:ss\"}},group:{groups:[],style:{colors:[],fontSize:\"12px\",fontWeight:400,fontFamily:void 0,cssClass:\"\"}},axisBorder:{show:!0,color:\"#e0e0e0\",width:\"100%\",height:1,offsetX:0,offsetY:0},axisTicks:{show:!0,color:\"#e0e0e0\",height:6,offsetX:0,offsetY:0},stepSize:void 0,tickAmount:void 0,tickPlacement:\"on\",min:void 0,max:void 0,range:void 0,floating:!1,decimalsInFloat:void 0,position:\"bottom\",title:{text:void 0,offsetX:0,offsetY:0,style:{color:void 0,fontSize:\"12px\",fontWeight:900,fontFamily:void 0,cssClass:\"\"}},crosshairs:{show:!0,width:1,position:\"back\",opacity:.9,stroke:{color:\"#b6b6b6\",width:1,dashArray:3},fill:{type:\"solid\",color:\"#B1B9C4\",gradient:{colorFrom:\"#D8E3F0\",colorTo:\"#BED1E6\",stops:[0,100],opacityFrom:.4,opacityTo:.5}},dropShadow:{enabled:!1,left:0,top:0,blur:1,opacity:.4}},tooltip:{enabled:!0,offsetY:0,formatter:void 0,style:{fontSize:\"12px\",fontFamily:void 0}}},yaxis:this.yAxis,theme:{mode:\"light\",palette:\"palette1\",monochrome:{enabled:!1,color:\"#008FFB\",shadeTo:\"light\",shadeIntensity:.65}}}}}]),t}(),M=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.graphics=new y(this.ctx),this.w.globals.isBarHorizontal&&(this.invertAxis=!0),this.helpers=new k(this),this.xAxisAnnotations=new A(this),this.yAxisAnnotations=new S(this),this.pointsAnnotations=new C(this),this.w.globals.isBarHorizontal&&this.w.config.yaxis[0].reversed&&(this.inversedReversedAxis=!0),this.xDivision=this.w.globals.gridWidth/this.w.globals.dataPoints}return r(t,[{key:\"drawAxesAnnotations\",value:function(){var t=this.w;if(t.globals.axisCharts){for(var e=this.yAxisAnnotations.drawYAxisAnnotations(),i=this.xAxisAnnotations.drawXAxisAnnotations(),a=this.pointsAnnotations.drawPointAnnotations(),s=t.config.chart.animations.enabled,r=[e,i,a],o=[i.node,e.node,a.node],n=0;n<3;n++)t.globals.dom.elGraphical.add(r[n]),!s||t.globals.resized||t.globals.dataChanged||\"scatter\"!==t.config.chart.type&&\"bubble\"!==t.config.chart.type&&t.globals.dataPoints>1&&o[n].classList.add(\"apexcharts-element-hidden\"),t.globals.delayedElements.push({el:o[n],index:0});this.helpers.annotationsBackground()}}},{key:\"drawImageAnnos\",value:function(){var t=this;this.w.config.annotations.images.map((function(e,i){t.addImage(e,i)}))}},{key:\"drawTextAnnos\",value:function(){var t=this;this.w.config.annotations.texts.map((function(e,i){t.addText(e,i)}))}},{key:\"addXaxisAnnotation\",value:function(t,e,i){this.xAxisAnnotations.addXaxisAnnotation(t,e,i)}},{key:\"addYaxisAnnotation\",value:function(t,e,i){this.yAxisAnnotations.addYaxisAnnotation(t,e,i)}},{key:\"addPointAnnotation\",value:function(t,e,i){this.pointsAnnotations.addPointAnnotation(t,e,i)}},{key:\"addText\",value:function(t,e){var i=t.x,a=t.y,s=t.text,r=t.textAnchor,o=t.foreColor,n=t.fontSize,l=t.fontFamily,h=t.fontWeight,c=t.cssClass,d=t.backgroundColor,g=t.borderWidth,u=t.strokeDashArray,p=t.borderRadius,f=t.borderColor,x=t.appendTo,b=void 0===x?\".apexcharts-svg\":x,v=t.paddingLeft,m=void 0===v?4:v,y=t.paddingRight,w=void 0===y?4:y,k=t.paddingBottom,A=void 0===k?2:k,S=t.paddingTop,C=void 0===S?2:S,L=this.w,P=this.graphics.drawText({x:i,y:a,text:s,textAnchor:r||\"start\",fontSize:n||\"12px\",fontWeight:h||\"regular\",fontFamily:l||L.config.chart.fontFamily,foreColor:o||L.config.chart.foreColor,cssClass:c}),M=L.globals.dom.baseEl.querySelector(b);M&&M.appendChild(P.node);var I=P.bbox();if(s){var T=this.graphics.drawRect(I.x-m,I.y-C,I.width+m+w,I.height+A+C,p,d||\"transparent\",1,g,f,u);M.insertBefore(T.node,P.node)}}},{key:\"addImage\",value:function(t,e){var i=this.w,a=t.path,s=t.x,r=void 0===s?0:s,o=t.y,n=void 0===o?0:o,l=t.width,h=void 0===l?20:l,c=t.height,d=void 0===c?20:c,g=t.appendTo,u=void 0===g?\".apexcharts-svg\":g,p=i.globals.dom.Paper.image(a);p.size(h,d).move(r,n);var f=i.globals.dom.baseEl.querySelector(u);return f&&f.appendChild(p.node),p}},{key:\"addXaxisAnnotationExternal\",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:\"xaxis\",contextMethod:i.addXaxisAnnotation}),i}},{key:\"addYaxisAnnotationExternal\",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:\"yaxis\",contextMethod:i.addYaxisAnnotation}),i}},{key:\"addPointAnnotationExternal\",value:function(t,e,i){return void 0===this.invertAxis&&(this.invertAxis=i.w.globals.isBarHorizontal),this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:\"point\",contextMethod:i.addPointAnnotation}),i}},{key:\"addAnnotationExternal\",value:function(t){var e=t.params,i=t.pushToMemory,a=t.context,s=t.type,r=t.contextMethod,o=a,n=o.w,l=n.globals.dom.baseEl.querySelector(\".apexcharts-\".concat(s,\"-annotations\")),h=l.childNodes.length+1,c=new P,d=Object.assign({},\"xaxis\"===s?c.xAxisAnnotation:\"yaxis\"===s?c.yAxisAnnotation:c.pointAnnotation),g=b.extend(d,e);switch(s){case\"xaxis\":this.addXaxisAnnotation(g,l,h);break;case\"yaxis\":this.addYaxisAnnotation(g,l,h);break;case\"point\":this.addPointAnnotation(g,l,h)}var u=n.globals.dom.baseEl.querySelector(\".apexcharts-\".concat(s,\"-annotations .apexcharts-\").concat(s,\"-annotation-label[rel='\").concat(h,\"']\")),p=this.helpers.addBackgroundToAnno(u,g);return p&&l.insertBefore(p.node,u),i&&n.globals.memory.methodsToExec.push({context:o,id:g.id?g.id:b.randomId(),method:r,label:\"addAnnotation\",params:e}),a}},{key:\"clearAnnotations\",value:function(t){var e=t.w,i=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxis-annotations, .apexcharts-xaxis-annotations, .apexcharts-point-annotations\");e.globals.memory.methodsToExec.map((function(t,i){\"addText\"!==t.label&&\"addAnnotation\"!==t.label||e.globals.memory.methodsToExec.splice(i,1)})),i=b.listToArray(i),Array.prototype.forEach.call(i,(function(t){for(;t.firstChild;)t.removeChild(t.firstChild)}))}},{key:\"removeAnnotation\",value:function(t,e){var i=t.w,a=i.globals.dom.baseEl.querySelectorAll(\".\".concat(e));a&&(i.globals.memory.methodsToExec.map((function(t,a){t.id===e&&i.globals.memory.methodsToExec.splice(a,1)})),Array.prototype.forEach.call(a,(function(t){t.parentElement.removeChild(t)})))}}]),t}(),I=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.months31=[1,3,5,7,8,10,12],this.months30=[2,4,6,9,11],this.daysCntOfYear=[0,31,59,90,120,151,181,212,243,273,304,334]}return r(t,[{key:\"isValidDate\",value:function(t){return\"number\"!=typeof t&&!isNaN(this.parseDate(t))}},{key:\"getTimeStamp\",value:function(t){return Date.parse(t)?this.w.config.xaxis.labels.datetimeUTC?new Date(new Date(t).toISOString().substr(0,25)).getTime():new Date(t).getTime():t}},{key:\"getDate\",value:function(t){return this.w.config.xaxis.labels.datetimeUTC?new Date(new Date(t).toUTCString()):new Date(t)}},{key:\"parseDate\",value:function(t){var e=Date.parse(t);if(!isNaN(e))return this.getTimeStamp(t);var i=Date.parse(t.replace(/-/g,\"/\").replace(/[a-z]+/gi,\" \"));return i=this.getTimeStamp(i)}},{key:\"parseDateWithTimezone\",value:function(t){return Date.parse(t.replace(/-/g,\"/\").replace(/[a-z]+/gi,\" \"))}},{key:\"formatDate\",value:function(t,e){var i=this.w.globals.locale,a=this.w.config.xaxis.labels.datetimeUTC,s=[\"\\0\"].concat(u(i.months)),r=[\"\\x01\"].concat(u(i.shortMonths)),o=[\"\\x02\"].concat(u(i.days)),n=[\"\\x03\"].concat(u(i.shortDays));function l(t,e){var i=t+\"\";for(e=e||2;i.length12?g-12:0===g?12:g;e=(e=(e=(e=e.replace(/(^|[^\\\\])HH+/g,\"$1\"+l(g))).replace(/(^|[^\\\\])H/g,\"$1\"+g)).replace(/(^|[^\\\\])hh+/g,\"$1\"+l(p))).replace(/(^|[^\\\\])h/g,\"$1\"+p);var f=a?t.getUTCMinutes():t.getMinutes();e=(e=e.replace(/(^|[^\\\\])mm+/g,\"$1\"+l(f))).replace(/(^|[^\\\\])m/g,\"$1\"+f);var x=a?t.getUTCSeconds():t.getSeconds();e=(e=e.replace(/(^|[^\\\\])ss+/g,\"$1\"+l(x))).replace(/(^|[^\\\\])s/g,\"$1\"+x);var b=a?t.getUTCMilliseconds():t.getMilliseconds();e=e.replace(/(^|[^\\\\])fff+/g,\"$1\"+l(b,3)),b=Math.round(b/10),e=e.replace(/(^|[^\\\\])ff/g,\"$1\"+l(b)),b=Math.round(b/10);var v=g<12?\"AM\":\"PM\";e=(e=(e=e.replace(/(^|[^\\\\])f/g,\"$1\"+b)).replace(/(^|[^\\\\])TT+/g,\"$1\"+v)).replace(/(^|[^\\\\])T/g,\"$1\"+v.charAt(0));var m=v.toLowerCase();e=(e=e.replace(/(^|[^\\\\])tt+/g,\"$1\"+m)).replace(/(^|[^\\\\])t/g,\"$1\"+m.charAt(0));var y=-t.getTimezoneOffset(),w=a||!y?\"Z\":y>0?\"+\":\"-\";if(!a){var k=(y=Math.abs(y))%60;w+=l(Math.floor(y/60))+\":\"+l(k)}e=e.replace(/(^|[^\\\\])K/g,\"$1\"+w);var A=(a?t.getUTCDay():t.getDay())+1;return e=(e=(e=(e=(e=e.replace(new RegExp(o[0],\"g\"),o[A])).replace(new RegExp(n[0],\"g\"),n[A])).replace(new RegExp(s[0],\"g\"),s[c])).replace(new RegExp(r[0],\"g\"),r[c])).replace(/\\\\(.)/g,\"$1\")}},{key:\"getTimeUnitsfromTimestamp\",value:function(t,e,i){var a=this.w;void 0!==a.config.xaxis.min&&(t=a.config.xaxis.min),void 0!==a.config.xaxis.max&&(e=a.config.xaxis.max);var s=this.getDate(t),r=this.getDate(e),o=this.formatDate(s,\"yyyy MM dd HH mm ss fff\").split(\" \"),n=this.formatDate(r,\"yyyy MM dd HH mm ss fff\").split(\" \");return{minMillisecond:parseInt(o[6],10),maxMillisecond:parseInt(n[6],10),minSecond:parseInt(o[5],10),maxSecond:parseInt(n[5],10),minMinute:parseInt(o[4],10),maxMinute:parseInt(n[4],10),minHour:parseInt(o[3],10),maxHour:parseInt(n[3],10),minDate:parseInt(o[2],10),maxDate:parseInt(n[2],10),minMonth:parseInt(o[1],10)-1,maxMonth:parseInt(n[1],10)-1,minYear:parseInt(o[0],10),maxYear:parseInt(n[0],10)}}},{key:\"isLeapYear\",value:function(t){return t%4==0&&t%100!=0||t%400==0}},{key:\"calculcateLastDaysOfMonth\",value:function(t,e,i){return this.determineDaysOfMonths(t,e)-i}},{key:\"determineDaysOfYear\",value:function(t){var e=365;return this.isLeapYear(t)&&(e=366),e}},{key:\"determineRemainingDaysOfYear\",value:function(t,e,i){var a=this.daysCntOfYear[e]+i;return e>1&&this.isLeapYear()&&a++,a}},{key:\"determineDaysOfMonths\",value:function(t,e){var i=30;switch(t=b.monthMod(t),!0){case this.months30.indexOf(t)>-1:2===t&&(i=this.isLeapYear(e)?29:28);break;case this.months31.indexOf(t)>-1:default:i=31}return i}}]),t}(),T=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.tooltipKeyFormat=\"dd MMM\"}return r(t,[{key:\"xLabelFormat\",value:function(t,e,i,a){var s=this.w;if(\"datetime\"===s.config.xaxis.type&&void 0===s.config.xaxis.labels.formatter&&void 0===s.config.tooltip.x.formatter){var r=new I(this.ctx);return r.formatDate(r.getDate(e),s.config.tooltip.x.format)}return t(e,i,a)}},{key:\"defaultGeneralFormatter\",value:function(t){return Array.isArray(t)?t.map((function(t){return t})):t}},{key:\"defaultYFormatter\",value:function(t,e,i){var a=this.w;return b.isNumber(t)&&(t=0!==a.globals.yValueDecimal?t.toFixed(void 0!==e.decimalsInFloat?e.decimalsInFloat:a.globals.yValueDecimal):a.globals.maxYArr[i]-a.globals.minYArr[i]<5?t.toFixed(1):t.toFixed(0)),t}},{key:\"setLabelFormatters\",value:function(){var t=this,e=this.w;return e.globals.xaxisTooltipFormatter=function(e){return t.defaultGeneralFormatter(e)},e.globals.ttKeyFormatter=function(e){return t.defaultGeneralFormatter(e)},e.globals.ttZFormatter=function(t){return t},e.globals.legendFormatter=function(e){return t.defaultGeneralFormatter(e)},void 0!==e.config.xaxis.labels.formatter?e.globals.xLabelFormatter=e.config.xaxis.labels.formatter:e.globals.xLabelFormatter=function(t){if(b.isNumber(t)){if(!e.config.xaxis.convertedCatToNumeric&&\"numeric\"===e.config.xaxis.type){if(b.isNumber(e.config.xaxis.decimalsInFloat))return t.toFixed(e.config.xaxis.decimalsInFloat);var i=e.globals.maxX-e.globals.minX;return i>0&&i<100?t.toFixed(1):t.toFixed(0)}if(e.globals.isBarHorizontal)if(e.globals.maxY-e.globals.minYArr<4)return t.toFixed(1);return t.toFixed(0)}return t},\"function\"==typeof e.config.tooltip.x.formatter?e.globals.ttKeyFormatter=e.config.tooltip.x.formatter:e.globals.ttKeyFormatter=e.globals.xLabelFormatter,\"function\"==typeof e.config.xaxis.tooltip.formatter&&(e.globals.xaxisTooltipFormatter=e.config.xaxis.tooltip.formatter),(Array.isArray(e.config.tooltip.y)||void 0!==e.config.tooltip.y.formatter)&&(e.globals.ttVal=e.config.tooltip.y),void 0!==e.config.tooltip.z.formatter&&(e.globals.ttZFormatter=e.config.tooltip.z.formatter),void 0!==e.config.legend.formatter&&(e.globals.legendFormatter=e.config.legend.formatter),e.config.yaxis.forEach((function(i,a){void 0!==i.labels.formatter?e.globals.yLabelFormatters[a]=i.labels.formatter:e.globals.yLabelFormatters[a]=function(s){return e.globals.xyCharts?Array.isArray(s)?s.map((function(e){return t.defaultYFormatter(e,i,a)})):t.defaultYFormatter(s,i,a):s}})),e.globals}},{key:\"heatmapLabelFormatters\",value:function(){var t=this.w;if(\"heatmap\"===t.config.chart.type){t.globals.yAxisScale[0].result=t.globals.seriesNames.slice();var e=t.globals.seriesNames.reduce((function(t,e){return t.length>e.length?t:e}),0);t.globals.yAxisScale[0].niceMax=e,t.globals.yAxisScale[0].niceMin=e}}}]),t}(),z=function(t){var e,i=t.isTimeline,a=t.ctx,s=t.seriesIndex,r=t.dataPointIndex,o=t.y1,n=t.y2,l=t.w,h=l.globals.seriesRangeStart[s][r],c=l.globals.seriesRangeEnd[s][r],d=l.globals.labels[r],g=l.config.series[s].name?l.config.series[s].name:\"\",u=l.globals.ttKeyFormatter,p=l.config.tooltip.y.title.formatter,f={w:l,seriesIndex:s,dataPointIndex:r,start:h,end:c};(\"function\"==typeof p&&(g=p(g,f)),null!==(e=l.config.series[s].data[r])&&void 0!==e&&e.x&&(d=l.config.series[s].data[r].x),i)||\"datetime\"===l.config.xaxis.type&&(d=new T(a).xLabelFormat(l.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new I(a).formatDate,w:l}));\"function\"==typeof u&&(d=u(d,f)),Number.isFinite(o)&&Number.isFinite(n)&&(h=o,c=n);var x=\"\",b=\"\",v=l.globals.colors[s];if(void 0===l.config.tooltip.x.formatter)if(\"datetime\"===l.config.xaxis.type){var m=new I(a);x=m.formatDate(m.getDate(h),l.config.tooltip.x.format),b=m.formatDate(m.getDate(c),l.config.tooltip.x.format)}else x=h,b=c;else x=l.config.tooltip.x.formatter(h),b=l.config.tooltip.x.formatter(c);return{start:h,end:c,startVal:x,endVal:b,ylabel:d,color:v,seriesName:g}},X=function(t){var e=t.color,i=t.seriesName,a=t.ylabel,s=t.start,r=t.end,o=t.seriesIndex,n=t.dataPointIndex,l=t.ctx.tooltip.tooltipLabels.getFormatters(o);s=l.yLbFormatter(s),r=l.yLbFormatter(r);var h=l.yLbFormatter(t.w.globals.series[o][n]),c='\\n '.concat(s,'\\n - \\n ').concat(r,\"\\n \");return'
'+(i||\"\")+'
'+a+\": \"+(t.w.globals.comboCharts?\"rangeArea\"===t.w.config.series[o].type||\"rangeBar\"===t.w.config.series[o].type?c:\"\".concat(h,\"\"):c)+\"
\"},E=function(){function t(e){a(this,t),this.opts=e}return r(t,[{key:\"hideYAxis\",value:function(){this.opts.yaxis[0].show=!1,this.opts.yaxis[0].title.text=\"\",this.opts.yaxis[0].axisBorder.show=!1,this.opts.yaxis[0].axisTicks.show=!1,this.opts.yaxis[0].floating=!0}},{key:\"line\",value:function(){return{chart:{animations:{easing:\"swing\"}},dataLabels:{enabled:!1},stroke:{width:5,curve:\"straight\"},markers:{size:0,hover:{sizeOffset:6}},xaxis:{crosshairs:{width:1}}}}},{key:\"sparkline\",value:function(t){this.hideYAxis();return b.extend(t,{grid:{show:!1,padding:{left:0,right:0,top:0,bottom:0}},legend:{show:!1},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}},chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1}})}},{key:\"bar\",value:function(){return{chart:{stacked:!1,animations:{easing:\"swing\"}},plotOptions:{bar:{dataLabels:{position:\"center\"}}},dataLabels:{style:{colors:[\"#fff\"]},background:{enabled:!1}},stroke:{width:0,lineCap:\"round\"},fill:{opacity:.85},legend:{markers:{shape:\"square\",radius:2,size:8}},tooltip:{shared:!1,intersect:!0},xaxis:{tooltip:{enabled:!1},tickPlacement:\"between\",crosshairs:{width:\"barWidth\",position:\"back\",fill:{type:\"gradient\"},dropShadow:{enabled:!1},stroke:{width:0}}}}}},{key:\"funnel\",value:function(){return this.hideYAxis(),e(e({},this.bar()),{},{chart:{animations:{easing:\"linear\",speed:800,animateGradually:{enabled:!1}}},plotOptions:{bar:{horizontal:!0,borderRadiusApplication:\"around\",borderRadius:0,dataLabels:{position:\"center\"}}},grid:{show:!1,padding:{left:0,right:0}},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}}})}},{key:\"candlestick\",value:function(){var t=this;return{stroke:{width:1,colors:[\"#333\"]},fill:{opacity:1},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,[\"Open\",\"High\",\"\",\"Low\",\"Close\"],\"candlestick\")}},states:{active:{filter:{type:\"none\"}}},xaxis:{crosshairs:{width:1}}}}},{key:\"boxPlot\",value:function(){var t=this;return{chart:{animations:{dynamicAnimation:{enabled:!1}}},stroke:{width:1,colors:[\"#24292e\"]},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,[\"Minimum\",\"Q1\",\"Median\",\"Q3\",\"Maximum\"],\"boxPlot\")}},markers:{size:5,strokeWidth:1,strokeColors:\"#111\"},xaxis:{crosshairs:{width:1}}}}},{key:\"rangeBar\",value:function(){return{chart:{animations:{animateGradually:!1}},stroke:{width:0,lineCap:\"square\"},plotOptions:{bar:{borderRadius:0,dataLabels:{position:\"center\"}}},dataLabels:{enabled:!1,formatter:function(t,e){e.ctx;var i=e.seriesIndex,a=e.dataPointIndex,s=e.w,r=function(){var t=s.globals.seriesRangeStart[i][a];return s.globals.seriesRangeEnd[i][a]-t};return s.globals.comboCharts?\"rangeBar\"===s.config.series[i].type||\"rangeArea\"===s.config.series[i].type?r():t:r()},background:{enabled:!1},style:{colors:[\"#fff\"]}},markers:{size:10},tooltip:{shared:!1,followCursor:!0,custom:function(t){return t.w.config.plotOptions&&t.w.config.plotOptions.bar&&t.w.config.plotOptions.bar.horizontal?function(t){var i=z(e(e({},t),{},{isTimeline:!0})),a=i.color,s=i.seriesName,r=i.ylabel,o=i.startVal,n=i.endVal;return X(e(e({},t),{},{color:a,seriesName:s,ylabel:r,start:o,end:n}))}(t):function(t){var i=z(t),a=i.color,s=i.seriesName,r=i.ylabel,o=i.start,n=i.end;return X(e(e({},t),{},{color:a,seriesName:s,ylabel:r,start:o,end:n}))}(t)}},xaxis:{tickPlacement:\"between\",tooltip:{enabled:!1},crosshairs:{stroke:{width:0}}}}}},{key:\"dumbbell\",value:function(t){var e,i;return null!==(e=t.plotOptions.bar)&&void 0!==e&&e.barHeight||(t.plotOptions.bar.barHeight=2),null!==(i=t.plotOptions.bar)&&void 0!==i&&i.columnWidth||(t.plotOptions.bar.columnWidth=2),t}},{key:\"area\",value:function(){return{stroke:{width:4,fill:{type:\"solid\",gradient:{inverseColors:!1,shade:\"light\",type:\"vertical\",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}}},fill:{type:\"gradient\",gradient:{inverseColors:!1,shade:\"light\",type:\"vertical\",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}},markers:{size:0,hover:{sizeOffset:6}},tooltip:{followCursor:!1}}}},{key:\"rangeArea\",value:function(){return{stroke:{curve:\"straight\",width:0},fill:{type:\"solid\",opacity:.6},markers:{size:0},states:{hover:{filter:{type:\"none\"}},active:{filter:{type:\"none\"}}},tooltip:{intersect:!1,shared:!0,followCursor:!0,custom:function(t){return function(t){var i=z(t),a=i.color,s=i.seriesName,r=i.ylabel,o=i.start,n=i.end;return X(e(e({},t),{},{color:a,seriesName:s,ylabel:r,start:o,end:n}))}(t)}}}}},{key:\"brush\",value:function(t){return b.extend(t,{chart:{toolbar:{autoSelected:\"selection\",show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1},stroke:{width:1},tooltip:{enabled:!1},xaxis:{tooltip:{enabled:!1}}})}},{key:\"stacked100\",value:function(t){t.dataLabels=t.dataLabels||{},t.dataLabels.formatter=t.dataLabels.formatter||void 0;var e=t.dataLabels.formatter;return t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})),\"bar\"===t.chart.type&&(t.dataLabels.formatter=e||function(t){return\"number\"==typeof t&&t?t.toFixed(0)+\"%\":t}),t}},{key:\"stackedBars\",value:function(){var t=this.bar();return e(e({},t),{},{plotOptions:e(e({},t.plotOptions),{},{bar:e(e({},t.plotOptions.bar),{},{borderRadiusApplication:\"end\",borderRadiusWhenStacked:\"last\"})})})}},{key:\"convertCatToNumeric\",value:function(t){return t.xaxis.convertedCatToNumeric=!0,t}},{key:\"convertCatToNumericXaxis\",value:function(t,e,i){t.xaxis.type=\"numeric\",t.xaxis.labels=t.xaxis.labels||{},t.xaxis.labels.formatter=t.xaxis.labels.formatter||function(t){return b.isNumber(t)?Math.floor(t):t};var a=t.xaxis.labels.formatter,s=t.xaxis.categories&&t.xaxis.categories.length?t.xaxis.categories:t.labels;return i&&i.length&&(s=i.map((function(t){return Array.isArray(t)?t:String(t)}))),s&&s.length&&(t.xaxis.labels.formatter=function(t){return b.isNumber(t)?a(s[Math.floor(t)-1]):a(t)}),t.xaxis.categories=[],t.labels=[],t.xaxis.tickAmount=t.xaxis.tickAmount||\"dataPoints\",t}},{key:\"bubble\",value:function(){return{dataLabels:{style:{colors:[\"#fff\"]}},tooltip:{shared:!1,intersect:!0},xaxis:{crosshairs:{width:0}},fill:{type:\"solid\",gradient:{shade:\"light\",inverse:!0,shadeIntensity:.55,opacityFrom:.4,opacityTo:.8}}}}},{key:\"scatter\",value:function(){return{dataLabels:{enabled:!1},tooltip:{shared:!1,intersect:!0},markers:{size:6,strokeWidth:1,hover:{sizeOffset:2}}}}},{key:\"heatmap\",value:function(){return{chart:{stacked:!1},fill:{opacity:1},dataLabels:{style:{colors:[\"#fff\"]}},stroke:{colors:[\"#fff\"]},tooltip:{followCursor:!0,marker:{show:!1},x:{show:!1}},legend:{position:\"top\",markers:{shape:\"square\",size:10,offsetY:2}},grid:{padding:{right:20}}}}},{key:\"treemap\",value:function(){return{chart:{zoom:{enabled:!1}},dataLabels:{style:{fontSize:14,fontWeight:600,colors:[\"#fff\"]}},stroke:{show:!0,width:2,colors:[\"#fff\"]},legend:{show:!1},fill:{gradient:{stops:[0,100]}},tooltip:{followCursor:!0,x:{show:!1}},grid:{padding:{left:0,right:0}},xaxis:{crosshairs:{show:!1},tooltip:{enabled:!1}}}}},{key:\"pie\",value:function(){return{chart:{toolbar:{show:!1}},plotOptions:{pie:{donut:{labels:{show:!1}}}},dataLabels:{formatter:function(t){return t.toFixed(1)+\"%\"},style:{colors:[\"#fff\"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:[\"#fff\"]},fill:{opacity:1,gradient:{shade:\"light\",stops:[0,100]}},tooltip:{theme:\"dark\",fillSeriesColor:!0},legend:{position:\"right\"}}}},{key:\"donut\",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+\"%\"},style:{colors:[\"#fff\"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:[\"#fff\"]},fill:{opacity:1,gradient:{shade:\"light\",shadeIntensity:.35,stops:[80,100],opacityFrom:1,opacityTo:1}},tooltip:{theme:\"dark\",fillSeriesColor:!0},legend:{position:\"right\"}}}},{key:\"polarArea\",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+\"%\"},enabled:!1},stroke:{show:!0,width:2},fill:{opacity:.7},tooltip:{theme:\"dark\",fillSeriesColor:!0},legend:{position:\"right\"}}}},{key:\"radar\",value:function(){return this.opts.yaxis[0].labels.offsetY=this.opts.yaxis[0].labels.offsetY?this.opts.yaxis[0].labels.offsetY:6,{dataLabels:{enabled:!1,style:{fontSize:\"11px\"}},stroke:{width:2},markers:{size:3,strokeWidth:1,strokeOpacity:1},fill:{opacity:.2},tooltip:{shared:!1,intersect:!0,followCursor:!0},grid:{show:!1},xaxis:{labels:{formatter:function(t){return t},style:{colors:[\"#a8a8a8\"],fontSize:\"11px\"}},tooltip:{enabled:!1},crosshairs:{show:!1}}}}},{key:\"radialBar\",value:function(){return{chart:{animations:{dynamicAnimation:{enabled:!0,speed:800}},toolbar:{show:!1}},fill:{gradient:{shade:\"dark\",shadeIntensity:.4,inverseColors:!1,type:\"diagonal2\",opacityFrom:1,opacityTo:1,stops:[70,98,100]}},legend:{show:!1,position:\"right\"},tooltip:{enabled:!1,fillSeriesColor:!0}}}},{key:\"_getBoxTooltip\",value:function(t,e,i,a,s){var r=t.globals.seriesCandleO[e][i],o=t.globals.seriesCandleH[e][i],n=t.globals.seriesCandleM[e][i],l=t.globals.seriesCandleL[e][i],h=t.globals.seriesCandleC[e][i];return t.config.series[e].type&&t.config.series[e].type!==s?'
\\n '.concat(t.config.series[e].name?t.config.series[e].name:\"series-\"+(e+1),\": \").concat(t.globals.series[e][i],\"\\n
\"):'
')+\"
\".concat(a[0],': ')+r+\"
\"+\"
\".concat(a[1],': ')+o+\"
\"+(n?\"
\".concat(a[2],': ')+n+\"
\":\"\")+\"
\".concat(a[3],': ')+l+\"
\"+\"
\".concat(a[4],': ')+h+\"
\"}}]),t}(),Y=function(){function t(e){a(this,t),this.opts=e}return r(t,[{key:\"init\",value:function(t){var e=t.responsiveOverride,a=this.opts,s=new P,r=new E(a);this.chartType=a.chart.type,a=this.extendYAxis(a),a=this.extendAnnotations(a);var o=s.init(),n={};if(a&&\"object\"===i(a)){var l,h,c,d,g,u,p,f,x={};x=-1!==[\"line\",\"area\",\"bar\",\"candlestick\",\"boxPlot\",\"rangeBar\",\"rangeArea\",\"bubble\",\"scatter\",\"heatmap\",\"treemap\",\"pie\",\"polarArea\",\"donut\",\"radar\",\"radialBar\"].indexOf(a.chart.type)?r[a.chart.type]():r.line(),null!==(l=a.plotOptions)&&void 0!==l&&null!==(h=l.bar)&&void 0!==h&&h.isFunnel&&(x=r.funnel()),a.chart.stacked&&\"bar\"===a.chart.type&&(x=r.stackedBars()),null!==(c=a.chart.brush)&&void 0!==c&&c.enabled&&(x=r.brush(x)),a.chart.stacked&&\"100%\"===a.chart.stackType&&(a=r.stacked100(a)),null!==(d=a.plotOptions)&&void 0!==d&&null!==(g=d.bar)&&void 0!==g&&g.isDumbbell&&(a=r.dumbbell(a)),this.checkForDarkTheme(window.Apex),this.checkForDarkTheme(a),a.xaxis=a.xaxis||window.Apex.xaxis||{},e||(a.xaxis.convertedCatToNumeric=!1),(null!==(u=(a=this.checkForCatToNumericXAxis(this.chartType,x,a)).chart.sparkline)&&void 0!==u&&u.enabled||null!==(p=window.Apex.chart)&&void 0!==p&&null!==(f=p.sparkline)&&void 0!==f&&f.enabled)&&(x=r.sparkline(x)),n=b.extend(o,x)}var v=b.extend(n,window.Apex);return o=b.extend(v,a),o=this.handleUserInputErrors(o)}},{key:\"checkForCatToNumericXAxis\",value:function(t,e,i){var a,s,r=new E(i),o=(\"bar\"===t||\"boxPlot\"===t)&&(null===(a=i.plotOptions)||void 0===a||null===(s=a.bar)||void 0===s?void 0:s.horizontal),n=\"pie\"===t||\"polarArea\"===t||\"donut\"===t||\"radar\"===t||\"radialBar\"===t||\"heatmap\"===t,l=\"datetime\"!==i.xaxis.type&&\"numeric\"!==i.xaxis.type,h=i.xaxis.tickPlacement?i.xaxis.tickPlacement:e.xaxis&&e.xaxis.tickPlacement;return o||n||!l||\"between\"===h||(i=r.convertCatToNumeric(i)),i}},{key:\"extendYAxis\",value:function(t,e){var i=new P;(void 0===t.yaxis||!t.yaxis||Array.isArray(t.yaxis)&&0===t.yaxis.length)&&(t.yaxis={}),t.yaxis.constructor!==Array&&window.Apex.yaxis&&window.Apex.yaxis.constructor!==Array&&(t.yaxis=b.extend(t.yaxis,window.Apex.yaxis)),t.yaxis.constructor!==Array?t.yaxis=[b.extend(i.yAxis,t.yaxis)]:t.yaxis=b.extendArray(t.yaxis,i.yAxis);var a=!1;t.yaxis.forEach((function(t){t.logarithmic&&(a=!0)}));var s=t.series;return e&&!s&&(s=e.config.series),a&&s.length!==t.yaxis.length&&s.length&&(t.yaxis=s.map((function(e,a){if(e.name||(s[a].name=\"series-\".concat(a+1)),t.yaxis[a])return t.yaxis[a].seriesName=s[a].name,t.yaxis[a];var r=b.extend(i.yAxis,t.yaxis[0]);return r.show=!1,r}))),a&&s.length>1&&s.length!==t.yaxis.length&&console.warn(\"A multi-series logarithmic chart should have equal number of series and y-axes\"),t}},{key:\"extendAnnotations\",value:function(t){return void 0===t.annotations&&(t.annotations={},t.annotations.yaxis=[],t.annotations.xaxis=[],t.annotations.points=[]),t=this.extendYAxisAnnotations(t),t=this.extendXAxisAnnotations(t),t=this.extendPointAnnotations(t)}},{key:\"extendYAxisAnnotations\",value:function(t){var e=new P;return t.annotations.yaxis=b.extendArray(void 0!==t.annotations.yaxis?t.annotations.yaxis:[],e.yAxisAnnotation),t}},{key:\"extendXAxisAnnotations\",value:function(t){var e=new P;return t.annotations.xaxis=b.extendArray(void 0!==t.annotations.xaxis?t.annotations.xaxis:[],e.xAxisAnnotation),t}},{key:\"extendPointAnnotations\",value:function(t){var e=new P;return t.annotations.points=b.extendArray(void 0!==t.annotations.points?t.annotations.points:[],e.pointAnnotation),t}},{key:\"checkForDarkTheme\",value:function(t){t.theme&&\"dark\"===t.theme.mode&&(t.tooltip||(t.tooltip={}),\"light\"!==t.tooltip.theme&&(t.tooltip.theme=\"dark\"),t.chart.foreColor||(t.chart.foreColor=\"#f6f7f8\"),t.chart.background||(t.chart.background=\"#424242\"),t.theme.palette||(t.theme.palette=\"palette4\"))}},{key:\"handleUserInputErrors\",value:function(t){var e=t;if(e.tooltip.shared&&e.tooltip.intersect)throw new Error(\"tooltip.shared cannot be enabled when tooltip.intersect is true. Turn off any other option by setting it to false.\");if(\"bar\"===e.chart.type&&e.plotOptions.bar.horizontal){if(e.yaxis.length>1)throw new Error(\"Multiple Y Axis for bars are not supported. Switch to column chart by setting plotOptions.bar.horizontal=false\");e.yaxis[0].reversed&&(e.yaxis[0].opposite=!0),e.xaxis.tooltip.enabled=!1,e.yaxis[0].tooltip.enabled=!1,e.chart.zoom.enabled=!1}return\"bar\"!==e.chart.type&&\"rangeBar\"!==e.chart.type||e.tooltip.shared&&\"barWidth\"===e.xaxis.crosshairs.width&&e.series.length>1&&(e.xaxis.crosshairs.width=\"tickWidth\"),\"candlestick\"!==e.chart.type&&\"boxPlot\"!==e.chart.type||e.yaxis[0].reversed&&(console.warn(\"Reversed y-axis in \".concat(e.chart.type,\" chart is not supported.\")),e.yaxis[0].reversed=!1),e}}]),t}(),F=function(){function t(){a(this,t)}return r(t,[{key:\"initGlobalVars\",value:function(t){t.series=[],t.seriesCandleO=[],t.seriesCandleH=[],t.seriesCandleM=[],t.seriesCandleL=[],t.seriesCandleC=[],t.seriesRangeStart=[],t.seriesRangeEnd=[],t.seriesRange=[],t.seriesPercent=[],t.seriesGoals=[],t.seriesX=[],t.seriesZ=[],t.seriesNames=[],t.seriesTotals=[],t.seriesLog=[],t.seriesColors=[],t.stackedSeriesTotals=[],t.seriesXvalues=[],t.seriesYvalues=[],t.labels=[],t.hasXaxisGroups=!1,t.groups=[],t.hasSeriesGroups=!1,t.seriesGroups=[],t.categoryLabels=[],t.timescaleLabels=[],t.noLabelsProvided=!1,t.resizeTimer=null,t.selectionResizeTimer=null,t.delayedElements=[],t.pointsArray=[],t.dataLabelsRects=[],t.isXNumeric=!1,t.skipLastTimelinelabel=!1,t.skipFirstTimelinelabel=!1,t.isDataXYZ=!1,t.isMultiLineX=!1,t.isMultipleYAxis=!1,t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE,t.minYArr=[],t.maxYArr=[],t.maxX=-Number.MAX_VALUE,t.minX=Number.MAX_VALUE,t.initialMaxX=-Number.MAX_VALUE,t.initialMinX=Number.MAX_VALUE,t.maxDate=0,t.minDate=Number.MAX_VALUE,t.minZ=Number.MAX_VALUE,t.maxZ=-Number.MAX_VALUE,t.minXDiff=Number.MAX_VALUE,t.yAxisScale=[],t.xAxisScale=null,t.xAxisTicksPositions=[],t.yLabelsCoords=[],t.yTitleCoords=[],t.barPadForNumericAxis=0,t.padHorizontal=0,t.xRange=0,t.yRange=[],t.zRange=0,t.dataPoints=0,t.xTickAmount=0,t.multiAxisTickAmount=0}},{key:\"globalVars\",value:function(t){return{chartID:null,cuid:null,events:{beforeMount:[],mounted:[],updated:[],clicked:[],selection:[],dataPointSelection:[],zoomed:[],scrolled:[]},colors:[],clientX:null,clientY:null,fill:{colors:[]},stroke:{colors:[]},dataLabels:{style:{colors:[]}},radarPolygons:{fill:{colors:[]}},markers:{colors:[],size:t.markers.size,largestSize:0},animationEnded:!1,isTouchDevice:\"ontouchstart\"in window||navigator.msMaxTouchPoints,isDirty:!1,isExecCalled:!1,initialConfig:null,initialSeries:[],lastXAxis:[],lastYAxis:[],columnSeries:null,labels:[],timescaleLabels:[],noLabelsProvided:!1,allSeriesCollapsed:!1,collapsedSeries:[],collapsedSeriesIndices:[],ancillaryCollapsedSeries:[],ancillaryCollapsedSeriesIndices:[],risingSeries:[],dataFormatXNumeric:!1,capturedSeriesIndex:-1,capturedDataPointIndex:-1,selectedDataPoints:[],goldenPadding:35,invalidLogScale:!1,ignoreYAxisIndexes:[],maxValsInArrayIndex:0,radialSize:0,selection:void 0,zoomEnabled:\"zoom\"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.zoom&&t.chart.zoom.enabled,panEnabled:\"pan\"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.pan,selectionEnabled:\"selection\"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.selection,yaxis:null,mousedown:!1,lastClientPosition:{},visibleXRange:void 0,yValueDecimal:0,total:0,SVGNS:\"http://www.w3.org/2000/svg\",svgWidth:0,svgHeight:0,noData:!1,locale:{},dom:{},memory:{methodsToExec:[]},shouldAnimate:!0,skipLastTimelinelabel:!1,skipFirstTimelinelabel:!1,delayedElements:[],axisCharts:!0,isDataXYZ:!1,resized:!1,resizeTimer:null,comboCharts:!1,dataChanged:!1,previousPaths:[],allSeriesHasEqualX:!0,pointsArray:[],dataLabelsRects:[],lastDrawnDataLabelsIndexes:[],hasNullValues:!1,easing:null,zoomed:!1,gridWidth:0,gridHeight:0,rotateXLabels:!1,defaultLabels:!1,xLabelFormatter:void 0,yLabelFormatters:[],xaxisTooltipFormatter:void 0,ttKeyFormatter:void 0,ttVal:void 0,ttZFormatter:void 0,LINE_HEIGHT_RATIO:1.618,xAxisLabelsHeight:0,xAxisGroupLabelsHeight:0,xAxisLabelsWidth:0,yAxisLabelsWidth:0,scaleX:1,scaleY:1,translateX:0,translateY:0,translateYAxisX:[],yAxisWidths:[],translateXAxisY:0,translateXAxisX:0,tooltip:null,niceScaleAllowedMagMsd:[[1,1,2,5,5,5,10,10,10,10,10],[1,1,2,5,5,5,10,10,10,10,10]],niceScaleDefaultTicks:[1,2,4,4,6,6,6,6,6,6,6,6,6,6,6,6,6,6,12,12,12,12,12,12,12,12,12,24],seriesYAxisMap:[],seriesYAxisReverseMap:[]}}},{key:\"init\",value:function(t){var e=this.globalVars(t);return this.initGlobalVars(e),e.initialConfig=b.extend({},t),e.initialSeries=b.clone(t.series),e.lastXAxis=b.clone(e.initialConfig.xaxis),e.lastYAxis=b.clone(e.initialConfig.yaxis),e}}]),t}(),R=function(){function t(e){a(this,t),this.opts=e}return r(t,[{key:\"init\",value:function(){var t=new Y(this.opts).init({responsiveOverride:!1});return{config:t,globals:(new F).init(t)}}}]),t}(),H=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.opts=null,this.seriesIndex=0}return r(t,[{key:\"clippedImgArea\",value:function(t){var e=this.w,i=e.config,a=parseInt(e.globals.gridWidth,10),s=parseInt(e.globals.gridHeight,10),r=a>s?a:s,o=t.image,n=0,l=0;void 0===t.width&&void 0===t.height?void 0!==i.fill.image.width&&void 0!==i.fill.image.height?(n=i.fill.image.width+1,l=i.fill.image.height):(n=r+1,l=r):(n=t.width,l=t.height);var h=document.createElementNS(e.globals.SVGNS,\"pattern\");y.setAttrs(h,{id:t.patternID,patternUnits:t.patternUnits?t.patternUnits:\"userSpaceOnUse\",width:n+\"px\",height:l+\"px\"});var c=document.createElementNS(e.globals.SVGNS,\"image\");h.appendChild(c),c.setAttributeNS(window.SVG.xlink,\"href\",o),y.setAttrs(c,{x:0,y:0,preserveAspectRatio:\"none\",width:n+\"px\",height:l+\"px\"}),c.style.opacity=t.opacity,e.globals.dom.elDefs.node.appendChild(h)}},{key:\"getSeriesIndex\",value:function(t){var e=this.w,i=e.config.chart.type;return(\"bar\"===i||\"rangeBar\"===i)&&e.config.plotOptions.bar.distributed||\"heatmap\"===i||\"treemap\"===i?this.seriesIndex=t.seriesNumber:this.seriesIndex=t.seriesNumber%e.globals.series.length,this.seriesIndex}},{key:\"fillPath\",value:function(t){var e=this.w;this.opts=t;var i,a,s,r=this.w.config;this.seriesIndex=this.getSeriesIndex(t);var o=this.getFillColors()[this.seriesIndex];void 0!==e.globals.seriesColors[this.seriesIndex]&&(o=e.globals.seriesColors[this.seriesIndex]),\"function\"==typeof o&&(o=o({seriesIndex:this.seriesIndex,dataPointIndex:t.dataPointIndex,value:t.value,w:e}));var n=t.fillType?t.fillType:this.getFillType(this.seriesIndex),l=Array.isArray(r.fill.opacity)?r.fill.opacity[this.seriesIndex]:r.fill.opacity;t.color&&(o=t.color),o||(o=\"#fff\",console.warn(\"undefined color - ApexCharts\"));var h=o;if(-1===o.indexOf(\"rgb\")?o.length<9&&(h=b.hexToRgba(o,l)):o.indexOf(\"rgba\")>-1&&(l=b.getOpacityFromRGBA(o)),t.opacity&&(l=t.opacity),\"pattern\"===n&&(a=this.handlePatternFill({fillConfig:t.fillConfig,patternFill:a,fillColor:o,fillOpacity:l,defaultColor:h})),\"gradient\"===n&&(s=this.handleGradientFill({fillConfig:t.fillConfig,fillColor:o,fillOpacity:l,i:this.seriesIndex})),\"image\"===n){var c=r.fill.image.src,d=t.patternID?t.patternID:\"\";this.clippedImgArea({opacity:l,image:Array.isArray(c)?t.seriesNumber-1&&(u=b.getOpacityFromRGBA(g));var p=void 0===o.gradient.opacityTo?a:Array.isArray(o.gradient.opacityTo)?o.gradient.opacityTo[r]:o.gradient.opacityTo;if(void 0===o.gradient.gradientToColors||0===o.gradient.gradientToColors.length)n=\"dark\"===o.gradient.shade?c.shadeColor(-1*parseFloat(o.gradient.shadeIntensity),i.indexOf(\"rgb\")>-1?b.rgb2hex(i):i):c.shadeColor(parseFloat(o.gradient.shadeIntensity),i.indexOf(\"rgb\")>-1?b.rgb2hex(i):i);else if(o.gradient.gradientToColors[l.seriesNumber]){var f=o.gradient.gradientToColors[l.seriesNumber];n=f,f.indexOf(\"rgba\")>-1&&(p=b.getOpacityFromRGBA(f))}else n=i;if(o.gradient.gradientFrom&&(g=o.gradient.gradientFrom),o.gradient.gradientTo&&(n=o.gradient.gradientTo),o.gradient.inverseColors){var x=g;g=n,n=x}return g.indexOf(\"rgb\")>-1&&(g=b.rgb2hex(g)),n.indexOf(\"rgb\")>-1&&(n=b.rgb2hex(n)),h.drawGradient(d,g,n,u,p,l.size,o.gradient.stops,o.gradient.colorStops,r)}}]),t}(),D=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"setGlobalMarkerSize\",value:function(){var t=this.w;if(t.globals.markers.size=Array.isArray(t.config.markers.size)?t.config.markers.size:[t.config.markers.size],t.globals.markers.size.length>0){if(t.globals.markers.size.length4&&void 0!==arguments[4]&&arguments[4],o=this.w,n=e,l=t,h=null,c=new y(this.ctx),d=o.config.markers.discrete&&o.config.markers.discrete.length;if((o.globals.markers.size[e]>0||r||d)&&(h=c.group({class:r||d?\"\":\"apexcharts-series-markers\"})).attr(\"clip-path\",\"url(#gridRectMarkerMask\".concat(o.globals.cuid,\")\")),Array.isArray(l.x))for(var g=0;g0:o.config.markers.size>0)||r||d){b.isNumber(l.y[g])?p+=\" w\".concat(b.randomId()):p=\"apexcharts-nullpoint\";var f=this.getMarkerConfig({cssClass:p,seriesIndex:e,dataPointIndex:u});o.config.series[n].data[u]&&(o.config.series[n].data[u].fillColor&&(f.pointFillColor=o.config.series[n].data[u].fillColor),o.config.series[n].data[u].strokeColor&&(f.pointStrokeColor=o.config.series[n].data[u].strokeColor)),a&&(f.pSize=a),(l.x[g]<0||l.x[g]>o.globals.gridWidth||l.y[g]<-o.globals.markers.largestSize||l.y[g]>o.globals.gridHeight+o.globals.markers.largestSize)&&(f.pSize=0),(s=c.drawMarker(l.x[g],l.y[g],f)).attr(\"rel\",u),s.attr(\"j\",u),s.attr(\"index\",e),s.node.setAttribute(\"default-marker-size\",f.pSize),new m(this.ctx).setSelectionFilter(s,e,u),this.addEvents(s),h&&h.add(s)}else void 0===o.globals.pointsArray[e]&&(o.globals.pointsArray[e]=[]),o.globals.pointsArray[e].push([l.x[g],l.y[g]])}return h}},{key:\"getMarkerConfig\",value:function(t){var e=t.cssClass,i=t.seriesIndex,a=t.dataPointIndex,s=void 0===a?null:a,r=t.finishRadius,o=void 0===r?null:r,n=this.w,l=this.getMarkerStyle(i),h=n.globals.markers.size[i],c=n.config.markers;return null!==s&&c.discrete.length&&c.discrete.map((function(t){t.seriesIndex===i&&t.dataPointIndex===s&&(l.pointStrokeColor=t.strokeColor,l.pointFillColor=t.fillColor,h=t.size,l.pointShape=t.shape)})),{pSize:null===o?h:o,pRadius:c.radius,width:Array.isArray(c.width)?c.width[i]:c.width,height:Array.isArray(c.height)?c.height[i]:c.height,pointStrokeWidth:Array.isArray(c.strokeWidth)?c.strokeWidth[i]:c.strokeWidth,pointStrokeColor:l.pointStrokeColor,pointFillColor:l.pointFillColor,shape:l.pointShape||(Array.isArray(c.shape)?c.shape[i]:c.shape),class:e,pointStrokeOpacity:Array.isArray(c.strokeOpacity)?c.strokeOpacity[i]:c.strokeOpacity,pointStrokeDashArray:Array.isArray(c.strokeDashArray)?c.strokeDashArray[i]:c.strokeDashArray,pointFillOpacity:Array.isArray(c.fillOpacity)?c.fillOpacity[i]:c.fillOpacity,seriesIndex:i}}},{key:\"addEvents\",value:function(t){var e=this.w,i=new y(this.ctx);t.node.addEventListener(\"mouseenter\",i.pathMouseEnter.bind(this.ctx,t)),t.node.addEventListener(\"mouseleave\",i.pathMouseLeave.bind(this.ctx,t)),t.node.addEventListener(\"mousedown\",i.pathMouseDown.bind(this.ctx,t)),t.node.addEventListener(\"click\",e.config.markers.onClick),t.node.addEventListener(\"dblclick\",e.config.markers.onDblClick),t.node.addEventListener(\"touchstart\",i.pathMouseDown.bind(this.ctx,t),{passive:!0})}},{key:\"getMarkerStyle\",value:function(t){var e=this.w,i=e.globals.markers.colors,a=e.config.markers.strokeColor||e.config.markers.strokeColors;return{pointStrokeColor:Array.isArray(a)?a[t]:a,pointFillColor:Array.isArray(i)?i[t]:i}}}]),t}(),O=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled}return r(t,[{key:\"draw\",value:function(t,e,i){var a=this.w,s=new y(this.ctx),r=i.realIndex,o=i.pointsPos,n=i.zRatio,l=i.elParent,h=s.group({class:\"apexcharts-series-markers apexcharts-series-\".concat(a.config.chart.type)});if(h.attr(\"clip-path\",\"url(#gridRectMarkerMask\".concat(a.globals.cuid,\")\")),Array.isArray(o.x))for(var c=0;cf.maxBubbleRadius&&(p=f.maxBubbleRadius)}a.config.chart.animations.enabled||(u=p);var x=o.x[c],b=o.y[c];if(u=u||0,null!==b&&void 0!==a.globals.series[r][d]||(g=!1),g){var v=this.drawPoint(x,b,u,p,r,d,e);h.add(v)}l.add(h)}}},{key:\"drawPoint\",value:function(t,e,i,a,s,r,o){var n=this.w,l=s,h=new v(this.ctx),c=new m(this.ctx),d=new H(this.ctx),g=new D(this.ctx),u=new y(this.ctx),p=g.getMarkerConfig({cssClass:\"apexcharts-marker\",seriesIndex:l,dataPointIndex:r,finishRadius:\"bubble\"===n.config.chart.type||n.globals.comboCharts&&n.config.series[s]&&\"bubble\"===n.config.series[s].type?a:null});a=p.pSize;var f,x=d.fillPath({seriesNumber:s,dataPointIndex:r,color:p.pointFillColor,patternUnits:\"objectBoundingBox\",value:n.globals.series[s][o]});if(\"circle\"===p.shape?f=u.drawCircle(i):\"square\"!==p.shape&&\"rect\"!==p.shape||(f=u.drawRect(0,0,p.width-p.pointStrokeWidth/2,p.height-p.pointStrokeWidth/2,p.pRadius)),n.config.series[l].data[r]&&n.config.series[l].data[r].fillColor&&(x=n.config.series[l].data[r].fillColor),f.attr({x:t-p.width/2-p.pointStrokeWidth/2,y:e-p.height/2-p.pointStrokeWidth/2,cx:t,cy:e,fill:x,\"fill-opacity\":p.pointFillOpacity,stroke:p.pointStrokeColor,r:a,\"stroke-width\":p.pointStrokeWidth,\"stroke-dasharray\":p.pointStrokeDashArray,\"stroke-opacity\":p.pointStrokeOpacity}),n.config.chart.dropShadow.enabled){var b=n.config.chart.dropShadow;c.dropShadow(f,b,s)}if(!this.initialAnim||n.globals.dataChanged||n.globals.resized)n.globals.animationEnded=!0;else{var w=n.config.chart.animations.speed;h.animateMarker(f,0,\"circle\"===p.shape?a:{width:p.width,height:p.height},w,n.globals.easing,(function(){window.setTimeout((function(){h.animationCompleted(f)}),100)}))}if(n.globals.dataChanged&&\"circle\"===p.shape)if(this.dynamicAnim){var k,A,S,C,L=n.config.chart.animations.dynamicAnimation.speed;null!=(C=n.globals.previousPaths[s]&&n.globals.previousPaths[s][o])&&(k=C.x,A=C.y,S=void 0!==C.r?C.r:a);for(var P=0;Pn.globals.gridHeight+d&&(e=n.globals.gridHeight+d/2),void 0===n.globals.dataLabelsRects[a]&&(n.globals.dataLabelsRects[a]=[]),n.globals.dataLabelsRects[a].push({x:t,y:e,width:c,height:d});var g=n.globals.dataLabelsRects[a].length-2,u=void 0!==n.globals.lastDrawnDataLabelsIndexes[a]?n.globals.lastDrawnDataLabelsIndexes[a][n.globals.lastDrawnDataLabelsIndexes[a].length-1]:0;if(void 0!==n.globals.dataLabelsRects[a][g]){var p=n.globals.dataLabelsRects[a][u];(t>p.x+p.width||e>p.y+p.height||e+de.globals.gridWidth+f.textRects.width+30)&&(n=\"\");var x=e.globals.dataLabels.style.colors[r];((\"bar\"===e.config.chart.type||\"rangeBar\"===e.config.chart.type)&&e.config.plotOptions.bar.distributed||e.config.dataLabels.distributed)&&(x=e.globals.dataLabels.style.colors[o]),\"function\"==typeof x&&(x=x({series:e.globals.series,seriesIndex:r,dataPointIndex:o,w:e})),g&&(x=g);var b=d.offsetX,v=d.offsetY;if(\"bar\"!==e.config.chart.type&&\"rangeBar\"!==e.config.chart.type||(b=0,v=0),f.drawnextLabel){var w=i.drawText({width:100,height:parseInt(d.style.fontSize,10),x:a+b,y:s+v,foreColor:x,textAnchor:l||d.textAnchor,text:n,fontSize:h||d.style.fontSize,fontFamily:d.style.fontFamily,fontWeight:d.style.fontWeight||\"normal\"});if(w.attr({class:\"apexcharts-datalabel\",cx:a,cy:s}),d.dropShadow.enabled){var k=d.dropShadow;new m(this.ctx).dropShadow(w,k)}c.add(w),void 0===e.globals.lastDrawnDataLabelsIndexes[r]&&(e.globals.lastDrawnDataLabelsIndexes[r]=[]),e.globals.lastDrawnDataLabelsIndexes[r].push(o)}}}},{key:\"addBackgroundToDataLabel\",value:function(t,e){var i=this.w,a=i.config.dataLabels.background,s=a.padding,r=a.padding/2,o=e.width,n=e.height,l=new y(this.ctx).drawRect(e.x-s,e.y-r/2,o+2*s,n+r,a.borderRadius,\"transparent\"===i.config.chart.background?\"#fff\":i.config.chart.background,a.opacity,a.borderWidth,a.borderColor);a.dropShadow.enabled&&new m(this.ctx).dropShadow(l,a.dropShadow);return l}},{key:\"dataLabelsBackground\",value:function(){var t=this.w;if(\"bubble\"!==t.config.chart.type)for(var e=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-datalabels text\"),i=0;i0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w,s=b.clone(a.globals.initialSeries);a.globals.previousPaths=[],i?(a.globals.collapsedSeries=[],a.globals.ancillaryCollapsedSeries=[],a.globals.collapsedSeriesIndices=[],a.globals.ancillaryCollapsedSeriesIndices=[]):s=this.emptyCollapsedSeries(s),a.config.series=s,t&&(e&&(a.globals.zoomed=!1,this.ctx.updateHelpers.revertDefaultAxisMinMax()),this.ctx.updateHelpers._updateSeries(s,a.config.chart.animations.dynamicAnimation.enabled))}},{key:\"emptyCollapsedSeries\",value:function(t){for(var e=this.w,i=0;i-1&&(t[i].data=[]);return t}},{key:\"toggleSeriesOnHover\",value:function(t,e){var i=this.w;e||(e=t.target);var a=i.globals.dom.baseEl.querySelectorAll(\".apexcharts-series, .apexcharts-datalabels\");if(\"mousemove\"===t.type){var s=parseInt(e.getAttribute(\"rel\"),10)-1,r=null,o=null;i.globals.axisCharts||\"radialBar\"===i.config.chart.type?i.globals.axisCharts?(r=i.globals.dom.baseEl.querySelector(\".apexcharts-series[data\\\\:realIndex='\".concat(s,\"']\")),o=i.globals.dom.baseEl.querySelector(\".apexcharts-datalabels[data\\\\:realIndex='\".concat(s,\"']\"))):r=i.globals.dom.baseEl.querySelector(\".apexcharts-series[rel='\".concat(s+1,\"']\")):r=i.globals.dom.baseEl.querySelector(\".apexcharts-series[rel='\".concat(s+1,\"'] path\"));for(var n=0;n=t.from&&a<=t.to&&s[e].classList.remove(i.legendInactiveClass)}}(a.config.plotOptions.heatmap.colorScale.ranges[o])}else\"mouseout\"===t.type&&r(\"remove\")}},{key:\"getActiveConfigSeriesIndex\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"asc\",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=this.w,a=0;if(i.config.series.length>1)for(var s=i.config.series.map((function(t,a){return t.data&&t.data.length>0&&-1===i.globals.collapsedSeriesIndices.indexOf(a)&&(!i.globals.comboCharts||0===e.length||e.length&&e.indexOf(i.config.series[a].type)>-1)?a:-1})),r=\"asc\"===t?0:s.length-1;\"asc\"===t?r=0;\"asc\"===t?r++:r--)if(-1!==s[r]){a=s[r];break}return a}},{key:\"getBarSeriesIndices\",value:function(){return this.w.globals.comboCharts?this.w.config.series.map((function(t,e){return\"bar\"===t.type||\"column\"===t.type?e:-1})).filter((function(t){return-1!==t})):this.w.config.series.map((function(t,e){return e}))}},{key:\"getPreviousPaths\",value:function(){var t=this.w;function e(e,i,a){for(var s=e[i].childNodes,r={type:a,paths:[],realIndex:e[i].getAttribute(\"data:realIndex\")},o=0;o0)for(var a=function(e){for(var i=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-\".concat(t.config.chart.type,\" .apexcharts-series[data\\\\:realIndex='\").concat(e,\"'] rect\")),a=[],s=function(t){var e=function(e){return i[t].getAttribute(e)},s={x:parseFloat(e(\"x\")),y:parseFloat(e(\"y\")),width:parseFloat(e(\"width\")),height:parseFloat(e(\"height\"))};a.push({rect:s,color:i[t].getAttribute(\"color\")})},r=0;r0)for(var a=0;a0?t:[]}));return t}}]),t}(),B=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.twoDSeries=[],this.threeDSeries=[],this.twoDSeriesX=[],this.seriesGoals=[],this.coreUtils=new w(this.ctx)}return r(t,[{key:\"isMultiFormat\",value:function(){return this.isFormatXY()||this.isFormat2DArray()}},{key:\"isFormatXY\",value:function(){var t=this.w.config.series.slice(),e=new W(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&null!==t[this.activeSeriesIndex].data[0]&&void 0!==t[this.activeSeriesIndex].data[0].x&&null!==t[this.activeSeriesIndex].data[0])return!0}},{key:\"isFormat2DArray\",value:function(){var t=this.w.config.series.slice(),e=new W(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&void 0!==t[this.activeSeriesIndex].data[0]&&null!==t[this.activeSeriesIndex].data[0]&&t[this.activeSeriesIndex].data[0].constructor===Array)return!0}},{key:\"handleFormat2DArray\",value:function(t,e){for(var i=this.w.config,a=this.w.globals,s=\"boxPlot\"===i.chart.type||\"boxPlot\"===i.series[e].type,r=0;r=5?this.twoDSeries.push(b.parseNumber(t[e].data[r][4])):this.twoDSeries.push(b.parseNumber(t[e].data[r][1])),a.dataFormatXNumeric=!0),\"datetime\"===i.xaxis.type){var o=new Date(t[e].data[r][0]);o=new Date(o).getTime(),this.twoDSeriesX.push(o)}else this.twoDSeriesX.push(t[e].data[r][0]);for(var n=0;n-1&&(r=this.activeSeriesIndex);for(var o=0;o1&&void 0!==arguments[1]?arguments[1]:this.ctx,s=this.w.config,r=this.w.globals,o=new I(a),n=s.labels.length>0?s.labels.slice():s.xaxis.categories.slice();if(r.isRangeBar=\"rangeBar\"===s.chart.type&&r.isBarHorizontal,r.hasXaxisGroups=\"category\"===s.xaxis.type&&s.xaxis.group.groups.length>0,r.hasXaxisGroups&&(r.groups=s.xaxis.group.groups),r.hasSeriesGroups=null===(e=t[0])||void 0===e?void 0:e.group,r.hasSeriesGroups){var l=[],h=u(new Set(t.map((function(t){return t.group}))));t.forEach((function(t,e){var i=h.indexOf(t.group);l[i]||(l[i]=[]),l[i].push(t.name)})),r.seriesGroups=l}for(var c=function(){for(var t=0;t0&&(this.twoDSeriesX=n,r.seriesX.push(this.twoDSeriesX))),r.labels.push(this.twoDSeriesX);var g=t[d].data.map((function(t){return b.parseNumber(t)}));r.series.push(g)}r.seriesZ.push(this.threeDSeries),void 0!==t[d].name?r.seriesNames.push(t[d].name):r.seriesNames.push(\"series-\"+parseInt(d+1,10)),void 0!==t[d].color?r.seriesColors.push(t[d].color):r.seriesColors.push(void 0)}return this.w}},{key:\"parseDataNonAxisCharts\",value:function(t){var e=this.w.globals,i=this.w.config;e.series=t.slice(),e.seriesNames=i.labels.slice();for(var a=0;a0)i.labels=e.xaxis.categories;else if(e.labels.length>0)i.labels=e.labels.slice();else if(this.fallbackToCategory){if(i.labels=i.labels[0],i.seriesRange.length&&(i.seriesRange.map((function(t){t.forEach((function(t){i.labels.indexOf(t.x)<0&&t.x&&i.labels.push(t.x)}))})),i.labels=Array.from(new Set(i.labels.map(JSON.stringify)),JSON.parse)),e.xaxis.convertedCatToNumeric)new E(e).convertCatToNumericXaxis(e,this.ctx,i.seriesX[0]),this._generateExternalLabels(t)}else this._generateExternalLabels(t)}},{key:\"_generateExternalLabels\",value:function(t){var e=this.w.globals,i=this.w.config,a=[];if(e.axisCharts){if(e.series.length>0)if(this.isFormatXY())for(var s=i.series.map((function(t,e){return t.data.filter((function(t,e,i){return i.findIndex((function(e){return e.x===t.x}))===e}))})),r=s.reduce((function(t,e,i,a){return a[t].length>e.length?t:i}),0),o=0;o0&&s==i.length&&e.push(a)})),t.globals.ignoreYAxisIndexes=e.map((function(t){return t}))}}]),t}(),G=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"getLabel\",value:function(t,e,i,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:\"12px\",o=!(arguments.length>6&&void 0!==arguments[6])||arguments[6],n=this.w,l=void 0===t[a]?\"\":t[a],h=l,c=n.globals.xLabelFormatter,d=n.config.xaxis.labels.formatter,g=!1,u=new T(this.ctx),p=l;o&&(h=u.xLabelFormat(c,l,p,{i:a,dateFormatter:new I(this.ctx).formatDate,w:n}),void 0!==d&&(h=d(l,t[a],{i:a,dateFormatter:new I(this.ctx).formatDate,w:n})));var f,x;e.length>0?(f=e[a].unit,x=null,e.forEach((function(t){\"month\"===t.unit?x=\"year\":\"day\"===t.unit?x=\"month\":\"hour\"===t.unit?x=\"day\":\"minute\"===t.unit&&(x=\"hour\")})),g=x===f,i=e[a].position,h=e[a].value):\"datetime\"===n.config.xaxis.type&&void 0===d&&(h=\"\"),void 0===h&&(h=\"\"),h=Array.isArray(h)?h:h.toString();var b=new y(this.ctx),v={};v=n.globals.rotateXLabels&&o?b.getTextRects(h,parseInt(r,10),null,\"rotate(\".concat(n.config.xaxis.labels.rotate,\" 0 0)\"),!1):b.getTextRects(h,parseInt(r,10));var m=!n.config.xaxis.labels.showDuplicates&&this.ctx.timeScale;return!Array.isArray(h)&&(\"NaN\"===String(h)||s.indexOf(h)>=0&&m)&&(h=\"\"),{x:i,text:h,textRect:v,isBold:g}}},{key:\"checkLabelBasedOnTickamount\",value:function(t,e,i){var a=this.w,s=a.config.xaxis.tickAmount;return\"dataPoints\"===s&&(s=Math.round(a.globals.gridWidth/120)),s>i||t%Math.round(i/(s+1))==0||(e.text=\"\"),e}},{key:\"checkForOverflowingLabels\",value:function(t,e,i,a,s){var r=this.w;if(0===t&&r.globals.skipFirstTimelinelabel&&(e.text=\"\"),t===i-1&&r.globals.skipLastTimelinelabel&&(e.text=\"\"),r.config.xaxis.labels.hideOverlappingLabels&&a.length>0){var o=s[s.length-1];e.x0){!0===n.config.yaxis[s].opposite&&(t+=a.width);for(var c=e;c>=0;c--){var d=h+e/10+n.config.yaxis[s].labels.offsetY-1;n.globals.isBarHorizontal&&(d=r*c),\"heatmap\"===n.config.chart.type&&(d+=r/2);var g=l.drawLine(t+i.offsetX-a.width+a.offsetX,d+a.offsetY,t+i.offsetX+a.offsetX,d+a.offsetY,a.color);o.add(g),h+=r}}}}]),t}(),V=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"scaleSvgNode\",value:function(t,e){var i=parseFloat(t.getAttributeNS(null,\"width\")),a=parseFloat(t.getAttributeNS(null,\"height\"));t.setAttributeNS(null,\"width\",i*e),t.setAttributeNS(null,\"height\",a*e),t.setAttributeNS(null,\"viewBox\",\"0 0 \"+i+\" \"+a)}},{key:\"fixSvgStringForIe11\",value:function(t){if(!b.isIE11())return t.replace(/ /g,\" \");var e=0,i=t.replace(/xmlns=\"http:\\/\\/www.w3.org\\/2000\\/svg\"/g,(function(t){return 2===++e?'xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns:svgjs=\"http://svgjs.dev\"':t}));return i=(i=i.replace(/xmlns:NS\\d+=\"\"/g,\"\")).replace(/NS\\d+:(\\w+:\\w+=\")/g,\"$1\")}},{key:\"getSvgString\",value:function(t){null==t&&(t=1);var e=this.w.globals.dom.Paper.svg();if(1!==t){var i=this.w.globals.dom.Paper.node.cloneNode(!0);this.scaleSvgNode(i,t),e=(new XMLSerializer).serializeToString(i)}return this.fixSvgStringForIe11(e)}},{key:\"cleanup\",value:function(){var t=this.w,e=t.globals.dom.baseEl.getElementsByClassName(\"apexcharts-xcrosshairs\"),i=t.globals.dom.baseEl.getElementsByClassName(\"apexcharts-ycrosshairs\"),a=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-zoom-rect, .apexcharts-selection-rect\");Array.prototype.forEach.call(a,(function(t){t.setAttribute(\"width\",0)})),e&&e[0]&&(e[0].setAttribute(\"x\",-500),e[0].setAttribute(\"x1\",-500),e[0].setAttribute(\"x2\",-500)),i&&i[0]&&(i[0].setAttribute(\"y\",-100),i[0].setAttribute(\"y1\",-100),i[0].setAttribute(\"y2\",-100))}},{key:\"svgUrl\",value:function(){this.cleanup();var t=this.getSvgString(),e=new Blob([t],{type:\"image/svg+xml;charset=utf-8\"});return URL.createObjectURL(e)}},{key:\"dataURI\",value:function(t){var e=this;return new Promise((function(i){var a=e.w,s=t?t.scale||t.width/a.globals.svgWidth:1;e.cleanup();var r=document.createElement(\"canvas\");r.width=a.globals.svgWidth*s,r.height=parseInt(a.globals.dom.elWrap.style.height,10)*s;var o=\"transparent\"===a.config.chart.background?\"#fff\":a.config.chart.background,n=r.getContext(\"2d\");n.fillStyle=o,n.fillRect(0,0,r.width*s,r.height*s);var l=e.getSvgString(s);if(window.canvg&&b.isIE11()){var h=window.canvg.Canvg.fromString(n,l,{ignoreClear:!0,ignoreDimensions:!0});h.start();var c=r.msToBlob();h.stop(),i({blob:c})}else{var d=\"data:image/svg+xml,\"+encodeURIComponent(l),g=new Image;g.crossOrigin=\"anonymous\",g.onload=function(){if(n.drawImage(g,0,0),r.msToBlob){var t=r.msToBlob();i({blob:t})}else{var e=r.toDataURL(\"image/png\");i({imgURI:e})}},g.src=d}}))}},{key:\"exportToSVG\",value:function(){this.triggerDownload(this.svgUrl(),this.w.config.chart.toolbar.export.svg.filename,\".svg\")}},{key:\"exportToPng\",value:function(){var t=this;this.dataURI().then((function(e){var i=e.imgURI,a=e.blob;a?navigator.msSaveOrOpenBlob(a,t.w.globals.chartID+\".png\"):t.triggerDownload(i,t.w.config.chart.toolbar.export.png.filename,\".png\")}))}},{key:\"exportToCSV\",value:function(t){var e=this,i=t.series,a=t.fileName,s=t.columnDelimiter,r=void 0===s?\",\":s,o=t.lineDelimiter,n=void 0===o?\"\\n\":o,l=this.w;i||(i=l.config.series);var h,c,d=[],g=[],p=\"\",f=l.globals.series.map((function(t,e){return-1===l.globals.collapsedSeriesIndices.indexOf(e)?t:[]})),x=function(t){return\"datetime\"===l.config.xaxis.type&&String(t).length>=10},v=Math.max.apply(Math,u(i.map((function(t){return t.data?t.data.length:0})))),m=new B(this.ctx),y=new G(this.ctx),w=function(t){var i=\"\";if(l.globals.axisCharts){if(\"category\"===l.config.xaxis.type||l.config.xaxis.convertedCatToNumeric)if(l.globals.isBarHorizontal){var a=l.globals.yLabelFormatters[0],s=new W(e.ctx).getActiveConfigSeriesIndex();i=a(l.globals.labels[t],{seriesIndex:s,dataPointIndex:t,w:l})}else i=y.getLabel(l.globals.labels,l.globals.timescaleLabels,0,t).text;\"datetime\"===l.config.xaxis.type&&(l.config.xaxis.categories.length?i=l.config.xaxis.categories[t]:l.config.labels.length&&(i=l.config.labels[t]))}else i=l.config.labels[t];return Array.isArray(i)&&(i=i.join(\" \")),b.isNumber(i)?i:i.split(r).join(\"\")},k=function(t,e){if(d.length&&0===e&&g.push(d.join(r)),t.data){t.data=t.data.length&&t.data||u(Array(v)).map((function(){return\"\"}));for(var a=0;a0&&!s.globals.isBarHorizontal&&(this.xaxisLabels=s.globals.timescaleLabels.slice()),s.config.xaxis.overwriteCategories&&(this.xaxisLabels=s.config.xaxis.overwriteCategories),this.drawnLabels=[],this.drawnLabelsRects=[],\"top\"===s.config.xaxis.position?this.offY=0:this.offY=s.globals.gridHeight+1,this.offY=this.offY+s.config.xaxis.axisBorder.offsetY,this.isCategoryBarHorizontal=\"bar\"===s.config.chart.type&&s.config.plotOptions.bar.horizontal,this.xaxisFontSize=s.config.xaxis.labels.style.fontSize,this.xaxisFontFamily=s.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=s.config.xaxis.labels.style.colors,this.xaxisBorderWidth=s.config.xaxis.axisBorder.width,this.isCategoryBarHorizontal&&(this.xaxisBorderWidth=s.config.yaxis[0].axisBorder.width.toString()),this.xaxisBorderWidth.indexOf(\"%\")>-1?this.xaxisBorderWidth=s.globals.gridWidth*parseInt(this.xaxisBorderWidth,10)/100:this.xaxisBorderWidth=parseInt(this.xaxisBorderWidth,10),this.xaxisBorderHeight=s.config.xaxis.axisBorder.height,this.yaxis=s.config.yaxis[0]}return r(t,[{key:\"drawXaxis\",value:function(){var t=this.w,e=new y(this.ctx),i=e.group({class:\"apexcharts-xaxis\",transform:\"translate(\".concat(t.config.xaxis.offsetX,\", \").concat(t.config.xaxis.offsetY,\")\")}),a=e.group({class:\"apexcharts-xaxis-texts-g\",transform:\"translate(\".concat(t.globals.translateXAxisX,\", \").concat(t.globals.translateXAxisY,\")\")});i.add(a);for(var s=[],r=0;r6&&void 0!==arguments[6]?arguments[6]:{},h=[],c=[],d=this.w,g=l.xaxisFontSize||this.xaxisFontSize,u=l.xaxisFontFamily||this.xaxisFontFamily,p=l.xaxisForeColors||this.xaxisForeColors,f=l.fontWeight||d.config.xaxis.labels.style.fontWeight,x=l.cssClass||d.config.xaxis.labels.style.cssClass,b=d.globals.padHorizontal,v=a.length,m=\"category\"===d.config.xaxis.type?d.globals.dataPoints:v;if(0===m&&v>m&&(m=v),s){var y=m>1?m-1:m;o=d.globals.gridWidth/Math.min(y,v-1),b=b+r(0,o)/2+d.config.xaxis.labels.offsetX}else o=d.globals.gridWidth/m,b=b+r(0,o)+d.config.xaxis.labels.offsetX;for(var w=function(s){var l=b-r(s,o)/2+d.config.xaxis.labels.offsetX;0===s&&1===v&&o/2===b&&1===m&&(l=d.globals.gridWidth/2);var y=n.axesUtils.getLabel(a,d.globals.timescaleLabels,l,s,h,g,t),w=28;d.globals.rotateXLabels&&t&&(w=22),d.config.xaxis.title.text&&\"top\"===d.config.xaxis.position&&(w+=parseFloat(d.config.xaxis.title.style.fontSize)+2),t||(w=w+parseFloat(g)+(d.globals.xAxisLabelsHeight-d.globals.xAxisGroupLabelsHeight)+(d.globals.rotateXLabels?10:0)),y=void 0!==d.config.xaxis.tickAmount&&\"dataPoints\"!==d.config.xaxis.tickAmount&&\"datetime\"!==d.config.xaxis.type?n.axesUtils.checkLabelBasedOnTickamount(s,y,v):n.axesUtils.checkForOverflowingLabels(s,y,v,h,c);if(d.config.xaxis.labels.show){var k=e.drawText({x:y.x,y:n.offY+d.config.xaxis.labels.offsetY+w-(\"top\"===d.config.xaxis.position?d.globals.xAxisHeight+d.config.xaxis.axisTicks.height-2:0),text:y.text,textAnchor:\"middle\",fontWeight:y.isBold?600:f,fontSize:g,fontFamily:u,foreColor:Array.isArray(p)?t&&d.config.xaxis.convertedCatToNumeric?p[d.globals.minX+s-1]:p[s]:p,isPlainText:!1,cssClass:(t?\"apexcharts-xaxis-label \":\"apexcharts-xaxis-group-label \")+x});if(i.add(k),k.on(\"click\",(function(t){if(\"function\"==typeof d.config.chart.events.xAxisLabelClick){var e=Object.assign({},d,{labelIndex:s});d.config.chart.events.xAxisLabelClick(t,n.ctx,e)}})),t){var A=document.createElementNS(d.globals.SVGNS,\"title\");A.textContent=Array.isArray(y.text)?y.text.join(\" \"):y.text,k.node.appendChild(A),\"\"!==y.text&&(h.push(y.text),c.push(y))}}sa.globals.gridWidth)){var r=this.offY+a.config.xaxis.axisTicks.offsetY;if(e=e+r+a.config.xaxis.axisTicks.height,\"top\"===a.config.xaxis.position&&(e=r-a.config.xaxis.axisTicks.height),a.config.xaxis.axisTicks.show){var o=new y(this.ctx).drawLine(t+a.config.xaxis.axisTicks.offsetX,r+a.config.xaxis.offsetY,s+a.config.xaxis.axisTicks.offsetX,e+a.config.xaxis.offsetY,a.config.xaxis.axisTicks.color);i.add(o),o.node.classList.add(\"apexcharts-xaxis-tick\")}}}},{key:\"getXAxisTicksPositions\",value:function(){var t=this.w,e=[],i=this.xaxisLabels.length,a=t.globals.padHorizontal;if(t.globals.timescaleLabels.length>0)for(var s=0;s0){var h=s[s.length-1].getBBox(),c=s[0].getBBox();h.x<-20&&s[s.length-1].parentNode.removeChild(s[s.length-1]),c.x+c.width>t.globals.gridWidth&&!t.globals.isBarHorizontal&&s[0].parentNode.removeChild(s[0]);for(var d=0;d0&&(this.xaxisLabels=i.globals.timescaleLabels.slice())}return r(t,[{key:\"drawGridArea\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w,i=new y(this.ctx);null===t&&(t=i.group({class:\"apexcharts-grid\"}));var a=i.drawLine(e.globals.padHorizontal,1,e.globals.padHorizontal,e.globals.gridHeight,\"transparent\"),s=i.drawLine(e.globals.padHorizontal,e.globals.gridHeight,e.globals.gridWidth,e.globals.gridHeight,\"transparent\");return t.add(s),t.add(a),t}},{key:\"drawGrid\",value:function(){var t=null;return this.w.globals.axisCharts&&(t=this.renderGrid(),this.drawGridArea(t.el)),t}},{key:\"createGridMask\",value:function(){var t=this.w,e=t.globals,i=new y(this.ctx),a=Array.isArray(t.config.stroke.width)?0:t.config.stroke.width;if(Array.isArray(t.config.stroke.width)){var s=0;t.config.stroke.width.forEach((function(t){s=Math.max(s,t)})),a=s}e.dom.elGridRectMask=document.createElementNS(e.SVGNS,\"clipPath\"),e.dom.elGridRectMask.setAttribute(\"id\",\"gridRectMask\".concat(e.cuid)),e.dom.elGridRectMarkerMask=document.createElementNS(e.SVGNS,\"clipPath\"),e.dom.elGridRectMarkerMask.setAttribute(\"id\",\"gridRectMarkerMask\".concat(e.cuid)),e.dom.elForecastMask=document.createElementNS(e.SVGNS,\"clipPath\"),e.dom.elForecastMask.setAttribute(\"id\",\"forecastMask\".concat(e.cuid)),e.dom.elNonForecastMask=document.createElementNS(e.SVGNS,\"clipPath\"),e.dom.elNonForecastMask.setAttribute(\"id\",\"nonForecastMask\".concat(e.cuid));var r=t.config.chart.type,o=0,n=0;(\"bar\"===r||\"rangeBar\"===r||\"candlestick\"===r||\"boxPlot\"===r||t.globals.comboBarCount>0)&&t.globals.isXNumeric&&!t.globals.isBarHorizontal&&(o=t.config.grid.padding.left,n=t.config.grid.padding.right,e.barPadForNumericAxis>o&&(o=e.barPadForNumericAxis,n=e.barPadForNumericAxis)),e.dom.elGridRect=i.drawRect(-a-o-2,2*-a-2,e.gridWidth+a+n+o+4,e.gridHeight+4*a+4,0,\"#fff\");var l=t.globals.markers.largestSize+1;e.dom.elGridRectMarker=i.drawRect(2*-l,2*-l,e.gridWidth+4*l,e.gridHeight+4*l,0,\"#fff\"),e.dom.elGridRectMask.appendChild(e.dom.elGridRect.node),e.dom.elGridRectMarkerMask.appendChild(e.dom.elGridRectMarker.node);var h=e.dom.baseEl.querySelector(\"defs\");h.appendChild(e.dom.elGridRectMask),h.appendChild(e.dom.elForecastMask),h.appendChild(e.dom.elNonForecastMask),h.appendChild(e.dom.elGridRectMarkerMask)}},{key:\"_drawGridLines\",value:function(t){var e=t.i,i=t.x1,a=t.y1,s=t.x2,r=t.y2,o=t.xCount,n=t.parent,l=this.w;if(!(0===e&&l.globals.skipFirstTimelinelabel||e===o-1&&l.globals.skipLastTimelinelabel&&!l.config.xaxis.labels.formatter||\"radar\"===l.config.chart.type)){l.config.grid.xaxis.lines.show&&this._drawGridLine({i:e,x1:i,y1:a,x2:s,y2:r,xCount:o,parent:n});var h=0;if(l.globals.hasXaxisGroups&&\"between\"===l.config.xaxis.tickPlacement){var c=l.globals.groups;if(c){for(var d=0,g=0;d0&&\"datetime\"!==t.config.xaxis.type&&(a=t.globals.yAxisScale[i].result.length-1);this._drawXYLines({xCount:a,tickAmount:s})}else a=s,s=t.globals.xTickAmount,this._drawInvertedXYLines({xCount:a,tickAmount:s});return this.drawGridBands(a,s),{el:this.elg,elGridBorders:this.elGridBorders,xAxisTickWidth:t.globals.gridWidth/a}}},{key:\"drawGridBands\",value:function(t,e){var i=this.w;if(void 0!==i.config.grid.row.colors&&i.config.grid.row.colors.length>0)for(var a=0,s=i.globals.gridHeight/e,r=i.globals.gridWidth,o=0,n=0;o=i.config.grid.row.colors.length&&(n=0),this._drawGridBandRect({c:n,x1:0,y1:a,x2:r,y2:s,type:\"row\"}),a+=i.globals.gridHeight/e;if(void 0!==i.config.grid.column.colors&&i.config.grid.column.colors.length>0)for(var l=i.globals.isBarHorizontal||\"on\"!==i.config.xaxis.tickPlacement||\"category\"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric?t:t-1,h=i.globals.padHorizontal,c=i.globals.padHorizontal+i.globals.gridWidth/l,d=i.globals.gridHeight,g=0,u=0;g=i.config.grid.column.colors.length&&(u=0),this._drawGridBandRect({c:u,x1:h,y1:0,x2:c,y2:d,type:\"column\"}),h+=i.globals.gridWidth/l}}]),t}(),U=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"niceScale\",value:function(t,e){var i,a,s,r,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=1e-11,l=this.w,h=l.globals;h.isBarHorizontal?(i=l.config.xaxis,a=Math.max((h.svgWidth-100)/25,2)):(i=l.config.yaxis[o],a=Math.max((h.svgHeight-100)/15,2)),s=void 0!==i.min&&null!==i.min,r=void 0!==i.max&&null!==i.min;var c=void 0!==i.stepSize&&null!==i.stepSize,d=void 0!==i.tickAmount&&null!==i.tickAmount,g=d?i.tickAmount:i.forceNiceScale?h.niceScaleDefaultTicks[Math.min(Math.round(a/2),h.niceScaleDefaultTicks.length-1)]:10;if(h.isMultipleYAxis&&!d&&h.multiAxisTickAmount>0&&(g=h.multiAxisTickAmount,d=!0),g=\"dataPoints\"===g?h.dataPoints-1:Math.abs(Math.round(g)),(t===Number.MIN_VALUE&&0===e||!b.isNumber(t)&&!b.isNumber(e)||t===Number.MIN_VALUE&&e===-Number.MAX_VALUE)&&(t=0,e=g,h.allSeriesCollapsed=!1),t>e){console.warn(\"axis.min cannot be greater than axis.max: swapping min and max\");var u=e;e=t,t=u}else t===e&&(t=0===t?0:t-1,e=0===e?2:e+1);var p=[];g<1&&(g=1);var f=g,x=Math.abs(e-t);if(i.forceNiceScale){!s&&t>0&&t/x<.15&&(t=0,s=!0),!r&&e<0&&-e/x<.15&&(e=0,r=!0),x=Math.abs(e-t)}var v=x/f,m=v,y=Math.floor(Math.log10(m)),w=Math.pow(10,y),k=Math.ceil(m/w);if(v=m=(k=h.niceScaleAllowedMagMsd[0===h.yValueDecimal?0:1][k])*w,h.isBarHorizontal&&i.stepSize&&\"datetime\"!==i.type?(v=i.stepSize,c=!0):c&&(v=i.stepSize),c&&i.forceNiceScale){var A=Math.floor(Math.log10(v));v*=Math.pow(10,y-A)}if(s&&r){var S=x/f;if(d)if(c)if(0!=b.mod(x,v)){var C=b.getGCD(v,S);v=S/C<10?C:S}else 0==b.mod(v,S)?v=S:(S=v,d=!1);else v=S;else if(c)0==b.mod(x,v)?S=v:v=S;else if(0==b.mod(x,v))S=v;else{S=x/(f=Math.ceil(x/v));var L=b.getGCD(x,v);x/La&&(t=e-v*g,t+=v*Math.floor((P-t)/v))}else s&&(e=d?t+v*f:v*Math.ceil(e/v));else if(d){var M=v/(e-t>e?1:2),I=M*Math.floor(t/M);Math.abs(I-t)<=M/2?e=(t=I)+v*f:t=(e=M*Math.ceil(e/M))-v*f}else t=v*Math.floor(t/v),e=v*Math.ceil(e/v);x=Math.abs(e-t),v=b.getGCD(x,v),f=Math.round(x/v)}if(d||s||r||(f=Math.ceil((x-n)/(v+n)))>16&&b.getPrimeFactors(f).length<2&&f++,h.isMultipleYAxis&&0==h.multiAxisTickAmount&&(h.multiAxisTickAmount=f),f>a&&(!d&&!c||i.forceNiceScale)){var T=b.getPrimeFactors(f),z=T.length-1,X=f;t:for(var E=0;EN);return{result:p,niceMin:p[0],niceMax:p[p.length-1]}}},{key:\"linearScale\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:void 0,r=Math.abs(e-t);\"dataPoints\"===(i=this._adjustTicksForSmallRange(i,a,r))&&(i=this.w.globals.dataPoints-1),s||(s=r/i),i===Number.MAX_VALUE&&(i=5,s=1);for(var o=[],n=t;i>=0;)o.push(n),n+=s,i-=1;return{result:o,niceMin:o[0],niceMax:o[o.length-1]}}},{key:\"logarithmicScaleNice\",value:function(t,e,i){e<=0&&(e=Math.max(t,i)),t<=0&&(t=Math.min(e,i));for(var a=[],s=Math.ceil(Math.log(e)/Math.log(i)+1),r=Math.floor(Math.log(t)/Math.log(i));r5?(a.allSeriesCollapsed=!1,a.yAxisScale[t]=r.forceNiceScale?this.logarithmicScaleNice(e,i,r.logBase):this.logarithmicScale(e,i,r.logBase)):i!==-Number.MAX_VALUE&&b.isNumber(i)?(a.allSeriesCollapsed=!1,a.yAxisScale[t]=this.niceScale(e,i,t)):a.yAxisScale[t]=this.linearScale(0,10,10,t,s.yaxis[t].stepSize)}},{key:\"setXScale\",value:function(t,e){var i=this.w,a=i.globals,s=Math.abs(e-t);return e!==-Number.MAX_VALUE&&b.isNumber(e)?a.xAxisScale=this.linearScale(t,e,i.config.xaxis.tickAmount?i.config.xaxis.tickAmount:s<10&&s>1?s+1:10,0,i.config.xaxis.stepSize):a.xAxisScale=this.linearScale(0,10,10),a.xAxisScale}},{key:\"setMultipleYScales\",value:function(){var t=this.w.globals,e=this.w.config,i=t.minYArr,a=t.maxYArr,s=[],r=[],o=[];e.series.forEach((function(t,e){o.push(e),r.push(null)}));var n,l=[];e.yaxis.forEach((function(t,i){if(t.seriesName){var a=[];Array.isArray(t.seriesName)?a=t.seriesName:a.push(t.seriesName),s[i]=[],a.forEach((function(t){e.series.forEach((function(e,a){if(e.name===t){s[i].push(a),r[a]=i;var n=o.indexOf(a);o.splice(n,1)}}))}))}else l.push(i)}));for(var h=0;h=0;n--)i.splice(o[n],1);i.forEach((function(i,o){var n=Number.MAX_VALUE,l=-Number.MAX_VALUE;if(s.chart.stacked){for(var h=r.seriesX[i[0]].map((function(t){return Number.MIN_VALUE})),c=r.seriesX[i[0]].map((function(t){return Number.MIN_VALUE})),d=r.seriesX[i[0]].map((function(t){return Number.MIN_VALUE})),g=s.series[i[0]].type,u=0;u=0?c[f]+=x:d[f]+=x,h[f]+=x}}\"bar\"===g?(n=Math.min.apply(null,d),l=Math.max.apply(null,c)):(n=Math.min.apply(null,h),l=Math.max.apply(null,h))}else{for(var b=0;b1&&void 0!==arguments[1]?arguments[1]:Number.MAX_VALUE,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-Number.MAX_VALUE,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w.config,r=this.w.globals,o=-Number.MAX_VALUE,n=Number.MIN_VALUE;null===a&&(a=t+1);var l=0,h=0,c=void 0;if(r.seriesX.length>=a){var d,g;l=0,h=(c=u(new Set((d=[]).concat.apply(d,u(r.seriesX.slice(t,a)))))).length-1;var p=null===(g=r.brushSource)||void 0===g?void 0:g.w.config.chart.brush;if(s.chart.zoom.enabled&&s.chart.zoom.autoScaleYaxis||null!=p&&p.enabled&&null!=p&&p.autoScaleYaxis){if(s.xaxis.min)for(l=0;ll&&c[h]>=s.xaxis.max;h--);}}var f=r.series,x=f,v=f;\"candlestick\"===s.chart.type?(x=r.seriesCandleL,v=r.seriesCandleH):\"boxPlot\"===s.chart.type?(x=r.seriesCandleO,v=r.seriesCandleC):r.isRangeData&&(x=r.seriesRangeStart,v=r.seriesRangeEnd);for(var m=t;mx[m][w]&&x[m][w]<0&&(n=x[m][w])}else r.hasNullValues=!0}\"bar\"!==y&&\"column\"!==y||(n<0&&o<0&&(o=0,i=Math.max(i,0)),n===Number.MIN_VALUE&&(n=0,e=Math.min(e,0)))}return\"rangeBar\"===s.chart.type&&r.seriesRangeStart.length&&r.isBarHorizontal&&(n=e),\"bar\"===s.chart.type&&(n<0&&o<0&&(o=0),n===Number.MIN_VALUE&&(n=0)),{minY:n,maxY:o,lowestY:e,highestY:i}}},{key:\"setYRange\",value:function(){var t=this.w.globals,e=this.w.config;t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE;var i,a=Number.MAX_VALUE;if(t.isMultipleYAxis){a=Number.MAX_VALUE;for(var s=0;st.dataPoints&&0!==t.dataPoints&&(a=t.dataPoints-1)):\"dataPoints\"===e.xaxis.tickAmount?(t.series.length>1&&(a=t.series[t.maxValsInArrayIndex].length-1),t.isXNumeric&&(a=t.maxX-t.minX-1)):a=e.xaxis.tickAmount,t.xTickAmount=a,void 0!==e.xaxis.max&&\"number\"==typeof e.xaxis.max&&(t.maxX=e.xaxis.max),void 0!==e.xaxis.min&&\"number\"==typeof e.xaxis.min&&(t.minX=e.xaxis.min),void 0!==e.xaxis.range&&(t.minX=t.maxX-e.xaxis.range),t.minX!==Number.MAX_VALUE&&t.maxX!==-Number.MAX_VALUE)if(e.xaxis.convertedCatToNumeric&&!t.dataFormatXNumeric){for(var s=[],r=t.minX-1;r0&&(t.xAxisScale=this.scales.linearScale(1,t.labels.length,a-1,0,e.xaxis.stepSize),t.seriesX=t.labels.slice());i&&(t.labels=t.xAxisScale.result.slice())}return t.isBarHorizontal&&t.labels.length&&(t.xTickAmount=t.labels.length),this._handleSingleDataPoint(),this._getMinXDiff(),{minX:t.minX,maxX:t.maxX}}},{key:\"setZRange\",value:function(){var t=this.w.globals;if(t.isDataXYZ)for(var e=0;e0){var s=e-a[i-1];s>0&&(t.minXDiff=Math.min(s,t.minXDiff))}})),1!==t.dataPoints&&t.minXDiff!==Number.MAX_VALUE||(t.minXDiff=.5)}))}},{key:\"_setStackedMinMax\",value:function(){var t=this,e=this.w.globals;if(e.series.length){var i=e.seriesGroups;i.length||(i=[this.w.config.series.map((function(t){return t.name}))]);var a={},s={};i.forEach((function(i){a[i]=[],s[i]=[],t.w.config.series.map((function(t,e){return i.indexOf(t.name)>-1?e:null})).filter((function(t){return null!==t})).forEach((function(r){for(var o=0;o0?a[i][o]+=parseFloat(e.series[r][o])+1e-4:s[i][o]+=parseFloat(e.series[r][o]))}}))})),Object.entries(a).forEach((function(t){var i=g(t,1)[0];a[i].forEach((function(t,r){e.maxY=Math.max(e.maxY,a[i][r]),e.minY=Math.min(e.minY,s[i][r])}))}))}}}]),t}(),Z=function(){function t(e,i){a(this,t),this.ctx=e,this.elgrid=i,this.w=e.w;var s=this.w;this.xaxisFontSize=s.config.xaxis.labels.style.fontSize,this.axisFontFamily=s.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=s.config.xaxis.labels.style.colors,this.isCategoryBarHorizontal=\"bar\"===s.config.chart.type&&s.config.plotOptions.bar.horizontal,this.xAxisoffX=0,\"bottom\"===s.config.xaxis.position&&(this.xAxisoffX=s.globals.gridHeight),this.drawnLabels=[],this.axesUtils=new G(e)}return r(t,[{key:\"drawYaxis\",value:function(t){var e=this,i=this.w,a=new y(this.ctx),s=i.config.yaxis[t].labels.style,r=s.fontSize,o=s.fontFamily,n=s.fontWeight,l=a.group({class:\"apexcharts-yaxis\",rel:t,transform:\"translate(\"+i.globals.translateYAxisX[t]+\", 0)\"});if(this.axesUtils.isYAxisHidden(t))return l;var h=a.group({class:\"apexcharts-yaxis-texts-g\"});l.add(h);var c=i.globals.yAxisScale[t].result.length-1,d=i.globals.gridHeight/c,g=i.globals.translateY,u=i.globals.yLabelFormatters[t],p=i.globals.yAxisScale[t].result.slice();p=this.axesUtils.checkForReversedLabels(t,p);var f=\"\";if(i.config.yaxis[t].labels.show)for(var x=function(l){var x=p[l];x=u(x,l,i);var b=i.config.yaxis[t].labels.padding;i.config.yaxis[t].opposite&&0!==i.config.yaxis.length&&(b*=-1);var v=\"end\";i.config.yaxis[t].opposite&&(v=\"start\"),\"left\"===i.config.yaxis[t].labels.align?v=\"start\":\"center\"===i.config.yaxis[t].labels.align?v=\"middle\":\"right\"===i.config.yaxis[t].labels.align&&(v=\"end\");var m=e.axesUtils.getYAxisForeColor(s.colors,t),y=i.config.yaxis[t].labels.offsetY;\"heatmap\"===i.config.chart.type&&(y-=(i.globals.gridHeight/i.globals.series.length-1)/2);var w=a.drawText({x:b,y:g+c/10+y+1,text:x,textAnchor:v,fontSize:r,fontFamily:o,fontWeight:n,maxWidth:i.config.yaxis[t].labels.maxWidth,foreColor:Array.isArray(m)?m[l]:m,isPlainText:!1,cssClass:\"apexcharts-yaxis-label \"+s.cssClass});l===c&&(f=w),h.add(w);var k=document.createElementNS(i.globals.SVGNS,\"title\");if(k.textContent=Array.isArray(x)?x.join(\" \"):x,w.node.appendChild(k),0!==i.config.yaxis[t].labels.rotate){var A=a.rotateAroundCenter(f.node),S=a.rotateAroundCenter(w.node);w.node.setAttribute(\"transform\",\"rotate(\".concat(i.config.yaxis[t].labels.rotate,\" \").concat(A.x,\" \").concat(S.y,\")\"))}g+=d},b=c;b>=0;b--)x(b);if(void 0!==i.config.yaxis[t].title.text){var v=a.group({class:\"apexcharts-yaxis-title\"}),m=0;i.config.yaxis[t].opposite&&(m=i.globals.translateYAxisX[t]);var w=a.drawText({x:m,y:i.globals.gridHeight/2+i.globals.translateY+i.config.yaxis[t].title.offsetY,text:i.config.yaxis[t].title.text,textAnchor:\"end\",foreColor:i.config.yaxis[t].title.style.color,fontSize:i.config.yaxis[t].title.style.fontSize,fontWeight:i.config.yaxis[t].title.style.fontWeight,fontFamily:i.config.yaxis[t].title.style.fontFamily,cssClass:\"apexcharts-yaxis-title-text \"+i.config.yaxis[t].title.style.cssClass});v.add(w),l.add(v)}var k=i.config.yaxis[t].axisBorder,A=31+k.offsetX;if(i.config.yaxis[t].opposite&&(A=-31-k.offsetX),k.show){var S=a.drawLine(A,i.globals.translateY+k.offsetY-2,A,i.globals.gridHeight+i.globals.translateY+k.offsetY+2,k.color,0,k.width);l.add(S)}return i.config.yaxis[t].axisTicks.show&&this.axesUtils.drawYAxisTicks(A,c,k,i.config.yaxis[t].axisTicks,t,d,l),l}},{key:\"drawYaxisInversed\",value:function(t){var e=this.w,i=new y(this.ctx),a=i.group({class:\"apexcharts-xaxis apexcharts-yaxis-inversed\"}),s=i.group({class:\"apexcharts-xaxis-texts-g\",transform:\"translate(\".concat(e.globals.translateXAxisX,\", \").concat(e.globals.translateXAxisY,\")\")});a.add(s);var r=e.globals.yAxisScale[t].result.length-1,o=e.globals.gridWidth/r+.1,n=o+e.config.xaxis.labels.offsetX,l=e.globals.xLabelFormatter,h=e.globals.yAxisScale[t].result.slice(),c=e.globals.timescaleLabels;c.length>0&&(this.xaxisLabels=c.slice(),r=(h=c.slice()).length),h=this.axesUtils.checkForReversedLabels(t,h);var d=c.length;if(e.config.xaxis.labels.show)for(var g=d?0:r;d?g=0;d?g++:g--){var u=h[g];u=l(u,g,e);var p=e.globals.gridWidth+e.globals.padHorizontal-(n-o+e.config.xaxis.labels.offsetX);if(c.length){var f=this.axesUtils.getLabel(h,c,p,g,this.drawnLabels,this.xaxisFontSize);p=f.x,u=f.text,this.drawnLabels.push(f.text),0===g&&e.globals.skipFirstTimelinelabel&&(u=\"\"),g===h.length-1&&e.globals.skipLastTimelinelabel&&(u=\"\")}var x=i.drawText({x:p,y:this.xAxisoffX+e.config.xaxis.labels.offsetY+30-(\"top\"===e.config.xaxis.position?e.globals.xAxisHeight+e.config.xaxis.axisTicks.height-2:0),text:u,textAnchor:\"middle\",foreColor:Array.isArray(this.xaxisForeColors)?this.xaxisForeColors[t]:this.xaxisForeColors,fontSize:this.xaxisFontSize,fontFamily:this.xaxisFontFamily,fontWeight:e.config.xaxis.labels.style.fontWeight,isPlainText:!1,cssClass:\"apexcharts-xaxis-label \"+e.config.xaxis.labels.style.cssClass});s.add(x),x.tspan(u);var b=document.createElementNS(e.globals.SVGNS,\"title\");b.textContent=u,x.node.appendChild(b),n+=o}return this.inversedYAxisTitleText(a),this.inversedYAxisBorder(a),a}},{key:\"inversedYAxisBorder\",value:function(t){var e=this.w,i=new y(this.ctx),a=e.config.xaxis.axisBorder;if(a.show){var s=0;\"bar\"===e.config.chart.type&&e.globals.isXNumeric&&(s-=15);var r=i.drawLine(e.globals.padHorizontal+s+a.offsetX,this.xAxisoffX,e.globals.gridWidth,this.xAxisoffX,a.color,0,a.height);this.elgrid&&this.elgrid.elGridBorders&&e.config.grid.show?this.elgrid.elGridBorders.add(r):t.add(r)}}},{key:\"inversedYAxisTitleText\",value:function(t){var e=this.w,i=new y(this.ctx);if(void 0!==e.config.xaxis.title.text){var a=i.group({class:\"apexcharts-xaxis-title apexcharts-yaxis-title-inversed\"}),s=i.drawText({x:e.globals.gridWidth/2+e.config.xaxis.title.offsetX,y:this.xAxisoffX+parseFloat(this.xaxisFontSize)+parseFloat(e.config.xaxis.title.style.fontSize)+e.config.xaxis.title.offsetY+20,text:e.config.xaxis.title.text,textAnchor:\"middle\",fontSize:e.config.xaxis.title.style.fontSize,fontFamily:e.config.xaxis.title.style.fontFamily,fontWeight:e.config.xaxis.title.style.fontWeight,foreColor:e.config.xaxis.title.style.color,cssClass:\"apexcharts-xaxis-title-text \"+e.config.xaxis.title.style.cssClass});a.add(s),t.add(a)}}},{key:\"yAxisTitleRotate\",value:function(t,e){var i=this.w,a=new y(this.ctx),s={width:0,height:0},r={width:0,height:0},o=i.globals.dom.baseEl.querySelector(\" .apexcharts-yaxis[rel='\".concat(t,\"'] .apexcharts-yaxis-texts-g\"));null!==o&&(s=o.getBoundingClientRect());var n=i.globals.dom.baseEl.querySelector(\".apexcharts-yaxis[rel='\".concat(t,\"'] .apexcharts-yaxis-title text\"));if(null!==n&&(r=n.getBoundingClientRect()),null!==n){var l=this.xPaddingForYAxisTitle(t,s,r,e);n.setAttribute(\"x\",l.xPos-(e?10:0))}if(null!==n){var h=a.rotateAroundCenter(n);n.setAttribute(\"transform\",\"rotate(\".concat(e?-1*i.config.yaxis[t].title.rotate:i.config.yaxis[t].title.rotate,\" \").concat(h.x,\" \").concat(h.y,\")\"))}}},{key:\"xPaddingForYAxisTitle\",value:function(t,e,i,a){var s=this.w,r=0,o=0,n=10;return void 0===s.config.yaxis[t].title.text||t<0?{xPos:o,padd:0}:(a?(o=e.width+s.config.yaxis[t].title.offsetX+i.width/2+n/2,0===(r+=1)&&(o-=n/2)):(o=-1*e.width+s.config.yaxis[t].title.offsetX+n/2+i.width/2,s.globals.isBarHorizontal&&(n=25,o=-1*e.width-s.config.yaxis[t].title.offsetX-n)),{xPos:o,padd:n})}},{key:\"setYAxisXPosition\",value:function(t,e){var i=this.w,a=0,s=0,r=18,o=1;i.config.yaxis.length>1&&(this.multipleYs=!0),i.config.yaxis.map((function(n,l){var h=i.globals.ignoreYAxisIndexes.indexOf(l)>-1||!n.show||n.floating||0===t[l].width,c=t[l].width+e[l].width;n.opposite?i.globals.isBarHorizontal?(s=i.globals.gridWidth+i.globals.translateX-1,i.globals.translateYAxisX[l]=s-n.labels.offsetX):(s=i.globals.gridWidth+i.globals.translateX+o,h||(o=o+c+20),i.globals.translateYAxisX[l]=s-n.labels.offsetX+20):(a=i.globals.translateX-r,h||(r=r+c+20),i.globals.translateYAxisX[l]=a+n.labels.offsetX)}))}},{key:\"setYAxisTextAlignments\",value:function(){var t=this.w,e=t.globals.dom.baseEl.getElementsByClassName(\"apexcharts-yaxis\");(e=b.listToArray(e)).forEach((function(e,i){var a=t.config.yaxis[i];if(a&&!a.floating&&void 0!==a.labels.align){var s=t.globals.dom.baseEl.querySelector(\".apexcharts-yaxis[rel='\".concat(i,\"'] .apexcharts-yaxis-texts-g\")),r=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxis[rel='\".concat(i,\"'] .apexcharts-yaxis-label\"));r=b.listToArray(r);var o=s.getBoundingClientRect();\"left\"===a.labels.align?(r.forEach((function(t,e){t.setAttribute(\"text-anchor\",\"start\")})),a.opposite||s.setAttribute(\"transform\",\"translate(-\".concat(o.width,\", 0)\"))):\"center\"===a.labels.align?(r.forEach((function(t,e){t.setAttribute(\"text-anchor\",\"middle\")})),s.setAttribute(\"transform\",\"translate(\".concat(o.width/2*(a.opposite?1:-1),\", 0)\"))):\"right\"===a.labels.align&&(r.forEach((function(t,e){t.setAttribute(\"text-anchor\",\"end\")})),a.opposite&&s.setAttribute(\"transform\",\"translate(\".concat(o.width,\", 0)\")))}}))}}]),t}(),$=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.documentEvent=b.bind(this.documentEvent,this)}return r(t,[{key:\"addEventListener\",value:function(t,e){var i=this.w;i.globals.events.hasOwnProperty(t)?i.globals.events[t].push(e):i.globals.events[t]=[e]}},{key:\"removeEventListener\",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){var a=i.globals.events[t].indexOf(e);-1!==a&&i.globals.events[t].splice(a,1)}}},{key:\"fireEvent\",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){e&&e.length||(e=[]);for(var a=i.globals.events[t],s=a.length,r=0;r0&&(e=this.w.config.chart.locales.concat(window.Apex.chart.locales));var i=e.filter((function(e){return e.name===t}))[0];if(!i)throw new Error(\"Wrong locale name provided. Please make sure you set the correct locale name in options\");var a=b.extend(L,i);this.w.globals.locale=a.options}}]),t}(),Q=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"drawAxis\",value:function(t,e){var i,a,s=this,r=this.w.globals,o=this.w.config,n=new j(this.ctx,e),l=new Z(this.ctx,e);r.axisCharts&&\"radar\"!==t&&(r.isBarHorizontal?(a=l.drawYaxisInversed(0),i=n.drawXaxisInversed(0),r.dom.elGraphical.add(i),r.dom.elGraphical.add(a)):(i=n.drawXaxis(),r.dom.elGraphical.add(i),o.yaxis.map((function(t,e){if(-1===r.ignoreYAxisIndexes.indexOf(e)&&(a=l.drawYaxis(e),r.dom.Paper.add(a),\"back\"===s.w.config.grid.position)){var i=r.dom.Paper.children()[1];i.remove(),r.dom.Paper.add(i)}}))))}}]),t}(),K=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"drawXCrosshairs\",value:function(){var t=this.w,e=new y(this.ctx),i=new m(this.ctx),a=t.config.xaxis.crosshairs.fill.gradient,s=t.config.xaxis.crosshairs.dropShadow,r=t.config.xaxis.crosshairs.fill.type,o=a.colorFrom,n=a.colorTo,l=a.opacityFrom,h=a.opacityTo,c=a.stops,d=s.enabled,g=s.left,u=s.top,p=s.blur,f=s.color,x=s.opacity,v=t.config.xaxis.crosshairs.fill.color;if(t.config.xaxis.crosshairs.show){\"gradient\"===r&&(v=e.drawGradient(\"vertical\",o,n,l,h,null,c,null));var w=e.drawRect();1===t.config.xaxis.crosshairs.width&&(w=e.drawLine());var k=t.globals.gridHeight;(!b.isNumber(k)||k<0)&&(k=0);var A=t.config.xaxis.crosshairs.width;(!b.isNumber(A)||A<0)&&(A=0),w.attr({class:\"apexcharts-xcrosshairs\",x:0,y:0,y2:k,width:A,height:k,fill:v,filter:\"none\",\"fill-opacity\":t.config.xaxis.crosshairs.opacity,stroke:t.config.xaxis.crosshairs.stroke.color,\"stroke-width\":t.config.xaxis.crosshairs.stroke.width,\"stroke-dasharray\":t.config.xaxis.crosshairs.stroke.dashArray}),d&&(w=i.dropShadow(w,{left:g,top:u,blur:p,color:f,opacity:x})),t.globals.dom.elGraphical.add(w)}}},{key:\"drawYCrosshairs\",value:function(){var t=this.w,e=new y(this.ctx),i=t.config.yaxis[0].crosshairs,a=t.globals.barPadForNumericAxis;if(t.config.yaxis[0].crosshairs.show){var s=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,i.stroke.dashArray,i.stroke.width);s.attr({class:\"apexcharts-ycrosshairs\"}),t.globals.dom.elGraphical.add(s)}var r=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,0,0);r.attr({class:\"apexcharts-ycrosshairs-hidden\"}),t.globals.dom.elGraphical.add(r)}}]),t}(),tt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"checkResponsiveConfig\",value:function(t){var e=this,i=this.w,a=i.config;if(0!==a.responsive.length){var s=a.responsive.slice();s.sort((function(t,e){return t.breakpoint>e.breakpoint?1:e.breakpoint>t.breakpoint?-1:0})).reverse();var r=new Y({}),o=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=s[0].breakpoint,o=window.innerWidth>0?window.innerWidth:screen.width;if(o>a){var n=w.extendArrayProps(r,i.globals.initialConfig,i);t=b.extend(n,t),t=b.extend(i.config,t),e.overrideResponsiveOptions(t)}else for(var l=0;l0&&\"function\"==typeof i.config.colors[0]&&(i.globals.colors=i.config.series.map((function(t,a){var s=i.config.colors[a];return s||(s=i.config.colors[0]),\"function\"==typeof s?(e.isColorFn=!0,s({value:i.globals.axisCharts?i.globals.series[a][0]?i.globals.series[a][0]:0:i.globals.series[a],seriesIndex:a,dataPointIndex:a,w:i})):s})))),i.globals.seriesColors.map((function(t,e){t&&(i.globals.colors[e]=t)})),i.config.theme.monochrome.enabled){var s=[],r=i.globals.series.length;(this.isBarDistributed||this.isHeatmapDistributed)&&(r=i.globals.series[0].length*i.globals.series.length);for(var o=i.config.theme.monochrome.color,n=1/(r/i.config.theme.monochrome.shadeIntensity),l=i.config.theme.monochrome.shadeTo,h=0,c=0;c2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=e||a.globals.series.length;if(null===i&&(i=this.isBarDistributed||this.isHeatmapDistributed||\"heatmap\"===a.config.chart.type&&a.config.plotOptions.heatmap.colorScale.inverse),i&&a.globals.series.length&&(s=a.globals.series[a.globals.maxValsInArrayIndex].length*a.globals.series.length),t.lengtht.globals.svgWidth&&(this.dCtx.lgRect.width=t.globals.svgWidth/1.5),this.dCtx.lgRect}},{key:\"getLargestStringFromMultiArr\",value:function(t,e){var i=t;if(this.w.globals.isMultiLineX){var a=e.map((function(t,e){return Array.isArray(t)?t.length:1})),s=Math.max.apply(Math,u(a));i=e[a.indexOf(s)]}return i}}]),t}(),st=function(){function t(e){a(this,t),this.w=e.w,this.dCtx=e}return r(t,[{key:\"getxAxisLabelsCoords\",value:function(){var t,e=this.w,i=e.globals.labels.slice();if(e.config.xaxis.convertedCatToNumeric&&0===i.length&&(i=e.globals.categoryLabels),e.globals.timescaleLabels.length>0){var a=this.getxAxisTimeScaleLabelsCoords();t={width:a.width,height:a.height},e.globals.rotateXLabels=!1}else{this.dCtx.lgWidthForSideLegends=\"left\"!==e.config.legend.position&&\"right\"!==e.config.legend.position||e.config.legend.floating?0:this.dCtx.lgRect.width;var s=e.globals.xLabelFormatter,r=b.getLargestStringFromArr(i),o=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,i);e.globals.isBarHorizontal&&(o=r=e.globals.yAxisScale[0].result.reduce((function(t,e){return t.length>e.length?t:e}),0));var n=new T(this.dCtx.ctx),l=r;r=n.xLabelFormat(s,r,l,{i:void 0,dateFormatter:new I(this.dCtx.ctx).formatDate,w:e}),o=n.xLabelFormat(s,o,l,{i:void 0,dateFormatter:new I(this.dCtx.ctx).formatDate,w:e}),(e.config.xaxis.convertedCatToNumeric&&void 0===r||\"\"===String(r).trim())&&(o=r=\"1\");var h=new y(this.dCtx.ctx),c=h.getTextRects(r,e.config.xaxis.labels.style.fontSize),d=c;if(r!==o&&(d=h.getTextRects(o,e.config.xaxis.labels.style.fontSize)),(t={width:c.width>=d.width?c.width:d.width,height:c.height>=d.height?c.height:d.height}).width*i.length>e.globals.svgWidth-this.dCtx.lgWidthForSideLegends-this.dCtx.yAxisWidth-this.dCtx.gridPad.left-this.dCtx.gridPad.right&&0!==e.config.xaxis.labels.rotate||e.config.xaxis.labels.rotateAlways){if(!e.globals.isBarHorizontal){e.globals.rotateXLabels=!0;var g=function(t){return h.getTextRects(t,e.config.xaxis.labels.style.fontSize,e.config.xaxis.labels.style.fontFamily,\"rotate(\".concat(e.config.xaxis.labels.rotate,\" 0 0)\"),!1)};c=g(r),r!==o&&(d=g(o)),t.height=(c.height>d.height?c.height:d.height)/1.5,t.width=c.width>d.width?c.width:d.width}}else e.globals.rotateXLabels=!1}return e.config.xaxis.labels.show||(t={width:0,height:0}),{width:t.width,height:t.height}}},{key:\"getxAxisGroupLabelsCoords\",value:function(){var t,e=this.w;if(!e.globals.hasXaxisGroups)return{width:0,height:0};var i,a=(null===(t=e.config.xaxis.group.style)||void 0===t?void 0:t.fontSize)||e.config.xaxis.labels.style.fontSize,s=e.globals.groups.map((function(t){return t.title})),r=b.getLargestStringFromArr(s),o=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,s),n=new y(this.dCtx.ctx),l=n.getTextRects(r,a),h=l;return r!==o&&(h=n.getTextRects(o,a)),i={width:l.width>=h.width?l.width:h.width,height:l.height>=h.height?l.height:h.height},e.config.xaxis.labels.show||(i={width:0,height:0}),{width:i.width,height:i.height}}},{key:\"getxAxisTitleCoords\",value:function(){var t=this.w,e=0,i=0;if(void 0!==t.config.xaxis.title.text){var a=new y(this.dCtx.ctx).getTextRects(t.config.xaxis.title.text,t.config.xaxis.title.style.fontSize);e=a.width,i=a.height}return{width:e,height:i}}},{key:\"getxAxisTimeScaleLabelsCoords\",value:function(){var t,e=this.w;this.dCtx.timescaleLabels=e.globals.timescaleLabels.slice();var i=this.dCtx.timescaleLabels.map((function(t){return t.value})),a=i.reduce((function(t,e){return void 0===t?(console.error(\"You have possibly supplied invalid Date format. Please supply a valid JavaScript Date\"),0):t.length>e.length?t:e}),0);return 1.05*(t=new y(this.dCtx.ctx).getTextRects(a,e.config.xaxis.labels.style.fontSize)).width*i.length>e.globals.gridWidth&&0!==e.config.xaxis.labels.rotate&&(e.globals.overlappingXLabels=!0),t}},{key:\"additionalPaddingXLabels\",value:function(t){var e=this,i=this.w,a=i.globals,s=i.config,r=s.xaxis.type,o=t.width;a.skipLastTimelinelabel=!1,a.skipFirstTimelinelabel=!1;var n=i.config.yaxis[0].opposite&&i.globals.isBarHorizontal,l=function(t,n){s.yaxis.length>1&&function(t){return-1!==a.collapsedSeriesIndices.indexOf(t)}(n)||function(t){if(e.dCtx.timescaleLabels&&e.dCtx.timescaleLabels.length){var n=e.dCtx.timescaleLabels[0],l=e.dCtx.timescaleLabels[e.dCtx.timescaleLabels.length-1].position+o/1.75-e.dCtx.yAxisWidthRight,h=n.position-o/1.75+e.dCtx.yAxisWidthLeft,c=\"right\"===i.config.legend.position&&e.dCtx.lgRect.width>0?e.dCtx.lgRect.width:0;l>a.svgWidth-a.translateX-c&&(a.skipLastTimelinelabel=!0),h<-(t.show&&!t.floating||\"bar\"!==s.chart.type&&\"candlestick\"!==s.chart.type&&\"rangeBar\"!==s.chart.type&&\"boxPlot\"!==s.chart.type?10:o/1.75)&&(a.skipFirstTimelinelabel=!0)}else\"datetime\"===r?e.dCtx.gridPad.right(null===(a=String(c(e,n)))||void 0===a?void 0:a.length)?t:e}),d),u=g=c(g,n);if(void 0!==g&&0!==g.length||(g=l.niceMax),e.globals.isBarHorizontal){a=0;var p=e.globals.labels.slice();g=b.getLargestStringFromArr(p),g=c(g,{seriesIndex:o,dataPointIndex:-1,w:e}),u=t.dCtx.dimHelpers.getLargestStringFromMultiArr(g,p)}var f=new y(t.dCtx.ctx),x=\"rotate(\".concat(r.labels.rotate,\" 0 0)\"),v=f.getTextRects(g,r.labels.style.fontSize,r.labels.style.fontFamily,x,!1),m=v;g!==u&&(m=f.getTextRects(u,r.labels.style.fontSize,r.labels.style.fontFamily,x,!1)),i.push({width:(h>m.width||h>v.width?h:m.width>v.width?m.width:v.width)+a,height:m.height>v.height?m.height:v.height})}else i.push({width:0,height:0})})),i}},{key:\"getyAxisTitleCoords\",value:function(){var t=this,e=this.w,i=[];return e.config.yaxis.map((function(e,a){if(e.show&&void 0!==e.title.text){var s=new y(t.dCtx.ctx),r=\"rotate(\".concat(e.title.rotate,\" 0 0)\"),o=s.getTextRects(e.title.text,e.title.style.fontSize,e.title.style.fontFamily,r,!1);i.push({width:o.width,height:o.height})}else i.push({width:0,height:0})})),i}},{key:\"getTotalYAxisWidth\",value:function(){var t=this.w,e=0,i=0,a=0,s=t.globals.yAxisScale.length>1?10:0,r=new G(this.dCtx.ctx),o=function(o,n){var l=t.config.yaxis[n].floating,h=0;o.width>0&&!l?(h=o.width+s,function(e){return t.globals.ignoreYAxisIndexes.indexOf(e)>-1}(n)&&(h=h-o.width-s)):h=l||r.isYAxisHidden(n)?0:5,t.config.yaxis[n].opposite?a+=h:i+=h,e+=h};return t.globals.yLabelsCoords.map((function(t,e){o(t,e)})),t.globals.yTitleCoords.map((function(t,e){o(t,e)})),t.globals.isBarHorizontal&&!t.config.yaxis[0].floating&&(e=t.globals.yLabelsCoords[0].width+t.globals.yTitleCoords[0].width+15),this.dCtx.yAxisWidthLeft=i,this.dCtx.yAxisWidthRight=a,e}}]),t}(),ot=function(){function t(e){a(this,t),this.w=e.w,this.dCtx=e}return r(t,[{key:\"gridPadForColumnsInNumericAxis\",value:function(t){var e=this.w;if(e.globals.noData||e.globals.allSeriesCollapsed)return 0;var i=function(t){return\"bar\"===t||\"rangeBar\"===t||\"candlestick\"===t||\"boxPlot\"===t},a=e.config.chart.type,s=0,r=i(a)?e.config.series.length:1;if(e.globals.comboBarCount>0&&(r=e.globals.comboBarCount),e.globals.collapsedSeries.forEach((function(t){i(t.type)&&(r-=1)})),e.config.chart.stacked&&(r=1),(i(a)||e.globals.comboBarCount>0)&&e.globals.isXNumeric&&!e.globals.isBarHorizontal&&r>0){var o,n,l=Math.abs(e.globals.initialMaxX-e.globals.initialMinX);l<=3&&(l=e.globals.dataPoints),o=l/t,e.globals.minXDiff&&e.globals.minXDiff/o>0&&(n=e.globals.minXDiff/o),n>t/2&&(n/=2),(s=n*parseInt(e.config.plotOptions.bar.columnWidth,10)/100)<1&&(s=1),e.globals.barPadForNumericAxis=s}return s}},{key:\"gridPadFortitleSubtitle\",value:function(){var t=this,e=this.w,i=e.globals,a=this.dCtx.isSparkline||!e.globals.axisCharts?0:10;[\"title\",\"subtitle\"].forEach((function(i){void 0!==e.config[i].text?a+=e.config[i].margin:a+=t.dCtx.isSparkline||!e.globals.axisCharts?0:5})),!e.config.legend.show||\"bottom\"!==e.config.legend.position||e.config.legend.floating||e.globals.axisCharts||(a+=10);var s=this.dCtx.dimHelpers.getTitleSubtitleCoords(\"title\"),r=this.dCtx.dimHelpers.getTitleSubtitleCoords(\"subtitle\");i.gridHeight=i.gridHeight-s.height-r.height-a,i.translateY=i.translateY+s.height+r.height+a}},{key:\"setGridXPosForDualYAxis\",value:function(t,e){var i=this.w,a=new G(this.dCtx.ctx);i.config.yaxis.map((function(s,r){-1!==i.globals.ignoreYAxisIndexes.indexOf(r)||s.floating||a.isYAxisHidden(r)||(s.opposite&&(i.globals.translateX=i.globals.translateX-(e[r].width+t[r].width)-parseInt(i.config.yaxis[r].labels.style.fontSize,10)/1.2-12),i.globals.translateX<2&&(i.globals.translateX=2))}))}}]),t}(),nt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.lgRect={},this.yAxisWidth=0,this.yAxisWidthLeft=0,this.yAxisWidthRight=0,this.xAxisHeight=0,this.isSparkline=this.w.config.chart.sparkline.enabled,this.dimHelpers=new at(this),this.dimYAxis=new rt(this),this.dimXAxis=new st(this),this.dimGrid=new ot(this),this.lgWidthForSideLegends=0,this.gridPad=this.w.config.grid.padding,this.xPadRight=0,this.xPadLeft=0}return r(t,[{key:\"plotCoords\",value:function(){var t=this,e=this.w,i=e.globals;this.lgRect=this.dimHelpers.getLegendsRect(),this.isSparkline&&((e.config.markers.discrete.length>0||e.config.markers.size>0)&&Object.entries(this.gridPad).forEach((function(e){var i=g(e,2),a=i[0],s=i[1];t.gridPad[a]=Math.max(s,t.w.globals.markers.largestSize/1.5)})),this.gridPad.top=Math.max(e.config.stroke.width/2,this.gridPad.top),this.gridPad.bottom=Math.max(e.config.stroke.width/2,this.gridPad.bottom)),i.axisCharts?this.setDimensionsForAxisCharts():this.setDimensionsForNonAxisCharts(),this.dimGrid.gridPadFortitleSubtitle(),i.gridHeight=i.gridHeight-this.gridPad.top-this.gridPad.bottom,i.gridWidth=i.gridWidth-this.gridPad.left-this.gridPad.right-this.xPadRight-this.xPadLeft;var a=this.dimGrid.gridPadForColumnsInNumericAxis(i.gridWidth);i.gridWidth=i.gridWidth-2*a,i.translateX=i.translateX+this.gridPad.left+this.xPadLeft+(a>0?a+4:0),i.translateY=i.translateY+this.gridPad.top}},{key:\"setDimensionsForAxisCharts\",value:function(){var t=this,e=this.w,i=e.globals,a=this.dimYAxis.getyAxisLabelsCoords(),s=this.dimYAxis.getyAxisTitleCoords();e.globals.yLabelsCoords=[],e.globals.yTitleCoords=[],e.config.yaxis.map((function(t,i){e.globals.yLabelsCoords.push({width:a[i].width,index:i}),e.globals.yTitleCoords.push({width:s[i].width,index:i})})),this.yAxisWidth=this.dimYAxis.getTotalYAxisWidth();var r=this.dimXAxis.getxAxisLabelsCoords(),o=this.dimXAxis.getxAxisGroupLabelsCoords(),n=this.dimXAxis.getxAxisTitleCoords();this.conditionalChecksForAxisCoords(r,n,o),i.translateXAxisY=e.globals.rotateXLabels?this.xAxisHeight/8:-4,i.translateXAxisX=e.globals.rotateXLabels&&e.globals.isXNumeric&&e.config.xaxis.labels.rotate<=-45?-this.xAxisWidth/4:0,e.globals.isBarHorizontal&&(i.rotateXLabels=!1,i.translateXAxisY=parseInt(e.config.xaxis.labels.style.fontSize,10)/1.5*-1),i.translateXAxisY=i.translateXAxisY+e.config.xaxis.labels.offsetY,i.translateXAxisX=i.translateXAxisX+e.config.xaxis.labels.offsetX;var l=this.yAxisWidth,h=this.xAxisHeight;i.xAxisLabelsHeight=this.xAxisHeight-n.height,i.xAxisGroupLabelsHeight=i.xAxisLabelsHeight-r.height,i.xAxisLabelsWidth=this.xAxisWidth,i.xAxisHeight=this.xAxisHeight;var c=10;(\"radar\"===e.config.chart.type||this.isSparkline)&&(l=0,h=i.goldenPadding),this.isSparkline&&(this.lgRect={height:0,width:0}),(this.isSparkline||\"treemap\"===e.config.chart.type)&&(l=0,h=0,c=0),this.isSparkline||this.dimXAxis.additionalPaddingXLabels(r);var d=function(){i.translateX=l,i.gridHeight=i.svgHeight-t.lgRect.height-h-(t.isSparkline||\"treemap\"===e.config.chart.type?0:e.globals.rotateXLabels?10:15),i.gridWidth=i.svgWidth-l};switch(\"top\"===e.config.xaxis.position&&(c=i.xAxisHeight-e.config.xaxis.axisTicks.height-5),e.config.legend.position){case\"bottom\":i.translateY=c,d();break;case\"top\":i.translateY=this.lgRect.height+c,d();break;case\"left\":i.translateY=c,i.translateX=this.lgRect.width+l,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l;break;case\"right\":i.translateY=c,i.translateX=l,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l-5;break;default:throw new Error(\"Legend position not supported\")}this.dimGrid.setGridXPosForDualYAxis(s,a),new Z(this.ctx).setYAxisXPosition(a,s)}},{key:\"setDimensionsForNonAxisCharts\",value:function(){var t=this.w,e=t.globals,i=t.config,a=0;t.config.legend.show&&!t.config.legend.floating&&(a=20);var s=\"pie\"===i.chart.type||\"polarArea\"===i.chart.type||\"donut\"===i.chart.type?\"pie\":\"radialBar\",r=i.plotOptions[s].offsetY,o=i.plotOptions[s].offsetX;if(!i.legend.show||i.legend.floating)return e.gridHeight=e.svgHeight-i.grid.padding.left+i.grid.padding.right,e.gridWidth=e.gridHeight,e.translateY=r,void(e.translateX=o+(e.svgWidth-e.gridWidth)/2);switch(i.legend.position){case\"bottom\":e.gridHeight=e.svgHeight-this.lgRect.height-e.goldenPadding,e.gridWidth=e.svgWidth,e.translateY=r-10,e.translateX=o+(e.svgWidth-e.gridWidth)/2;break;case\"top\":e.gridHeight=e.svgHeight-this.lgRect.height-e.goldenPadding,e.gridWidth=e.svgWidth,e.translateY=this.lgRect.height+r+10,e.translateX=o+(e.svgWidth-e.gridWidth)/2;break;case\"left\":e.gridWidth=e.svgWidth-this.lgRect.width-a,e.gridHeight=\"auto\"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=o+this.lgRect.width+a;break;case\"right\":e.gridWidth=e.svgWidth-this.lgRect.width-a-5,e.gridHeight=\"auto\"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=o+10;break;default:throw new Error(\"Legend position not supported\")}}},{key:\"conditionalChecksForAxisCoords\",value:function(t,e,i){var a=this.w,s=a.globals.hasXaxisGroups?2:1,r=i.height+t.height+e.height,o=a.globals.isMultiLineX?1.2:a.globals.LINE_HEIGHT_RATIO,n=a.globals.rotateXLabels?22:10,l=a.globals.rotateXLabels&&\"bottom\"===a.config.legend.position?10:0;this.xAxisHeight=r*o+s*n+l,this.xAxisWidth=t.width,this.xAxisHeight-e.height>a.config.xaxis.labels.maxHeight&&(this.xAxisHeight=a.config.xaxis.labels.maxHeight),a.config.xaxis.labels.minHeight&&this.xAxisHeightc&&(this.yAxisWidth=c)}}]),t}(),lt=function(){function t(e){a(this,t),this.w=e.w,this.lgCtx=e}return r(t,[{key:\"getLegendStyles\",value:function(){var t,e,i,a=document.createElement(\"style\");a.setAttribute(\"type\",\"text/css\");var s=(null===(t=this.lgCtx.ctx)||void 0===t||null===(e=t.opts)||void 0===e||null===(i=e.chart)||void 0===i?void 0:i.nonce)||this.w.config.chart.nonce;s&&a.setAttribute(\"nonce\",s);var r=document.createTextNode(\"\\n .apexcharts-legend {\\n display: flex;\\n overflow: auto;\\n padding: 0 10px;\\n }\\n .apexcharts-legend.apx-legend-position-bottom, .apexcharts-legend.apx-legend-position-top {\\n flex-wrap: wrap\\n }\\n .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\\n flex-direction: column;\\n bottom: 0;\\n }\\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-left, .apexcharts-legend.apx-legend-position-top.apexcharts-align-left, .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\\n justify-content: flex-start;\\n }\\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-center, .apexcharts-legend.apx-legend-position-top.apexcharts-align-center {\\n justify-content: center;\\n }\\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-right, .apexcharts-legend.apx-legend-position-top.apexcharts-align-right {\\n justify-content: flex-end;\\n }\\n .apexcharts-legend-series {\\n cursor: pointer;\\n line-height: normal;\\n }\\n .apexcharts-legend.apx-legend-position-bottom .apexcharts-legend-series, .apexcharts-legend.apx-legend-position-top .apexcharts-legend-series{\\n display: flex;\\n align-items: center;\\n }\\n .apexcharts-legend-text {\\n position: relative;\\n font-size: 14px;\\n }\\n .apexcharts-legend-text *, .apexcharts-legend-marker * {\\n pointer-events: none;\\n }\\n .apexcharts-legend-marker {\\n position: relative;\\n display: inline-block;\\n cursor: pointer;\\n margin-right: 3px;\\n border-style: solid;\\n }\\n\\n .apexcharts-legend.apexcharts-align-right .apexcharts-legend-series, .apexcharts-legend.apexcharts-align-left .apexcharts-legend-series{\\n display: inline-block;\\n }\\n .apexcharts-legend-series.apexcharts-no-click {\\n cursor: auto;\\n }\\n .apexcharts-legend .apexcharts-hidden-zero-series, .apexcharts-legend .apexcharts-hidden-null-series {\\n display: none !important;\\n }\\n .apexcharts-inactive-legend {\\n opacity: 0.45;\\n }\");return a.appendChild(r),a}},{key:\"getLegendBBox\",value:function(){var t=this.w.globals.dom.baseEl.querySelector(\".apexcharts-legend\").getBoundingClientRect(),e=t.width;return{clwh:t.height,clww:e}}},{key:\"appendToForeignObject\",value:function(){this.w.globals.dom.elLegendForeign.appendChild(this.getLegendStyles())}},{key:\"toggleDataSeries\",value:function(t,e){var i=this,a=this.w;if(a.globals.axisCharts||\"radialBar\"===a.config.chart.type){a.globals.resized=!0;var s=null,r=null;if(a.globals.risingSeries=[],a.globals.axisCharts?(s=a.globals.dom.baseEl.querySelector(\".apexcharts-series[data\\\\:realIndex='\".concat(t,\"']\")),r=parseInt(s.getAttribute(\"data:realIndex\"),10)):(s=a.globals.dom.baseEl.querySelector(\".apexcharts-series[rel='\".concat(t+1,\"']\")),r=parseInt(s.getAttribute(\"rel\"),10)-1),e)[{cs:a.globals.collapsedSeries,csi:a.globals.collapsedSeriesIndices},{cs:a.globals.ancillaryCollapsedSeries,csi:a.globals.ancillaryCollapsedSeriesIndices}].forEach((function(t){i.riseCollapsedSeries(t.cs,t.csi,r)}));else this.hideSeries({seriesEl:s,realIndex:r})}else{var o=a.globals.dom.Paper.select(\" .apexcharts-series[rel='\".concat(t+1,\"'] path\")),n=a.config.chart.type;if(\"pie\"===n||\"polarArea\"===n||\"donut\"===n){var l=a.config.plotOptions.pie.donut.labels;new y(this.lgCtx.ctx).pathMouseDown(o.members[0],null),this.lgCtx.ctx.pie.printDataLabelsInner(o.members[0].node,l)}o.fire(\"click\")}}},{key:\"hideSeries\",value:function(t){var e=t.seriesEl,i=t.realIndex,a=this.w,s=b.clone(a.config.series);if(a.globals.axisCharts){var r=a.config.yaxis[a.globals.seriesYAxisReverseMap[i]];if(r&&r.show&&r.showAlways)a.globals.ancillaryCollapsedSeriesIndices.indexOf(i)<0&&(a.globals.ancillaryCollapsedSeries.push({index:i,data:s[i].data.slice(),type:e.parentNode.className.baseVal.split(\"-\")[1]}),a.globals.ancillaryCollapsedSeriesIndices.push(i));else if(a.globals.collapsedSeriesIndices.indexOf(i)<0){a.globals.collapsedSeries.push({index:i,data:s[i].data.slice(),type:e.parentNode.className.baseVal.split(\"-\")[1]}),a.globals.collapsedSeriesIndices.push(i);var o=a.globals.risingSeries.indexOf(i);a.globals.risingSeries.splice(o,1)}}else a.globals.collapsedSeries.push({index:i,data:s[i]}),a.globals.collapsedSeriesIndices.push(i);for(var n=e.childNodes,l=0;l0){for(var r=0;r-1&&(t[a].data=[])})):t.forEach((function(i,a){e.globals.collapsedSeriesIndices.indexOf(a)>-1&&(t[a]=0)})),t}}]),t}(),ht=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.onLegendClick=this.onLegendClick.bind(this),this.onLegendHovered=this.onLegendHovered.bind(this),this.isBarsDistributed=\"bar\"===this.w.config.chart.type&&this.w.config.plotOptions.bar.distributed&&1===this.w.config.series.length,this.legendHelpers=new lt(this)}return r(t,[{key:\"init\",value:function(){var t=this.w,e=t.globals,i=t.config;if((i.legend.showForSingleSeries&&1===e.series.length||this.isBarsDistributed||e.series.length>1||!e.axisCharts)&&i.legend.show){for(;e.dom.elLegendWrap.firstChild;)e.dom.elLegendWrap.removeChild(e.dom.elLegendWrap.firstChild);this.drawLegends(),b.isIE11()?document.getElementsByTagName(\"head\")[0].appendChild(this.legendHelpers.getLegendStyles()):this.legendHelpers.appendToForeignObject(),\"bottom\"===i.legend.position||\"top\"===i.legend.position?this.legendAlignHorizontal():\"right\"!==i.legend.position&&\"left\"!==i.legend.position||this.legendAlignVertical()}}},{key:\"drawLegends\",value:function(){var t=this,e=this.w,i=e.config.legend.fontFamily,a=e.globals.seriesNames,s=e.globals.colors.slice();if(\"heatmap\"===e.config.chart.type){var r=e.config.plotOptions.heatmap.colorScale.ranges;a=r.map((function(t){return t.name?t.name:t.from+\" - \"+t.to})),s=r.map((function(t){return t.color}))}else this.isBarsDistributed&&(a=e.globals.labels.slice());e.config.legend.customLegendItems.length&&(a=e.config.legend.customLegendItems);for(var o=e.globals.legendFormatter,n=e.config.legend.inverseOrder,l=n?a.length-1:0;n?l>=0:l<=a.length-1;n?l--:l++){var h,c=o(a[l],{seriesIndex:l,w:e}),d=!1,g=!1;if(e.globals.collapsedSeries.length>0)for(var u=0;u0)for(var p=0;p0?l-10:0)+(h>0?h-10:0)}a.style.position=\"absolute\",r=r+t+i.config.legend.offsetX,o=o+e+i.config.legend.offsetY,a.style.left=r+\"px\",a.style.top=o+\"px\",\"bottom\"===i.config.legend.position?(a.style.top=\"auto\",a.style.bottom=5-i.config.legend.offsetY+\"px\"):\"right\"===i.config.legend.position&&(a.style.left=\"auto\",a.style.right=25+i.config.legend.offsetX+\"px\");[\"width\",\"height\"].forEach((function(t){a.style[t]&&(a.style[t]=parseInt(i.config.legend[t],10)+\"px\")}))}},{key:\"legendAlignHorizontal\",value:function(){var t=this.w;t.globals.dom.elLegendWrap.style.right=0;var e=this.legendHelpers.getLegendBBox(),i=new nt(this.ctx),a=i.dimHelpers.getTitleSubtitleCoords(\"title\"),s=i.dimHelpers.getTitleSubtitleCoords(\"subtitle\"),r=0;\"bottom\"===t.config.legend.position?r=-e.clwh/1.8:\"top\"===t.config.legend.position&&(r=a.height+s.height+t.config.title.margin+t.config.subtitle.margin-10),this.setLegendWrapXY(20,r)}},{key:\"legendAlignVertical\",value:function(){var t=this.w,e=this.legendHelpers.getLegendBBox(),i=0;\"left\"===t.config.legend.position&&(i=20),\"right\"===t.config.legend.position&&(i=t.globals.svgWidth-e.clww-10),this.setLegendWrapXY(i,20)}},{key:\"onLegendHovered\",value:function(t){var e=this.w,i=t.target.classList.contains(\"apexcharts-legend-series\")||t.target.classList.contains(\"apexcharts-legend-text\")||t.target.classList.contains(\"apexcharts-legend-marker\");if(\"heatmap\"===e.config.chart.type||this.isBarsDistributed){if(i){var a=parseInt(t.target.getAttribute(\"rel\"),10)-1;this.ctx.events.fireEvent(\"legendHover\",[this.ctx,a,this.w]),new W(this.ctx).highlightRangeInSeries(t,t.target)}}else!t.target.classList.contains(\"apexcharts-inactive-legend\")&&i&&new W(this.ctx).toggleSeriesOnHover(t,t.target)}},{key:\"onLegendClick\",value:function(t){var e=this.w;if(!e.config.legend.customLegendItems.length&&(t.target.classList.contains(\"apexcharts-legend-series\")||t.target.classList.contains(\"apexcharts-legend-text\")||t.target.classList.contains(\"apexcharts-legend-marker\"))){var i=parseInt(t.target.getAttribute(\"rel\"),10)-1,a=\"true\"===t.target.getAttribute(\"data:collapsed\"),s=this.w.config.chart.events.legendClick;\"function\"==typeof s&&s(this.ctx,i,this.w),this.ctx.events.fireEvent(\"legendClick\",[this.ctx,i,this.w]);var r=this.w.config.legend.markers.onClick;\"function\"==typeof r&&t.target.classList.contains(\"apexcharts-legend-marker\")&&(r(this.ctx,i,this.w),this.ctx.events.fireEvent(\"legendMarkerClick\",[this.ctx,i,this.w])),\"treemap\"!==e.config.chart.type&&\"heatmap\"!==e.config.chart.type&&!this.isBarsDistributed&&e.config.legend.onItemClick.toggleDataSeries&&this.legendHelpers.toggleDataSeries(i,a)}}}]),t}(),ct=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w;var i=this.w;this.ev=this.w.config.chart.events,this.selectedClass=\"apexcharts-selected\",this.localeValues=this.w.globals.locale.toolbar,this.minX=i.globals.minX,this.maxX=i.globals.maxX}return r(t,[{key:\"createToolbar\",value:function(){var t=this,e=this.w,i=function(){return document.createElement(\"div\")},a=i();if(a.setAttribute(\"class\",\"apexcharts-toolbar\"),a.style.top=e.config.chart.toolbar.offsetY+\"px\",a.style.right=3-e.config.chart.toolbar.offsetX+\"px\",e.globals.dom.elWrap.appendChild(a),this.elZoom=i(),this.elZoomIn=i(),this.elZoomOut=i(),this.elPan=i(),this.elSelection=i(),this.elZoomReset=i(),this.elMenuIcon=i(),this.elMenu=i(),this.elCustomIcons=[],this.t=e.config.chart.toolbar.tools,Array.isArray(this.t.customIcons))for(var s=0;s\\n \\n \\n\\n'),o(\"zoomOut\",this.elZoomOut,'\\n \\n \\n\\n');var n=function(i){t.t[i]&&e.config.chart[i].enabled&&r.push({el:\"zoom\"===i?t.elZoom:t.elSelection,icon:\"string\"==typeof t.t[i]?t.t[i]:\"zoom\"===i?'\\n \\n \\n \\n':'\\n \\n \\n',title:t.localeValues[\"zoom\"===i?\"selectionZoom\":\"selection\"],class:e.globals.isTouchDevice?\"apexcharts-element-hidden\":\"apexcharts-\".concat(i,\"-icon\")})};n(\"zoom\"),n(\"selection\"),this.t.pan&&e.config.chart.zoom.enabled&&r.push({el:this.elPan,icon:\"string\"==typeof this.t.pan?this.t.pan:'\\n \\n \\n \\n \\n \\n \\n \\n',title:this.localeValues.pan,class:e.globals.isTouchDevice?\"apexcharts-element-hidden\":\"apexcharts-pan-icon\"}),o(\"reset\",this.elZoomReset,'\\n \\n \\n'),this.t.download&&r.push({el:this.elMenuIcon,icon:\"string\"==typeof this.t.download?this.t.download:'',title:this.localeValues.menu,class:\"apexcharts-menu-icon\"});for(var l=0;l0&&e.height>0&&this.slDraggableRect.selectize({points:\"l, r\",pointSize:8,pointType:\"rect\"}).resize({constraint:{minX:0,minY:0,maxX:t.globals.gridWidth,maxY:t.globals.gridHeight}}).on(\"resizing\",this.selectionDragging.bind(this,\"resizing\"))}}},{key:\"preselectedSelection\",value:function(){var t=this.w,e=this.xyRatios;if(!t.globals.zoomEnabled)if(void 0!==t.globals.selection&&null!==t.globals.selection)this.drawSelectionRect(t.globals.selection);else if(void 0!==t.config.chart.selection.xaxis.min&&void 0!==t.config.chart.selection.xaxis.max){var i=(t.config.chart.selection.xaxis.min-t.globals.minX)/e.xRatio,a=t.globals.gridWidth-(t.globals.maxX-t.config.chart.selection.xaxis.max)/e.xRatio-i;t.globals.isRangeBar&&(i=(t.config.chart.selection.xaxis.min-t.globals.yAxisScale[0].niceMin)/e.invertedYRatio,a=(t.config.chart.selection.xaxis.max-t.config.chart.selection.xaxis.min)/e.invertedYRatio);var s={x:i,y:0,width:a,height:t.globals.gridHeight,translateX:0,translateY:0,selectionEnabled:!0};this.drawSelectionRect(s),this.makeSelectionRectDraggable(),\"function\"==typeof t.config.chart.events.selection&&t.config.chart.events.selection(this.ctx,{xaxis:{min:t.config.chart.selection.xaxis.min,max:t.config.chart.selection.xaxis.max},yaxis:{}})}}},{key:\"drawSelectionRect\",value:function(t){var e=t.x,i=t.y,a=t.width,s=t.height,r=t.translateX,o=void 0===r?0:r,n=t.translateY,l=void 0===n?0:n,h=this.w,c=this.zoomRect,d=this.selectionRect;if(this.dragged||null!==h.globals.selection){var g={transform:\"translate(\"+o+\", \"+l+\")\"};h.globals.zoomEnabled&&this.dragged&&(a<0&&(a=1),c.attr({x:e,y:i,width:a,height:s,fill:h.config.chart.zoom.zoomedArea.fill.color,\"fill-opacity\":h.config.chart.zoom.zoomedArea.fill.opacity,stroke:h.config.chart.zoom.zoomedArea.stroke.color,\"stroke-width\":h.config.chart.zoom.zoomedArea.stroke.width,\"stroke-opacity\":h.config.chart.zoom.zoomedArea.stroke.opacity}),y.setAttrs(c.node,g)),h.globals.selectionEnabled&&(d.attr({x:e,y:i,width:a>0?a:0,height:s>0?s:0,fill:h.config.chart.selection.fill.color,\"fill-opacity\":h.config.chart.selection.fill.opacity,stroke:h.config.chart.selection.stroke.color,\"stroke-width\":h.config.chart.selection.stroke.width,\"stroke-dasharray\":h.config.chart.selection.stroke.dashArray,\"stroke-opacity\":h.config.chart.selection.stroke.opacity}),y.setAttrs(d.node,g))}}},{key:\"hideSelectionRect\",value:function(t){t&&t.attr({x:0,y:0,width:0,height:0})}},{key:\"selectionDrawing\",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.gridRect.getBoundingClientRect(),o=s.startX-1,n=s.startY,l=!1,h=!1,c=s.clientX-r.left-o,d=s.clientY-r.top-n,g={};return Math.abs(c+o)>a.globals.gridWidth?c=a.globals.gridWidth-o:s.clientX-r.left<0&&(c=o),o>s.clientX-r.left&&(l=!0,c=Math.abs(c)),n>s.clientY-r.top&&(h=!0,d=Math.abs(d)),g=\"x\"===i?{x:l?o-c:o,y:0,width:c,height:a.globals.gridHeight}:\"y\"===i?{x:0,y:h?n-d:n,width:a.globals.gridWidth,height:d}:{x:l?o-c:o,y:h?n-d:n,width:c,height:d},s.drawSelectionRect(g),s.selectionDragging(\"resizing\"),g}},{key:\"selectionDragging\",value:function(t,e){var i=this,a=this.w,s=this.xyRatios,r=this.selectionRect,o=0;\"resizing\"===t&&(o=30);var n=function(t){return parseFloat(r.node.getAttribute(t))},l={x:n(\"x\"),y:n(\"y\"),width:n(\"width\"),height:n(\"height\")};a.globals.selection=l,\"function\"==typeof a.config.chart.events.selection&&a.globals.selectionEnabled&&(clearTimeout(this.w.globals.selectionResizeTimer),this.w.globals.selectionResizeTimer=window.setTimeout((function(){var t,e,o,n,l=i.gridRect.getBoundingClientRect(),h=r.node.getBoundingClientRect();a.globals.isRangeBar?(t=a.globals.yAxisScale[0].niceMin+(h.left-l.left)*s.invertedYRatio,e=a.globals.yAxisScale[0].niceMin+(h.right-l.left)*s.invertedYRatio,o=0,n=1):(t=a.globals.xAxisScale.niceMin+(h.left-l.left)*s.xRatio,e=a.globals.xAxisScale.niceMin+(h.right-l.left)*s.xRatio,o=a.globals.yAxisScale[0].niceMin+(l.bottom-h.bottom)*s.yRatio[0],n=a.globals.yAxisScale[0].niceMax-(h.top-l.top)*s.yRatio[0]);var c={xaxis:{min:t,max:e},yaxis:{min:o,max:n}};a.config.chart.events.selection(i.ctx,c),a.config.chart.brush.enabled&&void 0!==a.config.chart.events.brushScrolled&&a.config.chart.events.brushScrolled(i.ctx,c)}),o))}},{key:\"selectionDrawn\",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.xyRatios,o=this.ctx.toolbar;if(s.startX>s.endX){var n=s.startX;s.startX=s.endX,s.endX=n}if(s.startY>s.endY){var l=s.startY;s.startY=s.endY,s.endY=l}var h=void 0,c=void 0;a.globals.isRangeBar?(h=a.globals.yAxisScale[0].niceMin+s.startX*r.invertedYRatio,c=a.globals.yAxisScale[0].niceMin+s.endX*r.invertedYRatio):(h=a.globals.xAxisScale.niceMin+s.startX*r.xRatio,c=a.globals.xAxisScale.niceMin+s.endX*r.xRatio);var d=[],g=[];if(a.config.yaxis.forEach((function(t,e){d.push(a.globals.yAxisScale[e].niceMax-r.yRatio[e]*s.startY),g.push(a.globals.yAxisScale[e].niceMax-r.yRatio[e]*s.endY)})),s.dragged&&(s.dragX>10||s.dragY>10)&&h!==c)if(a.globals.zoomEnabled){var u=b.clone(a.globals.initialConfig.yaxis),p=b.clone(a.globals.initialConfig.xaxis);if(a.globals.zoomed=!0,a.config.xaxis.convertedCatToNumeric&&(h=Math.floor(h),c=Math.floor(c),h<1&&(h=1,c=a.globals.dataPoints),c-h<2&&(c=h+1)),\"xy\"!==i&&\"x\"!==i||(p={min:h,max:c}),\"xy\"!==i&&\"y\"!==i||u.forEach((function(t,e){u[e].min=g[e],u[e].max=d[e]})),o){var f=o.getBeforeZoomRange(p,u);f&&(p=f.xaxis?f.xaxis:p,u=f.yaxis?f.yaxis:u)}var x={xaxis:p};a.config.chart.group||(x.yaxis=u),s.ctx.updateHelpers._updateOptions(x,!1,s.w.config.chart.animations.dynamicAnimation.enabled),\"function\"==typeof a.config.chart.events.zoomed&&o.zoomCallback(p,u)}else if(a.globals.selectionEnabled){var v,m=null;v={min:h,max:c},\"xy\"!==i&&\"y\"!==i||(m=b.clone(a.config.yaxis)).forEach((function(t,e){m[e].min=g[e],m[e].max=d[e]})),a.globals.selection=s.selection,\"function\"==typeof a.config.chart.events.selection&&a.config.chart.events.selection(s.ctx,{xaxis:v,yaxis:m})}}},{key:\"panDragging\",value:function(t){var e=t.context,i=this.w,a=e;if(void 0!==i.globals.lastClientPosition.x){var s=i.globals.lastClientPosition.x-a.clientX,r=i.globals.lastClientPosition.y-a.clientY;Math.abs(s)>Math.abs(r)&&s>0?this.moveDirection=\"left\":Math.abs(s)>Math.abs(r)&&s<0?this.moveDirection=\"right\":Math.abs(r)>Math.abs(s)&&r>0?this.moveDirection=\"up\":Math.abs(r)>Math.abs(s)&&r<0&&(this.moveDirection=\"down\")}i.globals.lastClientPosition={x:a.clientX,y:a.clientY};var o=i.globals.isRangeBar?i.globals.minY:i.globals.minX,n=i.globals.isRangeBar?i.globals.maxY:i.globals.maxX;i.config.xaxis.convertedCatToNumeric||a.panScrolled(o,n)}},{key:\"delayedPanScrolled\",value:function(){var t=this.w,e=t.globals.minX,i=t.globals.maxX,a=(t.globals.maxX-t.globals.minX)/2;\"left\"===this.moveDirection?(e=t.globals.minX+a,i=t.globals.maxX+a):\"right\"===this.moveDirection&&(e=t.globals.minX-a,i=t.globals.maxX-a),e=Math.floor(e),i=Math.floor(i),this.updateScrolledChart({xaxis:{min:e,max:i}},e,i)}},{key:\"panScrolled\",value:function(t,e){var i=this.w,a=this.xyRatios,s=b.clone(i.globals.initialConfig.yaxis),r=a.xRatio,o=i.globals.minX,n=i.globals.maxX;i.globals.isRangeBar&&(r=a.invertedYRatio,o=i.globals.minY,n=i.globals.maxY),\"left\"===this.moveDirection?(t=o+i.globals.gridWidth/15*r,e=n+i.globals.gridWidth/15*r):\"right\"===this.moveDirection&&(t=o-i.globals.gridWidth/15*r,e=n-i.globals.gridWidth/15*r),i.globals.isRangeBar||(ti.globals.initialMaxX)&&(t=o,e=n);var l={xaxis:{min:t,max:e}};i.config.chart.group||(l.yaxis=s),this.updateScrolledChart(l,t,e)}},{key:\"updateScrolledChart\",value:function(t,e,i){var a=this.w;this.ctx.updateHelpers._updateOptions(t,!1,!1),\"function\"==typeof a.config.chart.events.scrolled&&a.config.chart.events.scrolled(this.ctx,{xaxis:{min:e,max:i}})}}]),i}(),gt=function(){function t(e){a(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx}return r(t,[{key:\"getNearestValues\",value:function(t){var e=t.hoverArea,i=t.elGrid,a=t.clientX,s=t.clientY,r=this.w,o=i.getBoundingClientRect(),n=o.width,l=o.height,h=n/(r.globals.dataPoints-1),c=l/r.globals.dataPoints,d=this.hasBars();!r.globals.comboCharts&&!d||r.config.xaxis.convertedCatToNumeric||(h=n/r.globals.dataPoints);var g=a-o.left-r.globals.barPadForNumericAxis,u=s-o.top;g<0||u<0||g>n||u>l?(e.classList.remove(\"hovering-zoom\"),e.classList.remove(\"hovering-pan\")):r.globals.zoomEnabled?(e.classList.remove(\"hovering-pan\"),e.classList.add(\"hovering-zoom\")):r.globals.panEnabled&&(e.classList.remove(\"hovering-zoom\"),e.classList.add(\"hovering-pan\"));var p=Math.round(g/h),f=Math.floor(u/c);d&&!r.config.xaxis.convertedCatToNumeric&&(p=Math.ceil(g/h),p-=1);var x=null,v=null,m=r.globals.seriesXvalues.map((function(t){return t.filter((function(t){return b.isNumber(t)}))})),y=r.globals.seriesYvalues.map((function(t){return t.filter((function(t){return b.isNumber(t)}))}));if(r.globals.isXNumeric){var w=this.ttCtx.getElGrid().getBoundingClientRect(),k=g*(w.width/n),A=u*(w.height/l);x=(v=this.closestInMultiArray(k,A,m,y)).index,p=v.j,null!==x&&(m=r.globals.seriesXvalues[x],p=(v=this.closestInArray(k,m)).index)}return r.globals.capturedSeriesIndex=null===x?-1:x,(!p||p<1)&&(p=0),r.globals.isBarHorizontal?r.globals.capturedDataPointIndex=f:r.globals.capturedDataPointIndex=p,{capturedSeries:x,j:r.globals.isBarHorizontal?f:p,hoverX:g,hoverY:u}}},{key:\"closestInMultiArray\",value:function(t,e,i,a){var s=this.w,r=0,o=null,n=-1;s.globals.series.length>1?r=this.getFirstActiveXArray(i):o=0;var l=i[r][0],h=Math.abs(t-l);if(i.forEach((function(e){e.forEach((function(e,i){var a=Math.abs(t-e);a<=h&&(h=a,n=i)}))})),-1!==n){var c=a[r][n],d=Math.abs(e-c);o=r,a.forEach((function(t,i){var a=Math.abs(e-t[n]);a<=d&&(d=a,o=i)}))}return{index:o,j:n}}},{key:\"getFirstActiveXArray\",value:function(t){for(var e=this.w,i=0,a=t.map((function(t,e){return t.length>0?e:-1})),s=0;s0)for(var a=0;a *\")):this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-series-markers-wrap > *\")}},{key:\"getAllMarkers\",value:function(){var t=this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-series-markers-wrap\");(t=u(t)).sort((function(t,e){var i=Number(t.getAttribute(\"data:realIndex\")),a=Number(e.getAttribute(\"data:realIndex\"));return ai?-1:0}));var e=[];return t.forEach((function(t){e.push(t.querySelector(\".apexcharts-marker\"))})),e}},{key:\"hasMarkers\",value:function(t){return this.getElMarkers(t).length>0}},{key:\"getElBars\",value:function(){return this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-bar-series, .apexcharts-candlestick-series, .apexcharts-boxPlot-series, .apexcharts-rangebar-series\")}},{key:\"hasBars\",value:function(){return this.getElBars().length>0}},{key:\"getHoverMarkerSize\",value:function(t){var e=this.w,i=e.config.markers.hover.size;return void 0===i&&(i=e.globals.markers.size[t]+e.config.markers.hover.sizeOffset),i}},{key:\"toggleAllTooltipSeriesGroups\",value:function(t){var e=this.w,i=this.ttCtx;0===i.allTooltipSeriesGroups.length&&(i.allTooltipSeriesGroups=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-tooltip-series-group\"));for(var a=i.allTooltipSeriesGroups,s=0;s\",e=\"
\";d.forEach((function(i,a){t+='
').concat(i.attrs.name,\"
\"),e+=\"
\".concat(i.val,\"
\")})),v.innerHTML=t+\"
\",m.innerHTML=e+\"\"};o?l.globals.seriesGoals[e][i]&&Array.isArray(l.globals.seriesGoals[e][i])?y():(v.innerHTML=\"\",m.innerHTML=\"\"):y()}else v.innerHTML=\"\",m.innerHTML=\"\";null!==p&&(a[e].querySelector(\".apexcharts-tooltip-text-z-label\").innerHTML=l.config.tooltip.z.title,a[e].querySelector(\".apexcharts-tooltip-text-z-value\").innerHTML=void 0!==p?p:\"\");if(o&&f[0]){if(l.config.tooltip.hideEmptySeries){var w=a[e].querySelector(\".apexcharts-tooltip-marker\"),k=a[e].querySelector(\".apexcharts-tooltip-text\");0==parseFloat(c)?(w.style.display=\"none\",k.style.display=\"none\"):(w.style.display=\"block\",k.style.display=\"block\")}null==c||l.globals.ancillaryCollapsedSeriesIndices.indexOf(e)>-1||l.globals.collapsedSeriesIndices.indexOf(e)>-1?f[0].parentNode.style.display=\"none\":f[0].parentNode.style.display=l.config.tooltip.items.display}}},{key:\"toggleActiveInactiveSeries\",value:function(t){var e=this.w;if(t)this.tooltipUtil.toggleAllTooltipSeriesGroups(\"enable\");else{this.tooltipUtil.toggleAllTooltipSeriesGroups(\"disable\");var i=e.globals.dom.baseEl.querySelector(\".apexcharts-tooltip-series-group\");i&&(i.classList.add(\"apexcharts-active\"),i.style.display=e.config.tooltip.items.display)}}},{key:\"getValuesToPrint\",value:function(t){var e=t.i,i=t.j,a=this.w,s=this.ctx.series.filteredSeriesX(),r=\"\",o=\"\",n=null,l=null,h={series:a.globals.series,seriesIndex:e,dataPointIndex:i,w:a},c=a.globals.ttZFormatter;null===i?l=a.globals.series[e]:a.globals.isXNumeric&&\"treemap\"!==a.config.chart.type?(r=s[e][i],0===s[e].length&&(r=s[this.tooltipUtil.getFirstActiveXArray(s)][i])):r=void 0!==a.globals.labels[i]?a.globals.labels[i]:\"\";var d=r;a.globals.isXNumeric&&\"datetime\"===a.config.xaxis.type?r=new T(this.ctx).xLabelFormat(a.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new I(this.ctx).formatDate,w:this.w}):r=a.globals.isBarHorizontal?a.globals.yLabelFormatters[0](d,h):a.globals.xLabelFormatter(d,h);return void 0!==a.config.tooltip.x.formatter&&(r=a.globals.ttKeyFormatter(d,h)),a.globals.seriesZ.length>0&&a.globals.seriesZ[e].length>0&&(n=c(a.globals.seriesZ[e][i],a)),o=\"function\"==typeof a.config.xaxis.tooltip.formatter?a.globals.xaxisTooltipFormatter(d,h):r,{val:Array.isArray(l)?l.join(\" \"):l,xVal:Array.isArray(r)?r.join(\" \"):r,xAxisTTVal:Array.isArray(o)?o.join(\" \"):o,zVal:n}}},{key:\"handleCustomTooltip\",value:function(t){var e=t.i,i=t.j,a=t.y1,s=t.y2,r=t.w,o=this.ttCtx.getElTooltip(),n=r.config.tooltip.custom;Array.isArray(n)&&n[e]&&(n=n[e]),o.innerHTML=n({ctx:this.ctx,series:r.globals.series,seriesIndex:e,dataPointIndex:i,y1:a,y2:s,w:r})}}]),t}(),pt=function(){function t(e){a(this,t),this.ttCtx=e,this.ctx=e.ctx,this.w=e.w}return r(t,[{key:\"moveXCrosshairs\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.ttCtx,a=this.w,s=i.getElXCrosshairs(),r=t-i.xcrosshairsWidth/2,o=a.globals.labels.slice().length;if(null!==e&&(r=a.globals.gridWidth/o*e),null===s||a.globals.isBarHorizontal||(s.setAttribute(\"x\",r),s.setAttribute(\"x1\",r),s.setAttribute(\"x2\",r),s.setAttribute(\"y2\",a.globals.gridHeight),s.classList.add(\"apexcharts-active\")),r<0&&(r=0),r>a.globals.gridWidth&&(r=a.globals.gridWidth),i.isXAxisTooltipEnabled){var n=r;\"tickWidth\"!==a.config.xaxis.crosshairs.width&&\"barWidth\"!==a.config.xaxis.crosshairs.width||(n=r+i.xcrosshairsWidth/2),this.moveXAxisTooltip(n)}}},{key:\"moveYCrosshairs\",value:function(t){var e=this.ttCtx;null!==e.ycrosshairs&&y.setAttrs(e.ycrosshairs,{y1:t,y2:t}),null!==e.ycrosshairsHidden&&y.setAttrs(e.ycrosshairsHidden,{y1:t,y2:t})}},{key:\"moveXAxisTooltip\",value:function(t){var e=this.w,i=this.ttCtx;if(null!==i.xaxisTooltip&&0!==i.xcrosshairsWidth){i.xaxisTooltip.classList.add(\"apexcharts-active\");var a=i.xaxisOffY+e.config.xaxis.tooltip.offsetY+e.globals.translateY+1+e.config.xaxis.offsetY;if(t-=i.xaxisTooltip.getBoundingClientRect().width/2,!isNaN(t)){t+=e.globals.translateX;var s;s=new y(this.ctx).getTextRects(i.xaxisTooltipText.innerHTML),i.xaxisTooltipText.style.minWidth=s.width+\"px\",i.xaxisTooltip.style.left=t+\"px\",i.xaxisTooltip.style.top=a+\"px\"}}}},{key:\"moveYAxisTooltip\",value:function(t){var e=this.w,i=this.ttCtx;null===i.yaxisTTEls&&(i.yaxisTTEls=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxistooltip\"));var a=parseInt(i.ycrosshairsHidden.getAttribute(\"y1\"),10),s=e.globals.translateY+a,r=i.yaxisTTEls[t].getBoundingClientRect().height,o=e.globals.translateYAxisX[t]-2;e.config.yaxis[t].opposite&&(o-=26),s-=r/2,-1===e.globals.ignoreYAxisIndexes.indexOf(t)?(i.yaxisTTEls[t].classList.add(\"apexcharts-active\"),i.yaxisTTEls[t].style.top=s+\"px\",i.yaxisTTEls[t].style.left=o+e.config.yaxis[t].tooltip.offsetX+\"px\"):i.yaxisTTEls[t].classList.remove(\"apexcharts-active\")}},{key:\"moveTooltip\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=this.ttCtx,r=s.getElTooltip(),o=s.tooltipRect,n=null!==i?parseFloat(i):1,l=parseFloat(t)+n+5,h=parseFloat(e)+n/2;if(l>a.globals.gridWidth/2&&(l=l-o.ttWidth-n-10),l>a.globals.gridWidth-o.ttWidth-10&&(l=a.globals.gridWidth-o.ttWidth),l<-20&&(l=-20),a.config.tooltip.followCursor){var c=s.getElGrid().getBoundingClientRect();(l=s.e.clientX-c.left)>a.globals.gridWidth/2&&(l-=s.tooltipRect.ttWidth),(h=s.e.clientY+a.globals.translateY-c.top)>a.globals.gridHeight/2&&(h-=s.tooltipRect.ttHeight)}else a.globals.isBarHorizontal||o.ttHeight/2+h>a.globals.gridHeight&&(h=a.globals.gridHeight-o.ttHeight+a.globals.translateY);isNaN(l)||(l+=a.globals.translateX,r.style.left=l+\"px\",r.style.top=h+\"px\")}},{key:\"moveMarkers\",value:function(t,e){var i=this.w,a=this.ttCtx;if(i.globals.markers.size[t]>0)for(var s=i.globals.dom.baseEl.querySelectorAll(\" .apexcharts-series[data\\\\:realIndex='\".concat(t,\"'] .apexcharts-marker\")),r=0;r0&&(h.setAttribute(\"r\",n),h.setAttribute(\"cx\",i),h.setAttribute(\"cy\",a)),this.moveXCrosshairs(i),r.fixedTooltip||this.moveTooltip(i,a,n)}}},{key:\"moveDynamicPointsOnHover\",value:function(t){var e,i=this.ttCtx,a=i.w,s=0,r=0,o=a.globals.pointsArray;e=new W(this.ctx).getActiveConfigSeriesIndex(\"asc\",[\"line\",\"area\",\"scatter\",\"bubble\"]);var n=i.tooltipUtil.getHoverMarkerSize(e);o[e]&&(s=o[e][t][0],r=o[e][t][1]);var l=i.tooltipUtil.getAllMarkers();if(null!==l)for(var h=0;h0?(l[h]&&l[h].setAttribute(\"r\",n),l[h]&&l[h].setAttribute(\"cy\",d)):l[h]&&l[h].setAttribute(\"r\",0)}}this.moveXCrosshairs(s),i.fixedTooltip||this.moveTooltip(s,r||a.globals.gridHeight,n)}},{key:\"moveStickyTooltipOverBars\",value:function(t,e){var i=this.w,a=this.ttCtx,s=i.globals.columnSeries?i.globals.columnSeries.length:i.globals.series.length,r=s>=2&&s%2==0?Math.floor(s/2):Math.floor(s/2)+1;i.globals.isBarHorizontal&&(r=new W(this.ctx).getActiveConfigSeriesIndex(\"desc\")+1);var o=i.globals.dom.baseEl.querySelector(\".apexcharts-bar-series .apexcharts-series[rel='\".concat(r,\"'] path[j='\").concat(t,\"'], .apexcharts-candlestick-series .apexcharts-series[rel='\").concat(r,\"'] path[j='\").concat(t,\"'], .apexcharts-boxPlot-series .apexcharts-series[rel='\").concat(r,\"'] path[j='\").concat(t,\"'], .apexcharts-rangebar-series .apexcharts-series[rel='\").concat(r,\"'] path[j='\").concat(t,\"']\"));o||\"number\"!=typeof e||(o=i.globals.dom.baseEl.querySelector(\".apexcharts-bar-series .apexcharts-series[data\\\\:realIndex='\".concat(e,\"'] path[j='\").concat(t,\"'],\\n .apexcharts-candlestick-series .apexcharts-series[data\\\\:realIndex='\").concat(e,\"'] path[j='\").concat(t,\"'],\\n .apexcharts-boxPlot-series .apexcharts-series[data\\\\:realIndex='\").concat(e,\"'] path[j='\").concat(t,\"'],\\n .apexcharts-rangebar-series .apexcharts-series[data\\\\:realIndex='\").concat(e,\"'] path[j='\").concat(t,\"']\")));var n=o?parseFloat(o.getAttribute(\"cx\")):0,l=o?parseFloat(o.getAttribute(\"cy\")):0,h=o?parseFloat(o.getAttribute(\"barWidth\")):0,c=a.getElGrid().getBoundingClientRect(),d=o&&(o.classList.contains(\"apexcharts-candlestick-area\")||o.classList.contains(\"apexcharts-boxPlot-area\"));i.globals.isXNumeric?(o&&!d&&(n-=s%2!=0?h/2:0),o&&d&&i.globals.comboCharts&&(n-=h/2)):i.globals.isBarHorizontal||(n=a.xAxisTicksPositions[t-1]+a.dataPointsDividedWidth/2,isNaN(n)&&(n=a.xAxisTicksPositions[t]-a.dataPointsDividedWidth/2)),i.globals.isBarHorizontal?l-=a.tooltipRect.ttHeight:i.config.tooltip.followCursor?l=a.e.clientY-c.top-a.tooltipRect.ttHeight/2:l+a.tooltipRect.ttHeight+15>i.globals.gridHeight&&(l=i.globals.gridHeight),i.globals.isBarHorizontal||this.moveXCrosshairs(n),a.fixedTooltip||this.moveTooltip(n,l||i.globals.gridHeight)}}]),t}(),ft=function(){function t(e){a(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx,this.tooltipPosition=new pt(e)}return r(t,[{key:\"drawDynamicPoints\",value:function(){var t=this.w,e=new y(this.ctx),i=new D(this.ctx),a=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-series\");a=u(a),t.config.chart.stacked&&a.sort((function(t,e){return parseFloat(t.getAttribute(\"data:realIndex\"))-parseFloat(e.getAttribute(\"data:realIndex\"))}));for(var s=0;s2&&void 0!==arguments[2]?arguments[2]:null,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w;\"bubble\"!==s.config.chart.type&&this.newPointSize(t,e);var r=e.getAttribute(\"cx\"),o=e.getAttribute(\"cy\");if(null!==i&&null!==a&&(r=i,o=a),this.tooltipPosition.moveXCrosshairs(r),!this.fixedTooltip){if(\"radar\"===s.config.chart.type){var n=this.ttCtx.getElGrid().getBoundingClientRect();r=this.ttCtx.e.clientX-n.left}this.tooltipPosition.moveTooltip(r,o,s.config.markers.hover.size)}}},{key:\"enlargePoints\",value:function(t){for(var e=this.w,i=this,a=this.ttCtx,s=t,r=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker\"),o=e.config.markers.hover.size,n=0;n=0?t[e].setAttribute(\"r\",i):t[e].setAttribute(\"r\",0)}}}]),t}(),xt=function(){function t(e){a(this,t),this.w=e.w;var i=this.w;this.ttCtx=e,this.isVerticalGroupedRangeBar=!i.globals.isBarHorizontal&&\"rangeBar\"===i.config.chart.type&&i.config.plotOptions.bar.rangeBarGroupRows}return r(t,[{key:\"getAttr\",value:function(t,e){return parseFloat(t.target.getAttribute(e))}},{key:\"handleHeatTreeTooltip\",value:function(t){var e=t.e,i=t.opt,a=t.x,s=t.y,r=t.type,o=this.ttCtx,n=this.w;if(e.target.classList.contains(\"apexcharts-\".concat(r,\"-rect\"))){var l=this.getAttr(e,\"i\"),h=this.getAttr(e,\"j\"),c=this.getAttr(e,\"cx\"),d=this.getAttr(e,\"cy\"),g=this.getAttr(e,\"width\"),u=this.getAttr(e,\"height\");if(o.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:l,j:h,shared:!1,e:e}),n.globals.capturedSeriesIndex=l,n.globals.capturedDataPointIndex=h,a=c+o.tooltipRect.ttWidth/2+g,s=d+o.tooltipRect.ttHeight/2-u/2,o.tooltipPosition.moveXCrosshairs(c+g/2),a>n.globals.gridWidth/2&&(a=c-o.tooltipRect.ttWidth/2+g),o.w.config.tooltip.followCursor){var p=n.globals.dom.elWrap.getBoundingClientRect();a=n.globals.clientX-p.left-(a>n.globals.gridWidth/2?o.tooltipRect.ttWidth:0),s=n.globals.clientY-p.top-(s>n.globals.gridHeight/2?o.tooltipRect.ttHeight:0)}}return{x:a,y:s}}},{key:\"handleMarkerTooltip\",value:function(t){var e,i,a=t.e,s=t.opt,r=t.x,o=t.y,n=this.w,l=this.ttCtx;if(a.target.classList.contains(\"apexcharts-marker\")){var h=parseInt(s.paths.getAttribute(\"cx\"),10),c=parseInt(s.paths.getAttribute(\"cy\"),10),d=parseFloat(s.paths.getAttribute(\"val\"));if(i=parseInt(s.paths.getAttribute(\"rel\"),10),e=parseInt(s.paths.parentNode.parentNode.parentNode.getAttribute(\"rel\"),10)-1,l.intersect){var g=b.findAncestor(s.paths,\"apexcharts-series\");g&&(e=parseInt(g.getAttribute(\"data:realIndex\"),10))}if(l.tooltipLabels.drawSeriesTexts({ttItems:s.ttItems,i:e,j:i,shared:!l.showOnIntersect&&n.config.tooltip.shared,e:a}),\"mouseup\"===a.type&&l.markerClick(a,e,i),n.globals.capturedSeriesIndex=e,n.globals.capturedDataPointIndex=i,r=h,o=c+n.globals.translateY-1.4*l.tooltipRect.ttHeight,l.w.config.tooltip.followCursor){var u=l.getElGrid().getBoundingClientRect();o=l.e.clientY+n.globals.translateY-u.top}d<0&&(o=c),l.marker.enlargeCurrentPoint(i,s.paths,r,o)}return{x:r,y:o}}},{key:\"handleBarTooltip\",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,o=this.ttCtx,n=o.getElTooltip(),l=0,h=0,c=0,d=this.getBarTooltipXY({e:a,opt:s});e=d.i;var g=d.barHeight,u=d.j;r.globals.capturedSeriesIndex=e,r.globals.capturedDataPointIndex=u,r.globals.isBarHorizontal&&o.tooltipUtil.hasBars()||!r.config.tooltip.shared?(h=d.x,c=d.y,i=Array.isArray(r.config.stroke.width)?r.config.stroke.width[e]:r.config.stroke.width,l=h):r.globals.comboCharts||r.config.tooltip.shared||(l/=2),isNaN(c)&&(c=r.globals.svgHeight-o.tooltipRect.ttHeight);var p=parseInt(s.paths.parentNode.getAttribute(\"data:realIndex\"),10),f=r.globals.isMultipleYAxis?r.config.yaxis[p]&&r.config.yaxis[p].reversed:r.config.yaxis[0].reversed;if(h+o.tooltipRect.ttWidth>r.globals.gridWidth&&!f?h-=o.tooltipRect.ttWidth:h<0&&(h=0),o.w.config.tooltip.followCursor){var x=o.getElGrid().getBoundingClientRect();c=o.e.clientY-x.top}null===o.tooltip&&(o.tooltip=r.globals.dom.baseEl.querySelector(\".apexcharts-tooltip\")),r.config.tooltip.shared||(r.globals.comboBarCount>0?o.tooltipPosition.moveXCrosshairs(l+i/2):o.tooltipPosition.moveXCrosshairs(l)),!o.fixedTooltip&&(!r.config.tooltip.shared||r.globals.isBarHorizontal&&o.tooltipUtil.hasBars())&&(f&&(h-=o.tooltipRect.ttWidth)<0&&(h=0),!f||r.globals.isBarHorizontal&&o.tooltipUtil.hasBars()||(c=c+g-2*(r.globals.series[e][u]<0?g:0)),c=c+r.globals.translateY-o.tooltipRect.ttHeight/2,n.style.left=h+r.globals.translateX+\"px\",n.style.top=c+\"px\")}},{key:\"getBarTooltipXY\",value:function(t){var e=this,i=t.e,a=t.opt,s=this.w,r=null,o=this.ttCtx,n=0,l=0,h=0,c=0,d=0,g=i.target.classList;if(g.contains(\"apexcharts-bar-area\")||g.contains(\"apexcharts-candlestick-area\")||g.contains(\"apexcharts-boxPlot-area\")||g.contains(\"apexcharts-rangebar-area\")){var u=i.target,p=u.getBoundingClientRect(),f=a.elGrid.getBoundingClientRect(),x=p.height;d=p.height;var b=p.width,v=parseInt(u.getAttribute(\"cx\"),10),m=parseInt(u.getAttribute(\"cy\"),10);c=parseFloat(u.getAttribute(\"barWidth\"));var y=\"touchmove\"===i.type?i.touches[0].clientX:i.clientX;r=parseInt(u.getAttribute(\"j\"),10),n=parseInt(u.parentNode.getAttribute(\"rel\"),10)-1;var w=u.getAttribute(\"data-range-y1\"),k=u.getAttribute(\"data-range-y2\");s.globals.comboCharts&&(n=parseInt(u.parentNode.getAttribute(\"data:realIndex\"),10));var A=function(t){return s.globals.isXNumeric?v-b/2:e.isVerticalGroupedRangeBar?v+b/2:v-o.dataPointsDividedWidth+b/2},S=function(){return m-o.dataPointsDividedHeight+x/2-o.tooltipRect.ttHeight/2};o.tooltipLabels.drawSeriesTexts({ttItems:a.ttItems,i:n,j:r,y1:w?parseInt(w,10):null,y2:k?parseInt(k,10):null,shared:!o.showOnIntersect&&s.config.tooltip.shared,e:i}),s.config.tooltip.followCursor?s.globals.isBarHorizontal?(l=y-f.left+15,h=S()):(l=A(),h=i.clientY-f.top-o.tooltipRect.ttHeight/2-15):s.globals.isBarHorizontal?((l=v)0&&i.setAttribute(\"width\",e.xcrosshairsWidth)}},{key:\"handleYCrosshair\",value:function(){var t=this.w,e=this.ttCtx;e.ycrosshairs=t.globals.dom.baseEl.querySelector(\".apexcharts-ycrosshairs\"),e.ycrosshairsHidden=t.globals.dom.baseEl.querySelector(\".apexcharts-ycrosshairs-hidden\")}},{key:\"drawYaxisTooltipText\",value:function(t,e,i){var a=this.ttCtx,s=this.w,r=s.globals.yLabelFormatters[t];if(a.yaxisTooltips[t]){var o=a.getElGrid().getBoundingClientRect(),n=(e-o.top)*i.yRatio[t],l=s.globals.maxYArr[t]-s.globals.minYArr[t],h=s.globals.minYArr[t]+(l-n);a.tooltipPosition.moveYCrosshairs(e-o.top),a.yaxisTooltipText[t].innerHTML=r(h),a.tooltipPosition.moveYAxisTooltip(t)}}}]),t}(),vt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w;var i=this.w;this.tConfig=i.config.tooltip,this.tooltipUtil=new gt(this),this.tooltipLabels=new ut(this),this.tooltipPosition=new pt(this),this.marker=new ft(this),this.intersect=new xt(this),this.axesTooltip=new bt(this),this.showOnIntersect=this.tConfig.intersect,this.showTooltipTitle=this.tConfig.x.show,this.fixedTooltip=this.tConfig.fixed.enabled,this.xaxisTooltip=null,this.yaxisTTEls=null,this.isBarShared=!i.globals.isBarHorizontal&&this.tConfig.shared,this.lastHoverTime=Date.now()}return r(t,[{key:\"getElTooltip\",value:function(t){return t||(t=this),t.w.globals.dom.baseEl?t.w.globals.dom.baseEl.querySelector(\".apexcharts-tooltip\"):null}},{key:\"getElXCrosshairs\",value:function(){return this.w.globals.dom.baseEl.querySelector(\".apexcharts-xcrosshairs\")}},{key:\"getElGrid\",value:function(){return this.w.globals.dom.baseEl.querySelector(\".apexcharts-grid\")}},{key:\"drawTooltip\",value:function(t){var e=this.w;this.xyRatios=t,this.isXAxisTooltipEnabled=e.config.xaxis.tooltip.enabled&&e.globals.axisCharts,this.yaxisTooltips=e.config.yaxis.map((function(t,i){return!!(t.show&&t.tooltip.enabled&&e.globals.axisCharts)})),this.allTooltipSeriesGroups=[],e.globals.axisCharts||(this.showTooltipTitle=!1);var i=document.createElement(\"div\");if(i.classList.add(\"apexcharts-tooltip\"),e.config.tooltip.cssClass&&i.classList.add(e.config.tooltip.cssClass),i.classList.add(\"apexcharts-theme-\".concat(this.tConfig.theme)),e.globals.dom.elWrap.appendChild(i),e.globals.axisCharts){this.axesTooltip.drawXaxisTooltip(),this.axesTooltip.drawYaxisTooltip(),this.axesTooltip.setXCrosshairWidth(),this.axesTooltip.handleYCrosshair();var a=new j(this.ctx);this.xAxisTicksPositions=a.getXAxisTicksPositions()}if(!e.globals.comboCharts&&!this.tConfig.intersect&&\"rangeBar\"!==e.config.chart.type||this.tConfig.shared||(this.showOnIntersect=!0),0!==e.config.markers.size&&0!==e.globals.markers.largestSize||this.marker.drawDynamicPoints(this),e.globals.collapsedSeries.length!==e.globals.series.length){this.dataPointsDividedHeight=e.globals.gridHeight/e.globals.dataPoints,this.dataPointsDividedWidth=e.globals.gridWidth/e.globals.dataPoints,this.showTooltipTitle&&(this.tooltipTitle=document.createElement(\"div\"),this.tooltipTitle.classList.add(\"apexcharts-tooltip-title\"),this.tooltipTitle.style.fontFamily=this.tConfig.style.fontFamily||e.config.chart.fontFamily,this.tooltipTitle.style.fontSize=this.tConfig.style.fontSize,i.appendChild(this.tooltipTitle));var s=e.globals.series.length;(e.globals.xyCharts||e.globals.comboCharts)&&this.tConfig.shared&&(s=this.showOnIntersect?1:e.globals.series.length),this.legendLabels=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-legend-text\"),this.ttItems=this.createTTElements(s),this.addSVGEvents()}}},{key:\"createTTElements\",value:function(t){for(var e=this,i=this.w,a=[],s=this.getElTooltip(),r=function(r){var o=document.createElement(\"div\");o.classList.add(\"apexcharts-tooltip-series-group\"),o.style.order=i.config.tooltip.inverseOrder?t-r:r+1,e.tConfig.shared&&e.tConfig.enabledOnSeries&&Array.isArray(e.tConfig.enabledOnSeries)&&e.tConfig.enabledOnSeries.indexOf(r)<0&&o.classList.add(\"apexcharts-tooltip-series-group-hidden\");var n=document.createElement(\"span\");n.classList.add(\"apexcharts-tooltip-marker\"),n.style.backgroundColor=i.globals.colors[r],o.appendChild(n);var l=document.createElement(\"div\");l.classList.add(\"apexcharts-tooltip-text\"),l.style.fontFamily=e.tConfig.style.fontFamily||i.config.chart.fontFamily,l.style.fontSize=e.tConfig.style.fontSize,[\"y\",\"goals\",\"z\"].forEach((function(t){var e=document.createElement(\"div\");e.classList.add(\"apexcharts-tooltip-\".concat(t,\"-group\"));var i=document.createElement(\"span\");i.classList.add(\"apexcharts-tooltip-text-\".concat(t,\"-label\")),e.appendChild(i);var a=document.createElement(\"span\");a.classList.add(\"apexcharts-tooltip-text-\".concat(t,\"-value\")),e.appendChild(a),l.appendChild(e)})),o.appendChild(l),s.appendChild(o),a.push(o)},o=0;o0&&this.addPathsEventListeners(u,c),this.tooltipUtil.hasBars()&&!this.tConfig.shared&&this.addDatapointEventsListeners(c)}}},{key:\"drawFixedTooltipRect\",value:function(){var t=this.w,e=this.getElTooltip(),i=e.getBoundingClientRect(),a=i.width+10,s=i.height+10,r=this.tConfig.fixed.offsetX,o=this.tConfig.fixed.offsetY,n=this.tConfig.fixed.position.toLowerCase();return n.indexOf(\"right\")>-1&&(r=r+t.globals.svgWidth-a+10),n.indexOf(\"bottom\")>-1&&(o=o+t.globals.svgHeight-s-10),e.style.left=r+\"px\",e.style.top=o+\"px\",{x:r,y:o,ttWidth:a,ttHeight:s}}},{key:\"addDatapointEventsListeners\",value:function(t){var e=this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-series-markers .apexcharts-marker, .apexcharts-bar-area, .apexcharts-candlestick-area, .apexcharts-boxPlot-area, .apexcharts-rangebar-area\");this.addPathsEventListeners(e,t)}},{key:\"addPathsEventListeners\",value:function(t,e){for(var i=this,a=function(a){var s={paths:t[a],tooltipEl:e.tooltipEl,tooltipY:e.tooltipY,tooltipX:e.tooltipX,elGrid:e.elGrid,hoverArea:e.hoverArea,ttItems:e.ttItems};[\"mousemove\",\"mouseup\",\"touchmove\",\"mouseout\",\"touchend\"].map((function(e){return t[a].addEventListener(e,i.onSeriesHover.bind(i,s),{capture:!1,passive:!0})}))},s=0;s=100?this.seriesHover(t,e):(clearTimeout(this.seriesHoverTimeout),this.seriesHoverTimeout=setTimeout((function(){i.seriesHover(t,e)}),100-a))}},{key:\"seriesHover\",value:function(t,e){var i=this;this.lastHoverTime=Date.now();var a=[],s=this.w;s.config.chart.group&&(a=this.ctx.getGroupedCharts()),s.globals.axisCharts&&(s.globals.minX===-1/0&&s.globals.maxX===1/0||0===s.globals.dataPoints)||(a.length?a.forEach((function(a){var s=i.getElTooltip(a),r={paths:t.paths,tooltipEl:s,tooltipY:t.tooltipY,tooltipX:t.tooltipX,elGrid:t.elGrid,hoverArea:t.hoverArea,ttItems:a.w.globals.tooltip.ttItems};a.w.globals.minX===i.w.globals.minX&&a.w.globals.maxX===i.w.globals.maxX&&a.w.globals.tooltip.seriesHoverByContext({chartCtx:a,ttCtx:a.w.globals.tooltip,opt:r,e:e})})):this.seriesHoverByContext({chartCtx:this.ctx,ttCtx:this.w.globals.tooltip,opt:t,e:e}))}},{key:\"seriesHoverByContext\",value:function(t){var e=t.chartCtx,i=t.ttCtx,a=t.opt,s=t.e,r=e.w,o=this.getElTooltip();if(o){if(i.tooltipRect={x:0,y:0,ttWidth:o.getBoundingClientRect().width,ttHeight:o.getBoundingClientRect().height},i.e=s,i.tooltipUtil.hasBars()&&!r.globals.comboCharts&&!i.isBarShared)if(this.tConfig.onDatasetHover.highlightDataSeries)new W(e).toggleSeriesOnHover(s,s.target.parentNode);i.fixedTooltip&&i.drawFixedTooltipRect(),r.globals.axisCharts?i.axisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect}):i.nonAxisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect})}}},{key:\"axisChartsTooltips\",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,o=s.elGrid.getBoundingClientRect(),n=\"touchmove\"===a.type?a.touches[0].clientX:a.clientX,l=\"touchmove\"===a.type?a.touches[0].clientY:a.clientY;if(this.clientY=l,this.clientX=n,r.globals.capturedSeriesIndex=-1,r.globals.capturedDataPointIndex=-1,lo.top+o.height)this.handleMouseOut(s);else{if(Array.isArray(this.tConfig.enabledOnSeries)&&!r.config.tooltip.shared){var h=parseInt(s.paths.getAttribute(\"index\"),10);if(this.tConfig.enabledOnSeries.indexOf(h)<0)return void this.handleMouseOut(s)}var c=this.getElTooltip(),d=this.getElXCrosshairs(),g=r.globals.xyCharts||\"bar\"===r.config.chart.type&&!r.globals.isBarHorizontal&&this.tooltipUtil.hasBars()&&this.tConfig.shared||r.globals.comboCharts&&this.tooltipUtil.hasBars();if(\"mousemove\"===a.type||\"touchmove\"===a.type||\"mouseup\"===a.type){if(r.globals.collapsedSeries.length+r.globals.ancillaryCollapsedSeries.length===r.globals.series.length)return;null!==d&&d.classList.add(\"apexcharts-active\");var u=this.yaxisTooltips.filter((function(t){return!0===t}));if(null!==this.ycrosshairs&&u.length&&this.ycrosshairs.classList.add(\"apexcharts-active\"),g&&!this.showOnIntersect)this.handleStickyTooltip(a,n,l,s);else if(\"heatmap\"===r.config.chart.type||\"treemap\"===r.config.chart.type){var p=this.intersect.handleHeatTreeTooltip({e:a,opt:s,x:e,y:i,type:r.config.chart.type});e=p.x,i=p.y,c.style.left=e+\"px\",c.style.top=i+\"px\"}else this.tooltipUtil.hasBars()&&this.intersect.handleBarTooltip({e:a,opt:s}),this.tooltipUtil.hasMarkers()&&this.intersect.handleMarkerTooltip({e:a,opt:s,x:e,y:i});if(this.yaxisTooltips.length)for(var f=0;fl.width)this.handleMouseOut(a);else if(null!==n)this.handleStickyCapturedSeries(t,n,a,o);else if(this.tooltipUtil.isXoverlap(o)||s.globals.isBarHorizontal){var h=s.globals.series.findIndex((function(t,e){return!s.globals.collapsedSeriesIndices.includes(e)}));this.create(t,this,h,o,a.ttItems)}}},{key:\"handleStickyCapturedSeries\",value:function(t,e,i,a){var s=this.w;if(!this.tConfig.shared&&null===s.globals.series[e][a])return void this.handleMouseOut(i);if(void 0!==s.globals.series[e][a])this.tConfig.shared&&this.tooltipUtil.isXoverlap(a)&&this.tooltipUtil.isInitialSeriesSameLen()?this.create(t,this,e,a,i.ttItems):this.create(t,this,e,a,i.ttItems,!1);else if(this.tooltipUtil.isXoverlap(a)){var r=s.globals.series.findIndex((function(t,e){return!s.globals.collapsedSeriesIndices.includes(e)}));this.create(t,this,r,a,i.ttItems)}}},{key:\"deactivateHoverFilter\",value:function(){for(var t=this.w,e=new y(this.ctx),i=t.globals.dom.Paper.select(\".apexcharts-bar-area\"),a=0;a5&&void 0!==arguments[5]?arguments[5]:null,S=this.w,C=i;\"mouseup\"===t.type&&this.markerClick(t,a,s),null===A&&(A=this.tConfig.shared);var L=this.tooltipUtil.hasMarkers(a),P=this.tooltipUtil.getElBars();if(S.config.legend.tooltipHoverFormatter){var M=S.config.legend.tooltipHoverFormatter,I=Array.from(this.legendLabels);I.forEach((function(t){var e=t.getAttribute(\"data:default-text\");t.innerHTML=decodeURIComponent(e)}));for(var T=0;T0?C.marker.enlargePoints(s):C.tooltipPosition.moveDynamicPointsOnHover(s);else if(this.tooltipUtil.hasBars()&&(this.barSeriesHeight=this.tooltipUtil.getBarsHeight(P),this.barSeriesHeight>0)){var R=new y(this.ctx),H=S.globals.dom.Paper.select(\".apexcharts-bar-area[j='\".concat(s,\"']\"));this.deactivateHoverFilter(),this.tooltipPosition.moveStickyTooltipOverBars(s,a);for(var D=0;D0&&a.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(u-=c*A)),k){u=u+g.height/2-v/2-2}var C=this.barCtx.series[s][r]<0,L=l;switch(this.barCtx.isReversed&&(L=l-d+(C?2*d:0),l-=d),x.position){case\"center\":p=k?C?L-d/2+w:L+d/2-w:C?L-d/2+g.height/2+w:L+d/2+g.height/2-w;break;case\"bottom\":p=k?C?L-d+w:L+d-w:C?L-d+g.height+v+w:L+d-g.height/2+v-w;break;case\"top\":p=k?C?L+w:L-w:C?L-g.height/2-w:L+g.height+w}if(this.barCtx.lastActiveBarSerieIndex===o&&b.enabled){var P=new y(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:o,j:r}),f.fontSize);e=C?L-P.height/2-w-b.offsetY+18:L+P.height+w+b.offsetY-18,i=u+b.offsetX}return a.config.chart.stacked||(p<0?p=0+v:p+g.height/3>a.globals.gridHeight&&(p=a.globals.gridHeight-v)),{bcx:h,bcy:l,dataLabelsX:u,dataLabelsY:p,totalDataLabelsX:i,totalDataLabelsY:e,totalDataLabelsAnchor:\"middle\"}}},{key:\"calculateBarsDataLabelsPosition\",value:function(t){var e=this.w,i=t.x,a=t.i,s=t.j,r=t.realIndex,o=t.groupIndex,n=t.bcy,l=t.barHeight,h=t.barWidth,c=t.textRects,d=t.dataLabelsX,g=t.strokeWidth,u=t.dataLabelsConfig,p=t.barDataLabelsConfig,f=t.barTotalDataLabelsConfig,x=t.offX,b=t.offY,v=e.globals.gridHeight/e.globals.dataPoints;h=Math.abs(h);var m,w,k=(n+=-1!==o?o*l:0)-(this.barCtx.isRangeBar?0:v)+l/2+c.height/2+b-3,A=\"start\",S=this.barCtx.series[a][s]<0,C=i;switch(this.barCtx.isReversed&&(C=i+h-(S?2*h:0),i=e.globals.gridWidth-h),p.position){case\"center\":d=S?C+h/2-x:Math.max(c.width/2,C-h/2)+x;break;case\"bottom\":d=S?C+h-g-Math.round(c.width/2)-x:C-h+g+Math.round(c.width/2)+x;break;case\"top\":d=S?C-g+Math.round(c.width/2)-x:C-g-Math.round(c.width/2)+x}if(this.barCtx.lastActiveBarSerieIndex===r&&f.enabled){var L=new y(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:r,j:s}),u.fontSize);S?(m=C-g+Math.round(L.width/2)-x-f.offsetX-15,A=\"end\"):m=C-g-Math.round(L.width/2)+x+f.offsetX+15,w=k+f.offsetY}return e.config.chart.stacked||(d<0?d=d+c.width+g:d+c.width/2>e.globals.gridWidth&&(d=e.globals.gridWidth-c.width-g)),{bcx:i,bcy:n,dataLabelsX:d,dataLabelsY:k,totalDataLabelsX:m,totalDataLabelsY:w,totalDataLabelsAnchor:A}}},{key:\"drawCalculatedDataLabels\",value:function(t){var i=t.x,a=t.y,s=t.val,r=t.i,o=t.j,n=t.textRects,l=t.barHeight,h=t.barWidth,c=t.dataLabelsConfig,d=this.w,g=\"rotate(0)\";\"vertical\"===d.config.plotOptions.bar.dataLabels.orientation&&(g=\"rotate(-90, \".concat(i,\", \").concat(a,\")\"));var u=new N(this.barCtx.ctx),p=new y(this.barCtx.ctx),f=c.formatter,x=null,b=d.globals.collapsedSeriesIndices.indexOf(r)>-1;if(c.enabled&&!b){x=p.group({class:\"apexcharts-data-labels\",transform:g});var v=\"\";void 0!==s&&(v=f(s,e(e({},d),{},{seriesIndex:r,dataPointIndex:o,w:d}))),!s&&d.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(v=\"\");var m=d.globals.series[r][o]<0,w=d.config.plotOptions.bar.dataLabels.position;if(\"vertical\"===d.config.plotOptions.bar.dataLabels.orientation&&(\"top\"===w&&(c.textAnchor=m?\"end\":\"start\"),\"center\"===w&&(c.textAnchor=\"middle\"),\"bottom\"===w&&(c.textAnchor=m?\"end\":\"start\")),this.barCtx.isRangeBar&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels)hMath.abs(h)&&(v=\"\"):n.height/1.6>Math.abs(l)&&(v=\"\"));var k=e({},c);this.barCtx.isHorizontal&&s<0&&(\"start\"===c.textAnchor?k.textAnchor=\"end\":\"end\"===c.textAnchor&&(k.textAnchor=\"start\")),u.plotDataLabelsText({x:i,y:a,text:v,i:r,j:o,parent:x,dataLabelsConfig:k,alwaysDrawDataLabel:!0,offsetCorrection:!0})}return x}},{key:\"drawTotalDataLabels\",value:function(t){var e,i=t.x,a=t.y,s=t.val,r=t.barWidth,o=t.barHeight,n=t.realIndex,l=t.textAnchor,h=t.barTotalDataLabelsConfig,c=this.w,d=new y(this.barCtx.ctx);return h.enabled&&void 0!==i&&void 0!==a&&this.barCtx.lastActiveBarSerieIndex===n&&(e=d.drawText({x:i-(!c.globals.isBarHorizontal&&c.globals.seriesGroups.length?r/c.globals.seriesGroups.length:0),y:a-(c.globals.isBarHorizontal&&c.globals.seriesGroups.length?o/c.globals.seriesGroups.length:0),foreColor:h.style.color,text:s,textAnchor:l,fontFamily:h.style.fontFamily,fontSize:h.style.fontSize,fontWeight:h.style.fontWeight})),e}}]),t}(),yt=function(){function t(e){a(this,t),this.w=e.w,this.barCtx=e}return r(t,[{key:\"initVariables\",value:function(t){var e=this.w;this.barCtx.series=t,this.barCtx.totalItems=0,this.barCtx.seriesLen=0,this.barCtx.visibleI=-1,this.barCtx.visibleItems=1;for(var i=0;i0&&(this.barCtx.seriesLen=this.barCtx.seriesLen+1,this.barCtx.totalItems+=t[i].length),e.globals.isXNumeric)for(var a=0;ae.globals.minX&&e.globals.seriesX[i][a]0&&(a=l.globals.minXDiff/d),(r=a/c*parseInt(this.barCtx.barOptions.columnWidth,10)/100)<1&&(r=1)}-1===String(this.barCtx.barOptions.columnWidth).indexOf(\"%\")&&(r=parseInt(this.barCtx.barOptions.columnWidth,10)),o=l.globals.gridHeight-this.barCtx.baseLineY[this.barCtx.yaxisIndex]-(this.barCtx.isReversed?l.globals.gridHeight:0)+(this.barCtx.isReversed?2*this.barCtx.baseLineY[this.barCtx.yaxisIndex]:0),t=l.globals.padHorizontal+(a-r*this.barCtx.seriesLen)/2}return l.globals.barHeight=s,l.globals.barWidth=r,{x:t,y:e,yDivision:i,xDivision:a,barHeight:s,barWidth:r,zeroH:o,zeroW:n}}},{key:\"initializeStackedPrevVars\",value:function(t){var e=t.w;e.globals.hasSeriesGroups?e.globals.seriesGroups.forEach((function(e){t[e]||(t[e]={}),t[e].prevY=[],t[e].prevX=[],t[e].prevYF=[],t[e].prevXF=[],t[e].prevYVal=[],t[e].prevXVal=[]})):(t.prevY=[],t.prevX=[],t.prevYF=[],t.prevXF=[],t.prevYVal=[],t.prevXVal=[])}},{key:\"initializeStackedXYVars\",value:function(t){var e=t.w;e.globals.hasSeriesGroups?e.globals.seriesGroups.forEach((function(e){t[e]||(t[e]={}),t[e].xArrj=[],t[e].xArrjF=[],t[e].xArrjVal=[],t[e].yArrj=[],t[e].yArrjF=[],t[e].yArrjVal=[]})):(t.xArrj=[],t.xArrjF=[],t.xArrjVal=[],t.yArrj=[],t.yArrjF=[],t.yArrjVal=[])}},{key:\"getPathFillColor\",value:function(t,e,i,a){var s,r,o,n,l=this.w,h=new H(this.barCtx.ctx),c=null,d=this.barCtx.barOptions.distributed?i:e;this.barCtx.barOptions.colors.ranges.length>0&&this.barCtx.barOptions.colors.ranges.map((function(a){t[e][i]>=a.from&&t[e][i]<=a.to&&(c=a.color)}));return l.config.series[e].data[i]&&l.config.series[e].data[i].fillColor&&(c=l.config.series[e].data[i].fillColor),h.fillPath({seriesNumber:this.barCtx.barOptions.distributed?d:a,dataPointIndex:i,color:c,value:t[e][i],fillConfig:null===(s=l.config.series[e].data[i])||void 0===s?void 0:s.fill,fillType:null!==(r=l.config.series[e].data[i])&&void 0!==r&&null!==(o=r.fill)&&void 0!==o&&o.type?null===(n=l.config.series[e].data[i])||void 0===n?void 0:n.fill.type:Array.isArray(l.config.fill.type)?l.config.fill.type[e]:l.config.fill.type})}},{key:\"getStrokeWidth\",value:function(t,e,i){var a=0,s=this.w;return void 0===this.barCtx.series[t][e]||null===this.barCtx.series[t][e]?this.barCtx.isNullValue=!0:this.barCtx.isNullValue=!1,s.config.stroke.show&&(this.barCtx.isNullValue||(a=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[i]:this.barCtx.strokeWidth)),a}},{key:\"shouldApplyRadius\",value:function(t){var e=this.w,i=!1;return e.config.plotOptions.bar.borderRadius>0&&(e.config.chart.stacked&&\"last\"===e.config.plotOptions.bar.borderRadiusWhenStacked?this.barCtx.lastActiveBarSerieIndex===t&&(i=!0):i=!0),i}},{key:\"barBackground\",value:function(t){var e=t.j,i=t.i,a=t.x1,s=t.x2,r=t.y1,o=t.y2,n=t.elSeries,l=this.w,h=new y(this.barCtx.ctx),c=new W(this.barCtx.ctx).getActiveConfigSeriesIndex();if(this.barCtx.barOptions.colors.backgroundBarColors.length>0&&c===i){e>=this.barCtx.barOptions.colors.backgroundBarColors.length&&(e%=this.barCtx.barOptions.colors.backgroundBarColors.length);var d=this.barCtx.barOptions.colors.backgroundBarColors[e],g=h.drawRect(void 0!==a?a:0,void 0!==r?r:0,void 0!==s?s:l.globals.gridWidth,void 0!==o?o:l.globals.gridHeight,this.barCtx.barOptions.colors.backgroundBarRadius,d,this.barCtx.barOptions.colors.backgroundBarOpacity);n.add(g),g.node.classList.add(\"apexcharts-backgroundBar\")}}},{key:\"getColumnPaths\",value:function(t){var e,i=t.barWidth,a=t.barXPosition,s=t.y1,r=t.y2,o=t.strokeWidth,n=t.seriesGroup,l=t.realIndex,h=t.i,c=t.j,d=t.w,g=new y(this.barCtx.ctx);(o=Array.isArray(o)?o[l]:o)||(o=0);var u=i,p=a;null!==(e=d.config.series[l].data[c])&&void 0!==e&&e.columnWidthOffset&&(p=a-d.config.series[l].data[c].columnWidthOffset/2,u=i+d.config.series[l].data[c].columnWidthOffset);var f=p,x=p+u;s+=.001,r+=.001;var b=g.move(f,s),v=g.move(f,s),m=g.line(x-o,s);if(d.globals.previousPaths.length>0&&(v=this.barCtx.getPreviousPath(l,c,!1)),b=b+g.line(f,r)+g.line(x-o,r)+g.line(x-o,s)+(\"around\"===d.config.plotOptions.bar.borderRadiusApplication?\" Z\":\" z\"),v=v+g.line(f,s)+m+m+m+m+m+g.line(f,s)+(\"around\"===d.config.plotOptions.bar.borderRadiusApplication?\" Z\":\" z\"),this.shouldApplyRadius(l)&&(b=g.roundPathCorners(b,d.config.plotOptions.bar.borderRadius)),d.config.chart.stacked){var w=this.barCtx;d.globals.hasSeriesGroups&&n&&(w=this.barCtx[n]),w.yArrj.push(r),w.yArrjF.push(Math.abs(s-r)),w.yArrjVal.push(this.barCtx.series[h][c])}return{pathTo:b,pathFrom:v}}},{key:\"getBarpaths\",value:function(t){var e,i=t.barYPosition,a=t.barHeight,s=t.x1,r=t.x2,o=t.strokeWidth,n=t.seriesGroup,l=t.realIndex,h=t.i,c=t.j,d=t.w,g=new y(this.barCtx.ctx);(o=Array.isArray(o)?o[l]:o)||(o=0);var u=i,p=a;null!==(e=d.config.series[l].data[c])&&void 0!==e&&e.barHeightOffset&&(u=i-d.config.series[l].data[c].barHeightOffset/2,p=a+d.config.series[l].data[c].barHeightOffset);var f=u,x=u+p;s+=.001,r+=.001;var b=g.move(s,f),v=g.move(s,f);d.globals.previousPaths.length>0&&(v=this.barCtx.getPreviousPath(l,c,!1));var m=g.line(s,x-o);if(b=b+g.line(r,f)+g.line(r,x-o)+m+(\"around\"===d.config.plotOptions.bar.borderRadiusApplication?\" Z\":\" z\"),v=v+g.line(s,f)+m+m+m+m+m+g.line(s,f)+(\"around\"===d.config.plotOptions.bar.borderRadiusApplication?\" Z\":\" z\"),this.shouldApplyRadius(l)&&(b=g.roundPathCorners(b,d.config.plotOptions.bar.borderRadius)),d.config.chart.stacked){var w=this.barCtx;d.globals.hasSeriesGroups&&n&&(w=this.barCtx[n]),w.xArrj.push(r),w.xArrjF.push(Math.abs(s-r)),w.xArrjVal.push(this.barCtx.series[h][c])}return{pathTo:b,pathFrom:v}}},{key:\"checkZeroSeries\",value:function(t){for(var e=t.series,i=this.w,a=0;a2&&void 0!==arguments[2])||arguments[2]?e:null;return null!=t&&(i=e+t/this.barCtx.invertedYRatio-2*(this.barCtx.isReversed?t/this.barCtx.invertedYRatio:0)),i}},{key:\"getYForValue\",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2]?e:null;return null!=t&&(i=e-t/this.barCtx.yRatio[this.barCtx.yaxisIndex]+2*(this.barCtx.isReversed?t/this.barCtx.yRatio[this.barCtx.yaxisIndex]:0)),i}},{key:\"getGoalValues\",value:function(t,i,a,s,r){var n=this,l=this.w,h=[],c=function(e,s){var r;h.push((o(r={},t,\"x\"===t?n.getXForValue(e,i,!1):n.getYForValue(e,a,!1)),o(r,\"attrs\",s),r))};if(l.globals.seriesGoals[s]&&l.globals.seriesGoals[s][r]&&Array.isArray(l.globals.seriesGoals[s][r])&&l.globals.seriesGoals[s][r].forEach((function(t){c(t.value,t)})),this.barCtx.barOptions.isDumbbell&&l.globals.seriesRange.length){var d=this.barCtx.barOptions.dumbbellColors?this.barCtx.barOptions.dumbbellColors:l.globals.colors,g={strokeHeight:\"x\"===t?0:l.globals.markers.size[s],strokeWidth:\"x\"===t?l.globals.markers.size[s]:0,strokeDashArray:0,strokeLineCap:\"round\",strokeColor:Array.isArray(d[s])?d[s][0]:d[s]};c(l.globals.seriesRangeStart[s][r],g),c(l.globals.seriesRangeEnd[s][r],e(e({},g),{},{strokeColor:Array.isArray(d[s])?d[s][1]:d[s]}))}return h}},{key:\"drawGoalLine\",value:function(t){var e=t.barXPosition,i=t.barYPosition,a=t.goalX,s=t.goalY,r=t.barWidth,o=t.barHeight,n=new y(this.barCtx.ctx),l=n.group({className:\"apexcharts-bar-goals-groups\"});l.node.classList.add(\"apexcharts-element-hidden\"),this.barCtx.w.globals.delayedElements.push({el:l.node}),l.attr(\"clip-path\",\"url(#gridRectMarkerMask\".concat(this.barCtx.w.globals.cuid,\")\"));var h=null;return this.barCtx.isHorizontal?Array.isArray(a)&&a.forEach((function(t){var e=void 0!==t.attrs.strokeHeight?t.attrs.strokeHeight:o/2,a=i+e+o/2;h=n.drawLine(t.x,a-2*e,t.x,a,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeWidth?t.attrs.strokeWidth:2,t.attrs.strokeLineCap),l.add(h)})):Array.isArray(s)&&s.forEach((function(t){var i=void 0!==t.attrs.strokeWidth?t.attrs.strokeWidth:r/2,a=e+i+r/2;h=n.drawLine(a-2*i,t.y,a,t.y,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeHeight?t.attrs.strokeHeight:2,t.attrs.strokeLineCap),l.add(h)})),l}},{key:\"drawBarShadow\",value:function(t){var e=t.prevPaths,i=t.currPaths,a=t.color,s=this.w,r=e.x,o=e.x1,n=e.barYPosition,l=i.x,h=i.x1,c=i.barYPosition,d=n+i.barHeight,g=new y(this.barCtx.ctx),u=new b,p=g.move(o,d)+g.line(r,d)+g.line(l,c)+g.line(h,c)+g.line(o,d)+(\"around\"===s.config.plotOptions.bar.borderRadiusApplication?\" Z\":\" z\");return g.drawPath({d:p,fill:u.shadeColor(.5,b.rgb2hex(a)),stroke:\"none\",strokeWidth:0,fillOpacity:1,classes:\"apexcharts-bar-shadows\"})}},{key:\"getZeroValueEncounters\",value:function(t){var e=t.i,i=t.j,a=this.w,s=0,r=0;return a.globals.seriesPercent.forEach((function(t,a){t[i]&&s++,athis.barOptions.dataLabels.maxItems&&console.warn(\"WARNING: DataLabels are enabled but there are too many to display. This may cause performance issue when rendering - ApexCharts\");for(var n=0,l=0;n0&&(this.visibleI=this.visibleI+1);var k=0,A=0;this.yRatio.length>1&&(this.yaxisIndex=v),this.isReversed=a.config.yaxis[this.yaxisIndex]&&a.config.yaxis[this.yaxisIndex].reversed;var S=this.barHelpers.initialPositions();p=S.y,k=S.barHeight,c=S.yDivision,g=S.zeroW,u=S.x,A=S.barWidth,h=S.xDivision,d=S.zeroH,this.horizontal||x.push(u+A/2);var C=s.group({class:\"apexcharts-datalabels\",\"data:realIndex\":v});a.globals.delayedElements.push({el:C.node}),C.node.classList.add(\"apexcharts-element-hidden\");var L=s.group({class:\"apexcharts-bar-goals-markers\"}),P=s.group({class:\"apexcharts-bar-shadows\"});a.globals.delayedElements.push({el:P.node}),P.node.classList.add(\"apexcharts-element-hidden\");for(var M=0;M0){var E=this.barHelpers.drawBarShadow({color:\"string\"==typeof X&&-1===(null==X?void 0:X.indexOf(\"url\"))?X:b.hexToRgba(a.globals.colors[n]),prevPaths:this.pathArr[this.pathArr.length-1],currPaths:T});E&&P.add(E)}this.pathArr.push(T);var Y=this.barHelpers.drawGoalLine({barXPosition:T.barXPosition,barYPosition:T.barYPosition,goalX:T.goalX,goalY:T.goalY,barHeight:k,barWidth:A});Y&&L.add(Y),p=T.y,u=T.x,M>0&&x.push(u+A/2),f.push(p),this.renderSeries({realIndex:v,pathFill:X,j:M,i:n,pathFrom:T.pathFrom,pathTo:T.pathTo,strokeWidth:I,elSeries:m,x:u,y:p,series:t,barHeight:T.barHeight?T.barHeight:k,barWidth:T.barWidth?T.barWidth:A,elDataLabelsWrap:C,elGoalsMarkers:L,elBarShadows:P,visibleSeries:this.visibleI,type:\"bar\"})}a.globals.seriesXvalues[v]=x,a.globals.seriesYvalues[v]=f,o.add(m)}return o}},{key:\"renderSeries\",value:function(t){var e=t.realIndex,i=t.pathFill,a=t.lineFill,s=t.j,r=t.i,o=t.groupIndex,n=t.pathFrom,l=t.pathTo,h=t.strokeWidth,c=t.elSeries,d=t.x,g=t.y,u=t.y1,p=t.y2,f=t.series,x=t.barHeight,b=t.barWidth,v=t.barXPosition,w=t.barYPosition,k=t.elDataLabelsWrap,A=t.elGoalsMarkers,S=t.elBarShadows,C=t.visibleSeries,L=t.type,P=this.w,M=new y(this.ctx);a||(a=this.barOptions.distributed?P.globals.stroke.colors[s]:P.globals.stroke.colors[e]),P.config.series[r].data[s]&&P.config.series[r].data[s].strokeColor&&(a=P.config.series[r].data[s].strokeColor),this.isNullValue&&(i=\"none\");var I=s/P.config.chart.animations.animateGradually.delay*(P.config.chart.animations.speed/P.globals.dataPoints)/2.4,T=M.renderPaths({i:r,j:s,realIndex:e,pathFrom:n,pathTo:l,stroke:a,strokeWidth:h,strokeLineCap:P.config.stroke.lineCap,fill:i,animationDelay:I,initialSpeed:P.config.chart.animations.speed,dataChangeSpeed:P.config.chart.animations.dynamicAnimation.speed,className:\"apexcharts-\".concat(L,\"-area\")});T.attr(\"clip-path\",\"url(#gridRectMask\".concat(P.globals.cuid,\")\"));var z=P.config.forecastDataPoints;z.count>0&&s>=P.globals.dataPoints-z.count&&(T.node.setAttribute(\"stroke-dasharray\",z.dashArray),T.node.setAttribute(\"stroke-width\",z.strokeWidth),T.node.setAttribute(\"fill-opacity\",z.fillOpacity)),void 0!==u&&void 0!==p&&(T.attr(\"data-range-y1\",u),T.attr(\"data-range-y2\",p)),new m(this.ctx).setSelectionFilter(T,e,s),c.add(T);var X=new mt(this).handleBarDataLabels({x:d,y:g,y1:u,y2:p,i:r,j:s,series:f,realIndex:e,groupIndex:o,barHeight:x,barWidth:b,barXPosition:v,barYPosition:w,renderedPath:T,visibleSeries:C});return null!==X.dataLabels&&k.add(X.dataLabels),X.totalDataLabels&&k.add(X.totalDataLabels),c.add(k),A&&c.add(A),S&&c.add(S),c}},{key:\"drawBarPaths\",value:function(t){var e,i=t.indexes,a=t.barHeight,s=t.strokeWidth,r=t.zeroW,o=t.x,n=t.y,l=t.yDivision,h=t.elSeries,c=this.w,d=i.i,g=i.j;if(c.globals.isXNumeric)e=(n=(c.globals.seriesX[d][g]-c.globals.minX)/this.invertedXRatio-a)+a*this.visibleI;else if(c.config.plotOptions.bar.hideZeroBarsWhenGrouped){var u=0,p=0;c.globals.seriesPercent.forEach((function(t,e){t[g]&&u++,e0&&(a=this.seriesLen*a/u),e=n+a*this.visibleI,e-=a*p}else e=n+a*this.visibleI;this.isFunnel&&(r-=(this.barHelpers.getXForValue(this.series[d][g],r)-r)/2),o=this.barHelpers.getXForValue(this.series[d][g],r);var f=this.barHelpers.getBarpaths({barYPosition:e,barHeight:a,x1:r,x2:o,strokeWidth:s,series:this.series,realIndex:i.realIndex,i:d,j:g,w:c});return c.globals.isXNumeric||(n+=l),this.barHelpers.barBackground({j:g,i:d,y1:e-a*this.visibleI,y2:a*this.seriesLen,elSeries:h}),{pathTo:f.pathTo,pathFrom:f.pathFrom,x1:r,x:o,y:n,goalX:this.barHelpers.getGoalValues(\"x\",r,null,d,g),barYPosition:e,barHeight:a}}},{key:\"drawColumnPaths\",value:function(t){var e,i=t.indexes,a=t.x,s=t.y,r=t.xDivision,o=t.barWidth,n=t.zeroH,l=t.strokeWidth,h=t.elSeries,c=this.w,d=i.realIndex,g=i.i,u=i.j,p=i.bc;if(c.globals.isXNumeric){var f=this.getBarXForNumericXAxis({x:a,j:u,realIndex:d,barWidth:o});a=f.x,e=f.barXPosition}else if(c.config.plotOptions.bar.hideZeroBarsWhenGrouped){var x=this.barHelpers.getZeroValueEncounters({i:g,j:u}),b=x.nonZeroColumns,v=x.zeroEncounters;b>0&&(o=this.seriesLen*o/b),e=a+o*this.visibleI,e-=o*v}else e=a+o*this.visibleI;s=this.barHelpers.getYForValue(this.series[g][u],n);var m=this.barHelpers.getColumnPaths({barXPosition:e,barWidth:o,y1:n,y2:s,strokeWidth:l,series:this.series,realIndex:i.realIndex,i:g,j:u,w:c});return c.globals.isXNumeric||(a+=r),this.barHelpers.barBackground({bc:p,j:u,i:g,x1:e-l/2-o*this.visibleI,x2:o*this.seriesLen+l/2,elSeries:h}),{pathTo:m.pathTo,pathFrom:m.pathFrom,x:a,y:s,goalY:this.barHelpers.getGoalValues(\"y\",null,n,g,u),barXPosition:e,barWidth:o}}},{key:\"getBarXForNumericXAxis\",value:function(t){var e=t.x,i=t.barWidth,a=t.realIndex,s=t.j,r=this.w,o=a;return r.globals.seriesX[a].length||(o=r.globals.maxValsInArrayIndex),r.globals.seriesX[o][s]&&(e=(r.globals.seriesX[o][s]-r.globals.minX)/this.xRatio-i*this.seriesLen/2),{barXPosition:e+i*this.visibleI,x:e}}},{key:\"getPreviousPath\",value:function(t,e){for(var i,a=this.w,s=0;s0&&parseInt(r.realIndex,10)===parseInt(t,10)&&void 0!==a.globals.previousPaths[s].paths[e]&&(i=a.globals.previousPaths[s].paths[e].d)}return i}}]),t}(),kt=function(t){n(s,wt);var i=d(s);function s(){return a(this,s),i.apply(this,arguments)}return r(s,[{key:\"draw\",value:function(t,i){var a=this,s=this.w;this.graphics=new y(this.ctx),this.bar=new wt(this.ctx,this.xyRatios);var r=new w(this.ctx,s);t=r.getLogSeries(t),this.yRatio=r.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t),\"100%\"===s.config.chart.stackType&&(t=s.globals.seriesPercent.slice()),this.series=t,this.barHelpers.initializeStackedPrevVars(this);for(var o=this.graphics.group({class:\"apexcharts-bar-series apexcharts-plot-series\"}),n=0,l=0,h=function(r,h){var c=void 0,d=void 0,g=void 0,u=void 0,p=-1;a.groupCtx=a,s.globals.seriesGroups.forEach((function(t,e){t.indexOf(s.config.series[r].name)>-1&&(p=e)})),-1!==p&&(a.groupCtx=a[s.globals.seriesGroups[p]]);var f=[],x=[],v=s.globals.comboCharts?i[r]:r;a.yRatio.length>1&&(a.yaxisIndex=v),a.isReversed=s.config.yaxis[a.yaxisIndex]&&s.config.yaxis[a.yaxisIndex].reversed;var m=a.graphics.group({class:\"apexcharts-series\",seriesName:b.escapeString(s.globals.seriesNames[v]),rel:r+1,\"data:realIndex\":v});a.ctx.series.addCollapsedClassToSeries(m,v);var y=a.graphics.group({class:\"apexcharts-datalabels\",\"data:realIndex\":v}),w=a.graphics.group({class:\"apexcharts-bar-goals-markers\"}),k=0,A=0,S=a.initialPositions(n,l,c,d,g,u);l=S.y,k=S.barHeight,d=S.yDivision,u=S.zeroW,n=S.x,A=S.barWidth,c=S.xDivision,g=S.zeroH,s.globals.barHeight=k,s.globals.barWidth=A,a.barHelpers.initializeStackedXYVars(a),1===a.groupCtx.prevY.length&&a.groupCtx.prevY[0].every((function(t){return isNaN(t)}))&&(a.groupCtx.prevY[0]=a.groupCtx.prevY[0].map((function(t){return g})),a.groupCtx.prevYF[0]=a.groupCtx.prevYF[0].map((function(t){return 0})));for(var C=0;C1?(i=c.globals.minXDiff/this.xRatio)*parseInt(this.barOptions.columnWidth,10)/100:h*parseInt(c.config.plotOptions.bar.columnWidth,10)/100,-1===String(c.config.plotOptions.bar.columnWidth).indexOf(\"%\")&&(h=parseInt(c.config.plotOptions.bar.columnWidth,10)),s=c.globals.gridHeight-this.baseLineY[this.yaxisIndex]-(this.isReversed?c.globals.gridHeight:0)+(this.isReversed?2*this.baseLineY[this.yaxisIndex]:0),t=c.globals.padHorizontal+(i-h)/2),{x:t,y:e,yDivision:a,xDivision:i,barHeight:null!==(o=c.globals.seriesGroups)&&void 0!==o&&o.length?l/c.globals.seriesGroups.length:l,barWidth:null!==(n=c.globals.seriesGroups)&&void 0!==n&&n.length?h/c.globals.seriesGroups.length:h,zeroH:s,zeroW:r}}},{key:\"drawStackedBarPaths\",value:function(t){for(var e,i=t.indexes,a=t.barHeight,s=t.strokeWidth,r=t.zeroW,o=t.x,n=t.y,l=t.groupIndex,h=t.seriesGroup,c=t.yDivision,d=t.elSeries,g=this.w,u=n+(-1!==l?l*a:0),p=i.i,f=i.j,x=0,b=0;b0){var m=r;this.groupCtx.prevXVal[v-1][f]<0?m=this.series[p][f]>=0?this.groupCtx.prevX[v-1][f]+x-2*(this.isReversed?x:0):this.groupCtx.prevX[v-1][f]:this.groupCtx.prevXVal[v-1][f]>=0&&(m=this.series[p][f]>=0?this.groupCtx.prevX[v-1][f]:this.groupCtx.prevX[v-1][f]-x+2*(this.isReversed?x:0)),e=m}else e=r;o=null===this.series[p][f]?e:e+this.series[p][f]/this.invertedYRatio-2*(this.isReversed?this.series[p][f]/this.invertedYRatio:0);var y=this.barHelpers.getBarpaths({barYPosition:u,barHeight:a,x1:e,x2:o,strokeWidth:s,series:this.series,realIndex:i.realIndex,seriesGroup:h,i:p,j:f,w:g});return this.barHelpers.barBackground({j:f,i:p,y1:u,y2:a,elSeries:d}),n+=c,{pathTo:y.pathTo,pathFrom:y.pathFrom,goalX:this.barHelpers.getGoalValues(\"x\",r,null,p,f),barYPosition:u,x:o,y:n}}},{key:\"drawStackedColumnPaths\",value:function(t){var e=t.indexes,i=t.x,a=t.y,s=t.xDivision,r=t.barWidth,o=t.zeroH,n=t.groupIndex,l=t.seriesGroup,h=t.elSeries,c=this.w,d=e.i,g=e.j,u=e.bc;if(c.globals.isXNumeric){var p=c.globals.seriesX[d][g];p||(p=0),i=(p-c.globals.minX)/this.xRatio-r/2,c.globals.seriesGroups.length&&(i=(p-c.globals.minX)/this.xRatio-r/2*c.globals.seriesGroups.length)}for(var f,x=i+(-1!==n?n*r:0),b=0,v=0;v0&&!c.globals.isXNumeric||m>0&&c.globals.isXNumeric&&c.globals.seriesX[d-1][g]===c.globals.seriesX[d][g]){var y,w,k,A=Math.min(this.yRatio.length+1,d+1);if(void 0!==this.groupCtx.prevY[m-1]&&this.groupCtx.prevY[m-1].length)for(var S=1;S=0?k-b+2*(this.isReversed?b:0):k;break}if((null===(M=this.groupCtx.prevYVal[m-L])||void 0===M?void 0:M[g])>=0){w=this.series[d][g]>=0?k:k+b-2*(this.isReversed?b:0);break}}void 0===w&&(w=c.globals.gridHeight),f=null!==(y=this.groupCtx.prevYF[0])&&void 0!==y&&y.every((function(t){return 0===t}))&&this.groupCtx.prevYF.slice(1,m).every((function(t){return t.every((function(t){return isNaN(t)}))}))?o:w}else f=o;a=this.series[d][g]?f-this.series[d][g]/this.yRatio[this.yaxisIndex]+2*(this.isReversed?this.series[d][g]/this.yRatio[this.yaxisIndex]:0):f;var I=this.barHelpers.getColumnPaths({barXPosition:x,barWidth:r,y1:f,y2:a,yRatio:this.yRatio[this.yaxisIndex],strokeWidth:this.strokeWidth,series:this.series,seriesGroup:l,realIndex:e.realIndex,i:d,j:g,w:c});return this.barHelpers.barBackground({bc:u,j:g,i:d,x1:x,x2:r,elSeries:h}),i+=s,{pathTo:I.pathTo,pathFrom:I.pathFrom,goalY:this.barHelpers.getGoalValues(\"y\",null,o,d,g),barXPosition:x,x:c.globals.isXNumeric?i-s:i,y:a}}}]),s}(),At=function(t){n(s,wt);var i=d(s);function s(){return a(this,s),i.apply(this,arguments)}return r(s,[{key:\"draw\",value:function(t,i,a){var s=this,r=this.w,o=new y(this.ctx),n=r.globals.comboCharts?i:r.config.chart.type,l=new H(this.ctx);this.candlestickOptions=this.w.config.plotOptions.candlestick,this.boxOptions=this.w.config.plotOptions.boxPlot,this.isHorizontal=r.config.plotOptions.bar.horizontal;var h=new w(this.ctx,r);t=h.getLogSeries(t),this.series=t,this.yRatio=h.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);for(var c=o.group({class:\"apexcharts-\".concat(n,\"-series apexcharts-plot-series\")}),d=function(i){s.isBoxPlot=\"boxPlot\"===r.config.chart.type||\"boxPlot\"===r.config.series[i].type;var n,h,d,g,u=void 0,p=void 0,f=[],x=[],v=r.globals.comboCharts?a[i]:i,m=o.group({class:\"apexcharts-series\",seriesName:b.escapeString(r.globals.seriesNames[v]),rel:i+1,\"data:realIndex\":v});s.ctx.series.addCollapsedClassToSeries(m,v),t[i].length>0&&(s.visibleI=s.visibleI+1);var y,w;s.yRatio.length>1&&(s.yaxisIndex=v);var k=s.barHelpers.initialPositions();p=k.y,y=k.barHeight,h=k.yDivision,g=k.zeroW,u=k.x,w=k.barWidth,n=k.xDivision,d=k.zeroH,x.push(u+w/2);for(var A=o.group({class:\"apexcharts-datalabels\",\"data:realIndex\":v}),S=function(a){var o=s.barHelpers.getStrokeWidth(i,a,v),c=null,b={indexes:{i:i,j:a,realIndex:v},x:u,y:p,strokeWidth:o,elSeries:m};c=s.isHorizontal?s.drawHorizontalBoxPaths(e(e({},b),{},{yDivision:h,barHeight:y,zeroW:g})):s.drawVerticalBoxPaths(e(e({},b),{},{xDivision:n,barWidth:w,zeroH:d})),p=c.y,u=c.x,a>0&&x.push(u+w/2),f.push(p),c.pathTo.forEach((function(e,n){var h=!s.isBoxPlot&&s.candlestickOptions.wick.useFillColor?c.color[n]:r.globals.stroke.colors[i],d=l.fillPath({seriesNumber:v,dataPointIndex:a,color:c.color[n],value:t[i][a]});s.renderSeries({realIndex:v,pathFill:d,lineFill:h,j:a,i:i,pathFrom:c.pathFrom,pathTo:e,strokeWidth:o,elSeries:m,x:u,y:p,series:t,barHeight:y,barWidth:w,elDataLabelsWrap:A,visibleSeries:s.visibleI,type:r.config.chart.type})}))},C=0;Cb.c&&(d=!1);var w=Math.min(b.o,b.c),k=Math.max(b.o,b.c),A=b.m;n.globals.isXNumeric&&(i=(n.globals.seriesX[x][c]-n.globals.minX)/this.xRatio-s/2);var S=i+s*this.visibleI;void 0===this.series[h][c]||null===this.series[h][c]?(w=r,k=r):(w=r-w/f,k=r-k/f,v=r-b.h/f,m=r-b.l/f,A=r-b.m/f);var C=l.move(S,r),L=l.move(S+s/2,w);return n.globals.previousPaths.length>0&&(L=this.getPreviousPath(x,c,!0)),C=this.isBoxPlot?[l.move(S,w)+l.line(S+s/2,w)+l.line(S+s/2,v)+l.line(S+s/4,v)+l.line(S+s-s/4,v)+l.line(S+s/2,v)+l.line(S+s/2,w)+l.line(S+s,w)+l.line(S+s,A)+l.line(S,A)+l.line(S,w+o/2),l.move(S,A)+l.line(S+s,A)+l.line(S+s,k)+l.line(S+s/2,k)+l.line(S+s/2,m)+l.line(S+s-s/4,m)+l.line(S+s/4,m)+l.line(S+s/2,m)+l.line(S+s/2,k)+l.line(S,k)+l.line(S,A)+\"z\"]:[l.move(S,k)+l.line(S+s/2,k)+l.line(S+s/2,v)+l.line(S+s/2,k)+l.line(S+s,k)+l.line(S+s,w)+l.line(S+s/2,w)+l.line(S+s/2,m)+l.line(S+s/2,w)+l.line(S,w)+l.line(S,k-o/2)],L+=l.move(S,w),n.globals.isXNumeric||(i+=a),{pathTo:C,pathFrom:L,x:i,y:k,barXPosition:S,color:this.isBoxPlot?p:d?[g]:[u]}}},{key:\"drawHorizontalBoxPaths\",value:function(t){var e=t.indexes;t.x;var i=t.y,a=t.yDivision,s=t.barHeight,r=t.zeroW,o=t.strokeWidth,n=this.w,l=new y(this.ctx),h=e.i,c=e.j,d=this.boxOptions.colors.lower;this.isBoxPlot&&(d=[this.boxOptions.colors.lower,this.boxOptions.colors.upper]);var g=this.invertedYRatio,u=e.realIndex,p=this.getOHLCValue(u,c),f=r,x=r,b=Math.min(p.o,p.c),v=Math.max(p.o,p.c),m=p.m;n.globals.isXNumeric&&(i=(n.globals.seriesX[u][c]-n.globals.minX)/this.invertedXRatio-s/2);var w=i+s*this.visibleI;void 0===this.series[h][c]||null===this.series[h][c]?(b=r,v=r):(b=r+b/g,v=r+v/g,f=r+p.h/g,x=r+p.l/g,m=r+p.m/g);var k=l.move(r,w),A=l.move(b,w+s/2);return n.globals.previousPaths.length>0&&(A=this.getPreviousPath(u,c,!0)),k=[l.move(b,w)+l.line(b,w+s/2)+l.line(f,w+s/2)+l.line(f,w+s/2-s/4)+l.line(f,w+s/2+s/4)+l.line(f,w+s/2)+l.line(b,w+s/2)+l.line(b,w+s)+l.line(m,w+s)+l.line(m,w)+l.line(b+o/2,w),l.move(m,w)+l.line(m,w+s)+l.line(v,w+s)+l.line(v,w+s/2)+l.line(x,w+s/2)+l.line(x,w+s-s/4)+l.line(x,w+s/4)+l.line(x,w+s/2)+l.line(v,w+s/2)+l.line(v,w)+l.line(m,w)+\"z\"],A+=l.move(b,w),n.globals.isXNumeric||(i+=a),{pathTo:k,pathFrom:A,x:v,y:i,barYPosition:w,color:d}}},{key:\"getOHLCValue\",value:function(t,e){var i=this.w;return{o:this.isBoxPlot?i.globals.seriesCandleH[t][e]:i.globals.seriesCandleO[t][e],h:this.isBoxPlot?i.globals.seriesCandleO[t][e]:i.globals.seriesCandleH[t][e],m:i.globals.seriesCandleM[t][e],l:this.isBoxPlot?i.globals.seriesCandleC[t][e]:i.globals.seriesCandleL[t][e],c:this.isBoxPlot?i.globals.seriesCandleL[t][e]:i.globals.seriesCandleC[t][e]}}}]),s}(),St=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"checkColorRange\",value:function(){var t=this.w,e=!1,i=t.config.plotOptions[t.config.chart.type];return i.colorScale.ranges.length>0&&i.colorScale.ranges.map((function(t,i){t.from<=0&&(e=!0)})),e}},{key:\"getShadeColor\",value:function(t,e,i,a){var s=this.w,r=1,o=s.config.plotOptions[t].shadeIntensity,n=this.determineColor(t,e,i);s.globals.hasNegs||a?r=s.config.plotOptions[t].reverseNegativeShade?n.percent<0?n.percent/100*(1.25*o):(1-n.percent/100)*(1.25*o):n.percent<=0?1-(1+n.percent/100)*o:(1-n.percent/100)*o:(r=1-n.percent/100,\"treemap\"===t&&(r=(1-n.percent/100)*(1.25*o)));var l=n.color,h=new b;return s.config.plotOptions[t].enableShades&&(l=\"dark\"===this.w.config.theme.mode?b.hexToRgba(h.shadeColor(-1*r,n.color),s.config.fill.opacity):b.hexToRgba(h.shadeColor(r,n.color),s.config.fill.opacity)),{color:l,colorProps:n}}},{key:\"determineColor\",value:function(t,e,i){var a=this.w,s=a.globals.series[e][i],r=a.config.plotOptions[t],o=r.colorScale.inverse?i:e;r.distributed&&\"treemap\"===a.config.chart.type&&(o=i);var n=a.globals.colors[o],l=null,h=Math.min.apply(Math,u(a.globals.series[e])),c=Math.max.apply(Math,u(a.globals.series[e]));r.distributed||\"heatmap\"!==t||(h=a.globals.minY,c=a.globals.maxY),void 0!==r.colorScale.min&&(h=r.colorScale.mina.globals.maxY?r.colorScale.max:a.globals.maxY);var d=Math.abs(c)+Math.abs(h),g=100*s/(0===d?d-1e-6:d);r.colorScale.ranges.length>0&&r.colorScale.ranges.map((function(t,e){if(s>=t.from&&s<=t.to){n=t.color,l=t.foreColor?t.foreColor:null,h=t.from,c=t.to;var i=Math.abs(c)+Math.abs(h);g=100*s/(0===i?i-1e-6:i)}}));return{color:n,foreColor:l,percent:g}}},{key:\"calculateDataLabels\",value:function(t){var e=t.text,i=t.x,a=t.y,s=t.i,r=t.j,o=t.colorProps,n=t.fontSize,l=this.w.config.dataLabels,h=new y(this.ctx),c=new N(this.ctx),d=null;if(l.enabled){d=h.group({class:\"apexcharts-data-labels\"});var g=l.offsetX,u=l.offsetY,p=i+g,f=a+parseFloat(l.style.fontSize)/3+u;c.plotDataLabelsText({x:p,y:f,text:e,i:s,j:r,color:o.foreColor,parent:d,fontSize:n,dataLabelsConfig:l})}return d}},{key:\"addListeners\",value:function(t){var e=new y(this.ctx);t.node.addEventListener(\"mouseenter\",e.pathMouseEnter.bind(this,t)),t.node.addEventListener(\"mouseleave\",e.pathMouseLeave.bind(this,t)),t.node.addEventListener(\"mousedown\",e.pathMouseDown.bind(this,t))}}]),t}(),Ct=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w,this.xRatio=i.xRatio,this.yRatio=i.yRatio,this.dynamicAnim=this.w.config.chart.animations.dynamicAnimation,this.helpers=new St(e),this.rectRadius=this.w.config.plotOptions.heatmap.radius,this.strokeWidth=this.w.config.stroke.show?this.w.config.stroke.width:0}return r(t,[{key:\"draw\",value:function(t){var e=this.w,i=new y(this.ctx),a=i.group({class:\"apexcharts-heatmap\"});a.attr(\"clip-path\",\"url(#gridRectMask\".concat(e.globals.cuid,\")\"));var s=e.globals.gridWidth/e.globals.dataPoints,r=e.globals.gridHeight/e.globals.series.length,o=0,n=!1;this.negRange=this.helpers.checkColorRange();var l=t.slice();e.config.yaxis[0].reversed&&(n=!0,l.reverse());for(var h=n?0:l.length-1;n?h=0;n?h++:h--){var c=i.group({class:\"apexcharts-series apexcharts-heatmap-series\",seriesName:b.escapeString(e.globals.seriesNames[h]),rel:h+1,\"data:realIndex\":h});if(this.ctx.series.addCollapsedClassToSeries(c,h),e.config.chart.dropShadow.enabled){var d=e.config.chart.dropShadow;new m(this.ctx).dropShadow(c,d,h)}for(var g=0,u=e.config.plotOptions.heatmap.shadeIntensity,p=0;p-1&&this.pieClicked(d),i.config.dataLabels.enabled){var A=w.x,S=w.y,C=100*u/this.fullAngle+\"%\";if(0!==u&&i.config.plotOptions.pie.dataLabels.minAngleToShowLabelthis.fullAngle?e.endAngle=e.endAngle-(a+o):a+o=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle&&(h=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle-.01),Math.ceil(h)>this.fullAngle&&(h-=this.fullAngle);var c=Math.PI*(h-90)/180,d=i.centerX+r*Math.cos(l),g=i.centerY+r*Math.sin(l),u=i.centerX+r*Math.cos(c),p=i.centerY+r*Math.sin(c),f=b.polarToCartesian(i.centerX,i.centerY,i.donutSize,h),x=b.polarToCartesian(i.centerX,i.centerY,i.donutSize,n),v=s>180?1:0,m=[\"M\",d,g,\"A\",r,r,0,v,1,u,p];return e=\"donut\"===i.chartType?[].concat(m,[\"L\",f.x,f.y,\"A\",i.donutSize,i.donutSize,0,v,0,x.x,x.y,\"L\",d,g,\"z\"]).join(\" \"):\"pie\"===i.chartType||\"polarArea\"===i.chartType?[].concat(m,[\"L\",i.centerX,i.centerY,\"L\",d,g]).join(\" \"):[].concat(m).join(\" \"),o.roundPathCorners(e,2*this.strokeWidth)}},{key:\"drawPolarElements\",value:function(t){var e=this.w,i=new U(this.ctx),a=new y(this.ctx),s=new Lt(this.ctx),r=a.group(),o=a.group(),n=i.niceScale(0,Math.ceil(this.maxY),0),l=n.result.reverse(),h=n.result.length;this.maxY=n.niceMax;for(var c=e.globals.radialSize,d=c/(h-1),g=0;g1&&t.total.show&&(s=t.total.color);var o=r.globals.dom.baseEl.querySelector(\".apexcharts-datalabel-label\"),n=r.globals.dom.baseEl.querySelector(\".apexcharts-datalabel-value\");i=(0,t.value.formatter)(i,r),a||\"function\"!=typeof t.total.formatter||(i=t.total.formatter(r));var l=e===t.total.label;e=t.name.formatter(e,l,r),null!==o&&(o.textContent=e),null!==n&&(n.textContent=i),null!==o&&(o.style.fill=s)}},{key:\"printDataLabelsInner\",value:function(t,e){var i=this.w,a=t.getAttribute(\"data:value\"),s=i.globals.seriesNames[parseInt(t.parentNode.getAttribute(\"rel\"),10)-1];i.globals.series.length>1&&this.printInnerLabels(e,s,a,t);var r=i.globals.dom.baseEl.querySelector(\".apexcharts-datalabels-group\");null!==r&&(r.style.opacity=1)}},{key:\"drawSpokes\",value:function(t){var e=this,i=this.w,a=new y(this.ctx),s=i.config.plotOptions.polarArea.spokes;if(0!==s.strokeWidth){for(var r=[],o=360/i.globals.series.length,n=0;n1)o&&!e.total.showAlways?l({makeSliceOut:!1,printLabel:!0}):this.printInnerLabels(e,e.total.label,e.total.formatter(s));else if(l({makeSliceOut:!1,printLabel:!0}),!o)if(s.globals.selectedDataPoints.length&&s.globals.series.length>1)if(s.globals.selectedDataPoints[0].length>0){var h=s.globals.selectedDataPoints[0],c=s.globals.dom.baseEl.querySelector(\".apexcharts-\".concat(this.chartType.toLowerCase(),\"-slice-\").concat(h));this.printDataLabelsInner(c,e)}else r&&s.globals.selectedDataPoints.length&&0===s.globals.selectedDataPoints[0].length&&(r.style.opacity=0);else r&&s.globals.series.length>1&&(r.style.opacity=0)}}]),t}(),Mt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.chartType=this.w.config.chart.type,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled,this.animDur=0;var i=this.w;this.graphics=new y(this.ctx),this.lineColorArr=void 0!==i.globals.stroke.colors?i.globals.stroke.colors:i.globals.colors,this.defaultSize=i.globals.svgHeight0&&(f=i.getPreviousPath(n));for(var x=0;x=10?t.x>0?(i=\"start\",a+=10):t.x<0&&(i=\"end\",a-=10):i=\"middle\",Math.abs(t.y)>=e-10&&(t.y<0?s-=10:t.y>0&&(s+=10)),{textAnchor:i,newX:a,newY:s}}},{key:\"getPreviousPath\",value:function(t){for(var e=this.w,i=null,a=0;a0&&parseInt(s.realIndex,10)===parseInt(t,10)&&void 0!==e.globals.previousPaths[a].paths[0]&&(i=e.globals.previousPaths[a].paths[0].d)}return i}},{key:\"getDataPointsPos\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.dataPointsLen;t=t||[],e=e||[];for(var a=[],s=0;s=360&&(g=360-Math.abs(this.startAngle)-.1);var u=i.drawPath({d:\"\",stroke:c,strokeWidth:o*parseInt(h.strokeWidth,10)/100,fill:\"none\",strokeOpacity:h.opacity,classes:\"apexcharts-radialbar-area\"});if(h.dropShadow.enabled){var p=h.dropShadow;s.dropShadow(u,p)}l.add(u),u.attr(\"id\",\"apexcharts-radialbarTrack-\"+n),this.animatePaths(u,{centerX:t.centerX,centerY:t.centerY,endAngle:g,startAngle:d,size:t.size,i:n,totalItems:2,animBeginArr:0,dur:0,isTrack:!0,easing:e.globals.easing})}return a}},{key:\"drawArcs\",value:function(t){var e=this.w,i=new y(this.ctx),a=new H(this.ctx),s=new m(this.ctx),r=i.group(),o=this.getStrokeWidth(t);t.size=t.size-o/2;var n=e.config.plotOptions.radialBar.hollow.background,l=t.size-o*t.series.length-this.margin*t.series.length-o*parseInt(e.config.plotOptions.radialBar.track.strokeWidth,10)/100/2,h=l-e.config.plotOptions.radialBar.hollow.margin;void 0!==e.config.plotOptions.radialBar.hollow.image&&(n=this.drawHollowImage(t,r,l,n));var c=this.drawHollow({size:h,centerX:t.centerX,centerY:t.centerY,fill:n||\"transparent\"});if(e.config.plotOptions.radialBar.hollow.dropShadow.enabled){var d=e.config.plotOptions.radialBar.hollow.dropShadow;s.dropShadow(c,d)}var g=1;!this.radialDataLabels.total.show&&e.globals.series.length>1&&(g=0);var u=null;this.radialDataLabels.show&&(u=this.renderInnerDataLabels(this.radialDataLabels,{hollowSize:l,centerX:t.centerX,centerY:t.centerY,opacity:g})),\"back\"===e.config.plotOptions.radialBar.hollow.position&&(r.add(c),u&&r.add(u));var p=!1;e.config.plotOptions.radialBar.inverseOrder&&(p=!0);for(var f=p?t.series.length-1:0;p?f>=0:f100?100:t.series[f])/100,S=Math.round(this.totalAngle*A)+this.startAngle,C=void 0;e.globals.dataChanged&&(k=this.startAngle,C=Math.round(this.totalAngle*b.negToZero(e.globals.previousPaths[f])/100)+k),Math.abs(S)+Math.abs(w)>=360&&(S-=.01),Math.abs(C)+Math.abs(k)>=360&&(C-=.01);var L=S-w,P=Array.isArray(e.config.stroke.dashArray)?e.config.stroke.dashArray[f]:e.config.stroke.dashArray,M=i.drawPath({d:\"\",stroke:v,strokeWidth:o,fill:\"none\",fillOpacity:e.config.fill.opacity,classes:\"apexcharts-radialbar-area apexcharts-radialbar-slice-\"+f,strokeDashArray:P});if(y.setAttrs(M.node,{\"data:angle\":L,\"data:value\":t.series[f]}),e.config.chart.dropShadow.enabled){var I=e.config.chart.dropShadow;s.dropShadow(M,I,f)}if(s.setSelectionFilter(M,0,f),this.addListeners(M,this.radialDataLabels),x.add(M),M.attr({index:0,j:f}),this.barLabels.enabled){var T=b.polarToCartesian(t.centerX,t.centerY,t.size,w),z=this.barLabels.formatter(e.globals.seriesNames[f],{seriesIndex:f,w:e}),X=[\"apexcharts-radialbar-label\"];this.barLabels.onClick||X.push(\"apexcharts-no-click\");var E=this.barLabels.useSeriesColors?e.globals.colors[f]:e.config.chart.foreColor;E||(E=e.config.chart.foreColor);var Y=T.x-this.barLabels.margin,F=T.y,R=i.drawText({x:Y,y:F,text:z,textAnchor:\"end\",dominantBaseline:\"middle\",fontFamily:this.barLabels.fontFamily,fontWeight:this.barLabels.fontWeight,fontSize:this.barLabels.fontSize,foreColor:E,cssClass:X.join(\" \")});R.on(\"click\",this.onBarLabelClick),R.attr({rel:f+1}),0!==w&&R.attr({\"transform-origin\":\"\".concat(Y,\" \").concat(F),transform:\"rotate(\".concat(w,\" 0 0)\")}),x.add(R)}var D=0;!this.initialAnim||e.globals.resized||e.globals.dataChanged||(D=e.config.chart.animations.speed),e.globals.dataChanged&&(D=e.config.chart.animations.dynamicAnimation.speed),this.animDur=D/(1.2*t.series.length)+this.animDur,this.animBeginArr.push(this.animDur),this.animatePaths(M,{centerX:t.centerX,centerY:t.centerY,endAngle:S,startAngle:w,prevEndAngle:C,prevStartAngle:k,size:t.size,i:f,totalItems:2,animBeginArr:this.animBeginArr,dur:D,shouldSetPrevPaths:!0,easing:e.globals.easing})}return{g:r,elHollow:c,dataLabels:u}}},{key:\"drawHollow\",value:function(t){var e=new y(this.ctx).drawCircle(2*t.size);return e.attr({class:\"apexcharts-radialbar-hollow\",cx:t.centerX,cy:t.centerY,r:t.size,fill:t.fill}),e}},{key:\"drawHollowImage\",value:function(t,e,i,a){var s=this.w,r=new H(this.ctx),o=b.randomId(),n=s.config.plotOptions.radialBar.hollow.image;if(s.config.plotOptions.radialBar.hollow.imageClipped)r.clippedImgArea({width:i,height:i,image:n,patternID:\"pattern\".concat(s.globals.cuid).concat(o)}),a=\"url(#pattern\".concat(s.globals.cuid).concat(o,\")\");else{var l=s.config.plotOptions.radialBar.hollow.imageWidth,h=s.config.plotOptions.radialBar.hollow.imageHeight;if(void 0===l&&void 0===h){var c=s.globals.dom.Paper.image(n).loaded((function(e){this.move(t.centerX-e.width/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-e.height/2+s.config.plotOptions.radialBar.hollow.imageOffsetY)}));e.add(c)}else{var d=s.globals.dom.Paper.image(n).loaded((function(e){this.move(t.centerX-l/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-h/2+s.config.plotOptions.radialBar.hollow.imageOffsetY),this.size(l,h)}));e.add(d)}}return a}},{key:\"getStrokeWidth\",value:function(t){var e=this.w;return t.size*(100-parseInt(e.config.plotOptions.radialBar.hollow.size,10))/100/(t.series.length+1)-this.margin}},{key:\"onBarLabelClick\",value:function(t){var e=parseInt(t.target.getAttribute(\"rel\"),10)-1,i=this.barLabels.onClick,a=this.w;i&&i(a.globals.seriesNames[e],{w:a,seriesIndex:e})}}]),i}(),Tt=function(t){n(s,wt);var i=d(s);function s(){return a(this,s),i.apply(this,arguments)}return r(s,[{key:\"draw\",value:function(t,i){var a=this.w,s=new y(this.ctx);this.rangeBarOptions=this.w.config.plotOptions.rangeBar,this.series=t,this.seriesRangeStart=a.globals.seriesRangeStart,this.seriesRangeEnd=a.globals.seriesRangeEnd,this.barHelpers.initVariables(t);for(var r=s.group({class:\"apexcharts-rangebar-series apexcharts-plot-series\"}),n=0;n0&&(this.visibleI=this.visibleI+1);var x=0,v=0;this.yRatio.length>1&&(this.yaxisIndex=p);var m=this.barHelpers.initialPositions();u=m.y,d=m.zeroW,g=m.x,v=m.barWidth,x=m.barHeight,l=m.xDivision,h=m.yDivision,c=m.zeroH;for(var w=s.group({class:\"apexcharts-datalabels\",\"data:realIndex\":p}),k=s.group({class:\"apexcharts-rangebar-goals-markers\"}),A=0;A0}));return this.isHorizontal?(a=g.config.plotOptions.bar.rangeBarGroupRows?r+h*b:r+n*this.visibleI+h*b,v>-1&&!g.config.plotOptions.bar.rangeBarOverlap&&(u=g.globals.seriesRange[e][v].overlaps).indexOf(p)>-1&&(a=(n=d.barHeight/u.length)*this.visibleI+h*(100-parseInt(this.barOptions.barHeight,10))/100/2+n*(this.visibleI+u.indexOf(p))+h*b)):(b>-1&&(s=g.config.plotOptions.bar.rangeBarGroupRows?o+c*b:o+l*this.visibleI+c*b),v>-1&&!g.config.plotOptions.bar.rangeBarOverlap&&(u=g.globals.seriesRange[e][v].overlaps).indexOf(p)>-1&&(s=(l=d.barWidth/u.length)*this.visibleI+c*(100-parseInt(this.barOptions.barWidth,10))/100/2+l*(this.visibleI+u.indexOf(p))+c*b)),{barYPosition:a,barXPosition:s,barHeight:n,barWidth:l}}},{key:\"drawRangeColumnPaths\",value:function(t){var e=t.indexes,i=t.x,a=t.xDivision,s=t.barWidth,r=t.barXPosition,o=t.zeroH,n=this.w,l=e.i,h=e.j,c=this.yRatio[this.yaxisIndex],d=e.realIndex,g=this.getRangeValue(d,h),u=Math.min(g.start,g.end),p=Math.max(g.start,g.end);void 0===this.series[l][h]||null===this.series[l][h]?u=o:(u=o-u/c,p=o-p/c);var f=Math.abs(p-u),x=this.barHelpers.getColumnPaths({barXPosition:r,barWidth:s,y1:u,y2:p,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,realIndex:e.realIndex,i:d,j:h,w:n});if(n.globals.isXNumeric){var b=this.getBarXForNumericXAxis({x:i,j:h,realIndex:d,barWidth:s});i=b.x,r=b.barXPosition}else i+=a;return{pathTo:x.pathTo,pathFrom:x.pathFrom,barHeight:f,x:i,y:p,goalY:this.barHelpers.getGoalValues(\"y\",null,o,l,h),barXPosition:r}}},{key:\"drawRangeBarPaths\",value:function(t){var e=t.indexes,i=t.y,a=t.y1,s=t.y2,r=t.yDivision,o=t.barHeight,n=t.barYPosition,l=t.zeroW,h=this.w,c=l+a/this.invertedYRatio,d=l+s/this.invertedYRatio,g=Math.abs(d-c),u=this.barHelpers.getBarpaths({barYPosition:n,barHeight:o,x1:c,x2:d,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,i:e.realIndex,realIndex:e.realIndex,j:e.j,w:h});return h.globals.isXNumeric||(i+=r),{pathTo:u.pathTo,pathFrom:u.pathFrom,barWidth:g,x:d,goalX:this.barHelpers.getGoalValues(\"x\",l,null,e.realIndex,e.j),y:i}}},{key:\"getRangeValue\",value:function(t,e){var i=this.w;return{start:i.globals.seriesRangeStart[t][e],end:i.globals.seriesRangeEnd[t][e]}}}]),s}(),zt=function(){function t(e){a(this,t),this.w=e.w,this.lineCtx=e}return r(t,[{key:\"sameValueSeriesFix\",value:function(t,e){var i=this.w;if((\"gradient\"===i.config.fill.type||\"gradient\"===i.config.fill.type[t])&&new w(this.lineCtx.ctx,i).seriesHaveSameValues(t)){var a=e[t].slice();a[a.length-1]=a[a.length-1]+1e-6,e[t]=a}return e}},{key:\"calculatePoints\",value:function(t){var e=t.series,i=t.realIndex,a=t.x,s=t.y,r=t.i,o=t.j,n=t.prevY,l=this.w,h=[],c=[];if(0===o){var d=this.lineCtx.categoryAxisCorrection+l.config.markers.offsetX;l.globals.isXNumeric&&(d=(l.globals.seriesX[i][0]-l.globals.minX)/this.lineCtx.xRatio+l.config.markers.offsetX),h.push(d),c.push(b.isNumber(e[r][0])?n+l.config.markers.offsetY:null),h.push(a+l.config.markers.offsetX),c.push(b.isNumber(e[r][o+1])?s+l.config.markers.offsetY:null)}else h.push(a+l.config.markers.offsetX),c.push(b.isNumber(e[r][o+1])?s+l.config.markers.offsetY:null);return{x:h,y:c}}},{key:\"checkPreviousPaths\",value:function(t){for(var e=t.pathFromLine,i=t.pathFromArea,a=t.realIndex,s=this.w,r=0;r0&&parseInt(o.realIndex,10)===parseInt(a,10)&&(\"line\"===o.type?(this.lineCtx.appendPathFrom=!1,e=s.globals.previousPaths[r].paths[0].d):\"area\"===o.type&&(this.lineCtx.appendPathFrom=!1,i=s.globals.previousPaths[r].paths[0].d,s.config.stroke.show&&s.globals.previousPaths[r].paths[1]&&(e=s.globals.previousPaths[r].paths[1].d)))}return{pathFromLine:e,pathFromArea:i}}},{key:\"determineFirstPrevY\",value:function(t){var e,i,a=t.i,s=t.series,r=t.prevY,o=t.lineYPosition,n=this.w,l=n.config.chart.stacked&&!n.globals.comboCharts||n.config.chart.stacked&&n.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||\"bar\"===(null===(e=this.w.config.series[a])||void 0===e?void 0:e.type));if(void 0!==(null===(i=s[a])||void 0===i?void 0:i[0]))r=(o=l&&a>0?this.lineCtx.prevSeriesY[a-1][0]:this.lineCtx.zeroY)-s[a][0]/this.lineCtx.yRatio[this.lineCtx.yaxisIndex]+2*(this.lineCtx.isReversed?s[a][0]/this.lineCtx.yRatio[this.lineCtx.yaxisIndex]:0);else if(l&&a>0&&void 0===s[a][0])for(var h=a-1;h>=0;h--)if(null!==s[h][0]&&void 0!==s[h][0]){r=o=this.lineCtx.prevSeriesY[h][0];break}return{prevY:r,lineYPosition:o}}}]),t}(),Xt=function(t){for(var e,i,a,s,r=function(t){for(var e=[],i=t[0],a=t[1],s=e[0]=Ft(i,a),r=1,o=t.length-1;r9&&(s=3*a/Math.sqrt(s),r[l]=s*e,r[l+1]=s*i);for(var h=0;h<=o;h++)s=(t[Math.min(o,h+1)][0]-t[Math.max(0,h-1)][0])/(6*(1+r[h]*r[h])),n.push([s||0,r[h]*s||0]);return n},Et=function(t){for(var e=\"\",i=0;i4?(e+=\"C\".concat(a[0],\", \").concat(a[1]),e+=\", \".concat(a[2],\", \").concat(a[3]),e+=\", \".concat(a[4],\", \").concat(a[5])):s>2&&(e+=\"S\".concat(a[0],\", \").concat(a[1]),e+=\", \".concat(a[2],\", \").concat(a[3]))}return e},Yt=function(t){var e=Xt(t),i=t[1],a=t[0],s=[],r=e[1],o=e[0];s.push(a,[a[0]+o[0],a[1]+o[1],i[0]-r[0],i[1]-r[1],i[0],i[1]]);for(var n=2,l=e.length;n0&&(b=(o.globals.seriesX[u][0]-o.globals.minX)/this.xRatio),x.push(b);var v,m=b,k=void 0,A=m,S=this.zeroY,C=this.zeroY;S=this.lineHelpers.determineFirstPrevY({i:g,series:t,prevY:S,lineYPosition:0}).prevY,\"monotonCubic\"===o.config.stroke.curve&&null===t[g][0]?p.push(null):p.push(S),v=S;\"rangeArea\"===l&&(k=C=this.lineHelpers.determineFirstPrevY({i:g,series:s,prevY:C,lineYPosition:0}).prevY,f.push(C));var L={type:l,series:t,realIndex:u,i:g,x:b,y:1,pX:m,pY:v,pathsFrom:this._calculatePathsFrom({type:l,series:t,i:g,realIndex:u,prevX:A,prevY:S,prevY2:C}),linePaths:[],areaPaths:[],seriesIndex:a,lineYPosition:0,xArrj:x,yArrj:p,y2Arrj:f,seriesRangeEnd:s},P=this._iterateOverDataPoints(e(e({},L),{},{iterations:\"rangeArea\"===l?t[g].length-1:void 0,isRangeStart:!0}));if(\"rangeArea\"===l){var M=this._calculatePathsFrom({series:s,i:g,realIndex:u,prevX:A,prevY:C}),I=this._iterateOverDataPoints(e(e({},L),{},{series:s,pY:k,pathsFrom:M,iterations:s[g].length-1,isRangeStart:!1}));P.linePaths[0]=I.linePath+P.linePath,P.pathFromLine=I.pathFromLine+P.pathFromLine}this._handlePaths({type:l,realIndex:u,i:g,paths:P}),this.elSeries.add(this.elPointsMain),this.elSeries.add(this.elDataLabelsWrap),d.push(this.elSeries)}if(void 0!==(null===(r=o.config.series[0])||void 0===r?void 0:r.zIndex)&&d.sort((function(t,e){return Number(t.node.getAttribute(\"zIndex\"))-Number(e.node.getAttribute(\"zIndex\"))})),o.config.chart.stacked)for(var T=d.length;T>0;T--)h.add(d[T-1]);else for(var z=0;z1&&(this.yaxisIndex=i),this.isReversed=a.config.yaxis[this.yaxisIndex]&&a.config.yaxis[this.yaxisIndex].reversed,this.zeroY=a.globals.gridHeight-this.baseLineY[this.yaxisIndex]-(this.isReversed?a.globals.gridHeight:0)+(this.isReversed?2*this.baseLineY[this.yaxisIndex]:0),this.areaBottomY=this.zeroY,(this.zeroY>a.globals.gridHeight||\"end\"===a.config.plotOptions.area.fillTo)&&(this.areaBottomY=a.globals.gridHeight),this.categoryAxisCorrection=this.xDivision/2,this.elSeries=s.group({class:\"apexcharts-series\",zIndex:void 0!==a.config.series[i].zIndex?a.config.series[i].zIndex:i,seriesName:b.escapeString(a.globals.seriesNames[i])}),this.elPointsMain=s.group({class:\"apexcharts-series-markers-wrap\",\"data:realIndex\":i}),this.elDataLabelsWrap=s.group({class:\"apexcharts-datalabels\",\"data:realIndex\":i});var r=t[e].length===a.globals.dataPoints;this.elSeries.attr({\"data:longestSeries\":r,rel:e+1,\"data:realIndex\":i}),this.appendPathFrom=!0}},{key:\"_calculatePathsFrom\",value:function(t){var e,i,a,s,r=t.type,o=t.series,n=t.i,l=t.realIndex,h=t.prevX,c=t.prevY,d=t.prevY2,g=this.w,u=new y(this.ctx);if(null===o[n][0]){for(var p=0;p0){var f=this.lineHelpers.checkPreviousPaths({pathFromLine:a,pathFromArea:s,realIndex:l});a=f.pathFromLine,s=f.pathFromArea}return{prevX:h,prevY:c,linePath:e,areaPath:i,pathFromLine:a,pathFromArea:s}}},{key:\"_handlePaths\",value:function(t){var i=t.type,a=t.realIndex,s=t.i,r=t.paths,o=this.w,n=new y(this.ctx),l=new H(this.ctx);this.prevSeriesY.push(r.yArrj),o.globals.seriesXvalues[a]=r.xArrj,o.globals.seriesYvalues[a]=r.yArrj;var h=o.config.forecastDataPoints;if(h.count>0&&\"rangeArea\"!==i){var c=o.globals.seriesXvalues[a][o.globals.seriesXvalues[a].length-h.count-1],d=n.drawRect(c,0,o.globals.gridWidth,o.globals.gridHeight,0);o.globals.dom.elForecastMask.appendChild(d.node);var g=n.drawRect(0,0,c,o.globals.gridHeight,0);o.globals.dom.elNonForecastMask.appendChild(g.node)}this.pointsChart||o.globals.delayedElements.push({el:this.elPointsMain.node,index:a});var u={i:s,realIndex:a,animationDelay:s,initialSpeed:o.config.chart.animations.speed,dataChangeSpeed:o.config.chart.animations.dynamicAnimation.speed,className:\"apexcharts-\".concat(i)};if(\"area\"===i)for(var p=l.fillPath({seriesNumber:a}),f=0;f0&&\"rangeArea\"!==i){var S=n.renderPaths(k);S.node.setAttribute(\"stroke-dasharray\",h.dashArray),h.strokeWidth&&S.node.setAttribute(\"stroke-width\",h.strokeWidth),this.elSeries.add(S),S.attr(\"clip-path\",\"url(#forecastMask\".concat(o.globals.cuid,\")\")),A.attr(\"clip-path\",\"url(#nonForecastMask\".concat(o.globals.cuid,\")\"))}}}}},{key:\"_iterateOverDataPoints\",value:function(t){var e,i=this,a=t.type,s=t.series,r=t.iterations,o=t.realIndex,n=t.i,l=t.x,h=t.y,c=t.pX,d=t.pY,g=t.pathsFrom,u=t.linePaths,p=t.areaPaths,f=t.seriesIndex,x=t.lineYPosition,v=t.xArrj,m=t.yArrj,w=t.y2Arrj,k=t.isRangeStart,A=t.seriesRangeEnd,S=this.w,C=new y(this.ctx),L=this.yRatio,P=g.prevY,M=g.linePath,I=g.areaPath,T=g.pathFromLine,z=g.pathFromArea,X=b.isNumber(S.globals.minYArr[o])?S.globals.minYArr[o]:S.globals.minY;r||(r=S.globals.dataPoints>1?S.globals.dataPoints-1:S.globals.dataPoints);for(var E=function(t,e){return e-t/L[i.yaxisIndex]+2*(i.isReversed?t/L[i.yaxisIndex]:0)},Y=h,F=S.config.chart.stacked&&!S.globals.comboCharts||S.config.chart.stacked&&S.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||\"bar\"===(null===(e=this.w.config.series[o])||void 0===e?void 0:e.type)),R=0;R0&&S.globals.collapsedSeries.length-1){e--;break}return e>=0?e:0}(n-1)][R+1]}else x=this.zeroY;else x=this.zeroY;H?h=E(X,x):(h=E(s[n][R+1],x),\"rangeArea\"===a&&(Y=E(A[n][R+1],x))),v.push(l),H&&\"smooth\"===S.config.stroke.curve?m.push(null):m.push(h),w.push(Y);var O=this.lineHelpers.calculatePoints({series:s,x:l,y:h,realIndex:o,i:n,j:R,prevY:P}),N=this._createPaths({type:a,series:s,i:n,realIndex:o,j:R,x:l,y:h,y2:Y,xArrj:v,yArrj:m,y2Arrj:w,pX:c,pY:d,linePath:M,areaPath:I,linePaths:u,areaPaths:p,seriesIndex:f,isRangeStart:k});p=N.areaPaths,u=N.linePaths,c=N.pX,d=N.pY,I=N.areaPath,M=N.linePath,!this.appendPathFrom||\"monotoneCubic\"===S.config.stroke.curve&&\"rangeArea\"===a||(T+=C.line(l,this.zeroY),z+=C.line(l,this.zeroY)),this.handleNullDataPoints(s,O,n,R,o),this._handleMarkersAndLabels({type:a,pointsPos:O,i:n,j:R,realIndex:o,isRangeStart:k})}return{yArrj:m,xArrj:v,pathFromArea:z,areaPaths:p,pathFromLine:T,linePaths:u,linePath:M,areaPath:I}}},{key:\"_handleMarkersAndLabels\",value:function(t){var e=t.type,i=t.pointsPos,a=t.isRangeStart,s=t.i,r=t.j,o=t.realIndex,n=this.w,l=new N(this.ctx);if(this.pointsChart)this.scatter.draw(this.elSeries,r,{realIndex:o,pointsPos:i,zRatio:this.zRatio,elParent:this.elPointsMain});else{n.globals.series[s].length>1&&this.elPointsMain.node.classList.add(\"apexcharts-element-hidden\");var h=this.markers.plotChartMarkers(i,o,r+1);null!==h&&this.elPointsMain.add(h)}var c=l.drawDataLabel({type:e,isRangeStart:a,pos:i,i:o,j:r+1});null!==c&&this.elDataLabelsWrap.add(c)}},{key:\"_createPaths\",value:function(t){var e=t.type,i=t.series,a=t.i,s=t.realIndex,r=t.j,o=t.x,n=t.y,l=t.xArrj,h=t.yArrj,c=t.y2,d=t.y2Arrj,g=t.pX,u=t.pY,p=t.linePath,f=t.areaPath,x=t.linePaths,b=t.areaPaths,v=t.seriesIndex,m=t.isRangeStart,w=this.w,k=new y(this.ctx),A=w.config.stroke.curve,S=this.areaBottomY;if(Array.isArray(w.config.stroke.curve)&&(A=Array.isArray(v)?w.config.stroke.curve[v[a]]:w.config.stroke.curve[a]),\"rangeArea\"===e&&(w.globals.hasNullValues||w.config.forecastDataPoints.count>0)&&\"monotoneCubic\"===A&&(A=\"straight\"),\"monotoneCubic\"===A){var C=\"rangeArea\"===e?l.length===w.globals.dataPoints:r===i[a].length-2,L=l.map((function(t,e){return[l[e],h[e]]})).filter((function(t){return null!==t[1]}));if(C&&L.length>1){var P=Yt(L);if(p+=Et(P),null===i[a][0]?f=p:f+=Et(P),\"rangeArea\"===e&&m){p+=k.line(l[l.length-1],d[d.length-1]);var M=l.slice().reverse(),I=d.slice().reverse(),T=M.map((function(t,e){return[M[e],I[e]]})),z=Yt(T);f=p+=Et(z)}else f+=k.line(L[L.length-1][0],S)+k.line(L[0][0],S)+k.move(L[0][0],L[0][1])+\"z\";x.push(p),b.push(f)}}else if(\"smooth\"===A){var X=.35*(o-g);w.globals.hasNullValues?(null!==i[a][r]&&(null!==i[a][r+1]?(p=k.move(g,u)+k.curve(g+X,u,o-X,n,o+1,n),f=k.move(g+1,u)+k.curve(g+X,u,o-X,n,o+1,n)+k.line(o,S)+k.line(g,S)+\"z\"):(p=k.move(g,u),f=k.move(g,u)+\"z\")),x.push(p),b.push(f)):(p+=k.curve(g+X,u,o-X,n,o,n),f+=k.curve(g+X,u,o-X,n,o,n)),g=o,u=n,r===i[a].length-2&&(f=f+k.curve(g,u,o,n,o,S)+k.move(o,n)+\"z\",\"rangeArea\"===e&&m?p=p+k.curve(g,u,o,n,o,c)+k.move(o,c)+\"z\":w.globals.hasNullValues||(x.push(p),b.push(f)))}else{if(null===i[a][r+1]){p+=k.move(o,n);var E=w.globals.isXNumeric?(w.globals.seriesX[s][r]-w.globals.minX)/this.xRatio:o-this.xDivision;f=f+k.line(E,S)+k.move(o,n)+\"z\"}null===i[a][r]&&(p+=k.move(o,n),f+=k.move(o,S)),\"stepline\"===A?(p=p+k.line(o,null,\"H\")+k.line(null,n,\"V\"),f=f+k.line(o,null,\"H\")+k.line(null,n,\"V\")):\"straight\"===A&&(p+=k.line(o,n),f+=k.line(o,n)),r===i[a].length-2&&(f=f+k.line(o,S)+k.move(o,n)+\"z\",\"rangeArea\"===e&&m?p=p+k.line(o,c)+k.move(o,c)+\"z\":(x.push(p),b.push(f)))}return{linePaths:x,areaPaths:b,pX:g,pY:u,linePath:p,areaPath:f}}},{key:\"handleNullDataPoints\",value:function(t,e,i,a,s){var r=this.w;if(null===t[i][a]&&r.config.markers.showNullDataPoints||1===t[i].length){var o=this.markers.plotChartMarkers(e,s,a+1,this.strokeWidth-r.config.markers.strokeWidth/2,!0);null!==o&&this.elPointsMain.add(o)}}}]),t}();window.TreemapSquared={},window.TreemapSquared.generate=function(){function t(e,i,a,s){this.xoffset=e,this.yoffset=i,this.height=s,this.width=a,this.shortestEdge=function(){return Math.min(this.height,this.width)},this.getCoordinates=function(t){var e,i=[],a=this.xoffset,s=this.yoffset,o=r(t)/this.height,n=r(t)/this.width;if(this.width>=this.height)for(e=0;e=this.height){var a=e/this.height,s=this.width-a;i=new t(this.xoffset+a,this.yoffset,s,this.height)}else{var r=e/this.width,o=this.height-r;i=new t(this.xoffset,this.yoffset+r,this.width,o)}return i}}function e(e,a,s,o,n){o=void 0===o?0:o,n=void 0===n?0:n;var l=i(function(t,e){var i,a=[],s=e/r(t);for(i=0;i=o}(e,l=t[0],n)?(e.push(l),i(t.slice(1),e,s,o)):(h=s.cutArea(r(e),o),o.push(s.getCoordinates(e)),i(t,[],h,o)),o;o.push(s.getCoordinates(e))}function a(t,e){var i=Math.min.apply(Math,t),a=Math.max.apply(Math,t),s=r(t);return Math.max(Math.pow(e,2)*a/Math.pow(s,2),Math.pow(s,2)/(Math.pow(e,2)*i))}function s(t){return t&&t.constructor===Array}function r(t){var e,i=0;for(e=0;er-a&&l.width<=o-s){var h=n.rotateAroundCenter(t.node);t.node.setAttribute(\"transform\",\"rotate(-90 \".concat(h.x,\" \").concat(h.y,\") translate(\").concat(l.height/3,\")\"))}}},{key:\"truncateLabels\",value:function(t,e,i,a,s,r){var o=new y(this.ctx),n=o.getTextRects(t,e).width+this.w.config.stroke.width+5>s-i&&r-a>s-i?r-a:s-i,l=o.getTextBasedOnMaxWidth({text:t,maxWidth:n,fontSize:e});return t.length!==l.length&&n/e<5?\"\":l}},{key:\"animateTreemap\",value:function(t,e,i,a){var s=new v(this.ctx);s.animateRect(t,{x:e.x,y:e.y,width:e.width,height:e.height},{x:i.x,y:i.y,width:i.width,height:i.height},a,(function(){s.animationCompleted(t)}))}}]),t}(),Nt=86400,Wt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.timeScaleArray=[],this.utc=this.w.config.xaxis.labels.datetimeUTC}return r(t,[{key:\"calculateTimeScaleTicks\",value:function(t,i){var a=this,s=this.w;if(s.globals.allSeriesCollapsed)return s.globals.labels=[],s.globals.timescaleLabels=[],[];var r=new I(this.ctx),o=(i-t)/864e5;this.determineInterval(o),s.globals.disableZoomIn=!1,s.globals.disableZoomOut=!1,o<.00011574074074074075?s.globals.disableZoomIn=!0:o>5e4&&(s.globals.disableZoomOut=!0);var n=r.getTimeUnitsfromTimestamp(t,i,this.utc),l=s.globals.gridWidth/o,h=l/24,c=h/60,d=c/60,g=Math.floor(24*o),u=Math.floor(1440*o),p=Math.floor(o*Nt),f=Math.floor(o),x=Math.floor(o/30),b=Math.floor(o/365),v={minMillisecond:n.minMillisecond,minSecond:n.minSecond,minMinute:n.minMinute,minHour:n.minHour,minDate:n.minDate,minMonth:n.minMonth,minYear:n.minYear},m={firstVal:v,currentMillisecond:v.minMillisecond,currentSecond:v.minSecond,currentMinute:v.minMinute,currentHour:v.minHour,currentMonthDate:v.minDate,currentDate:v.minDate,currentMonth:v.minMonth,currentYear:v.minYear,daysWidthOnXAxis:l,hoursWidthOnXAxis:h,minutesWidthOnXAxis:c,secondsWidthOnXAxis:d,numberOfSeconds:p,numberOfMinutes:u,numberOfHours:g,numberOfDays:f,numberOfMonths:x,numberOfYears:b};switch(this.tickInterval){case\"years\":this.generateYearScale(m);break;case\"months\":case\"half_year\":this.generateMonthScale(m);break;case\"months_days\":case\"months_fortnight\":case\"days\":case\"week_days\":this.generateDayScale(m);break;case\"hours\":this.generateHourScale(m);break;case\"minutes_fives\":case\"minutes\":this.generateMinuteScale(m);break;case\"seconds_tens\":case\"seconds_fives\":case\"seconds\":this.generateSecondScale(m)}var y=this.timeScaleArray.map((function(t){var i={position:t.position,unit:t.unit,year:t.year,day:t.day?t.day:1,hour:t.hour?t.hour:0,month:t.month+1};return\"month\"===t.unit?e(e({},i),{},{day:1,value:t.value+1}):\"day\"===t.unit||\"hour\"===t.unit?e(e({},i),{},{value:t.value}):\"minute\"===t.unit?e(e({},i),{},{value:t.value,minute:t.value}):\"second\"===t.unit?e(e({},i),{},{value:t.value,minute:t.minute,second:t.second}):t}));return y.filter((function(t){var e=1,i=Math.ceil(s.globals.gridWidth/120),r=t.value;void 0!==s.config.xaxis.tickAmount&&(i=s.config.xaxis.tickAmount),y.length>i&&(e=Math.floor(y.length/i));var o=!1,n=!1;switch(a.tickInterval){case\"years\":\"year\"===t.unit&&(o=!0);break;case\"half_year\":e=7,\"year\"===t.unit&&(o=!0);break;case\"months\":e=1,\"year\"===t.unit&&(o=!0);break;case\"months_fortnight\":e=15,\"year\"!==t.unit&&\"month\"!==t.unit||(o=!0),30===r&&(n=!0);break;case\"months_days\":e=10,\"month\"===t.unit&&(o=!0),30===r&&(n=!0);break;case\"week_days\":e=8,\"month\"===t.unit&&(o=!0);break;case\"days\":e=1,\"month\"===t.unit&&(o=!0);break;case\"hours\":\"day\"===t.unit&&(o=!0);break;case\"minutes_fives\":case\"seconds_fives\":r%5!=0&&(n=!0);break;case\"seconds_tens\":r%10!=0&&(n=!0)}if(\"hours\"===a.tickInterval||\"minutes_fives\"===a.tickInterval||\"seconds_tens\"===a.tickInterval||\"seconds_fives\"===a.tickInterval){if(!n)return!0}else if((r%e==0||o)&&!n)return!0}))}},{key:\"recalcDimensionsBasedOnFormat\",value:function(t,e){var i=this.w,a=this.formatDates(t),s=this.removeOverlappingTS(a);i.globals.timescaleLabels=s.slice(),new nt(this.ctx).plotCoords()}},{key:\"determineInterval\",value:function(t){var e=24*t,i=60*e;switch(!0){case t/365>5:this.tickInterval=\"years\";break;case t>800:this.tickInterval=\"half_year\";break;case t>180:this.tickInterval=\"months\";break;case t>90:this.tickInterval=\"months_fortnight\";break;case t>60:this.tickInterval=\"months_days\";break;case t>30:this.tickInterval=\"week_days\";break;case t>2:this.tickInterval=\"days\";break;case e>2.4:this.tickInterval=\"hours\";break;case i>15:this.tickInterval=\"minutes_fives\";break;case i>5:this.tickInterval=\"minutes\";break;case i>1:this.tickInterval=\"seconds_tens\";break;case 60*i>20:this.tickInterval=\"seconds_fives\";break;default:this.tickInterval=\"seconds\"}}},{key:\"generateYearScale\",value:function(t){var e=t.firstVal,i=t.currentMonth,a=t.currentYear,s=t.daysWidthOnXAxis,r=t.numberOfYears,o=e.minYear,n=0,l=new I(this.ctx),h=\"year\";if(e.minDate>1||e.minMonth>0){var c=l.determineRemainingDaysOfYear(e.minYear,e.minMonth,e.minDate);n=(l.determineDaysOfYear(e.minYear)-c+1)*s,o=e.minYear+1,this.timeScaleArray.push({position:n,value:o,unit:h,year:o,month:b.monthMod(i+1)})}else 1===e.minDate&&0===e.minMonth&&this.timeScaleArray.push({position:n,value:o,unit:h,year:a,month:b.monthMod(i+1)});for(var d=o,g=n,u=0;u1){l=(h.determineDaysOfMonths(a+1,e.minYear)-i+1)*r,n=b.monthMod(a+1);var g=s+d,u=b.monthMod(n),p=n;0===n&&(c=\"year\",p=g,u=1,g+=d+=1),this.timeScaleArray.push({position:l,value:p,unit:c,year:g,month:u})}else this.timeScaleArray.push({position:l,value:n,unit:c,year:s,month:b.monthMod(a)});for(var f=n+1,x=l,v=0,m=1;vo.determineDaysOfMonths(e+1,i)?(h=1,n=\"month\",g=e+=1,e):e},d=(24-e.minHour)*s,g=l,u=c(h,i,a);0===e.minHour&&1===e.minDate?(d=0,g=b.monthMod(e.minMonth),n=\"month\",h=e.minDate):1!==e.minDate&&0===e.minHour&&0===e.minMinute&&(d=0,l=e.minDate,g=l,u=c(h=l,i,a)),this.timeScaleArray.push({position:d,value:g,unit:n,year:this._getYear(a,u,0),month:b.monthMod(u),day:h});for(var p=d,f=0;fn.determineDaysOfMonths(e+1,s)&&(f=1,e+=1),{month:e,date:f}},c=function(t,e){return t>n.determineDaysOfMonths(e+1,s)?e+=1:e},d=60-(e.minMinute+e.minSecond/60),g=d*r,u=e.minHour+1,p=u;60===d&&(g=0,p=u=e.minHour);var f=i;p>=24&&(p=0,f+=1,l=\"day\");var x=h(f,a).month;x=c(f,x),this.timeScaleArray.push({position:g,value:u,unit:l,day:f,hour:p,year:s,month:b.monthMod(x)}),p++;for(var v=g,m=0;m=24)p=0,l=\"day\",x=h(f+=1,x).month,x=c(f,x);var y=this._getYear(s,x,0);v=60*r+v;var w=0===p?f:p;this.timeScaleArray.push({position:v,value:w,unit:l,hour:p,day:f,year:y,month:b.monthMod(x)}),p++}}},{key:\"generateMinuteScale\",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,r=t.currentDate,o=t.currentMonth,n=t.currentYear,l=t.minutesWidthOnXAxis,h=t.secondsWidthOnXAxis,c=t.numberOfMinutes,d=a+1,g=r,u=o,p=n,f=s,x=(60-i-e/1e3)*h,v=0;v=60&&(d=0,24===(f+=1)&&(f=0)),this.timeScaleArray.push({position:x,value:d,unit:\"minute\",hour:f,minute:d,day:g,year:this._getYear(p,u,0),month:b.monthMod(u)}),x+=l,d++}},{key:\"generateSecondScale\",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,r=t.currentDate,o=t.currentMonth,n=t.currentYear,l=t.secondsWidthOnXAxis,h=t.numberOfSeconds,c=i+1,d=a,g=r,u=o,p=n,f=s,x=(1e3-e)/1e3*l,v=0;v=60&&(c=0,++d>=60&&(d=0,24===++f&&(f=0))),this.timeScaleArray.push({position:x,value:c,unit:\"second\",hour:f,minute:d,second:c,day:g,year:this._getYear(p,u,0),month:b.monthMod(u)}),x+=l,c++}},{key:\"createRawDateString\",value:function(t,e){var i=t.year;return 0===t.month&&(t.month=1),i+=\"-\"+(\"0\"+t.month.toString()).slice(-2),\"day\"===t.unit?i+=\"day\"===t.unit?\"-\"+(\"0\"+e).slice(-2):\"-01\":i+=\"-\"+(\"0\"+(t.day?t.day:\"1\")).slice(-2),\"hour\"===t.unit?i+=\"hour\"===t.unit?\"T\"+(\"0\"+e).slice(-2):\"T00\":i+=\"T\"+(\"0\"+(t.hour?t.hour:\"0\")).slice(-2),\"minute\"===t.unit?i+=\":\"+(\"0\"+e).slice(-2):i+=\":\"+(t.minute?(\"0\"+t.minute).slice(-2):\"00\"),\"second\"===t.unit?i+=\":\"+(\"0\"+e).slice(-2):i+=\":00\",this.utc&&(i+=\".000Z\"),i}},{key:\"formatDates\",value:function(t){var e=this,i=this.w;return t.map((function(t){var a=t.value.toString(),s=new I(e.ctx),r=e.createRawDateString(t,a),o=s.getDate(s.parseDate(r));if(e.utc||(o=s.getDate(s.parseDateWithTimezone(r))),void 0===i.config.xaxis.labels.format){var n=\"dd MMM\",l=i.config.xaxis.labels.datetimeFormatter;\"year\"===t.unit&&(n=l.year),\"month\"===t.unit&&(n=l.month),\"day\"===t.unit&&(n=l.day),\"hour\"===t.unit&&(n=l.hour),\"minute\"===t.unit&&(n=l.minute),\"second\"===t.unit&&(n=l.second),a=s.formatDate(o,n)}else a=s.formatDate(o,i.config.xaxis.labels.format);return{dateString:r,position:t.position,value:a,unit:t.unit,year:t.year,month:t.month}}))}},{key:\"removeOverlappingTS\",value:function(t){var e,i=this,a=new y(this.ctx),s=!1;t.length>0&&t[0].value&&t.every((function(e){return e.value.length===t[0].value.length}))&&(s=!0,e=a.getTextRects(t[0].value).width);var r=0,o=t.map((function(o,n){if(n>0&&i.w.config.xaxis.labels.hideOverlappingLabels){var l=s?e:a.getTextRects(t[r].value).width,h=t[r].position;return o.position>h+l+10?(r=n,o):null}return o}));return o=o.filter((function(t){return null!==t}))}},{key:\"_getYear\",value:function(t,e,i){return t+Math.floor(e/12)+i}}]),t}(),Bt=function(){function t(e,i){a(this,t),this.ctx=i,this.w=i.w,this.el=e}return r(t,[{key:\"setupElements\",value:function(){var t=this.w.globals,e=this.w.config,i=e.chart.type;t.axisCharts=[\"line\",\"area\",\"bar\",\"rangeBar\",\"rangeArea\",\"candlestick\",\"boxPlot\",\"scatter\",\"bubble\",\"radar\",\"heatmap\",\"treemap\"].indexOf(i)>-1,t.xyCharts=[\"line\",\"area\",\"bar\",\"rangeBar\",\"rangeArea\",\"candlestick\",\"boxPlot\",\"scatter\",\"bubble\"].indexOf(i)>-1,t.isBarHorizontal=(\"bar\"===e.chart.type||\"rangeBar\"===e.chart.type||\"boxPlot\"===e.chart.type)&&e.plotOptions.bar.horizontal,t.chartClass=\".apexcharts\"+t.chartID,t.dom.baseEl=this.el,t.dom.elWrap=document.createElement(\"div\"),y.setAttrs(t.dom.elWrap,{id:t.chartClass.substring(1),class:\"apexcharts-canvas \"+t.chartClass.substring(1)}),this.el.appendChild(t.dom.elWrap),t.dom.Paper=new window.SVG.Doc(t.dom.elWrap),t.dom.Paper.attr({class:\"apexcharts-svg\",\"xmlns:data\":\"ApexChartsNS\",transform:\"translate(\".concat(e.chart.offsetX,\", \").concat(e.chart.offsetY,\")\")}),t.dom.Paper.node.style.background=\"dark\"!==e.theme.mode||e.chart.background?e.chart.background:\"rgba(0, 0, 0, 0.8)\",this.setSVGDimensions(),t.dom.elLegendForeign=document.createElementNS(t.SVGNS,\"foreignObject\"),y.setAttrs(t.dom.elLegendForeign,{x:0,y:0,width:t.svgWidth,height:t.svgHeight}),t.dom.elLegendWrap=document.createElement(\"div\"),t.dom.elLegendWrap.classList.add(\"apexcharts-legend\"),t.dom.elLegendWrap.setAttribute(\"xmlns\",\"http://www.w3.org/1999/xhtml\"),t.dom.elLegendForeign.appendChild(t.dom.elLegendWrap),t.dom.Paper.node.appendChild(t.dom.elLegendForeign),t.dom.elGraphical=t.dom.Paper.group().attr({class:\"apexcharts-inner apexcharts-graphical\"}),t.dom.elDefs=t.dom.Paper.defs(),t.dom.Paper.add(t.dom.elGraphical),t.dom.elGraphical.add(t.dom.elDefs)}},{key:\"plotChartType\",value:function(t,e){var i=this.w,a=i.config,s=i.globals,r={series:[],i:[]},o={series:[],i:[]},n={series:[],i:[]},l={series:[],i:[]},h={series:[],i:[]},c={series:[],i:[]},d={series:[],i:[]},g={series:[],i:[]},u={series:[],seriesRangeEnd:[],i:[]};s.series.map((function(e,p){var f=0;void 0!==t[p].type?(\"column\"===t[p].type||\"bar\"===t[p].type?(s.series.length>1&&a.plotOptions.bar.horizontal&&console.warn(\"Horizontal bars are not supported in a mixed/combo chart. Please turn off `plotOptions.bar.horizontal`\"),h.series.push(e),h.i.push(p),f++,i.globals.columnSeries=h.series):\"area\"===t[p].type?(o.series.push(e),o.i.push(p),f++):\"line\"===t[p].type?(r.series.push(e),r.i.push(p),f++):\"scatter\"===t[p].type?(n.series.push(e),n.i.push(p)):\"bubble\"===t[p].type?(l.series.push(e),l.i.push(p),f++):\"candlestick\"===t[p].type?(c.series.push(e),c.i.push(p),f++):\"boxPlot\"===t[p].type?(d.series.push(e),d.i.push(p),f++):\"rangeBar\"===t[p].type?(g.series.push(e),g.i.push(p),f++):\"rangeArea\"===t[p].type?(u.series.push(s.seriesRangeStart[p]),u.seriesRangeEnd.push(s.seriesRangeEnd[p]),u.i.push(p),f++):console.warn(\"You have specified an unrecognized chart type. Available types for this property are line/area/column/bar/scatter/bubble/candlestick/boxPlot/rangeBar/rangeArea\"),f>1&&(s.comboCharts=!0)):(r.series.push(e),r.i.push(p))}));var p=new Rt(this.ctx,e),f=new At(this.ctx,e);this.ctx.pie=new Pt(this.ctx);var x=new It(this.ctx);this.ctx.rangeBar=new Tt(this.ctx,e);var b=new Mt(this.ctx),v=[];if(s.comboCharts){if(o.series.length>0&&v.push(p.draw(o.series,\"area\",o.i)),h.series.length>0)if(i.config.chart.stacked){var m=new kt(this.ctx,e);v.push(m.draw(h.series,h.i))}else this.ctx.bar=new wt(this.ctx,e),v.push(this.ctx.bar.draw(h.series,h.i));if(u.series.length>0&&v.push(p.draw(u.series,\"rangeArea\",u.i,u.seriesRangeEnd)),r.series.length>0&&v.push(p.draw(r.series,\"line\",r.i)),c.series.length>0&&v.push(f.draw(c.series,\"candlestick\",c.i)),d.series.length>0&&v.push(f.draw(d.series,\"boxPlot\",d.i)),g.series.length>0&&v.push(this.ctx.rangeBar.draw(g.series,g.i)),n.series.length>0){var y=new Rt(this.ctx,e,!0);v.push(y.draw(n.series,\"scatter\",n.i))}if(l.series.length>0){var w=new Rt(this.ctx,e,!0);v.push(w.draw(l.series,\"bubble\",l.i))}}else switch(a.chart.type){case\"line\":v=p.draw(s.series,\"line\");break;case\"area\":v=p.draw(s.series,\"area\");break;case\"bar\":if(a.chart.stacked)v=new kt(this.ctx,e).draw(s.series);else this.ctx.bar=new wt(this.ctx,e),v=this.ctx.bar.draw(s.series);break;case\"candlestick\":v=new At(this.ctx,e).draw(s.series,\"candlestick\");break;case\"boxPlot\":v=new At(this.ctx,e).draw(s.series,a.chart.type);break;case\"rangeBar\":v=this.ctx.rangeBar.draw(s.series);break;case\"rangeArea\":v=p.draw(s.seriesRangeStart,\"rangeArea\",void 0,s.seriesRangeEnd);break;case\"heatmap\":v=new Ct(this.ctx,e).draw(s.series);break;case\"treemap\":v=new Ot(this.ctx,e).draw(s.series);break;case\"pie\":case\"donut\":case\"polarArea\":v=this.ctx.pie.draw(s.series);break;case\"radialBar\":v=x.draw(s.series);break;case\"radar\":v=b.draw(s.series);break;default:v=p.draw(s.series)}return v}},{key:\"setSVGDimensions\",value:function(){var t=this.w.globals,e=this.w.config;t.svgWidth=e.chart.width,t.svgHeight=e.chart.height;var i=b.getDimensions(this.el),a=e.chart.width.toString().split(/[0-9]+/g).pop();\"%\"===a?b.isNumber(i[0])&&(0===i[0].width&&(i=b.getDimensions(this.el.parentNode)),t.svgWidth=i[0]*parseInt(e.chart.width,10)/100):\"px\"!==a&&\"\"!==a||(t.svgWidth=parseInt(e.chart.width,10));var s=e.chart.height.toString().split(/[0-9]+/g).pop();if(\"auto\"!==t.svgHeight&&\"\"!==t.svgHeight)if(\"%\"===s){var r=b.getDimensions(this.el.parentNode);t.svgHeight=r[1]*parseInt(e.chart.height,10)/100}else t.svgHeight=parseInt(e.chart.height,10);else t.axisCharts?t.svgHeight=t.svgWidth/1.61:t.svgHeight=t.svgWidth/1.2;if(t.svgWidth<0&&(t.svgWidth=0),t.svgHeight<0&&(t.svgHeight=0),y.setAttrs(t.dom.Paper.node,{width:t.svgWidth,height:t.svgHeight}),\"%\"!==s){var o=e.chart.sparkline.enabled?0:t.axisCharts?e.chart.parentHeightOffset:0;t.dom.Paper.node.parentNode.parentNode.style.minHeight=t.svgHeight+o+\"px\"}t.dom.elWrap.style.width=t.svgWidth+\"px\",t.dom.elWrap.style.height=t.svgHeight+\"px\"}},{key:\"shiftGraphPosition\",value:function(){var t=this.w.globals,e=t.translateY,i={transform:\"translate(\"+t.translateX+\", \"+e+\")\"};y.setAttrs(t.dom.elGraphical.node,i)}},{key:\"resizeNonAxisCharts\",value:function(){var t=this.w,e=t.globals,i=0,a=t.config.chart.sparkline.enabled?1:15;a+=t.config.grid.padding.bottom,\"top\"!==t.config.legend.position&&\"bottom\"!==t.config.legend.position||!t.config.legend.show||t.config.legend.floating||(i=new ht(this.ctx).legendHelpers.getLegendBBox().clwh+10);var s=t.globals.dom.baseEl.querySelector(\".apexcharts-radialbar, .apexcharts-pie\"),r=2.05*t.globals.radialSize;if(s&&!t.config.chart.sparkline.enabled&&0!==t.config.plotOptions.radialBar.startAngle){var o=b.getBoundingClientRect(s);r=o.bottom;var n=o.bottom-o.top;r=Math.max(2.05*t.globals.radialSize,n)}var l=r+e.translateY+i+a;e.dom.elLegendForeign&&e.dom.elLegendForeign.setAttribute(\"height\",l),t.config.chart.height&&String(t.config.chart.height).indexOf(\"%\")>0||(e.dom.elWrap.style.height=l+\"px\",y.setAttrs(e.dom.Paper.node,{height:l}),e.dom.Paper.node.parentNode.parentNode.style.minHeight=l+\"px\")}},{key:\"coreCalculations\",value:function(){new q(this.ctx).init()}},{key:\"resetGlobals\",value:function(){var t=this,e=function(){return t.w.config.series.map((function(t){return[]}))},i=new F,a=this.w.globals;i.initGlobalVars(a),a.seriesXvalues=e(),a.seriesYvalues=e()}},{key:\"isMultipleY\",value:function(){if(this.w.config.yaxis.constructor===Array&&this.w.config.yaxis.length>1)return this.w.globals.isMultipleYAxis=!0,!0}},{key:\"xySettings\",value:function(){var t=null,e=this.w;if(e.globals.axisCharts){if(\"back\"===e.config.xaxis.crosshairs.position)new K(this.ctx).drawXCrosshairs();if(\"back\"===e.config.yaxis[0].crosshairs.position)new K(this.ctx).drawYCrosshairs();if(\"datetime\"===e.config.xaxis.type&&void 0===e.config.xaxis.labels.formatter){this.ctx.timeScale=new Wt(this.ctx);var i=[];isFinite(e.globals.minX)&&isFinite(e.globals.maxX)&&!e.globals.isBarHorizontal?i=this.ctx.timeScale.calculateTimeScaleTicks(e.globals.minX,e.globals.maxX):e.globals.isBarHorizontal&&(i=this.ctx.timeScale.calculateTimeScaleTicks(e.globals.minY,e.globals.maxY)),this.ctx.timeScale.recalcDimensionsBasedOnFormat(i)}t=new w(this.ctx).getCalculatedRatios()}return t}},{key:\"updateSourceChart\",value:function(t){this.ctx.w.globals.selection=void 0,this.ctx.updateHelpers._updateOptions({chart:{selection:{xaxis:{min:t.w.globals.minX,max:t.w.globals.maxX}}}},!1,!1)}},{key:\"setupBrushHandler\",value:function(){var t=this,e=this.w;if(e.config.chart.brush.enabled&&\"function\"!=typeof e.config.chart.events.selection){var i=Array.isArray(e.config.chart.brush.targets)?e.config.chart.brush.targets:[e.config.chart.brush.target];i.forEach((function(e){var i=ApexCharts.getChartByID(e);i.w.globals.brushSource=t.ctx,\"function\"!=typeof i.w.config.chart.events.zoomed&&(i.w.config.chart.events.zoomed=function(){t.updateSourceChart(i)}),\"function\"!=typeof i.w.config.chart.events.scrolled&&(i.w.config.chart.events.scrolled=function(){t.updateSourceChart(i)})})),e.config.chart.events.selection=function(t,e){i.forEach((function(t){ApexCharts.getChartByID(t).ctx.updateHelpers._updateOptions({xaxis:{min:e.xaxis.min,max:e.xaxis.max}},!1,!1,!1,!1)}))}}}}]),t}(),Gt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"_updateOptions\",value:function(t){var e=this,a=arguments.length>1&&void 0!==arguments[1]&&arguments[1],s=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return new Promise((function(n){var l=[e.ctx];r&&(l=e.ctx.getSyncedCharts()),e.ctx.w.globals.isExecCalled&&(l=[e.ctx],e.ctx.w.globals.isExecCalled=!1),l.forEach((function(r,h){var c=r.w;if(c.globals.shouldAnimate=s,a||(c.globals.resized=!0,c.globals.dataChanged=!0,s&&r.series.getPreviousPaths()),t&&\"object\"===i(t)&&(r.config=new Y(t),t=w.extendArrayProps(r.config,t,c),r.w.globals.chartID!==e.ctx.w.globals.chartID&&delete t.series,c.config=b.extend(c.config,t),o&&(c.globals.lastXAxis=t.xaxis?b.clone(t.xaxis):[],c.globals.lastYAxis=t.yaxis?b.clone(t.yaxis):[],c.globals.initialConfig=b.extend({},c.config),c.globals.initialSeries=b.clone(c.config.series),t.series))){for(var d=0;d2&&void 0!==arguments[2]&&arguments[2];return new Promise((function(s){var r,o=i.w;return o.globals.shouldAnimate=e,o.globals.dataChanged=!0,e&&i.ctx.series.getPreviousPaths(),o.globals.axisCharts?(0===(r=t.map((function(t,e){return i._extendSeries(t,e)}))).length&&(r=[{data:[]}]),o.config.series=r):o.config.series=t.slice(),a&&(o.globals.initialConfig.series=b.clone(o.config.series),o.globals.initialSeries=b.clone(o.config.series)),i.ctx.update().then((function(){s(i.ctx)}))}))}},{key:\"_extendSeries\",value:function(t,i){var a=this.w,s=a.config.series[i];return e(e({},a.config.series[i]),{},{name:t.name?t.name:null==s?void 0:s.name,color:t.color?t.color:null==s?void 0:s.color,type:t.type?t.type:null==s?void 0:s.type,group:t.group?t.group:null==s?void 0:s.group,data:t.data?t.data:null==s?void 0:s.data,zIndex:void 0!==t.zIndex?t.zIndex:i})}},{key:\"toggleDataPointSelection\",value:function(t,e){var i=this.w,a=null,s=\".apexcharts-series[data\\\\:realIndex='\".concat(t,\"']\");return i.globals.axisCharts?a=i.globals.dom.Paper.select(\"\".concat(s,\" path[j='\").concat(e,\"'], \").concat(s,\" circle[j='\").concat(e,\"'], \").concat(s,\" rect[j='\").concat(e,\"']\")).members[0]:void 0===e&&(a=i.globals.dom.Paper.select(\"\".concat(s,\" path[j='\").concat(t,\"']\")).members[0],\"pie\"!==i.config.chart.type&&\"polarArea\"!==i.config.chart.type&&\"donut\"!==i.config.chart.type||this.ctx.pie.pieClicked(t)),a?(new y(this.ctx).pathMouseDown(a,null),a.node?a.node:null):(console.warn(\"toggleDataPointSelection: Element not found\"),null)}},{key:\"forceXAxisUpdate\",value:function(t){var e=this.w;if([\"min\",\"max\"].forEach((function(i){void 0!==t.xaxis[i]&&(e.config.xaxis[i]=t.xaxis[i],e.globals.lastXAxis[i]=t.xaxis[i])})),t.xaxis.categories&&t.xaxis.categories.length&&(e.config.xaxis.categories=t.xaxis.categories),e.config.xaxis.convertedCatToNumeric){var i=new E(t);t=i.convertCatToNumericXaxis(t,this.ctx)}return t}},{key:\"forceYAxisUpdate\",value:function(t){return t.chart&&t.chart.stacked&&\"100%\"===t.chart.stackType&&(Array.isArray(t.yaxis)?t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})):(t.yaxis.min=0,t.yaxis.max=100)),t}},{key:\"revertDefaultAxisMinMax\",value:function(t){var e=this,i=this.w,a=i.globals.lastXAxis,s=i.globals.lastYAxis;t&&t.xaxis&&(a=t.xaxis),t&&t.yaxis&&(s=t.yaxis),i.config.xaxis.min=a.min,i.config.xaxis.max=a.max;var r=function(t){void 0!==s[t]&&(i.config.yaxis[t].min=s[t].min,i.config.yaxis[t].max=s[t].max)};i.config.yaxis.map((function(t,a){i.globals.zoomed||void 0!==s[a]?r(a):void 0!==e.ctx.opts.yaxis[a]&&(t.min=e.ctx.opts.yaxis[a].min,t.max=e.ctx.opts.yaxis[a].max)}))}}]),t}();Ht=\"undefined\"!=typeof window?window:void 0,Dt=function(t,e){var a=(void 0!==this?this:t).SVG=function(t){if(a.supported)return t=new a.Doc(t),a.parser.draw||a.prepare(),t};if(a.ns=\"http://www.w3.org/2000/svg\",a.xmlns=\"http://www.w3.org/2000/xmlns/\",a.xlink=\"http://www.w3.org/1999/xlink\",a.svgjs=\"http://svgjs.dev\",a.supported=!0,!a.supported)return!1;a.did=1e3,a.eid=function(t){return\"Svgjs\"+d(t)+a.did++},a.create=function(t){var i=e.createElementNS(this.ns,t);return i.setAttribute(\"id\",this.eid(t)),i},a.extend=function(){var t,e;e=(t=[].slice.call(arguments)).pop();for(var i=t.length-1;i>=0;i--)if(t[i])for(var s in e)t[i].prototype[s]=e[s];a.Set&&a.Set.inherit&&a.Set.inherit()},a.invent=function(t){var e=\"function\"==typeof t.create?t.create:function(){this.constructor.call(this,a.create(t.create))};return t.inherit&&(e.prototype=new t.inherit),t.extend&&a.extend(e,t.extend),t.construct&&a.extend(t.parent||a.Container,t.construct),e},a.adopt=function(e){return e?e.instance?e.instance:((i=\"svg\"==e.nodeName?e.parentNode instanceof t.SVGElement?new a.Nested:new a.Doc:\"linearGradient\"==e.nodeName?new a.Gradient(\"linear\"):\"radialGradient\"==e.nodeName?new a.Gradient(\"radial\"):a[d(e.nodeName)]?new(a[d(e.nodeName)]):new a.Element(e)).type=e.nodeName,i.node=e,e.instance=i,i instanceof a.Doc&&i.namespace().defs(),i.setData(JSON.parse(e.getAttribute(\"svgjs:data\"))||{}),i):null;var i},a.prepare=function(){var t=e.getElementsByTagName(\"body\")[0],i=(t?new a.Doc(t):a.adopt(e.documentElement).nested()).size(2,0);a.parser={body:t||e.documentElement,draw:i.style(\"opacity:0;position:absolute;left:-100%;top:-100%;overflow:hidden\").node,poly:i.polyline().node,path:i.path().node,native:a.create(\"svg\")}},a.parser={native:a.create(\"svg\")},e.addEventListener(\"DOMContentLoaded\",(function(){a.parser.draw||a.prepare()}),!1),a.regex={numberAndUnit:/^([+-]?(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?)([a-z%]*)$/i,hex:/^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i,rgb:/rgb\\((\\d+),(\\d+),(\\d+)\\)/,reference:/#([a-z0-9\\-_]+)/i,transforms:/\\)\\s*,?\\s*/,whitespace:/\\s/g,isHex:/^#[a-f0-9]{3,6}$/i,isRgb:/^rgb\\(/,isCss:/[^:]+:[^;]+;?/,isBlank:/^(\\s+)?$/,isNumber:/^[+-]?(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?$/i,isPercent:/^-?[\\d\\.]+%$/,isImage:/\\.(jpg|jpeg|png|gif|svg)(\\?[^=]+.*)?/i,delimiter:/[\\s,]+/,hyphen:/([^e])\\-/gi,pathLetters:/[MLHVCSQTAZ]/gi,isPathLetter:/[MLHVCSQTAZ]/i,numbersWithDots:/((\\d?\\.\\d+(?:e[+-]?\\d+)?)((?:\\.\\d+(?:e[+-]?\\d+)?)+))+/gi,dots:/\\./g},a.utils={map:function(t,e){for(var i=t.length,a=[],s=0;s1?1:t,new a.Color({r:~~(this.r+(this.destination.r-this.r)*t),g:~~(this.g+(this.destination.g-this.g)*t),b:~~(this.b+(this.destination.b-this.b)*t)})):this}}),a.Color.test=function(t){return t+=\"\",a.regex.isHex.test(t)||a.regex.isRgb.test(t)},a.Color.isRgb=function(t){return t&&\"number\"==typeof t.r&&\"number\"==typeof t.g&&\"number\"==typeof t.b},a.Color.isColor=function(t){return a.Color.isRgb(t)||a.Color.test(t)},a.Array=function(t,e){0==(t=(t||[]).valueOf()).length&&e&&(t=e.valueOf()),this.value=this.parse(t)},a.extend(a.Array,{toString:function(){return this.value.join(\" \")},valueOf:function(){return this.value},parse:function(t){return t=t.valueOf(),Array.isArray(t)?t:this.split(t)}}),a.PointArray=function(t,e){a.Array.call(this,t,e||[[0,0]])},a.PointArray.prototype=new a.Array,a.PointArray.prototype.constructor=a.PointArray;for(var s={M:function(t,e,i){return e.x=i.x=t[0],e.y=i.y=t[1],[\"M\",e.x,e.y]},L:function(t,e){return e.x=t[0],e.y=t[1],[\"L\",t[0],t[1]]},H:function(t,e){return e.x=t[0],[\"H\",t[0]]},V:function(t,e){return e.y=t[0],[\"V\",t[0]]},C:function(t,e){return e.x=t[4],e.y=t[5],[\"C\",t[0],t[1],t[2],t[3],t[4],t[5]]},Q:function(t,e){return e.x=t[2],e.y=t[3],[\"Q\",t[0],t[1],t[2],t[3]]},S:function(t,e){return e.x=t[2],e.y=t[3],[\"S\",t[0],t[1],t[2],t[3]]},Z:function(t,e,i){return e.x=i.x,e.y=i.y,[\"Z\"]}},r=\"mlhvqtcsaz\".split(\"\"),o=0,n=r.length;ol);return r},bbox:function(){return a.parser.draw||a.prepare(),a.parser.path.setAttribute(\"d\",this.toString()),a.parser.path.getBBox()}}),a.Number=a.invent({create:function(t,e){this.value=0,this.unit=e||\"\",\"number\"==typeof t?this.value=isNaN(t)?0:isFinite(t)?t:t<0?-34e37:34e37:\"string\"==typeof t?(e=t.match(a.regex.numberAndUnit))&&(this.value=parseFloat(e[1]),\"%\"==e[5]?this.value/=100:\"s\"==e[5]&&(this.value*=1e3),this.unit=e[5]):t instanceof a.Number&&(this.value=t.valueOf(),this.unit=t.unit)},extend:{toString:function(){return(\"%\"==this.unit?~~(1e8*this.value)/1e6:\"s\"==this.unit?this.value/1e3:this.value)+this.unit},toJSON:function(){return this.toString()},valueOf:function(){return this.value},plus:function(t){return t=new a.Number(t),new a.Number(this+t,this.unit||t.unit)},minus:function(t){return t=new a.Number(t),new a.Number(this-t,this.unit||t.unit)},times:function(t){return t=new a.Number(t),new a.Number(this*t,this.unit||t.unit)},divide:function(t){return t=new a.Number(t),new a.Number(this/t,this.unit||t.unit)},to:function(t){var e=new a.Number(this);return\"string\"==typeof t&&(e.unit=t),e},morph:function(t){return this.destination=new a.Number(t),t.relative&&(this.destination.value+=this.value),this},at:function(t){return this.destination?new a.Number(this.destination).minus(this).times(t).plus(this):this}}}),a.Element=a.invent({create:function(t){this._stroke=a.defaults.attrs.stroke,this._event=null,this.dom={},(this.node=t)&&(this.type=t.nodeName,this.node.instance=this,this._stroke=t.getAttribute(\"stroke\")||this._stroke)},extend:{x:function(t){return this.attr(\"x\",t)},y:function(t){return this.attr(\"y\",t)},cx:function(t){return null==t?this.x()+this.width()/2:this.x(t-this.width()/2)},cy:function(t){return null==t?this.y()+this.height()/2:this.y(t-this.height()/2)},move:function(t,e){return this.x(t).y(e)},center:function(t,e){return this.cx(t).cy(e)},width:function(t){return this.attr(\"width\",t)},height:function(t){return this.attr(\"height\",t)},size:function(t,e){var i=u(this,t,e);return this.width(new a.Number(i.width)).height(new a.Number(i.height))},clone:function(t){this.writeDataToDom();var e=x(this.node.cloneNode(!0));return t?t.add(e):this.after(e),e},remove:function(){return this.parent()&&this.parent().removeElement(this),this},replace:function(t){return this.after(t).remove(),t},addTo:function(t){return t.put(this)},putIn:function(t){return t.add(this)},id:function(t){return this.attr(\"id\",t)},show:function(){return this.style(\"display\",\"\")},hide:function(){return this.style(\"display\",\"none\")},visible:function(){return\"none\"!=this.style(\"display\")},toString:function(){return this.attr(\"id\")},classes:function(){var t=this.attr(\"class\");return null==t?[]:t.trim().split(a.regex.delimiter)},hasClass:function(t){return-1!=this.classes().indexOf(t)},addClass:function(t){if(!this.hasClass(t)){var e=this.classes();e.push(t),this.attr(\"class\",e.join(\" \"))}return this},removeClass:function(t){return this.hasClass(t)&&this.attr(\"class\",this.classes().filter((function(e){return e!=t})).join(\" \")),this},toggleClass:function(t){return this.hasClass(t)?this.removeClass(t):this.addClass(t)},reference:function(t){return a.get(this.attr(t))},parent:function(e){var i=this;if(!i.node.parentNode)return null;if(i=a.adopt(i.node.parentNode),!e)return i;for(;i&&i.node instanceof t.SVGElement;){if(\"string\"==typeof e?i.matches(e):i instanceof e)return i;if(!i.node.parentNode||\"#document\"==i.node.parentNode.nodeName)return null;i=a.adopt(i.node.parentNode)}},doc:function(){return this instanceof a.Doc?this:this.parent(a.Doc)},parents:function(t){var e=[],i=this;do{if(!(i=i.parent(t))||!i.node)break;e.push(i)}while(i.parent);return e},matches:function(t){return function(t,e){return(t.matches||t.matchesSelector||t.msMatchesSelector||t.mozMatchesSelector||t.webkitMatchesSelector||t.oMatchesSelector).call(t,e)}(this.node,t)},native:function(){return this.node},svg:function(t){var i=e.createElement(\"svg\");if(!(t&&this instanceof a.Parent))return i.appendChild(t=e.createElement(\"svg\")),this.writeDataToDom(),t.appendChild(this.node.cloneNode(!0)),i.innerHTML.replace(/^/,\"\").replace(/<\\/svg>$/,\"\");i.innerHTML=\"\"+t.replace(/\\n/,\"\").replace(/<([\\w:-]+)([^<]+?)\\/>/g,\"<$1$2>\")+\"\";for(var s=0,r=i.firstChild.childNodes.length;s\":function(t){return-Math.cos(t*Math.PI)/2+.5},\">\":function(t){return Math.sin(t*Math.PI/2)},\"<\":function(t){return 1-Math.cos(t*Math.PI/2)}},a.morph=function(t){return function(e,i){return new a.MorphObj(e,i).at(t)}},a.Situation=a.invent({create:function(t){this.init=!1,this.reversed=!1,this.reversing=!1,this.duration=new a.Number(t.duration).valueOf(),this.delay=new a.Number(t.delay).valueOf(),this.start=+new Date+this.delay,this.finish=this.start+this.duration,this.ease=t.ease,this.loop=0,this.loops=!1,this.animations={},this.attrs={},this.styles={},this.transforms=[],this.once={}}}),a.FX=a.invent({create:function(t){this._target=t,this.situations=[],this.active=!1,this.situation=null,this.paused=!1,this.lastPos=0,this.pos=0,this.absPos=0,this._speed=1},extend:{animate:function(t,e,s){\"object\"===i(t)&&(e=t.ease,s=t.delay,t=t.duration);var r=new a.Situation({duration:t||1e3,delay:s||0,ease:a.easing[e||\"-\"]||e});return this.queue(r),this},target:function(t){return t&&t instanceof a.Element?(this._target=t,this):this._target},timeToAbsPos:function(t){return(t-this.situation.start)/(this.situation.duration/this._speed)},absPosToTime:function(t){return this.situation.duration/this._speed*t+this.situation.start},startAnimFrame:function(){this.stopAnimFrame(),this.animationFrame=t.requestAnimationFrame(function(){this.step()}.bind(this))},stopAnimFrame:function(){t.cancelAnimationFrame(this.animationFrame)},start:function(){return!this.active&&this.situation&&(this.active=!0,this.startCurrent()),this},startCurrent:function(){return this.situation.start=+new Date+this.situation.delay/this._speed,this.situation.finish=this.situation.start+this.situation.duration/this._speed,this.initAnimations().step()},queue:function(t){return(\"function\"==typeof t||t instanceof a.Situation)&&this.situations.push(t),this.situation||(this.situation=this.situations.shift()),this},dequeue:function(){return this.stop(),this.situation=this.situations.shift(),this.situation&&(this.situation instanceof a.Situation?this.start():this.situation.call(this)),this},initAnimations:function(){var t,e=this.situation;if(e.init)return this;for(var i in e.animations){t=this.target()[i](),Array.isArray(t)||(t=[t]),Array.isArray(e.animations[i])||(e.animations[i]=[e.animations[i]]);for(var s=t.length;s--;)e.animations[i][s]instanceof a.Number&&(t[s]=new a.Number(t[s])),e.animations[i][s]=t[s].morph(e.animations[i][s])}for(var i in e.attrs)e.attrs[i]=new a.MorphObj(this.target().attr(i),e.attrs[i]);for(var i in e.styles)e.styles[i]=new a.MorphObj(this.target().style(i),e.styles[i]);return e.initialTransformation=this.target().matrixify(),e.init=!0,this},clearQueue:function(){return this.situations=[],this},clearCurrent:function(){return this.situation=null,this},stop:function(t,e){var i=this.active;return this.active=!1,e&&this.clearQueue(),t&&this.situation&&(!i&&this.startCurrent(),this.atEnd()),this.stopAnimFrame(),this.clearCurrent()},after:function(t){var e=this.last();return this.target().on(\"finished.fx\",(function i(a){a.detail.situation==e&&(t.call(this,e),this.off(\"finished.fx\",i))})),this._callStart()},during:function(t){var e=this.last(),i=function(i){i.detail.situation==e&&t.call(this,i.detail.pos,a.morph(i.detail.pos),i.detail.eased,e)};return this.target().off(\"during.fx\",i).on(\"during.fx\",i),this.after((function(){this.off(\"during.fx\",i)})),this._callStart()},afterAll:function(t){var e=function e(i){t.call(this),this.off(\"allfinished.fx\",e)};return this.target().off(\"allfinished.fx\",e).on(\"allfinished.fx\",e),this._callStart()},last:function(){return this.situations.length?this.situations[this.situations.length-1]:this.situation},add:function(t,e,i){return this.last()[i||\"animations\"][t]=e,this._callStart()},step:function(t){var e,i,a;t||(this.absPos=this.timeToAbsPos(+new Date)),!1!==this.situation.loops?(e=Math.max(this.absPos,0),i=Math.floor(e),!0===this.situation.loops||ithis.lastPos&&r<=s&&(this.situation.once[r].call(this.target(),this.pos,s),delete this.situation.once[r]);return this.active&&this.target().fire(\"during\",{pos:this.pos,eased:s,fx:this,situation:this.situation}),this.situation?(this.eachAt(),1==this.pos&&!this.situation.reversed||this.situation.reversed&&0==this.pos?(this.stopAnimFrame(),this.target().fire(\"finished\",{fx:this,situation:this.situation}),this.situations.length||(this.target().fire(\"allfinished\"),this.situations.length||(this.target().off(\".fx\"),this.active=!1)),this.active?this.dequeue():this.clearCurrent()):!this.paused&&this.active&&this.startAnimFrame(),this.lastPos=s,this):this},eachAt:function(){var t,e=this,i=this.target(),s=this.situation;for(var r in s.animations)t=[].concat(s.animations[r]).map((function(t){return\"string\"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),i[r].apply(i,t);for(var r in s.attrs)t=[r].concat(s.attrs[r]).map((function(t){return\"string\"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),i.attr.apply(i,t);for(var r in s.styles)t=[r].concat(s.styles[r]).map((function(t){return\"string\"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),i.style.apply(i,t);if(s.transforms.length){t=s.initialTransformation,r=0;for(var o=s.transforms.length;r=0;--s)this[v[s]]=null!=t[v[s]]?t[v[s]]:e[v[s]]},extend:{extract:function(){var t=p(this,0,1);p(this,1,0);var e=180/Math.PI*Math.atan2(t.y,t.x)-90;return{x:this.e,y:this.f,transformedX:(this.e*Math.cos(e*Math.PI/180)+this.f*Math.sin(e*Math.PI/180))/Math.sqrt(this.a*this.a+this.b*this.b),transformedY:(this.f*Math.cos(e*Math.PI/180)+this.e*Math.sin(-e*Math.PI/180))/Math.sqrt(this.c*this.c+this.d*this.d),rotation:e,a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f,matrix:new a.Matrix(this)}},clone:function(){return new a.Matrix(this)},morph:function(t){return this.destination=new a.Matrix(t),this},multiply:function(t){return new a.Matrix(this.native().multiply(function(t){return t instanceof a.Matrix||(t=new a.Matrix(t)),t}(t).native()))},inverse:function(){return new a.Matrix(this.native().inverse())},translate:function(t,e){return new a.Matrix(this.native().translate(t||0,e||0))},native:function(){for(var t=a.parser.native.createSVGMatrix(),e=v.length-1;e>=0;e--)t[v[e]]=this[v[e]];return t},toString:function(){return\"matrix(\"+b(this.a)+\",\"+b(this.b)+\",\"+b(this.c)+\",\"+b(this.d)+\",\"+b(this.e)+\",\"+b(this.f)+\")\"}},parent:a.Element,construct:{ctm:function(){return new a.Matrix(this.node.getCTM())},screenCTM:function(){if(this instanceof a.Nested){var t=this.rect(1,1),e=t.node.getScreenCTM();return t.remove(),new a.Matrix(e)}return new a.Matrix(this.node.getScreenCTM())}}}),a.Point=a.invent({create:function(t,e){var a;a=Array.isArray(t)?{x:t[0],y:t[1]}:\"object\"===i(t)?{x:t.x,y:t.y}:null!=t?{x:t,y:null!=e?e:t}:{x:0,y:0},this.x=a.x,this.y=a.y},extend:{clone:function(){return new a.Point(this)},morph:function(t,e){return this.destination=new a.Point(t,e),this}}}),a.extend(a.Element,{point:function(t,e){return new a.Point(t,e).transform(this.screenCTM().inverse())}}),a.extend(a.Element,{attr:function(t,e,s){if(null==t){for(t={},s=(e=this.node.attributes).length-1;s>=0;s--)t[e[s].nodeName]=a.regex.isNumber.test(e[s].nodeValue)?parseFloat(e[s].nodeValue):e[s].nodeValue;return t}if(\"object\"===i(t))for(var r in t)this.attr(r,t[r]);else if(null===e)this.node.removeAttribute(t);else{if(null==e)return null==(e=this.node.getAttribute(t))?a.defaults.attrs[t]:a.regex.isNumber.test(e)?parseFloat(e):e;\"stroke-width\"==t?this.attr(\"stroke\",parseFloat(e)>0?this._stroke:null):\"stroke\"==t&&(this._stroke=e),\"fill\"!=t&&\"stroke\"!=t||(a.regex.isImage.test(e)&&(e=this.doc().defs().image(e,0,0)),e instanceof a.Image&&(e=this.doc().defs().pattern(0,0,(function(){this.add(e)})))),\"number\"==typeof e?e=new a.Number(e):a.Color.isColor(e)?e=new a.Color(e):Array.isArray(e)&&(e=new a.Array(e)),\"leading\"==t?this.leading&&this.leading(e):\"string\"==typeof s?this.node.setAttributeNS(s,t,e.toString()):this.node.setAttribute(t,e.toString()),!this.rebuild||\"font-size\"!=t&&\"x\"!=t||this.rebuild(t,e)}return this}}),a.extend(a.Element,{transform:function(t,e){var s;return\"object\"!==i(t)?(s=new a.Matrix(this).extract(),\"string\"==typeof t?s[t]:s):(s=new a.Matrix(this),e=!!e||!!t.relative,null!=t.a&&(s=e?s.multiply(new a.Matrix(t)):new a.Matrix(t)),this.attr(\"transform\",s))}}),a.extend(a.Element,{untransform:function(){return this.attr(\"transform\",null)},matrixify:function(){return(this.attr(\"transform\")||\"\").split(a.regex.transforms).slice(0,-1).map((function(t){var e=t.trim().split(\"(\");return[e[0],e[1].split(a.regex.delimiter).map((function(t){return parseFloat(t)}))]})).reduce((function(t,e){return\"matrix\"==e[0]?t.multiply(f(e[1])):t[e[0]].apply(t,e[1])}),new a.Matrix)},toParent:function(t){if(this==t)return this;var e=this.screenCTM(),i=t.screenCTM().inverse();return this.addTo(t).untransform().transform(i.multiply(e)),this},toDoc:function(){return this.toParent(this.doc())}}),a.Transformation=a.invent({create:function(t,e){if(arguments.length>1&&\"boolean\"!=typeof e)return this.constructor.call(this,[].slice.call(arguments));if(Array.isArray(t))for(var a=0,s=this.arguments.length;a=0},index:function(t){return[].slice.call(this.node.childNodes).indexOf(t.node)},get:function(t){return a.adopt(this.node.childNodes[t])},first:function(){return this.get(0)},last:function(){return this.get(this.node.childNodes.length-1)},each:function(t,e){for(var i=this.children(),s=0,r=i.length;s=0;i--)e.childNodes[i]instanceof t.SVGElement&&x(e.childNodes[i]);return a.adopt(e).id(a.eid(e.nodeName))}function b(t){return Math.abs(t)>1e-37?t:0}[\"fill\",\"stroke\"].forEach((function(t){var e={};e[t]=function(e){if(void 0===e)return this;if(\"string\"==typeof e||a.Color.isRgb(e)||e&&\"function\"==typeof e.fill)this.attr(t,e);else for(var i=l[t].length-1;i>=0;i--)null!=e[l[t][i]]&&this.attr(l.prefix(t,l[t][i]),e[l[t][i]]);return this},a.extend(a.Element,a.FX,e)})),a.extend(a.Element,a.FX,{translate:function(t,e){return this.transform({x:t,y:e})},matrix:function(t){return this.attr(\"transform\",new a.Matrix(6==arguments.length?[].slice.call(arguments):t))},opacity:function(t){return this.attr(\"opacity\",t)},dx:function(t){return this.x(new a.Number(t).plus(this instanceof a.FX?0:this.x()),!0)},dy:function(t){return this.y(new a.Number(t).plus(this instanceof a.FX?0:this.y()),!0)}}),a.extend(a.Path,{length:function(){return this.node.getTotalLength()},pointAt:function(t){return this.node.getPointAtLength(t)}}),a.Set=a.invent({create:function(t){Array.isArray(t)?this.members=t:this.clear()},extend:{add:function(){for(var t=[].slice.call(arguments),e=0,i=t.length;e-1&&this.members.splice(e,1),this},each:function(t){for(var e=0,i=this.members.length;e=0},index:function(t){return this.members.indexOf(t)},get:function(t){return this.members[t]},first:function(){return this.get(0)},last:function(){return this.get(this.members.length-1)},valueOf:function(){return this.members}},construct:{set:function(t){return new a.Set(t)}}}),a.FX.Set=a.invent({create:function(t){this.set=t}}),a.Set.inherit=function(){var t=[];for(var e in a.Shape.prototype)\"function\"==typeof a.Shape.prototype[e]&&\"function\"!=typeof a.Set.prototype[e]&&t.push(e);for(var e in t.forEach((function(t){a.Set.prototype[t]=function(){for(var e=0,i=this.members.length;e=0;t--)delete this.memory()[arguments[t]];return this},memory:function(){return this._memory||(this._memory={})}}),a.get=function(t){var i=e.getElementById(function(t){var e=(t||\"\").toString().match(a.regex.reference);if(e)return e[1]}(t)||t);return a.adopt(i)},a.select=function(t,i){return new a.Set(a.utils.map((i||e).querySelectorAll(t),(function(t){return a.adopt(t)})))},a.extend(a.Parent,{select:function(t){return a.select(t,this.node)}});var v=\"abcdef\".split(\"\");if(\"function\"!=typeof t.CustomEvent){var m=function(t,i){i=i||{bubbles:!1,cancelable:!1,detail:void 0};var a=e.createEvent(\"CustomEvent\");return a.initCustomEvent(t,i.bubbles,i.cancelable,i.detail),a};m.prototype=t.Event.prototype,a.CustomEvent=m}else a.CustomEvent=t.CustomEvent;return a},\"function\"==typeof define&&define.amd?define((function(){return Dt(Ht,Ht.document)})):\"object\"===(\"undefined\"==typeof exports?\"undefined\":i(exports))&&\"undefined\"!=typeof module?module.exports=Ht.document?Dt(Ht,Ht.document):function(t){return Dt(t,t.document)}:Ht.SVG=Dt(Ht,Ht.document),\n/*! svg.filter.js - v2.0.2 - 2016-02-24\n* https://github.com/wout/svg.filter.js\n* Copyright (c) 2016 Wout Fierens; Licensed MIT */\nfunction(){SVG.Filter=SVG.invent({create:\"filter\",inherit:SVG.Parent,extend:{source:\"SourceGraphic\",sourceAlpha:\"SourceAlpha\",background:\"BackgroundImage\",backgroundAlpha:\"BackgroundAlpha\",fill:\"FillPaint\",stroke:\"StrokePaint\",autoSetIn:!0,put:function(t,e){return this.add(t,e),!t.attr(\"in\")&&this.autoSetIn&&t.attr(\"in\",this.source),t.attr(\"result\")||t.attr(\"result\",t),t},blend:function(t,e,i){return this.put(new SVG.BlendEffect(t,e,i))},colorMatrix:function(t,e){return this.put(new SVG.ColorMatrixEffect(t,e))},convolveMatrix:function(t){return this.put(new SVG.ConvolveMatrixEffect(t))},componentTransfer:function(t){return this.put(new SVG.ComponentTransferEffect(t))},composite:function(t,e,i){return this.put(new SVG.CompositeEffect(t,e,i))},flood:function(t,e){return this.put(new SVG.FloodEffect(t,e))},offset:function(t,e){return this.put(new SVG.OffsetEffect(t,e))},image:function(t){return this.put(new SVG.ImageEffect(t))},merge:function(){var t=[void 0];for(var e in arguments)t.push(arguments[e]);return this.put(new(SVG.MergeEffect.bind.apply(SVG.MergeEffect,t)))},gaussianBlur:function(t,e){return this.put(new SVG.GaussianBlurEffect(t,e))},morphology:function(t,e){return this.put(new SVG.MorphologyEffect(t,e))},diffuseLighting:function(t,e,i){return this.put(new SVG.DiffuseLightingEffect(t,e,i))},displacementMap:function(t,e,i,a,s){return this.put(new SVG.DisplacementMapEffect(t,e,i,a,s))},specularLighting:function(t,e,i,a){return this.put(new SVG.SpecularLightingEffect(t,e,i,a))},tile:function(){return this.put(new SVG.TileEffect)},turbulence:function(t,e,i,a,s){return this.put(new SVG.TurbulenceEffect(t,e,i,a,s))},toString:function(){return\"url(#\"+this.attr(\"id\")+\")\"}}}),SVG.extend(SVG.Defs,{filter:function(t){var e=this.put(new SVG.Filter);return\"function\"==typeof t&&t.call(e,e),e}}),SVG.extend(SVG.Container,{filter:function(t){return this.defs().filter(t)}}),SVG.extend(SVG.Element,SVG.G,SVG.Nested,{filter:function(t){return this.filterer=t instanceof SVG.Element?t:this.doc().filter(t),this.doc()&&this.filterer.doc()!==this.doc()&&this.doc().defs().add(this.filterer),this.attr(\"filter\",this.filterer),this.filterer},unfilter:function(t){return this.filterer&&!0===t&&this.filterer.remove(),delete this.filterer,this.attr(\"filter\",null)}}),SVG.Effect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(t){return null==t?this.parent()&&this.parent().select('[result=\"'+this.attr(\"in\")+'\"]').get(0)||this.attr(\"in\"):this.attr(\"in\",t)},result:function(t){return null==t?this.attr(\"result\"):this.attr(\"result\",t)},toString:function(){return this.result()}}}),SVG.ParentEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Parent,extend:{in:function(t){return null==t?this.parent()&&this.parent().select('[result=\"'+this.attr(\"in\")+'\"]').get(0)||this.attr(\"in\"):this.attr(\"in\",t)},result:function(t){return null==t?this.attr(\"result\"):this.attr(\"result\",t)},toString:function(){return this.result()}}});var t={blend:function(t,e){return this.parent()&&this.parent().blend(this,t,e)},colorMatrix:function(t,e){return this.parent()&&this.parent().colorMatrix(t,e).in(this)},convolveMatrix:function(t){return this.parent()&&this.parent().convolveMatrix(t).in(this)},componentTransfer:function(t){return this.parent()&&this.parent().componentTransfer(t).in(this)},composite:function(t,e){return this.parent()&&this.parent().composite(this,t,e)},flood:function(t,e){return this.parent()&&this.parent().flood(t,e)},offset:function(t,e){return this.parent()&&this.parent().offset(t,e).in(this)},image:function(t){return this.parent()&&this.parent().image(t)},merge:function(){return this.parent()&&this.parent().merge.apply(this.parent(),[this].concat(arguments))},gaussianBlur:function(t,e){return this.parent()&&this.parent().gaussianBlur(t,e).in(this)},morphology:function(t,e){return this.parent()&&this.parent().morphology(t,e).in(this)},diffuseLighting:function(t,e,i){return this.parent()&&this.parent().diffuseLighting(t,e,i).in(this)},displacementMap:function(t,e,i,a){return this.parent()&&this.parent().displacementMap(this,t,e,i,a)},specularLighting:function(t,e,i,a){return this.parent()&&this.parent().specularLighting(t,e,i,a).in(this)},tile:function(){return this.parent()&&this.parent().tile().in(this)},turbulence:function(t,e,i,a,s){return this.parent()&&this.parent().turbulence(t,e,i,a,s).in(this)}};SVG.extend(SVG.Effect,t),SVG.extend(SVG.ParentEffect,t),SVG.ChildEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(t){this.attr(\"in\",t)}}});var e={blend:function(t,e,i){this.attr({in:t,in2:e,mode:i||\"normal\"})},colorMatrix:function(t,e){\"matrix\"==t&&(e=s(e)),this.attr({type:t,values:void 0===e?null:e})},convolveMatrix:function(t){t=s(t),this.attr({order:Math.sqrt(t.split(\" \").length),kernelMatrix:t})},composite:function(t,e,i){this.attr({in:t,in2:e,operator:i})},flood:function(t,e){this.attr(\"flood-color\",t),null!=e&&this.attr(\"flood-opacity\",e)},offset:function(t,e){this.attr({dx:t,dy:e})},image:function(t){this.attr(\"href\",t,SVG.xlink)},displacementMap:function(t,e,i,a,s){this.attr({in:t,in2:e,scale:i,xChannelSelector:a,yChannelSelector:s})},gaussianBlur:function(t,e){null!=t||null!=e?this.attr(\"stdDeviation\",function(t){if(!Array.isArray(t))return t;for(var e=0,i=t.length,a=[];e1&&(M*=a=Math.sqrt(a),I*=a);s=(new SVG.Matrix).rotate(T).scale(1/M,1/I).rotate(-T),F=F.transform(s),R=R.transform(s),r=[R.x-F.x,R.y-F.y],n=r[0]*r[0]+r[1]*r[1],o=Math.sqrt(n),r[0]/=o,r[1]/=o,l=n<4?Math.sqrt(1-n/4):0,z===X&&(l*=-1);h=new SVG.Point((R.x+F.x)/2+l*-r[1],(R.y+F.y)/2+l*r[0]),c=new SVG.Point(F.x-h.x,F.y-h.y),d=new SVG.Point(R.x-h.x,R.y-h.y),g=Math.acos(c.x/Math.sqrt(c.x*c.x+c.y*c.y)),c.y<0&&(g*=-1);u=Math.acos(d.x/Math.sqrt(d.x*d.x+d.y*d.y)),d.y<0&&(u*=-1);X&&g>u&&(u+=2*Math.PI);!X&&gr.maxX-e.width&&(o=(a=r.maxX-e.width)-this.startPoints.box.x),null!=r.minY&&sr.maxY-e.height&&(n=(s=r.maxY-e.height)-this.startPoints.box.y),null!=r.snapToGrid&&(a-=a%r.snapToGrid,s-=s%r.snapToGrid,o-=o%r.snapToGrid,n-=n%r.snapToGrid),this.el instanceof SVG.G?this.el.matrix(this.startPoints.transform).transform({x:o,y:n},!0):this.el.move(a,s));return i},t.prototype.end=function(t){var e=this.drag(t);this.el.fire(\"dragend\",{event:t,p:e,m:this.m,handler:this}),SVG.off(window,\"mousemove.drag\"),SVG.off(window,\"touchmove.drag\"),SVG.off(window,\"mouseup.drag\"),SVG.off(window,\"touchend.drag\")},SVG.extend(SVG.Element,{draggable:function(e,i){\"function\"!=typeof e&&\"object\"!=typeof e||(i=e,e=!0);var a=this.remember(\"_draggable\")||new t(this);return(e=void 0===e||e)?a.init(i||{},e):(this.off(\"mousedown.drag\"),this.off(\"touchstart.drag\")),this}})}.call(void 0),function(){function t(t){this.el=t,t.remember(\"_selectHandler\",this),this.pointSelection={isSelected:!1},this.rectSelection={isSelected:!1},this.pointsList={lt:[0,0],rt:[\"width\",0],rb:[\"width\",\"height\"],lb:[0,\"height\"],t:[\"width\",0],r:[\"width\",\"height\"],b:[\"width\",\"height\"],l:[0,\"height\"]},this.pointCoord=function(t,e,i){var a=\"string\"!=typeof t?t:e[t];return i?a/2:a},this.pointCoords=function(t,e){var i=this.pointsList[t];return{x:this.pointCoord(i[0],e,\"t\"===t||\"b\"===t),y:this.pointCoord(i[1],e,\"r\"===t||\"l\"===t)}}}t.prototype.init=function(t,e){var i=this.el.bbox();this.options={};var a=this.el.selectize.defaults.points;for(var s in this.el.selectize.defaults)this.options[s]=this.el.selectize.defaults[s],void 0!==e[s]&&(this.options[s]=e[s]);var r=[\"points\",\"pointsExclude\"];for(var s in r){var o=this.options[r[s]];\"string\"==typeof o?o=o.length>0?o.split(/\\s*,\\s*/i):[]:\"boolean\"==typeof o&&\"points\"===r[s]&&(o=o?a:[]),this.options[r[s]]=o}this.options.points=[a,this.options.points].reduce((function(t,e){return t.filter((function(t){return e.indexOf(t)>-1}))})),this.options.points=[this.options.points,this.options.pointsExclude].reduce((function(t,e){return t.filter((function(t){return e.indexOf(t)<0}))})),this.parent=this.el.parent(),this.nested=this.nested||this.parent.group(),this.nested.matrix(new SVG.Matrix(this.el).translate(i.x,i.y)),this.options.deepSelect&&-1!==[\"line\",\"polyline\",\"polygon\"].indexOf(this.el.type)?this.selectPoints(t):this.selectRect(t),this.observe(),this.cleanup()},t.prototype.selectPoints=function(t){return this.pointSelection.isSelected=t,this.pointSelection.set||(this.pointSelection.set=this.parent.set(),this.drawPoints()),this},t.prototype.getPointArray=function(){var t=this.el.bbox();return this.el.array().valueOf().map((function(e){return[e[0]-t.x,e[1]-t.y]}))},t.prototype.drawPoints=function(){for(var t=this,e=this.getPointArray(),i=0,a=e.length;i0&&this.parameters.box.height-i[1]>0){if(\"text\"===this.parameters.type)return this.el.move(this.parameters.box.x+i[0],this.parameters.box.y),void this.el.attr(\"font-size\",this.parameters.fontSize-i[0]);i=this.checkAspectRatio(i),this.el.move(this.parameters.box.x+i[0],this.parameters.box.y+i[1]).size(this.parameters.box.width-i[0],this.parameters.box.height-i[1])}};break;case\"rt\":this.calc=function(t,e){var i=this.snapToGrid(t,e,2);if(this.parameters.box.width+i[0]>0&&this.parameters.box.height-i[1]>0){if(\"text\"===this.parameters.type)return this.el.move(this.parameters.box.x-i[0],this.parameters.box.y),void this.el.attr(\"font-size\",this.parameters.fontSize+i[0]);i=this.checkAspectRatio(i,!0),this.el.move(this.parameters.box.x,this.parameters.box.y+i[1]).size(this.parameters.box.width+i[0],this.parameters.box.height-i[1])}};break;case\"rb\":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.width+i[0]>0&&this.parameters.box.height+i[1]>0){if(\"text\"===this.parameters.type)return this.el.move(this.parameters.box.x-i[0],this.parameters.box.y),void this.el.attr(\"font-size\",this.parameters.fontSize+i[0]);i=this.checkAspectRatio(i),this.el.move(this.parameters.box.x,this.parameters.box.y).size(this.parameters.box.width+i[0],this.parameters.box.height+i[1])}};break;case\"lb\":this.calc=function(t,e){var i=this.snapToGrid(t,e,1);if(this.parameters.box.width-i[0]>0&&this.parameters.box.height+i[1]>0){if(\"text\"===this.parameters.type)return this.el.move(this.parameters.box.x+i[0],this.parameters.box.y),void this.el.attr(\"font-size\",this.parameters.fontSize-i[0]);i=this.checkAspectRatio(i,!0),this.el.move(this.parameters.box.x+i[0],this.parameters.box.y).size(this.parameters.box.width-i[0],this.parameters.box.height+i[1])}};break;case\"t\":this.calc=function(t,e){var i=this.snapToGrid(t,e,2);if(this.parameters.box.height-i[1]>0){if(\"text\"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y+i[1]).height(this.parameters.box.height-i[1])}};break;case\"r\":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.width+i[0]>0){if(\"text\"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).width(this.parameters.box.width+i[0])}};break;case\"b\":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.height+i[1]>0){if(\"text\"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).height(this.parameters.box.height+i[1])}};break;case\"l\":this.calc=function(t,e){var i=this.snapToGrid(t,e,1);if(this.parameters.box.width-i[0]>0){if(\"text\"===this.parameters.type)return;this.el.move(this.parameters.box.x+i[0],this.parameters.box.y).width(this.parameters.box.width-i[0])}};break;case\"rot\":this.calc=function(t,e){var i=t+this.parameters.p.x,a=e+this.parameters.p.y,s=Math.atan2(this.parameters.p.y-this.parameters.box.y-this.parameters.box.height/2,this.parameters.p.x-this.parameters.box.x-this.parameters.box.width/2),r=Math.atan2(a-this.parameters.box.y-this.parameters.box.height/2,i-this.parameters.box.x-this.parameters.box.width/2),o=this.parameters.rotation+180*(r-s)/Math.PI+this.options.snapToAngle/2;this.el.center(this.parameters.box.cx,this.parameters.box.cy).rotate(o-o%this.options.snapToAngle,this.parameters.box.cx,this.parameters.box.cy)};break;case\"point\":this.calc=function(t,e){var i=this.snapToGrid(t,e,this.parameters.pointCoords[0],this.parameters.pointCoords[1]),a=this.el.array().valueOf();a[this.parameters.i][0]=this.parameters.pointCoords[0]+i[0],a[this.parameters.i][1]=this.parameters.pointCoords[1]+i[1],this.el.plot(a)}}this.el.fire(\"resizestart\",{dx:this.parameters.x,dy:this.parameters.y,event:t}),SVG.on(window,\"touchmove.resize\",(function(t){e.update(t||window.event)})),SVG.on(window,\"touchend.resize\",(function(){e.done()})),SVG.on(window,\"mousemove.resize\",(function(t){e.update(t||window.event)})),SVG.on(window,\"mouseup.resize\",(function(){e.done()}))},t.prototype.update=function(t){if(t){var e=this._extractPosition(t),i=this.transformPoint(e.x,e.y),a=i.x-this.parameters.p.x,s=i.y-this.parameters.p.y;this.lastUpdateCall=[a,s],this.calc(a,s),this.el.fire(\"resizing\",{dx:a,dy:s,event:t})}else this.lastUpdateCall&&this.calc(this.lastUpdateCall[0],this.lastUpdateCall[1])},t.prototype.done=function(){this.lastUpdateCall=null,SVG.off(window,\"mousemove.resize\"),SVG.off(window,\"mouseup.resize\"),SVG.off(window,\"touchmove.resize\"),SVG.off(window,\"touchend.resize\"),this.el.fire(\"resizedone\")},t.prototype.snapToGrid=function(t,e,i,a){var s;return void 0!==a?s=[(i+t)%this.options.snapToGrid,(a+e)%this.options.snapToGrid]:(i=null==i?3:i,s=[(this.parameters.box.x+t+(1&i?0:this.parameters.box.width))%this.options.snapToGrid,(this.parameters.box.y+e+(2&i?0:this.parameters.box.height))%this.options.snapToGrid]),t<0&&(s[0]-=this.options.snapToGrid),e<0&&(s[1]-=this.options.snapToGrid),t-=Math.abs(s[0])o.maxX&&(t=o.maxX-s),void 0!==o.minY&&r+eo.maxY&&(e=o.maxY-r),[t,e]},t.prototype.checkAspectRatio=function(t,e){if(!this.options.saveAspectRatio)return t;var i=t.slice(),a=this.parameters.box.width/this.parameters.box.height,s=this.parameters.box.width+t[0],r=this.parameters.box.height-t[1],o=s/r;return oa&&(i[0]=this.parameters.box.width-r*a,e&&(i[0]=-i[0])),i},SVG.extend(SVG.Element,{resize:function(e){return(this.remember(\"_resizeHandler\")||new t(this)).init(e||{}),this}}),SVG.Element.prototype.resize.defaults={snapToAngle:.1,snapToGrid:1,constraint:{},saveAspectRatio:!1}}).call(this)}(),void 0===window.Apex&&(window.Apex={});var Vt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"initModules\",value:function(){this.ctx.publicMethods=[\"updateOptions\",\"updateSeries\",\"appendData\",\"appendSeries\",\"isSeriesHidden\",\"toggleSeries\",\"showSeries\",\"hideSeries\",\"setLocale\",\"resetSeries\",\"zoomX\",\"toggleDataPointSelection\",\"dataURI\",\"exportToCSV\",\"addXaxisAnnotation\",\"addYaxisAnnotation\",\"addPointAnnotation\",\"clearAnnotations\",\"removeAnnotation\",\"paper\",\"destroy\"],this.ctx.eventList=[\"click\",\"mousedown\",\"mousemove\",\"mouseleave\",\"touchstart\",\"touchmove\",\"touchleave\",\"mouseup\",\"touchend\"],this.ctx.animations=new v(this.ctx),this.ctx.axes=new Q(this.ctx),this.ctx.core=new Bt(this.ctx.el,this.ctx),this.ctx.config=new Y({}),this.ctx.data=new B(this.ctx),this.ctx.grid=new _(this.ctx),this.ctx.graphics=new y(this.ctx),this.ctx.coreUtils=new w(this.ctx),this.ctx.crosshairs=new K(this.ctx),this.ctx.events=new $(this.ctx),this.ctx.exports=new V(this.ctx),this.ctx.localization=new J(this.ctx),this.ctx.options=new P,this.ctx.responsive=new tt(this.ctx),this.ctx.series=new W(this.ctx),this.ctx.theme=new et(this.ctx),this.ctx.formatters=new T(this.ctx),this.ctx.titleSubtitle=new it(this.ctx),this.ctx.legend=new ht(this.ctx),this.ctx.toolbar=new ct(this.ctx),this.ctx.tooltip=new vt(this.ctx),this.ctx.dimensions=new nt(this.ctx),this.ctx.updateHelpers=new Gt(this.ctx),this.ctx.zoomPanSelection=new dt(this.ctx),this.ctx.w.globals.tooltip=new vt(this.ctx)}}]),t}(),jt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"clear\",value:function(t){var e=t.isUpdating;this.ctx.zoomPanSelection&&this.ctx.zoomPanSelection.destroy(),this.ctx.toolbar&&this.ctx.toolbar.destroy(),this.ctx.animations=null,this.ctx.axes=null,this.ctx.annotations=null,this.ctx.core=null,this.ctx.data=null,this.ctx.grid=null,this.ctx.series=null,this.ctx.responsive=null,this.ctx.theme=null,this.ctx.formatters=null,this.ctx.titleSubtitle=null,this.ctx.legend=null,this.ctx.dimensions=null,this.ctx.options=null,this.ctx.crosshairs=null,this.ctx.zoomPanSelection=null,this.ctx.updateHelpers=null,this.ctx.toolbar=null,this.ctx.localization=null,this.ctx.w.globals.tooltip=null,this.clearDomElements({isUpdating:e})}},{key:\"killSVG\",value:function(t){t.each((function(t,e){this.removeClass(\"*\"),this.off(),this.stop()}),!0),t.ungroup(),t.clear()}},{key:\"clearDomElements\",value:function(t){var e=this,i=t.isUpdating,a=this.w.globals.dom.Paper.node;a.parentNode&&a.parentNode.parentNode&&!i&&(a.parentNode.parentNode.style.minHeight=\"unset\");var s=this.w.globals.dom.baseEl;s&&this.ctx.eventList.forEach((function(t){s.removeEventListener(t,e.ctx.events.documentEvent)}));var r=this.w.globals.dom;if(null!==this.ctx.el)for(;this.ctx.el.firstChild;)this.ctx.el.removeChild(this.ctx.el.firstChild);this.killSVG(r.Paper),r.Paper.remove(),r.elWrap=null,r.elGraphical=null,r.elLegendWrap=null,r.elLegendForeign=null,r.baseEl=null,r.elGridRect=null,r.elGridRectMask=null,r.elGridRectMarkerMask=null,r.elForecastMask=null,r.elNonForecastMask=null,r.elDefs=null}}]),t}(),_t=new WeakMap;var Ut=function(){function t(e,i){a(this,t),this.opts=i,this.ctx=this,this.w=new R(i).init(),this.el=e,this.w.globals.cuid=b.randomId(),this.w.globals.chartID=this.w.config.chart.id?b.escapeString(this.w.config.chart.id):this.w.globals.cuid,new Vt(this).initModules(),this.create=b.bind(this.create,this),this.windowResizeHandler=this._windowResizeHandler.bind(this),this.parentResizeHandler=this._parentResizeCallback.bind(this)}return r(t,[{key:\"render\",value:function(){var t=this;return new Promise((function(e,i){if(null!==t.el){void 0===Apex._chartInstances&&(Apex._chartInstances=[]),t.w.config.chart.id&&Apex._chartInstances.push({id:t.w.globals.chartID,group:t.w.config.chart.group,chart:t}),t.setLocale(t.w.config.chart.defaultLocale);var a=t.w.config.chart.events.beforeMount;if(\"function\"==typeof a&&a(t,t.w),t.events.fireEvent(\"beforeMount\",[t,t.w]),window.addEventListener(\"resize\",t.windowResizeHandler),function(t,e){var i=!1;if(t.nodeType!==Node.DOCUMENT_FRAGMENT_NODE){var a=t.getBoundingClientRect();\"none\"!==t.style.display&&0!==a.width||(i=!0)}var s=new ResizeObserver((function(a){i&&e.call(t,a),i=!0}));t.nodeType===Node.DOCUMENT_FRAGMENT_NODE?Array.from(t.children).forEach((function(t){return s.observe(t)})):s.observe(t),_t.set(e,s)}(t.el.parentNode,t.parentResizeHandler),!t.css){var s=t.el.getRootNode&&t.el.getRootNode(),r=b.is(\"ShadowRoot\",s),o=t.el.ownerDocument,n=o.getElementById(\"apexcharts-css\");if(r||!n){var l;t.css=document.createElement(\"style\"),t.css.id=\"apexcharts-css\",t.css.textContent='@keyframes opaque {\\n 0% {\\n opacity: 0\\n }\\n\\n to {\\n opacity: 1\\n }\\n}\\n\\n@keyframes resizeanim {\\n 0%,to {\\n opacity: 0\\n }\\n}\\n\\n.apexcharts-canvas {\\n position: relative;\\n user-select: none\\n}\\n\\n.apexcharts-canvas ::-webkit-scrollbar {\\n -webkit-appearance: none;\\n width: 6px\\n}\\n\\n.apexcharts-canvas ::-webkit-scrollbar-thumb {\\n border-radius: 4px;\\n background-color: rgba(0,0,0,.5);\\n box-shadow: 0 0 1px rgba(255,255,255,.5);\\n -webkit-box-shadow: 0 0 1px rgba(255,255,255,.5)\\n}\\n\\n.apexcharts-inner {\\n position: relative\\n}\\n\\n.apexcharts-text tspan {\\n font-family: inherit\\n}\\n\\n.legend-mouseover-inactive {\\n transition: .15s ease all;\\n opacity: .2\\n}\\n\\n.apexcharts-legend-text {\\n padding-left: 15px;\\n margin-left: -15px;\\n}\\n\\n.apexcharts-series-collapsed {\\n opacity: 0\\n}\\n\\n.apexcharts-tooltip {\\n border-radius: 5px;\\n box-shadow: 2px 2px 6px -4px #999;\\n cursor: default;\\n font-size: 14px;\\n left: 62px;\\n opacity: 0;\\n pointer-events: none;\\n position: absolute;\\n top: 20px;\\n display: flex;\\n flex-direction: column;\\n overflow: hidden;\\n white-space: nowrap;\\n z-index: 12;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-tooltip.apexcharts-active {\\n opacity: 1;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-tooltip.apexcharts-theme-light {\\n border: 1px solid #e3e3e3;\\n background: rgba(255,255,255,.96)\\n}\\n\\n.apexcharts-tooltip.apexcharts-theme-dark {\\n color: #fff;\\n background: rgba(30,30,30,.8)\\n}\\n\\n.apexcharts-tooltip * {\\n font-family: inherit\\n}\\n\\n.apexcharts-tooltip-title {\\n padding: 6px;\\n font-size: 15px;\\n margin-bottom: 4px\\n}\\n\\n.apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title {\\n background: #eceff1;\\n border-bottom: 1px solid #ddd\\n}\\n\\n.apexcharts-tooltip.apexcharts-theme-dark .apexcharts-tooltip-title {\\n background: rgba(0,0,0,.7);\\n border-bottom: 1px solid #333\\n}\\n\\n.apexcharts-tooltip-text-goals-value,.apexcharts-tooltip-text-y-value,.apexcharts-tooltip-text-z-value {\\n display: inline-block;\\n margin-left: 5px;\\n font-weight: 600\\n}\\n\\n.apexcharts-tooltip-text-goals-label:empty,.apexcharts-tooltip-text-goals-value:empty,.apexcharts-tooltip-text-y-label:empty,.apexcharts-tooltip-text-y-value:empty,.apexcharts-tooltip-text-z-value:empty,.apexcharts-tooltip-title:empty {\\n display: none\\n}\\n\\n.apexcharts-tooltip-text-goals-label,.apexcharts-tooltip-text-goals-value {\\n padding: 6px 0 5px\\n}\\n\\n.apexcharts-tooltip-goals-group,.apexcharts-tooltip-text-goals-label,.apexcharts-tooltip-text-goals-value {\\n display: flex\\n}\\n\\n.apexcharts-tooltip-text-goals-label:not(:empty),.apexcharts-tooltip-text-goals-value:not(:empty) {\\n margin-top: -6px\\n}\\n\\n.apexcharts-tooltip-marker {\\n width: 12px;\\n height: 12px;\\n position: relative;\\n top: 0;\\n margin-right: 10px;\\n border-radius: 50%\\n}\\n\\n.apexcharts-tooltip-series-group {\\n padding: 0 10px;\\n display: none;\\n text-align: left;\\n justify-content: left;\\n align-items: center\\n}\\n\\n.apexcharts-tooltip-series-group.apexcharts-active .apexcharts-tooltip-marker {\\n opacity: 1\\n}\\n\\n.apexcharts-tooltip-series-group.apexcharts-active,.apexcharts-tooltip-series-group:last-child {\\n padding-bottom: 4px\\n}\\n\\n.apexcharts-tooltip-series-group-hidden {\\n opacity: 0;\\n height: 0;\\n line-height: 0;\\n padding: 0!important\\n}\\n\\n.apexcharts-tooltip-y-group {\\n padding: 6px 0 5px\\n}\\n\\n.apexcharts-custom-tooltip,.apexcharts-tooltip-box {\\n padding: 4px 8px\\n}\\n\\n.apexcharts-tooltip-boxPlot {\\n display: flex;\\n flex-direction: column-reverse\\n}\\n\\n.apexcharts-tooltip-box>div {\\n margin: 4px 0\\n}\\n\\n.apexcharts-tooltip-box span.value {\\n font-weight: 700\\n}\\n\\n.apexcharts-tooltip-rangebar {\\n padding: 5px 8px\\n}\\n\\n.apexcharts-tooltip-rangebar .category {\\n font-weight: 600;\\n color: #777\\n}\\n\\n.apexcharts-tooltip-rangebar .series-name {\\n font-weight: 700;\\n display: block;\\n margin-bottom: 5px\\n}\\n\\n.apexcharts-xaxistooltip,.apexcharts-yaxistooltip {\\n opacity: 0;\\n pointer-events: none;\\n color: #373d3f;\\n font-size: 13px;\\n text-align: center;\\n border-radius: 2px;\\n position: absolute;\\n z-index: 10;\\n background: #eceff1;\\n border: 1px solid #90a4ae\\n}\\n\\n.apexcharts-xaxistooltip {\\n padding: 9px 10px;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-xaxistooltip.apexcharts-theme-dark {\\n background: rgba(0,0,0,.7);\\n border: 1px solid rgba(0,0,0,.5);\\n color: #fff\\n}\\n\\n.apexcharts-xaxistooltip:after,.apexcharts-xaxistooltip:before {\\n left: 50%;\\n border: solid transparent;\\n content: \" \";\\n height: 0;\\n width: 0;\\n position: absolute;\\n pointer-events: none\\n}\\n\\n.apexcharts-xaxistooltip:after {\\n border-color: transparent;\\n border-width: 6px;\\n margin-left: -6px\\n}\\n\\n.apexcharts-xaxistooltip:before {\\n border-color: transparent;\\n border-width: 7px;\\n margin-left: -7px\\n}\\n\\n.apexcharts-xaxistooltip-bottom:after,.apexcharts-xaxistooltip-bottom:before {\\n bottom: 100%\\n}\\n\\n.apexcharts-xaxistooltip-top:after,.apexcharts-xaxistooltip-top:before {\\n top: 100%\\n}\\n\\n.apexcharts-xaxistooltip-bottom:after {\\n border-bottom-color: #eceff1\\n}\\n\\n.apexcharts-xaxistooltip-bottom:before {\\n border-bottom-color: #90a4ae\\n}\\n\\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:after,.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:before {\\n border-bottom-color: rgba(0,0,0,.5)\\n}\\n\\n.apexcharts-xaxistooltip-top:after {\\n border-top-color: #eceff1\\n}\\n\\n.apexcharts-xaxistooltip-top:before {\\n border-top-color: #90a4ae\\n}\\n\\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:after,.apexcharts-xaxistooltip-top.apexcharts-theme-dark:before {\\n border-top-color: rgba(0,0,0,.5)\\n}\\n\\n.apexcharts-xaxistooltip.apexcharts-active {\\n opacity: 1;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-yaxistooltip {\\n padding: 4px 10px\\n}\\n\\n.apexcharts-yaxistooltip.apexcharts-theme-dark {\\n background: rgba(0,0,0,.7);\\n border: 1px solid rgba(0,0,0,.5);\\n color: #fff\\n}\\n\\n.apexcharts-yaxistooltip:after,.apexcharts-yaxistooltip:before {\\n top: 50%;\\n border: solid transparent;\\n content: \" \";\\n height: 0;\\n width: 0;\\n position: absolute;\\n pointer-events: none\\n}\\n\\n.apexcharts-yaxistooltip:after {\\n border-color: transparent;\\n border-width: 6px;\\n margin-top: -6px\\n}\\n\\n.apexcharts-yaxistooltip:before {\\n border-color: transparent;\\n border-width: 7px;\\n margin-top: -7px\\n}\\n\\n.apexcharts-yaxistooltip-left:after,.apexcharts-yaxistooltip-left:before {\\n left: 100%\\n}\\n\\n.apexcharts-yaxistooltip-right:after,.apexcharts-yaxistooltip-right:before {\\n right: 100%\\n}\\n\\n.apexcharts-yaxistooltip-left:after {\\n border-left-color: #eceff1\\n}\\n\\n.apexcharts-yaxistooltip-left:before {\\n border-left-color: #90a4ae\\n}\\n\\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:after,.apexcharts-yaxistooltip-left.apexcharts-theme-dark:before {\\n border-left-color: rgba(0,0,0,.5)\\n}\\n\\n.apexcharts-yaxistooltip-right:after {\\n border-right-color: #eceff1\\n}\\n\\n.apexcharts-yaxistooltip-right:before {\\n border-right-color: #90a4ae\\n}\\n\\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:after,.apexcharts-yaxistooltip-right.apexcharts-theme-dark:before {\\n border-right-color: rgba(0,0,0,.5)\\n}\\n\\n.apexcharts-yaxistooltip.apexcharts-active {\\n opacity: 1\\n}\\n\\n.apexcharts-yaxistooltip-hidden {\\n display: none\\n}\\n\\n.apexcharts-xcrosshairs,.apexcharts-ycrosshairs {\\n pointer-events: none;\\n opacity: 0;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-xcrosshairs.apexcharts-active,.apexcharts-ycrosshairs.apexcharts-active {\\n opacity: 1;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-ycrosshairs-hidden {\\n opacity: 0\\n}\\n\\n.apexcharts-selection-rect {\\n cursor: move\\n}\\n\\n.svg_select_boundingRect,.svg_select_points_rot {\\n pointer-events: none;\\n opacity: 0;\\n visibility: hidden\\n}\\n\\n.apexcharts-selection-rect+g .svg_select_boundingRect,.apexcharts-selection-rect+g .svg_select_points_rot {\\n opacity: 0;\\n visibility: hidden\\n}\\n\\n.apexcharts-selection-rect+g .svg_select_points_l,.apexcharts-selection-rect+g .svg_select_points_r {\\n cursor: ew-resize;\\n opacity: 1;\\n visibility: visible\\n}\\n\\n.svg_select_points {\\n fill: #efefef;\\n stroke: #333;\\n rx: 2\\n}\\n\\n.apexcharts-svg.apexcharts-zoomable.hovering-zoom {\\n cursor: crosshair\\n}\\n\\n.apexcharts-svg.apexcharts-zoomable.hovering-pan {\\n cursor: move\\n}\\n\\n.apexcharts-menu-icon,.apexcharts-pan-icon,.apexcharts-reset-icon,.apexcharts-selection-icon,.apexcharts-toolbar-custom-icon,.apexcharts-zoom-icon,.apexcharts-zoomin-icon,.apexcharts-zoomout-icon {\\n cursor: pointer;\\n width: 20px;\\n height: 20px;\\n line-height: 24px;\\n color: #6e8192;\\n text-align: center\\n}\\n\\n.apexcharts-menu-icon svg,.apexcharts-reset-icon svg,.apexcharts-zoom-icon svg,.apexcharts-zoomin-icon svg,.apexcharts-zoomout-icon svg {\\n fill: #6e8192\\n}\\n\\n.apexcharts-selection-icon svg {\\n fill: #444;\\n transform: scale(.76)\\n}\\n\\n.apexcharts-theme-dark .apexcharts-menu-icon svg,.apexcharts-theme-dark .apexcharts-pan-icon svg,.apexcharts-theme-dark .apexcharts-reset-icon svg,.apexcharts-theme-dark .apexcharts-selection-icon svg,.apexcharts-theme-dark .apexcharts-toolbar-custom-icon svg,.apexcharts-theme-dark .apexcharts-zoom-icon svg,.apexcharts-theme-dark .apexcharts-zoomin-icon svg,.apexcharts-theme-dark .apexcharts-zoomout-icon svg {\\n fill: #f3f4f5\\n}\\n\\n.apexcharts-canvas .apexcharts-reset-zoom-icon.apexcharts-selected svg,.apexcharts-canvas .apexcharts-selection-icon.apexcharts-selected svg,.apexcharts-canvas .apexcharts-zoom-icon.apexcharts-selected svg {\\n fill: #008ffb\\n}\\n\\n.apexcharts-theme-light .apexcharts-menu-icon:hover svg,.apexcharts-theme-light .apexcharts-reset-icon:hover svg,.apexcharts-theme-light .apexcharts-selection-icon:not(.apexcharts-selected):hover svg,.apexcharts-theme-light .apexcharts-zoom-icon:not(.apexcharts-selected):hover svg,.apexcharts-theme-light .apexcharts-zoomin-icon:hover svg,.apexcharts-theme-light .apexcharts-zoomout-icon:hover svg {\\n fill: #333\\n}\\n\\n.apexcharts-menu-icon,.apexcharts-selection-icon {\\n position: relative\\n}\\n\\n.apexcharts-reset-icon {\\n margin-left: 5px\\n}\\n\\n.apexcharts-menu-icon,.apexcharts-reset-icon,.apexcharts-zoom-icon {\\n transform: scale(.85)\\n}\\n\\n.apexcharts-zoomin-icon,.apexcharts-zoomout-icon {\\n transform: scale(.7)\\n}\\n\\n.apexcharts-zoomout-icon {\\n margin-right: 3px\\n}\\n\\n.apexcharts-pan-icon {\\n transform: scale(.62);\\n position: relative;\\n left: 1px;\\n top: 0\\n}\\n\\n.apexcharts-pan-icon svg {\\n fill: #fff;\\n stroke: #6e8192;\\n stroke-width: 2\\n}\\n\\n.apexcharts-pan-icon.apexcharts-selected svg {\\n stroke: #008ffb\\n}\\n\\n.apexcharts-pan-icon:not(.apexcharts-selected):hover svg {\\n stroke: #333\\n}\\n\\n.apexcharts-toolbar {\\n position: absolute;\\n z-index: 11;\\n max-width: 176px;\\n text-align: right;\\n border-radius: 3px;\\n padding: 0 6px 2px;\\n display: flex;\\n justify-content: space-between;\\n align-items: center\\n}\\n\\n.apexcharts-menu {\\n background: #fff;\\n position: absolute;\\n top: 100%;\\n border: 1px solid #ddd;\\n border-radius: 3px;\\n padding: 3px;\\n right: 10px;\\n opacity: 0;\\n min-width: 110px;\\n transition: .15s ease all;\\n pointer-events: none\\n}\\n\\n.apexcharts-menu.apexcharts-menu-open {\\n opacity: 1;\\n pointer-events: all;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-menu-item {\\n padding: 6px 7px;\\n font-size: 12px;\\n cursor: pointer\\n}\\n\\n.apexcharts-theme-light .apexcharts-menu-item:hover {\\n background: #eee\\n}\\n\\n.apexcharts-theme-dark .apexcharts-menu {\\n background: rgba(0,0,0,.7);\\n color: #fff\\n}\\n\\n@media screen and (min-width:768px) {\\n .apexcharts-canvas:hover .apexcharts-toolbar {\\n opacity: 1\\n }\\n}\\n\\n.apexcharts-canvas .apexcharts-element-hidden,.apexcharts-datalabel.apexcharts-element-hidden,.apexcharts-hide .apexcharts-series-points {\\n opacity: 0\\n}\\n\\n.apexcharts-hidden-element-shown {\\n opacity: 1;\\n transition: 0.25s ease all;\\n}\\n.apexcharts-datalabel,.apexcharts-datalabel-label,.apexcharts-datalabel-value,.apexcharts-datalabels,.apexcharts-pie-label {\\n cursor: default;\\n pointer-events: none\\n}\\n\\n.apexcharts-pie-label-delay {\\n opacity: 0;\\n animation-name: opaque;\\n animation-duration: .3s;\\n animation-fill-mode: forwards;\\n animation-timing-function: ease\\n}\\n\\n.apexcharts-radialbar-label {\\n cursor: pointer;\\n}\\n\\n.apexcharts-annotation-rect,.apexcharts-area-series .apexcharts-area,.apexcharts-area-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,.apexcharts-gridline,.apexcharts-line,.apexcharts-line-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,.apexcharts-point-annotation-label,.apexcharts-radar-series path,.apexcharts-radar-series polygon,.apexcharts-toolbar svg,.apexcharts-tooltip .apexcharts-marker,.apexcharts-xaxis-annotation-label,.apexcharts-yaxis-annotation-label,.apexcharts-zoom-rect {\\n pointer-events: none\\n}\\n\\n.apexcharts-marker {\\n transition: .15s ease all\\n}\\n\\n.resize-triggers {\\n animation: 1ms resizeanim;\\n visibility: hidden;\\n opacity: 0;\\n height: 100%;\\n width: 100%;\\n overflow: hidden\\n}\\n\\n.contract-trigger:before,.resize-triggers,.resize-triggers>div {\\n content: \" \";\\n display: block;\\n position: absolute;\\n top: 0;\\n left: 0\\n}\\n\\n.resize-triggers>div {\\n height: 100%;\\n width: 100%;\\n background: #eee;\\n overflow: auto\\n}\\n\\n.contract-trigger:before {\\n overflow: hidden;\\n width: 200%;\\n height: 200%\\n}\\n\\n.apexcharts-bar-goals-markers{\\n pointer-events: none\\n}\\n\\n.apexcharts-bar-shadows{\\n pointer-events: none\\n}\\n\\n.apexcharts-rangebar-goals-markers{\\n pointer-events: none\\n}';var h=(null===(l=t.opts.chart)||void 0===l?void 0:l.nonce)||t.w.config.chart.nonce;h&&t.css.setAttribute(\"nonce\",h),r?s.prepend(t.css):o.head.appendChild(t.css)}}var c=t.create(t.w.config.series,{});if(!c)return e(t);t.mount(c).then((function(){\"function\"==typeof t.w.config.chart.events.mounted&&t.w.config.chart.events.mounted(t,t.w),t.events.fireEvent(\"mounted\",[t,t.w]),e(c)})).catch((function(t){i(t)}))}else i(new Error(\"Element not found\"))}))}},{key:\"create\",value:function(t,e){var i=this.w;new Vt(this).initModules();var a=this.w.globals;(a.noData=!1,a.animationEnded=!1,this.responsive.checkResponsiveConfig(e),i.config.xaxis.convertedCatToNumeric)&&new E(i.config).convertCatToNumericXaxis(i.config,this.ctx);if(null===this.el)return a.animationEnded=!0,null;if(this.core.setupElements(),\"treemap\"===i.config.chart.type&&(i.config.grid.show=!1,i.config.yaxis[0].show=!1),0===a.svgWidth)return a.animationEnded=!0,null;var s=w.checkComboSeries(t);a.comboCharts=s.comboCharts,a.comboBarCount=s.comboBarCount;var r=t.every((function(t){return t.data&&0===t.data.length}));(0===t.length||r)&&this.series.handleNoData(),this.events.setupEventHandlers(),this.data.parseData(t),this.theme.init(),new D(this).setGlobalMarkerSize(),this.formatters.setLabelFormatters(),this.titleSubtitle.draw(),a.noData&&a.collapsedSeries.length!==a.series.length&&!i.config.legend.showForSingleSeries||this.legend.init(),this.series.hasAllSeriesEqualX(),a.axisCharts&&(this.core.coreCalculations(),\"category\"!==i.config.xaxis.type&&this.formatters.setLabelFormatters(),this.ctx.toolbar.minX=i.globals.minX,this.ctx.toolbar.maxX=i.globals.maxX),this.formatters.heatmapLabelFormatters(),new w(this).getLargestMarkerSize(),this.dimensions.plotCoords();var o=this.core.xySettings();this.grid.createGridMask();var n=this.core.plotChartType(t,o),l=new N(this);return l.bringForward(),i.config.dataLabels.background.enabled&&l.dataLabelsBackground(),this.core.shiftGraphPosition(),{elGraph:n,xyRatios:o,dimensions:{plot:{left:i.globals.translateX,top:i.globals.translateY,width:i.globals.gridWidth,height:i.globals.gridHeight}}}}},{key:\"mount\",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,i=this,a=i.w;return new Promise((function(s,r){if(null===i.el)return r(new Error(\"Not enough data to display or target element not found\"));(null===e||a.globals.allSeriesCollapsed)&&i.series.handleNoData(),i.grid=new _(i);var o,n,l=i.grid.drawGrid();(i.annotations=new M(i),i.annotations.drawImageAnnos(),i.annotations.drawTextAnnos(),\"back\"===a.config.grid.position)&&(l&&a.globals.dom.elGraphical.add(l.el),null!=l&&null!==(o=l.elGridBorders)&&void 0!==o&&o.node&&a.globals.dom.elGraphical.add(l.elGridBorders));if(Array.isArray(e.elGraph))for(var h=0;h0&&a.globals.memory.methodsToExec.forEach((function(t){t.method(t.params,!1,t.context)})),a.globals.axisCharts||a.globals.noData||i.core.resizeNonAxisCharts(),s(i)}))}},{key:\"destroy\",value:function(){var t,e;window.removeEventListener(\"resize\",this.windowResizeHandler),this.el.parentNode,t=this.parentResizeHandler,(e=_t.get(t))&&(e.disconnect(),_t.delete(t));var i=this.w.config.chart.id;i&&Apex._chartInstances.forEach((function(t,e){t.id===b.escapeString(i)&&Apex._chartInstances.splice(e,1)})),new jt(this.ctx).clear({isUpdating:!1})}},{key:\"updateOptions\",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=this.w;return o.globals.selection=void 0,t.series&&(this.series.resetSeries(!1,!0,!1),t.series.length&&t.series[0].data&&(t.series=t.series.map((function(t,i){return e.updateHelpers._extendSeries(t,i)}))),this.updateHelpers.revertDefaultAxisMinMax()),t.xaxis&&(t=this.updateHelpers.forceXAxisUpdate(t)),t.yaxis&&(t=this.updateHelpers.forceYAxisUpdate(t)),o.globals.collapsedSeriesIndices.length>0&&this.series.clearPreviousPaths(),t.theme&&(t=this.theme.updateThemeOptions(t)),this.updateHelpers._updateOptions(t,i,a,s,r)}},{key:\"updateSeries\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(t,e,i)}},{key:\"appendSeries\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w.config.series.slice();return a.push(t),this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(a,e,i)}},{key:\"appendData\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this;i.w.globals.dataChanged=!0,i.series.getPreviousPaths();for(var a=i.w.config.series.slice(),s=0;s0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.series.resetSeries(t,e)}},{key:\"addEventListener\",value:function(t,e){this.events.addEventListener(t,e)}},{key:\"removeEventListener\",value:function(t,e){this.events.removeEventListener(t,e)}},{key:\"addXaxisAnnotation\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addXaxisAnnotationExternal(t,e,a)}},{key:\"addYaxisAnnotation\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addYaxisAnnotationExternal(t,e,a)}},{key:\"addPointAnnotation\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addPointAnnotationExternal(t,e,a)}},{key:\"clearAnnotations\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,e=this;t&&(e=t),e.annotations.clearAnnotations(e)}},{key:\"removeAnnotation\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=this;e&&(i=e),i.annotations.removeAnnotation(i,t)}},{key:\"getChartArea\",value:function(){return this.w.globals.dom.baseEl.querySelector(\".apexcharts-inner\")}},{key:\"getSeriesTotalXRange\",value:function(t,e){return this.coreUtils.getSeriesTotalsXRange(t,e)}},{key:\"getHighestValueInSeries\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new q(this.ctx).getMinYMaxY(t).highestY}},{key:\"getLowestValueInSeries\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new q(this.ctx).getMinYMaxY(t).lowestY}},{key:\"getSeriesTotal\",value:function(){return this.w.globals.seriesTotals}},{key:\"toggleDataPointSelection\",value:function(t,e){return this.updateHelpers.toggleDataPointSelection(t,e)}},{key:\"zoomX\",value:function(t,e){this.ctx.toolbar.zoomUpdateOptions(t,e)}},{key:\"setLocale\",value:function(t){this.localization.setCurrentLocaleValues(t)}},{key:\"dataURI\",value:function(t){return new V(this.ctx).dataURI(t)}},{key:\"exportToCSV\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new V(this.ctx).exportToCSV(t)}},{key:\"paper\",value:function(){return this.w.globals.dom.Paper}},{key:\"_parentResizeCallback\",value:function(){this.w.globals.animationEnded&&this.w.config.chart.redrawOnParentResize&&this._windowResize()}},{key:\"_windowResize\",value:function(){var t=this;clearTimeout(this.w.globals.resizeTimer),this.w.globals.resizeTimer=window.setTimeout((function(){t.w.globals.resized=!0,t.w.globals.dataChanged=!1,t.ctx.update()}),150)}},{key:\"_windowResizeHandler\",value:function(){var t=this.w.config.chart.redrawOnWindowResize;\"function\"==typeof t&&(t=t()),t&&this._windowResize()}}],[{key:\"getChartByID\",value:function(t){var e=b.escapeString(t);if(Apex._chartInstances){var i=Apex._chartInstances.filter((function(t){return t.id===e}))[0];return i&&i.chart}}},{key:\"initOnLoad\",value:function(){for(var e=document.querySelectorAll(\"[data-apexcharts]\"),i=0;i2?s-2:0),o=2;o true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","import baseGetTag from './_baseGetTag.js';\nimport getPrototype from './_getPrototype.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nexport default isPlainObject;\n","var isProduction = process.env.NODE_ENV === 'production';\nfunction warning(condition, message) {\n if (!isProduction) {\n if (condition) {\n return;\n }\n\n var text = \"Warning: \" + message;\n\n if (typeof console !== 'undefined') {\n console.warn(text);\n }\n\n try {\n throw Error(text);\n } catch (x) {}\n }\n}\n\nexport default warning;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nexport default listCacheClear;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nexport default eq;\n","import eq from './eq.js';\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nexport default assocIndexOf;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nexport default listCacheDelete;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nexport default listCacheGet;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nexport default listCacheHas;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nexport default listCacheSet;\n","import listCacheClear from './_listCacheClear.js';\nimport listCacheDelete from './_listCacheDelete.js';\nimport listCacheGet from './_listCacheGet.js';\nimport listCacheHas from './_listCacheHas.js';\nimport listCacheSet from './_listCacheSet.js';\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nexport default ListCache;\n","import ListCache from './_ListCache.js';\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nexport default stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nexport default stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nexport default stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nexport default stackHas;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nexport default isObject;\n","import baseGetTag from './_baseGetTag.js';\nimport isObject from './isObject.js';\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nexport default isFunction;\n","import root from './_root.js';\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nexport default coreJsData;\n","import coreJsData from './_coreJsData.js';\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nexport default isMasked;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nexport default toSource;\n","import isFunction from './isFunction.js';\nimport isMasked from './_isMasked.js';\nimport isObject from './isObject.js';\nimport toSource from './_toSource.js';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nexport default baseIsNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nexport default getValue;\n","import baseIsNative from './_baseIsNative.js';\nimport getValue from './_getValue.js';\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nexport default getNative;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nexport default Map;\n","import getNative from './_getNative.js';\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nexport default nativeCreate;\n","import nativeCreate from './_nativeCreate.js';\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nexport default hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nexport default hashDelete;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nexport default hashGet;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nexport default hashHas;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nexport default hashSet;\n","import hashClear from './_hashClear.js';\nimport hashDelete from './_hashDelete.js';\nimport hashGet from './_hashGet.js';\nimport hashHas from './_hashHas.js';\nimport hashSet from './_hashSet.js';\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nexport default Hash;\n","import Hash from './_Hash.js';\nimport ListCache from './_ListCache.js';\nimport Map from './_Map.js';\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nexport default mapCacheClear;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nexport default isKeyable;\n","import isKeyable from './_isKeyable.js';\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nexport default getMapData;\n","import getMapData from './_getMapData.js';\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nexport default mapCacheDelete;\n","import getMapData from './_getMapData.js';\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nexport default mapCacheGet;\n","import getMapData from './_getMapData.js';\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nexport default mapCacheHas;\n","import getMapData from './_getMapData.js';\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nexport default mapCacheSet;\n","import mapCacheClear from './_mapCacheClear.js';\nimport mapCacheDelete from './_mapCacheDelete.js';\nimport mapCacheGet from './_mapCacheGet.js';\nimport mapCacheHas from './_mapCacheHas.js';\nimport mapCacheSet from './_mapCacheSet.js';\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nexport default MapCache;\n","import ListCache from './_ListCache.js';\nimport Map from './_Map.js';\nimport MapCache from './_MapCache.js';\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nexport default stackSet;\n","import ListCache from './_ListCache.js';\nimport stackClear from './_stackClear.js';\nimport stackDelete from './_stackDelete.js';\nimport stackGet from './_stackGet.js';\nimport stackHas from './_stackHas.js';\nimport stackSet from './_stackSet.js';\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nexport default Stack;\n","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nexport default arrayEach;\n","import getNative from './_getNative.js';\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nexport default defineProperty;\n","import defineProperty from './_defineProperty.js';\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nexport default baseAssignValue;\n","import baseAssignValue from './_baseAssignValue.js';\nimport eq from './eq.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nexport default assignValue;\n","import assignValue from './_assignValue.js';\nimport baseAssignValue from './_baseAssignValue.js';\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nexport default copyObject;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nexport default baseTimes;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nexport default baseIsArguments;\n","import baseIsArguments from './_baseIsArguments.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nexport default isArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nexport default isArray;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nexport default stubFalse;\n","import root from './_root.js';\nimport stubFalse from './stubFalse.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nexport default isBuffer;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nexport default isIndex;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nexport default isLength;\n","import baseGetTag from './_baseGetTag.js';\nimport isLength from './isLength.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nexport default baseIsTypedArray;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nexport default baseUnary;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nexport default nodeUtil;\n","import baseIsTypedArray from './_baseIsTypedArray.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nexport default isTypedArray;\n","import baseTimes from './_baseTimes.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isIndex from './_isIndex.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default arrayLikeKeys;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nexport default isPrototype;\n","import overArg from './_overArg.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nexport default nativeKeys;\n","import isPrototype from './_isPrototype.js';\nimport nativeKeys from './_nativeKeys.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default baseKeys;\n","import isFunction from './isFunction.js';\nimport isLength from './isLength.js';\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nexport default isArrayLike;\n","import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeys from './_baseKeys.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nexport default keys;\n","import copyObject from './_copyObject.js';\nimport keys from './keys.js';\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nexport default baseAssign;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default nativeKeysIn;\n","import isObject from './isObject.js';\nimport isPrototype from './_isPrototype.js';\nimport nativeKeysIn from './_nativeKeysIn.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default baseKeysIn;\n","import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeysIn from './_baseKeysIn.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nexport default keysIn;\n","import copyObject from './_copyObject.js';\nimport keysIn from './keysIn.js';\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nexport default baseAssignIn;\n","import root from './_root.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nexport default cloneBuffer;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nexport default copyArray;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nexport default arrayFilter;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nexport default stubArray;\n","import arrayFilter from './_arrayFilter.js';\nimport stubArray from './stubArray.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nexport default getSymbols;\n","import copyObject from './_copyObject.js';\nimport getSymbols from './_getSymbols.js';\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nexport default copySymbols;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nexport default arrayPush;\n","import arrayPush from './_arrayPush.js';\nimport getPrototype from './_getPrototype.js';\nimport getSymbols from './_getSymbols.js';\nimport stubArray from './stubArray.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nexport default getSymbolsIn;\n","import copyObject from './_copyObject.js';\nimport getSymbolsIn from './_getSymbolsIn.js';\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nexport default copySymbolsIn;\n","import arrayPush from './_arrayPush.js';\nimport isArray from './isArray.js';\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nexport default baseGetAllKeys;\n","import baseGetAllKeys from './_baseGetAllKeys.js';\nimport getSymbols from './_getSymbols.js';\nimport keys from './keys.js';\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nexport default getAllKeys;\n","import baseGetAllKeys from './_baseGetAllKeys.js';\nimport getSymbolsIn from './_getSymbolsIn.js';\nimport keysIn from './keysIn.js';\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nexport default getAllKeysIn;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nexport default DataView;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nexport default Promise;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nexport default Set;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nexport default WeakMap;\n","import DataView from './_DataView.js';\nimport Map from './_Map.js';\nimport Promise from './_Promise.js';\nimport Set from './_Set.js';\nimport WeakMap from './_WeakMap.js';\nimport baseGetTag from './_baseGetTag.js';\nimport toSource from './_toSource.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nexport default getTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nexport default initCloneArray;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nexport default Uint8Array;\n","import Uint8Array from './_Uint8Array.js';\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nexport default cloneArrayBuffer;\n","import cloneArrayBuffer from './_cloneArrayBuffer.js';\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nexport default cloneDataView;\n","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nexport default cloneRegExp;\n","import Symbol from './_Symbol.js';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nexport default cloneSymbol;\n","import cloneArrayBuffer from './_cloneArrayBuffer.js';\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nexport default cloneTypedArray;\n","import cloneArrayBuffer from './_cloneArrayBuffer.js';\nimport cloneDataView from './_cloneDataView.js';\nimport cloneRegExp from './_cloneRegExp.js';\nimport cloneSymbol from './_cloneSymbol.js';\nimport cloneTypedArray from './_cloneTypedArray.js';\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nexport default initCloneByTag;\n","import isObject from './isObject.js';\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nexport default baseCreate;\n","import baseCreate from './_baseCreate.js';\nimport getPrototype from './_getPrototype.js';\nimport isPrototype from './_isPrototype.js';\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nexport default initCloneObject;\n","import getTag from './_getTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nexport default baseIsMap;\n","import baseIsMap from './_baseIsMap.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nexport default isMap;\n","import getTag from './_getTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n}\n\nexport default baseIsSet;\n","import baseIsSet from './_baseIsSet.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nexport default isSet;\n","import Stack from './_Stack.js';\nimport arrayEach from './_arrayEach.js';\nimport assignValue from './_assignValue.js';\nimport baseAssign from './_baseAssign.js';\nimport baseAssignIn from './_baseAssignIn.js';\nimport cloneBuffer from './_cloneBuffer.js';\nimport copyArray from './_copyArray.js';\nimport copySymbols from './_copySymbols.js';\nimport copySymbolsIn from './_copySymbolsIn.js';\nimport getAllKeys from './_getAllKeys.js';\nimport getAllKeysIn from './_getAllKeysIn.js';\nimport getTag from './_getTag.js';\nimport initCloneArray from './_initCloneArray.js';\nimport initCloneByTag from './_initCloneByTag.js';\nimport initCloneObject from './_initCloneObject.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isMap from './isMap.js';\nimport isObject from './isObject.js';\nimport isSet from './isSet.js';\nimport keys from './keys.js';\nimport keysIn from './keysIn.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nexport default baseClone;\n","import baseClone from './_baseClone.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * Creates a shallow clone of `value`.\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)\n * and supports cloning arrays, array buffers, booleans, date objects, maps,\n * numbers, `Object` objects, regexes, sets, strings, symbols, and typed\n * arrays. The own enumerable properties of `arguments` objects are cloned\n * as plain objects. An empty object is returned for uncloneable values such\n * as error objects, functions, DOM nodes, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to clone.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeep\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var shallow = _.clone(objects);\n * console.log(shallow[0] === objects[0]);\n * // => true\n */\nfunction clone(value) {\n return baseClone(value, CLONE_SYMBOLS_FLAG);\n}\n\nexport default clone;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nexport default arrayMap;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nexport default isSymbol;\n","import MapCache from './_MapCache.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nexport default memoize;\n","import memoizeCapped from './_memoizeCapped.js';\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nexport default stringToPath;\n","import memoize from './memoize.js';\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nexport default memoizeCapped;\n","import isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nexport default toKey;\n","import Symbol from './_Symbol.js';\nimport arrayMap from './_arrayMap.js';\nimport isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nexport default baseToString;\n","import baseToString from './_baseToString.js';\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nexport default toString;\n","import arrayMap from './_arrayMap.js';\nimport copyArray from './_copyArray.js';\nimport isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\nimport stringToPath from './_stringToPath.js';\nimport toKey from './_toKey.js';\nimport toString from './toString.js';\n\n/**\n * Converts `value` to a property path array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Util\n * @param {*} value The value to convert.\n * @returns {Array} Returns the new property path array.\n * @example\n *\n * _.toPath('a.b.c');\n * // => ['a', 'b', 'c']\n *\n * _.toPath('a[0].b.c');\n * // => ['a', '0', 'b', 'c']\n */\nfunction toPath(value) {\n if (isArray(value)) {\n return arrayMap(value, toKey);\n }\n return isSymbol(value) ? [value] : copyArray(stringToPath(toString(value)));\n}\n\nexport default toPath;\n","import baseClone from './_baseClone.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nexport default cloneDeep;\n","import * as React from 'react';\nimport { FormikContextType } from './types';\nimport invariant from 'tiny-warning';\n\nexport const FormikContext = React.createContext>(\n undefined as any\n);\nFormikContext.displayName = 'FormikContext';\n\nexport const FormikProvider = FormikContext.Provider;\nexport const FormikConsumer = FormikContext.Consumer;\n\nexport function useFormikContext() {\n const formik = React.useContext>(FormikContext);\n\n invariant(\n !!formik,\n `Formik context is undefined, please verify you are calling useFormikContext() as child of a component.`\n );\n\n return formik;\n}\n","import clone from 'lodash/clone';\nimport toPath from 'lodash/toPath';\nimport * as React from 'react';\n\n// Assertions\n\n/** @private is the value an empty array? */\nexport const isEmptyArray = (value?: any) =>\n Array.isArray(value) && value.length === 0;\n\n/** @private is the given object a Function? */\nexport const isFunction = (obj: any): obj is Function =>\n typeof obj === 'function';\n\n/** @private is the given object an Object? */\nexport const isObject = (obj: any): obj is Object =>\n obj !== null && typeof obj === 'object';\n\n/** @private is the given object an integer? */\nexport const isInteger = (obj: any): boolean =>\n String(Math.floor(Number(obj))) === obj;\n\n/** @private is the given object a string? */\nexport const isString = (obj: any): obj is string =>\n Object.prototype.toString.call(obj) === '[object String]';\n\n/** @private is the given object a NaN? */\n// eslint-disable-next-line no-self-compare\nexport const isNaN = (obj: any): boolean => obj !== obj;\n\n/** @private Does a React component have exactly 0 children? */\nexport const isEmptyChildren = (children: any): boolean =>\n React.Children.count(children) === 0;\n\n/** @private is the given object/value a promise? */\nexport const isPromise = (value: any): value is PromiseLike =>\n isObject(value) && isFunction(value.then);\n\n/** @private is the given object/value a type of synthetic event? */\nexport const isInputEvent = (value: any): value is React.SyntheticEvent =>\n value && isObject(value) && isObject(value.target);\n\n/**\n * Same as document.activeElement but wraps in a try-catch block. In IE it is\n * not safe to call document.activeElement if there is nothing focused.\n *\n * The activeElement will be null only if the document or document body is not\n * yet defined.\n *\n * @param {?Document} doc Defaults to current document.\n * @return {Element | null}\n * @see https://github.com/facebook/fbjs/blob/master/packages/fbjs/src/core/dom/getActiveElement.js\n */\nexport function getActiveElement(doc?: Document): Element | null {\n doc = doc || (typeof document !== 'undefined' ? document : undefined);\n if (typeof doc === 'undefined') {\n return null;\n }\n try {\n return doc.activeElement || doc.body;\n } catch (e) {\n return doc.body;\n }\n}\n\n/**\n * Deeply get a value from an object via its path.\n */\nexport function getIn(\n obj: any,\n key: string | string[],\n def?: any,\n p: number = 0\n) {\n const path = toPath(key);\n while (obj && p < path.length) {\n obj = obj[path[p++]];\n }\n\n // check if path is not in the end\n if (p !== path.length && !obj) {\n return def;\n }\n\n return obj === undefined ? def : obj;\n}\n\n/**\n * Deeply set a value from in object via it's path. If the value at `path`\n * has changed, return a shallow copy of obj with `value` set at `path`.\n * If `value` has not changed, return the original `obj`.\n *\n * Existing objects / arrays along `path` are also shallow copied. Sibling\n * objects along path retain the same internal js reference. Since new\n * objects / arrays are only created along `path`, we can test if anything\n * changed in a nested structure by comparing the object's reference in\n * the old and new object, similar to how russian doll cache invalidation\n * works.\n *\n * In earlier versions of this function, which used cloneDeep, there were\n * issues whereby settings a nested value would mutate the parent\n * instead of creating a new object. `clone` avoids that bug making a\n * shallow copy of the objects along the update path\n * so no object is mutated in place.\n *\n * Before changing this function, please read through the following\n * discussions.\n *\n * @see https://github.com/developit/linkstate\n * @see https://github.com/jaredpalmer/formik/pull/123\n */\nexport function setIn(obj: any, path: string, value: any): any {\n let res: any = clone(obj); // this keeps inheritance when obj is a class\n let resVal: any = res;\n let i = 0;\n let pathArray = toPath(path);\n\n for (; i < pathArray.length - 1; i++) {\n const currentPath: string = pathArray[i];\n let currentObj: any = getIn(obj, pathArray.slice(0, i + 1));\n\n if (currentObj && (isObject(currentObj) || Array.isArray(currentObj))) {\n resVal = resVal[currentPath] = clone(currentObj);\n } else {\n const nextPath: string = pathArray[i + 1];\n resVal = resVal[currentPath] =\n isInteger(nextPath) && Number(nextPath) >= 0 ? [] : {};\n }\n }\n\n // Return original object if new value is the same as current\n if ((i === 0 ? obj : resVal)[pathArray[i]] === value) {\n return obj;\n }\n\n if (value === undefined) {\n delete resVal[pathArray[i]];\n } else {\n resVal[pathArray[i]] = value;\n }\n\n // If the path array has a single element, the loop did not run.\n // Deleting on `resVal` had no effect in this scenario, so we delete on the result instead.\n if (i === 0 && value === undefined) {\n delete res[pathArray[i]];\n }\n\n return res;\n}\n\n/**\n * Recursively a set the same value for all keys and arrays nested object, cloning\n * @param object\n * @param value\n * @param visited\n * @param response\n */\nexport function setNestedObjectValues(\n object: any,\n value: any,\n visited: any = new WeakMap(),\n response: any = {}\n): T {\n for (let k of Object.keys(object)) {\n const val = object[k];\n if (isObject(val)) {\n if (!visited.get(val)) {\n visited.set(val, true);\n // In order to keep array values consistent for both dot path and\n // bracket syntax, we need to check if this is an array so that\n // this will output { friends: [true] } and not { friends: { \"0\": true } }\n response[k] = Array.isArray(val) ? [] : {};\n setNestedObjectValues(val, value, visited, response[k]);\n }\n } else {\n response[k] = value;\n }\n }\n\n return response;\n}\n","import deepmerge from 'deepmerge';\nimport isPlainObject from 'lodash/isPlainObject';\nimport * as React from 'react';\nimport isEqual from 'react-fast-compare';\nimport invariant from 'tiny-warning';\nimport { FieldConfig } from './Field';\nimport { FormikProvider } from './FormikContext';\nimport {\n FieldHelperProps,\n FieldInputProps,\n FieldMetaProps,\n FormikConfig,\n FormikErrors,\n FormikHandlers,\n FormikHelpers,\n FormikProps,\n FormikState,\n FormikTouched,\n FormikValues,\n} from './types';\nimport {\n getActiveElement,\n getIn,\n isEmptyChildren,\n isFunction,\n isObject,\n isPromise,\n isString,\n setIn,\n setNestedObjectValues,\n} from './utils';\n\ntype FormikMessage =\n | { type: 'SUBMIT_ATTEMPT' }\n | { type: 'SUBMIT_FAILURE' }\n | { type: 'SUBMIT_SUCCESS' }\n | { type: 'SET_ISVALIDATING'; payload: boolean }\n | { type: 'SET_ISSUBMITTING'; payload: boolean }\n | { type: 'SET_VALUES'; payload: Values }\n | { type: 'SET_FIELD_VALUE'; payload: { field: string; value?: any } }\n | { type: 'SET_FIELD_TOUCHED'; payload: { field: string; value?: boolean } }\n | { type: 'SET_FIELD_ERROR'; payload: { field: string; value?: string } }\n | { type: 'SET_TOUCHED'; payload: FormikTouched }\n | { type: 'SET_ERRORS'; payload: FormikErrors }\n | { type: 'SET_STATUS'; payload: any }\n | {\n type: 'SET_FORMIK_STATE';\n payload: (s: FormikState) => FormikState;\n }\n | {\n type: 'RESET_FORM';\n payload: FormikState;\n };\n\n// State reducer\nfunction formikReducer(\n state: FormikState,\n msg: FormikMessage\n) {\n switch (msg.type) {\n case 'SET_VALUES':\n return { ...state, values: msg.payload };\n case 'SET_TOUCHED':\n return { ...state, touched: msg.payload };\n case 'SET_ERRORS':\n if (isEqual(state.errors, msg.payload)) {\n return state;\n }\n\n return { ...state, errors: msg.payload };\n case 'SET_STATUS':\n return { ...state, status: msg.payload };\n case 'SET_ISSUBMITTING':\n return { ...state, isSubmitting: msg.payload };\n case 'SET_ISVALIDATING':\n return { ...state, isValidating: msg.payload };\n case 'SET_FIELD_VALUE':\n return {\n ...state,\n values: setIn(state.values, msg.payload.field, msg.payload.value),\n };\n case 'SET_FIELD_TOUCHED':\n return {\n ...state,\n touched: setIn(state.touched, msg.payload.field, msg.payload.value),\n };\n case 'SET_FIELD_ERROR':\n return {\n ...state,\n errors: setIn(state.errors, msg.payload.field, msg.payload.value),\n };\n case 'RESET_FORM':\n return { ...state, ...msg.payload };\n case 'SET_FORMIK_STATE':\n return msg.payload(state);\n case 'SUBMIT_ATTEMPT':\n return {\n ...state,\n touched: setNestedObjectValues>(\n state.values,\n true\n ),\n isSubmitting: true,\n submitCount: state.submitCount + 1,\n };\n case 'SUBMIT_FAILURE':\n return {\n ...state,\n isSubmitting: false,\n };\n case 'SUBMIT_SUCCESS':\n return {\n ...state,\n isSubmitting: false,\n };\n default:\n return state;\n }\n}\n\n// Initial empty states // objects\nconst emptyErrors: FormikErrors = {};\nconst emptyTouched: FormikTouched = {};\n\n// This is an object that contains a map of all registered fields\n// and their validate functions\ninterface FieldRegistry {\n [field: string]: {\n validate: (value: any) => string | Promise | undefined;\n };\n}\n\nexport function useFormik({\n validateOnChange = true,\n validateOnBlur = true,\n validateOnMount = false,\n isInitialValid,\n enableReinitialize = false,\n onSubmit,\n ...rest\n}: FormikConfig) {\n const props = {\n validateOnChange,\n validateOnBlur,\n validateOnMount,\n onSubmit,\n ...rest,\n };\n const initialValues = React.useRef(props.initialValues);\n const initialErrors = React.useRef(props.initialErrors || emptyErrors);\n const initialTouched = React.useRef(props.initialTouched || emptyTouched);\n const initialStatus = React.useRef(props.initialStatus);\n const isMounted = React.useRef(false);\n const fieldRegistry = React.useRef({});\n if (__DEV__) {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(() => {\n invariant(\n typeof isInitialValid === 'undefined',\n 'isInitialValid has been deprecated and will be removed in future versions of Formik. Please use initialErrors or validateOnMount instead.'\n );\n // eslint-disable-next-line\n }, []);\n }\n\n React.useEffect(() => {\n isMounted.current = true;\n\n return () => {\n isMounted.current = false;\n };\n }, []);\n\n const [, setIteration] = React.useState(0);\n const stateRef = React.useRef>({\n values: props.initialValues,\n errors: props.initialErrors || emptyErrors,\n touched: props.initialTouched || emptyTouched,\n status: props.initialStatus,\n isSubmitting: false,\n isValidating: false,\n submitCount: 0,\n });\n\n const state = stateRef.current;\n\n const dispatch = React.useCallback((action: FormikMessage) => {\n const prev = stateRef.current;\n\n stateRef.current = formikReducer(prev, action);\n\n // force rerender\n if (prev !== stateRef.current) setIteration(x => x + 1);\n }, []);\n\n const runValidateHandler = React.useCallback(\n (values: Values, field?: string): Promise> => {\n return new Promise((resolve, reject) => {\n const maybePromisedErrors = (props.validate as any)(values, field);\n if (maybePromisedErrors == null) {\n // use loose null check here on purpose\n resolve(emptyErrors);\n } else if (isPromise(maybePromisedErrors)) {\n (maybePromisedErrors as Promise).then(\n errors => {\n resolve(errors || emptyErrors);\n },\n actualException => {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `Warning: An unhandled error was caught during validation in `,\n actualException\n );\n }\n\n reject(actualException);\n }\n );\n } else {\n resolve(maybePromisedErrors);\n }\n });\n },\n [props.validate]\n );\n\n /**\n * Run validation against a Yup schema and optionally run a function if successful\n */\n const runValidationSchema = React.useCallback(\n (values: Values, field?: string): Promise> => {\n const validationSchema = props.validationSchema;\n const schema = isFunction(validationSchema)\n ? validationSchema(field)\n : validationSchema;\n const promise =\n field && schema.validateAt\n ? schema.validateAt(field, values)\n : validateYupSchema(values, schema);\n return new Promise((resolve, reject) => {\n promise.then(\n () => {\n resolve(emptyErrors);\n },\n (err: any) => {\n // Yup will throw a validation error if validation fails. We catch those and\n // resolve them into Formik errors. We can sniff if something is a Yup error\n // by checking error.name.\n // @see https://github.com/jquense/yup#validationerrorerrors-string--arraystring-value-any-path-string\n if (err.name === 'ValidationError') {\n resolve(yupToFormErrors(err));\n } else {\n // We throw any other errors\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `Warning: An unhandled error was caught during validation in `,\n err\n );\n }\n\n reject(err);\n }\n }\n );\n });\n },\n [props.validationSchema]\n );\n\n const runSingleFieldLevelValidation = React.useCallback(\n (field: string, value: void | string): Promise => {\n return new Promise(resolve =>\n resolve(fieldRegistry.current[field].validate(value) as string)\n );\n },\n []\n );\n\n const runFieldLevelValidations = React.useCallback(\n (values: Values): Promise> => {\n const fieldKeysWithValidation: string[] = Object.keys(\n fieldRegistry.current\n ).filter(f => isFunction(fieldRegistry.current[f].validate));\n\n // Construct an array with all of the field validation functions\n const fieldValidations: Promise[] =\n fieldKeysWithValidation.length > 0\n ? fieldKeysWithValidation.map(f =>\n runSingleFieldLevelValidation(f, getIn(values, f))\n )\n : [Promise.resolve('DO_NOT_DELETE_YOU_WILL_BE_FIRED')]; // use special case ;)\n\n return Promise.all(fieldValidations).then((fieldErrorsList: string[]) =>\n fieldErrorsList.reduce((prev, curr, index) => {\n if (curr === 'DO_NOT_DELETE_YOU_WILL_BE_FIRED') {\n return prev;\n }\n if (curr) {\n prev = setIn(prev, fieldKeysWithValidation[index], curr);\n }\n return prev;\n }, {})\n );\n },\n [runSingleFieldLevelValidation]\n );\n\n // Run all validations and return the result\n const runAllValidations = React.useCallback(\n (values: Values) => {\n return Promise.all([\n runFieldLevelValidations(values),\n props.validationSchema ? runValidationSchema(values) : {},\n props.validate ? runValidateHandler(values) : {},\n ]).then(([fieldErrors, schemaErrors, validateErrors]) => {\n const combinedErrors = deepmerge.all>(\n [fieldErrors, schemaErrors, validateErrors],\n { arrayMerge }\n );\n return combinedErrors;\n });\n },\n [\n props.validate,\n props.validationSchema,\n runFieldLevelValidations,\n runValidateHandler,\n runValidationSchema,\n ]\n );\n\n // Run all validations methods and update state accordingly\n const validateFormWithHighPriority = useEventCallback(\n (values: Values = state.values) => {\n dispatch({ type: 'SET_ISVALIDATING', payload: true });\n return runAllValidations(values).then(combinedErrors => {\n if (!!isMounted.current) {\n dispatch({ type: 'SET_ISVALIDATING', payload: false });\n dispatch({ type: 'SET_ERRORS', payload: combinedErrors });\n }\n return combinedErrors;\n });\n }\n );\n\n React.useEffect(() => {\n if (\n validateOnMount &&\n isMounted.current === true &&\n isEqual(initialValues.current, props.initialValues)\n ) {\n validateFormWithHighPriority(initialValues.current);\n }\n }, [validateOnMount, validateFormWithHighPriority]);\n\n const resetForm = React.useCallback(\n (nextState?: Partial>) => {\n const values =\n nextState && nextState.values\n ? nextState.values\n : initialValues.current;\n const errors =\n nextState && nextState.errors\n ? nextState.errors\n : initialErrors.current\n ? initialErrors.current\n : props.initialErrors || {};\n const touched =\n nextState && nextState.touched\n ? nextState.touched\n : initialTouched.current\n ? initialTouched.current\n : props.initialTouched || {};\n const status =\n nextState && nextState.status\n ? nextState.status\n : initialStatus.current\n ? initialStatus.current\n : props.initialStatus;\n initialValues.current = values;\n initialErrors.current = errors;\n initialTouched.current = touched;\n initialStatus.current = status;\n\n const dispatchFn = () => {\n dispatch({\n type: 'RESET_FORM',\n payload: {\n isSubmitting: !!nextState && !!nextState.isSubmitting,\n errors,\n touched,\n status,\n values,\n isValidating: !!nextState && !!nextState.isValidating,\n submitCount:\n !!nextState &&\n !!nextState.submitCount &&\n typeof nextState.submitCount === 'number'\n ? nextState.submitCount\n : 0,\n },\n });\n };\n\n if (props.onReset) {\n const maybePromisedOnReset = (props.onReset as any)(\n state.values,\n imperativeMethods\n );\n\n if (isPromise(maybePromisedOnReset)) {\n (maybePromisedOnReset as Promise).then(dispatchFn);\n } else {\n dispatchFn();\n }\n } else {\n dispatchFn();\n }\n },\n [props.initialErrors, props.initialStatus, props.initialTouched, props.onReset]\n );\n\n React.useEffect(() => {\n if (\n isMounted.current === true &&\n !isEqual(initialValues.current, props.initialValues)\n ) {\n if (enableReinitialize) {\n initialValues.current = props.initialValues;\n resetForm();\n if (validateOnMount) {\n validateFormWithHighPriority(initialValues.current);\n }\n }\n }\n }, [\n enableReinitialize,\n props.initialValues,\n resetForm,\n validateOnMount,\n validateFormWithHighPriority,\n ]);\n\n React.useEffect(() => {\n if (\n enableReinitialize &&\n isMounted.current === true &&\n !isEqual(initialErrors.current, props.initialErrors)\n ) {\n initialErrors.current = props.initialErrors || emptyErrors;\n dispatch({\n type: 'SET_ERRORS',\n payload: props.initialErrors || emptyErrors,\n });\n }\n }, [enableReinitialize, props.initialErrors]);\n\n React.useEffect(() => {\n if (\n enableReinitialize &&\n isMounted.current === true &&\n !isEqual(initialTouched.current, props.initialTouched)\n ) {\n initialTouched.current = props.initialTouched || emptyTouched;\n dispatch({\n type: 'SET_TOUCHED',\n payload: props.initialTouched || emptyTouched,\n });\n }\n }, [enableReinitialize, props.initialTouched]);\n\n React.useEffect(() => {\n if (\n enableReinitialize &&\n isMounted.current === true &&\n !isEqual(initialStatus.current, props.initialStatus)\n ) {\n initialStatus.current = props.initialStatus;\n dispatch({\n type: 'SET_STATUS',\n payload: props.initialStatus,\n });\n }\n }, [enableReinitialize, props.initialStatus, props.initialTouched]);\n\n const validateField = useEventCallback((name: string) => {\n // This will efficiently validate a single field by avoiding state\n // changes if the validation function is synchronous. It's different from\n // what is called when using validateForm.\n\n if (\n fieldRegistry.current[name] &&\n isFunction(fieldRegistry.current[name].validate)\n ) {\n const value = getIn(state.values, name);\n const maybePromise = fieldRegistry.current[name].validate(value);\n if (isPromise(maybePromise)) {\n // Only flip isValidating if the function is async.\n dispatch({ type: 'SET_ISVALIDATING', payload: true });\n return maybePromise\n .then((x: any) => x)\n .then((error: string) => {\n dispatch({\n type: 'SET_FIELD_ERROR',\n payload: { field: name, value: error },\n });\n dispatch({ type: 'SET_ISVALIDATING', payload: false });\n });\n } else {\n dispatch({\n type: 'SET_FIELD_ERROR',\n payload: {\n field: name,\n value: maybePromise as string | undefined,\n },\n });\n return Promise.resolve(maybePromise as string | undefined);\n }\n } else if (props.validationSchema) {\n dispatch({ type: 'SET_ISVALIDATING', payload: true });\n return runValidationSchema(state.values, name)\n .then((x: any) => x)\n .then((error: any) => {\n dispatch({\n type: 'SET_FIELD_ERROR',\n payload: { field: name, value: getIn(error, name) },\n });\n dispatch({ type: 'SET_ISVALIDATING', payload: false });\n });\n }\n\n return Promise.resolve();\n });\n\n const registerField = React.useCallback((name: string, { validate }: any) => {\n fieldRegistry.current[name] = {\n validate,\n };\n }, []);\n\n const unregisterField = React.useCallback((name: string) => {\n delete fieldRegistry.current[name];\n }, []);\n\n const setTouched = useEventCallback(\n (touched: FormikTouched, shouldValidate?: boolean) => {\n dispatch({ type: 'SET_TOUCHED', payload: touched });\n const willValidate =\n shouldValidate === undefined ? validateOnBlur : shouldValidate;\n return willValidate\n ? validateFormWithHighPriority(state.values)\n : Promise.resolve();\n }\n );\n\n const setErrors = React.useCallback((errors: FormikErrors) => {\n dispatch({ type: 'SET_ERRORS', payload: errors });\n }, []);\n\n const setValues = useEventCallback(\n (values: React.SetStateAction, shouldValidate?: boolean) => {\n const resolvedValues = isFunction(values) ? values(state.values) : values;\n\n dispatch({ type: 'SET_VALUES', payload: resolvedValues });\n const willValidate =\n shouldValidate === undefined ? validateOnChange : shouldValidate;\n return willValidate\n ? validateFormWithHighPriority(resolvedValues)\n : Promise.resolve();\n }\n );\n\n const setFieldError = React.useCallback(\n (field: string, value: string | undefined) => {\n dispatch({\n type: 'SET_FIELD_ERROR',\n payload: { field, value },\n });\n },\n []\n );\n\n const setFieldValue = useEventCallback(\n (field: string, value: any, shouldValidate?: boolean) => {\n dispatch({\n type: 'SET_FIELD_VALUE',\n payload: {\n field,\n value,\n },\n });\n const willValidate =\n shouldValidate === undefined ? validateOnChange : shouldValidate;\n return willValidate\n ? validateFormWithHighPriority(setIn(state.values, field, value))\n : Promise.resolve();\n }\n );\n\n const executeChange = React.useCallback(\n (eventOrTextValue: string | React.ChangeEvent, maybePath?: string) => {\n // By default, assume that the first argument is a string. This allows us to use\n // handleChange with React Native and React Native Web's onChangeText prop which\n // provides just the value of the input.\n let field = maybePath;\n let val = eventOrTextValue;\n let parsed;\n // If the first argument is not a string though, it has to be a synthetic React Event (or a fake one),\n // so we handle like we would a normal HTML change event.\n if (!isString(eventOrTextValue)) {\n // If we can, persist the event\n // @see https://reactjs.org/docs/events.html#event-pooling\n if ((eventOrTextValue as any).persist) {\n (eventOrTextValue as React.ChangeEvent).persist();\n }\n const target = eventOrTextValue.target\n ? (eventOrTextValue as React.ChangeEvent).target\n : (eventOrTextValue as React.ChangeEvent).currentTarget;\n\n const {\n type,\n name,\n id,\n value,\n checked,\n outerHTML,\n options,\n multiple,\n } = target;\n\n field = maybePath ? maybePath : name ? name : id;\n if (!field && __DEV__) {\n warnAboutMissingIdentifier({\n htmlContent: outerHTML,\n documentationAnchorLink: 'handlechange-e-reactchangeeventany--void',\n handlerName: 'handleChange',\n });\n }\n val = /number|range/.test(type)\n ? ((parsed = parseFloat(value)), isNaN(parsed) ? '' : parsed)\n : /checkbox/.test(type) // checkboxes\n ? getValueForCheckbox(getIn(state.values, field!), checked, value)\n : options && multiple //
tags as line breaks in the pdf\n cell.innerHTML = cell.innerHTML\n .split(//) //start with ''.\n .map(function (part) { return part.trim(); })\n .join('\\n');\n // innerText for ie\n return cell.innerText || cell.textContent || '';\n}\n\n\n/***/ }),\n\n/***/ 776:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.parseInput = void 0;\nvar htmlParser_1 = __webpack_require__(4);\nvar polyfills_1 = __webpack_require__(356);\nvar common_1 = __webpack_require__(420);\nvar documentHandler_1 = __webpack_require__(744);\nvar inputValidator_1 = __webpack_require__(792);\nfunction parseInput(d, current) {\n var doc = new documentHandler_1.DocHandler(d);\n var document = doc.getDocumentOptions();\n var global = doc.getGlobalOptions();\n (0, inputValidator_1.default)(doc, global, document, current);\n var options = (0, polyfills_1.assign)({}, global, document, current);\n var win;\n if (typeof window !== 'undefined') {\n win = window;\n }\n var styles = parseStyles(global, document, current);\n var hooks = parseHooks(global, document, current);\n var settings = parseSettings(doc, options);\n var content = parseContent(doc, options, win);\n return {\n id: current.tableId,\n content: content,\n hooks: hooks,\n styles: styles,\n settings: settings,\n };\n}\nexports.parseInput = parseInput;\nfunction parseStyles(gInput, dInput, cInput) {\n var styleOptions = {\n styles: {},\n headStyles: {},\n bodyStyles: {},\n footStyles: {},\n alternateRowStyles: {},\n columnStyles: {},\n };\n var _loop_1 = function (prop) {\n if (prop === 'columnStyles') {\n var global_1 = gInput[prop];\n var document_1 = dInput[prop];\n var current = cInput[prop];\n styleOptions.columnStyles = (0, polyfills_1.assign)({}, global_1, document_1, current);\n }\n else {\n var allOptions = [gInput, dInput, cInput];\n var styles = allOptions.map(function (opts) { return opts[prop] || {}; });\n styleOptions[prop] = (0, polyfills_1.assign)({}, styles[0], styles[1], styles[2]);\n }\n };\n for (var _i = 0, _a = Object.keys(styleOptions); _i < _a.length; _i++) {\n var prop = _a[_i];\n _loop_1(prop);\n }\n return styleOptions;\n}\nfunction parseHooks(global, document, current) {\n var allOptions = [global, document, current];\n var result = {\n didParseCell: [],\n willDrawCell: [],\n didDrawCell: [],\n willDrawPage: [],\n didDrawPage: [],\n };\n for (var _i = 0, allOptions_1 = allOptions; _i < allOptions_1.length; _i++) {\n var options = allOptions_1[_i];\n if (options.didParseCell)\n result.didParseCell.push(options.didParseCell);\n if (options.willDrawCell)\n result.willDrawCell.push(options.willDrawCell);\n if (options.didDrawCell)\n result.didDrawCell.push(options.didDrawCell);\n if (options.willDrawPage)\n result.willDrawPage.push(options.willDrawPage);\n if (options.didDrawPage)\n result.didDrawPage.push(options.didDrawPage);\n }\n return result;\n}\nfunction parseSettings(doc, options) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;\n var margin = (0, common_1.parseSpacing)(options.margin, 40 / doc.scaleFactor());\n var startY = (_a = getStartY(doc, options.startY)) !== null && _a !== void 0 ? _a : margin.top;\n var showFoot;\n if (options.showFoot === true) {\n showFoot = 'everyPage';\n }\n else if (options.showFoot === false) {\n showFoot = 'never';\n }\n else {\n showFoot = (_b = options.showFoot) !== null && _b !== void 0 ? _b : 'everyPage';\n }\n var showHead;\n if (options.showHead === true) {\n showHead = 'everyPage';\n }\n else if (options.showHead === false) {\n showHead = 'never';\n }\n else {\n showHead = (_c = options.showHead) !== null && _c !== void 0 ? _c : 'everyPage';\n }\n var useCss = (_d = options.useCss) !== null && _d !== void 0 ? _d : false;\n var theme = options.theme || (useCss ? 'plain' : 'striped');\n var horizontalPageBreak = !!options.horizontalPageBreak;\n var horizontalPageBreakRepeat = (_e = options.horizontalPageBreakRepeat) !== null && _e !== void 0 ? _e : null;\n return {\n includeHiddenHtml: (_f = options.includeHiddenHtml) !== null && _f !== void 0 ? _f : false,\n useCss: useCss,\n theme: theme,\n startY: startY,\n margin: margin,\n pageBreak: (_g = options.pageBreak) !== null && _g !== void 0 ? _g : 'auto',\n rowPageBreak: (_h = options.rowPageBreak) !== null && _h !== void 0 ? _h : 'auto',\n tableWidth: (_j = options.tableWidth) !== null && _j !== void 0 ? _j : 'auto',\n showHead: showHead,\n showFoot: showFoot,\n tableLineWidth: (_k = options.tableLineWidth) !== null && _k !== void 0 ? _k : 0,\n tableLineColor: (_l = options.tableLineColor) !== null && _l !== void 0 ? _l : 200,\n horizontalPageBreak: horizontalPageBreak,\n horizontalPageBreakRepeat: horizontalPageBreakRepeat,\n horizontalPageBreakBehaviour: (_m = options.horizontalPageBreakBehaviour) !== null && _m !== void 0 ? _m : 'afterAllRows',\n };\n}\nfunction getStartY(doc, userStartY) {\n var previous = doc.getLastAutoTable();\n var sf = doc.scaleFactor();\n var currentPage = doc.pageNumber();\n var isSamePageAsPreviousTable = false;\n if (previous && previous.startPageNumber) {\n var endingPage = previous.startPageNumber + previous.pageNumber - 1;\n isSamePageAsPreviousTable = endingPage === currentPage;\n }\n if (typeof userStartY === 'number') {\n return userStartY;\n }\n else if (userStartY == null || userStartY === false) {\n if (isSamePageAsPreviousTable && (previous === null || previous === void 0 ? void 0 : previous.finalY) != null) {\n // Some users had issues with overlapping tables when they used multiple\n // tables without setting startY so setting it here to a sensible default.\n return previous.finalY + 20 / sf;\n }\n }\n return null;\n}\nfunction parseContent(doc, options, window) {\n var head = options.head || [];\n var body = options.body || [];\n var foot = options.foot || [];\n if (options.html) {\n var hidden = options.includeHiddenHtml;\n if (window) {\n var htmlContent = (0, htmlParser_1.parseHtml)(doc, options.html, window, hidden, options.useCss) || {};\n head = htmlContent.head || head;\n body = htmlContent.body || head;\n foot = htmlContent.foot || head;\n }\n else {\n console.error('Cannot parse html in non browser environment');\n }\n }\n var columns = options.columns || parseColumns(head, body, foot);\n return {\n columns: columns,\n head: head,\n body: body,\n foot: foot,\n };\n}\nfunction parseColumns(head, body, foot) {\n var firstRow = head[0] || body[0] || foot[0] || [];\n var result = [];\n Object.keys(firstRow)\n .filter(function (key) { return key !== '_element'; })\n .forEach(function (key) {\n var colSpan = 1;\n var input;\n if (Array.isArray(firstRow)) {\n input = firstRow[parseInt(key)];\n }\n else {\n input = firstRow[key];\n }\n if (typeof input === 'object' && !Array.isArray(input)) {\n colSpan = (input === null || input === void 0 ? void 0 : input.colSpan) || 1;\n }\n for (var i = 0; i < colSpan; i++) {\n var id = void 0;\n if (Array.isArray(firstRow)) {\n id = result.length;\n }\n else {\n id = key + (i > 0 ? \"_\".concat(i) : '');\n }\n var rowResult = { dataKey: id };\n result.push(rowResult);\n }\n });\n return result;\n}\n\n\n/***/ }),\n\n/***/ 792:\n/***/ (function(__unused_webpack_module, exports) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nfunction default_1(doc, global, document, current) {\n var _loop_1 = function (options) {\n if (options && typeof options !== 'object') {\n console.error('The options parameter should be of type object, is: ' + typeof options);\n }\n if (typeof options.extendWidth !== 'undefined') {\n options.tableWidth = options.extendWidth ? 'auto' : 'wrap';\n console.error('Use of deprecated option: extendWidth, use tableWidth instead.');\n }\n if (typeof options.margins !== 'undefined') {\n if (typeof options.margin === 'undefined')\n options.margin = options.margins;\n console.error('Use of deprecated option: margins, use margin instead.');\n }\n if (options.startY && typeof options.startY !== 'number') {\n console.error('Invalid value for startY option', options.startY);\n delete options.startY;\n }\n if (!options.didDrawPage &&\n (options.afterPageContent ||\n options.beforePageContent ||\n options.afterPageAdd)) {\n console.error('The afterPageContent, beforePageContent and afterPageAdd hooks are deprecated. Use didDrawPage instead');\n options.didDrawPage = function (data) {\n doc.applyStyles(doc.userStyles);\n if (options.beforePageContent)\n options.beforePageContent(data);\n doc.applyStyles(doc.userStyles);\n if (options.afterPageContent)\n options.afterPageContent(data);\n doc.applyStyles(doc.userStyles);\n if (options.afterPageAdd && data.pageNumber > 1) {\n ;\n data.afterPageAdd(data);\n }\n doc.applyStyles(doc.userStyles);\n };\n }\n ;\n [\n 'createdHeaderCell',\n 'drawHeaderRow',\n 'drawRow',\n 'drawHeaderCell',\n ].forEach(function (name) {\n if (options[name]) {\n console.error(\"The \\\"\".concat(name, \"\\\" hook has changed in version 3.0, check the changelog for how to migrate.\"));\n }\n });\n [\n ['showFoot', 'showFooter'],\n ['showHead', 'showHeader'],\n ['didDrawPage', 'addPageContent'],\n ['didParseCell', 'createdCell'],\n ['headStyles', 'headerStyles'],\n ].forEach(function (_a) {\n var current = _a[0], deprecated = _a[1];\n if (options[deprecated]) {\n console.error(\"Use of deprecated option \".concat(deprecated, \". Use \").concat(current, \" instead\"));\n options[current] = options[deprecated];\n }\n });\n [\n ['padding', 'cellPadding'],\n ['lineHeight', 'rowHeight'],\n 'fontSize',\n 'overflow',\n ].forEach(function (o) {\n var deprecatedOption = typeof o === 'string' ? o : o[0];\n var style = typeof o === 'string' ? o : o[1];\n if (typeof options[deprecatedOption] !== 'undefined') {\n if (typeof options.styles[style] === 'undefined') {\n options.styles[style] = options[deprecatedOption];\n }\n console.error('Use of deprecated option: ' +\n deprecatedOption +\n ', use the style ' +\n style +\n ' instead.');\n }\n });\n for (var _b = 0, _c = [\n 'styles',\n 'bodyStyles',\n 'headStyles',\n 'footStyles',\n ]; _b < _c.length; _b++) {\n var styleProp = _c[_b];\n checkStyles(options[styleProp] || {});\n }\n var columnStyles = options['columnStyles'] || {};\n for (var _d = 0, _e = Object.keys(columnStyles); _d < _e.length; _d++) {\n var key = _e[_d];\n checkStyles(columnStyles[key] || {});\n }\n };\n for (var _i = 0, _a = [global, document, current]; _i < _a.length; _i++) {\n var options = _a[_i];\n _loop_1(options);\n }\n}\nexports[\"default\"] = default_1;\nfunction checkStyles(styles) {\n if (styles.rowHeight) {\n console.error('Use of deprecated style rowHeight. It is renamed to minCellHeight.');\n if (!styles.minCellHeight) {\n styles.minCellHeight = styles.rowHeight;\n }\n }\n else if (styles.columnWidth) {\n console.error('Use of deprecated style columnWidth. It is renamed to cellWidth.');\n if (!styles.cellWidth) {\n styles.cellWidth = styles.columnWidth;\n }\n }\n}\n\n\n/***/ }),\n\n/***/ 260:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Column = exports.Cell = exports.Row = exports.Table = void 0;\nvar config_1 = __webpack_require__(796);\nvar HookData_1 = __webpack_require__(172);\nvar common_1 = __webpack_require__(420);\nvar Table = /** @class */ (function () {\n function Table(input, content) {\n this.pageNumber = 1;\n // Deprecated, use pageNumber instead\n // Not using getter since:\n // https://github.com/simonbengtsson/jsPDF-AutoTable/issues/596\n this.pageCount = 1;\n this.id = input.id;\n this.settings = input.settings;\n this.styles = input.styles;\n this.hooks = input.hooks;\n this.columns = content.columns;\n this.head = content.head;\n this.body = content.body;\n this.foot = content.foot;\n }\n Table.prototype.getHeadHeight = function (columns) {\n return this.head.reduce(function (acc, row) { return acc + row.getMaxCellHeight(columns); }, 0);\n };\n Table.prototype.getFootHeight = function (columns) {\n return this.foot.reduce(function (acc, row) { return acc + row.getMaxCellHeight(columns); }, 0);\n };\n Table.prototype.allRows = function () {\n return this.head.concat(this.body).concat(this.foot);\n };\n Table.prototype.callCellHooks = function (doc, handlers, cell, row, column, cursor) {\n for (var _i = 0, handlers_1 = handlers; _i < handlers_1.length; _i++) {\n var handler = handlers_1[_i];\n var data = new HookData_1.CellHookData(doc, this, cell, row, column, cursor);\n var result = handler(data) === false;\n // Make sure text is always string[] since user can assign string\n cell.text = Array.isArray(cell.text) ? cell.text : [cell.text];\n if (result) {\n return false;\n }\n }\n return true;\n };\n Table.prototype.callEndPageHooks = function (doc, cursor) {\n doc.applyStyles(doc.userStyles);\n for (var _i = 0, _a = this.hooks.didDrawPage; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(new HookData_1.HookData(doc, this, cursor));\n }\n };\n Table.prototype.callWillDrawPageHooks = function (doc, cursor) {\n for (var _i = 0, _a = this.hooks.willDrawPage; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(new HookData_1.HookData(doc, this, cursor));\n }\n };\n Table.prototype.getWidth = function (pageWidth) {\n if (typeof this.settings.tableWidth === 'number') {\n return this.settings.tableWidth;\n }\n else if (this.settings.tableWidth === 'wrap') {\n var wrappedWidth = this.columns.reduce(function (total, col) { return total + col.wrappedWidth; }, 0);\n return wrappedWidth;\n }\n else {\n var margin = this.settings.margin;\n return pageWidth - margin.left - margin.right;\n }\n };\n return Table;\n}());\nexports.Table = Table;\nvar Row = /** @class */ (function () {\n function Row(raw, index, section, cells, spansMultiplePages) {\n if (spansMultiplePages === void 0) { spansMultiplePages = false; }\n this.height = 0;\n this.raw = raw;\n if (raw instanceof config_1.HtmlRowInput) {\n this.raw = raw._element;\n this.element = raw._element;\n }\n this.index = index;\n this.section = section;\n this.cells = cells;\n this.spansMultiplePages = spansMultiplePages;\n }\n Row.prototype.getMaxCellHeight = function (columns) {\n var _this = this;\n return columns.reduce(function (acc, column) { var _a; return Math.max(acc, ((_a = _this.cells[column.index]) === null || _a === void 0 ? void 0 : _a.height) || 0); }, 0);\n };\n Row.prototype.hasRowSpan = function (columns) {\n var _this = this;\n return (columns.filter(function (column) {\n var cell = _this.cells[column.index];\n if (!cell)\n return false;\n return cell.rowSpan > 1;\n }).length > 0);\n };\n Row.prototype.canEntireRowFit = function (height, columns) {\n return this.getMaxCellHeight(columns) <= height;\n };\n Row.prototype.getMinimumRowHeight = function (columns, doc) {\n var _this = this;\n return columns.reduce(function (acc, column) {\n var cell = _this.cells[column.index];\n if (!cell)\n return 0;\n var lineHeight = doc.getLineHeight(cell.styles.fontSize);\n var vPadding = cell.padding('vertical');\n var oneRowHeight = vPadding + lineHeight;\n return oneRowHeight > acc ? oneRowHeight : acc;\n }, 0);\n };\n return Row;\n}());\nexports.Row = Row;\nvar Cell = /** @class */ (function () {\n function Cell(raw, styles, section) {\n var _a, _b;\n this.contentHeight = 0;\n this.contentWidth = 0;\n this.wrappedWidth = 0;\n this.minReadableWidth = 0;\n this.minWidth = 0;\n this.width = 0;\n this.height = 0;\n this.x = 0;\n this.y = 0;\n this.styles = styles;\n this.section = section;\n this.raw = raw;\n var content = raw;\n if (raw != null && typeof raw === 'object' && !Array.isArray(raw)) {\n this.rowSpan = raw.rowSpan || 1;\n this.colSpan = raw.colSpan || 1;\n content = (_b = (_a = raw.content) !== null && _a !== void 0 ? _a : raw.title) !== null && _b !== void 0 ? _b : raw;\n if (raw._element) {\n this.raw = raw._element;\n }\n }\n else {\n this.rowSpan = 1;\n this.colSpan = 1;\n }\n // Stringify 0 and false, but not undefined or null\n var text = content != null ? '' + content : '';\n var splitRegex = /\\r\\n|\\r|\\n/g;\n this.text = text.split(splitRegex);\n }\n Cell.prototype.getTextPos = function () {\n var y;\n if (this.styles.valign === 'top') {\n y = this.y + this.padding('top');\n }\n else if (this.styles.valign === 'bottom') {\n y = this.y + this.height - this.padding('bottom');\n }\n else {\n var netHeight = this.height - this.padding('vertical');\n y = this.y + netHeight / 2 + this.padding('top');\n }\n var x;\n if (this.styles.halign === 'right') {\n x = this.x + this.width - this.padding('right');\n }\n else if (this.styles.halign === 'center') {\n var netWidth = this.width - this.padding('horizontal');\n x = this.x + netWidth / 2 + this.padding('left');\n }\n else {\n x = this.x + this.padding('left');\n }\n return { x: x, y: y };\n };\n // TODO (v4): replace parameters with only (lineHeight)\n Cell.prototype.getContentHeight = function (scaleFactor, lineHeightFactor) {\n if (lineHeightFactor === void 0) { lineHeightFactor = 1.15; }\n var lineCount = Array.isArray(this.text) ? this.text.length : 1;\n var lineHeight = (this.styles.fontSize / scaleFactor) * lineHeightFactor;\n var height = lineCount * lineHeight + this.padding('vertical');\n return Math.max(height, this.styles.minCellHeight);\n };\n Cell.prototype.padding = function (name) {\n var padding = (0, common_1.parseSpacing)(this.styles.cellPadding, 0);\n if (name === 'vertical') {\n return padding.top + padding.bottom;\n }\n else if (name === 'horizontal') {\n return padding.left + padding.right;\n }\n else {\n return padding[name];\n }\n };\n return Cell;\n}());\nexports.Cell = Cell;\nvar Column = /** @class */ (function () {\n function Column(dataKey, raw, index) {\n this.wrappedWidth = 0;\n this.minReadableWidth = 0;\n this.minWidth = 0;\n this.width = 0;\n this.dataKey = dataKey;\n this.raw = raw;\n this.index = index;\n }\n Column.prototype.getMaxCustomCellWidth = function (table) {\n var max = 0;\n for (var _i = 0, _a = table.allRows(); _i < _a.length; _i++) {\n var row = _a[_i];\n var cell = row.cells[this.index];\n if (cell && typeof cell.styles.cellWidth === 'number') {\n max = Math.max(max, cell.styles.cellWidth);\n }\n }\n return max;\n };\n return Column;\n}());\nexports.Column = Column;\n\n\n/***/ }),\n\n/***/ 356:\n/***/ (function(__unused_webpack_module, exports) {\n\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.assign = void 0;\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\nfunction assign(target, s, s1, s2, s3) {\n if (target == null) {\n throw new TypeError('Cannot convert undefined or null to object');\n }\n var to = Object(target);\n for (var index = 1; index < arguments.length; index++) {\n // eslint-disable-next-line prefer-rest-params\n var nextSource = arguments[index];\n if (nextSource != null) {\n // Skip over if undefined or null\n for (var nextKey in nextSource) {\n // Avoid bugs when hasOwnProperty is shadowed\n if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n return to;\n}\nexports.assign = assign;\n\n\n/***/ }),\n\n/***/ 972:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.createTable = void 0;\nvar documentHandler_1 = __webpack_require__(744);\nvar models_1 = __webpack_require__(260);\nvar widthCalculator_1 = __webpack_require__(324);\nvar config_1 = __webpack_require__(796);\nvar polyfills_1 = __webpack_require__(356);\nfunction createTable(jsPDFDoc, input) {\n var doc = new documentHandler_1.DocHandler(jsPDFDoc);\n var content = parseContent(input, doc.scaleFactor());\n var table = new models_1.Table(input, content);\n (0, widthCalculator_1.calculateWidths)(doc, table);\n doc.applyStyles(doc.userStyles);\n return table;\n}\nexports.createTable = createTable;\nfunction parseContent(input, sf) {\n var content = input.content;\n var columns = createColumns(content.columns);\n // If no head or foot is set, try generating it with content from columns\n if (content.head.length === 0) {\n var sectionRow = generateSectionRow(columns, 'head');\n if (sectionRow)\n content.head.push(sectionRow);\n }\n if (content.foot.length === 0) {\n var sectionRow = generateSectionRow(columns, 'foot');\n if (sectionRow)\n content.foot.push(sectionRow);\n }\n var theme = input.settings.theme;\n var styles = input.styles;\n return {\n columns: columns,\n head: parseSection('head', content.head, columns, styles, theme, sf),\n body: parseSection('body', content.body, columns, styles, theme, sf),\n foot: parseSection('foot', content.foot, columns, styles, theme, sf),\n };\n}\nfunction parseSection(sectionName, sectionRows, columns, styleProps, theme, scaleFactor) {\n var rowSpansLeftForColumn = {};\n var result = sectionRows.map(function (rawRow, rowIndex) {\n var skippedRowForRowSpans = 0;\n var cells = {};\n var colSpansAdded = 0;\n var columnSpansLeft = 0;\n for (var _i = 0, columns_1 = columns; _i < columns_1.length; _i++) {\n var column = columns_1[_i];\n if (rowSpansLeftForColumn[column.index] == null ||\n rowSpansLeftForColumn[column.index].left === 0) {\n if (columnSpansLeft === 0) {\n var rawCell = void 0;\n if (Array.isArray(rawRow)) {\n rawCell =\n rawRow[column.index - colSpansAdded - skippedRowForRowSpans];\n }\n else {\n rawCell = rawRow[column.dataKey];\n }\n var cellInputStyles = {};\n if (typeof rawCell === 'object' && !Array.isArray(rawCell)) {\n cellInputStyles = (rawCell === null || rawCell === void 0 ? void 0 : rawCell.styles) || {};\n }\n var styles = cellStyles(sectionName, column, rowIndex, theme, styleProps, scaleFactor, cellInputStyles);\n var cell = new models_1.Cell(rawCell, styles, sectionName);\n // dataKey is not used internally no more but keep for\n // backwards compat in hooks\n cells[column.dataKey] = cell;\n cells[column.index] = cell;\n columnSpansLeft = cell.colSpan - 1;\n rowSpansLeftForColumn[column.index] = {\n left: cell.rowSpan - 1,\n times: columnSpansLeft,\n };\n }\n else {\n columnSpansLeft--;\n colSpansAdded++;\n }\n }\n else {\n rowSpansLeftForColumn[column.index].left--;\n columnSpansLeft = rowSpansLeftForColumn[column.index].times;\n skippedRowForRowSpans++;\n }\n }\n return new models_1.Row(rawRow, rowIndex, sectionName, cells);\n });\n return result;\n}\nfunction generateSectionRow(columns, section) {\n var sectionRow = {};\n columns.forEach(function (col) {\n if (col.raw != null) {\n var title = getSectionTitle(section, col.raw);\n if (title != null)\n sectionRow[col.dataKey] = title;\n }\n });\n return Object.keys(sectionRow).length > 0 ? sectionRow : null;\n}\nfunction getSectionTitle(section, column) {\n if (section === 'head') {\n if (typeof column === 'object') {\n return column.header || column.title || null;\n }\n else if (typeof column === 'string' || typeof column === 'number') {\n return column;\n }\n }\n else if (section === 'foot' && typeof column === 'object') {\n return column.footer;\n }\n return null;\n}\nfunction createColumns(columns) {\n return columns.map(function (input, index) {\n var _a, _b;\n var key;\n if (typeof input === 'object') {\n key = (_b = (_a = input.dataKey) !== null && _a !== void 0 ? _a : input.key) !== null && _b !== void 0 ? _b : index;\n }\n else {\n key = index;\n }\n return new models_1.Column(key, input, index);\n });\n}\nfunction cellStyles(sectionName, column, rowIndex, themeName, styles, scaleFactor, cellInputStyles) {\n var theme = (0, config_1.getTheme)(themeName);\n var sectionStyles;\n if (sectionName === 'head') {\n sectionStyles = styles.headStyles;\n }\n else if (sectionName === 'body') {\n sectionStyles = styles.bodyStyles;\n }\n else if (sectionName === 'foot') {\n sectionStyles = styles.footStyles;\n }\n var otherStyles = (0, polyfills_1.assign)({}, theme.table, theme[sectionName], styles.styles, sectionStyles);\n var columnStyles = styles.columnStyles[column.dataKey] ||\n styles.columnStyles[column.index] ||\n {};\n var colStyles = sectionName === 'body' ? columnStyles : {};\n var rowStyles = sectionName === 'body' && rowIndex % 2 === 0\n ? (0, polyfills_1.assign)({}, theme.alternateRow, styles.alternateRowStyles)\n : {};\n var defaultStyle = (0, config_1.defaultStyles)(scaleFactor);\n var themeStyles = (0, polyfills_1.assign)({}, defaultStyle, otherStyles, rowStyles, colStyles);\n return (0, polyfills_1.assign)(themeStyles, cellInputStyles);\n}\n\n\n/***/ }),\n\n/***/ 664:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.addPage = exports.drawTable = void 0;\nvar common_1 = __webpack_require__(420);\nvar models_1 = __webpack_require__(260);\nvar documentHandler_1 = __webpack_require__(744);\nvar polyfills_1 = __webpack_require__(356);\nvar autoTableText_1 = __webpack_require__(136);\nvar tablePrinter_1 = __webpack_require__(224);\nfunction drawTable(jsPDFDoc, table) {\n var settings = table.settings;\n var startY = settings.startY;\n var margin = settings.margin;\n var cursor = {\n x: margin.left,\n y: startY,\n };\n var sectionsHeight = table.getHeadHeight(table.columns) + table.getFootHeight(table.columns);\n var minTableBottomPos = startY + margin.bottom + sectionsHeight;\n if (settings.pageBreak === 'avoid') {\n var rows = table.body;\n var tableHeight = rows.reduce(function (acc, row) { return acc + row.height; }, 0);\n minTableBottomPos += tableHeight;\n }\n var doc = new documentHandler_1.DocHandler(jsPDFDoc);\n if (settings.pageBreak === 'always' ||\n (settings.startY != null && minTableBottomPos > doc.pageSize().height)) {\n nextPage(doc);\n cursor.y = margin.top;\n }\n table.callWillDrawPageHooks(doc, cursor);\n var startPos = (0, polyfills_1.assign)({}, cursor);\n table.startPageNumber = doc.pageNumber();\n if (settings.horizontalPageBreak) {\n // managed flow for split columns\n printTableWithHorizontalPageBreak(doc, table, startPos, cursor);\n }\n else {\n // normal flow\n doc.applyStyles(doc.userStyles);\n if (settings.showHead === 'firstPage' ||\n settings.showHead === 'everyPage') {\n table.head.forEach(function (row) {\n return printRow(doc, table, row, cursor, table.columns);\n });\n }\n doc.applyStyles(doc.userStyles);\n table.body.forEach(function (row, index) {\n var isLastRow = index === table.body.length - 1;\n printFullRow(doc, table, row, isLastRow, startPos, cursor, table.columns);\n });\n doc.applyStyles(doc.userStyles);\n if (settings.showFoot === 'lastPage' || settings.showFoot === 'everyPage') {\n table.foot.forEach(function (row) {\n return printRow(doc, table, row, cursor, table.columns);\n });\n }\n }\n (0, common_1.addTableBorder)(doc, table, startPos, cursor);\n table.callEndPageHooks(doc, cursor);\n table.finalY = cursor.y;\n jsPDFDoc.lastAutoTable = table;\n jsPDFDoc.previousAutoTable = table; // Deprecated\n if (jsPDFDoc.autoTable)\n jsPDFDoc.autoTable.previous = table; // Deprecated\n doc.applyStyles(doc.userStyles);\n}\nexports.drawTable = drawTable;\nfunction printTableWithHorizontalPageBreak(doc, table, startPos, cursor) {\n // calculate width of columns and render only those which can fit into page\n var allColumnsCanFitResult = (0, tablePrinter_1.calculateAllColumnsCanFitInPage)(doc, table);\n var settings = table.settings;\n if (settings.horizontalPageBreakBehaviour === 'afterAllRows') {\n allColumnsCanFitResult.forEach(function (colsAndIndexes, index) {\n doc.applyStyles(doc.userStyles);\n // add page to print next columns in new page\n if (index > 0) {\n // When adding a page here, make sure not to print the footers\n // because they were already printed before on this same loop\n addPage(doc, table, startPos, cursor, colsAndIndexes.columns, true);\n }\n else {\n // print head for selected columns\n printHead(doc, table, cursor, colsAndIndexes.columns);\n }\n // print body & footer for selected columns\n printBody(doc, table, startPos, cursor, colsAndIndexes.columns);\n printFoot(doc, table, cursor, colsAndIndexes.columns);\n });\n }\n else {\n var lastRowIndexOfLastPage_1 = -1;\n var firstColumnsToFitResult = allColumnsCanFitResult[0];\n var _loop_1 = function () {\n // Print the first columns, taking note of the last row printed\n var lastPrintedRowIndex = lastRowIndexOfLastPage_1;\n if (firstColumnsToFitResult) {\n doc.applyStyles(doc.userStyles);\n var firstColumnsToFit = firstColumnsToFitResult.columns;\n if (lastRowIndexOfLastPage_1 >= 0) {\n // When adding a page here, make sure not to print the footers\n // because they were already printed before on this same loop\n addPage(doc, table, startPos, cursor, firstColumnsToFit, true);\n }\n else {\n printHead(doc, table, cursor, firstColumnsToFit);\n }\n lastPrintedRowIndex = printBodyWithoutPageBreaks(doc, table, lastRowIndexOfLastPage_1 + 1, cursor, firstColumnsToFit);\n printFoot(doc, table, cursor, firstColumnsToFit);\n }\n // Check how many rows were printed, so that the next columns would not print more rows than that\n var maxNumberOfRows = lastPrintedRowIndex - lastRowIndexOfLastPage_1;\n // Print the next columns, never exceding maxNumberOfRows\n allColumnsCanFitResult.slice(1).forEach(function (colsAndIndexes) {\n doc.applyStyles(doc.userStyles);\n // When adding a page here, make sure not to print the footers\n // because they were already printed before on this same loop\n addPage(doc, table, startPos, cursor, colsAndIndexes.columns, true);\n printBodyWithoutPageBreaks(doc, table, lastRowIndexOfLastPage_1 + 1, cursor, colsAndIndexes.columns, maxNumberOfRows);\n printFoot(doc, table, cursor, colsAndIndexes.columns);\n });\n lastRowIndexOfLastPage_1 = lastPrintedRowIndex;\n };\n while (lastRowIndexOfLastPage_1 < table.body.length - 1) {\n _loop_1();\n }\n }\n}\nfunction printHead(doc, table, cursor, columns) {\n var settings = table.settings;\n doc.applyStyles(doc.userStyles);\n if (settings.showHead === 'firstPage' || settings.showHead === 'everyPage') {\n table.head.forEach(function (row) { return printRow(doc, table, row, cursor, columns); });\n }\n}\nfunction printBody(doc, table, startPos, cursor, columns) {\n doc.applyStyles(doc.userStyles);\n table.body.forEach(function (row, index) {\n var isLastRow = index === table.body.length - 1;\n printFullRow(doc, table, row, isLastRow, startPos, cursor, columns);\n });\n}\nfunction printBodyWithoutPageBreaks(doc, table, startRowIndex, cursor, columns, maxNumberOfRows) {\n doc.applyStyles(doc.userStyles);\n maxNumberOfRows = maxNumberOfRows !== null && maxNumberOfRows !== void 0 ? maxNumberOfRows : table.body.length;\n var endRowIndex = Math.min(startRowIndex + maxNumberOfRows, table.body.length);\n var lastPrintedRowIndex = -1;\n table.body.slice(startRowIndex, endRowIndex).forEach(function (row, index) {\n var isLastRow = startRowIndex + index === table.body.length - 1;\n var remainingSpace = getRemainingPageSpace(doc, table, isLastRow, cursor);\n if (row.canEntireRowFit(remainingSpace, columns)) {\n printRow(doc, table, row, cursor, columns);\n lastPrintedRowIndex = startRowIndex + index;\n }\n });\n return lastPrintedRowIndex;\n}\nfunction printFoot(doc, table, cursor, columns) {\n var settings = table.settings;\n doc.applyStyles(doc.userStyles);\n if (settings.showFoot === 'lastPage' || settings.showFoot === 'everyPage') {\n table.foot.forEach(function (row) { return printRow(doc, table, row, cursor, columns); });\n }\n}\nfunction getRemainingLineCount(cell, remainingPageSpace, doc) {\n var lineHeight = doc.getLineHeight(cell.styles.fontSize);\n var vPadding = cell.padding('vertical');\n var remainingLines = Math.floor((remainingPageSpace - vPadding) / lineHeight);\n return Math.max(0, remainingLines);\n}\nfunction modifyRowToFit(row, remainingPageSpace, table, doc) {\n var cells = {};\n row.spansMultiplePages = true;\n row.height = 0;\n var rowHeight = 0;\n for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n var cell = row.cells[column.index];\n if (!cell)\n continue;\n if (!Array.isArray(cell.text)) {\n cell.text = [cell.text];\n }\n var remainderCell = new models_1.Cell(cell.raw, cell.styles, cell.section);\n remainderCell = (0, polyfills_1.assign)(remainderCell, cell);\n remainderCell.text = [];\n var remainingLineCount = getRemainingLineCount(cell, remainingPageSpace, doc);\n if (cell.text.length > remainingLineCount) {\n remainderCell.text = cell.text.splice(remainingLineCount, cell.text.length);\n }\n var scaleFactor = doc.scaleFactor();\n var lineHeightFactor = doc.getLineHeightFactor();\n cell.contentHeight = cell.getContentHeight(scaleFactor, lineHeightFactor);\n if (cell.contentHeight >= remainingPageSpace) {\n cell.contentHeight = remainingPageSpace;\n remainderCell.styles.minCellHeight -= remainingPageSpace;\n }\n if (cell.contentHeight > row.height) {\n row.height = cell.contentHeight;\n }\n remainderCell.contentHeight = remainderCell.getContentHeight(scaleFactor, lineHeightFactor);\n if (remainderCell.contentHeight > rowHeight) {\n rowHeight = remainderCell.contentHeight;\n }\n cells[column.index] = remainderCell;\n }\n var remainderRow = new models_1.Row(row.raw, -1, row.section, cells, true);\n remainderRow.height = rowHeight;\n for (var _b = 0, _c = table.columns; _b < _c.length; _b++) {\n var column = _c[_b];\n var remainderCell = remainderRow.cells[column.index];\n if (remainderCell) {\n remainderCell.height = remainderRow.height;\n }\n var cell = row.cells[column.index];\n if (cell) {\n cell.height = row.height;\n }\n }\n return remainderRow;\n}\nfunction shouldPrintOnCurrentPage(doc, row, remainingPageSpace, table) {\n var pageHeight = doc.pageSize().height;\n var margin = table.settings.margin;\n var marginHeight = margin.top + margin.bottom;\n var maxRowHeight = pageHeight - marginHeight;\n if (row.section === 'body') {\n // Should also take into account that head and foot is not\n // on every page with some settings\n maxRowHeight -=\n table.getHeadHeight(table.columns) + table.getFootHeight(table.columns);\n }\n var minRowHeight = row.getMinimumRowHeight(table.columns, doc);\n var minRowFits = minRowHeight < remainingPageSpace;\n if (minRowHeight > maxRowHeight) {\n console.error(\"Will not be able to print row \".concat(row.index, \" correctly since it's minimum height is larger than page height\"));\n return true;\n }\n if (!minRowFits) {\n return false;\n }\n var rowHasRowSpanCell = row.hasRowSpan(table.columns);\n var rowHigherThanPage = row.getMaxCellHeight(table.columns) > maxRowHeight;\n if (rowHigherThanPage) {\n if (rowHasRowSpanCell) {\n console.error(\"The content of row \".concat(row.index, \" will not be drawn correctly since drawing rows with a height larger than the page height and has cells with rowspans is not supported.\"));\n }\n return true;\n }\n if (rowHasRowSpanCell) {\n // Currently a new page is required whenever a rowspan row don't fit a page.\n return false;\n }\n if (table.settings.rowPageBreak === 'avoid') {\n return false;\n }\n // In all other cases print the row on current page\n return true;\n}\nfunction printFullRow(doc, table, row, isLastRow, startPos, cursor, columns) {\n var remainingSpace = getRemainingPageSpace(doc, table, isLastRow, cursor);\n if (row.canEntireRowFit(remainingSpace, columns)) {\n // The row fits in the current page\n printRow(doc, table, row, cursor, columns);\n }\n else if (shouldPrintOnCurrentPage(doc, row, remainingSpace, table)) {\n // The row gets split in two here, each piece in one page\n var remainderRow = modifyRowToFit(row, remainingSpace, table, doc);\n printRow(doc, table, row, cursor, columns);\n addPage(doc, table, startPos, cursor, columns);\n printFullRow(doc, table, remainderRow, isLastRow, startPos, cursor, columns);\n }\n else {\n // The row get printed entirelly on the next page\n addPage(doc, table, startPos, cursor, columns);\n printFullRow(doc, table, row, isLastRow, startPos, cursor, columns);\n }\n}\nfunction printRow(doc, table, row, cursor, columns) {\n cursor.x = table.settings.margin.left;\n for (var _i = 0, columns_1 = columns; _i < columns_1.length; _i++) {\n var column = columns_1[_i];\n var cell = row.cells[column.index];\n if (!cell) {\n cursor.x += column.width;\n continue;\n }\n doc.applyStyles(cell.styles);\n cell.x = cursor.x;\n cell.y = cursor.y;\n var result = table.callCellHooks(doc, table.hooks.willDrawCell, cell, row, column, cursor);\n if (result === false) {\n cursor.x += column.width;\n continue;\n }\n drawCellRect(doc, cell, cursor);\n var textPos = cell.getTextPos();\n (0, autoTableText_1.default)(cell.text, textPos.x, textPos.y, {\n halign: cell.styles.halign,\n valign: cell.styles.valign,\n maxWidth: Math.ceil(cell.width - cell.padding('left') - cell.padding('right')),\n }, doc.getDocument());\n table.callCellHooks(doc, table.hooks.didDrawCell, cell, row, column, cursor);\n cursor.x += column.width;\n }\n cursor.y += row.height;\n}\nfunction drawCellRect(doc, cell, cursor) {\n var cellStyles = cell.styles;\n // https://github.com/simonbengtsson/jsPDF-AutoTable/issues/774\n // TODO (v4): better solution?\n doc.getDocument().setFillColor(doc.getDocument().getFillColor());\n if (typeof cellStyles.lineWidth === 'number') {\n // Draw cell background with normal borders\n var fillStyle = (0, common_1.getFillStyle)(cellStyles.lineWidth, cellStyles.fillColor);\n if (fillStyle) {\n doc.rect(cell.x, cursor.y, cell.width, cell.height, fillStyle);\n }\n }\n else if (typeof cellStyles.lineWidth === 'object') {\n // Draw cell background\n if (cellStyles.fillColor) {\n doc.rect(cell.x, cursor.y, cell.width, cell.height, 'F');\n }\n // Draw cell individual borders\n drawCellBorders(doc, cell, cursor, cellStyles.lineWidth);\n }\n}\n/**\n * Draw all specified borders. Borders are centered on cell's edge and lengthened\n * to overlap with neighbours to create sharp corners.\n * @param doc\n * @param cell\n * @param cursor\n * @param fillColor\n * @param lineWidth\n */\nfunction drawCellBorders(doc, cell, cursor, lineWidth) {\n var x1, y1, x2, y2;\n if (lineWidth.top) {\n x1 = cursor.x;\n y1 = cursor.y;\n x2 = cursor.x + cell.width;\n y2 = cursor.y;\n if (lineWidth.right) {\n x2 += 0.5 * lineWidth.right;\n }\n if (lineWidth.left) {\n x1 -= 0.5 * lineWidth.left;\n }\n drawLine(lineWidth.top, x1, y1, x2, y2);\n }\n if (lineWidth.bottom) {\n x1 = cursor.x;\n y1 = cursor.y + cell.height;\n x2 = cursor.x + cell.width;\n y2 = cursor.y + cell.height;\n if (lineWidth.right) {\n x2 += 0.5 * lineWidth.right;\n }\n if (lineWidth.left) {\n x1 -= 0.5 * lineWidth.left;\n }\n drawLine(lineWidth.bottom, x1, y1, x2, y2);\n }\n if (lineWidth.left) {\n x1 = cursor.x;\n y1 = cursor.y;\n x2 = cursor.x;\n y2 = cursor.y + cell.height;\n if (lineWidth.top) {\n y1 -= 0.5 * lineWidth.top;\n }\n if (lineWidth.bottom) {\n y2 += 0.5 * lineWidth.bottom;\n }\n drawLine(lineWidth.left, x1, y1, x2, y2);\n }\n if (lineWidth.right) {\n x1 = cursor.x + cell.width;\n y1 = cursor.y;\n x2 = cursor.x + cell.width;\n y2 = cursor.y + cell.height;\n if (lineWidth.top) {\n y1 -= 0.5 * lineWidth.top;\n }\n if (lineWidth.bottom) {\n y2 += 0.5 * lineWidth.bottom;\n }\n drawLine(lineWidth.right, x1, y1, x2, y2);\n }\n function drawLine(width, x1, y1, x2, y2) {\n doc.getDocument().setLineWidth(width);\n doc.getDocument().line(x1, y1, x2, y2, 'S');\n }\n}\nfunction getRemainingPageSpace(doc, table, isLastRow, cursor) {\n var bottomContentHeight = table.settings.margin.bottom;\n var showFoot = table.settings.showFoot;\n if (showFoot === 'everyPage' || (showFoot === 'lastPage' && isLastRow)) {\n bottomContentHeight += table.getFootHeight(table.columns);\n }\n return doc.pageSize().height - cursor.y - bottomContentHeight;\n}\nfunction addPage(doc, table, startPos, cursor, columns, suppressFooter) {\n if (columns === void 0) { columns = []; }\n if (suppressFooter === void 0) { suppressFooter = false; }\n doc.applyStyles(doc.userStyles);\n if (table.settings.showFoot === 'everyPage' && !suppressFooter) {\n table.foot.forEach(function (row) { return printRow(doc, table, row, cursor, columns); });\n }\n // Add user content just before adding new page ensure it will\n // be drawn above other things on the page\n table.callEndPageHooks(doc, cursor);\n var margin = table.settings.margin;\n (0, common_1.addTableBorder)(doc, table, startPos, cursor);\n nextPage(doc);\n table.pageNumber++;\n table.pageCount++;\n cursor.x = margin.left;\n cursor.y = margin.top;\n startPos.y = margin.top;\n // call didAddPage hooks before any content is added to the page\n table.callWillDrawPageHooks(doc, cursor);\n if (table.settings.showHead === 'everyPage') {\n table.head.forEach(function (row) { return printRow(doc, table, row, cursor, columns); });\n doc.applyStyles(doc.userStyles);\n }\n}\nexports.addPage = addPage;\nfunction nextPage(doc) {\n var current = doc.pageNumber();\n doc.setPage(current + 1);\n var newCurrent = doc.pageNumber();\n if (newCurrent === current) {\n doc.addPage();\n return true;\n }\n return false;\n}\n\n\n/***/ }),\n\n/***/ 224:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.calculateAllColumnsCanFitInPage = void 0;\nvar common_1 = __webpack_require__(420);\n// get columns can be fit into page\nfunction getColumnsCanFitInPage(doc, table, config) {\n var _a;\n if (config === void 0) { config = {}; }\n // Get page width\n var remainingWidth = (0, common_1.getPageAvailableWidth)(doc, table);\n // Get column data key to repeat\n var repeatColumnsMap = new Map();\n var colIndexes = [];\n var columns = [];\n var horizontalPageBreakRepeat = [];\n table.settings.horizontalPageBreakRepeat;\n if (Array.isArray(table.settings.horizontalPageBreakRepeat)) {\n horizontalPageBreakRepeat = table.settings.horizontalPageBreakRepeat;\n // It can be a single value of type string or number (even number: 0)\n }\n else if (typeof table.settings.horizontalPageBreakRepeat === 'string' ||\n typeof table.settings.horizontalPageBreakRepeat === 'number') {\n horizontalPageBreakRepeat = [table.settings.horizontalPageBreakRepeat];\n }\n // Code to repeat the given column in split pages\n horizontalPageBreakRepeat.forEach(function (field) {\n var col = table.columns.find(function (item) { return item.dataKey === field || item.index === field; });\n if (col && !repeatColumnsMap.has(col.index)) {\n repeatColumnsMap.set(col.index, true);\n colIndexes.push(col.index);\n columns.push(table.columns[col.index]);\n remainingWidth -= col.wrappedWidth;\n }\n });\n var first = true;\n var i = (_a = config === null || config === void 0 ? void 0 : config.start) !== null && _a !== void 0 ? _a : 0; // make sure couter is initiated outside the loop\n while (i < table.columns.length) {\n // Prevent duplicates\n if (repeatColumnsMap.has(i)) {\n i++;\n continue;\n }\n var colWidth = table.columns[i].wrappedWidth;\n // Take at least one column even if it doesn't fit\n if (first || remainingWidth >= colWidth) {\n first = false;\n colIndexes.push(i);\n columns.push(table.columns[i]);\n remainingWidth -= colWidth;\n }\n else {\n break;\n }\n i++;\n }\n return { colIndexes: colIndexes, columns: columns, lastIndex: i - 1 };\n}\nfunction calculateAllColumnsCanFitInPage(doc, table) {\n var allResults = [];\n for (var i = 0; i < table.columns.length; i++) {\n var result = getColumnsCanFitInPage(doc, table, { start: i });\n if (result.columns.length) {\n allResults.push(result);\n i = result.lastIndex;\n }\n }\n return allResults;\n}\nexports.calculateAllColumnsCanFitInPage = calculateAllColumnsCanFitInPage;\n\n\n/***/ }),\n\n/***/ 324:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ellipsize = exports.resizeColumns = exports.calculateWidths = void 0;\nvar common_1 = __webpack_require__(420);\n/**\n * Calculate the column widths\n */\nfunction calculateWidths(doc, table) {\n calculate(doc, table);\n var resizableColumns = [];\n var initialTableWidth = 0;\n table.columns.forEach(function (column) {\n var customWidth = column.getMaxCustomCellWidth(table);\n if (customWidth) {\n // final column width\n column.width = customWidth;\n }\n else {\n // initial column width (will be resized)\n column.width = column.wrappedWidth;\n resizableColumns.push(column);\n }\n initialTableWidth += column.width;\n });\n // width difference that needs to be distributed\n var resizeWidth = table.getWidth(doc.pageSize().width) - initialTableWidth;\n // first resize attempt: with respect to minReadableWidth and minWidth\n if (resizeWidth) {\n resizeWidth = resizeColumns(resizableColumns, resizeWidth, function (column) {\n return Math.max(column.minReadableWidth, column.minWidth);\n });\n }\n // second resize attempt: ignore minReadableWidth but respect minWidth\n if (resizeWidth) {\n resizeWidth = resizeColumns(resizableColumns, resizeWidth, function (column) { return column.minWidth; });\n }\n resizeWidth = Math.abs(resizeWidth);\n if (!table.settings.horizontalPageBreak &&\n resizeWidth > 0.1 / doc.scaleFactor()) {\n // Table can't get smaller due to custom-width or minWidth restrictions\n // We can't really do much here. Up to user to for example\n // reduce font size, increase page size or remove custom cell widths\n // to allow more columns to be reduced in size\n resizeWidth = resizeWidth < 1 ? resizeWidth : Math.round(resizeWidth);\n console.warn(\"Of the table content, \".concat(resizeWidth, \" units width could not fit page\"));\n }\n applyColSpans(table);\n fitContent(table, doc);\n applyRowSpans(table);\n}\nexports.calculateWidths = calculateWidths;\nfunction calculate(doc, table) {\n var sf = doc.scaleFactor();\n var horizontalPageBreak = table.settings.horizontalPageBreak;\n var availablePageWidth = (0, common_1.getPageAvailableWidth)(doc, table);\n table.allRows().forEach(function (row) {\n for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n var cell = row.cells[column.index];\n if (!cell)\n continue;\n var hooks = table.hooks.didParseCell;\n table.callCellHooks(doc, hooks, cell, row, column, null);\n var padding = cell.padding('horizontal');\n cell.contentWidth = (0, common_1.getStringWidth)(cell.text, cell.styles, doc) + padding;\n var longestWordWidth = (0, common_1.getStringWidth)(cell.text.join(' ').split(/\\s+/), cell.styles, doc);\n cell.minReadableWidth = longestWordWidth + cell.padding('horizontal');\n if (typeof cell.styles.cellWidth === 'number') {\n cell.minWidth = cell.styles.cellWidth;\n cell.wrappedWidth = cell.styles.cellWidth;\n }\n else if (cell.styles.cellWidth === 'wrap' ||\n horizontalPageBreak === true) {\n // cell width should not be more than available page width\n if (cell.contentWidth > availablePageWidth) {\n cell.minWidth = availablePageWidth;\n cell.wrappedWidth = availablePageWidth;\n }\n else {\n cell.minWidth = cell.contentWidth;\n cell.wrappedWidth = cell.contentWidth;\n }\n }\n else {\n // auto\n var defaultMinWidth = 10 / sf;\n cell.minWidth = cell.styles.minCellWidth || defaultMinWidth;\n cell.wrappedWidth = cell.contentWidth;\n if (cell.minWidth > cell.wrappedWidth) {\n cell.wrappedWidth = cell.minWidth;\n }\n }\n }\n });\n table.allRows().forEach(function (row) {\n for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n var cell = row.cells[column.index];\n // For now we ignore the minWidth and wrappedWidth of colspan cells when calculating colspan widths.\n // Could probably be improved upon however.\n if (cell && cell.colSpan === 1) {\n column.wrappedWidth = Math.max(column.wrappedWidth, cell.wrappedWidth);\n column.minWidth = Math.max(column.minWidth, cell.minWidth);\n column.minReadableWidth = Math.max(column.minReadableWidth, cell.minReadableWidth);\n }\n else {\n // Respect cellWidth set in columnStyles even if there is no cells for this column\n // or if the column only have colspan cells. Since the width of colspan cells\n // does not affect the width of columns, setting columnStyles cellWidth enables the\n // user to at least do it manually.\n // Note that this is not perfect for now since for example row and table styles are\n // not accounted for\n var columnStyles = table.styles.columnStyles[column.dataKey] ||\n table.styles.columnStyles[column.index] ||\n {};\n var cellWidth = columnStyles.cellWidth || columnStyles.minCellWidth;\n if (cellWidth && typeof cellWidth === 'number') {\n column.minWidth = cellWidth;\n column.wrappedWidth = cellWidth;\n }\n }\n if (cell) {\n // Make sure all columns get at least min width even though width calculations are not based on them\n if (cell.colSpan > 1 && !column.minWidth) {\n column.minWidth = cell.minWidth;\n }\n if (cell.colSpan > 1 && !column.wrappedWidth) {\n column.wrappedWidth = cell.minWidth;\n }\n }\n }\n });\n}\n/**\n * Distribute resizeWidth on passed resizable columns\n */\nfunction resizeColumns(columns, resizeWidth, getMinWidth) {\n var initialResizeWidth = resizeWidth;\n var sumWrappedWidth = columns.reduce(function (acc, column) { return acc + column.wrappedWidth; }, 0);\n for (var i = 0; i < columns.length; i++) {\n var column = columns[i];\n var ratio = column.wrappedWidth / sumWrappedWidth;\n var suggestedChange = initialResizeWidth * ratio;\n var suggestedWidth = column.width + suggestedChange;\n var minWidth = getMinWidth(column);\n var newWidth = suggestedWidth < minWidth ? minWidth : suggestedWidth;\n resizeWidth -= newWidth - column.width;\n column.width = newWidth;\n }\n resizeWidth = Math.round(resizeWidth * 1e10) / 1e10;\n // Run the resizer again if there's remaining width needs\n // to be distributed and there're columns that can be resized\n if (resizeWidth) {\n var resizableColumns = columns.filter(function (column) {\n return resizeWidth < 0\n ? column.width > getMinWidth(column) // check if column can shrink\n : true; // check if column can grow\n });\n if (resizableColumns.length) {\n resizeWidth = resizeColumns(resizableColumns, resizeWidth, getMinWidth);\n }\n }\n return resizeWidth;\n}\nexports.resizeColumns = resizeColumns;\nfunction applyRowSpans(table) {\n var rowSpanCells = {};\n var colRowSpansLeft = 1;\n var all = table.allRows();\n for (var rowIndex = 0; rowIndex < all.length; rowIndex++) {\n var row = all[rowIndex];\n for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n var data = rowSpanCells[column.index];\n if (colRowSpansLeft > 1) {\n colRowSpansLeft--;\n delete row.cells[column.index];\n }\n else if (data) {\n data.cell.height += row.height;\n colRowSpansLeft = data.cell.colSpan;\n delete row.cells[column.index];\n data.left--;\n if (data.left <= 1) {\n delete rowSpanCells[column.index];\n }\n }\n else {\n var cell = row.cells[column.index];\n if (!cell) {\n continue;\n }\n cell.height = row.height;\n if (cell.rowSpan > 1) {\n var remaining = all.length - rowIndex;\n var left = cell.rowSpan > remaining ? remaining : cell.rowSpan;\n rowSpanCells[column.index] = { cell: cell, left: left, row: row };\n }\n }\n }\n }\n}\nfunction applyColSpans(table) {\n var all = table.allRows();\n for (var rowIndex = 0; rowIndex < all.length; rowIndex++) {\n var row = all[rowIndex];\n var colSpanCell = null;\n var combinedColSpanWidth = 0;\n var colSpansLeft = 0;\n for (var columnIndex = 0; columnIndex < table.columns.length; columnIndex++) {\n var column = table.columns[columnIndex];\n // Width and colspan\n colSpansLeft -= 1;\n if (colSpansLeft > 1 && table.columns[columnIndex + 1]) {\n combinedColSpanWidth += column.width;\n delete row.cells[column.index];\n }\n else if (colSpanCell) {\n var cell = colSpanCell;\n delete row.cells[column.index];\n colSpanCell = null;\n cell.width = column.width + combinedColSpanWidth;\n }\n else {\n var cell = row.cells[column.index];\n if (!cell)\n continue;\n colSpansLeft = cell.colSpan;\n combinedColSpanWidth = 0;\n if (cell.colSpan > 1) {\n colSpanCell = cell;\n combinedColSpanWidth += column.width;\n continue;\n }\n cell.width = column.width + combinedColSpanWidth;\n }\n }\n }\n}\nfunction fitContent(table, doc) {\n var rowSpanHeight = { count: 0, height: 0 };\n for (var _i = 0, _a = table.allRows(); _i < _a.length; _i++) {\n var row = _a[_i];\n for (var _b = 0, _c = table.columns; _b < _c.length; _b++) {\n var column = _c[_b];\n var cell = row.cells[column.index];\n if (!cell)\n continue;\n doc.applyStyles(cell.styles, true);\n var textSpace = cell.width - cell.padding('horizontal');\n if (cell.styles.overflow === 'linebreak') {\n // Add one pt to textSpace to fix rounding error\n cell.text = doc.splitTextToSize(cell.text, textSpace + 1 / doc.scaleFactor(), { fontSize: cell.styles.fontSize });\n }\n else if (cell.styles.overflow === 'ellipsize') {\n cell.text = ellipsize(cell.text, textSpace, cell.styles, doc, '...');\n }\n else if (cell.styles.overflow === 'hidden') {\n cell.text = ellipsize(cell.text, textSpace, cell.styles, doc, '');\n }\n else if (typeof cell.styles.overflow === 'function') {\n var result = cell.styles.overflow(cell.text, textSpace);\n if (typeof result === 'string') {\n cell.text = [result];\n }\n else {\n cell.text = result;\n }\n }\n cell.contentHeight = cell.getContentHeight(doc.scaleFactor(), doc.getLineHeightFactor());\n var realContentHeight = cell.contentHeight / cell.rowSpan;\n if (cell.rowSpan > 1 &&\n rowSpanHeight.count * rowSpanHeight.height <\n realContentHeight * cell.rowSpan) {\n rowSpanHeight = { height: realContentHeight, count: cell.rowSpan };\n }\n else if (rowSpanHeight && rowSpanHeight.count > 0) {\n if (rowSpanHeight.height > realContentHeight) {\n realContentHeight = rowSpanHeight.height;\n }\n }\n if (realContentHeight > row.height) {\n row.height = realContentHeight;\n }\n }\n rowSpanHeight.count--;\n }\n}\nfunction ellipsize(text, width, styles, doc, overflow) {\n return text.map(function (str) { return ellipsizeStr(str, width, styles, doc, overflow); });\n}\nexports.ellipsize = ellipsize;\nfunction ellipsizeStr(text, width, styles, doc, overflow) {\n var precision = 10000 * doc.scaleFactor();\n width = Math.ceil(width * precision) / precision;\n if (width >= (0, common_1.getStringWidth)(text, styles, doc)) {\n return text;\n }\n while (width < (0, common_1.getStringWidth)(text + overflow, styles, doc)) {\n if (text.length <= 1) {\n break;\n }\n text = text.substring(0, text.length - 1);\n }\n return text.trim() + overflow;\n}\n\n\n/***/ }),\n\n/***/ 964:\n/***/ (function(module) {\n\nif(typeof __WEBPACK_EXTERNAL_MODULE__964__ === 'undefined') { var e = new Error(\"Cannot find module 'undefined'\"); e.code = 'MODULE_NOT_FOUND'; throw e; }\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__964__;\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.\n!function() {\nvar exports = __webpack_exports__;\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Cell = exports.Column = exports.Row = exports.Table = exports.CellHookData = exports.__drawTable = exports.__createTable = exports.applyPlugin = void 0;\nvar applyPlugin_1 = __webpack_require__(340);\nvar inputParser_1 = __webpack_require__(776);\nvar tableDrawer_1 = __webpack_require__(664);\nvar tableCalculator_1 = __webpack_require__(972);\nvar models_1 = __webpack_require__(260);\nObject.defineProperty(exports, \"Table\", ({ enumerable: true, get: function () { return models_1.Table; } }));\nvar HookData_1 = __webpack_require__(172);\nObject.defineProperty(exports, \"CellHookData\", ({ enumerable: true, get: function () { return HookData_1.CellHookData; } }));\nvar models_2 = __webpack_require__(260);\nObject.defineProperty(exports, \"Cell\", ({ enumerable: true, get: function () { return models_2.Cell; } }));\nObject.defineProperty(exports, \"Column\", ({ enumerable: true, get: function () { return models_2.Column; } }));\nObject.defineProperty(exports, \"Row\", ({ enumerable: true, get: function () { return models_2.Row; } }));\n// export { applyPlugin } didn't export applyPlugin\n// to index.d.ts for some reason\nfunction applyPlugin(jsPDF) {\n (0, applyPlugin_1.default)(jsPDF);\n}\nexports.applyPlugin = applyPlugin;\nfunction autoTable(d, options) {\n var input = (0, inputParser_1.parseInput)(d, options);\n var table = (0, tableCalculator_1.createTable)(d, input);\n (0, tableDrawer_1.drawTable)(d, table);\n}\n// Experimental export\nfunction __createTable(d, options) {\n var input = (0, inputParser_1.parseInput)(d, options);\n return (0, tableCalculator_1.createTable)(d, input);\n}\nexports.__createTable = __createTable;\nfunction __drawTable(d, table) {\n (0, tableDrawer_1.drawTable)(d, table);\n}\nexports.__drawTable = __drawTable;\ntry {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n var jsPDF = __webpack_require__(964);\n // Webpack imported jspdf instead of jsPDF for some reason\n // while it seemed to work everywhere else.\n if (jsPDF.jsPDF)\n jsPDF = jsPDF.jsPDF;\n applyPlugin(jsPDF);\n}\ncatch (error) {\n // Importing jspdf in nodejs environments does not work as of jspdf\n // 1.5.3 so we need to silence potential errors to support using for example\n // the nodejs jspdf dist files with the exported applyPlugin\n}\nexports[\"default\"] = autoTable;\n\n}();\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});","// DEFLATE is a complex format; to read this code, you should probably check the RFC first:\n// https://tools.ietf.org/html/rfc1951\n// You may also wish to take a look at the guide I made about this program:\n// https://gist.github.com/101arrowz/253f31eb5abc3d9275ab943003ffecad\n// Much of the following code is similar to that of UZIP.js:\n// https://github.com/photopea/UZIP.js\n// Many optimizations have been made, so the bundle size is ultimately smaller but performance is similar.\n// Sometimes 0 will appear where -1 would be more appropriate. This is because using a uint\n// is better for memory in most engines (I *think*).\nvar ch2 = {};\nvar wk = (function (c, id, msg, transfer, cb) {\n var u = ch2[id] || (ch2[id] = URL.createObjectURL(new Blob([c], { type: 'text/javascript' })));\n var w = new Worker(u);\n w.onerror = function (e) { return cb(e.error, null); };\n w.onmessage = function (e) { return cb(null, e.data); };\n w.postMessage(msg, transfer);\n return w;\n});\n\n// aliases for shorter compressed code (most minifers don't do this)\nvar u8 = Uint8Array, u16 = Uint16Array, u32 = Uint32Array;\n// fixed length extra bits\nvar fleb = new u8([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, /* unused */ 0, 0, /* impossible */ 0]);\n// fixed distance extra bits\n// see fleb note\nvar fdeb = new u8([0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, /* unused */ 0, 0]);\n// code length index map\nvar clim = new u8([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);\n// get base, reverse index map from extra bits\nvar freb = function (eb, start) {\n var b = new u16(31);\n for (var i = 0; i < 31; ++i) {\n b[i] = start += 1 << eb[i - 1];\n }\n // numbers here are at max 18 bits\n var r = new u32(b[30]);\n for (var i = 1; i < 30; ++i) {\n for (var j = b[i]; j < b[i + 1]; ++j) {\n r[j] = ((j - b[i]) << 5) | i;\n }\n }\n return [b, r];\n};\nvar _a = freb(fleb, 2), fl = _a[0], revfl = _a[1];\n// we can ignore the fact that the other numbers are wrong; they never happen anyway\nfl[28] = 258, revfl[258] = 28;\nvar _b = freb(fdeb, 0), fd = _b[0], revfd = _b[1];\n// map of value to reverse (assuming 16 bits)\nvar rev = new u16(32768);\nfor (var i = 0; i < 32768; ++i) {\n // reverse table algorithm from SO\n var x = ((i & 0xAAAA) >>> 1) | ((i & 0x5555) << 1);\n x = ((x & 0xCCCC) >>> 2) | ((x & 0x3333) << 2);\n x = ((x & 0xF0F0) >>> 4) | ((x & 0x0F0F) << 4);\n rev[i] = (((x & 0xFF00) >>> 8) | ((x & 0x00FF) << 8)) >>> 1;\n}\n// create huffman tree from u8 \"map\": index -> code length for code index\n// mb (max bits) must be at most 15\n// TODO: optimize/split up?\nvar hMap = (function (cd, mb, r) {\n var s = cd.length;\n // index\n var i = 0;\n // u16 \"map\": index -> # of codes with bit length = index\n var l = new u16(mb);\n // length of cd must be 288 (total # of codes)\n for (; i < s; ++i)\n ++l[cd[i] - 1];\n // u16 \"map\": index -> minimum code for bit length = index\n var le = new u16(mb);\n for (i = 0; i < mb; ++i) {\n le[i] = (le[i - 1] + l[i - 1]) << 1;\n }\n var co;\n if (r) {\n // u16 \"map\": index -> number of actual bits, symbol for code\n co = new u16(1 << mb);\n // bits to remove for reverser\n var rvb = 15 - mb;\n for (i = 0; i < s; ++i) {\n // ignore 0 lengths\n if (cd[i]) {\n // num encoding both symbol and bits read\n var sv = (i << 4) | cd[i];\n // free bits\n var r_1 = mb - cd[i];\n // start value\n var v = le[cd[i] - 1]++ << r_1;\n // m is end value\n for (var m = v | ((1 << r_1) - 1); v <= m; ++v) {\n // every 16 bit value starting with the code yields the same result\n co[rev[v] >>> rvb] = sv;\n }\n }\n }\n }\n else {\n co = new u16(s);\n for (i = 0; i < s; ++i)\n co[i] = rev[le[cd[i] - 1]++] >>> (15 - cd[i]);\n }\n return co;\n});\n// fixed length tree\nvar flt = new u8(288);\nfor (var i = 0; i < 144; ++i)\n flt[i] = 8;\nfor (var i = 144; i < 256; ++i)\n flt[i] = 9;\nfor (var i = 256; i < 280; ++i)\n flt[i] = 7;\nfor (var i = 280; i < 288; ++i)\n flt[i] = 8;\n// fixed distance tree\nvar fdt = new u8(32);\nfor (var i = 0; i < 32; ++i)\n fdt[i] = 5;\n// fixed length map\nvar flm = /*#__PURE__*/ hMap(flt, 9, 0), flrm = /*#__PURE__*/ hMap(flt, 9, 1);\n// fixed distance map\nvar fdm = /*#__PURE__*/ hMap(fdt, 5, 0), fdrm = /*#__PURE__*/ hMap(fdt, 5, 1);\n// find max of array\nvar max = function (a) {\n var m = a[0];\n for (var i = 1; i < a.length; ++i) {\n if (a[i] > m)\n m = a[i];\n }\n return m;\n};\n// read d, starting at bit p and mask with m\nvar bits = function (d, p, m) {\n var o = (p / 8) >> 0;\n return ((d[o] | (d[o + 1] << 8)) >>> (p & 7)) & m;\n};\n// read d, starting at bit p continuing for at least 16 bits\nvar bits16 = function (d, p) {\n var o = (p / 8) >> 0;\n return ((d[o] | (d[o + 1] << 8) | (d[o + 2] << 16)) >>> (p & 7));\n};\n// get end of byte\nvar shft = function (p) { return ((p / 8) >> 0) + (p & 7 && 1); };\n// typed array slice - allows garbage collector to free original reference,\n// while being more compatible than .slice\nvar slc = function (v, s, e) {\n if (s == null || s < 0)\n s = 0;\n if (e == null || e > v.length)\n e = v.length;\n // can't use .constructor in case user-supplied\n var n = new (v instanceof u16 ? u16 : v instanceof u32 ? u32 : u8)(e - s);\n n.set(v.subarray(s, e));\n return n;\n};\n// expands raw DEFLATE data\nvar inflt = function (dat, buf, st) {\n // source length\n var sl = dat.length;\n // have to estimate size\n var noBuf = !buf || st;\n // no state\n var noSt = !st || st.i;\n if (!st)\n st = {};\n // Assumes roughly 33% compression ratio average\n if (!buf)\n buf = new u8(sl * 3);\n // ensure buffer can fit at least l elements\n var cbuf = function (l) {\n var bl = buf.length;\n // need to increase size to fit\n if (l > bl) {\n // Double or set to necessary, whichever is greater\n var nbuf = new u8(Math.max(bl * 2, l));\n nbuf.set(buf);\n buf = nbuf;\n }\n };\n // last chunk bitpos bytes\n var final = st.f || 0, pos = st.p || 0, bt = st.b || 0, lm = st.l, dm = st.d, lbt = st.m, dbt = st.n;\n // total bits\n var tbts = sl * 8;\n do {\n if (!lm) {\n // BFINAL - this is only 1 when last chunk is next\n st.f = final = bits(dat, pos, 1);\n // type: 0 = no compression, 1 = fixed huffman, 2 = dynamic huffman\n var type = bits(dat, pos + 1, 3);\n pos += 3;\n if (!type) {\n // go to end of byte boundary\n var s = shft(pos) + 4, l = dat[s - 4] | (dat[s - 3] << 8), t = s + l;\n if (t > sl) {\n if (noSt)\n throw 'unexpected EOF';\n break;\n }\n // ensure size\n if (noBuf)\n cbuf(bt + l);\n // Copy over uncompressed data\n buf.set(dat.subarray(s, t), bt);\n // Get new bitpos, update byte count\n st.b = bt += l, st.p = pos = t * 8;\n continue;\n }\n else if (type == 1)\n lm = flrm, dm = fdrm, lbt = 9, dbt = 5;\n else if (type == 2) {\n // literal lengths\n var hLit = bits(dat, pos, 31) + 257, hcLen = bits(dat, pos + 10, 15) + 4;\n var tl = hLit + bits(dat, pos + 5, 31) + 1;\n pos += 14;\n // length+distance tree\n var ldt = new u8(tl);\n // code length tree\n var clt = new u8(19);\n for (var i = 0; i < hcLen; ++i) {\n // use index map to get real code\n clt[clim[i]] = bits(dat, pos + i * 3, 7);\n }\n pos += hcLen * 3;\n // code lengths bits\n var clb = max(clt), clbmsk = (1 << clb) - 1;\n if (!noSt && pos + tl * (clb + 7) > tbts)\n break;\n // code lengths map\n var clm = hMap(clt, clb, 1);\n for (var i = 0; i < tl;) {\n var r = clm[bits(dat, pos, clbmsk)];\n // bits read\n pos += r & 15;\n // symbol\n var s = r >>> 4;\n // code length to copy\n if (s < 16) {\n ldt[i++] = s;\n }\n else {\n // copy count\n var c = 0, n = 0;\n if (s == 16)\n n = 3 + bits(dat, pos, 3), pos += 2, c = ldt[i - 1];\n else if (s == 17)\n n = 3 + bits(dat, pos, 7), pos += 3;\n else if (s == 18)\n n = 11 + bits(dat, pos, 127), pos += 7;\n while (n--)\n ldt[i++] = c;\n }\n }\n // length tree distance tree\n var lt = ldt.subarray(0, hLit), dt = ldt.subarray(hLit);\n // max length bits\n lbt = max(lt);\n // max dist bits\n dbt = max(dt);\n lm = hMap(lt, lbt, 1);\n dm = hMap(dt, dbt, 1);\n }\n else\n throw 'invalid block type';\n if (pos > tbts)\n throw 'unexpected EOF';\n }\n // Make sure the buffer can hold this + the largest possible addition\n // Maximum chunk size (practically, theoretically infinite) is 2^17;\n if (noBuf)\n cbuf(bt + 131072);\n var lms = (1 << lbt) - 1, dms = (1 << dbt) - 1;\n var mxa = lbt + dbt + 18;\n while (noSt || pos + mxa < tbts) {\n // bits read, code\n var c = lm[bits16(dat, pos) & lms], sym = c >>> 4;\n pos += c & 15;\n if (pos > tbts)\n throw 'unexpected EOF';\n if (!c)\n throw 'invalid length/literal';\n if (sym < 256)\n buf[bt++] = sym;\n else if (sym == 256) {\n lm = null;\n break;\n }\n else {\n var add = sym - 254;\n // no extra bits needed if less\n if (sym > 264) {\n // index\n var i = sym - 257, b = fleb[i];\n add = bits(dat, pos, (1 << b) - 1) + fl[i];\n pos += b;\n }\n // dist\n var d = dm[bits16(dat, pos) & dms], dsym = d >>> 4;\n if (!d)\n throw 'invalid distance';\n pos += d & 15;\n var dt = fd[dsym];\n if (dsym > 3) {\n var b = fdeb[dsym];\n dt += bits16(dat, pos) & ((1 << b) - 1), pos += b;\n }\n if (pos > tbts)\n throw 'unexpected EOF';\n if (noBuf)\n cbuf(bt + 131072);\n var end = bt + add;\n for (; bt < end; bt += 4) {\n buf[bt] = buf[bt - dt];\n buf[bt + 1] = buf[bt + 1 - dt];\n buf[bt + 2] = buf[bt + 2 - dt];\n buf[bt + 3] = buf[bt + 3 - dt];\n }\n bt = end;\n }\n }\n st.l = lm, st.p = pos, st.b = bt;\n if (lm)\n final = 1, st.m = lbt, st.d = dm, st.n = dbt;\n } while (!final);\n return bt == buf.length ? buf : slc(buf, 0, bt);\n};\n// starting at p, write the minimum number of bits that can hold v to d\nvar wbits = function (d, p, v) {\n v <<= p & 7;\n var o = (p / 8) >> 0;\n d[o] |= v;\n d[o + 1] |= v >>> 8;\n};\n// starting at p, write the minimum number of bits (>8) that can hold v to d\nvar wbits16 = function (d, p, v) {\n v <<= p & 7;\n var o = (p / 8) >> 0;\n d[o] |= v;\n d[o + 1] |= v >>> 8;\n d[o + 2] |= v >>> 16;\n};\n// creates code lengths from a frequency table\nvar hTree = function (d, mb) {\n // Need extra info to make a tree\n var t = [];\n for (var i = 0; i < d.length; ++i) {\n if (d[i])\n t.push({ s: i, f: d[i] });\n }\n var s = t.length;\n var t2 = t.slice();\n if (!s)\n return [new u8(0), 0];\n if (s == 1) {\n var v = new u8(t[0].s + 1);\n v[t[0].s] = 1;\n return [v, 1];\n }\n t.sort(function (a, b) { return a.f - b.f; });\n // after i2 reaches last ind, will be stopped\n // freq must be greater than largest possible number of symbols\n t.push({ s: -1, f: 25001 });\n var l = t[0], r = t[1], i0 = 0, i1 = 1, i2 = 2;\n t[0] = { s: -1, f: l.f + r.f, l: l, r: r };\n // efficient algorithm from UZIP.js\n // i0 is lookbehind, i2 is lookahead - after processing two low-freq\n // symbols that combined have high freq, will start processing i2 (high-freq,\n // non-composite) symbols instead\n // see https://reddit.com/r/photopea/comments/ikekht/uzipjs_questions/\n while (i1 != s - 1) {\n l = t[t[i0].f < t[i2].f ? i0++ : i2++];\n r = t[i0 != i1 && t[i0].f < t[i2].f ? i0++ : i2++];\n t[i1++] = { s: -1, f: l.f + r.f, l: l, r: r };\n }\n var maxSym = t2[0].s;\n for (var i = 1; i < s; ++i) {\n if (t2[i].s > maxSym)\n maxSym = t2[i].s;\n }\n // code lengths\n var tr = new u16(maxSym + 1);\n // max bits in tree\n var mbt = ln(t[i1 - 1], tr, 0);\n if (mbt > mb) {\n // more algorithms from UZIP.js\n // TODO: find out how this code works (debt)\n // ind debt\n var i = 0, dt = 0;\n // left cost\n var lft = mbt - mb, cst = 1 << lft;\n t2.sort(function (a, b) { return tr[b.s] - tr[a.s] || a.f - b.f; });\n for (; i < s; ++i) {\n var i2_1 = t2[i].s;\n if (tr[i2_1] > mb) {\n dt += cst - (1 << (mbt - tr[i2_1]));\n tr[i2_1] = mb;\n }\n else\n break;\n }\n dt >>>= lft;\n while (dt > 0) {\n var i2_2 = t2[i].s;\n if (tr[i2_2] < mb)\n dt -= 1 << (mb - tr[i2_2]++ - 1);\n else\n ++i;\n }\n for (; i >= 0 && dt; --i) {\n var i2_3 = t2[i].s;\n if (tr[i2_3] == mb) {\n --tr[i2_3];\n ++dt;\n }\n }\n mbt = mb;\n }\n return [new u8(tr), mbt];\n};\n// get the max length and assign length codes\nvar ln = function (n, l, d) {\n return n.s == -1\n ? Math.max(ln(n.l, l, d + 1), ln(n.r, l, d + 1))\n : (l[n.s] = d);\n};\n// length codes generation\nvar lc = function (c) {\n var s = c.length;\n // Note that the semicolon was intentional\n while (s && !c[--s])\n ;\n var cl = new u16(++s);\n // ind num streak\n var cli = 0, cln = c[0], cls = 1;\n var w = function (v) { cl[cli++] = v; };\n for (var i = 1; i <= s; ++i) {\n if (c[i] == cln && i != s)\n ++cls;\n else {\n if (!cln && cls > 2) {\n for (; cls > 138; cls -= 138)\n w(32754);\n if (cls > 2) {\n w(cls > 10 ? ((cls - 11) << 5) | 28690 : ((cls - 3) << 5) | 12305);\n cls = 0;\n }\n }\n else if (cls > 3) {\n w(cln), --cls;\n for (; cls > 6; cls -= 6)\n w(8304);\n if (cls > 2)\n w(((cls - 3) << 5) | 8208), cls = 0;\n }\n while (cls--)\n w(cln);\n cls = 1;\n cln = c[i];\n }\n }\n return [cl.subarray(0, cli), s];\n};\n// calculate the length of output from tree, code lengths\nvar clen = function (cf, cl) {\n var l = 0;\n for (var i = 0; i < cl.length; ++i)\n l += cf[i] * cl[i];\n return l;\n};\n// writes a fixed block\n// returns the new bit pos\nvar wfblk = function (out, pos, dat) {\n // no need to write 00 as type: TypedArray defaults to 0\n var s = dat.length;\n var o = shft(pos + 2);\n out[o] = s & 255;\n out[o + 1] = s >>> 8;\n out[o + 2] = out[o] ^ 255;\n out[o + 3] = out[o + 1] ^ 255;\n for (var i = 0; i < s; ++i)\n out[o + i + 4] = dat[i];\n return (o + 4 + s) * 8;\n};\n// writes a block\nvar wblk = function (dat, out, final, syms, lf, df, eb, li, bs, bl, p) {\n wbits(out, p++, final);\n ++lf[256];\n var _a = hTree(lf, 15), dlt = _a[0], mlb = _a[1];\n var _b = hTree(df, 15), ddt = _b[0], mdb = _b[1];\n var _c = lc(dlt), lclt = _c[0], nlc = _c[1];\n var _d = lc(ddt), lcdt = _d[0], ndc = _d[1];\n var lcfreq = new u16(19);\n for (var i = 0; i < lclt.length; ++i)\n lcfreq[lclt[i] & 31]++;\n for (var i = 0; i < lcdt.length; ++i)\n lcfreq[lcdt[i] & 31]++;\n var _e = hTree(lcfreq, 7), lct = _e[0], mlcb = _e[1];\n var nlcc = 19;\n for (; nlcc > 4 && !lct[clim[nlcc - 1]]; --nlcc)\n ;\n var flen = (bl + 5) << 3;\n var ftlen = clen(lf, flt) + clen(df, fdt) + eb;\n var dtlen = clen(lf, dlt) + clen(df, ddt) + eb + 14 + 3 * nlcc + clen(lcfreq, lct) + (2 * lcfreq[16] + 3 * lcfreq[17] + 7 * lcfreq[18]);\n if (flen <= ftlen && flen <= dtlen)\n return wfblk(out, p, dat.subarray(bs, bs + bl));\n var lm, ll, dm, dl;\n wbits(out, p, 1 + (dtlen < ftlen)), p += 2;\n if (dtlen < ftlen) {\n lm = hMap(dlt, mlb, 0), ll = dlt, dm = hMap(ddt, mdb, 0), dl = ddt;\n var llm = hMap(lct, mlcb, 0);\n wbits(out, p, nlc - 257);\n wbits(out, p + 5, ndc - 1);\n wbits(out, p + 10, nlcc - 4);\n p += 14;\n for (var i = 0; i < nlcc; ++i)\n wbits(out, p + 3 * i, lct[clim[i]]);\n p += 3 * nlcc;\n var lcts = [lclt, lcdt];\n for (var it = 0; it < 2; ++it) {\n var clct = lcts[it];\n for (var i = 0; i < clct.length; ++i) {\n var len = clct[i] & 31;\n wbits(out, p, llm[len]), p += lct[len];\n if (len > 15)\n wbits(out, p, (clct[i] >>> 5) & 127), p += clct[i] >>> 12;\n }\n }\n }\n else {\n lm = flm, ll = flt, dm = fdm, dl = fdt;\n }\n for (var i = 0; i < li; ++i) {\n if (syms[i] > 255) {\n var len = (syms[i] >>> 18) & 31;\n wbits16(out, p, lm[len + 257]), p += ll[len + 257];\n if (len > 7)\n wbits(out, p, (syms[i] >>> 23) & 31), p += fleb[len];\n var dst = syms[i] & 31;\n wbits16(out, p, dm[dst]), p += dl[dst];\n if (dst > 3)\n wbits16(out, p, (syms[i] >>> 5) & 8191), p += fdeb[dst];\n }\n else {\n wbits16(out, p, lm[syms[i]]), p += ll[syms[i]];\n }\n }\n wbits16(out, p, lm[256]);\n return p + ll[256];\n};\n// deflate options (nice << 13) | chain\nvar deo = /*#__PURE__*/ new u32([65540, 131080, 131088, 131104, 262176, 1048704, 1048832, 2114560, 2117632]);\n// empty\nvar et = /*#__PURE__*/ new u8(0);\n// compresses data into a raw DEFLATE buffer\nvar dflt = function (dat, lvl, plvl, pre, post, lst) {\n var s = dat.length;\n var o = new u8(pre + s + 5 * (1 + Math.floor(s / 7000)) + post);\n // writing to this writes to the output buffer\n var w = o.subarray(pre, o.length - post);\n var pos = 0;\n if (!lvl || s < 8) {\n for (var i = 0; i <= s; i += 65535) {\n // end\n var e = i + 65535;\n if (e < s) {\n // write full block\n pos = wfblk(w, pos, dat.subarray(i, e));\n }\n else {\n // write final block\n w[i] = lst;\n pos = wfblk(w, pos, dat.subarray(i, s));\n }\n }\n }\n else {\n var opt = deo[lvl - 1];\n var n = opt >>> 13, c = opt & 8191;\n var msk_1 = (1 << plvl) - 1;\n // prev 2-byte val map curr 2-byte val map\n var prev = new u16(32768), head = new u16(msk_1 + 1);\n var bs1_1 = Math.ceil(plvl / 3), bs2_1 = 2 * bs1_1;\n var hsh = function (i) { return (dat[i] ^ (dat[i + 1] << bs1_1) ^ (dat[i + 2] << bs2_1)) & msk_1; };\n // 24576 is an arbitrary number of maximum symbols per block\n // 424 buffer for last block\n var syms = new u32(25000);\n // length/literal freq distance freq\n var lf = new u16(288), df = new u16(32);\n // l/lcnt exbits index l/lind waitdx bitpos\n var lc_1 = 0, eb = 0, i = 0, li = 0, wi = 0, bs = 0;\n for (; i < s; ++i) {\n // hash value\n var hv = hsh(i);\n // index mod 32768\n var imod = i & 32767;\n // previous index with this value\n var pimod = head[hv];\n prev[imod] = pimod;\n head[hv] = imod;\n // We always should modify head and prev, but only add symbols if\n // this data is not yet processed (\"wait\" for wait index)\n if (wi <= i) {\n // bytes remaining\n var rem = s - i;\n if ((lc_1 > 7000 || li > 24576) && rem > 423) {\n pos = wblk(dat, w, 0, syms, lf, df, eb, li, bs, i - bs, pos);\n li = lc_1 = eb = 0, bs = i;\n for (var j = 0; j < 286; ++j)\n lf[j] = 0;\n for (var j = 0; j < 30; ++j)\n df[j] = 0;\n }\n // len dist chain\n var l = 2, d = 0, ch_1 = c, dif = (imod - pimod) & 32767;\n if (rem > 2 && hv == hsh(i - dif)) {\n var maxn = Math.min(n, rem) - 1;\n var maxd = Math.min(32767, i);\n // max possible length\n // not capped at dif because decompressors implement \"rolling\" index population\n var ml = Math.min(258, rem);\n while (dif <= maxd && --ch_1 && imod != pimod) {\n if (dat[i + l] == dat[i + l - dif]) {\n var nl = 0;\n for (; nl < ml && dat[i + nl] == dat[i + nl - dif]; ++nl)\n ;\n if (nl > l) {\n l = nl, d = dif;\n // break out early when we reach \"nice\" (we are satisfied enough)\n if (nl > maxn)\n break;\n // now, find the rarest 2-byte sequence within this\n // length of literals and search for that instead.\n // Much faster than just using the start\n var mmd = Math.min(dif, nl - 2);\n var md = 0;\n for (var j = 0; j < mmd; ++j) {\n var ti = (i - dif + j + 32768) & 32767;\n var pti = prev[ti];\n var cd = (ti - pti + 32768) & 32767;\n if (cd > md)\n md = cd, pimod = ti;\n }\n }\n }\n // check the previous match\n imod = pimod, pimod = prev[imod];\n dif += (imod - pimod + 32768) & 32767;\n }\n }\n // d will be nonzero only when a match was found\n if (d) {\n // store both dist and len data in one Uint32\n // Make sure this is recognized as a len/dist with 28th bit (2^28)\n syms[li++] = 268435456 | (revfl[l] << 18) | revfd[d];\n var lin = revfl[l] & 31, din = revfd[d] & 31;\n eb += fleb[lin] + fdeb[din];\n ++lf[257 + lin];\n ++df[din];\n wi = i + l;\n ++lc_1;\n }\n else {\n syms[li++] = dat[i];\n ++lf[dat[i]];\n }\n }\n }\n pos = wblk(dat, w, lst, syms, lf, df, eb, li, bs, i - bs, pos);\n // this is the easiest way to avoid needing to maintain state\n if (!lst)\n pos = wfblk(w, pos, et);\n }\n return slc(o, 0, pre + shft(pos) + post);\n};\n// CRC32 table\nvar crct = /*#__PURE__*/ (function () {\n var t = new u32(256);\n for (var i = 0; i < 256; ++i) {\n var c = i, k = 9;\n while (--k)\n c = ((c & 1) && 0xEDB88320) ^ (c >>> 1);\n t[i] = c;\n }\n return t;\n})();\n// CRC32\nvar crc = function () {\n var c = 0xFFFFFFFF;\n return {\n p: function (d) {\n // closures have awful performance\n var cr = c;\n for (var i = 0; i < d.length; ++i)\n cr = crct[(cr & 255) ^ d[i]] ^ (cr >>> 8);\n c = cr;\n },\n d: function () { return c ^ 0xFFFFFFFF; }\n };\n};\n// Alder32\nvar adler = function () {\n var a = 1, b = 0;\n return {\n p: function (d) {\n // closures have awful performance\n var n = a, m = b;\n var l = d.length;\n for (var i = 0; i != l;) {\n var e = Math.min(i + 5552, l);\n for (; i < e; ++i)\n n += d[i], m += n;\n n %= 65521, m %= 65521;\n }\n a = n, b = m;\n },\n d: function () { return ((a >>> 8) << 16 | (b & 255) << 8 | (b >>> 8)) + ((a & 255) << 23) * 2; }\n };\n};\n;\n// deflate with opts\nvar dopt = function (dat, opt, pre, post, st) {\n return dflt(dat, opt.level == null ? 6 : opt.level, opt.mem == null ? Math.ceil(Math.max(8, Math.min(13, Math.log(dat.length))) * 1.5) : (12 + opt.mem), pre, post, !st);\n};\n// Walmart object spread\nvar mrg = function (a, b) {\n var o = {};\n for (var k in a)\n o[k] = a[k];\n for (var k in b)\n o[k] = b[k];\n return o;\n};\n// worker clone\n// This is possibly the craziest part of the entire codebase, despite how simple it may seem.\n// The only parameter to this function is a closure that returns an array of variables outside of the function scope.\n// We're going to try to figure out the variable names used in the closure as strings because that is crucial for workerization.\n// We will return an object mapping of true variable name to value (basically, the current scope as a JS object).\n// The reason we can't just use the original variable names is minifiers mangling the toplevel scope.\n// This took me three weeks to figure out how to do.\nvar wcln = function (fn, fnStr, td) {\n var dt = fn();\n var st = fn.toString();\n var ks = st.slice(st.indexOf('[') + 1, st.lastIndexOf(']')).replace(/ /g, '').split(',');\n for (var i = 0; i < dt.length; ++i) {\n var v = dt[i], k = ks[i];\n if (typeof v == 'function') {\n fnStr += ';' + k + '=';\n var st_1 = v.toString();\n if (v.prototype) {\n // for global objects\n if (st_1.indexOf('[native code]') != -1) {\n var spInd = st_1.indexOf(' ', 8) + 1;\n fnStr += st_1.slice(spInd, st_1.indexOf('(', spInd));\n }\n else {\n fnStr += st_1;\n for (var t in v.prototype)\n fnStr += ';' + k + '.prototype.' + t + '=' + v.prototype[t].toString();\n }\n }\n else\n fnStr += st_1;\n }\n else\n td[k] = v;\n }\n return [fnStr, td];\n};\nvar ch = [];\n// clone bufs\nvar cbfs = function (v) {\n var tl = [];\n for (var k in v) {\n if (v[k] instanceof u8 || v[k] instanceof u16 || v[k] instanceof u32)\n tl.push((v[k] = new v[k].constructor(v[k])).buffer);\n }\n return tl;\n};\n// use a worker to execute code\nvar wrkr = function (fns, init, id, cb) {\n var _a;\n if (!ch[id]) {\n var fnStr = '', td_1 = {}, m = fns.length - 1;\n for (var i = 0; i < m; ++i)\n _a = wcln(fns[i], fnStr, td_1), fnStr = _a[0], td_1 = _a[1];\n ch[id] = wcln(fns[m], fnStr, td_1);\n }\n var td = mrg({}, ch[id][1]);\n return wk(ch[id][0] + ';onmessage=function(e){for(var k in e.data)self[k]=e.data[k];onmessage=' + init.toString() + '}', id, td, cbfs(td), cb);\n};\n// base async inflate fn\nvar bInflt = function () { return [u8, u16, u32, fleb, fdeb, clim, fl, fd, flrm, fdrm, rev, hMap, max, bits, bits16, shft, slc, inflt, inflateSync, pbf, gu8]; };\nvar bDflt = function () { return [u8, u16, u32, fleb, fdeb, clim, revfl, revfd, flm, flt, fdm, fdt, rev, deo, et, hMap, wbits, wbits16, hTree, ln, lc, clen, wfblk, wblk, shft, slc, dflt, dopt, deflateSync, pbf]; };\n// gzip extra\nvar gze = function () { return [gzh, gzhl, wbytes, crc, crct]; };\n// gunzip extra\nvar guze = function () { return [gzs, gzl]; };\n// zlib extra\nvar zle = function () { return [zlh, wbytes, adler]; };\n// unzlib extra\nvar zule = function () { return [zlv]; };\n// post buf\nvar pbf = function (msg) { return postMessage(msg, [msg.buffer]); };\n// get u8\nvar gu8 = function (o) { return o && o.size && new u8(o.size); };\n// async helper\nvar cbify = function (dat, opts, fns, init, id, cb) {\n var w = wrkr(fns, init, id, function (err, dat) {\n w.terminate();\n cb(err, dat);\n });\n if (!opts.consume)\n dat = new u8(dat);\n w.postMessage([dat, opts], [dat.buffer]);\n return function () { w.terminate(); };\n};\n// auto stream\nvar astrm = function (strm) {\n strm.ondata = function (dat, final) { return postMessage([dat, final], [dat.buffer]); };\n return function (ev) { return strm.push(ev.data[0], ev.data[1]); };\n};\n// async stream attach\nvar astrmify = function (fns, strm, opts, init, id) {\n var t;\n var w = wrkr(fns, init, id, function (err, dat) {\n if (err)\n w.terminate(), strm.ondata.call(strm, err);\n else {\n if (dat[1])\n w.terminate();\n strm.ondata.call(strm, err, dat[0], dat[1]);\n }\n });\n w.postMessage(opts);\n strm.push = function (d, f) {\n if (t)\n throw 'stream finished';\n if (!strm.ondata)\n throw 'no stream handler';\n w.postMessage([d, t = f], [d.buffer]);\n };\n strm.terminate = function () { w.terminate(); };\n};\n// read 2 bytes\nvar b2 = function (d, b) { return d[b] | (d[b + 1] << 8); };\n// read 4 bytes\nvar b4 = function (d, b) { return (d[b] | (d[b + 1] << 8) | (d[b + 2] << 16)) + (d[b + 3] << 23) * 2; };\n// write bytes\nvar wbytes = function (d, b, v) {\n for (; v; ++b)\n d[b] = v, v >>>= 8;\n};\n// gzip header\nvar gzh = function (c, o) {\n var fn = o.filename;\n c[0] = 31, c[1] = 139, c[2] = 8, c[8] = o.level < 2 ? 4 : o.level == 9 ? 2 : 0, c[9] = 3; // assume Unix\n if (o.mtime != 0)\n wbytes(c, 4, Math.floor(new Date(o.mtime || Date.now()) / 1000));\n if (fn) {\n c[3] = 8;\n for (var i = 0; i <= fn.length; ++i)\n c[i + 10] = fn.charCodeAt(i);\n }\n};\n// gzip footer: -8 to -4 = CRC, -4 to -0 is length\n// gzip start\nvar gzs = function (d) {\n if (d[0] != 31 || d[1] != 139 || d[2] != 8)\n throw 'invalid gzip data';\n var flg = d[3];\n var st = 10;\n if (flg & 4)\n st += d[10] | (d[11] << 8) + 2;\n for (var zs = (flg >> 3 & 1) + (flg >> 4 & 1); zs > 0; zs -= !d[st++])\n ;\n return st + (flg & 2);\n};\n// gzip length\nvar gzl = function (d) {\n var l = d.length;\n return (d[l - 4] | d[l - 3] << 8 | d[l - 2] << 16) + (2 * (d[l - 1] << 23));\n};\n// gzip header length\nvar gzhl = function (o) { return 10 + ((o.filename && (o.filename.length + 1)) || 0); };\n// zlib header\nvar zlh = function (c, o) {\n var lv = o.level, fl = lv == 0 ? 0 : lv < 6 ? 1 : lv == 9 ? 3 : 2;\n c[0] = 120, c[1] = (fl << 6) | (fl ? (32 - 2 * fl) : 1);\n};\n// zlib valid\nvar zlv = function (d) {\n if ((d[0] & 15) != 8 || (d[0] >>> 4) > 7 || ((d[0] << 8 | d[1]) % 31))\n throw 'invalid zlib data';\n if (d[1] & 32)\n throw 'invalid zlib data: preset dictionaries not supported';\n};\nfunction AsyncCmpStrm(opts, cb) {\n if (!cb && typeof opts == 'function')\n cb = opts, opts = {};\n this.ondata = cb;\n return opts;\n}\n// zlib footer: -4 to -0 is Adler32\n/**\n * Streaming DEFLATE compression\n */\nvar Deflate = /*#__PURE__*/ (function () {\n function Deflate(opts, cb) {\n if (!cb && typeof opts == 'function')\n cb = opts, opts = {};\n this.ondata = cb;\n this.o = opts || {};\n }\n Deflate.prototype.p = function (c, f) {\n this.ondata(dopt(c, this.o, 0, 0, !f), f);\n };\n /**\n * Pushes a chunk to be deflated\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Deflate.prototype.push = function (chunk, final) {\n if (this.d)\n throw 'stream finished';\n if (!this.ondata)\n throw 'no stream handler';\n this.d = final;\n this.p(chunk, final || false);\n };\n return Deflate;\n}());\nexport { Deflate };\n/**\n * Asynchronous streaming DEFLATE compression\n */\nvar AsyncDeflate = /*#__PURE__*/ (function () {\n function AsyncDeflate(opts, cb) {\n astrmify([\n bDflt,\n function () { return [astrm, Deflate]; }\n ], this, AsyncCmpStrm.call(this, opts, cb), function (ev) {\n var strm = new Deflate(ev.data);\n onmessage = astrm(strm);\n }, 6);\n }\n return AsyncDeflate;\n}());\nexport { AsyncDeflate };\nexport function deflate(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n return cbify(data, opts, [\n bDflt,\n ], function (ev) { return pbf(deflateSync(ev.data[0], ev.data[1])); }, 0, cb);\n}\n/**\n * Compresses data with DEFLATE without any wrapper\n * @param data The data to compress\n * @param opts The compression options\n * @returns The deflated version of the data\n */\nexport function deflateSync(data, opts) {\n if (opts === void 0) { opts = {}; }\n return dopt(data, opts, 0, 0);\n}\n/**\n * Streaming DEFLATE decompression\n */\nvar Inflate = /*#__PURE__*/ (function () {\n /**\n * Creates an inflation stream\n * @param cb The callback to call whenever data is inflated\n */\n function Inflate(cb) {\n this.s = {};\n this.p = new u8(0);\n this.ondata = cb;\n }\n Inflate.prototype.e = function (c) {\n if (this.d)\n throw 'stream finished';\n if (!this.ondata)\n throw 'no stream handler';\n var l = this.p.length;\n var n = new u8(l + c.length);\n n.set(this.p), n.set(c, l), this.p = n;\n };\n Inflate.prototype.c = function (final) {\n this.d = this.s.i = final || false;\n var bts = this.s.b;\n var dt = inflt(this.p, this.o, this.s);\n this.ondata(slc(dt, bts, this.s.b), this.d);\n this.o = slc(dt, this.s.b - 32768), this.s.b = this.o.length;\n this.p = slc(this.p, (this.s.p / 8) >> 0), this.s.p &= 7;\n };\n /**\n * Pushes a chunk to be inflated\n * @param chunk The chunk to push\n * @param final Whether this is the final chunk\n */\n Inflate.prototype.push = function (chunk, final) {\n this.e(chunk), this.c(final);\n };\n return Inflate;\n}());\nexport { Inflate };\n/**\n * Asynchronous streaming DEFLATE decompression\n */\nvar AsyncInflate = /*#__PURE__*/ (function () {\n /**\n * Creates an asynchronous inflation stream\n * @param cb The callback to call whenever data is deflated\n */\n function AsyncInflate(cb) {\n this.ondata = cb;\n astrmify([\n bInflt,\n function () { return [astrm, Inflate]; }\n ], this, 0, function () {\n var strm = new Inflate();\n onmessage = astrm(strm);\n }, 7);\n }\n return AsyncInflate;\n}());\nexport { AsyncInflate };\nexport function inflate(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n return cbify(data, opts, [\n bInflt\n ], function (ev) { return pbf(inflateSync(ev.data[0], gu8(ev.data[1]))); }, 1, cb);\n}\n/**\n * Expands DEFLATE data with no wrapper\n * @param data The data to decompress\n * @param out Where to write the data. Saves memory if you know the decompressed size and provide an output buffer of that length.\n * @returns The decompressed version of the data\n */\nexport function inflateSync(data, out) {\n return inflt(data, out);\n}\n// before you yell at me for not just using extends, my reason is that TS inheritance is hard to workerize.\n/**\n * Streaming GZIP compression\n */\nvar Gzip = /*#__PURE__*/ (function () {\n function Gzip(opts, cb) {\n this.c = crc();\n this.l = 0;\n this.v = 1;\n Deflate.call(this, opts, cb);\n }\n /**\n * Pushes a chunk to be GZIPped\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Gzip.prototype.push = function (chunk, final) {\n Deflate.prototype.push.call(this, chunk, final);\n };\n Gzip.prototype.p = function (c, f) {\n this.c.p(c);\n this.l += c.length;\n var raw = dopt(c, this.o, this.v && gzhl(this.o), f && 8, !f);\n if (this.v)\n gzh(raw, this.o), this.v = 0;\n if (f)\n wbytes(raw, raw.length - 8, this.c.d()), wbytes(raw, raw.length - 4, this.l);\n this.ondata(raw, f);\n };\n return Gzip;\n}());\nexport { Gzip };\n/**\n * Asynchronous streaming GZIP compression\n */\nvar AsyncGzip = /*#__PURE__*/ (function () {\n function AsyncGzip(opts, cb) {\n astrmify([\n bDflt,\n gze,\n function () { return [astrm, Deflate, Gzip]; }\n ], this, AsyncCmpStrm.call(this, opts, cb), function (ev) {\n var strm = new Gzip(ev.data);\n onmessage = astrm(strm);\n }, 8);\n }\n return AsyncGzip;\n}());\nexport { AsyncGzip };\nexport function gzip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n return cbify(data, opts, [\n bDflt,\n gze,\n function () { return [gzipSync]; }\n ], function (ev) { return pbf(gzipSync(ev.data[0], ev.data[1])); }, 2, cb);\n}\n/**\n * Compresses data with GZIP\n * @param data The data to compress\n * @param opts The compression options\n * @returns The gzipped version of the data\n */\nexport function gzipSync(data, opts) {\n if (opts === void 0) { opts = {}; }\n var c = crc(), l = data.length;\n c.p(data);\n var d = dopt(data, opts, gzhl(opts), 8), s = d.length;\n return gzh(d, opts), wbytes(d, s - 8, c.d()), wbytes(d, s - 4, l), d;\n}\n/**\n * Streaming GZIP decompression\n */\nvar Gunzip = /*#__PURE__*/ (function () {\n /**\n * Creates a GUNZIP stream\n * @param cb The callback to call whenever data is inflated\n */\n function Gunzip(cb) {\n this.v = 1;\n Inflate.call(this, cb);\n }\n /**\n * Pushes a chunk to be GUNZIPped\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Gunzip.prototype.push = function (chunk, final) {\n Inflate.prototype.e.call(this, chunk);\n if (this.v) {\n var s = gzs(this.p);\n if (s >= this.p.length && !final)\n return;\n this.p = this.p.subarray(s), this.v = 0;\n }\n if (final) {\n if (this.p.length < 8)\n throw 'invalid gzip stream';\n this.p = this.p.subarray(0, -8);\n }\n // necessary to prevent TS from using the closure value\n // This allows for workerization to function correctly\n Inflate.prototype.c.call(this, final);\n };\n return Gunzip;\n}());\nexport { Gunzip };\n/**\n * Asynchronous streaming GZIP decompression\n */\nvar AsyncGunzip = /*#__PURE__*/ (function () {\n /**\n * Creates an asynchronous GUNZIP stream\n * @param cb The callback to call whenever data is deflated\n */\n function AsyncGunzip(cb) {\n this.ondata = cb;\n astrmify([\n bInflt,\n guze,\n function () { return [astrm, Inflate, Gunzip]; }\n ], this, 0, function () {\n var strm = new Gunzip();\n onmessage = astrm(strm);\n }, 9);\n }\n return AsyncGunzip;\n}());\nexport { AsyncGunzip };\nexport function gunzip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n return cbify(data, opts, [\n bInflt,\n guze,\n function () { return [gunzipSync]; }\n ], function (ev) { return pbf(gunzipSync(ev.data[0])); }, 3, cb);\n}\n/**\n * Expands GZIP data\n * @param data The data to decompress\n * @param out Where to write the data. GZIP already encodes the output size, so providing this doesn't save memory.\n * @returns The decompressed version of the data\n */\nexport function gunzipSync(data, out) {\n return inflt(data.subarray(gzs(data), -8), out || new u8(gzl(data)));\n}\n/**\n * Streaming Zlib compression\n */\nvar Zlib = /*#__PURE__*/ (function () {\n function Zlib(opts, cb) {\n this.c = adler();\n this.v = 1;\n Deflate.call(this, opts, cb);\n }\n /**\n * Pushes a chunk to be zlibbed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Zlib.prototype.push = function (chunk, final) {\n Deflate.prototype.push.call(this, chunk, final);\n };\n Zlib.prototype.p = function (c, f) {\n this.c.p(c);\n var raw = dopt(c, this.o, this.v && 2, f && 4, !f);\n if (this.v)\n zlh(raw, this.o), this.v = 0;\n if (f)\n wbytes(raw, raw.length - 4, this.c.d());\n this.ondata(raw, f);\n };\n return Zlib;\n}());\nexport { Zlib };\n/**\n * Asynchronous streaming Zlib compression\n */\nvar AsyncZlib = /*#__PURE__*/ (function () {\n function AsyncZlib(opts, cb) {\n astrmify([\n bDflt,\n zle,\n function () { return [astrm, Deflate, Zlib]; }\n ], this, AsyncCmpStrm.call(this, opts, cb), function (ev) {\n var strm = new Zlib(ev.data);\n onmessage = astrm(strm);\n }, 10);\n }\n return AsyncZlib;\n}());\nexport { AsyncZlib };\nexport function zlib(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n return cbify(data, opts, [\n bDflt,\n zle,\n function () { return [zlibSync]; }\n ], function (ev) { return pbf(zlibSync(ev.data[0], ev.data[1])); }, 4, cb);\n}\n/**\n * Compress data with Zlib\n * @param data The data to compress\n * @param opts The compression options\n * @returns The zlib-compressed version of the data\n */\nexport function zlibSync(data, opts) {\n if (opts === void 0) { opts = {}; }\n var a = adler();\n a.p(data);\n var d = dopt(data, opts, 2, 4);\n return zlh(d, opts), wbytes(d, d.length - 4, a.d()), d;\n}\n/**\n * Streaming Zlib decompression\n */\nvar Unzlib = /*#__PURE__*/ (function () {\n /**\n * Creates a Zlib decompression stream\n * @param cb The callback to call whenever data is inflated\n */\n function Unzlib(cb) {\n this.v = 1;\n Inflate.call(this, cb);\n }\n /**\n * Pushes a chunk to be unzlibbed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Unzlib.prototype.push = function (chunk, final) {\n Inflate.prototype.e.call(this, chunk);\n if (this.v) {\n if (this.p.length < 2 && !final)\n return;\n this.p = this.p.subarray(2), this.v = 0;\n }\n if (final) {\n if (this.p.length < 4)\n throw 'invalid zlib stream';\n this.p = this.p.subarray(0, -4);\n }\n // necessary to prevent TS from using the closure value\n // This allows for workerization to function correctly\n Inflate.prototype.c.call(this, final);\n };\n return Unzlib;\n}());\nexport { Unzlib };\n/**\n * Asynchronous streaming Zlib decompression\n */\nvar AsyncUnzlib = /*#__PURE__*/ (function () {\n /**\n * Creates an asynchronous Zlib decompression stream\n * @param cb The callback to call whenever data is deflated\n */\n function AsyncUnzlib(cb) {\n this.ondata = cb;\n astrmify([\n bInflt,\n zule,\n function () { return [astrm, Inflate, Unzlib]; }\n ], this, 0, function () {\n var strm = new Unzlib();\n onmessage = astrm(strm);\n }, 11);\n }\n return AsyncUnzlib;\n}());\nexport { AsyncUnzlib };\nexport function unzlib(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n return cbify(data, opts, [\n bInflt,\n zule,\n function () { return [unzlibSync]; }\n ], function (ev) { return pbf(unzlibSync(ev.data[0], gu8(ev.data[1]))); }, 5, cb);\n}\n/**\n * Expands Zlib data\n * @param data The data to decompress\n * @param out Where to write the data. Saves memory if you know the decompressed size and provide an output buffer of that length.\n * @returns The decompressed version of the data\n */\nexport function unzlibSync(data, out) {\n return inflt((zlv(data), data.subarray(2, -4)), out);\n}\n// Default algorithm for compression (used because having a known output size allows faster decompression)\nexport { gzip as compress, AsyncGzip as AsyncCompress };\n// Default algorithm for compression (used because having a known output size allows faster decompression)\nexport { gzipSync as compressSync, Gzip as Compress };\n/**\n * Streaming GZIP, Zlib, or raw DEFLATE decompression\n */\nvar Decompress = /*#__PURE__*/ (function () {\n /**\n * Creates a decompression stream\n * @param cb The callback to call whenever data is decompressed\n */\n function Decompress(cb) {\n this.G = Gunzip;\n this.I = Inflate;\n this.Z = Unzlib;\n this.ondata = cb;\n }\n /**\n * Pushes a chunk to be decompressed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Decompress.prototype.push = function (chunk, final) {\n if (!this.ondata)\n throw 'no stream handler';\n if (!this.s) {\n if (this.p && this.p.length) {\n var n = new u8(this.p.length + chunk.length);\n n.set(this.p), n.set(chunk, this.p.length);\n }\n else\n this.p = chunk;\n if (this.p.length > 2) {\n var _this_1 = this;\n var cb = function () { _this_1.ondata.apply(_this_1, arguments); };\n this.s = (this.p[0] == 31 && this.p[1] == 139 && this.p[2] == 8)\n ? new this.G(cb)\n : ((this.p[0] & 15) != 8 || (this.p[0] >> 4) > 7 || ((this.p[0] << 8 | this.p[1]) % 31))\n ? new this.I(cb)\n : new this.Z(cb);\n this.s.push(this.p, final);\n this.p = null;\n }\n }\n else\n this.s.push(chunk, final);\n };\n return Decompress;\n}());\nexport { Decompress };\n/**\n * Asynchronous streaming GZIP, Zlib, or raw DEFLATE decompression\n */\nvar AsyncDecompress = /*#__PURE__*/ (function () {\n /**\n * Creates an asynchronous decompression stream\n * @param cb The callback to call whenever data is decompressed\n */\n function AsyncDecompress(cb) {\n this.G = AsyncGunzip;\n this.I = AsyncInflate;\n this.Z = AsyncUnzlib;\n this.ondata = cb;\n }\n /**\n * Pushes a chunk to be decompressed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n AsyncDecompress.prototype.push = function (chunk, final) {\n Decompress.prototype.push.call(this, chunk, final);\n };\n return AsyncDecompress;\n}());\nexport { AsyncDecompress };\nexport function decompress(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n return (data[0] == 31 && data[1] == 139 && data[2] == 8)\n ? gunzip(data, opts, cb)\n : ((data[0] & 15) != 8 || (data[0] >> 4) > 7 || ((data[0] << 8 | data[1]) % 31))\n ? inflate(data, opts, cb)\n : unzlib(data, opts, cb);\n}\n/**\n * Expands compressed GZIP, Zlib, or raw DEFLATE data, automatically detecting the format\n * @param data The data to decompress\n * @param out Where to write the data. Saves memory if you know the decompressed size and provide an output buffer of that length.\n * @returns The decompressed version of the data\n */\nexport function decompressSync(data, out) {\n return (data[0] == 31 && data[1] == 139 && data[2] == 8)\n ? gunzipSync(data, out)\n : ((data[0] & 15) != 8 || (data[0] >> 4) > 7 || ((data[0] << 8 | data[1]) % 31))\n ? inflateSync(data, out)\n : unzlibSync(data, out);\n}\n// flatten a directory structure\nvar fltn = function (d, p, t, o) {\n for (var k in d) {\n var val = d[k], n = p + k;\n if (val instanceof u8)\n t[n] = [val, o];\n else if (Array.isArray(val))\n t[n] = [val[0], mrg(o, val[1])];\n else\n fltn(val, n + '/', t, o);\n }\n};\n/**\n * Converts a string into a Uint8Array for use with compression/decompression methods\n * @param str The string to encode\n * @param latin1 Whether or not to interpret the data as Latin-1. This should\n * not need to be true unless decoding a binary string.\n * @returns The string encoded in UTF-8/Latin-1 binary\n */\nexport function strToU8(str, latin1) {\n var l = str.length;\n if (!latin1 && typeof TextEncoder != 'undefined')\n return new TextEncoder().encode(str);\n var ar = new u8(str.length + (str.length >>> 1));\n var ai = 0;\n var w = function (v) { ar[ai++] = v; };\n for (var i = 0; i < l; ++i) {\n if (ai + 5 > ar.length) {\n var n = new u8(ai + 8 + ((l - i) << 1));\n n.set(ar);\n ar = n;\n }\n var c = str.charCodeAt(i);\n if (c < 128 || latin1)\n w(c);\n else if (c < 2048)\n w(192 | (c >>> 6)), w(128 | (c & 63));\n else if (c > 55295 && c < 57344)\n c = 65536 + (c & 1023 << 10) | (str.charCodeAt(++i) & 1023),\n w(240 | (c >>> 18)), w(128 | ((c >>> 12) & 63)), w(128 | ((c >>> 6) & 63)), w(128 | (c & 63));\n else\n w(224 | (c >>> 12)), w(128 | ((c >>> 6) & 63)), w(128 | (c & 63));\n }\n return slc(ar, 0, ai);\n}\n/**\n * Converts a Uint8Array to a string\n * @param dat The data to decode to string\n * @param latin1 Whether or not to interpret the data as Latin-1. This should\n * not need to be true unless encoding to binary string.\n * @returns The original UTF-8/Latin-1 string\n */\nexport function strFromU8(dat, latin1) {\n var r = '';\n if (!latin1 && typeof TextDecoder != 'undefined')\n return new TextDecoder().decode(dat);\n for (var i = 0; i < dat.length;) {\n var c = dat[i++];\n if (c < 128 || latin1)\n r += String.fromCharCode(c);\n else if (c < 224)\n r += String.fromCharCode((c & 31) << 6 | (dat[i++] & 63));\n else if (c < 240)\n r += String.fromCharCode((c & 15) << 12 | (dat[i++] & 63) << 6 | (dat[i++] & 63));\n else\n c = ((c & 15) << 18 | (dat[i++] & 63) << 12 | (dat[i++] & 63) << 6 | (dat[i++] & 63)) - 65536,\n r += String.fromCharCode(55296 | (c >> 10), 56320 | (c & 1023));\n }\n return r;\n}\n;\n// skip local zip header\nvar slzh = function (d, b) { return b + 30 + b2(d, b + 26) + b2(d, b + 28); };\n// read zip header\nvar zh = function (d, b, z) {\n var fnl = b2(d, b + 28), fn = strFromU8(d.subarray(b + 46, b + 46 + fnl), !(b2(d, b + 8) & 2048)), es = b + 46 + fnl;\n var _a = z ? z64e(d, es) : [b4(d, b + 20), b4(d, b + 24), b4(d, b + 42)], sc = _a[0], su = _a[1], off = _a[2];\n return [b2(d, b + 10), sc, su, fn, es + b2(d, b + 30) + b2(d, b + 32), off];\n};\n// read zip64 extra field\nvar z64e = function (d, b) {\n for (; b2(d, b) != 1; b += 4 + b2(d, b + 2))\n ;\n return [b4(d, b + 12), b4(d, b + 4), b4(d, b + 20)];\n};\n// write zip header\nvar wzh = function (d, b, c, cmp, su, fn, u, o, ce, t) {\n var fl = fn.length, l = cmp.length;\n wbytes(d, b, ce != null ? 0x2014B50 : 0x4034B50), b += 4;\n if (ce != null)\n d[b] = 20, b += 2;\n d[b] = 20, b += 2; // spec compliance? what's that?\n d[b++] = (t == 8 && (o.level == 1 ? 6 : o.level < 6 ? 4 : o.level == 9 ? 2 : 0)), d[b++] = u && 8;\n d[b] = t, b += 2;\n var dt = new Date(o.mtime || Date.now()), y = dt.getFullYear() - 1980;\n if (y < 0 || y > 119)\n throw 'date not in range 1980-2099';\n wbytes(d, b, ((y << 24) * 2) | ((dt.getMonth() + 1) << 21) | (dt.getDate() << 16) | (dt.getHours() << 11) | (dt.getMinutes() << 5) | (dt.getSeconds() >>> 1));\n b += 4;\n wbytes(d, b, c);\n wbytes(d, b + 4, l);\n wbytes(d, b + 8, su);\n wbytes(d, b + 12, fl), b += 16; // skip extra field, comment\n if (ce != null)\n wbytes(d, b += 10, ce), b += 4;\n d.set(fn, b);\n b += fl;\n if (ce == null)\n d.set(cmp, b);\n};\n// write zip footer (end of central directory)\nvar wzf = function (o, b, c, d, e) {\n wbytes(o, b, 0x6054B50); // skip disk\n wbytes(o, b + 8, c);\n wbytes(o, b + 10, c);\n wbytes(o, b + 12, d);\n wbytes(o, b + 16, e);\n};\nexport function zip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n var r = {};\n fltn(data, '', r, opts);\n var k = Object.keys(r);\n var lft = k.length, o = 0, tot = 0;\n var slft = lft, files = new Array(lft);\n var term = [];\n var tAll = function () {\n for (var i = 0; i < term.length; ++i)\n term[i]();\n };\n var cbf = function () {\n var out = new u8(tot + 22), oe = o, cdl = tot - o;\n tot = 0;\n for (var i = 0; i < slft; ++i) {\n var f = files[i];\n try {\n wzh(out, tot, f.c, f.d, f.m, f.n, f.u, f.p, null, f.t);\n wzh(out, o, f.c, f.d, f.m, f.n, f.u, f.p, tot, f.t), o += 46 + f.n.length, tot += 30 + f.n.length + f.d.length;\n }\n catch (e) {\n return cb(e, null);\n }\n }\n wzf(out, o, files.length, cdl, oe);\n cb(null, out);\n };\n if (!lft)\n cbf();\n var _loop_1 = function (i) {\n var fn = k[i];\n var _a = r[fn], file = _a[0], p = _a[1];\n var c = crc(), m = file.length;\n c.p(file);\n var n = strToU8(fn), s = n.length;\n var t = p.level == 0 ? 0 : 8;\n var cbl = function (e, d) {\n if (e) {\n tAll();\n cb(e, null);\n }\n else {\n var l = d.length;\n files[i] = {\n t: t,\n d: d,\n m: m,\n c: c.d(),\n u: fn.length != l,\n n: n,\n p: p\n };\n o += 30 + s + l;\n tot += 76 + 2 * s + l;\n if (!--lft)\n cbf();\n }\n };\n if (n.length > 65535)\n cbl('filename too long', null);\n if (!t)\n cbl(null, file);\n else if (m < 160000) {\n try {\n cbl(null, deflateSync(file, p));\n }\n catch (e) {\n cbl(e, null);\n }\n }\n else\n term.push(deflate(file, p, cbl));\n };\n // Cannot use lft because it can decrease\n for (var i = 0; i < slft; ++i) {\n _loop_1(i);\n }\n return tAll;\n}\n/**\n * Synchronously creates a ZIP file. Prefer using `zip` for better performance\n * with more than one file.\n * @param data The directory structure for the ZIP archive\n * @param opts The main options, merged with per-file options\n * @returns The generated ZIP archive\n */\nexport function zipSync(data, opts) {\n if (opts === void 0) { opts = {}; }\n var r = {};\n var files = [];\n fltn(data, '', r, opts);\n var o = 0;\n var tot = 0;\n for (var fn in r) {\n var _a = r[fn], file = _a[0], p = _a[1];\n var t = p.level == 0 ? 0 : 8;\n var n = strToU8(fn), s = n.length;\n if (n.length > 65535)\n throw 'filename too long';\n var d = t ? deflateSync(file, p) : file, l = d.length;\n var c = crc();\n c.p(file);\n files.push({\n t: t,\n d: d,\n m: file.length,\n c: c.d(),\n u: fn.length != s,\n n: n,\n o: o,\n p: p\n });\n o += 30 + s + l;\n tot += 76 + 2 * s + l;\n }\n var out = new u8(tot + 22), oe = o, cdl = tot - o;\n for (var i = 0; i < files.length; ++i) {\n var f = files[i];\n wzh(out, f.o, f.c, f.d, f.m, f.n, f.u, f.p, null, f.t);\n wzh(out, o, f.c, f.d, f.m, f.n, f.u, f.p, f.o, f.t), o += 46 + f.n.length;\n }\n wzf(out, o, files.length, cdl, oe);\n return out;\n}\n/**\n * Asynchronously decompresses a ZIP archive\n * @param data The raw compressed ZIP file\n * @param cb The callback to call with the decompressed files\n * @returns A function that can be used to immediately terminate the unzipping\n */\nexport function unzip(data, cb) {\n if (typeof cb != 'function')\n throw 'no callback';\n var term = [];\n var tAll = function () {\n for (var i = 0; i < term.length; ++i)\n term[i]();\n };\n var files = {};\n var e = data.length - 22;\n for (; b4(data, e) != 0x6054B50; --e) {\n if (!e || data.length - e > 65558) {\n cb('invalid zip file', null);\n return;\n }\n }\n ;\n var lft = b2(data, e + 8);\n if (!lft)\n cb(null, {});\n var c = lft;\n var o = b4(data, e + 16);\n var z = o == 4294967295;\n if (z) {\n e = b4(data, e - 12);\n if (b4(data, e) != 0x6064B50)\n throw 'invalid zip file';\n c = lft = b4(data, e + 32);\n o = b4(data, e + 48);\n }\n var _loop_2 = function (i) {\n var _a = zh(data, o, z), c_1 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off);\n o = no;\n var cbl = function (e, d) {\n if (e) {\n tAll();\n cb(e, null);\n }\n else {\n files[fn] = d;\n if (!--lft)\n cb(null, files);\n }\n };\n if (!c_1)\n cbl(null, slc(data, b, b + sc));\n else if (c_1 == 8) {\n var infl = data.subarray(b, b + sc);\n if (sc < 320000) {\n try {\n cbl(null, inflateSync(infl, new u8(su)));\n }\n catch (e) {\n cbl(e, null);\n }\n }\n else\n term.push(inflate(infl, { size: su }, cbl));\n }\n else\n cbl('unknown compression type ' + c_1, null);\n };\n for (var i = 0; i < c; ++i) {\n _loop_2(i);\n }\n return tAll;\n}\n/**\n * Synchronously decompresses a ZIP archive. Prefer using `unzip` for better\n * performance with more than one file.\n * @param data The raw compressed ZIP file\n * @returns The decompressed files\n */\nexport function unzipSync(data) {\n var files = {};\n var e = data.length - 22;\n for (; b4(data, e) != 0x6054B50; --e) {\n if (!e || data.length - e > 65558)\n throw 'invalid zip file';\n }\n ;\n var c = b2(data, e + 8);\n if (!c)\n return {};\n var o = b4(data, e + 16);\n var z = o == 4294967295;\n if (z) {\n e = b4(data, e - 12);\n if (b4(data, e) != 0x6064B50)\n throw 'invalid zip file';\n c = b4(data, e + 32);\n o = b4(data, e + 48);\n }\n for (var i = 0; i < c; ++i) {\n var _a = zh(data, o, z), c_2 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off);\n o = no;\n if (!c_2)\n files[fn] = slc(data, b, b + sc);\n else if (c_2 == 8)\n files[fn] = inflateSync(data.subarray(b, b + sc), new u8(su));\n else\n throw 'unknown compression type ' + c_2;\n }\n return files;\n}\n","export var globalObject = (function() {\n return \"undefined\" !== typeof window\n ? window\n : \"undefined\" !== typeof global\n ? global\n : \"undefined\" !== typeof self\n ? self\n : this;\n})();\n","import { globalObject } from \"./globalObject.js\";\n\nfunction consoleLog() {\n if (globalObject.console && typeof globalObject.console.log === \"function\") {\n globalObject.console.log.apply(globalObject.console, arguments);\n }\n}\n\nfunction consoleWarn(str) {\n if (globalObject.console) {\n if (typeof globalObject.console.warn === \"function\") {\n globalObject.console.warn.apply(globalObject.console, arguments);\n } else {\n consoleLog.call(null, arguments);\n }\n }\n}\n\nfunction consoleError(str) {\n if (globalObject.console) {\n if (typeof globalObject.console.error === \"function\") {\n globalObject.console.error.apply(globalObject.console, arguments);\n } else {\n consoleLog(str);\n }\n }\n}\nexport var console = {\n log: consoleLog,\n warn: consoleWarn,\n error: consoleError\n};\n","/**\n * @license\n * FileSaver.js\n * A saveAs() FileSaver implementation.\n *\n * By Eli Grey, http://eligrey.com\n *\n * License : https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md (MIT)\n * source : http://purl.eligrey.com/github/FileSaver.js\n */\n\nimport { globalObject as _global } from \"./globalObject.js\";\nimport { console } from \"./console.js\";\n\nfunction bom(blob, opts) {\n if (typeof opts === \"undefined\") opts = { autoBom: false };\n else if (typeof opts !== \"object\") {\n console.warn(\"Deprecated: Expected third argument to be a object\");\n opts = { autoBom: !opts };\n }\n\n // prepend BOM for UTF-8 XML and text/* types (including HTML)\n // note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF\n if (\n opts.autoBom &&\n /^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(\n blob.type\n )\n ) {\n return new Blob([String.fromCharCode(0xfeff), blob], { type: blob.type });\n }\n return blob;\n}\n\nfunction download(url, name, opts) {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url);\n xhr.responseType = \"blob\";\n xhr.onload = function() {\n saveAs(xhr.response, name, opts);\n };\n xhr.onerror = function() {\n console.error(\"could not download file\");\n };\n xhr.send();\n}\n\nfunction corsEnabled(url) {\n var xhr = new XMLHttpRequest();\n // use sync to avoid popup blocker\n xhr.open(\"HEAD\", url, false);\n try {\n xhr.send();\n } catch (e) {}\n return xhr.status >= 200 && xhr.status <= 299;\n}\n\n// `a.click()` doesn't work for all browsers (#465)\nfunction click(node) {\n try {\n node.dispatchEvent(new MouseEvent(\"click\"));\n } catch (e) {\n var evt = document.createEvent(\"MouseEvents\");\n evt.initMouseEvent(\n \"click\",\n true,\n true,\n window,\n 0,\n 0,\n 0,\n 80,\n 20,\n false,\n false,\n false,\n false,\n 0,\n null\n );\n node.dispatchEvent(evt);\n }\n}\n\nvar saveAs =\n _global.saveAs ||\n // probably in some web worker\n (typeof window !== \"object\" || window !== _global\n ? function saveAs() {\n /* noop */\n }\n : // Use download attribute first if possible (#193 Lumia mobile) unless this is a native app\n typeof HTMLAnchorElement !== \"undefined\" &&\n \"download\" in HTMLAnchorElement.prototype\n ? function saveAs(blob, name, opts) {\n var URL = _global.URL || _global.webkitURL;\n var a = document.createElement(\"a\");\n name = name || blob.name || \"download\";\n\n a.download = name;\n a.rel = \"noopener\"; // tabnabbing\n\n // TODO: detect chrome extensions & packaged apps\n // a.target = '_blank'\n\n if (typeof blob === \"string\") {\n // Support regular links\n a.href = blob;\n if (a.origin !== location.origin) {\n corsEnabled(a.href)\n ? download(blob, name, opts)\n : click(a, (a.target = \"_blank\"));\n } else {\n click(a);\n }\n } else {\n // Support blobs\n a.href = URL.createObjectURL(blob);\n setTimeout(function() {\n URL.revokeObjectURL(a.href);\n }, 4e4); // 40s\n setTimeout(function() {\n click(a);\n }, 0);\n }\n }\n : // Use msSaveOrOpenBlob as a second approach\n \"msSaveOrOpenBlob\" in navigator\n ? function saveAs(blob, name, opts) {\n name = name || blob.name || \"download\";\n\n if (typeof blob === \"string\") {\n if (corsEnabled(blob)) {\n download(blob, name, opts);\n } else {\n var a = document.createElement(\"a\");\n a.href = blob;\n a.target = \"_blank\";\n setTimeout(function() {\n click(a);\n });\n }\n } else {\n navigator.msSaveOrOpenBlob(bom(blob, opts), name);\n }\n }\n : // Fallback to using FileReader and a popup\n function saveAs(blob, name, opts, popup) {\n // Open a popup immediately do go around popup blocker\n // Mostly only available on user interaction and the fileReader is async so...\n popup = popup || open(\"\", \"_blank\");\n if (popup) {\n popup.document.title = popup.document.body.innerText =\n \"downloading...\";\n }\n\n if (typeof blob === \"string\") return download(blob, name, opts);\n\n var force = blob.type === \"application/octet-stream\";\n var isSafari =\n /constructor/i.test(_global.HTMLElement) || _global.safari;\n var isChromeIOS = /CriOS\\/[\\d]+/.test(navigator.userAgent);\n\n if (\n (isChromeIOS || (force && isSafari)) &&\n typeof FileReader === \"object\"\n ) {\n // Safari doesn't allow downloading of blob URLs\n var reader = new FileReader();\n reader.onloadend = function() {\n var url = reader.result;\n url = isChromeIOS\n ? url\n : url.replace(/^data:[^;]*;/, \"data:attachment/file;\");\n if (popup) popup.location.href = url;\n else location = url;\n popup = null; // reverse-tabnabbing #460\n };\n reader.readAsDataURL(blob);\n } else {\n var URL = _global.URL || _global.webkitURL;\n var url = URL.createObjectURL(blob);\n if (popup) popup.location = url;\n else location.href = url;\n popup = null; // reverse-tabnabbing #460\n setTimeout(function() {\n URL.revokeObjectURL(url);\n }, 4e4); // 40s\n }\n });\n\nexport { saveAs };\n","import { globalObject } from \"./globalObject.js\";\n\nvar atob, btoa;\n\n(function() {\n atob = globalObject.atob.bind(globalObject);\n btoa = globalObject.btoa.bind(globalObject);\n return;\n\n})();\n\nexport { atob, btoa };\n","/**\n * A class to parse color values\n * @author Stoyan Stefanov \n * {@link http://www.phpied.com/rgb-color-parser-in-javascript/}\n * @license Use it if you like it\n */\n\nfunction RGBColor(color_string) {\n color_string = color_string || \"\";\n this.ok = false;\n\n // strip any leading #\n if (color_string.charAt(0) == \"#\") {\n // remove # if any\n color_string = color_string.substr(1, 6);\n }\n\n color_string = color_string.replace(/ /g, \"\");\n color_string = color_string.toLowerCase();\n\n var channels;\n\n // before getting into regexps, try simple matches\n // and overwrite the input\n var simple_colors = {\n aliceblue: \"f0f8ff\",\n antiquewhite: \"faebd7\",\n aqua: \"00ffff\",\n aquamarine: \"7fffd4\",\n azure: \"f0ffff\",\n beige: \"f5f5dc\",\n bisque: \"ffe4c4\",\n black: \"000000\",\n blanchedalmond: \"ffebcd\",\n blue: \"0000ff\",\n blueviolet: \"8a2be2\",\n brown: \"a52a2a\",\n burlywood: \"deb887\",\n cadetblue: \"5f9ea0\",\n chartreuse: \"7fff00\",\n chocolate: \"d2691e\",\n coral: \"ff7f50\",\n cornflowerblue: \"6495ed\",\n cornsilk: \"fff8dc\",\n crimson: \"dc143c\",\n cyan: \"00ffff\",\n darkblue: \"00008b\",\n darkcyan: \"008b8b\",\n darkgoldenrod: \"b8860b\",\n darkgray: \"a9a9a9\",\n darkgreen: \"006400\",\n darkkhaki: \"bdb76b\",\n darkmagenta: \"8b008b\",\n darkolivegreen: \"556b2f\",\n darkorange: \"ff8c00\",\n darkorchid: \"9932cc\",\n darkred: \"8b0000\",\n darksalmon: \"e9967a\",\n darkseagreen: \"8fbc8f\",\n darkslateblue: \"483d8b\",\n darkslategray: \"2f4f4f\",\n darkturquoise: \"00ced1\",\n darkviolet: \"9400d3\",\n deeppink: \"ff1493\",\n deepskyblue: \"00bfff\",\n dimgray: \"696969\",\n dodgerblue: \"1e90ff\",\n feldspar: \"d19275\",\n firebrick: \"b22222\",\n floralwhite: \"fffaf0\",\n forestgreen: \"228b22\",\n fuchsia: \"ff00ff\",\n gainsboro: \"dcdcdc\",\n ghostwhite: \"f8f8ff\",\n gold: \"ffd700\",\n goldenrod: \"daa520\",\n gray: \"808080\",\n green: \"008000\",\n greenyellow: \"adff2f\",\n honeydew: \"f0fff0\",\n hotpink: \"ff69b4\",\n indianred: \"cd5c5c\",\n indigo: \"4b0082\",\n ivory: \"fffff0\",\n khaki: \"f0e68c\",\n lavender: \"e6e6fa\",\n lavenderblush: \"fff0f5\",\n lawngreen: \"7cfc00\",\n lemonchiffon: \"fffacd\",\n lightblue: \"add8e6\",\n lightcoral: \"f08080\",\n lightcyan: \"e0ffff\",\n lightgoldenrodyellow: \"fafad2\",\n lightgrey: \"d3d3d3\",\n lightgreen: \"90ee90\",\n lightpink: \"ffb6c1\",\n lightsalmon: \"ffa07a\",\n lightseagreen: \"20b2aa\",\n lightskyblue: \"87cefa\",\n lightslateblue: \"8470ff\",\n lightslategray: \"778899\",\n lightsteelblue: \"b0c4de\",\n lightyellow: \"ffffe0\",\n lime: \"00ff00\",\n limegreen: \"32cd32\",\n linen: \"faf0e6\",\n magenta: \"ff00ff\",\n maroon: \"800000\",\n mediumaquamarine: \"66cdaa\",\n mediumblue: \"0000cd\",\n mediumorchid: \"ba55d3\",\n mediumpurple: \"9370d8\",\n mediumseagreen: \"3cb371\",\n mediumslateblue: \"7b68ee\",\n mediumspringgreen: \"00fa9a\",\n mediumturquoise: \"48d1cc\",\n mediumvioletred: \"c71585\",\n midnightblue: \"191970\",\n mintcream: \"f5fffa\",\n mistyrose: \"ffe4e1\",\n moccasin: \"ffe4b5\",\n navajowhite: \"ffdead\",\n navy: \"000080\",\n oldlace: \"fdf5e6\",\n olive: \"808000\",\n olivedrab: \"6b8e23\",\n orange: \"ffa500\",\n orangered: \"ff4500\",\n orchid: \"da70d6\",\n palegoldenrod: \"eee8aa\",\n palegreen: \"98fb98\",\n paleturquoise: \"afeeee\",\n palevioletred: \"d87093\",\n papayawhip: \"ffefd5\",\n peachpuff: \"ffdab9\",\n peru: \"cd853f\",\n pink: \"ffc0cb\",\n plum: \"dda0dd\",\n powderblue: \"b0e0e6\",\n purple: \"800080\",\n red: \"ff0000\",\n rosybrown: \"bc8f8f\",\n royalblue: \"4169e1\",\n saddlebrown: \"8b4513\",\n salmon: \"fa8072\",\n sandybrown: \"f4a460\",\n seagreen: \"2e8b57\",\n seashell: \"fff5ee\",\n sienna: \"a0522d\",\n silver: \"c0c0c0\",\n skyblue: \"87ceeb\",\n slateblue: \"6a5acd\",\n slategray: \"708090\",\n snow: \"fffafa\",\n springgreen: \"00ff7f\",\n steelblue: \"4682b4\",\n tan: \"d2b48c\",\n teal: \"008080\",\n thistle: \"d8bfd8\",\n tomato: \"ff6347\",\n turquoise: \"40e0d0\",\n violet: \"ee82ee\",\n violetred: \"d02090\",\n wheat: \"f5deb3\",\n white: \"ffffff\",\n whitesmoke: \"f5f5f5\",\n yellow: \"ffff00\",\n yellowgreen: \"9acd32\"\n };\n color_string = simple_colors[color_string] || color_string;\n\n // array of color definition objects\n var color_defs = [\n {\n re: /^rgb\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3})\\)$/,\n example: [\"rgb(123, 234, 45)\", \"rgb(255,234,245)\"],\n process: function(bits) {\n return [parseInt(bits[1]), parseInt(bits[2]), parseInt(bits[3])];\n }\n },\n {\n re: /^(\\w{2})(\\w{2})(\\w{2})$/,\n example: [\"#00ff00\", \"336699\"],\n process: function(bits) {\n return [\n parseInt(bits[1], 16),\n parseInt(bits[2], 16),\n parseInt(bits[3], 16)\n ];\n }\n },\n {\n re: /^(\\w{1})(\\w{1})(\\w{1})$/,\n example: [\"#fb0\", \"f0f\"],\n process: function(bits) {\n return [\n parseInt(bits[1] + bits[1], 16),\n parseInt(bits[2] + bits[2], 16),\n parseInt(bits[3] + bits[3], 16)\n ];\n }\n }\n ];\n\n // search through the definitions to find a match\n for (var i = 0; i < color_defs.length; i++) {\n var re = color_defs[i].re;\n var processor = color_defs[i].process;\n var bits = re.exec(color_string);\n if (bits) {\n channels = processor(bits);\n this.r = channels[0];\n this.g = channels[1];\n this.b = channels[2];\n this.ok = true;\n }\n }\n\n // validate/cleanup values\n this.r = this.r < 0 || isNaN(this.r) ? 0 : this.r > 255 ? 255 : this.r;\n this.g = this.g < 0 || isNaN(this.g) ? 0 : this.g > 255 ? 255 : this.g;\n this.b = this.b < 0 || isNaN(this.b) ? 0 : this.b > 255 ? 255 : this.b;\n\n // some getters\n this.toRGB = function() {\n return \"rgb(\" + this.r + \", \" + this.g + \", \" + this.b + \")\";\n };\n this.toHex = function() {\n var r = this.r.toString(16);\n var g = this.g.toString(16);\n var b = this.b.toString(16);\n if (r.length == 1) r = \"0\" + r;\n if (g.length == 1) g = \"0\" + g;\n if (b.length == 1) b = \"0\" + b;\n return \"#\" + r + g + b;\n };\n}\n\nexport { RGBColor };\n","/**\n * @license\n * Joseph Myers does not specify a particular license for his work.\n *\n * Author: Joseph Myers\n * Accessed from: http://www.myersdaily.org/joseph/javascript/md5.js\n *\n * Modified by: Owen Leong\n */\n\nfunction md5cycle(x, k) {\n var a = x[0],\n b = x[1],\n c = x[2],\n d = x[3];\n\n a = ff(a, b, c, d, k[0], 7, -680876936);\n d = ff(d, a, b, c, k[1], 12, -389564586);\n c = ff(c, d, a, b, k[2], 17, 606105819);\n b = ff(b, c, d, a, k[3], 22, -1044525330);\n a = ff(a, b, c, d, k[4], 7, -176418897);\n d = ff(d, a, b, c, k[5], 12, 1200080426);\n c = ff(c, d, a, b, k[6], 17, -1473231341);\n b = ff(b, c, d, a, k[7], 22, -45705983);\n a = ff(a, b, c, d, k[8], 7, 1770035416);\n d = ff(d, a, b, c, k[9], 12, -1958414417);\n c = ff(c, d, a, b, k[10], 17, -42063);\n b = ff(b, c, d, a, k[11], 22, -1990404162);\n a = ff(a, b, c, d, k[12], 7, 1804603682);\n d = ff(d, a, b, c, k[13], 12, -40341101);\n c = ff(c, d, a, b, k[14], 17, -1502002290);\n b = ff(b, c, d, a, k[15], 22, 1236535329);\n\n a = gg(a, b, c, d, k[1], 5, -165796510);\n d = gg(d, a, b, c, k[6], 9, -1069501632);\n c = gg(c, d, a, b, k[11], 14, 643717713);\n b = gg(b, c, d, a, k[0], 20, -373897302);\n a = gg(a, b, c, d, k[5], 5, -701558691);\n d = gg(d, a, b, c, k[10], 9, 38016083);\n c = gg(c, d, a, b, k[15], 14, -660478335);\n b = gg(b, c, d, a, k[4], 20, -405537848);\n a = gg(a, b, c, d, k[9], 5, 568446438);\n d = gg(d, a, b, c, k[14], 9, -1019803690);\n c = gg(c, d, a, b, k[3], 14, -187363961);\n b = gg(b, c, d, a, k[8], 20, 1163531501);\n a = gg(a, b, c, d, k[13], 5, -1444681467);\n d = gg(d, a, b, c, k[2], 9, -51403784);\n c = gg(c, d, a, b, k[7], 14, 1735328473);\n b = gg(b, c, d, a, k[12], 20, -1926607734);\n\n a = hh(a, b, c, d, k[5], 4, -378558);\n d = hh(d, a, b, c, k[8], 11, -2022574463);\n c = hh(c, d, a, b, k[11], 16, 1839030562);\n b = hh(b, c, d, a, k[14], 23, -35309556);\n a = hh(a, b, c, d, k[1], 4, -1530992060);\n d = hh(d, a, b, c, k[4], 11, 1272893353);\n c = hh(c, d, a, b, k[7], 16, -155497632);\n b = hh(b, c, d, a, k[10], 23, -1094730640);\n a = hh(a, b, c, d, k[13], 4, 681279174);\n d = hh(d, a, b, c, k[0], 11, -358537222);\n c = hh(c, d, a, b, k[3], 16, -722521979);\n b = hh(b, c, d, a, k[6], 23, 76029189);\n a = hh(a, b, c, d, k[9], 4, -640364487);\n d = hh(d, a, b, c, k[12], 11, -421815835);\n c = hh(c, d, a, b, k[15], 16, 530742520);\n b = hh(b, c, d, a, k[2], 23, -995338651);\n\n a = ii(a, b, c, d, k[0], 6, -198630844);\n d = ii(d, a, b, c, k[7], 10, 1126891415);\n c = ii(c, d, a, b, k[14], 15, -1416354905);\n b = ii(b, c, d, a, k[5], 21, -57434055);\n a = ii(a, b, c, d, k[12], 6, 1700485571);\n d = ii(d, a, b, c, k[3], 10, -1894986606);\n c = ii(c, d, a, b, k[10], 15, -1051523);\n b = ii(b, c, d, a, k[1], 21, -2054922799);\n a = ii(a, b, c, d, k[8], 6, 1873313359);\n d = ii(d, a, b, c, k[15], 10, -30611744);\n c = ii(c, d, a, b, k[6], 15, -1560198380);\n b = ii(b, c, d, a, k[13], 21, 1309151649);\n a = ii(a, b, c, d, k[4], 6, -145523070);\n d = ii(d, a, b, c, k[11], 10, -1120210379);\n c = ii(c, d, a, b, k[2], 15, 718787259);\n b = ii(b, c, d, a, k[9], 21, -343485551);\n\n x[0] = add32(a, x[0]);\n x[1] = add32(b, x[1]);\n x[2] = add32(c, x[2]);\n x[3] = add32(d, x[3]);\n}\n\nfunction cmn(q, a, b, x, s, t) {\n a = add32(add32(a, q), add32(x, t));\n return add32((a << s) | (a >>> (32 - s)), b);\n}\n\nfunction ff(a, b, c, d, x, s, t) {\n return cmn((b & c) | (~b & d), a, b, x, s, t);\n}\n\nfunction gg(a, b, c, d, x, s, t) {\n return cmn((b & d) | (c & ~d), a, b, x, s, t);\n}\n\nfunction hh(a, b, c, d, x, s, t) {\n return cmn(b ^ c ^ d, a, b, x, s, t);\n}\n\nfunction ii(a, b, c, d, x, s, t) {\n return cmn(c ^ (b | ~d), a, b, x, s, t);\n}\n\nfunction md51(s) {\n // txt = '';\n var n = s.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i;\n for (i = 64; i <= s.length; i += 64) {\n md5cycle(state, md5blk(s.substring(i - 64, i)));\n }\n s = s.substring(i - 64);\n var tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n for (i = 0; i < s.length; i++)\n tail[i >> 2] |= s.charCodeAt(i) << (i % 4 << 3);\n tail[i >> 2] |= 0x80 << (i % 4 << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i++) tail[i] = 0;\n }\n tail[14] = n * 8;\n md5cycle(state, tail);\n return state;\n}\n\n/* there needs to be support for Unicode here,\n * unless we pretend that we can redefine the MD-5\n * algorithm for multi-byte characters (perhaps\n * by adding every four 16-bit characters and\n * shortening the sum to 32 bits). Otherwise\n * I suggest performing MD-5 as if every character\n * was two bytes--e.g., 0040 0025 = @%--but then\n * how will an ordinary MD-5 sum be matched?\n * There is no way to standardize text to something\n * like UTF-8 before transformation; speed cost is\n * utterly prohibitive. The JavaScript standard\n * itself needs to look at this: it should start\n * providing access to strings as preformed UTF-8\n * 8-bit unsigned value arrays.\n */\nfunction md5blk(s) {\n /* I figured global was faster. */\n var md5blks = [],\n i; /* Andy King said do it this way. */\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] =\n s.charCodeAt(i) +\n (s.charCodeAt(i + 1) << 8) +\n (s.charCodeAt(i + 2) << 16) +\n (s.charCodeAt(i + 3) << 24);\n }\n return md5blks;\n}\n\nvar hex_chr = \"0123456789abcdef\".split(\"\");\n\nfunction rhex(n) {\n var s = \"\",\n j = 0;\n for (; j < 4; j++)\n s += hex_chr[(n >> (j * 8 + 4)) & 0x0f] + hex_chr[(n >> (j * 8)) & 0x0f];\n return s;\n}\n\nfunction hex(x) {\n for (var i = 0; i < x.length; i++) x[i] = rhex(x[i]);\n return x.join(\"\");\n}\n\n// Converts a 4-byte number to byte string\nfunction singleToByteString(n) {\n return String.fromCharCode(\n (n & 0xff) >> 0,\n (n & 0xff00) >> 8,\n (n & 0xff0000) >> 16,\n (n & 0xff000000) >> 24\n );\n}\n\n// Converts an array of numbers to a byte string\nfunction toByteString(x) {\n return x.map(singleToByteString).join(\"\");\n}\n\n// Returns the MD5 hash as a byte string\nfunction md5Bin(s) {\n return toByteString(md51(s));\n}\n\n// Returns MD5 hash as a hex string\nfunction md5(s) {\n return hex(md51(s));\n}\n\nvar md5Check = md5(\"hello\") != \"5d41402abc4b2a76b9719d911017c592\";\n\nfunction add32(a, b) {\n if (md5Check) {\n /* if the md5Check does not match\n the expected value, we're dealing\n with an old browser and need\n this function. */\n var lsw = (a & 0xffff) + (b & 0xffff),\n msw = (a >> 16) + (b >> 16) + (lsw >> 16);\n return (msw << 16) | (lsw & 0xffff);\n } else {\n /* this function is much faster,\n so if possible we use it. Some IEs\n are the only ones I know of that\n need the idiotic second function,\n generated by an if clause. */\n return (a + b) & 0xffffffff;\n }\n}\n\nexport { md5, md5Bin };\n","/**\r\n * @license\r\n * FPDF is released under a permissive license: there is no usage restriction.\r\n * You may embed it freely in your application (commercial or not), with or\r\n * without modifications.\r\n *\r\n * Reference: http://www.fpdf.org/en/script/script37.php\r\n */\r\n\r\nfunction repeat(str, num) {\r\n return new Array(num + 1).join(str);\r\n}\r\n\r\n/**\r\n * Converts a byte string to a hex string\r\n *\r\n * @name rc4\r\n * @function\r\n * @param {string} key Byte string of encryption key\r\n * @param {string} data Byte string of data to be encrypted\r\n * @returns {string} Encrypted string\r\n */\r\nfunction rc4(key, data) {\r\n var lastKey, lastState;\r\n if (key !== lastKey) {\r\n var k = repeat(key, ((256 / key.length) >> 0) + 1);\r\n var state = [];\r\n for (var i = 0; i < 256; i++) {\r\n state[i] = i;\r\n }\r\n var j = 0;\r\n for (var i = 0; i < 256; i++) {\r\n var t = state[i];\r\n j = (j + t + k.charCodeAt(i)) % 256;\r\n state[i] = state[j];\r\n state[j] = t;\r\n }\r\n lastKey = key;\r\n lastState = state;\r\n } else {\r\n state = lastState;\r\n }\r\n var length = data.length;\r\n var a = 0;\r\n var b = 0;\r\n var out = \"\";\r\n for (var i = 0; i < length; i++) {\r\n a = (a + 1) % 256;\r\n t = state[a];\r\n b = (b + t) % 256;\r\n state[a] = state[b];\r\n state[b] = t;\r\n k = state[(state[a] + state[b]) % 256];\r\n out += String.fromCharCode(data.charCodeAt(i) ^ k);\r\n }\r\n return out;\r\n}\r\n\r\nexport { rc4 };\r\n","/**\r\n * @license\r\n * Licensed under the MIT License.\r\n * http://opensource.org/licenses/mit-license\r\n * Author: Owen Leong (@owenl131)\r\n * Date: 15 Oct 2020\r\n * References:\r\n * https://www.cs.cmu.edu/~dst/Adobe/Gallery/anon21jul01-pdf-encryption.txt\r\n * https://github.com/foliojs/pdfkit/blob/master/lib/security.js\r\n * http://www.fpdf.org/en/script/script37.php\r\n */\r\n\r\nimport { md5Bin } from \"./md5.js\";\r\nimport { rc4 } from \"./rc4.js\";\r\n\r\nvar permissionOptions = {\r\n print: 4,\r\n modify: 8,\r\n copy: 16,\r\n \"annot-forms\": 32\r\n};\r\n\r\n/**\r\n * Initializes encryption settings\r\n *\r\n * @name constructor\r\n * @function\r\n * @param {Array} permissions Permissions allowed for user, \"print\", \"modify\", \"copy\" and \"annot-forms\".\r\n * @param {String} userPassword Permissions apply to this user. Leaving this empty means the document\r\n * is not password protected but viewer has the above permissions.\r\n * @param {String} ownerPassword Owner has full functionalities to the file.\r\n * @param {String} fileId As hex string, should be same as the file ID in the trailer.\r\n * @example\r\n * var security = new PDFSecurity([\"print\"])\r\n */\r\nfunction PDFSecurity(permissions, userPassword, ownerPassword, fileId) {\r\n this.v = 1; // algorithm 1, future work can add in more recent encryption schemes\r\n this.r = 2; // revision 2\r\n\r\n // set flags for what functionalities the user can access\r\n let protection = 192;\r\n permissions.forEach(function(perm) {\r\n if (typeof permissionOptions.perm !== \"undefined\") {\r\n throw new Error(\"Invalid permission: \" + perm);\r\n }\r\n protection += permissionOptions[perm];\r\n });\r\n\r\n // padding is used to pad the passwords to 32 bytes, also is hashed and stored in the final PDF\r\n this.padding =\r\n \"\\x28\\xBF\\x4E\\x5E\\x4E\\x75\\x8A\\x41\\x64\\x00\\x4E\\x56\\xFF\\xFA\\x01\\x08\" +\r\n \"\\x2E\\x2E\\x00\\xB6\\xD0\\x68\\x3E\\x80\\x2F\\x0C\\xA9\\xFE\\x64\\x53\\x69\\x7A\";\r\n let paddedUserPassword = (userPassword + this.padding).substr(0, 32);\r\n let paddedOwnerPassword = (ownerPassword + this.padding).substr(0, 32);\r\n\r\n this.O = this.processOwnerPassword(paddedUserPassword, paddedOwnerPassword);\r\n this.P = -((protection ^ 255) + 1);\r\n this.encryptionKey = md5Bin(\r\n paddedUserPassword +\r\n this.O +\r\n this.lsbFirstWord(this.P) +\r\n this.hexToBytes(fileId)\r\n ).substr(0, 5);\r\n this.U = rc4(this.encryptionKey, this.padding);\r\n}\r\n\r\n/**\r\n * Breaks down a 4-byte number into its individual bytes, with the least significant bit first\r\n *\r\n * @name lsbFirstWord\r\n * @function\r\n * @param {number} data 32-bit number\r\n * @returns {Array}\r\n */\r\nPDFSecurity.prototype.lsbFirstWord = function(data) {\r\n return String.fromCharCode(\r\n (data >> 0) & 0xff,\r\n (data >> 8) & 0xff,\r\n (data >> 16) & 0xff,\r\n (data >> 24) & 0xff\r\n );\r\n};\r\n\r\n/**\r\n * Converts a byte string to a hex string\r\n *\r\n * @name toHexString\r\n * @function\r\n * @param {String} byteString Byte string\r\n * @returns {String}\r\n */\r\nPDFSecurity.prototype.toHexString = function(byteString) {\r\n return byteString\r\n .split(\"\")\r\n .map(function(byte) {\r\n return (\"0\" + (byte.charCodeAt(0) & 0xff).toString(16)).slice(-2);\r\n })\r\n .join(\"\");\r\n};\r\n\r\n/**\r\n * Converts a hex string to a byte string\r\n *\r\n * @name hexToBytes\r\n * @function\r\n * @param {String} hex Hex string\r\n * @returns {String}\r\n */\r\nPDFSecurity.prototype.hexToBytes = function(hex) {\r\n for (var bytes = [], c = 0; c < hex.length; c += 2)\r\n bytes.push(String.fromCharCode(parseInt(hex.substr(c, 2), 16)));\r\n return bytes.join(\"\");\r\n};\r\n\r\n/**\r\n * Computes the 'O' field in the encryption dictionary\r\n *\r\n * @name processOwnerPassword\r\n * @function\r\n * @param {String} paddedUserPassword Byte string of padded user password\r\n * @param {String} paddedOwnerPassword Byte string of padded owner password\r\n * @returns {String}\r\n */\r\nPDFSecurity.prototype.processOwnerPassword = function(\r\n paddedUserPassword,\r\n paddedOwnerPassword\r\n) {\r\n let key = md5Bin(paddedOwnerPassword).substr(0, 5);\r\n return rc4(key, paddedUserPassword);\r\n};\r\n\r\n/**\r\n * Returns an encryptor function which can take in a byte string and returns the encrypted version\r\n *\r\n * @name encryptor\r\n * @function\r\n * @param {number} objectId\r\n * @param {number} generation Not sure what this is for, you can set it to 0\r\n * @returns {Function}\r\n * @example\r\n * out(\"stream\");\r\n * encryptor = security.encryptor(object.id, 0);\r\n * out(encryptor(data));\r\n * out(\"endstream\");\r\n */\r\nPDFSecurity.prototype.encryptor = function(objectId, generation) {\r\n let key = md5Bin(\r\n this.encryptionKey +\r\n String.fromCharCode(\r\n objectId & 0xff,\r\n (objectId >> 8) & 0xff,\r\n (objectId >> 16) & 0xff,\r\n generation & 0xff,\r\n (generation >> 8) & 0xff\r\n )\r\n ).substr(0, 10);\r\n return function(data) {\r\n return rc4(key, data);\r\n };\r\n};\r\n\r\nexport { PDFSecurity };\r\n","/**\n * Convert string to `PDF Name Object`.\n * Detail: PDF Reference 1.3 - Chapter 3.2.4 Name Object\n * @param str\n */\nfunction toPDFName(str) {\n // eslint-disable-next-line no-control-regex\n if (/[^\\u0000-\\u00ff]/.test(str)) {\n // non ascii string\n throw new Error(\n \"Invalid PDF Name Object: \" + str + \", Only accept ASCII characters.\"\n );\n }\n var result = \"\",\n strLength = str.length;\n for (var i = 0; i < strLength; i++) {\n var charCode = str.charCodeAt(i);\n if (\n charCode < 0x21 ||\n charCode === 0x23 /* # */ ||\n charCode === 0x25 /* % */ ||\n charCode === 0x28 /* ( */ ||\n charCode === 0x29 /* ) */ ||\n charCode === 0x2f /* / */ ||\n charCode === 0x3c /* < */ ||\n charCode === 0x3e /* > */ ||\n charCode === 0x5b /* [ */ ||\n charCode === 0x5d /* ] */ ||\n charCode === 0x7b /* { */ ||\n charCode === 0x7d /* } */ ||\n charCode > 0x7e\n ) {\n // Char CharCode hexStr paddingHexStr Result\n // \"\\t\" 9 9 09 #09\n // \" \" 32 20 20 #20\n // \"©\" 169 a9 a9 #a9\n var hexStr = charCode.toString(16),\n paddingHexStr = (\"0\" + hexStr).slice(-2);\n\n result += \"#\" + paddingHexStr;\n } else {\n // Other ASCII printable characters between 0x21 <= X <= 0x7e\n result += str[i];\n }\n }\n return result;\n}\n\nexport { toPDFName };\n","/* eslint-disable no-console */\r\n\r\nimport { saveAs } from \"./libs/FileSaver.js\";\r\nimport { globalObject } from \"./libs/globalObject.js\";\r\nimport { RGBColor } from \"./libs/rgbcolor.js\";\r\nimport { btoa } from \"./libs/AtobBtoa.js\";\r\nimport { console } from \"./libs/console.js\";\r\nimport { PDFSecurity } from \"./libs/pdfsecurity.js\";\r\nimport { toPDFName } from \"./libs/pdfname.js\";\r\n/**\r\n * jsPDF's Internal PubSub Implementation.\r\n * Backward compatible rewritten on 2014 by\r\n * Diego Casorran, https://github.com/diegocr\r\n *\r\n * @class\r\n * @name PubSub\r\n * @ignore\r\n */\r\nfunction PubSub(context) {\r\n if (typeof context !== \"object\") {\r\n throw new Error(\r\n \"Invalid Context passed to initialize PubSub (jsPDF-module)\"\r\n );\r\n }\r\n var topics = {};\r\n\r\n this.subscribe = function(topic, callback, once) {\r\n once = once || false;\r\n if (\r\n typeof topic !== \"string\" ||\r\n typeof callback !== \"function\" ||\r\n typeof once !== \"boolean\"\r\n ) {\r\n throw new Error(\r\n \"Invalid arguments passed to PubSub.subscribe (jsPDF-module)\"\r\n );\r\n }\r\n\r\n if (!topics.hasOwnProperty(topic)) {\r\n topics[topic] = {};\r\n }\r\n\r\n var token = Math.random().toString(35);\r\n topics[topic][token] = [callback, !!once];\r\n\r\n return token;\r\n };\r\n\r\n this.unsubscribe = function(token) {\r\n for (var topic in topics) {\r\n if (topics[topic][token]) {\r\n delete topics[topic][token];\r\n if (Object.keys(topics[topic]).length === 0) {\r\n delete topics[topic];\r\n }\r\n return true;\r\n }\r\n }\r\n return false;\r\n };\r\n\r\n this.publish = function(topic) {\r\n if (topics.hasOwnProperty(topic)) {\r\n var args = Array.prototype.slice.call(arguments, 1),\r\n tokens = [];\r\n\r\n for (var token in topics[topic]) {\r\n var sub = topics[topic][token];\r\n try {\r\n sub[0].apply(context, args);\r\n } catch (ex) {\r\n if (globalObject.console) {\r\n console.error(\"jsPDF PubSub Error\", ex.message, ex);\r\n }\r\n }\r\n if (sub[1]) tokens.push(token);\r\n }\r\n if (tokens.length) tokens.forEach(this.unsubscribe);\r\n }\r\n };\r\n\r\n this.getTopics = function() {\r\n return topics;\r\n };\r\n}\r\n\r\nfunction GState(parameters) {\r\n if (!(this instanceof GState)) {\r\n return new GState(parameters);\r\n }\r\n\r\n /**\r\n * @name GState#opacity\r\n * @type {any}\r\n */\r\n /**\r\n * @name GState#stroke-opacity\r\n * @type {any}\r\n */\r\n var supported = \"opacity,stroke-opacity\".split(\",\");\r\n for (var p in parameters) {\r\n if (parameters.hasOwnProperty(p) && supported.indexOf(p) >= 0) {\r\n this[p] = parameters[p];\r\n }\r\n }\r\n /**\r\n * @name GState#id\r\n * @type {string}\r\n */\r\n this.id = \"\"; // set by addGState()\r\n /**\r\n * @name GState#objectNumber\r\n * @type {number}\r\n */\r\n this.objectNumber = -1; // will be set by putGState()\r\n}\r\n\r\nGState.prototype.equals = function equals(other) {\r\n var ignore = \"id,objectNumber,equals\";\r\n var p;\r\n if (!other || typeof other !== typeof this) return false;\r\n var count = 0;\r\n for (p in this) {\r\n if (ignore.indexOf(p) >= 0) continue;\r\n if (this.hasOwnProperty(p) && !other.hasOwnProperty(p)) return false;\r\n if (this[p] !== other[p]) return false;\r\n count++;\r\n }\r\n for (p in other) {\r\n if (other.hasOwnProperty(p) && ignore.indexOf(p) < 0) count--;\r\n }\r\n return count === 0;\r\n};\r\n\r\nfunction Pattern(gState, matrix) {\r\n this.gState = gState;\r\n this.matrix = matrix;\r\n\r\n this.id = \"\"; // set by addPattern()\r\n this.objectNumber = -1; // will be set by putPattern()\r\n}\r\n\r\nfunction ShadingPattern(type, coords, colors, gState, matrix) {\r\n if (!(this instanceof ShadingPattern)) {\r\n return new ShadingPattern(type, coords, colors, gState, matrix);\r\n }\r\n\r\n // see putPattern() for information how they are realized\r\n this.type = type === \"axial\" ? 2 : 3;\r\n this.coords = coords;\r\n this.colors = colors;\r\n\r\n Pattern.call(this, gState, matrix);\r\n}\r\n\r\nfunction TilingPattern(boundingBox, xStep, yStep, gState, matrix) {\r\n if (!(this instanceof TilingPattern)) {\r\n return new TilingPattern(boundingBox, xStep, yStep, gState, matrix);\r\n }\r\n\r\n this.boundingBox = boundingBox;\r\n this.xStep = xStep;\r\n this.yStep = yStep;\r\n\r\n this.stream = \"\"; // set by endTilingPattern();\r\n\r\n this.cloneIndex = 0;\r\n\r\n Pattern.call(this, gState, matrix);\r\n}\r\n\r\n/**\r\n * Creates new jsPDF document object instance.\r\n * @name jsPDF\r\n * @class\r\n * @param {Object} [options] - Collection of settings initializing the jsPDF-instance\r\n * @param {string} [options.orientation=portrait] - Orientation of the first page. Possible values are \"portrait\" or \"landscape\" (or shortcuts \"p\" or \"l\").
\r\n * @param {string} [options.unit=mm] Measurement unit (base unit) to be used when coordinates are specified.
\r\n * Possible values are \"pt\" (points), \"mm\", \"cm\", \"in\", \"px\", \"pc\", \"em\" or \"ex\". Note that in order to get the correct scaling for \"px\"\r\n * units, you need to enable the hotfix \"px_scaling\" by setting options.hotfixes = [\"px_scaling\"].\r\n * @param {string/Array} [options.format=a4] The format of the first 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 {boolean} [options.putOnlyUsedFonts=false] Only put fonts into the PDF, which were used.\r\n * @param {boolean} [options.compress=false] Compress the generated PDF.\r\n * @param {number} [options.precision=16] Precision of the element-positions.\r\n * @param {number} [options.userUnit=1.0] Not to be confused with the base unit. Please inform yourself before you use it.\r\n * @param {string[]} [options.hotfixes] An array of strings to enable hotfixes such as correct pixel scaling.\r\n * @param {Object} [options.encryption]\r\n * @param {string} [options.encryption.userPassword] Password for the user bound by the given permissions list.\r\n * @param {string} [options.encryption.ownerPassword] Both userPassword and ownerPassword should be set for proper authentication.\r\n * @param {string[]} [options.encryption.userPermissions] Array of permissions \"print\", \"modify\", \"copy\", \"annot-forms\", accessible by the user.\r\n * @param {number|\"smart\"} [options.floatPrecision=16]\r\n * @returns {jsPDF} jsPDF-instance\r\n * @description\r\n * ```\r\n * {\r\n * orientation: 'p',\r\n * unit: 'mm',\r\n * format: 'a4',\r\n * putOnlyUsedFonts:true,\r\n * floatPrecision: 16 // or \"smart\", default is 16\r\n * }\r\n * ```\r\n *\r\n * @constructor\r\n */\r\nfunction jsPDF(options) {\r\n var orientation = typeof arguments[0] === \"string\" ? arguments[0] : \"p\";\r\n var unit = arguments[1];\r\n var format = arguments[2];\r\n var compressPdf = arguments[3];\r\n var filters = [];\r\n var userUnit = 1.0;\r\n var precision;\r\n var floatPrecision = 16;\r\n var defaultPathOperation = \"S\";\r\n var encryptionOptions = null;\r\n\r\n options = options || {};\r\n\r\n if (typeof options === \"object\") {\r\n orientation = options.orientation;\r\n unit = options.unit || unit;\r\n format = options.format || format;\r\n compressPdf = options.compress || options.compressPdf || compressPdf;\r\n encryptionOptions = options.encryption || null;\r\n if (encryptionOptions !== null) {\r\n encryptionOptions.userPassword = encryptionOptions.userPassword || \"\";\r\n encryptionOptions.ownerPassword = encryptionOptions.ownerPassword || \"\";\r\n encryptionOptions.userPermissions =\r\n encryptionOptions.userPermissions || [];\r\n }\r\n userUnit =\r\n typeof options.userUnit === \"number\" ? Math.abs(options.userUnit) : 1.0;\r\n if (typeof options.precision !== \"undefined\") {\r\n precision = options.precision;\r\n }\r\n if (typeof options.floatPrecision !== \"undefined\") {\r\n floatPrecision = options.floatPrecision;\r\n }\r\n defaultPathOperation = options.defaultPathOperation || \"S\";\r\n }\r\n\r\n filters =\r\n options.filters || (compressPdf === true ? [\"FlateEncode\"] : filters);\r\n\r\n unit = unit || \"mm\";\r\n orientation = (\"\" + (orientation || \"P\")).toLowerCase();\r\n var putOnlyUsedFonts = options.putOnlyUsedFonts || false;\r\n var usedFonts = {};\r\n\r\n var API = {\r\n internal: {},\r\n __private__: {}\r\n };\r\n\r\n API.__private__.PubSub = PubSub;\r\n\r\n var pdfVersion = \"1.3\";\r\n var getPdfVersion = (API.__private__.getPdfVersion = function() {\r\n return pdfVersion;\r\n });\r\n\r\n API.__private__.setPdfVersion = function(value) {\r\n pdfVersion = value;\r\n };\r\n\r\n // Size in pt of various paper formats\r\n var pageFormats = {\r\n a0: [2383.94, 3370.39],\r\n a1: [1683.78, 2383.94],\r\n a2: [1190.55, 1683.78],\r\n a3: [841.89, 1190.55],\r\n a4: [595.28, 841.89],\r\n a5: [419.53, 595.28],\r\n a6: [297.64, 419.53],\r\n a7: [209.76, 297.64],\r\n a8: [147.4, 209.76],\r\n a9: [104.88, 147.4],\r\n a10: [73.7, 104.88],\r\n b0: [2834.65, 4008.19],\r\n b1: [2004.09, 2834.65],\r\n b2: [1417.32, 2004.09],\r\n b3: [1000.63, 1417.32],\r\n b4: [708.66, 1000.63],\r\n b5: [498.9, 708.66],\r\n b6: [354.33, 498.9],\r\n b7: [249.45, 354.33],\r\n b8: [175.75, 249.45],\r\n b9: [124.72, 175.75],\r\n b10: [87.87, 124.72],\r\n c0: [2599.37, 3676.54],\r\n c1: [1836.85, 2599.37],\r\n c2: [1298.27, 1836.85],\r\n c3: [918.43, 1298.27],\r\n c4: [649.13, 918.43],\r\n c5: [459.21, 649.13],\r\n c6: [323.15, 459.21],\r\n c7: [229.61, 323.15],\r\n c8: [161.57, 229.61],\r\n c9: [113.39, 161.57],\r\n c10: [79.37, 113.39],\r\n dl: [311.81, 623.62],\r\n letter: [612, 792],\r\n \"government-letter\": [576, 756],\r\n legal: [612, 1008],\r\n \"junior-legal\": [576, 360],\r\n ledger: [1224, 792],\r\n tabloid: [792, 1224],\r\n \"credit-card\": [153, 243]\r\n };\r\n\r\n API.__private__.getPageFormats = function() {\r\n return pageFormats;\r\n };\r\n\r\n var getPageFormat = (API.__private__.getPageFormat = function(value) {\r\n return pageFormats[value];\r\n });\r\n\r\n format = format || \"a4\";\r\n\r\n var ApiMode = {\r\n COMPAT: \"compat\",\r\n ADVANCED: \"advanced\"\r\n };\r\n var apiMode = ApiMode.COMPAT;\r\n\r\n function advancedAPI() {\r\n // prepend global change of basis matrix\r\n // (Now, instead of converting every coordinate to the pdf coordinate system, we apply a matrix\r\n // that does this job for us (however, texts, images and similar objects must be drawn bottom up))\r\n this.saveGraphicsState();\r\n out(\r\n new Matrix(\r\n scaleFactor,\r\n 0,\r\n 0,\r\n -scaleFactor,\r\n 0,\r\n getPageHeight() * scaleFactor\r\n ).toString() + \" cm\"\r\n );\r\n this.setFontSize(this.getFontSize() / scaleFactor);\r\n\r\n // The default in MrRio's implementation is \"S\" (stroke), whereas the default in the yWorks implementation\r\n // was \"n\" (none). Although this has nothing to do with transforms, we should use the API switch here.\r\n defaultPathOperation = \"n\";\r\n\r\n apiMode = ApiMode.ADVANCED;\r\n }\r\n\r\n function compatAPI() {\r\n this.restoreGraphicsState();\r\n defaultPathOperation = \"S\";\r\n apiMode = ApiMode.COMPAT;\r\n }\r\n\r\n /**\r\n * @function combineFontStyleAndFontWeight\r\n * @param {string} fontStyle Fontstyle or variant. Example: \"italic\".\r\n * @param {number | string} fontWeight Weight of the Font. Example: \"normal\" | 400\r\n * @returns {string}\r\n * @private\r\n */\r\n var combineFontStyleAndFontWeight = (API.__private__.combineFontStyleAndFontWeight = function(\r\n fontStyle,\r\n fontWeight\r\n ) {\r\n if (\r\n (fontStyle == \"bold\" && fontWeight == \"normal\") ||\r\n (fontStyle == \"bold\" && fontWeight == 400) ||\r\n (fontStyle == \"normal\" && fontWeight == \"italic\") ||\r\n (fontStyle == \"bold\" && fontWeight == \"italic\")\r\n ) {\r\n throw new Error(\"Invalid Combination of fontweight and fontstyle\");\r\n }\r\n if (fontWeight) {\r\n fontStyle =\r\n fontWeight == 400 || fontWeight === \"normal\"\r\n ? fontStyle === \"italic\"\r\n ? \"italic\"\r\n : \"normal\"\r\n : (fontWeight == 700 || fontWeight === \"bold\") &&\r\n fontStyle === \"normal\"\r\n ? \"bold\"\r\n : (fontWeight == 700 ? \"bold\" : fontWeight) + \"\" + fontStyle;\r\n }\r\n return fontStyle;\r\n });\r\n\r\n /**\r\n * @callback ApiSwitchBody\r\n * @param {jsPDF} pdf\r\n */\r\n\r\n /**\r\n * For compatibility reasons jsPDF offers two API modes which differ in the way they convert between the the usual\r\n * screen coordinates and the PDF coordinate system.\r\n * - \"compat\": Offers full compatibility across all plugins but does not allow arbitrary transforms\r\n * - \"advanced\": Allows arbitrary transforms and more advanced features like pattern fills. Some plugins might\r\n * not support this mode, though.\r\n * Initial mode is \"compat\".\r\n *\r\n * You can either provide a callback to the body argument, which means that jsPDF will automatically switch back to\r\n * the original API mode afterwards; or you can omit the callback and switch back manually using {@link compatAPI}.\r\n *\r\n * Note, that the calls to {@link saveGraphicsState} and {@link restoreGraphicsState} need to be balanced within the\r\n * callback or between calls of this method and its counterpart {@link compatAPI}. Calls to {@link beginFormObject}\r\n * or {@link beginTilingPattern} need to be closed by their counterparts before switching back to \"compat\" API mode.\r\n *\r\n * @param {ApiSwitchBody=} body When provided, this callback will be called after the API mode has been switched.\r\n * The API mode will be switched back automatically afterwards.\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name advancedAPI\r\n */\r\n API.advancedAPI = function(body) {\r\n var doSwitch = apiMode === ApiMode.COMPAT;\r\n\r\n if (doSwitch) {\r\n advancedAPI.call(this);\r\n }\r\n\r\n if (typeof body !== \"function\") {\r\n return this;\r\n }\r\n\r\n body(this);\r\n\r\n if (doSwitch) {\r\n compatAPI.call(this);\r\n }\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * Switches to \"compat\" API mode. See {@link advancedAPI} for more details.\r\n *\r\n * @param {ApiSwitchBody=} body When provided, this callback will be called after the API mode has been switched.\r\n * The API mode will be switched back automatically afterwards.\r\n * @return {jsPDF}\r\n * @memberof jsPDF#\r\n * @name compatApi\r\n */\r\n API.compatAPI = function(body) {\r\n var doSwitch = apiMode === ApiMode.ADVANCED;\r\n\r\n if (doSwitch) {\r\n compatAPI.call(this);\r\n }\r\n\r\n if (typeof body !== \"function\") {\r\n return this;\r\n }\r\n\r\n body(this);\r\n\r\n if (doSwitch) {\r\n advancedAPI.call(this);\r\n }\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * @return {boolean} True iff the current API mode is \"advanced\". See {@link advancedAPI}.\r\n * @memberof jsPDF#\r\n * @name isAdvancedAPI\r\n */\r\n API.isAdvancedAPI = function() {\r\n return apiMode === ApiMode.ADVANCED;\r\n };\r\n\r\n var advancedApiModeTrap = function(methodName) {\r\n if (apiMode !== ApiMode.ADVANCED) {\r\n throw new Error(\r\n methodName +\r\n \" is only available in 'advanced' API mode. \" +\r\n \"You need to call advancedAPI() first.\"\r\n );\r\n }\r\n };\r\n\r\n var roundToPrecision = (API.roundToPrecision = API.__private__.roundToPrecision = function(\r\n number,\r\n parmPrecision\r\n ) {\r\n var tmpPrecision = precision || parmPrecision;\r\n if (isNaN(number) || isNaN(tmpPrecision)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.roundToPrecision\");\r\n }\r\n return number.toFixed(tmpPrecision).replace(/0+$/, \"\");\r\n });\r\n\r\n // high precision float\r\n var hpf;\r\n if (typeof floatPrecision === \"number\") {\r\n hpf = API.hpf = API.__private__.hpf = function(number) {\r\n if (isNaN(number)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.hpf\");\r\n }\r\n return roundToPrecision(number, floatPrecision);\r\n };\r\n } else if (floatPrecision === \"smart\") {\r\n hpf = API.hpf = API.__private__.hpf = function(number) {\r\n if (isNaN(number)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.hpf\");\r\n }\r\n if (number > -1 && number < 1) {\r\n return roundToPrecision(number, 16);\r\n } else {\r\n return roundToPrecision(number, 5);\r\n }\r\n };\r\n } else {\r\n hpf = API.hpf = API.__private__.hpf = function(number) {\r\n if (isNaN(number)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.hpf\");\r\n }\r\n return roundToPrecision(number, 16);\r\n };\r\n }\r\n var f2 = (API.f2 = API.__private__.f2 = function(number) {\r\n if (isNaN(number)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.f2\");\r\n }\r\n return roundToPrecision(number, 2);\r\n });\r\n\r\n var f3 = (API.__private__.f3 = function(number) {\r\n if (isNaN(number)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.f3\");\r\n }\r\n return roundToPrecision(number, 3);\r\n });\r\n\r\n var scale = (API.scale = API.__private__.scale = function(number) {\r\n if (isNaN(number)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.scale\");\r\n }\r\n if (apiMode === ApiMode.COMPAT) {\r\n return number * scaleFactor;\r\n } else if (apiMode === ApiMode.ADVANCED) {\r\n return number;\r\n }\r\n });\r\n\r\n var transformY = function(y) {\r\n if (apiMode === ApiMode.COMPAT) {\r\n return getPageHeight() - y;\r\n } else if (apiMode === ApiMode.ADVANCED) {\r\n return y;\r\n }\r\n };\r\n\r\n var transformScaleY = function(y) {\r\n return scale(transformY(y));\r\n };\r\n\r\n /**\r\n * @name setPrecision\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n * @param {string} precision\r\n * @returns {jsPDF}\r\n */\r\n API.__private__.setPrecision = API.setPrecision = function(value) {\r\n if (typeof parseInt(value, 10) === \"number\") {\r\n precision = parseInt(value, 10);\r\n }\r\n };\r\n\r\n var fileId = \"00000000000000000000000000000000\";\r\n\r\n var getFileId = (API.__private__.getFileId = function() {\r\n return fileId;\r\n });\r\n\r\n var setFileId = (API.__private__.setFileId = function(value) {\r\n if (typeof value !== \"undefined\" && /^[a-fA-F0-9]{32}$/.test(value)) {\r\n fileId = value.toUpperCase();\r\n } else {\r\n fileId = fileId\r\n .split(\"\")\r\n .map(function() {\r\n return \"ABCDEF0123456789\".charAt(Math.floor(Math.random() * 16));\r\n })\r\n .join(\"\");\r\n }\r\n\r\n if (encryptionOptions !== null) {\r\n encryption = new PDFSecurity(\r\n encryptionOptions.userPermissions,\r\n encryptionOptions.userPassword,\r\n encryptionOptions.ownerPassword,\r\n fileId\r\n );\r\n }\r\n return fileId;\r\n });\r\n\r\n /**\r\n * @name setFileId\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n * @param {string} value GUID.\r\n * @returns {jsPDF}\r\n */\r\n API.setFileId = function(value) {\r\n setFileId(value);\r\n return this;\r\n };\r\n\r\n /**\r\n * @name getFileId\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n *\r\n * @returns {string} GUID.\r\n */\r\n API.getFileId = function() {\r\n return getFileId();\r\n };\r\n\r\n var creationDate;\r\n\r\n var convertDateToPDFDate = (API.__private__.convertDateToPDFDate = function(\r\n parmDate\r\n ) {\r\n var result = \"\";\r\n var tzoffset = parmDate.getTimezoneOffset(),\r\n tzsign = tzoffset < 0 ? \"+\" : \"-\",\r\n tzhour = Math.floor(Math.abs(tzoffset / 60)),\r\n tzmin = Math.abs(tzoffset % 60),\r\n timeZoneString = [tzsign, padd2(tzhour), \"'\", padd2(tzmin), \"'\"].join(\"\");\r\n\r\n result = [\r\n \"D:\",\r\n parmDate.getFullYear(),\r\n padd2(parmDate.getMonth() + 1),\r\n padd2(parmDate.getDate()),\r\n padd2(parmDate.getHours()),\r\n padd2(parmDate.getMinutes()),\r\n padd2(parmDate.getSeconds()),\r\n timeZoneString\r\n ].join(\"\");\r\n return result;\r\n });\r\n\r\n var convertPDFDateToDate = (API.__private__.convertPDFDateToDate = function(\r\n parmPDFDate\r\n ) {\r\n var year = parseInt(parmPDFDate.substr(2, 4), 10);\r\n var month = parseInt(parmPDFDate.substr(6, 2), 10) - 1;\r\n var date = parseInt(parmPDFDate.substr(8, 2), 10);\r\n var hour = parseInt(parmPDFDate.substr(10, 2), 10);\r\n var minutes = parseInt(parmPDFDate.substr(12, 2), 10);\r\n var seconds = parseInt(parmPDFDate.substr(14, 2), 10);\r\n // var timeZoneHour = parseInt(parmPDFDate.substr(16, 2), 10);\r\n // var timeZoneMinutes = parseInt(parmPDFDate.substr(20, 2), 10);\r\n\r\n var resultingDate = new Date(year, month, date, hour, minutes, seconds, 0);\r\n return resultingDate;\r\n });\r\n\r\n var setCreationDate = (API.__private__.setCreationDate = function(date) {\r\n var tmpCreationDateString;\r\n var regexPDFCreationDate = /^D:(20[0-2][0-9]|203[0-7]|19[7-9][0-9])(0[0-9]|1[0-2])([0-2][0-9]|3[0-1])(0[0-9]|1[0-9]|2[0-3])(0[0-9]|[1-5][0-9])(0[0-9]|[1-5][0-9])(\\+0[0-9]|\\+1[0-4]|-0[0-9]|-1[0-1])'(0[0-9]|[1-5][0-9])'?$/;\r\n if (typeof date === \"undefined\") {\r\n date = new Date();\r\n }\r\n\r\n if (date instanceof Date) {\r\n tmpCreationDateString = convertDateToPDFDate(date);\r\n } else if (regexPDFCreationDate.test(date)) {\r\n tmpCreationDateString = date;\r\n } else {\r\n throw new Error(\"Invalid argument passed to jsPDF.setCreationDate\");\r\n }\r\n creationDate = tmpCreationDateString;\r\n return creationDate;\r\n });\r\n\r\n var getCreationDate = (API.__private__.getCreationDate = function(type) {\r\n var result = creationDate;\r\n if (type === \"jsDate\") {\r\n result = convertPDFDateToDate(creationDate);\r\n }\r\n return result;\r\n });\r\n\r\n /**\r\n * @name setCreationDate\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n * @param {Object} date\r\n * @returns {jsPDF}\r\n */\r\n API.setCreationDate = function(date) {\r\n setCreationDate(date);\r\n return this;\r\n };\r\n\r\n /**\r\n * @name getCreationDate\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n * @param {Object} type\r\n * @returns {Object}\r\n */\r\n API.getCreationDate = function(type) {\r\n return getCreationDate(type);\r\n };\r\n\r\n var padd2 = (API.__private__.padd2 = function(number) {\r\n return (\"0\" + parseInt(number)).slice(-2);\r\n });\r\n\r\n var padd2Hex = (API.__private__.padd2Hex = function(hexString) {\r\n hexString = hexString.toString();\r\n return (\"00\" + hexString).substr(hexString.length);\r\n });\r\n\r\n var objectNumber = 0; // 'n' Current object number\r\n var offsets = []; // List of offsets. Activated and reset by buildDocument(). Pupulated by various calls buildDocument makes.\r\n var content = [];\r\n var contentLength = 0;\r\n var additionalObjects = [];\r\n\r\n var pages = [];\r\n var currentPage;\r\n var hasCustomDestination = false;\r\n var outputDestination = content;\r\n\r\n var resetDocument = function() {\r\n //reset fields relevant for objectNumber generation and xref.\r\n objectNumber = 0;\r\n contentLength = 0;\r\n content = [];\r\n offsets = [];\r\n additionalObjects = [];\r\n\r\n rootDictionaryObjId = newObjectDeferred();\r\n resourceDictionaryObjId = newObjectDeferred();\r\n };\r\n\r\n API.__private__.setCustomOutputDestination = function(destination) {\r\n hasCustomDestination = true;\r\n outputDestination = destination;\r\n };\r\n var setOutputDestination = function(destination) {\r\n if (!hasCustomDestination) {\r\n outputDestination = destination;\r\n }\r\n };\r\n\r\n API.__private__.resetCustomOutputDestination = function() {\r\n hasCustomDestination = false;\r\n outputDestination = content;\r\n };\r\n\r\n var out = (API.__private__.out = function(string) {\r\n string = string.toString();\r\n contentLength += string.length + 1;\r\n outputDestination.push(string);\r\n\r\n return outputDestination;\r\n });\r\n\r\n var write = (API.__private__.write = function(value) {\r\n return out(\r\n arguments.length === 1\r\n ? value.toString()\r\n : Array.prototype.join.call(arguments, \" \")\r\n );\r\n });\r\n\r\n var getArrayBuffer = (API.__private__.getArrayBuffer = function(data) {\r\n var len = data.length,\r\n ab = new ArrayBuffer(len),\r\n u8 = new Uint8Array(ab);\r\n\r\n while (len--) u8[len] = data.charCodeAt(len);\r\n return ab;\r\n });\r\n\r\n var standardFonts = [\r\n [\"Helvetica\", \"helvetica\", \"normal\", \"WinAnsiEncoding\"],\r\n [\"Helvetica-Bold\", \"helvetica\", \"bold\", \"WinAnsiEncoding\"],\r\n [\"Helvetica-Oblique\", \"helvetica\", \"italic\", \"WinAnsiEncoding\"],\r\n [\"Helvetica-BoldOblique\", \"helvetica\", \"bolditalic\", \"WinAnsiEncoding\"],\r\n [\"Courier\", \"courier\", \"normal\", \"WinAnsiEncoding\"],\r\n [\"Courier-Bold\", \"courier\", \"bold\", \"WinAnsiEncoding\"],\r\n [\"Courier-Oblique\", \"courier\", \"italic\", \"WinAnsiEncoding\"],\r\n [\"Courier-BoldOblique\", \"courier\", \"bolditalic\", \"WinAnsiEncoding\"],\r\n [\"Times-Roman\", \"times\", \"normal\", \"WinAnsiEncoding\"],\r\n [\"Times-Bold\", \"times\", \"bold\", \"WinAnsiEncoding\"],\r\n [\"Times-Italic\", \"times\", \"italic\", \"WinAnsiEncoding\"],\r\n [\"Times-BoldItalic\", \"times\", \"bolditalic\", \"WinAnsiEncoding\"],\r\n [\"ZapfDingbats\", \"zapfdingbats\", \"normal\", null],\r\n [\"Symbol\", \"symbol\", \"normal\", null]\r\n ];\r\n\r\n API.__private__.getStandardFonts = function() {\r\n return standardFonts;\r\n };\r\n\r\n var activeFontSize = options.fontSize || 16;\r\n\r\n /**\r\n * Sets font size for upcoming text elements.\r\n *\r\n * @param {number} size Font size in points.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setFontSize\r\n */\r\n API.__private__.setFontSize = API.setFontSize = function(size) {\r\n if (apiMode === ApiMode.ADVANCED) {\r\n activeFontSize = size / scaleFactor;\r\n } else {\r\n activeFontSize = size;\r\n }\r\n return this;\r\n };\r\n\r\n /**\r\n * Gets the fontsize for upcoming text elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {number}\r\n * @memberof jsPDF#\r\n * @name getFontSize\r\n */\r\n var getFontSize = (API.__private__.getFontSize = API.getFontSize = function() {\r\n if (apiMode === ApiMode.COMPAT) {\r\n return activeFontSize;\r\n } else {\r\n return activeFontSize * scaleFactor;\r\n }\r\n });\r\n\r\n var R2L = options.R2L || false;\r\n\r\n /**\r\n * Set value of R2L functionality.\r\n *\r\n * @param {boolean} value\r\n * @function\r\n * @instance\r\n * @returns {jsPDF} jsPDF-instance\r\n * @memberof jsPDF#\r\n * @name setR2L\r\n */\r\n API.__private__.setR2L = API.setR2L = function(value) {\r\n R2L = value;\r\n return this;\r\n };\r\n\r\n /**\r\n * Get value of R2L functionality.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {boolean} jsPDF-instance\r\n * @memberof jsPDF#\r\n * @name getR2L\r\n */\r\n API.__private__.getR2L = API.getR2L = function() {\r\n return R2L;\r\n };\r\n\r\n var zoomMode; // default: 1;\r\n\r\n var setZoomMode = (API.__private__.setZoomMode = function(zoom) {\r\n var validZoomModes = [\r\n undefined,\r\n null,\r\n \"fullwidth\",\r\n \"fullheight\",\r\n \"fullpage\",\r\n \"original\"\r\n ];\r\n\r\n if (/^(?:\\d+\\.\\d*|\\d*\\.\\d+|\\d+)%$/.test(zoom)) {\r\n zoomMode = zoom;\r\n } else if (!isNaN(zoom)) {\r\n zoomMode = parseInt(zoom, 10);\r\n } else if (validZoomModes.indexOf(zoom) !== -1) {\r\n zoomMode = zoom;\r\n } else {\r\n throw new Error(\r\n 'zoom must be Integer (e.g. 2), a percentage Value (e.g. 300%) or fullwidth, fullheight, fullpage, original. \"' +\r\n zoom +\r\n '\" is not recognized.'\r\n );\r\n }\r\n });\r\n\r\n API.__private__.getZoomMode = function() {\r\n return zoomMode;\r\n };\r\n\r\n var pageMode; // default: 'UseOutlines';\r\n var setPageMode = (API.__private__.setPageMode = function(pmode) {\r\n var validPageModes = [\r\n undefined,\r\n null,\r\n \"UseNone\",\r\n \"UseOutlines\",\r\n \"UseThumbs\",\r\n \"FullScreen\"\r\n ];\r\n\r\n if (validPageModes.indexOf(pmode) == -1) {\r\n throw new Error(\r\n 'Page mode must be one of UseNone, UseOutlines, UseThumbs, or FullScreen. \"' +\r\n pmode +\r\n '\" is not recognized.'\r\n );\r\n }\r\n pageMode = pmode;\r\n });\r\n\r\n API.__private__.getPageMode = function() {\r\n return pageMode;\r\n };\r\n\r\n var layoutMode; // default: 'continuous';\r\n var setLayoutMode = (API.__private__.setLayoutMode = function(layout) {\r\n var validLayoutModes = [\r\n undefined,\r\n null,\r\n \"continuous\",\r\n \"single\",\r\n \"twoleft\",\r\n \"tworight\",\r\n \"two\"\r\n ];\r\n\r\n if (validLayoutModes.indexOf(layout) == -1) {\r\n throw new Error(\r\n 'Layout mode must be one of continuous, single, twoleft, tworight. \"' +\r\n layout +\r\n '\" is not recognized.'\r\n );\r\n }\r\n layoutMode = layout;\r\n });\r\n\r\n API.__private__.getLayoutMode = function() {\r\n return layoutMode;\r\n };\r\n\r\n /**\r\n * Set the display mode options of the page like zoom and layout.\r\n *\r\n * @name setDisplayMode\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n * @param {integer|String} zoom You can pass an integer or percentage as\r\n * a string. 2 will scale the document up 2x, '200%' will scale up by the\r\n * same amount. You can also set it to 'fullwidth', 'fullheight',\r\n * 'fullpage', or 'original'.\r\n *\r\n * Only certain PDF readers support this, such as Adobe Acrobat.\r\n *\r\n * @param {string} layout Layout mode can be: 'continuous' - this is the\r\n * default continuous scroll. 'single' - the single page mode only shows one\r\n * page at a time. 'twoleft' - two column left mode, first page starts on\r\n * the left, and 'tworight' - pages are laid out in two columns, with the\r\n * first page on the right. This would be used for books.\r\n * @param {string} pmode 'UseOutlines' - it shows the\r\n * outline of the document on the left. 'UseThumbs' - shows thumbnails along\r\n * the left. 'FullScreen' - prompts the user to enter fullscreen mode.\r\n *\r\n * @returns {jsPDF}\r\n */\r\n API.__private__.setDisplayMode = API.setDisplayMode = function(\r\n zoom,\r\n layout,\r\n pmode\r\n ) {\r\n setZoomMode(zoom);\r\n setLayoutMode(layout);\r\n setPageMode(pmode);\r\n return this;\r\n };\r\n\r\n var documentProperties = {\r\n title: \"\",\r\n subject: \"\",\r\n author: \"\",\r\n keywords: \"\",\r\n creator: \"\"\r\n };\r\n\r\n API.__private__.getDocumentProperty = function(key) {\r\n if (Object.keys(documentProperties).indexOf(key) === -1) {\r\n throw new Error(\"Invalid argument passed to jsPDF.getDocumentProperty\");\r\n }\r\n return documentProperties[key];\r\n };\r\n\r\n API.__private__.getDocumentProperties = function() {\r\n return documentProperties;\r\n };\r\n\r\n /**\r\n * Adds a properties to the PDF document.\r\n *\r\n * @param {Object} A property_name-to-property_value object structure.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setDocumentProperties\r\n */\r\n API.__private__.setDocumentProperties = API.setProperties = API.setDocumentProperties = function(\r\n properties\r\n ) {\r\n // copying only those properties we can render.\r\n for (var property in documentProperties) {\r\n if (documentProperties.hasOwnProperty(property) && properties[property]) {\r\n documentProperties[property] = properties[property];\r\n }\r\n }\r\n return this;\r\n };\r\n\r\n API.__private__.setDocumentProperty = function(key, value) {\r\n if (Object.keys(documentProperties).indexOf(key) === -1) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.setDocumentProperty\");\r\n }\r\n return (documentProperties[key] = value);\r\n };\r\n\r\n var fonts = {}; // collection of font objects, where key is fontKey - a dynamically created label for a given font.\r\n var fontmap = {}; // mapping structure fontName > fontStyle > font key - performance layer. See addFont()\r\n var activeFontKey; // will be string representing the KEY of the font as combination of fontName + fontStyle\r\n var fontStateStack = []; //\r\n var patterns = {}; // collection of pattern objects\r\n var patternMap = {}; // see fonts\r\n var gStates = {}; // collection of graphic state objects\r\n var gStatesMap = {}; // see fonts\r\n var activeGState = null;\r\n var scaleFactor; // Scale factor\r\n var page = 0;\r\n var pagesContext = [];\r\n var events = new PubSub(API);\r\n var hotfixes = options.hotfixes || [];\r\n\r\n var renderTargets = {};\r\n var renderTargetMap = {};\r\n var renderTargetStack = [];\r\n var pageX;\r\n var pageY;\r\n var pageMatrix; // only used for FormObjects\r\n\r\n /**\r\n * A matrix object for 2D homogenous transformations:
\r\n * | a b 0 |
\r\n * | c d 0 |
\r\n * | e f 1 |
\r\n * pdf multiplies matrices righthand: v' = v x m1 x m2 x ...\r\n *\r\n * @class\r\n * @name Matrix\r\n * @param {number} sx\r\n * @param {number} shy\r\n * @param {number} shx\r\n * @param {number} sy\r\n * @param {number} tx\r\n * @param {number} ty\r\n * @constructor\r\n */\r\n var Matrix = function(sx, shy, shx, sy, tx, ty) {\r\n if (!(this instanceof Matrix)) {\r\n return new Matrix(sx, shy, shx, sy, tx, ty);\r\n }\r\n\r\n if (isNaN(sx)) sx = 1;\r\n if (isNaN(shy)) shy = 0;\r\n if (isNaN(shx)) shx = 0;\r\n if (isNaN(sy)) sy = 1;\r\n if (isNaN(tx)) tx = 0;\r\n if (isNaN(ty)) ty = 0;\r\n\r\n this._matrix = [sx, shy, shx, sy, tx, ty];\r\n };\r\n\r\n /**\r\n * @name sx\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"sx\", {\r\n get: function() {\r\n return this._matrix[0];\r\n },\r\n set: function(value) {\r\n this._matrix[0] = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name shy\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"shy\", {\r\n get: function() {\r\n return this._matrix[1];\r\n },\r\n set: function(value) {\r\n this._matrix[1] = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name shx\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"shx\", {\r\n get: function() {\r\n return this._matrix[2];\r\n },\r\n set: function(value) {\r\n this._matrix[2] = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name sy\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"sy\", {\r\n get: function() {\r\n return this._matrix[3];\r\n },\r\n set: function(value) {\r\n this._matrix[3] = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name tx\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"tx\", {\r\n get: function() {\r\n return this._matrix[4];\r\n },\r\n set: function(value) {\r\n this._matrix[4] = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name ty\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"ty\", {\r\n get: function() {\r\n return this._matrix[5];\r\n },\r\n set: function(value) {\r\n this._matrix[5] = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(Matrix.prototype, \"a\", {\r\n get: function() {\r\n return this._matrix[0];\r\n },\r\n set: function(value) {\r\n this._matrix[0] = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(Matrix.prototype, \"b\", {\r\n get: function() {\r\n return this._matrix[1];\r\n },\r\n set: function(value) {\r\n this._matrix[1] = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(Matrix.prototype, \"c\", {\r\n get: function() {\r\n return this._matrix[2];\r\n },\r\n set: function(value) {\r\n this._matrix[2] = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(Matrix.prototype, \"d\", {\r\n get: function() {\r\n return this._matrix[3];\r\n },\r\n set: function(value) {\r\n this._matrix[3] = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(Matrix.prototype, \"e\", {\r\n get: function() {\r\n return this._matrix[4];\r\n },\r\n set: function(value) {\r\n this._matrix[4] = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(Matrix.prototype, \"f\", {\r\n get: function() {\r\n return this._matrix[5];\r\n },\r\n set: function(value) {\r\n this._matrix[5] = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name rotation\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"rotation\", {\r\n get: function() {\r\n return Math.atan2(this.shx, this.sx);\r\n }\r\n });\r\n\r\n /**\r\n * @name scaleX\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"scaleX\", {\r\n get: function() {\r\n return this.decompose().scale.sx;\r\n }\r\n });\r\n\r\n /**\r\n * @name scaleY\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"scaleY\", {\r\n get: function() {\r\n return this.decompose().scale.sy;\r\n }\r\n });\r\n\r\n /**\r\n * @name isIdentity\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"isIdentity\", {\r\n get: function() {\r\n if (this.sx !== 1) {\r\n return false;\r\n }\r\n if (this.shy !== 0) {\r\n return false;\r\n }\r\n if (this.shx !== 0) {\r\n return false;\r\n }\r\n if (this.sy !== 1) {\r\n return false;\r\n }\r\n if (this.tx !== 0) {\r\n return false;\r\n }\r\n if (this.ty !== 0) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n });\r\n\r\n /**\r\n * Join the Matrix Values to a String\r\n *\r\n * @function join\r\n * @param {string} separator Specifies a string to separate each pair of adjacent elements of the array. The separator is converted to a string if necessary. If omitted, the array elements are separated with a comma (\",\"). If separator is an empty string, all elements are joined without any characters in between them.\r\n * @returns {string} A string with all array elements joined.\r\n * @memberof Matrix#\r\n */\r\n Matrix.prototype.join = function(separator) {\r\n return [this.sx, this.shy, this.shx, this.sy, this.tx, this.ty]\r\n .map(hpf)\r\n .join(separator);\r\n };\r\n\r\n /**\r\n * Multiply the matrix with given Matrix\r\n *\r\n * @function multiply\r\n * @param matrix\r\n * @returns {Matrix}\r\n * @memberof Matrix#\r\n */\r\n Matrix.prototype.multiply = function(matrix) {\r\n var sx = matrix.sx * this.sx + matrix.shy * this.shx;\r\n var shy = matrix.sx * this.shy + matrix.shy * this.sy;\r\n var shx = matrix.shx * this.sx + matrix.sy * this.shx;\r\n var sy = matrix.shx * this.shy + matrix.sy * this.sy;\r\n var tx = matrix.tx * this.sx + matrix.ty * this.shx + this.tx;\r\n var ty = matrix.tx * this.shy + matrix.ty * this.sy + this.ty;\r\n\r\n return new Matrix(sx, shy, shx, sy, tx, ty);\r\n };\r\n\r\n /**\r\n * @function decompose\r\n * @memberof Matrix#\r\n */\r\n Matrix.prototype.decompose = function() {\r\n var a = this.sx;\r\n var b = this.shy;\r\n var c = this.shx;\r\n var d = this.sy;\r\n var e = this.tx;\r\n var f = this.ty;\r\n\r\n var scaleX = Math.sqrt(a * a + b * b);\r\n a /= scaleX;\r\n b /= scaleX;\r\n\r\n var shear = a * c + b * d;\r\n c -= a * shear;\r\n d -= b * shear;\r\n\r\n var scaleY = Math.sqrt(c * c + d * d);\r\n c /= scaleY;\r\n d /= scaleY;\r\n shear /= scaleY;\r\n\r\n if (a * d < b * c) {\r\n a = -a;\r\n b = -b;\r\n shear = -shear;\r\n scaleX = -scaleX;\r\n }\r\n\r\n return {\r\n scale: new Matrix(scaleX, 0, 0, scaleY, 0, 0),\r\n translate: new Matrix(1, 0, 0, 1, e, f),\r\n rotate: new Matrix(a, b, -b, a, 0, 0),\r\n skew: new Matrix(1, 0, shear, 1, 0, 0)\r\n };\r\n };\r\n\r\n /**\r\n * @function toString\r\n * @memberof Matrix#\r\n */\r\n Matrix.prototype.toString = function(parmPrecision) {\r\n return this.join(\" \");\r\n };\r\n\r\n /**\r\n * @function inversed\r\n * @memberof Matrix#\r\n */\r\n Matrix.prototype.inversed = function() {\r\n var a = this.sx,\r\n b = this.shy,\r\n c = this.shx,\r\n d = this.sy,\r\n e = this.tx,\r\n f = this.ty;\r\n\r\n var quot = 1 / (a * d - b * c);\r\n\r\n var aInv = d * quot;\r\n var bInv = -b * quot;\r\n var cInv = -c * quot;\r\n var dInv = a * quot;\r\n var eInv = -aInv * e - cInv * f;\r\n var fInv = -bInv * e - dInv * f;\r\n\r\n return new Matrix(aInv, bInv, cInv, dInv, eInv, fInv);\r\n };\r\n\r\n /**\r\n * @function applyToPoint\r\n * @memberof Matrix#\r\n */\r\n Matrix.prototype.applyToPoint = function(pt) {\r\n var x = pt.x * this.sx + pt.y * this.shx + this.tx;\r\n var y = pt.x * this.shy + pt.y * this.sy + this.ty;\r\n return new Point(x, y);\r\n };\r\n\r\n /**\r\n * @function applyToRectangle\r\n * @memberof Matrix#\r\n */\r\n Matrix.prototype.applyToRectangle = function(rect) {\r\n var pt1 = this.applyToPoint(rect);\r\n var pt2 = this.applyToPoint(new Point(rect.x + rect.w, rect.y + rect.h));\r\n return new Rectangle(pt1.x, pt1.y, pt2.x - pt1.x, pt2.y - pt1.y);\r\n };\r\n\r\n /**\r\n * Clone the Matrix\r\n *\r\n * @function clone\r\n * @memberof Matrix#\r\n * @name clone\r\n * @instance\r\n */\r\n Matrix.prototype.clone = function() {\r\n var sx = this.sx;\r\n var shy = this.shy;\r\n var shx = this.shx;\r\n var sy = this.sy;\r\n var tx = this.tx;\r\n var ty = this.ty;\r\n\r\n return new Matrix(sx, shy, shx, sy, tx, ty);\r\n };\r\n\r\n API.Matrix = Matrix;\r\n\r\n /**\r\n * Multiplies two matrices. (see {@link Matrix})\r\n * @param {Matrix} m1\r\n * @param {Matrix} m2\r\n * @memberof jsPDF#\r\n * @name matrixMult\r\n */\r\n var matrixMult = (API.matrixMult = function(m1, m2) {\r\n return m2.multiply(m1);\r\n });\r\n\r\n /**\r\n * The identity matrix (equivalent to new Matrix(1, 0, 0, 1, 0, 0)).\r\n * @type {Matrix}\r\n * @memberof! jsPDF#\r\n * @name identityMatrix\r\n */\r\n var identityMatrix = new Matrix(1, 0, 0, 1, 0, 0);\r\n API.unitMatrix = API.identityMatrix = identityMatrix;\r\n\r\n /**\r\n * Adds a new pattern for later use.\r\n * @param {String} key The key by it can be referenced later. The keys must be unique!\r\n * @param {API.Pattern} pattern The pattern\r\n */\r\n var addPattern = function(key, pattern) {\r\n // only add it if it is not already present (the keys provided by the user must be unique!)\r\n if (patternMap[key]) return;\r\n\r\n var prefix = pattern instanceof ShadingPattern ? \"Sh\" : \"P\";\r\n var patternKey = prefix + (Object.keys(patterns).length + 1).toString(10);\r\n pattern.id = patternKey;\r\n\r\n patternMap[key] = patternKey;\r\n patterns[patternKey] = pattern;\r\n\r\n events.publish(\"addPattern\", pattern);\r\n };\r\n\r\n /**\r\n * A pattern describing a shading pattern.\r\n *\r\n * Only available in \"advanced\" API mode.\r\n *\r\n * @param {String} type One of \"axial\" or \"radial\"\r\n * @param {Array} coords Either [x1, y1, x2, y2] for \"axial\" type describing the two interpolation points\r\n * or [x1, y1, r, x2, y2, r2] for \"radial\" describing inner and the outer circle.\r\n * @param {Array} colors An array of objects with the fields \"offset\" and \"color\". \"offset\" describes\r\n * the offset in parameter space [0, 1]. \"color\" is an array of length 3 describing RGB values in [0, 255].\r\n * @param {GState=} gState An additional graphics state that gets applied to the pattern (optional).\r\n * @param {Matrix=} matrix A matrix that describes the transformation between the pattern coordinate system\r\n * and the use coordinate system (optional).\r\n * @constructor\r\n * @extends API.Pattern\r\n */\r\n API.ShadingPattern = ShadingPattern;\r\n\r\n /**\r\n * A PDF Tiling pattern.\r\n *\r\n * Only available in \"advanced\" API mode.\r\n *\r\n * @param {Array.} boundingBox The bounding box at which one pattern cell gets clipped.\r\n * @param {Number} xStep Horizontal spacing between pattern cells.\r\n * @param {Number} yStep Vertical spacing between pattern cells.\r\n * @param {API.GState=} gState An additional graphics state that gets applied to the pattern (optional).\r\n * @param {Matrix=} matrix A matrix that describes the transformation between the pattern coordinate system\r\n * and the use coordinate system (optional).\r\n * @constructor\r\n * @extends API.Pattern\r\n */\r\n API.TilingPattern = TilingPattern;\r\n\r\n /**\r\n * Adds a new {@link API.ShadingPattern} for later use. Only available in \"advanced\" API mode.\r\n * @param {String} key\r\n * @param {Pattern} pattern\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name addPattern\r\n */\r\n API.addShadingPattern = function(key, pattern) {\r\n advancedApiModeTrap(\"addShadingPattern()\");\r\n\r\n addPattern(key, pattern);\r\n return this;\r\n };\r\n\r\n /**\r\n * Begins a new tiling pattern. All subsequent render calls are drawn to this pattern until {@link API.endTilingPattern}\r\n * gets called. Only available in \"advanced\" API mode.\r\n * @param {API.Pattern} pattern\r\n * @memberof jsPDF#\r\n * @name beginTilingPattern\r\n */\r\n API.beginTilingPattern = function(pattern) {\r\n advancedApiModeTrap(\"beginTilingPattern()\");\r\n\r\n beginNewRenderTarget(\r\n pattern.boundingBox[0],\r\n pattern.boundingBox[1],\r\n pattern.boundingBox[2] - pattern.boundingBox[0],\r\n pattern.boundingBox[3] - pattern.boundingBox[1],\r\n pattern.matrix\r\n );\r\n };\r\n\r\n /**\r\n * Ends a tiling pattern and sets the render target to the one active before {@link API.beginTilingPattern} has been called.\r\n *\r\n * Only available in \"advanced\" API mode.\r\n *\r\n * @param {string} key A unique key that is used to reference this pattern at later use.\r\n * @param {API.Pattern} pattern The pattern to end.\r\n * @memberof jsPDF#\r\n * @name endTilingPattern\r\n */\r\n API.endTilingPattern = function(key, pattern) {\r\n advancedApiModeTrap(\"endTilingPattern()\");\r\n\r\n // retrieve the stream\r\n pattern.stream = pages[currentPage].join(\"\\n\");\r\n\r\n addPattern(key, pattern);\r\n\r\n events.publish(\"endTilingPattern\", pattern);\r\n\r\n // restore state from stack\r\n renderTargetStack.pop().restore();\r\n };\r\n\r\n var newObject = (API.__private__.newObject = function() {\r\n var oid = newObjectDeferred();\r\n newObjectDeferredBegin(oid, true);\r\n return oid;\r\n });\r\n\r\n // Does not output the object. The caller must call newObjectDeferredBegin(oid) before outputing any data\r\n var newObjectDeferred = (API.__private__.newObjectDeferred = function() {\r\n objectNumber++;\r\n offsets[objectNumber] = function() {\r\n return contentLength;\r\n };\r\n return objectNumber;\r\n });\r\n\r\n var newObjectDeferredBegin = function(oid, doOutput) {\r\n doOutput = typeof doOutput === \"boolean\" ? doOutput : false;\r\n offsets[oid] = contentLength;\r\n if (doOutput) {\r\n out(oid + \" 0 obj\");\r\n }\r\n return oid;\r\n };\r\n // Does not output the object until after the pages have been output.\r\n // Returns an object containing the objectId and content.\r\n // All pages have been added so the object ID can be estimated to start right after.\r\n // This does not modify the current objectNumber; It must be updated after the newObjects are output.\r\n var newAdditionalObject = (API.__private__.newAdditionalObject = function() {\r\n var objId = newObjectDeferred();\r\n var obj = {\r\n objId: objId,\r\n content: \"\"\r\n };\r\n additionalObjects.push(obj);\r\n return obj;\r\n });\r\n\r\n var rootDictionaryObjId = newObjectDeferred();\r\n var resourceDictionaryObjId = newObjectDeferred();\r\n\r\n /////////////////////\r\n // Private functions\r\n /////////////////////\r\n\r\n var decodeColorString = (API.__private__.decodeColorString = function(color) {\r\n var colorEncoded = color.split(\" \");\r\n if (\r\n colorEncoded.length === 2 &&\r\n (colorEncoded[1] === \"g\" || colorEncoded[1] === \"G\")\r\n ) {\r\n // convert grayscale value to rgb so that it can be converted to hex for consistency\r\n var floatVal = parseFloat(colorEncoded[0]);\r\n colorEncoded = [floatVal, floatVal, floatVal, \"r\"];\r\n } else if (\r\n colorEncoded.length === 5 &&\r\n (colorEncoded[4] === \"k\" || colorEncoded[4] === \"K\")\r\n ) {\r\n // convert CMYK values to rbg so that it can be converted to hex for consistency\r\n var red = (1.0 - colorEncoded[0]) * (1.0 - colorEncoded[3]);\r\n var green = (1.0 - colorEncoded[1]) * (1.0 - colorEncoded[3]);\r\n var blue = (1.0 - colorEncoded[2]) * (1.0 - colorEncoded[3]);\r\n\r\n colorEncoded = [red, green, blue, \"r\"];\r\n }\r\n var colorAsRGB = \"#\";\r\n for (var i = 0; i < 3; i++) {\r\n colorAsRGB += (\r\n \"0\" + Math.floor(parseFloat(colorEncoded[i]) * 255).toString(16)\r\n ).slice(-2);\r\n }\r\n return colorAsRGB;\r\n });\r\n\r\n var encodeColorString = (API.__private__.encodeColorString = function(\r\n options\r\n ) {\r\n var color;\r\n\r\n if (typeof options === \"string\") {\r\n options = {\r\n ch1: options\r\n };\r\n }\r\n var ch1 = options.ch1;\r\n var ch2 = options.ch2;\r\n var ch3 = options.ch3;\r\n var ch4 = options.ch4;\r\n var letterArray =\r\n options.pdfColorType === \"draw\" ? [\"G\", \"RG\", \"K\"] : [\"g\", \"rg\", \"k\"];\r\n\r\n if (typeof ch1 === \"string\" && ch1.charAt(0) !== \"#\") {\r\n var rgbColor = new RGBColor(ch1);\r\n if (rgbColor.ok) {\r\n ch1 = rgbColor.toHex();\r\n } else if (!/^\\d*\\.?\\d*$/.test(ch1)) {\r\n throw new Error(\r\n 'Invalid color \"' + ch1 + '\" passed to jsPDF.encodeColorString.'\r\n );\r\n }\r\n }\r\n //convert short rgb to long form\r\n if (typeof ch1 === \"string\" && /^#[0-9A-Fa-f]{3}$/.test(ch1)) {\r\n ch1 = \"#\" + ch1[1] + ch1[1] + ch1[2] + ch1[2] + ch1[3] + ch1[3];\r\n }\r\n\r\n if (typeof ch1 === \"string\" && /^#[0-9A-Fa-f]{6}$/.test(ch1)) {\r\n var hex = parseInt(ch1.substr(1), 16);\r\n ch1 = (hex >> 16) & 255;\r\n ch2 = (hex >> 8) & 255;\r\n ch3 = hex & 255;\r\n }\r\n\r\n if (\r\n typeof ch2 === \"undefined\" ||\r\n (typeof ch4 === \"undefined\" && ch1 === ch2 && ch2 === ch3)\r\n ) {\r\n // Gray color space.\r\n if (typeof ch1 === \"string\") {\r\n color = ch1 + \" \" + letterArray[0];\r\n } else {\r\n switch (options.precision) {\r\n case 2:\r\n color = f2(ch1 / 255) + \" \" + letterArray[0];\r\n break;\r\n case 3:\r\n default:\r\n color = f3(ch1 / 255) + \" \" + letterArray[0];\r\n }\r\n }\r\n } else if (typeof ch4 === \"undefined\" || typeof ch4 === \"object\") {\r\n // assume RGBA\r\n if (ch4 && !isNaN(ch4.a)) {\r\n //TODO Implement transparency.\r\n //WORKAROUND use white for now, if transparent, otherwise handle as rgb\r\n if (ch4.a === 0) {\r\n color = [\"1.\", \"1.\", \"1.\", letterArray[1]].join(\" \");\r\n return color;\r\n }\r\n }\r\n // assume RGB\r\n if (typeof ch1 === \"string\") {\r\n color = [ch1, ch2, ch3, letterArray[1]].join(\" \");\r\n } else {\r\n switch (options.precision) {\r\n case 2:\r\n color = [\r\n f2(ch1 / 255),\r\n f2(ch2 / 255),\r\n f2(ch3 / 255),\r\n letterArray[1]\r\n ].join(\" \");\r\n break;\r\n default:\r\n case 3:\r\n color = [\r\n f3(ch1 / 255),\r\n f3(ch2 / 255),\r\n f3(ch3 / 255),\r\n letterArray[1]\r\n ].join(\" \");\r\n }\r\n }\r\n } else {\r\n // assume CMYK\r\n if (typeof ch1 === \"string\") {\r\n color = [ch1, ch2, ch3, ch4, letterArray[2]].join(\" \");\r\n } else {\r\n switch (options.precision) {\r\n case 2:\r\n color = [f2(ch1), f2(ch2), f2(ch3), f2(ch4), letterArray[2]].join(\r\n \" \"\r\n );\r\n break;\r\n case 3:\r\n default:\r\n color = [f3(ch1), f3(ch2), f3(ch3), f3(ch4), letterArray[2]].join(\r\n \" \"\r\n );\r\n }\r\n }\r\n }\r\n return color;\r\n });\r\n\r\n var getFilters = (API.__private__.getFilters = function() {\r\n return filters;\r\n });\r\n\r\n var putStream = (API.__private__.putStream = function(options) {\r\n options = options || {};\r\n var data = options.data || \"\";\r\n var filters = options.filters || getFilters();\r\n var alreadyAppliedFilters = options.alreadyAppliedFilters || [];\r\n var addLength1 = options.addLength1 || false;\r\n var valueOfLength1 = data.length;\r\n var objectId = options.objectId;\r\n var encryptor = function(data) {\r\n return data;\r\n };\r\n if (encryptionOptions !== null && typeof objectId == \"undefined\") {\r\n throw new Error(\r\n \"ObjectId must be passed to putStream for file encryption\"\r\n );\r\n }\r\n if (encryptionOptions !== null) {\r\n encryptor = encryption.encryptor(objectId, 0);\r\n }\r\n\r\n var processedData = {};\r\n if (filters === true) {\r\n filters = [\"FlateEncode\"];\r\n }\r\n var keyValues = options.additionalKeyValues || [];\r\n if (typeof jsPDF.API.processDataByFilters !== \"undefined\") {\r\n processedData = jsPDF.API.processDataByFilters(data, filters);\r\n } else {\r\n processedData = { data: data, reverseChain: [] };\r\n }\r\n var filterAsString =\r\n processedData.reverseChain +\r\n (Array.isArray(alreadyAppliedFilters)\r\n ? alreadyAppliedFilters.join(\" \")\r\n : alreadyAppliedFilters.toString());\r\n\r\n if (processedData.data.length !== 0) {\r\n keyValues.push({\r\n key: \"Length\",\r\n value: processedData.data.length\r\n });\r\n if (addLength1 === true) {\r\n keyValues.push({\r\n key: \"Length1\",\r\n value: valueOfLength1\r\n });\r\n }\r\n }\r\n\r\n if (filterAsString.length != 0) {\r\n if (filterAsString.split(\"/\").length - 1 === 1) {\r\n keyValues.push({\r\n key: \"Filter\",\r\n value: filterAsString\r\n });\r\n } else {\r\n keyValues.push({\r\n key: \"Filter\",\r\n value: \"[\" + filterAsString + \"]\"\r\n });\r\n\r\n for (var j = 0; j < keyValues.length; j += 1) {\r\n if (keyValues[j].key === \"DecodeParms\") {\r\n var decodeParmsArray = [];\r\n\r\n for (\r\n var i = 0;\r\n i < processedData.reverseChain.split(\"/\").length - 1;\r\n i += 1\r\n ) {\r\n decodeParmsArray.push(\"null\");\r\n }\r\n\r\n decodeParmsArray.push(keyValues[j].value);\r\n keyValues[j].value = \"[\" + decodeParmsArray.join(\" \") + \"]\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n out(\"<<\");\r\n for (var k = 0; k < keyValues.length; k++) {\r\n out(\"/\" + keyValues[k].key + \" \" + keyValues[k].value);\r\n }\r\n out(\">>\");\r\n if (processedData.data.length !== 0) {\r\n out(\"stream\");\r\n out(encryptor(processedData.data));\r\n out(\"endstream\");\r\n }\r\n });\r\n\r\n var putPage = (API.__private__.putPage = function(page) {\r\n var pageNumber = page.number;\r\n var data = page.data;\r\n var pageObjectNumber = page.objId;\r\n var pageContentsObjId = page.contentsObjId;\r\n\r\n newObjectDeferredBegin(pageObjectNumber, true);\r\n out(\"<>\");\r\n out(\"endobj\");\r\n // Page content\r\n var pageContent = data.join(\"\\n\");\r\n\r\n if (apiMode === ApiMode.ADVANCED) {\r\n // if the user forgot to switch back to COMPAT mode, we must balance the graphics stack again\r\n pageContent += \"\\nQ\";\r\n }\r\n\r\n newObjectDeferredBegin(pageContentsObjId, true);\r\n putStream({\r\n data: pageContent,\r\n filters: getFilters(),\r\n objectId: pageContentsObjId\r\n });\r\n out(\"endobj\");\r\n return pageObjectNumber;\r\n });\r\n\r\n var putPages = (API.__private__.putPages = function() {\r\n var n,\r\n i,\r\n pageObjectNumbers = [];\r\n\r\n for (n = 1; n <= page; n++) {\r\n pagesContext[n].objId = newObjectDeferred();\r\n pagesContext[n].contentsObjId = newObjectDeferred();\r\n }\r\n\r\n for (n = 1; n <= page; n++) {\r\n pageObjectNumbers.push(\r\n putPage({\r\n number: n,\r\n data: pages[n],\r\n objId: pagesContext[n].objId,\r\n contentsObjId: pagesContext[n].contentsObjId,\r\n mediaBox: pagesContext[n].mediaBox,\r\n cropBox: pagesContext[n].cropBox,\r\n bleedBox: pagesContext[n].bleedBox,\r\n trimBox: pagesContext[n].trimBox,\r\n artBox: pagesContext[n].artBox,\r\n userUnit: pagesContext[n].userUnit,\r\n rootDictionaryObjId: rootDictionaryObjId,\r\n resourceDictionaryObjId: resourceDictionaryObjId\r\n })\r\n );\r\n }\r\n newObjectDeferredBegin(rootDictionaryObjId, true);\r\n out(\"<>\");\r\n out(\"endobj\");\r\n events.publish(\"postPutPages\");\r\n });\r\n\r\n var putFont = function(font) {\r\n events.publish(\"putFont\", {\r\n font: font,\r\n out: out,\r\n newObject: newObject,\r\n putStream: putStream\r\n });\r\n\r\n if (font.isAlreadyPutted !== true) {\r\n font.objectNumber = newObject();\r\n out(\"<<\");\r\n out(\"/Type /Font\");\r\n out(\"/BaseFont /\" + toPDFName(font.postScriptName));\r\n out(\"/Subtype /Type1\");\r\n if (typeof font.encoding === \"string\") {\r\n out(\"/Encoding /\" + font.encoding);\r\n }\r\n out(\"/FirstChar 32\");\r\n out(\"/LastChar 255\");\r\n out(\">>\");\r\n out(\"endobj\");\r\n }\r\n };\r\n\r\n var putFonts = function() {\r\n for (var fontKey in fonts) {\r\n if (fonts.hasOwnProperty(fontKey)) {\r\n if (\r\n putOnlyUsedFonts === false ||\r\n (putOnlyUsedFonts === true && usedFonts.hasOwnProperty(fontKey))\r\n ) {\r\n putFont(fonts[fontKey]);\r\n }\r\n }\r\n }\r\n };\r\n\r\n var putXObject = function(xObject) {\r\n xObject.objectNumber = newObject();\r\n\r\n var options = [];\r\n options.push({ key: \"Type\", value: \"/XObject\" });\r\n options.push({ key: \"Subtype\", value: \"/Form\" });\r\n options.push({\r\n key: \"BBox\",\r\n value:\r\n \"[\" +\r\n [\r\n hpf(xObject.x),\r\n hpf(xObject.y),\r\n hpf(xObject.x + xObject.width),\r\n hpf(xObject.y + xObject.height)\r\n ].join(\" \") +\r\n \"]\"\r\n });\r\n options.push({\r\n key: \"Matrix\",\r\n value: \"[\" + xObject.matrix.toString() + \"]\"\r\n });\r\n // TODO: /Resources\r\n\r\n var stream = xObject.pages[1].join(\"\\n\");\r\n putStream({\r\n data: stream,\r\n additionalKeyValues: options,\r\n objectId: xObject.objectNumber\r\n });\r\n out(\"endobj\");\r\n };\r\n\r\n var putXObjects = function() {\r\n for (var xObjectKey in renderTargets) {\r\n if (renderTargets.hasOwnProperty(xObjectKey)) {\r\n putXObject(renderTargets[xObjectKey]);\r\n }\r\n }\r\n };\r\n\r\n var interpolateAndEncodeRGBStream = function(colors, numberSamples) {\r\n var tValues = [];\r\n var t;\r\n var dT = 1.0 / (numberSamples - 1);\r\n for (t = 0.0; t < 1.0; t += dT) {\r\n tValues.push(t);\r\n }\r\n tValues.push(1.0);\r\n // add first and last control point if not present\r\n if (colors[0].offset != 0.0) {\r\n var c0 = {\r\n offset: 0.0,\r\n color: colors[0].color\r\n };\r\n colors.unshift(c0);\r\n }\r\n if (colors[colors.length - 1].offset != 1.0) {\r\n var c1 = {\r\n offset: 1.0,\r\n color: colors[colors.length - 1].color\r\n };\r\n colors.push(c1);\r\n }\r\n var out = \"\";\r\n var index = 0;\r\n\r\n for (var i = 0; i < tValues.length; i++) {\r\n t = tValues[i];\r\n while (t > colors[index + 1].offset) index++;\r\n var a = colors[index].offset;\r\n var b = colors[index + 1].offset;\r\n var d = (t - a) / (b - a);\r\n\r\n var aColor = colors[index].color;\r\n var bColor = colors[index + 1].color;\r\n\r\n out +=\r\n padd2Hex(Math.round((1 - d) * aColor[0] + d * bColor[0]).toString(16)) +\r\n padd2Hex(Math.round((1 - d) * aColor[1] + d * bColor[1]).toString(16)) +\r\n padd2Hex(Math.round((1 - d) * aColor[2] + d * bColor[2]).toString(16));\r\n }\r\n return out.trim();\r\n };\r\n\r\n var putShadingPattern = function(pattern, numberSamples) {\r\n /*\r\n Axial patterns shade between the two points specified in coords, radial patterns between the inner\r\n and outer circle.\r\n The user can specify an array (colors) that maps t-Values in [0, 1] to RGB colors. These are now\r\n interpolated to equidistant samples and written to pdf as a sample (type 0) function.\r\n */\r\n // The number of color samples that should be used to describe the shading.\r\n // The higher, the more accurate the gradient will be.\r\n numberSamples || (numberSamples = 21);\r\n var funcObjectNumber = newObject();\r\n var stream = interpolateAndEncodeRGBStream(pattern.colors, numberSamples);\r\n\r\n var options = [];\r\n options.push({ key: \"FunctionType\", value: \"0\" });\r\n options.push({ key: \"Domain\", value: \"[0.0 1.0]\" });\r\n options.push({ key: \"Size\", value: \"[\" + numberSamples + \"]\" });\r\n options.push({ key: \"BitsPerSample\", value: \"8\" });\r\n options.push({ key: \"Range\", value: \"[0.0 1.0 0.0 1.0 0.0 1.0]\" });\r\n options.push({ key: \"Decode\", value: \"[0.0 1.0 0.0 1.0 0.0 1.0]\" });\r\n\r\n putStream({\r\n data: stream,\r\n additionalKeyValues: options,\r\n alreadyAppliedFilters: [\"/ASCIIHexDecode\"],\r\n objectId: funcObjectNumber\r\n });\r\n out(\"endobj\");\r\n\r\n pattern.objectNumber = newObject();\r\n out(\"<< /ShadingType \" + pattern.type);\r\n out(\"/ColorSpace /DeviceRGB\");\r\n var coords =\r\n \"/Coords [\" +\r\n hpf(parseFloat(pattern.coords[0])) +\r\n \" \" + // x1\r\n hpf(parseFloat(pattern.coords[1])) +\r\n \" \"; // y1\r\n if (pattern.type === 2) {\r\n // axial\r\n coords +=\r\n hpf(parseFloat(pattern.coords[2])) +\r\n \" \" + // x2\r\n hpf(parseFloat(pattern.coords[3])); // y2\r\n } else {\r\n // radial\r\n coords +=\r\n hpf(parseFloat(pattern.coords[2])) +\r\n \" \" + // r1\r\n hpf(parseFloat(pattern.coords[3])) +\r\n \" \" + // x2\r\n hpf(parseFloat(pattern.coords[4])) +\r\n \" \" + // y2\r\n hpf(parseFloat(pattern.coords[5])); // r2\r\n }\r\n coords += \"]\";\r\n out(coords);\r\n\r\n if (pattern.matrix) {\r\n out(\"/Matrix [\" + pattern.matrix.toString() + \"]\");\r\n }\r\n out(\"/Function \" + funcObjectNumber + \" 0 R\");\r\n out(\"/Extend [true true]\");\r\n out(\">>\");\r\n out(\"endobj\");\r\n };\r\n\r\n var putTilingPattern = function(pattern, deferredResourceDictionaryIds) {\r\n var resourcesObjectId = newObjectDeferred();\r\n var patternObjectId = newObject();\r\n\r\n deferredResourceDictionaryIds.push({\r\n resourcesOid: resourcesObjectId,\r\n objectOid: patternObjectId\r\n });\r\n\r\n pattern.objectNumber = patternObjectId;\r\n var options = [];\r\n options.push({ key: \"Type\", value: \"/Pattern\" });\r\n options.push({ key: \"PatternType\", value: \"1\" }); // tiling pattern\r\n options.push({ key: \"PaintType\", value: \"1\" }); // colored tiling pattern\r\n options.push({ key: \"TilingType\", value: \"1\" }); // constant spacing\r\n options.push({\r\n key: \"BBox\",\r\n value: \"[\" + pattern.boundingBox.map(hpf).join(\" \") + \"]\"\r\n });\r\n options.push({ key: \"XStep\", value: hpf(pattern.xStep) });\r\n options.push({ key: \"YStep\", value: hpf(pattern.yStep) });\r\n options.push({ key: \"Resources\", value: resourcesObjectId + \" 0 R\" });\r\n if (pattern.matrix) {\r\n options.push({\r\n key: \"Matrix\",\r\n value: \"[\" + pattern.matrix.toString() + \"]\"\r\n });\r\n }\r\n\r\n putStream({\r\n data: pattern.stream,\r\n additionalKeyValues: options,\r\n objectId: pattern.objectNumber\r\n });\r\n out(\"endobj\");\r\n };\r\n\r\n var putPatterns = function(deferredResourceDictionaryIds) {\r\n var patternKey;\r\n for (patternKey in patterns) {\r\n if (patterns.hasOwnProperty(patternKey)) {\r\n if (patterns[patternKey] instanceof ShadingPattern) {\r\n putShadingPattern(patterns[patternKey]);\r\n } else if (patterns[patternKey] instanceof TilingPattern) {\r\n putTilingPattern(patterns[patternKey], deferredResourceDictionaryIds);\r\n }\r\n }\r\n }\r\n };\r\n\r\n var putGState = function(gState) {\r\n gState.objectNumber = newObject();\r\n out(\"<<\");\r\n for (var p in gState) {\r\n switch (p) {\r\n case \"opacity\":\r\n out(\"/ca \" + f2(gState[p]));\r\n break;\r\n case \"stroke-opacity\":\r\n out(\"/CA \" + f2(gState[p]));\r\n break;\r\n }\r\n }\r\n out(\">>\");\r\n out(\"endobj\");\r\n };\r\n\r\n var putGStates = function() {\r\n var gStateKey;\r\n for (gStateKey in gStates) {\r\n if (gStates.hasOwnProperty(gStateKey)) {\r\n putGState(gStates[gStateKey]);\r\n }\r\n }\r\n };\r\n\r\n var putXobjectDict = function() {\r\n out(\"/XObject <<\");\r\n for (var xObjectKey in renderTargets) {\r\n if (\r\n renderTargets.hasOwnProperty(xObjectKey) &&\r\n renderTargets[xObjectKey].objectNumber >= 0\r\n ) {\r\n out(\r\n \"/\" +\r\n xObjectKey +\r\n \" \" +\r\n renderTargets[xObjectKey].objectNumber +\r\n \" 0 R\"\r\n );\r\n }\r\n }\r\n\r\n // Loop through images, or other data objects\r\n events.publish(\"putXobjectDict\");\r\n out(\">>\");\r\n };\r\n\r\n var putEncryptionDict = function() {\r\n encryption.oid = newObject();\r\n out(\"<<\");\r\n out(\"/Filter /Standard\");\r\n out(\"/V \" + encryption.v);\r\n out(\"/R \" + encryption.r);\r\n out(\"/U <\" + encryption.toHexString(encryption.U) + \">\");\r\n out(\"/O <\" + encryption.toHexString(encryption.O) + \">\");\r\n out(\"/P \" + encryption.P);\r\n out(\">>\");\r\n out(\"endobj\");\r\n };\r\n\r\n var putFontDict = function() {\r\n out(\"/Font <<\");\r\n\r\n for (var fontKey in fonts) {\r\n if (fonts.hasOwnProperty(fontKey)) {\r\n if (\r\n putOnlyUsedFonts === false ||\r\n (putOnlyUsedFonts === true && usedFonts.hasOwnProperty(fontKey))\r\n ) {\r\n out(\"/\" + fontKey + \" \" + fonts[fontKey].objectNumber + \" 0 R\");\r\n }\r\n }\r\n }\r\n out(\">>\");\r\n };\r\n\r\n var putShadingPatternDict = function() {\r\n if (Object.keys(patterns).length > 0) {\r\n out(\"/Shading <<\");\r\n for (var patternKey in patterns) {\r\n if (\r\n patterns.hasOwnProperty(patternKey) &&\r\n patterns[patternKey] instanceof ShadingPattern &&\r\n patterns[patternKey].objectNumber >= 0\r\n ) {\r\n out(\r\n \"/\" + patternKey + \" \" + patterns[patternKey].objectNumber + \" 0 R\"\r\n );\r\n }\r\n }\r\n\r\n events.publish(\"putShadingPatternDict\");\r\n out(\">>\");\r\n }\r\n };\r\n\r\n var putTilingPatternDict = function(objectOid) {\r\n if (Object.keys(patterns).length > 0) {\r\n out(\"/Pattern <<\");\r\n for (var patternKey in patterns) {\r\n if (\r\n patterns.hasOwnProperty(patternKey) &&\r\n patterns[patternKey] instanceof API.TilingPattern &&\r\n patterns[patternKey].objectNumber >= 0 &&\r\n patterns[patternKey].objectNumber < objectOid // prevent cyclic dependencies\r\n ) {\r\n out(\r\n \"/\" + patternKey + \" \" + patterns[patternKey].objectNumber + \" 0 R\"\r\n );\r\n }\r\n }\r\n events.publish(\"putTilingPatternDict\");\r\n out(\">>\");\r\n }\r\n };\r\n\r\n var putGStatesDict = function() {\r\n if (Object.keys(gStates).length > 0) {\r\n var gStateKey;\r\n out(\"/ExtGState <<\");\r\n for (gStateKey in gStates) {\r\n if (\r\n gStates.hasOwnProperty(gStateKey) &&\r\n gStates[gStateKey].objectNumber >= 0\r\n ) {\r\n out(\"/\" + gStateKey + \" \" + gStates[gStateKey].objectNumber + \" 0 R\");\r\n }\r\n }\r\n\r\n events.publish(\"putGStateDict\");\r\n out(\">>\");\r\n }\r\n };\r\n\r\n var putResourceDictionary = function(objectIds) {\r\n newObjectDeferredBegin(objectIds.resourcesOid, true);\r\n out(\"<<\");\r\n out(\"/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]\");\r\n putFontDict();\r\n putShadingPatternDict();\r\n putTilingPatternDict(objectIds.objectOid);\r\n putGStatesDict();\r\n putXobjectDict();\r\n out(\">>\");\r\n out(\"endobj\");\r\n };\r\n\r\n var putResources = function() {\r\n // FormObjects, Patterns etc. might use other FormObjects/Patterns/Images\r\n // which means their resource dictionaries must contain the already resolved\r\n // object ids. For this reason we defer the serialization of the resource\r\n // dicts until all objects have been serialized and have object ids.\r\n //\r\n // In order to prevent cyclic dependencies (which Adobe Reader doesn't like),\r\n // we only put all oids that are smaller than the oid of the object the\r\n // resource dict belongs to. This is correct behavior, since the streams\r\n // may only use other objects that have already been defined and thus appear\r\n // earlier in their respective collection.\r\n // Currently, this only affects tiling patterns, but a (more) correct\r\n // implementation of FormObjects would also define their own resource dicts.\r\n var deferredResourceDictionaryIds = [];\r\n\r\n putFonts();\r\n putGStates();\r\n putXObjects();\r\n putPatterns(deferredResourceDictionaryIds);\r\n\r\n events.publish(\"putResources\");\r\n deferredResourceDictionaryIds.forEach(putResourceDictionary);\r\n putResourceDictionary({\r\n resourcesOid: resourceDictionaryObjId,\r\n objectOid: Number.MAX_SAFE_INTEGER // output all objects\r\n });\r\n events.publish(\"postPutResources\");\r\n };\r\n\r\n var putAdditionalObjects = function() {\r\n events.publish(\"putAdditionalObjects\");\r\n for (var i = 0; i < additionalObjects.length; i++) {\r\n var obj = additionalObjects[i];\r\n newObjectDeferredBegin(obj.objId, true);\r\n out(obj.content);\r\n out(\"endobj\");\r\n }\r\n events.publish(\"postPutAdditionalObjects\");\r\n };\r\n\r\n var addFontToFontDictionary = function(font) {\r\n fontmap[font.fontName] = fontmap[font.fontName] || {};\r\n fontmap[font.fontName][font.fontStyle] = font.id;\r\n };\r\n\r\n var addFont = function(\r\n postScriptName,\r\n fontName,\r\n fontStyle,\r\n encoding,\r\n isStandardFont\r\n ) {\r\n var font = {\r\n id: \"F\" + (Object.keys(fonts).length + 1).toString(10),\r\n postScriptName: postScriptName,\r\n fontName: fontName,\r\n fontStyle: fontStyle,\r\n encoding: encoding,\r\n isStandardFont: isStandardFont || false,\r\n metadata: {}\r\n };\r\n\r\n events.publish(\"addFont\", {\r\n font: font,\r\n instance: this\r\n });\r\n\r\n fonts[font.id] = font;\r\n addFontToFontDictionary(font);\r\n return font.id;\r\n };\r\n\r\n var addFonts = function(arrayOfFonts) {\r\n for (var i = 0, l = standardFonts.length; i < l; i++) {\r\n var fontKey = addFont.call(\r\n this,\r\n arrayOfFonts[i][0],\r\n arrayOfFonts[i][1],\r\n arrayOfFonts[i][2],\r\n standardFonts[i][3],\r\n true\r\n );\r\n\r\n if (putOnlyUsedFonts === false) {\r\n usedFonts[fontKey] = true;\r\n }\r\n // adding aliases for standard fonts, this time matching the capitalization\r\n var parts = arrayOfFonts[i][0].split(\"-\");\r\n addFontToFontDictionary({\r\n id: fontKey,\r\n fontName: parts[0],\r\n fontStyle: parts[1] || \"\"\r\n });\r\n }\r\n events.publish(\"addFonts\", {\r\n fonts: fonts,\r\n dictionary: fontmap\r\n });\r\n };\r\n\r\n var SAFE = function __safeCall(fn) {\r\n fn.foo = function __safeCallWrapper() {\r\n try {\r\n return fn.apply(this, arguments);\r\n } catch (e) {\r\n var stack = e.stack || \"\";\r\n if (~stack.indexOf(\" at \")) stack = stack.split(\" at \")[1];\r\n var m =\r\n \"Error in function \" +\r\n stack.split(\"\\n\")[0].split(\"<\")[0] +\r\n \": \" +\r\n e.message;\r\n if (globalObject.console) {\r\n globalObject.console.error(m, e);\r\n if (globalObject.alert) alert(m);\r\n } else {\r\n throw new Error(m);\r\n }\r\n }\r\n };\r\n fn.foo.bar = fn;\r\n return fn.foo;\r\n };\r\n\r\n var to8bitStream = function(text, flags) {\r\n /**\r\n * PDF 1.3 spec:\r\n * \"For text strings encoded in Unicode, the first two bytes must be 254 followed by\r\n * 255, representing the Unicode byte order marker, U+FEFF. (This sequence conflicts\r\n * with the PDFDocEncoding character sequence thorn ydieresis, which is unlikely\r\n * to be a meaningful beginning of a word or phrase.) The remainder of the\r\n * string consists of Unicode character codes, according to the UTF-16 encoding\r\n * specified in the Unicode standard, version 2.0. Commonly used Unicode values\r\n * are represented as 2 bytes per character, with the high-order byte appearing first\r\n * in the string.\"\r\n *\r\n * In other words, if there are chars in a string with char code above 255, we\r\n * recode the string to UCS2 BE - string doubles in length and BOM is prepended.\r\n *\r\n * HOWEVER!\r\n * Actual *content* (body) text (as opposed to strings used in document properties etc)\r\n * does NOT expect BOM. There, it is treated as a literal GID (Glyph ID)\r\n *\r\n * Because of Adobe's focus on \"you subset your fonts!\" you are not supposed to have\r\n * a font that maps directly Unicode (UCS2 / UTF16BE) code to font GID, but you could\r\n * fudge it with \"Identity-H\" encoding and custom CIDtoGID map that mimics Unicode\r\n * code page. There, however, all characters in the stream are treated as GIDs,\r\n * including BOM, which is the reason we need to skip BOM in content text (i.e. that\r\n * that is tied to a font).\r\n *\r\n * To signal this \"special\" PDFEscape / to8bitStream handling mode,\r\n * API.text() function sets (unless you overwrite it with manual values\r\n * given to API.text(.., flags) )\r\n * flags.autoencode = true\r\n * flags.noBOM = true\r\n *\r\n * ===================================================================================\r\n * `flags` properties relied upon:\r\n * .sourceEncoding = string with encoding label.\r\n * \"Unicode\" by default. = encoding of the incoming text.\r\n * pass some non-existing encoding name\r\n * (ex: 'Do not touch my strings! I know what I am doing.')\r\n * to make encoding code skip the encoding step.\r\n * .outputEncoding = Either valid PDF encoding name\r\n * (must be supported by jsPDF font metrics, otherwise no encoding)\r\n * or a JS object, where key = sourceCharCode, value = outputCharCode\r\n * missing keys will be treated as: sourceCharCode === outputCharCode\r\n * .noBOM\r\n * See comment higher above for explanation for why this is important\r\n * .autoencode\r\n * See comment higher above for explanation for why this is important\r\n */\r\n\r\n var i,\r\n l,\r\n sourceEncoding,\r\n encodingBlock,\r\n outputEncoding,\r\n newtext,\r\n isUnicode,\r\n ch,\r\n bch;\r\n\r\n flags = flags || {};\r\n sourceEncoding = flags.sourceEncoding || \"Unicode\";\r\n outputEncoding = flags.outputEncoding;\r\n\r\n // This 'encoding' section relies on font metrics format\r\n // attached to font objects by, among others,\r\n // \"Willow Systems' standard_font_metrics plugin\"\r\n // see jspdf.plugin.standard_font_metrics.js for format\r\n // of the font.metadata.encoding Object.\r\n // It should be something like\r\n // .encoding = {'codePages':['WinANSI....'], 'WinANSI...':{code:code, ...}}\r\n // .widths = {0:width, code:width, ..., 'fof':divisor}\r\n // .kerning = {code:{previous_char_code:shift, ..., 'fof':-divisor},...}\r\n if (\r\n (flags.autoencode || outputEncoding) &&\r\n fonts[activeFontKey].metadata &&\r\n fonts[activeFontKey].metadata[sourceEncoding] &&\r\n fonts[activeFontKey].metadata[sourceEncoding].encoding\r\n ) {\r\n encodingBlock = fonts[activeFontKey].metadata[sourceEncoding].encoding;\r\n\r\n // each font has default encoding. Some have it clearly defined.\r\n if (!outputEncoding && fonts[activeFontKey].encoding) {\r\n outputEncoding = fonts[activeFontKey].encoding;\r\n }\r\n\r\n // Hmmm, the above did not work? Let's try again, in different place.\r\n if (!outputEncoding && encodingBlock.codePages) {\r\n outputEncoding = encodingBlock.codePages[0]; // let's say, first one is the default\r\n }\r\n\r\n if (typeof outputEncoding === \"string\") {\r\n outputEncoding = encodingBlock[outputEncoding];\r\n }\r\n // we want output encoding to be a JS Object, where\r\n // key = sourceEncoding's character code and\r\n // value = outputEncoding's character code.\r\n if (outputEncoding) {\r\n isUnicode = false;\r\n newtext = [];\r\n for (i = 0, l = text.length; i < l; i++) {\r\n ch = outputEncoding[text.charCodeAt(i)];\r\n if (ch) {\r\n newtext.push(String.fromCharCode(ch));\r\n } else {\r\n newtext.push(text[i]);\r\n }\r\n\r\n // since we are looping over chars anyway, might as well\r\n // check for residual unicodeness\r\n if (newtext[i].charCodeAt(0) >> 8) {\r\n /* more than 255 */\r\n isUnicode = true;\r\n }\r\n }\r\n text = newtext.join(\"\");\r\n }\r\n }\r\n\r\n i = text.length;\r\n // isUnicode may be set to false above. Hence the triple-equal to undefined\r\n while (isUnicode === undefined && i !== 0) {\r\n if (text.charCodeAt(i - 1) >> 8) {\r\n /* more than 255 */\r\n isUnicode = true;\r\n }\r\n i--;\r\n }\r\n if (!isUnicode) {\r\n return text;\r\n }\r\n\r\n newtext = flags.noBOM ? [] : [254, 255];\r\n for (i = 0, l = text.length; i < l; i++) {\r\n ch = text.charCodeAt(i);\r\n bch = ch >> 8; // divide by 256\r\n if (bch >> 8) {\r\n /* something left after dividing by 256 second time */\r\n throw new Error(\r\n \"Character at position \" +\r\n i +\r\n \" of string '\" +\r\n text +\r\n \"' exceeds 16bits. Cannot be encoded into UCS-2 BE\"\r\n );\r\n }\r\n newtext.push(bch);\r\n newtext.push(ch - (bch << 8));\r\n }\r\n return String.fromCharCode.apply(undefined, newtext);\r\n };\r\n\r\n var pdfEscape = (API.__private__.pdfEscape = API.pdfEscape = function(\r\n text,\r\n flags\r\n ) {\r\n /**\r\n * Replace '/', '(', and ')' with pdf-safe versions\r\n *\r\n * Doing to8bitStream does NOT make this PDF display unicode text. For that\r\n * we also need to reference a unicode font and embed it - royal pain in the rear.\r\n *\r\n * There is still a benefit to to8bitStream - PDF simply cannot handle 16bit chars,\r\n * which JavaScript Strings are happy to provide. So, while we still cannot display\r\n * 2-byte characters property, at least CONDITIONALLY converting (entire string containing)\r\n * 16bit chars to (USC-2-BE) 2-bytes per char + BOM streams we ensure that entire PDF\r\n * is still parseable.\r\n * This will allow immediate support for unicode in document properties strings.\r\n */\r\n return to8bitStream(text, flags)\r\n .replace(/\\\\/g, \"\\\\\\\\\")\r\n .replace(/\\(/g, \"\\\\(\")\r\n .replace(/\\)/g, \"\\\\)\");\r\n });\r\n\r\n var beginPage = (API.__private__.beginPage = function(format) {\r\n pages[++page] = [];\r\n pagesContext[page] = {\r\n objId: 0,\r\n contentsObjId: 0,\r\n userUnit: Number(userUnit),\r\n artBox: null,\r\n bleedBox: null,\r\n cropBox: null,\r\n trimBox: null,\r\n mediaBox: {\r\n bottomLeftX: 0,\r\n bottomLeftY: 0,\r\n topRightX: Number(format[0]),\r\n topRightY: Number(format[1])\r\n }\r\n };\r\n _setPage(page);\r\n setOutputDestination(pages[currentPage]);\r\n });\r\n\r\n var _addPage = function(parmFormat, parmOrientation) {\r\n var dimensions, width, height;\r\n\r\n orientation = parmOrientation || orientation;\r\n\r\n if (typeof parmFormat === \"string\") {\r\n dimensions = getPageFormat(parmFormat.toLowerCase());\r\n if (Array.isArray(dimensions)) {\r\n width = dimensions[0];\r\n height = dimensions[1];\r\n }\r\n }\r\n\r\n if (Array.isArray(parmFormat)) {\r\n width = parmFormat[0] * scaleFactor;\r\n height = parmFormat[1] * scaleFactor;\r\n }\r\n\r\n if (isNaN(width)) {\r\n width = format[0];\r\n height = format[1];\r\n }\r\n\r\n if (width > 14400 || height > 14400) {\r\n console.warn(\r\n \"A page in a PDF can not be wider or taller than 14400 userUnit. jsPDF limits the width/height to 14400\"\r\n );\r\n width = Math.min(14400, width);\r\n height = Math.min(14400, height);\r\n }\r\n\r\n format = [width, height];\r\n\r\n switch (orientation.substr(0, 1)) {\r\n case \"l\":\r\n if (height > width) {\r\n format = [height, width];\r\n }\r\n break;\r\n case \"p\":\r\n if (width > height) {\r\n format = [height, width];\r\n }\r\n break;\r\n }\r\n\r\n beginPage(format);\r\n\r\n // Set line width\r\n setLineWidth(lineWidth);\r\n // Set draw color\r\n out(strokeColor);\r\n // resurrecting non-default line caps, joins\r\n if (lineCapID !== 0) {\r\n out(lineCapID + \" J\");\r\n }\r\n if (lineJoinID !== 0) {\r\n out(lineJoinID + \" j\");\r\n }\r\n events.publish(\"addPage\", {\r\n pageNumber: page\r\n });\r\n };\r\n\r\n var _deletePage = function(n) {\r\n if (n > 0 && n <= page) {\r\n pages.splice(n, 1);\r\n pagesContext.splice(n, 1);\r\n page--;\r\n if (currentPage > page) {\r\n currentPage = page;\r\n }\r\n this.setPage(currentPage);\r\n }\r\n };\r\n\r\n var _setPage = function(n) {\r\n if (n > 0 && n <= page) {\r\n currentPage = n;\r\n }\r\n };\r\n\r\n var getNumberOfPages = (API.__private__.getNumberOfPages = API.getNumberOfPages = function() {\r\n return pages.length - 1;\r\n });\r\n\r\n /**\r\n * Returns a document-specific font key - a label assigned to a\r\n * font name + font type combination at the time the font was added\r\n * to the font inventory.\r\n *\r\n * Font key is used as label for the desired font for a block of text\r\n * to be added to the PDF document stream.\r\n * @private\r\n * @function\r\n * @param fontName {string} can be undefined on \"falthy\" to indicate \"use current\"\r\n * @param fontStyle {string} can be undefined on \"falthy\" to indicate \"use current\"\r\n * @returns {string} Font key.\r\n * @ignore\r\n */\r\n var getFont = function(fontName, fontStyle, options) {\r\n var key = undefined,\r\n fontNameLowerCase;\r\n options = options || {};\r\n\r\n fontName =\r\n fontName !== undefined ? fontName : fonts[activeFontKey].fontName;\r\n fontStyle =\r\n fontStyle !== undefined ? fontStyle : fonts[activeFontKey].fontStyle;\r\n fontNameLowerCase = fontName.toLowerCase();\r\n\r\n if (\r\n fontmap[fontNameLowerCase] !== undefined &&\r\n fontmap[fontNameLowerCase][fontStyle] !== undefined\r\n ) {\r\n key = fontmap[fontNameLowerCase][fontStyle];\r\n } else if (\r\n fontmap[fontName] !== undefined &&\r\n fontmap[fontName][fontStyle] !== undefined\r\n ) {\r\n key = fontmap[fontName][fontStyle];\r\n } else {\r\n if (options.disableWarning === false) {\r\n console.warn(\r\n \"Unable to look up font label for font '\" +\r\n fontName +\r\n \"', '\" +\r\n fontStyle +\r\n \"'. Refer to getFontList() for available fonts.\"\r\n );\r\n }\r\n }\r\n\r\n if (!key && !options.noFallback) {\r\n key = fontmap[\"times\"][fontStyle];\r\n if (key == null) {\r\n key = fontmap[\"times\"][\"normal\"];\r\n }\r\n }\r\n return key;\r\n };\r\n\r\n var putInfo = (API.__private__.putInfo = function() {\r\n var objectId = newObject();\r\n var encryptor = function(data) {\r\n return data;\r\n };\r\n if (encryptionOptions !== null) {\r\n encryptor = encryption.encryptor(objectId, 0);\r\n }\r\n out(\"<<\");\r\n out(\"/Producer (\" + pdfEscape(encryptor(\"jsPDF \" + jsPDF.version)) + \")\");\r\n for (var key in documentProperties) {\r\n if (documentProperties.hasOwnProperty(key) && documentProperties[key]) {\r\n out(\r\n \"/\" +\r\n key.substr(0, 1).toUpperCase() +\r\n key.substr(1) +\r\n \" (\" +\r\n pdfEscape(encryptor(documentProperties[key])) +\r\n \")\"\r\n );\r\n }\r\n }\r\n out(\"/CreationDate (\" + pdfEscape(encryptor(creationDate)) + \")\");\r\n out(\">>\");\r\n out(\"endobj\");\r\n });\r\n\r\n var putCatalog = (API.__private__.putCatalog = function(options) {\r\n options = options || {};\r\n var tmpRootDictionaryObjId =\r\n options.rootDictionaryObjId || rootDictionaryObjId;\r\n newObject();\r\n out(\"<<\");\r\n out(\"/Type /Catalog\");\r\n out(\"/Pages \" + tmpRootDictionaryObjId + \" 0 R\");\r\n // PDF13ref Section 7.2.1\r\n if (!zoomMode) zoomMode = \"fullwidth\";\r\n switch (zoomMode) {\r\n case \"fullwidth\":\r\n out(\"/OpenAction [3 0 R /FitH null]\");\r\n break;\r\n case \"fullheight\":\r\n out(\"/OpenAction [3 0 R /FitV null]\");\r\n break;\r\n case \"fullpage\":\r\n out(\"/OpenAction [3 0 R /Fit]\");\r\n break;\r\n case \"original\":\r\n out(\"/OpenAction [3 0 R /XYZ null null 1]\");\r\n break;\r\n default:\r\n var pcn = \"\" + zoomMode;\r\n if (pcn.substr(pcn.length - 1) === \"%\")\r\n zoomMode = parseInt(zoomMode) / 100;\r\n if (typeof zoomMode === \"number\") {\r\n out(\"/OpenAction [3 0 R /XYZ null null \" + f2(zoomMode) + \"]\");\r\n }\r\n }\r\n if (!layoutMode) layoutMode = \"continuous\";\r\n switch (layoutMode) {\r\n case \"continuous\":\r\n out(\"/PageLayout /OneColumn\");\r\n break;\r\n case \"single\":\r\n out(\"/PageLayout /SinglePage\");\r\n break;\r\n case \"two\":\r\n case \"twoleft\":\r\n out(\"/PageLayout /TwoColumnLeft\");\r\n break;\r\n case \"tworight\":\r\n out(\"/PageLayout /TwoColumnRight\");\r\n break;\r\n }\r\n if (pageMode) {\r\n /**\r\n * A name object specifying how the document should be displayed when opened:\r\n * UseNone : Neither document outline nor thumbnail images visible -- DEFAULT\r\n * UseOutlines : Document outline visible\r\n * UseThumbs : Thumbnail images visible\r\n * FullScreen : Full-screen mode, with no menu bar, window controls, or any other window visible\r\n */\r\n out(\"/PageMode /\" + pageMode);\r\n }\r\n events.publish(\"putCatalog\");\r\n out(\">>\");\r\n out(\"endobj\");\r\n });\r\n\r\n var putTrailer = (API.__private__.putTrailer = function() {\r\n out(\"trailer\");\r\n out(\"<<\");\r\n out(\"/Size \" + (objectNumber + 1));\r\n // Root and Info must be the last and second last objects written respectively\r\n out(\"/Root \" + objectNumber + \" 0 R\");\r\n out(\"/Info \" + (objectNumber - 1) + \" 0 R\");\r\n if (encryptionOptions !== null) {\r\n out(\"/Encrypt \" + encryption.oid + \" 0 R\");\r\n }\r\n out(\"/ID [ <\" + fileId + \"> <\" + fileId + \"> ]\");\r\n out(\">>\");\r\n });\r\n\r\n var putHeader = (API.__private__.putHeader = function() {\r\n out(\"%PDF-\" + pdfVersion);\r\n out(\"%\\xBA\\xDF\\xAC\\xE0\");\r\n });\r\n\r\n var putXRef = (API.__private__.putXRef = function() {\r\n var p = \"0000000000\";\r\n\r\n out(\"xref\");\r\n out(\"0 \" + (objectNumber + 1));\r\n out(\"0000000000 65535 f \");\r\n for (var i = 1; i <= objectNumber; i++) {\r\n var offset = offsets[i];\r\n if (typeof offset === \"function\") {\r\n out((p + offsets[i]()).slice(-10) + \" 00000 n \");\r\n } else {\r\n if (typeof offsets[i] !== \"undefined\") {\r\n out((p + offsets[i]).slice(-10) + \" 00000 n \");\r\n } else {\r\n out(\"0000000000 00000 n \");\r\n }\r\n }\r\n }\r\n });\r\n\r\n var buildDocument = (API.__private__.buildDocument = function() {\r\n resetDocument();\r\n setOutputDestination(content);\r\n\r\n events.publish(\"buildDocument\");\r\n\r\n putHeader();\r\n putPages();\r\n putAdditionalObjects();\r\n putResources();\r\n if (encryptionOptions !== null) putEncryptionDict();\r\n putInfo();\r\n putCatalog();\r\n\r\n var offsetOfXRef = contentLength;\r\n putXRef();\r\n putTrailer();\r\n out(\"startxref\");\r\n out(\"\" + offsetOfXRef);\r\n out(\"%%EOF\");\r\n\r\n setOutputDestination(pages[currentPage]);\r\n\r\n return content.join(\"\\n\");\r\n });\r\n\r\n var getBlob = (API.__private__.getBlob = function(data) {\r\n return new Blob([getArrayBuffer(data)], {\r\n type: \"application/pdf\"\r\n });\r\n });\r\n\r\n /**\r\n * Generates the PDF document.\r\n *\r\n * If `type` argument is undefined, output is raw body of resulting PDF returned as a string.\r\n *\r\n * @param {string} type A string identifying one of the possible output types.
\r\n * Possible values are:
\r\n * 'arraybuffer' -> (ArrayBuffer)
\r\n * 'blob' -> (Blob)
\r\n * 'bloburi'/'bloburl' -> (string)
\r\n * 'datauristring'/'dataurlstring' -> (string)
\r\n * 'datauri'/'dataurl' -> (undefined) -> change location to generated datauristring/dataurlstring
\r\n * 'dataurlnewwindow' -> (window | null | undefined) throws error if global isn't a window object(node)
\r\n * 'pdfobjectnewwindow' -> (window | null) throws error if global isn't a window object(node)
\r\n * 'pdfjsnewwindow' -> (wind | null)\r\n * @param {Object|string} options An object providing some additional signalling to PDF generator.
\r\n * Possible options are 'filename'.
\r\n * A string can be passed instead of {filename:string} and defaults to 'generated.pdf'\r\n * @function\r\n * @instance\r\n * @returns {string|window|ArrayBuffer|Blob|jsPDF|null|undefined}\r\n * @memberof jsPDF#\r\n * @name output\r\n */\r\n var output = (API.output = API.__private__.output = SAFE(function output(\r\n type,\r\n options\r\n ) {\r\n options = options || {};\r\n\r\n if (typeof options === \"string\") {\r\n options = {\r\n filename: options\r\n };\r\n } else {\r\n options.filename = options.filename || \"generated.pdf\";\r\n }\r\n\r\n switch (type) {\r\n case undefined:\r\n return buildDocument();\r\n case \"save\":\r\n API.save(options.filename);\r\n break;\r\n case \"arraybuffer\":\r\n return getArrayBuffer(buildDocument());\r\n case \"blob\":\r\n return getBlob(buildDocument());\r\n case \"bloburi\":\r\n case \"bloburl\":\r\n // Developer is responsible of calling revokeObjectURL\r\n if (\r\n typeof globalObject.URL !== \"undefined\" &&\r\n typeof globalObject.URL.createObjectURL === \"function\"\r\n ) {\r\n return (\r\n (globalObject.URL &&\r\n globalObject.URL.createObjectURL(getBlob(buildDocument()))) ||\r\n void 0\r\n );\r\n } else {\r\n console.warn(\r\n \"bloburl is not supported by your system, because URL.createObjectURL is not supported by your browser.\"\r\n );\r\n }\r\n break;\r\n case \"datauristring\":\r\n case \"dataurlstring\":\r\n var dataURI = \"\";\r\n var pdfDocument = buildDocument();\r\n try {\r\n dataURI = btoa(pdfDocument);\r\n } catch (e) {\r\n dataURI = btoa(unescape(encodeURIComponent(pdfDocument)));\r\n }\r\n return (\r\n \"data:application/pdf;filename=\" +\r\n options.filename +\r\n \";base64,\" +\r\n dataURI\r\n );\r\n case \"pdfobjectnewwindow\":\r\n if (\r\n Object.prototype.toString.call(globalObject) === \"[object Window]\"\r\n ) {\r\n var pdfObjectUrl =\r\n \"https://cdnjs.cloudflare.com/ajax/libs/pdfobject/2.1.1/pdfobject.min.js\";\r\n var integrity =\r\n ' integrity=\"sha512-4ze/a9/4jqu+tX9dfOqJYSvyYd5M6qum/3HpCLr+/Jqf0whc37VUbkpNGHR7/8pSnCFw47T1fmIpwBV7UySh3g==\" crossorigin=\"anonymous\"';\r\n\r\n if (options.pdfObjectUrl) {\r\n pdfObjectUrl = options.pdfObjectUrl;\r\n integrity = \"\";\r\n }\r\n\r\n var htmlForNewWindow =\r\n \"\" +\r\n '\";\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","/*\r\n * @namespace Util\r\n *\r\n * Various utility functions, used by Leaflet internally.\r\n */\r\n\r\n// @function extend(dest: Object, src?: Object): Object\r\n// Merges the properties of the `src` object (or multiple objects) into `dest` object and returns the latter. Has an `L.extend` shortcut.\r\nexport function extend(dest) {\r\n\tvar i, j, len, src;\r\n\r\n\tfor (j = 1, len = arguments.length; j < len; j++) {\r\n\t\tsrc = arguments[j];\r\n\t\tfor (i in src) {\r\n\t\t\tdest[i] = src[i];\r\n\t\t}\r\n\t}\r\n\treturn dest;\r\n}\r\n\r\n// @function create(proto: Object, properties?: Object): Object\r\n// Compatibility polyfill for [Object.create](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/create)\r\nexport var create = Object.create || (function () {\r\n\tfunction F() {}\r\n\treturn function (proto) {\r\n\t\tF.prototype = proto;\r\n\t\treturn new F();\r\n\t};\r\n})();\r\n\r\n// @function bind(fn: Function, …): Function\r\n// Returns a new function bound to the arguments passed, like [Function.prototype.bind](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Function/bind).\r\n// Has a `L.bind()` shortcut.\r\nexport function bind(fn, obj) {\r\n\tvar slice = Array.prototype.slice;\r\n\r\n\tif (fn.bind) {\r\n\t\treturn fn.bind.apply(fn, slice.call(arguments, 1));\r\n\t}\r\n\r\n\tvar args = slice.call(arguments, 2);\r\n\r\n\treturn function () {\r\n\t\treturn fn.apply(obj, args.length ? args.concat(slice.call(arguments)) : arguments);\r\n\t};\r\n}\r\n\r\n// @property lastId: Number\r\n// Last unique ID used by [`stamp()`](#util-stamp)\r\nexport var lastId = 0;\r\n\r\n// @function stamp(obj: Object): Number\r\n// Returns the unique ID of an object, assigning it one if it doesn't have it.\r\nexport function stamp(obj) {\r\n\tif (!('_leaflet_id' in obj)) {\r\n\t\tobj['_leaflet_id'] = ++lastId;\r\n\t}\r\n\treturn obj._leaflet_id;\r\n}\r\n\r\n// @function throttle(fn: Function, time: Number, context: Object): Function\r\n// Returns a function which executes function `fn` with the given scope `context`\r\n// (so that the `this` keyword refers to `context` inside `fn`'s code). The function\r\n// `fn` will be called no more than one time per given amount of `time`. The arguments\r\n// received by the bound function will be any arguments passed when binding the\r\n// function, followed by any arguments passed when invoking the bound function.\r\n// Has an `L.throttle` shortcut.\r\nexport function throttle(fn, time, context) {\r\n\tvar lock, args, wrapperFn, later;\r\n\r\n\tlater = function () {\r\n\t\t// reset lock and call if queued\r\n\t\tlock = false;\r\n\t\tif (args) {\r\n\t\t\twrapperFn.apply(context, args);\r\n\t\t\targs = false;\r\n\t\t}\r\n\t};\r\n\r\n\twrapperFn = function () {\r\n\t\tif (lock) {\r\n\t\t\t// called too soon, queue to call later\r\n\t\t\targs = arguments;\r\n\r\n\t\t} else {\r\n\t\t\t// call and lock until later\r\n\t\t\tfn.apply(context, arguments);\r\n\t\t\tsetTimeout(later, time);\r\n\t\t\tlock = true;\r\n\t\t}\r\n\t};\r\n\r\n\treturn wrapperFn;\r\n}\r\n\r\n// @function wrapNum(num: Number, range: Number[], includeMax?: Boolean): Number\r\n// Returns the number `num` modulo `range` in such a way so it lies within\r\n// `range[0]` and `range[1]`. The returned value will be always smaller than\r\n// `range[1]` unless `includeMax` is set to `true`.\r\nexport function wrapNum(x, range, includeMax) {\r\n\tvar max = range[1],\r\n\t min = range[0],\r\n\t d = max - min;\r\n\treturn x === max && includeMax ? x : ((x - min) % d + d) % d + min;\r\n}\r\n\r\n// @function falseFn(): Function\r\n// Returns a function which always returns `false`.\r\nexport function falseFn() { return false; }\r\n\r\n// @function formatNum(num: Number, precision?: Number|false): Number\r\n// Returns the number `num` rounded with specified `precision`.\r\n// The default `precision` value is 6 decimal places.\r\n// `false` can be passed to skip any processing (can be useful to avoid round-off errors).\r\nexport function formatNum(num, precision) {\r\n\tif (precision === false) { return num; }\r\n\tvar pow = Math.pow(10, precision === undefined ? 6 : precision);\r\n\treturn Math.round(num * pow) / pow;\r\n}\r\n\r\n// @function trim(str: String): String\r\n// Compatibility polyfill for [String.prototype.trim](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim)\r\nexport function trim(str) {\r\n\treturn str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\r\n}\r\n\r\n// @function splitWords(str: String): String[]\r\n// Trims and splits the string on whitespace and returns the array of parts.\r\nexport function splitWords(str) {\r\n\treturn trim(str).split(/\\s+/);\r\n}\r\n\r\n// @function setOptions(obj: Object, options: Object): Object\r\n// Merges the given properties to the `options` of the `obj` object, returning the resulting options. See `Class options`. Has an `L.setOptions` shortcut.\r\nexport function setOptions(obj, options) {\r\n\tif (!Object.prototype.hasOwnProperty.call(obj, 'options')) {\r\n\t\tobj.options = obj.options ? create(obj.options) : {};\r\n\t}\r\n\tfor (var i in options) {\r\n\t\tobj.options[i] = options[i];\r\n\t}\r\n\treturn obj.options;\r\n}\r\n\r\n// @function getParamString(obj: Object, existingUrl?: String, uppercase?: Boolean): String\r\n// Converts an object into a parameter URL string, e.g. `{a: \"foo\", b: \"bar\"}`\r\n// translates to `'?a=foo&b=bar'`. If `existingUrl` is set, the parameters will\r\n// be appended at the end. If `uppercase` is `true`, the parameter names will\r\n// be uppercased (e.g. `'?A=foo&B=bar'`)\r\nexport function getParamString(obj, existingUrl, uppercase) {\r\n\tvar params = [];\r\n\tfor (var i in obj) {\r\n\t\tparams.push(encodeURIComponent(uppercase ? i.toUpperCase() : i) + '=' + encodeURIComponent(obj[i]));\r\n\t}\r\n\treturn ((!existingUrl || existingUrl.indexOf('?') === -1) ? '?' : '&') + params.join('&');\r\n}\r\n\r\nvar templateRe = /\\{ *([\\w_ -]+) *\\}/g;\r\n\r\n// @function template(str: String, data: Object): String\r\n// Simple templating facility, accepts a template string of the form `'Hello {a}, {b}'`\r\n// and a data object like `{a: 'foo', b: 'bar'}`, returns evaluated string\r\n// `('Hello foo, bar')`. You can also specify functions instead of strings for\r\n// data values — they will be evaluated passing `data` as an argument.\r\nexport function template(str, data) {\r\n\treturn str.replace(templateRe, function (str, key) {\r\n\t\tvar value = data[key];\r\n\r\n\t\tif (value === undefined) {\r\n\t\t\tthrow new Error('No value provided for variable ' + str);\r\n\r\n\t\t} else if (typeof value === 'function') {\r\n\t\t\tvalue = value(data);\r\n\t\t}\r\n\t\treturn value;\r\n\t});\r\n}\r\n\r\n// @function isArray(obj): Boolean\r\n// Compatibility polyfill for [Array.isArray](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray)\r\nexport var isArray = Array.isArray || function (obj) {\r\n\treturn (Object.prototype.toString.call(obj) === '[object Array]');\r\n};\r\n\r\n// @function indexOf(array: Array, el: Object): Number\r\n// Compatibility polyfill for [Array.prototype.indexOf](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf)\r\nexport function indexOf(array, el) {\r\n\tfor (var i = 0; i < array.length; i++) {\r\n\t\tif (array[i] === el) { return i; }\r\n\t}\r\n\treturn -1;\r\n}\r\n\r\n// @property emptyImageUrl: String\r\n// Data URI string containing a base64-encoded empty GIF image.\r\n// Used as a hack to free memory from unused images on WebKit-powered\r\n// mobile devices (by setting image `src` to this string).\r\nexport var emptyImageUrl = 'data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=';\r\n\r\n// inspired by https://paulirish.com/2011/requestanimationframe-for-smart-animating/\r\n\r\nfunction getPrefixed(name) {\r\n\treturn window['webkit' + name] || window['moz' + name] || window['ms' + name];\r\n}\r\n\r\nvar lastTime = 0;\r\n\r\n// fallback for IE 7-8\r\nfunction timeoutDefer(fn) {\r\n\tvar time = +new Date(),\r\n\t timeToCall = Math.max(0, 16 - (time - lastTime));\r\n\r\n\tlastTime = time + timeToCall;\r\n\treturn window.setTimeout(fn, timeToCall);\r\n}\r\n\r\nexport var requestFn = window.requestAnimationFrame || getPrefixed('RequestAnimationFrame') || timeoutDefer;\r\nexport var cancelFn = window.cancelAnimationFrame || getPrefixed('CancelAnimationFrame') ||\r\n\t\tgetPrefixed('CancelRequestAnimationFrame') || function (id) { window.clearTimeout(id); };\r\n\r\n// @function requestAnimFrame(fn: Function, context?: Object, immediate?: Boolean): Number\r\n// Schedules `fn` to be executed when the browser repaints. `fn` is bound to\r\n// `context` if given. When `immediate` is set, `fn` is called immediately if\r\n// the browser doesn't have native support for\r\n// [`window.requestAnimationFrame`](https://developer.mozilla.org/docs/Web/API/window/requestAnimationFrame),\r\n// otherwise it's delayed. Returns a request ID that can be used to cancel the request.\r\nexport function requestAnimFrame(fn, context, immediate) {\r\n\tif (immediate && requestFn === timeoutDefer) {\r\n\t\tfn.call(context);\r\n\t} else {\r\n\t\treturn requestFn.call(window, bind(fn, context));\r\n\t}\r\n}\r\n\r\n// @function cancelAnimFrame(id: Number): undefined\r\n// Cancels a previous `requestAnimFrame`. See also [window.cancelAnimationFrame](https://developer.mozilla.org/docs/Web/API/window/cancelAnimationFrame).\r\nexport function cancelAnimFrame(id) {\r\n\tif (id) {\r\n\t\tcancelFn.call(window, id);\r\n\t}\r\n}\r\n","import * as Util from './Util';\r\n\r\n// @class Class\r\n// @aka L.Class\r\n\r\n// @section\r\n// @uninheritable\r\n\r\n// Thanks to John Resig and Dean Edwards for inspiration!\r\n\r\nexport function Class() {}\r\n\r\nClass.extend = function (props) {\r\n\r\n\t// @function extend(props: Object): Function\r\n\t// [Extends the current class](#class-inheritance) given the properties to be included.\r\n\t// Returns a Javascript function that is a class constructor (to be called with `new`).\r\n\tvar NewClass = function () {\r\n\r\n\t\tUtil.setOptions(this);\r\n\r\n\t\t// call the constructor\r\n\t\tif (this.initialize) {\r\n\t\t\tthis.initialize.apply(this, arguments);\r\n\t\t}\r\n\r\n\t\t// call all constructor hooks\r\n\t\tthis.callInitHooks();\r\n\t};\r\n\r\n\tvar parentProto = NewClass.__super__ = this.prototype;\r\n\r\n\tvar proto = Util.create(parentProto);\r\n\tproto.constructor = NewClass;\r\n\r\n\tNewClass.prototype = proto;\r\n\r\n\t// inherit parent's statics\r\n\tfor (var i in this) {\r\n\t\tif (Object.prototype.hasOwnProperty.call(this, i) && i !== 'prototype' && i !== '__super__') {\r\n\t\t\tNewClass[i] = this[i];\r\n\t\t}\r\n\t}\r\n\r\n\t// mix static properties into the class\r\n\tif (props.statics) {\r\n\t\tUtil.extend(NewClass, props.statics);\r\n\t}\r\n\r\n\t// mix includes into the prototype\r\n\tif (props.includes) {\r\n\t\tcheckDeprecatedMixinEvents(props.includes);\r\n\t\tUtil.extend.apply(null, [proto].concat(props.includes));\r\n\t}\r\n\r\n\t// mix given properties into the prototype\r\n\tUtil.extend(proto, props);\r\n\tdelete proto.statics;\r\n\tdelete proto.includes;\r\n\r\n\t// merge options\r\n\tif (proto.options) {\r\n\t\tproto.options = parentProto.options ? Util.create(parentProto.options) : {};\r\n\t\tUtil.extend(proto.options, props.options);\r\n\t}\r\n\r\n\tproto._initHooks = [];\r\n\r\n\t// add method for calling all hooks\r\n\tproto.callInitHooks = function () {\r\n\r\n\t\tif (this._initHooksCalled) { return; }\r\n\r\n\t\tif (parentProto.callInitHooks) {\r\n\t\t\tparentProto.callInitHooks.call(this);\r\n\t\t}\r\n\r\n\t\tthis._initHooksCalled = true;\r\n\r\n\t\tfor (var i = 0, len = proto._initHooks.length; i < len; i++) {\r\n\t\t\tproto._initHooks[i].call(this);\r\n\t\t}\r\n\t};\r\n\r\n\treturn NewClass;\r\n};\r\n\r\n\r\n// @function include(properties: Object): this\r\n// [Includes a mixin](#class-includes) into the current class.\r\nClass.include = function (props) {\r\n\tvar parentOptions = this.prototype.options;\r\n\tUtil.extend(this.prototype, props);\r\n\tif (props.options) {\r\n\t\tthis.prototype.options = parentOptions;\r\n\t\tthis.mergeOptions(props.options);\r\n\t}\r\n\treturn this;\r\n};\r\n\r\n// @function mergeOptions(options: Object): this\r\n// [Merges `options`](#class-options) into the defaults of the class.\r\nClass.mergeOptions = function (options) {\r\n\tUtil.extend(this.prototype.options, options);\r\n\treturn this;\r\n};\r\n\r\n// @function addInitHook(fn: Function): this\r\n// Adds a [constructor hook](#class-constructor-hooks) to the class.\r\nClass.addInitHook = function (fn) { // (Function) || (String, args...)\r\n\tvar args = Array.prototype.slice.call(arguments, 1);\r\n\r\n\tvar init = typeof fn === 'function' ? fn : function () {\r\n\t\tthis[fn].apply(this, args);\r\n\t};\r\n\r\n\tthis.prototype._initHooks = this.prototype._initHooks || [];\r\n\tthis.prototype._initHooks.push(init);\r\n\treturn this;\r\n};\r\n\r\nfunction checkDeprecatedMixinEvents(includes) {\r\n\t/* global L: true */\r\n\tif (typeof L === 'undefined' || !L || !L.Mixin) { return; }\r\n\r\n\tincludes = Util.isArray(includes) ? includes : [includes];\r\n\r\n\tfor (var i = 0; i < includes.length; i++) {\r\n\t\tif (includes[i] === L.Mixin.Events) {\r\n\t\t\tconsole.warn('Deprecated include of L.Mixin.Events: ' +\r\n\t\t\t\t'this property will be removed in future releases, ' +\r\n\t\t\t\t'please inherit from L.Evented instead.', new Error().stack);\r\n\t\t}\r\n\t}\r\n}\r\n","import {Class} from './Class';\r\nimport * as Util from './Util';\r\n\r\n/*\r\n * @class Evented\r\n * @aka L.Evented\r\n * @inherits Class\r\n *\r\n * A set of methods shared between event-powered classes (like `Map` and `Marker`). Generally, events allow you to execute some function when something happens with an object (e.g. the user clicks on the map, causing the map to fire `'click'` event).\r\n *\r\n * @example\r\n *\r\n * ```js\r\n * map.on('click', function(e) {\r\n * \talert(e.latlng);\r\n * } );\r\n * ```\r\n *\r\n * Leaflet deals with event listeners by reference, so if you want to add a listener and then remove it, define it as a function:\r\n *\r\n * ```js\r\n * function onClick(e) { ... }\r\n *\r\n * map.on('click', onClick);\r\n * map.off('click', onClick);\r\n * ```\r\n */\r\n\r\nexport var Events = {\r\n\t/* @method on(type: String, fn: Function, context?: Object): this\r\n\t * Adds a listener function (`fn`) to a particular event type of the object. You can optionally specify the context of the listener (object the this keyword will point to). You can also pass several space-separated types (e.g. `'click dblclick'`).\r\n\t *\r\n\t * @alternative\r\n\t * @method on(eventMap: Object): this\r\n\t * Adds a set of type/listener pairs, e.g. `{click: onClick, mousemove: onMouseMove}`\r\n\t */\r\n\ton: function (types, fn, context) {\r\n\r\n\t\t// types can be a map of types/handlers\r\n\t\tif (typeof types === 'object') {\r\n\t\t\tfor (var type in types) {\r\n\t\t\t\t// we don't process space-separated events here for performance;\r\n\t\t\t\t// it's a hot path since Layer uses the on(obj) syntax\r\n\t\t\t\tthis._on(type, types[type], fn);\r\n\t\t\t}\r\n\r\n\t\t} else {\r\n\t\t\t// types can be a string of space-separated words\r\n\t\t\ttypes = Util.splitWords(types);\r\n\r\n\t\t\tfor (var i = 0, len = types.length; i < len; i++) {\r\n\t\t\t\tthis._on(types[i], fn, context);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\t/* @method off(type: String, fn?: Function, context?: Object): this\r\n\t * Removes a previously added listener function. If no function is specified, it will remove all the listeners of that particular event from the object. Note that if you passed a custom context to `on`, you must pass the same context to `off` in order to remove the listener.\r\n\t *\r\n\t * @alternative\r\n\t * @method off(eventMap: Object): this\r\n\t * Removes a set of type/listener pairs.\r\n\t *\r\n\t * @alternative\r\n\t * @method off: this\r\n\t * Removes all listeners to all events on the object. This includes implicitly attached events.\r\n\t */\r\n\toff: function (types, fn, context) {\r\n\r\n\t\tif (!arguments.length) {\r\n\t\t\t// clear all listeners if called without arguments\r\n\t\t\tdelete this._events;\r\n\r\n\t\t} else if (typeof types === 'object') {\r\n\t\t\tfor (var type in types) {\r\n\t\t\t\tthis._off(type, types[type], fn);\r\n\t\t\t}\r\n\r\n\t\t} else {\r\n\t\t\ttypes = Util.splitWords(types);\r\n\r\n\t\t\tvar removeAll = arguments.length === 1;\r\n\t\t\tfor (var i = 0, len = types.length; i < len; i++) {\r\n\t\t\t\tif (removeAll) {\r\n\t\t\t\t\tthis._off(types[i]);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis._off(types[i], fn, context);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// attach listener (without syntactic sugar now)\r\n\t_on: function (type, fn, context, _once) {\r\n\t\tif (typeof fn !== 'function') {\r\n\t\t\tconsole.warn('wrong listener type: ' + typeof fn);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// check if fn already there\r\n\t\tif (this._listens(type, fn, context) !== false) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (context === this) {\r\n\t\t\t// Less memory footprint.\r\n\t\t\tcontext = undefined;\r\n\t\t}\r\n\r\n\t\tvar newListener = {fn: fn, ctx: context};\r\n\t\tif (_once) {\r\n\t\t\tnewListener.once = true;\r\n\t\t}\r\n\r\n\t\tthis._events = this._events || {};\r\n\t\tthis._events[type] = this._events[type] || [];\r\n\t\tthis._events[type].push(newListener);\r\n\t},\r\n\r\n\t_off: function (type, fn, context) {\r\n\t\tvar listeners,\r\n\t\t i,\r\n\t\t len;\r\n\r\n\t\tif (!this._events) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tlisteners = this._events[type];\r\n\t\tif (!listeners) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (arguments.length === 1) { // remove all\r\n\t\t\tif (this._firingCount) {\r\n\t\t\t\t// Set all removed listeners to noop\r\n\t\t\t\t// so they are not called if remove happens in fire\r\n\t\t\t\tfor (i = 0, len = listeners.length; i < len; i++) {\r\n\t\t\t\t\tlisteners[i].fn = Util.falseFn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// clear all listeners for a type if function isn't specified\r\n\t\t\tdelete this._events[type];\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (typeof fn !== 'function') {\r\n\t\t\tconsole.warn('wrong listener type: ' + typeof fn);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// find fn and remove it\r\n\t\tvar index = this._listens(type, fn, context);\r\n\t\tif (index !== false) {\r\n\t\t\tvar listener = listeners[index];\r\n\t\t\tif (this._firingCount) {\r\n\t\t\t\t// set the removed listener to noop so that's not called if remove happens in fire\r\n\t\t\t\tlistener.fn = Util.falseFn;\r\n\r\n\t\t\t\t/* copy array in case events are being fired */\r\n\t\t\t\tthis._events[type] = listeners = listeners.slice();\r\n\t\t\t}\r\n\t\t\tlisteners.splice(index, 1);\r\n\t\t}\r\n\t},\r\n\r\n\t// @method fire(type: String, data?: Object, propagate?: Boolean): this\r\n\t// Fires an event of the specified type. You can optionally provide a data\r\n\t// object — the first argument of the listener function will contain its\r\n\t// properties. The event can optionally be propagated to event parents.\r\n\tfire: function (type, data, propagate) {\r\n\t\tif (!this.listens(type, propagate)) { return this; }\r\n\r\n\t\tvar event = Util.extend({}, data, {\r\n\t\t\ttype: type,\r\n\t\t\ttarget: this,\r\n\t\t\tsourceTarget: data && data.sourceTarget || this\r\n\t\t});\r\n\r\n\t\tif (this._events) {\r\n\t\t\tvar listeners = this._events[type];\r\n\t\t\tif (listeners) {\r\n\t\t\t\tthis._firingCount = (this._firingCount + 1) || 1;\r\n\t\t\t\tfor (var i = 0, len = listeners.length; i < len; i++) {\r\n\t\t\t\t\tvar l = listeners[i];\r\n\t\t\t\t\t// off overwrites l.fn, so we need to copy fn to a var\r\n\t\t\t\t\tvar fn = l.fn;\r\n\t\t\t\t\tif (l.once) {\r\n\t\t\t\t\t\tthis.off(type, fn, l.ctx);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tfn.call(l.ctx || this, event);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis._firingCount--;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (propagate) {\r\n\t\t\t// propagate the event to parents (set with addEventParent)\r\n\t\t\tthis._propagateEvent(event);\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method listens(type: String, propagate?: Boolean): Boolean\r\n\t// @method listens(type: String, fn: Function, context?: Object, propagate?: Boolean): Boolean\r\n\t// Returns `true` if a particular event type has any listeners attached to it.\r\n\t// The verification can optionally be propagated, it will return `true` if parents have the listener attached to it.\r\n\tlistens: function (type, fn, context, propagate) {\r\n\t\tif (typeof type !== 'string') {\r\n\t\t\tconsole.warn('\"string\" type argument expected');\r\n\t\t}\r\n\r\n\t\t// we don't overwrite the input `fn` value, because we need to use it for propagation\r\n\t\tvar _fn = fn;\r\n\t\tif (typeof fn !== 'function') {\r\n\t\t\tpropagate = !!fn;\r\n\t\t\t_fn = undefined;\r\n\t\t\tcontext = undefined;\r\n\t\t}\r\n\r\n\t\tvar listeners = this._events && this._events[type];\r\n\t\tif (listeners && listeners.length) {\r\n\t\t\tif (this._listens(type, _fn, context) !== false) {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (propagate) {\r\n\t\t\t// also check parents for listeners if event propagates\r\n\t\t\tfor (var id in this._eventParents) {\r\n\t\t\t\tif (this._eventParents[id].listens(type, fn, context, propagate)) { return true; }\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn false;\r\n\t},\r\n\r\n\t// returns the index (number) or false\r\n\t_listens: function (type, fn, context) {\r\n\t\tif (!this._events) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tvar listeners = this._events[type] || [];\r\n\t\tif (!fn) {\r\n\t\t\treturn !!listeners.length;\r\n\t\t}\r\n\r\n\t\tif (context === this) {\r\n\t\t\t// Less memory footprint.\r\n\t\t\tcontext = undefined;\r\n\t\t}\r\n\r\n\t\tfor (var i = 0, len = listeners.length; i < len; i++) {\r\n\t\t\tif (listeners[i].fn === fn && listeners[i].ctx === context) {\r\n\t\t\t\treturn i;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn false;\r\n\r\n\t},\r\n\r\n\t// @method once(…): this\r\n\t// Behaves as [`on(…)`](#evented-on), except the listener will only get fired once and then removed.\r\n\tonce: function (types, fn, context) {\r\n\r\n\t\t// types can be a map of types/handlers\r\n\t\tif (typeof types === 'object') {\r\n\t\t\tfor (var type in types) {\r\n\t\t\t\t// we don't process space-separated events here for performance;\r\n\t\t\t\t// it's a hot path since Layer uses the on(obj) syntax\r\n\t\t\t\tthis._on(type, types[type], fn, true);\r\n\t\t\t}\r\n\r\n\t\t} else {\r\n\t\t\t// types can be a string of space-separated words\r\n\t\t\ttypes = Util.splitWords(types);\r\n\r\n\t\t\tfor (var i = 0, len = types.length; i < len; i++) {\r\n\t\t\t\tthis._on(types[i], fn, context, true);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method addEventParent(obj: Evented): this\r\n\t// Adds an event parent - an `Evented` that will receive propagated events\r\n\taddEventParent: function (obj) {\r\n\t\tthis._eventParents = this._eventParents || {};\r\n\t\tthis._eventParents[Util.stamp(obj)] = obj;\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method removeEventParent(obj: Evented): this\r\n\t// Removes an event parent, so it will stop receiving propagated events\r\n\tremoveEventParent: function (obj) {\r\n\t\tif (this._eventParents) {\r\n\t\t\tdelete this._eventParents[Util.stamp(obj)];\r\n\t\t}\r\n\t\treturn this;\r\n\t},\r\n\r\n\t_propagateEvent: function (e) {\r\n\t\tfor (var id in this._eventParents) {\r\n\t\t\tthis._eventParents[id].fire(e.type, Util.extend({\r\n\t\t\t\tlayer: e.target,\r\n\t\t\t\tpropagatedFrom: e.target\r\n\t\t\t}, e), true);\r\n\t\t}\r\n\t}\r\n};\r\n\r\n// aliases; we should ditch those eventually\r\n\r\n// @method addEventListener(…): this\r\n// Alias to [`on(…)`](#evented-on)\r\nEvents.addEventListener = Events.on;\r\n\r\n// @method removeEventListener(…): this\r\n// Alias to [`off(…)`](#evented-off)\r\n\r\n// @method clearAllEventListeners(…): this\r\n// Alias to [`off()`](#evented-off)\r\nEvents.removeEventListener = Events.clearAllEventListeners = Events.off;\r\n\r\n// @method addOneTimeEventListener(…): this\r\n// Alias to [`once(…)`](#evented-once)\r\nEvents.addOneTimeEventListener = Events.once;\r\n\r\n// @method fireEvent(…): this\r\n// Alias to [`fire(…)`](#evented-fire)\r\nEvents.fireEvent = Events.fire;\r\n\r\n// @method hasEventListeners(…): Boolean\r\n// Alias to [`listens(…)`](#evented-listens)\r\nEvents.hasEventListeners = Events.listens;\r\n\r\nexport var Evented = Class.extend(Events);\r\n","import {isArray, formatNum} from '../core/Util';\r\n\r\n/*\r\n * @class Point\r\n * @aka L.Point\r\n *\r\n * Represents a point with `x` and `y` coordinates in pixels.\r\n *\r\n * @example\r\n *\r\n * ```js\r\n * var point = L.point(200, 300);\r\n * ```\r\n *\r\n * All Leaflet methods and options that accept `Point` objects also accept them in a simple Array form (unless noted otherwise), so these lines are equivalent:\r\n *\r\n * ```js\r\n * map.panBy([200, 300]);\r\n * map.panBy(L.point(200, 300));\r\n * ```\r\n *\r\n * Note that `Point` does not inherit from Leaflet's `Class` object,\r\n * which means new classes can't inherit from it, and new methods\r\n * can't be added to it with the `include` function.\r\n */\r\n\r\nexport function Point(x, y, round) {\r\n\t// @property x: Number; The `x` coordinate of the point\r\n\tthis.x = (round ? Math.round(x) : x);\r\n\t// @property y: Number; The `y` coordinate of the point\r\n\tthis.y = (round ? Math.round(y) : y);\r\n}\r\n\r\nvar trunc = Math.trunc || function (v) {\r\n\treturn v > 0 ? Math.floor(v) : Math.ceil(v);\r\n};\r\n\r\nPoint.prototype = {\r\n\r\n\t// @method clone(): Point\r\n\t// Returns a copy of the current point.\r\n\tclone: function () {\r\n\t\treturn new Point(this.x, this.y);\r\n\t},\r\n\r\n\t// @method add(otherPoint: Point): Point\r\n\t// Returns the result of addition of the current and the given points.\r\n\tadd: function (point) {\r\n\t\t// non-destructive, returns a new point\r\n\t\treturn this.clone()._add(toPoint(point));\r\n\t},\r\n\r\n\t_add: function (point) {\r\n\t\t// destructive, used directly for performance in situations where it's safe to modify existing point\r\n\t\tthis.x += point.x;\r\n\t\tthis.y += point.y;\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method subtract(otherPoint: Point): Point\r\n\t// Returns the result of subtraction of the given point from the current.\r\n\tsubtract: function (point) {\r\n\t\treturn this.clone()._subtract(toPoint(point));\r\n\t},\r\n\r\n\t_subtract: function (point) {\r\n\t\tthis.x -= point.x;\r\n\t\tthis.y -= point.y;\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method divideBy(num: Number): Point\r\n\t// Returns the result of division of the current point by the given number.\r\n\tdivideBy: function (num) {\r\n\t\treturn this.clone()._divideBy(num);\r\n\t},\r\n\r\n\t_divideBy: function (num) {\r\n\t\tthis.x /= num;\r\n\t\tthis.y /= num;\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method multiplyBy(num: Number): Point\r\n\t// Returns the result of multiplication of the current point by the given number.\r\n\tmultiplyBy: function (num) {\r\n\t\treturn this.clone()._multiplyBy(num);\r\n\t},\r\n\r\n\t_multiplyBy: function (num) {\r\n\t\tthis.x *= num;\r\n\t\tthis.y *= num;\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method scaleBy(scale: Point): Point\r\n\t// Multiply each coordinate of the current point by each coordinate of\r\n\t// `scale`. In linear algebra terms, multiply the point by the\r\n\t// [scaling matrix](https://en.wikipedia.org/wiki/Scaling_%28geometry%29#Matrix_representation)\r\n\t// defined by `scale`.\r\n\tscaleBy: function (point) {\r\n\t\treturn new Point(this.x * point.x, this.y * point.y);\r\n\t},\r\n\r\n\t// @method unscaleBy(scale: Point): Point\r\n\t// Inverse of `scaleBy`. Divide each coordinate of the current point by\r\n\t// each coordinate of `scale`.\r\n\tunscaleBy: function (point) {\r\n\t\treturn new Point(this.x / point.x, this.y / point.y);\r\n\t},\r\n\r\n\t// @method round(): Point\r\n\t// Returns a copy of the current point with rounded coordinates.\r\n\tround: function () {\r\n\t\treturn this.clone()._round();\r\n\t},\r\n\r\n\t_round: function () {\r\n\t\tthis.x = Math.round(this.x);\r\n\t\tthis.y = Math.round(this.y);\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method floor(): Point\r\n\t// Returns a copy of the current point with floored coordinates (rounded down).\r\n\tfloor: function () {\r\n\t\treturn this.clone()._floor();\r\n\t},\r\n\r\n\t_floor: function () {\r\n\t\tthis.x = Math.floor(this.x);\r\n\t\tthis.y = Math.floor(this.y);\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method ceil(): Point\r\n\t// Returns a copy of the current point with ceiled coordinates (rounded up).\r\n\tceil: function () {\r\n\t\treturn this.clone()._ceil();\r\n\t},\r\n\r\n\t_ceil: function () {\r\n\t\tthis.x = Math.ceil(this.x);\r\n\t\tthis.y = Math.ceil(this.y);\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method trunc(): Point\r\n\t// Returns a copy of the current point with truncated coordinates (rounded towards zero).\r\n\ttrunc: function () {\r\n\t\treturn this.clone()._trunc();\r\n\t},\r\n\r\n\t_trunc: function () {\r\n\t\tthis.x = trunc(this.x);\r\n\t\tthis.y = trunc(this.y);\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method distanceTo(otherPoint: Point): Number\r\n\t// Returns the cartesian distance between the current and the given points.\r\n\tdistanceTo: function (point) {\r\n\t\tpoint = toPoint(point);\r\n\r\n\t\tvar x = point.x - this.x,\r\n\t\t y = point.y - this.y;\r\n\r\n\t\treturn Math.sqrt(x * x + y * y);\r\n\t},\r\n\r\n\t// @method equals(otherPoint: Point): Boolean\r\n\t// Returns `true` if the given point has the same coordinates.\r\n\tequals: function (point) {\r\n\t\tpoint = toPoint(point);\r\n\r\n\t\treturn point.x === this.x &&\r\n\t\t point.y === this.y;\r\n\t},\r\n\r\n\t// @method contains(otherPoint: Point): Boolean\r\n\t// Returns `true` if both coordinates of the given point are less than the corresponding current point coordinates (in absolute values).\r\n\tcontains: function (point) {\r\n\t\tpoint = toPoint(point);\r\n\r\n\t\treturn Math.abs(point.x) <= Math.abs(this.x) &&\r\n\t\t Math.abs(point.y) <= Math.abs(this.y);\r\n\t},\r\n\r\n\t// @method toString(): String\r\n\t// Returns a string representation of the point for debugging purposes.\r\n\ttoString: function () {\r\n\t\treturn 'Point(' +\r\n\t\t formatNum(this.x) + ', ' +\r\n\t\t formatNum(this.y) + ')';\r\n\t}\r\n};\r\n\r\n// @factory L.point(x: Number, y: Number, round?: Boolean)\r\n// Creates a Point object with the given `x` and `y` coordinates. If optional `round` is set to true, rounds the `x` and `y` values.\r\n\r\n// @alternative\r\n// @factory L.point(coords: Number[])\r\n// Expects an array of the form `[x, y]` instead.\r\n\r\n// @alternative\r\n// @factory L.point(coords: Object)\r\n// Expects a plain object of the form `{x: Number, y: Number}` instead.\r\nexport function toPoint(x, y, round) {\r\n\tif (x instanceof Point) {\r\n\t\treturn x;\r\n\t}\r\n\tif (isArray(x)) {\r\n\t\treturn new Point(x[0], x[1]);\r\n\t}\r\n\tif (x === undefined || x === null) {\r\n\t\treturn x;\r\n\t}\r\n\tif (typeof x === 'object' && 'x' in x && 'y' in x) {\r\n\t\treturn new Point(x.x, x.y);\r\n\t}\r\n\treturn new Point(x, y, round);\r\n}\r\n","import {Point, toPoint} from './Point';\r\n\r\n/*\r\n * @class Bounds\r\n * @aka L.Bounds\r\n *\r\n * Represents a rectangular area in pixel coordinates.\r\n *\r\n * @example\r\n *\r\n * ```js\r\n * var p1 = L.point(10, 10),\r\n * p2 = L.point(40, 60),\r\n * bounds = L.bounds(p1, p2);\r\n * ```\r\n *\r\n * All Leaflet methods that accept `Bounds` objects also accept them in a simple Array form (unless noted otherwise), so the bounds example above can be passed like this:\r\n *\r\n * ```js\r\n * otherBounds.intersects([[10, 10], [40, 60]]);\r\n * ```\r\n *\r\n * Note that `Bounds` does not inherit from Leaflet's `Class` object,\r\n * which means new classes can't inherit from it, and new methods\r\n * can't be added to it with the `include` function.\r\n */\r\n\r\nexport function Bounds(a, b) {\r\n\tif (!a) { return; }\r\n\r\n\tvar points = b ? [a, b] : a;\r\n\r\n\tfor (var i = 0, len = points.length; i < len; i++) {\r\n\t\tthis.extend(points[i]);\r\n\t}\r\n}\r\n\r\nBounds.prototype = {\r\n\t// @method extend(point: Point): this\r\n\t// Extends the bounds to contain the given point.\r\n\r\n\t// @alternative\r\n\t// @method extend(otherBounds: Bounds): this\r\n\t// Extend the bounds to contain the given bounds\r\n\textend: function (obj) {\r\n\t\tvar min2, max2;\r\n\t\tif (!obj) { return this; }\r\n\r\n\t\tif (obj instanceof Point || typeof obj[0] === 'number' || 'x' in obj) {\r\n\t\t\tmin2 = max2 = toPoint(obj);\r\n\t\t} else {\r\n\t\t\tobj = toBounds(obj);\r\n\t\t\tmin2 = obj.min;\r\n\t\t\tmax2 = obj.max;\r\n\r\n\t\t\tif (!min2 || !max2) { return this; }\r\n\t\t}\r\n\r\n\t\t// @property min: Point\r\n\t\t// The top left corner of the rectangle.\r\n\t\t// @property max: Point\r\n\t\t// The bottom right corner of the rectangle.\r\n\t\tif (!this.min && !this.max) {\r\n\t\t\tthis.min = min2.clone();\r\n\t\t\tthis.max = max2.clone();\r\n\t\t} else {\r\n\t\t\tthis.min.x = Math.min(min2.x, this.min.x);\r\n\t\t\tthis.max.x = Math.max(max2.x, this.max.x);\r\n\t\t\tthis.min.y = Math.min(min2.y, this.min.y);\r\n\t\t\tthis.max.y = Math.max(max2.y, this.max.y);\r\n\t\t}\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method getCenter(round?: Boolean): Point\r\n\t// Returns the center point of the bounds.\r\n\tgetCenter: function (round) {\r\n\t\treturn toPoint(\r\n\t\t (this.min.x + this.max.x) / 2,\r\n\t\t (this.min.y + this.max.y) / 2, round);\r\n\t},\r\n\r\n\t// @method getBottomLeft(): Point\r\n\t// Returns the bottom-left point of the bounds.\r\n\tgetBottomLeft: function () {\r\n\t\treturn toPoint(this.min.x, this.max.y);\r\n\t},\r\n\r\n\t// @method getTopRight(): Point\r\n\t// Returns the top-right point of the bounds.\r\n\tgetTopRight: function () { // -> Point\r\n\t\treturn toPoint(this.max.x, this.min.y);\r\n\t},\r\n\r\n\t// @method getTopLeft(): Point\r\n\t// Returns the top-left point of the bounds (i.e. [`this.min`](#bounds-min)).\r\n\tgetTopLeft: function () {\r\n\t\treturn this.min; // left, top\r\n\t},\r\n\r\n\t// @method getBottomRight(): Point\r\n\t// Returns the bottom-right point of the bounds (i.e. [`this.max`](#bounds-max)).\r\n\tgetBottomRight: function () {\r\n\t\treturn this.max; // right, bottom\r\n\t},\r\n\r\n\t// @method getSize(): Point\r\n\t// Returns the size of the given bounds\r\n\tgetSize: function () {\r\n\t\treturn this.max.subtract(this.min);\r\n\t},\r\n\r\n\t// @method contains(otherBounds: Bounds): Boolean\r\n\t// Returns `true` if the rectangle contains the given one.\r\n\t// @alternative\r\n\t// @method contains(point: Point): Boolean\r\n\t// Returns `true` if the rectangle contains the given point.\r\n\tcontains: function (obj) {\r\n\t\tvar min, max;\r\n\r\n\t\tif (typeof obj[0] === 'number' || obj instanceof Point) {\r\n\t\t\tobj = toPoint(obj);\r\n\t\t} else {\r\n\t\t\tobj = toBounds(obj);\r\n\t\t}\r\n\r\n\t\tif (obj instanceof Bounds) {\r\n\t\t\tmin = obj.min;\r\n\t\t\tmax = obj.max;\r\n\t\t} else {\r\n\t\t\tmin = max = obj;\r\n\t\t}\r\n\r\n\t\treturn (min.x >= this.min.x) &&\r\n\t\t (max.x <= this.max.x) &&\r\n\t\t (min.y >= this.min.y) &&\r\n\t\t (max.y <= this.max.y);\r\n\t},\r\n\r\n\t// @method intersects(otherBounds: Bounds): Boolean\r\n\t// Returns `true` if the rectangle intersects the given bounds. Two bounds\r\n\t// intersect if they have at least one point in common.\r\n\tintersects: function (bounds) { // (Bounds) -> Boolean\r\n\t\tbounds = toBounds(bounds);\r\n\r\n\t\tvar min = this.min,\r\n\t\t max = this.max,\r\n\t\t min2 = bounds.min,\r\n\t\t max2 = bounds.max,\r\n\t\t xIntersects = (max2.x >= min.x) && (min2.x <= max.x),\r\n\t\t yIntersects = (max2.y >= min.y) && (min2.y <= max.y);\r\n\r\n\t\treturn xIntersects && yIntersects;\r\n\t},\r\n\r\n\t// @method overlaps(otherBounds: Bounds): Boolean\r\n\t// Returns `true` if the rectangle overlaps the given bounds. Two bounds\r\n\t// overlap if their intersection is an area.\r\n\toverlaps: function (bounds) { // (Bounds) -> Boolean\r\n\t\tbounds = toBounds(bounds);\r\n\r\n\t\tvar min = this.min,\r\n\t\t max = this.max,\r\n\t\t min2 = bounds.min,\r\n\t\t max2 = bounds.max,\r\n\t\t xOverlaps = (max2.x > min.x) && (min2.x < max.x),\r\n\t\t yOverlaps = (max2.y > min.y) && (min2.y < max.y);\r\n\r\n\t\treturn xOverlaps && yOverlaps;\r\n\t},\r\n\r\n\t// @method isValid(): Boolean\r\n\t// Returns `true` if the bounds are properly initialized.\r\n\tisValid: function () {\r\n\t\treturn !!(this.min && this.max);\r\n\t},\r\n\r\n\r\n\t// @method pad(bufferRatio: Number): Bounds\r\n\t// Returns bounds created by extending or retracting the current bounds by a given ratio in each direction.\r\n\t// For example, a ratio of 0.5 extends the bounds by 50% in each direction.\r\n\t// Negative values will retract the bounds.\r\n\tpad: function (bufferRatio) {\r\n\t\tvar min = this.min,\r\n\t\tmax = this.max,\r\n\t\theightBuffer = Math.abs(min.x - max.x) * bufferRatio,\r\n\t\twidthBuffer = Math.abs(min.y - max.y) * bufferRatio;\r\n\r\n\r\n\t\treturn toBounds(\r\n\t\t\ttoPoint(min.x - heightBuffer, min.y - widthBuffer),\r\n\t\t\ttoPoint(max.x + heightBuffer, max.y + widthBuffer));\r\n\t},\r\n\r\n\r\n\t// @method equals(otherBounds: Bounds): Boolean\r\n\t// Returns `true` if the rectangle is equivalent to the given bounds.\r\n\tequals: function (bounds) {\r\n\t\tif (!bounds) { return false; }\r\n\r\n\t\tbounds = toBounds(bounds);\r\n\r\n\t\treturn this.min.equals(bounds.getTopLeft()) &&\r\n\t\t\tthis.max.equals(bounds.getBottomRight());\r\n\t},\r\n};\r\n\r\n\r\n// @factory L.bounds(corner1: Point, corner2: Point)\r\n// Creates a Bounds object from two corners coordinate pairs.\r\n// @alternative\r\n// @factory L.bounds(points: Point[])\r\n// Creates a Bounds object from the given array of points.\r\nexport function toBounds(a, b) {\r\n\tif (!a || a instanceof Bounds) {\r\n\t\treturn a;\r\n\t}\r\n\treturn new Bounds(a, b);\r\n}\r\n","import {LatLng, toLatLng} from './LatLng';\r\n\r\n/*\r\n * @class LatLngBounds\r\n * @aka L.LatLngBounds\r\n *\r\n * Represents a rectangular geographical area on a map.\r\n *\r\n * @example\r\n *\r\n * ```js\r\n * var corner1 = L.latLng(40.712, -74.227),\r\n * corner2 = L.latLng(40.774, -74.125),\r\n * bounds = L.latLngBounds(corner1, corner2);\r\n * ```\r\n *\r\n * All Leaflet methods that accept LatLngBounds objects also accept them in a simple Array form (unless noted otherwise), so the bounds example above can be passed like this:\r\n *\r\n * ```js\r\n * map.fitBounds([\r\n * \t[40.712, -74.227],\r\n * \t[40.774, -74.125]\r\n * ]);\r\n * ```\r\n *\r\n * Caution: if the area crosses the antimeridian (often confused with the International Date Line), you must specify corners _outside_ the [-180, 180] degrees longitude range.\r\n *\r\n * Note that `LatLngBounds` does not inherit from Leaflet's `Class` object,\r\n * which means new classes can't inherit from it, and new methods\r\n * can't be added to it with the `include` function.\r\n */\r\n\r\nexport function LatLngBounds(corner1, corner2) { // (LatLng, LatLng) or (LatLng[])\r\n\tif (!corner1) { return; }\r\n\r\n\tvar latlngs = corner2 ? [corner1, corner2] : corner1;\r\n\r\n\tfor (var i = 0, len = latlngs.length; i < len; i++) {\r\n\t\tthis.extend(latlngs[i]);\r\n\t}\r\n}\r\n\r\nLatLngBounds.prototype = {\r\n\r\n\t// @method extend(latlng: LatLng): this\r\n\t// Extend the bounds to contain the given point\r\n\r\n\t// @alternative\r\n\t// @method extend(otherBounds: LatLngBounds): this\r\n\t// Extend the bounds to contain the given bounds\r\n\textend: function (obj) {\r\n\t\tvar sw = this._southWest,\r\n\t\t ne = this._northEast,\r\n\t\t sw2, ne2;\r\n\r\n\t\tif (obj instanceof LatLng) {\r\n\t\t\tsw2 = obj;\r\n\t\t\tne2 = obj;\r\n\r\n\t\t} else if (obj instanceof LatLngBounds) {\r\n\t\t\tsw2 = obj._southWest;\r\n\t\t\tne2 = obj._northEast;\r\n\r\n\t\t\tif (!sw2 || !ne2) { return this; }\r\n\r\n\t\t} else {\r\n\t\t\treturn obj ? this.extend(toLatLng(obj) || toLatLngBounds(obj)) : this;\r\n\t\t}\r\n\r\n\t\tif (!sw && !ne) {\r\n\t\t\tthis._southWest = new LatLng(sw2.lat, sw2.lng);\r\n\t\t\tthis._northEast = new LatLng(ne2.lat, ne2.lng);\r\n\t\t} else {\r\n\t\t\tsw.lat = Math.min(sw2.lat, sw.lat);\r\n\t\t\tsw.lng = Math.min(sw2.lng, sw.lng);\r\n\t\t\tne.lat = Math.max(ne2.lat, ne.lat);\r\n\t\t\tne.lng = Math.max(ne2.lng, ne.lng);\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method pad(bufferRatio: Number): LatLngBounds\r\n\t// Returns bounds created by extending or retracting the current bounds by a given ratio in each direction.\r\n\t// For example, a ratio of 0.5 extends the bounds by 50% in each direction.\r\n\t// Negative values will retract the bounds.\r\n\tpad: function (bufferRatio) {\r\n\t\tvar sw = this._southWest,\r\n\t\t ne = this._northEast,\r\n\t\t heightBuffer = Math.abs(sw.lat - ne.lat) * bufferRatio,\r\n\t\t widthBuffer = Math.abs(sw.lng - ne.lng) * bufferRatio;\r\n\r\n\t\treturn new LatLngBounds(\r\n\t\t new LatLng(sw.lat - heightBuffer, sw.lng - widthBuffer),\r\n\t\t new LatLng(ne.lat + heightBuffer, ne.lng + widthBuffer));\r\n\t},\r\n\r\n\t// @method getCenter(): LatLng\r\n\t// Returns the center point of the bounds.\r\n\tgetCenter: function () {\r\n\t\treturn new LatLng(\r\n\t\t (this._southWest.lat + this._northEast.lat) / 2,\r\n\t\t (this._southWest.lng + this._northEast.lng) / 2);\r\n\t},\r\n\r\n\t// @method getSouthWest(): LatLng\r\n\t// Returns the south-west point of the bounds.\r\n\tgetSouthWest: function () {\r\n\t\treturn this._southWest;\r\n\t},\r\n\r\n\t// @method getNorthEast(): LatLng\r\n\t// Returns the north-east point of the bounds.\r\n\tgetNorthEast: function () {\r\n\t\treturn this._northEast;\r\n\t},\r\n\r\n\t// @method getNorthWest(): LatLng\r\n\t// Returns the north-west point of the bounds.\r\n\tgetNorthWest: function () {\r\n\t\treturn new LatLng(this.getNorth(), this.getWest());\r\n\t},\r\n\r\n\t// @method getSouthEast(): LatLng\r\n\t// Returns the south-east point of the bounds.\r\n\tgetSouthEast: function () {\r\n\t\treturn new LatLng(this.getSouth(), this.getEast());\r\n\t},\r\n\r\n\t// @method getWest(): Number\r\n\t// Returns the west longitude of the bounds\r\n\tgetWest: function () {\r\n\t\treturn this._southWest.lng;\r\n\t},\r\n\r\n\t// @method getSouth(): Number\r\n\t// Returns the south latitude of the bounds\r\n\tgetSouth: function () {\r\n\t\treturn this._southWest.lat;\r\n\t},\r\n\r\n\t// @method getEast(): Number\r\n\t// Returns the east longitude of the bounds\r\n\tgetEast: function () {\r\n\t\treturn this._northEast.lng;\r\n\t},\r\n\r\n\t// @method getNorth(): Number\r\n\t// Returns the north latitude of the bounds\r\n\tgetNorth: function () {\r\n\t\treturn this._northEast.lat;\r\n\t},\r\n\r\n\t// @method contains(otherBounds: LatLngBounds): Boolean\r\n\t// Returns `true` if the rectangle contains the given one.\r\n\r\n\t// @alternative\r\n\t// @method contains (latlng: LatLng): Boolean\r\n\t// Returns `true` if the rectangle contains the given point.\r\n\tcontains: function (obj) { // (LatLngBounds) or (LatLng) -> Boolean\r\n\t\tif (typeof obj[0] === 'number' || obj instanceof LatLng || 'lat' in obj) {\r\n\t\t\tobj = toLatLng(obj);\r\n\t\t} else {\r\n\t\t\tobj = toLatLngBounds(obj);\r\n\t\t}\r\n\r\n\t\tvar sw = this._southWest,\r\n\t\t ne = this._northEast,\r\n\t\t sw2, ne2;\r\n\r\n\t\tif (obj instanceof LatLngBounds) {\r\n\t\t\tsw2 = obj.getSouthWest();\r\n\t\t\tne2 = obj.getNorthEast();\r\n\t\t} else {\r\n\t\t\tsw2 = ne2 = obj;\r\n\t\t}\r\n\r\n\t\treturn (sw2.lat >= sw.lat) && (ne2.lat <= ne.lat) &&\r\n\t\t (sw2.lng >= sw.lng) && (ne2.lng <= ne.lng);\r\n\t},\r\n\r\n\t// @method intersects(otherBounds: LatLngBounds): Boolean\r\n\t// Returns `true` if the rectangle intersects the given bounds. Two bounds intersect if they have at least one point in common.\r\n\tintersects: function (bounds) {\r\n\t\tbounds = toLatLngBounds(bounds);\r\n\r\n\t\tvar sw = this._southWest,\r\n\t\t ne = this._northEast,\r\n\t\t sw2 = bounds.getSouthWest(),\r\n\t\t ne2 = bounds.getNorthEast(),\r\n\r\n\t\t latIntersects = (ne2.lat >= sw.lat) && (sw2.lat <= ne.lat),\r\n\t\t lngIntersects = (ne2.lng >= sw.lng) && (sw2.lng <= ne.lng);\r\n\r\n\t\treturn latIntersects && lngIntersects;\r\n\t},\r\n\r\n\t// @method overlaps(otherBounds: LatLngBounds): Boolean\r\n\t// Returns `true` if the rectangle overlaps the given bounds. Two bounds overlap if their intersection is an area.\r\n\toverlaps: function (bounds) {\r\n\t\tbounds = toLatLngBounds(bounds);\r\n\r\n\t\tvar sw = this._southWest,\r\n\t\t ne = this._northEast,\r\n\t\t sw2 = bounds.getSouthWest(),\r\n\t\t ne2 = bounds.getNorthEast(),\r\n\r\n\t\t latOverlaps = (ne2.lat > sw.lat) && (sw2.lat < ne.lat),\r\n\t\t lngOverlaps = (ne2.lng > sw.lng) && (sw2.lng < ne.lng);\r\n\r\n\t\treturn latOverlaps && lngOverlaps;\r\n\t},\r\n\r\n\t// @method toBBoxString(): String\r\n\t// Returns a string with bounding box coordinates in a 'southwest_lng,southwest_lat,northeast_lng,northeast_lat' format. Useful for sending requests to web services that return geo data.\r\n\ttoBBoxString: function () {\r\n\t\treturn [this.getWest(), this.getSouth(), this.getEast(), this.getNorth()].join(',');\r\n\t},\r\n\r\n\t// @method equals(otherBounds: LatLngBounds, maxMargin?: Number): Boolean\r\n\t// Returns `true` if the rectangle is equivalent (within a small margin of error) to the given bounds. The margin of error can be overridden by setting `maxMargin` to a small number.\r\n\tequals: function (bounds, maxMargin) {\r\n\t\tif (!bounds) { return false; }\r\n\r\n\t\tbounds = toLatLngBounds(bounds);\r\n\r\n\t\treturn this._southWest.equals(bounds.getSouthWest(), maxMargin) &&\r\n\t\t this._northEast.equals(bounds.getNorthEast(), maxMargin);\r\n\t},\r\n\r\n\t// @method isValid(): Boolean\r\n\t// Returns `true` if the bounds are properly initialized.\r\n\tisValid: function () {\r\n\t\treturn !!(this._southWest && this._northEast);\r\n\t}\r\n};\r\n\r\n// TODO International date line?\r\n\r\n// @factory L.latLngBounds(corner1: LatLng, corner2: LatLng)\r\n// Creates a `LatLngBounds` object by defining two diagonally opposite corners of the rectangle.\r\n\r\n// @alternative\r\n// @factory L.latLngBounds(latlngs: LatLng[])\r\n// Creates a `LatLngBounds` object defined by the geographical points it contains. Very useful for zooming the map to fit a particular set of locations with [`fitBounds`](#map-fitbounds).\r\nexport function toLatLngBounds(a, b) {\r\n\tif (a instanceof LatLngBounds) {\r\n\t\treturn a;\r\n\t}\r\n\treturn new LatLngBounds(a, b);\r\n}\r\n","import * as Util from '../core/Util';\r\nimport {Earth} from './crs/CRS.Earth';\r\nimport {toLatLngBounds} from './LatLngBounds';\r\n\r\n/* @class LatLng\r\n * @aka L.LatLng\r\n *\r\n * Represents a geographical point with a certain latitude and longitude.\r\n *\r\n * @example\r\n *\r\n * ```\r\n * var latlng = L.latLng(50.5, 30.5);\r\n * ```\r\n *\r\n * All Leaflet methods that accept LatLng objects also accept them in a simple Array form and simple object form (unless noted otherwise), so these lines are equivalent:\r\n *\r\n * ```\r\n * map.panTo([50, 30]);\r\n * map.panTo({lon: 30, lat: 50});\r\n * map.panTo({lat: 50, lng: 30});\r\n * map.panTo(L.latLng(50, 30));\r\n * ```\r\n *\r\n * Note that `LatLng` does not inherit from Leaflet's `Class` object,\r\n * which means new classes can't inherit from it, and new methods\r\n * can't be added to it with the `include` function.\r\n */\r\n\r\nexport function LatLng(lat, lng, alt) {\r\n\tif (isNaN(lat) || isNaN(lng)) {\r\n\t\tthrow new Error('Invalid LatLng object: (' + lat + ', ' + lng + ')');\r\n\t}\r\n\r\n\t// @property lat: Number\r\n\t// Latitude in degrees\r\n\tthis.lat = +lat;\r\n\r\n\t// @property lng: Number\r\n\t// Longitude in degrees\r\n\tthis.lng = +lng;\r\n\r\n\t// @property alt: Number\r\n\t// Altitude in meters (optional)\r\n\tif (alt !== undefined) {\r\n\t\tthis.alt = +alt;\r\n\t}\r\n}\r\n\r\nLatLng.prototype = {\r\n\t// @method equals(otherLatLng: LatLng, maxMargin?: Number): Boolean\r\n\t// Returns `true` if the given `LatLng` point is at the same position (within a small margin of error). The margin of error can be overridden by setting `maxMargin` to a small number.\r\n\tequals: function (obj, maxMargin) {\r\n\t\tif (!obj) { return false; }\r\n\r\n\t\tobj = toLatLng(obj);\r\n\r\n\t\tvar margin = Math.max(\r\n\t\t Math.abs(this.lat - obj.lat),\r\n\t\t Math.abs(this.lng - obj.lng));\r\n\r\n\t\treturn margin <= (maxMargin === undefined ? 1.0E-9 : maxMargin);\r\n\t},\r\n\r\n\t// @method toString(): String\r\n\t// Returns a string representation of the point (for debugging purposes).\r\n\ttoString: function (precision) {\r\n\t\treturn 'LatLng(' +\r\n\t\t Util.formatNum(this.lat, precision) + ', ' +\r\n\t\t Util.formatNum(this.lng, precision) + ')';\r\n\t},\r\n\r\n\t// @method distanceTo(otherLatLng: LatLng): Number\r\n\t// Returns the distance (in meters) to the given `LatLng` calculated using the [Spherical Law of Cosines](https://en.wikipedia.org/wiki/Spherical_law_of_cosines).\r\n\tdistanceTo: function (other) {\r\n\t\treturn Earth.distance(this, toLatLng(other));\r\n\t},\r\n\r\n\t// @method wrap(): LatLng\r\n\t// Returns a new `LatLng` object with the longitude wrapped so it's always between -180 and +180 degrees.\r\n\twrap: function () {\r\n\t\treturn Earth.wrapLatLng(this);\r\n\t},\r\n\r\n\t// @method toBounds(sizeInMeters: Number): LatLngBounds\r\n\t// Returns a new `LatLngBounds` object in which each boundary is `sizeInMeters/2` meters apart from the `LatLng`.\r\n\ttoBounds: function (sizeInMeters) {\r\n\t\tvar latAccuracy = 180 * sizeInMeters / 40075017,\r\n\t\t lngAccuracy = latAccuracy / Math.cos((Math.PI / 180) * this.lat);\r\n\r\n\t\treturn toLatLngBounds(\r\n\t\t [this.lat - latAccuracy, this.lng - lngAccuracy],\r\n\t\t [this.lat + latAccuracy, this.lng + lngAccuracy]);\r\n\t},\r\n\r\n\tclone: function () {\r\n\t\treturn new LatLng(this.lat, this.lng, this.alt);\r\n\t}\r\n};\r\n\r\n\r\n\r\n// @factory L.latLng(latitude: Number, longitude: Number, altitude?: Number): LatLng\r\n// Creates an object representing a geographical point with the given latitude and longitude (and optionally altitude).\r\n\r\n// @alternative\r\n// @factory L.latLng(coords: Array): LatLng\r\n// Expects an array of the form `[Number, Number]` or `[Number, Number, Number]` instead.\r\n\r\n// @alternative\r\n// @factory L.latLng(coords: Object): LatLng\r\n// Expects an plain object of the form `{lat: Number, lng: Number}` or `{lat: Number, lng: Number, alt: Number}` instead.\r\n\r\nexport function toLatLng(a, b, c) {\r\n\tif (a instanceof LatLng) {\r\n\t\treturn a;\r\n\t}\r\n\tif (Util.isArray(a) && typeof a[0] !== 'object') {\r\n\t\tif (a.length === 3) {\r\n\t\t\treturn new LatLng(a[0], a[1], a[2]);\r\n\t\t}\r\n\t\tif (a.length === 2) {\r\n\t\t\treturn new LatLng(a[0], a[1]);\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n\tif (a === undefined || a === null) {\r\n\t\treturn a;\r\n\t}\r\n\tif (typeof a === 'object' && 'lat' in a) {\r\n\t\treturn new LatLng(a.lat, 'lng' in a ? a.lng : a.lon, a.alt);\r\n\t}\r\n\tif (b === undefined) {\r\n\t\treturn null;\r\n\t}\r\n\treturn new LatLng(a, b, c);\r\n}\r\n","\r\nimport {Bounds} from '../../geometry/Bounds';\r\nimport {LatLng} from '../LatLng';\r\nimport {LatLngBounds} from '../LatLngBounds';\r\nimport * as Util from '../../core/Util';\r\n\r\n/*\r\n * @namespace CRS\r\n * @crs L.CRS.Base\r\n * Object that defines coordinate reference systems for projecting\r\n * geographical points into pixel (screen) coordinates and back (and to\r\n * coordinates in other units for [WMS](https://en.wikipedia.org/wiki/Web_Map_Service) services). See\r\n * [spatial reference system](https://en.wikipedia.org/wiki/Spatial_reference_system).\r\n *\r\n * Leaflet defines the most usual CRSs by default. If you want to use a\r\n * CRS not defined by default, take a look at the\r\n * [Proj4Leaflet](https://github.com/kartena/Proj4Leaflet) plugin.\r\n *\r\n * Note that the CRS instances do not inherit from Leaflet's `Class` object,\r\n * and can't be instantiated. Also, new classes can't inherit from them,\r\n * and methods can't be added to them with the `include` function.\r\n */\r\n\r\nexport var CRS = {\r\n\t// @method latLngToPoint(latlng: LatLng, zoom: Number): Point\r\n\t// Projects geographical coordinates into pixel coordinates for a given zoom.\r\n\tlatLngToPoint: function (latlng, zoom) {\r\n\t\tvar projectedPoint = this.projection.project(latlng),\r\n\t\t scale = this.scale(zoom);\r\n\r\n\t\treturn this.transformation._transform(projectedPoint, scale);\r\n\t},\r\n\r\n\t// @method pointToLatLng(point: Point, zoom: Number): LatLng\r\n\t// The inverse of `latLngToPoint`. Projects pixel coordinates on a given\r\n\t// zoom into geographical coordinates.\r\n\tpointToLatLng: function (point, zoom) {\r\n\t\tvar scale = this.scale(zoom),\r\n\t\t untransformedPoint = this.transformation.untransform(point, scale);\r\n\r\n\t\treturn this.projection.unproject(untransformedPoint);\r\n\t},\r\n\r\n\t// @method project(latlng: LatLng): Point\r\n\t// Projects geographical coordinates into coordinates in units accepted for\r\n\t// this CRS (e.g. meters for EPSG:3857, for passing it to WMS services).\r\n\tproject: function (latlng) {\r\n\t\treturn this.projection.project(latlng);\r\n\t},\r\n\r\n\t// @method unproject(point: Point): LatLng\r\n\t// Given a projected coordinate returns the corresponding LatLng.\r\n\t// The inverse of `project`.\r\n\tunproject: function (point) {\r\n\t\treturn this.projection.unproject(point);\r\n\t},\r\n\r\n\t// @method scale(zoom: Number): Number\r\n\t// Returns the scale used when transforming projected coordinates into\r\n\t// pixel coordinates for a particular zoom. For example, it returns\r\n\t// `256 * 2^zoom` for Mercator-based CRS.\r\n\tscale: function (zoom) {\r\n\t\treturn 256 * Math.pow(2, zoom);\r\n\t},\r\n\r\n\t// @method zoom(scale: Number): Number\r\n\t// Inverse of `scale()`, returns the zoom level corresponding to a scale\r\n\t// factor of `scale`.\r\n\tzoom: function (scale) {\r\n\t\treturn Math.log(scale / 256) / Math.LN2;\r\n\t},\r\n\r\n\t// @method getProjectedBounds(zoom: Number): Bounds\r\n\t// Returns the projection's bounds scaled and transformed for the provided `zoom`.\r\n\tgetProjectedBounds: function (zoom) {\r\n\t\tif (this.infinite) { return null; }\r\n\r\n\t\tvar b = this.projection.bounds,\r\n\t\t s = this.scale(zoom),\r\n\t\t min = this.transformation.transform(b.min, s),\r\n\t\t max = this.transformation.transform(b.max, s);\r\n\r\n\t\treturn new Bounds(min, max);\r\n\t},\r\n\r\n\t// @method distance(latlng1: LatLng, latlng2: LatLng): Number\r\n\t// Returns the distance between two geographical coordinates.\r\n\r\n\t// @property code: String\r\n\t// Standard code name of the CRS passed into WMS services (e.g. `'EPSG:3857'`)\r\n\t//\r\n\t// @property wrapLng: Number[]\r\n\t// An array of two numbers defining whether the longitude (horizontal) coordinate\r\n\t// axis wraps around a given range and how. Defaults to `[-180, 180]` in most\r\n\t// geographical CRSs. If `undefined`, the longitude axis does not wrap around.\r\n\t//\r\n\t// @property wrapLat: Number[]\r\n\t// Like `wrapLng`, but for the latitude (vertical) axis.\r\n\r\n\t// wrapLng: [min, max],\r\n\t// wrapLat: [min, max],\r\n\r\n\t// @property infinite: Boolean\r\n\t// If true, the coordinate space will be unbounded (infinite in both axes)\r\n\tinfinite: false,\r\n\r\n\t// @method wrapLatLng(latlng: LatLng): LatLng\r\n\t// Returns a `LatLng` where lat and lng has been wrapped according to the\r\n\t// CRS's `wrapLat` and `wrapLng` properties, if they are outside the CRS's bounds.\r\n\twrapLatLng: function (latlng) {\r\n\t\tvar lng = this.wrapLng ? Util.wrapNum(latlng.lng, this.wrapLng, true) : latlng.lng,\r\n\t\t lat = this.wrapLat ? Util.wrapNum(latlng.lat, this.wrapLat, true) : latlng.lat,\r\n\t\t alt = latlng.alt;\r\n\r\n\t\treturn new LatLng(lat, lng, alt);\r\n\t},\r\n\r\n\t// @method wrapLatLngBounds(bounds: LatLngBounds): LatLngBounds\r\n\t// Returns a `LatLngBounds` with the same size as the given one, ensuring\r\n\t// that its center is within the CRS's bounds.\r\n\t// Only accepts actual `L.LatLngBounds` instances, not arrays.\r\n\twrapLatLngBounds: function (bounds) {\r\n\t\tvar center = bounds.getCenter(),\r\n\t\t newCenter = this.wrapLatLng(center),\r\n\t\t latShift = center.lat - newCenter.lat,\r\n\t\t lngShift = center.lng - newCenter.lng;\r\n\r\n\t\tif (latShift === 0 && lngShift === 0) {\r\n\t\t\treturn bounds;\r\n\t\t}\r\n\r\n\t\tvar sw = bounds.getSouthWest(),\r\n\t\t ne = bounds.getNorthEast(),\r\n\t\t newSw = new LatLng(sw.lat - latShift, sw.lng - lngShift),\r\n\t\t newNe = new LatLng(ne.lat - latShift, ne.lng - lngShift);\r\n\r\n\t\treturn new LatLngBounds(newSw, newNe);\r\n\t}\r\n};\r\n","import {CRS} from './CRS';\nimport * as Util from '../../core/Util';\n\n/*\n * @namespace CRS\n * @crs L.CRS.Earth\n *\n * Serves as the base for CRS that are global such that they cover the earth.\n * Can only be used as the base for other CRS and cannot be used directly,\n * since it does not have a `code`, `projection` or `transformation`. `distance()` returns\n * meters.\n */\n\nexport var Earth = Util.extend({}, CRS, {\n\twrapLng: [-180, 180],\n\n\t// Mean Earth Radius, as recommended for use by\n\t// the International Union of Geodesy and Geophysics,\n\t// see https://rosettacode.org/wiki/Haversine_formula\n\tR: 6371000,\n\n\t// distance between two geographical points using spherical law of cosines approximation\n\tdistance: function (latlng1, latlng2) {\n\t\tvar rad = Math.PI / 180,\n\t\t lat1 = latlng1.lat * rad,\n\t\t lat2 = latlng2.lat * rad,\n\t\t sinDLat = Math.sin((latlng2.lat - latlng1.lat) * rad / 2),\n\t\t sinDLon = Math.sin((latlng2.lng - latlng1.lng) * rad / 2),\n\t\t a = sinDLat * sinDLat + Math.cos(lat1) * Math.cos(lat2) * sinDLon * sinDLon,\n\t\t c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n\t\treturn this.R * c;\n\t}\n});\n","import {LatLng} from '../LatLng';\r\nimport {Bounds} from '../../geometry/Bounds';\r\nimport {Point} from '../../geometry/Point';\r\n\r\n/*\r\n * @namespace Projection\r\n * @projection L.Projection.SphericalMercator\r\n *\r\n * Spherical Mercator projection — the most common projection for online maps,\r\n * used by almost all free and commercial tile providers. Assumes that Earth is\r\n * a sphere. Used by the `EPSG:3857` CRS.\r\n */\r\n\r\nvar earthRadius = 6378137;\r\n\r\nexport var SphericalMercator = {\r\n\r\n\tR: earthRadius,\r\n\tMAX_LATITUDE: 85.0511287798,\r\n\r\n\tproject: function (latlng) {\r\n\t\tvar d = Math.PI / 180,\r\n\t\t max = this.MAX_LATITUDE,\r\n\t\t lat = Math.max(Math.min(max, latlng.lat), -max),\r\n\t\t sin = Math.sin(lat * d);\r\n\r\n\t\treturn new Point(\r\n\t\t\tthis.R * latlng.lng * d,\r\n\t\t\tthis.R * Math.log((1 + sin) / (1 - sin)) / 2);\r\n\t},\r\n\r\n\tunproject: function (point) {\r\n\t\tvar d = 180 / Math.PI;\r\n\r\n\t\treturn new LatLng(\r\n\t\t\t(2 * Math.atan(Math.exp(point.y / this.R)) - (Math.PI / 2)) * d,\r\n\t\t\tpoint.x * d / this.R);\r\n\t},\r\n\r\n\tbounds: (function () {\r\n\t\tvar d = earthRadius * Math.PI;\r\n\t\treturn new Bounds([-d, -d], [d, d]);\r\n\t})()\r\n};\r\n","import {Point} from './Point';\r\nimport * as Util from '../core/Util';\r\n\r\n/*\r\n * @class Transformation\r\n * @aka L.Transformation\r\n *\r\n * Represents an affine transformation: a set of coefficients `a`, `b`, `c`, `d`\r\n * for transforming a point of a form `(x, y)` into `(a*x + b, c*y + d)` and doing\r\n * the reverse. Used by Leaflet in its projections code.\r\n *\r\n * @example\r\n *\r\n * ```js\r\n * var transformation = L.transformation(2, 5, -1, 10),\r\n * \tp = L.point(1, 2),\r\n * \tp2 = transformation.transform(p), // L.point(7, 8)\r\n * \tp3 = transformation.untransform(p2); // L.point(1, 2)\r\n * ```\r\n */\r\n\r\n\r\n// factory new L.Transformation(a: Number, b: Number, c: Number, d: Number)\r\n// Creates a `Transformation` object with the given coefficients.\r\nexport function Transformation(a, b, c, d) {\r\n\tif (Util.isArray(a)) {\r\n\t\t// use array properties\r\n\t\tthis._a = a[0];\r\n\t\tthis._b = a[1];\r\n\t\tthis._c = a[2];\r\n\t\tthis._d = a[3];\r\n\t\treturn;\r\n\t}\r\n\tthis._a = a;\r\n\tthis._b = b;\r\n\tthis._c = c;\r\n\tthis._d = d;\r\n}\r\n\r\nTransformation.prototype = {\r\n\t// @method transform(point: Point, scale?: Number): Point\r\n\t// Returns a transformed point, optionally multiplied by the given scale.\r\n\t// Only accepts actual `L.Point` instances, not arrays.\r\n\ttransform: function (point, scale) { // (Point, Number) -> Point\r\n\t\treturn this._transform(point.clone(), scale);\r\n\t},\r\n\r\n\t// destructive transform (faster)\r\n\t_transform: function (point, scale) {\r\n\t\tscale = scale || 1;\r\n\t\tpoint.x = scale * (this._a * point.x + this._b);\r\n\t\tpoint.y = scale * (this._c * point.y + this._d);\r\n\t\treturn point;\r\n\t},\r\n\r\n\t// @method untransform(point: Point, scale?: Number): Point\r\n\t// Returns the reverse transformation of the given point, optionally divided\r\n\t// by the given scale. Only accepts actual `L.Point` instances, not arrays.\r\n\tuntransform: function (point, scale) {\r\n\t\tscale = scale || 1;\r\n\t\treturn new Point(\r\n\t\t (point.x / scale - this._b) / this._a,\r\n\t\t (point.y / scale - this._d) / this._c);\r\n\t}\r\n};\r\n\r\n// factory L.transformation(a: Number, b: Number, c: Number, d: Number)\r\n\r\n// @factory L.transformation(a: Number, b: Number, c: Number, d: Number)\r\n// Instantiates a Transformation object with the given coefficients.\r\n\r\n// @alternative\r\n// @factory L.transformation(coefficients: Array): Transformation\r\n// Expects an coefficients array of the form\r\n// `[a: Number, b: Number, c: Number, d: Number]`.\r\n\r\nexport function toTransformation(a, b, c, d) {\r\n\treturn new Transformation(a, b, c, d);\r\n}\r\n","import {Earth} from './CRS.Earth';\r\nimport {SphericalMercator} from '../projection/Projection.SphericalMercator';\r\nimport {toTransformation} from '../../geometry/Transformation';\r\nimport * as Util from '../../core/Util';\r\n\r\n/*\r\n * @namespace CRS\r\n * @crs L.CRS.EPSG3857\r\n *\r\n * The most common CRS for online maps, used by almost all free and commercial\r\n * tile providers. Uses Spherical Mercator projection. Set in by default in\r\n * Map's `crs` option.\r\n */\r\n\r\nexport var EPSG3857 = Util.extend({}, Earth, {\r\n\tcode: 'EPSG:3857',\r\n\tprojection: SphericalMercator,\r\n\r\n\ttransformation: (function () {\r\n\t\tvar scale = 0.5 / (Math.PI * SphericalMercator.R);\r\n\t\treturn toTransformation(scale, 0.5, -scale, 0.5);\r\n\t}())\r\n});\r\n\r\nexport var EPSG900913 = Util.extend({}, EPSG3857, {\r\n\tcode: 'EPSG:900913'\r\n});\r\n","import Browser from '../../core/Browser';\n\n// @namespace SVG; @section\n// There are several static functions which can be called without instantiating L.SVG:\n\n// @function create(name: String): SVGElement\n// Returns a instance of [SVGElement](https://developer.mozilla.org/docs/Web/API/SVGElement),\n// corresponding to the class name passed. For example, using 'line' will return\n// an instance of [SVGLineElement](https://developer.mozilla.org/docs/Web/API/SVGLineElement).\nexport function svgCreate(name) {\n\treturn document.createElementNS('http://www.w3.org/2000/svg', name);\n}\n\n// @function pointsToPath(rings: Point[], closed: Boolean): String\n// Generates a SVG path string for multiple rings, with each ring turning\n// into \"M..L..L..\" instructions\nexport function pointsToPath(rings, closed) {\n\tvar str = '',\n\ti, j, len, len2, points, p;\n\n\tfor (i = 0, len = rings.length; i < len; i++) {\n\t\tpoints = rings[i];\n\n\t\tfor (j = 0, len2 = points.length; j < len2; j++) {\n\t\t\tp = points[j];\n\t\t\tstr += (j ? 'L' : 'M') + p.x + ' ' + p.y;\n\t\t}\n\n\t\t// closes the ring for polygons; \"x\" is VML syntax\n\t\tstr += closed ? (Browser.svg ? 'z' : 'x') : '';\n\t}\n\n\t// SVG complains about empty path strings\n\treturn str || 'M0 0';\n}\n\n\n\n\n","import * as Util from './Util';\r\nimport {svgCreate} from '../layer/vector/SVG.Util';\r\n\r\n/*\r\n * @namespace Browser\r\n * @aka L.Browser\r\n *\r\n * A namespace with static properties for browser/feature detection used by Leaflet internally.\r\n *\r\n * @example\r\n *\r\n * ```js\r\n * if (L.Browser.ielt9) {\r\n * alert('Upgrade your browser, dude!');\r\n * }\r\n * ```\r\n */\r\n\r\nvar style = document.documentElement.style;\r\n\r\n// @property ie: Boolean; `true` for all Internet Explorer versions (not Edge).\r\nvar ie = 'ActiveXObject' in window;\r\n\r\n// @property ielt9: Boolean; `true` for Internet Explorer versions less than 9.\r\nvar ielt9 = ie && !document.addEventListener;\r\n\r\n// @property edge: Boolean; `true` for the Edge web browser.\r\nvar edge = 'msLaunchUri' in navigator && !('documentMode' in document);\r\n\r\n// @property webkit: Boolean;\r\n// `true` for webkit-based browsers like Chrome and Safari (including mobile versions).\r\nvar webkit = userAgentContains('webkit');\r\n\r\n// @property android: Boolean\r\n// **Deprecated.** `true` for any browser running on an Android platform.\r\nvar android = userAgentContains('android');\r\n\r\n// @property android23: Boolean; **Deprecated.** `true` for browsers running on Android 2 or Android 3.\r\nvar android23 = userAgentContains('android 2') || userAgentContains('android 3');\r\n\r\n/* See https://stackoverflow.com/a/17961266 for details on detecting stock Android */\r\nvar webkitVer = parseInt(/WebKit\\/([0-9]+)|$/.exec(navigator.userAgent)[1], 10); // also matches AppleWebKit\r\n// @property androidStock: Boolean; **Deprecated.** `true` for the Android stock browser (i.e. not Chrome)\r\nvar androidStock = android && userAgentContains('Google') && webkitVer < 537 && !('AudioNode' in window);\r\n\r\n// @property opera: Boolean; `true` for the Opera browser\r\nvar opera = !!window.opera;\r\n\r\n// @property chrome: Boolean; `true` for the Chrome browser.\r\nvar chrome = !edge && userAgentContains('chrome');\r\n\r\n// @property gecko: Boolean; `true` for gecko-based browsers like Firefox.\r\nvar gecko = userAgentContains('gecko') && !webkit && !opera && !ie;\r\n\r\n// @property safari: Boolean; `true` for the Safari browser.\r\nvar safari = !chrome && userAgentContains('safari');\r\n\r\nvar phantom = userAgentContains('phantom');\r\n\r\n// @property opera12: Boolean\r\n// `true` for the Opera browser supporting CSS transforms (version 12 or later).\r\nvar opera12 = 'OTransition' in style;\r\n\r\n// @property win: Boolean; `true` when the browser is running in a Windows platform\r\nvar win = navigator.platform.indexOf('Win') === 0;\r\n\r\n// @property ie3d: Boolean; `true` for all Internet Explorer versions supporting CSS transforms.\r\nvar ie3d = ie && ('transition' in style);\r\n\r\n// @property webkit3d: Boolean; `true` for webkit-based browsers supporting CSS transforms.\r\nvar webkit3d = ('WebKitCSSMatrix' in window) && ('m11' in new window.WebKitCSSMatrix()) && !android23;\r\n\r\n// @property gecko3d: Boolean; `true` for gecko-based browsers supporting CSS transforms.\r\nvar gecko3d = 'MozPerspective' in style;\r\n\r\n// @property any3d: Boolean\r\n// `true` for all browsers supporting CSS transforms.\r\nvar any3d = !window.L_DISABLE_3D && (ie3d || webkit3d || gecko3d) && !opera12 && !phantom;\r\n\r\n// @property mobile: Boolean; `true` for all browsers running in a mobile device.\r\nvar mobile = typeof orientation !== 'undefined' || userAgentContains('mobile');\r\n\r\n// @property mobileWebkit: Boolean; `true` for all webkit-based browsers in a mobile device.\r\nvar mobileWebkit = mobile && webkit;\r\n\r\n// @property mobileWebkit3d: Boolean\r\n// `true` for all webkit-based browsers in a mobile device supporting CSS transforms.\r\nvar mobileWebkit3d = mobile && webkit3d;\r\n\r\n// @property msPointer: Boolean\r\n// `true` for browsers implementing the Microsoft touch events model (notably IE10).\r\nvar msPointer = !window.PointerEvent && window.MSPointerEvent;\r\n\r\n// @property pointer: Boolean\r\n// `true` for all browsers supporting [pointer events](https://msdn.microsoft.com/en-us/library/dn433244%28v=vs.85%29.aspx).\r\nvar pointer = !!(window.PointerEvent || msPointer);\r\n\r\n// @property touchNative: Boolean\r\n// `true` for all browsers supporting [touch events](https://developer.mozilla.org/docs/Web/API/Touch_events).\r\n// **This does not necessarily mean** that the browser is running in a computer with\r\n// a touchscreen, it only means that the browser is capable of understanding\r\n// touch events.\r\nvar touchNative = 'ontouchstart' in window || !!window.TouchEvent;\r\n\r\n// @property touch: Boolean\r\n// `true` for all browsers supporting either [touch](#browser-touch) or [pointer](#browser-pointer) events.\r\n// Note: pointer events will be preferred (if available), and processed for all `touch*` listeners.\r\nvar touch = !window.L_NO_TOUCH && (touchNative || pointer);\r\n\r\n// @property mobileOpera: Boolean; `true` for the Opera browser in a mobile device.\r\nvar mobileOpera = mobile && opera;\r\n\r\n// @property mobileGecko: Boolean\r\n// `true` for gecko-based browsers running in a mobile device.\r\nvar mobileGecko = mobile && gecko;\r\n\r\n// @property retina: Boolean\r\n// `true` for browsers on a high-resolution \"retina\" screen or on any screen when browser's display zoom is more than 100%.\r\nvar retina = (window.devicePixelRatio || (window.screen.deviceXDPI / window.screen.logicalXDPI)) > 1;\r\n\r\n// @property passiveEvents: Boolean\r\n// `true` for browsers that support passive events.\r\nvar passiveEvents = (function () {\r\n\tvar supportsPassiveOption = false;\r\n\ttry {\r\n\t\tvar opts = Object.defineProperty({}, 'passive', {\r\n\t\t\tget: function () { // eslint-disable-line getter-return\r\n\t\t\t\tsupportsPassiveOption = true;\r\n\t\t\t}\r\n\t\t});\r\n\t\twindow.addEventListener('testPassiveEventSupport', Util.falseFn, opts);\r\n\t\twindow.removeEventListener('testPassiveEventSupport', Util.falseFn, opts);\r\n\t} catch (e) {\r\n\t\t// Errors can safely be ignored since this is only a browser support test.\r\n\t}\r\n\treturn supportsPassiveOption;\r\n}());\r\n\r\n// @property canvas: Boolean\r\n// `true` when the browser supports [``](https://developer.mozilla.org/docs/Web/API/Canvas_API).\r\nvar canvas = (function () {\r\n\treturn !!document.createElement('canvas').getContext;\r\n}());\r\n\r\n// @property svg: Boolean\r\n// `true` when the browser supports [SVG](https://developer.mozilla.org/docs/Web/SVG).\r\nvar svg = !!(document.createElementNS && svgCreate('svg').createSVGRect);\r\n\r\nvar inlineSvg = !!svg && (function () {\r\n\tvar div = document.createElement('div');\r\n\tdiv.innerHTML = '';\r\n\treturn (div.firstChild && div.firstChild.namespaceURI) === 'http://www.w3.org/2000/svg';\r\n})();\r\n\r\n// @property vml: Boolean\r\n// `true` if the browser supports [VML](https://en.wikipedia.org/wiki/Vector_Markup_Language).\r\nvar vml = !svg && (function () {\r\n\ttry {\r\n\t\tvar div = document.createElement('div');\r\n\t\tdiv.innerHTML = '';\r\n\r\n\t\tvar shape = div.firstChild;\r\n\t\tshape.style.behavior = 'url(#default#VML)';\r\n\r\n\t\treturn shape && (typeof shape.adj === 'object');\r\n\r\n\t} catch (e) {\r\n\t\treturn false;\r\n\t}\r\n}());\r\n\r\n\r\n// @property mac: Boolean; `true` when the browser is running in a Mac platform\r\nvar mac = navigator.platform.indexOf('Mac') === 0;\r\n\r\n// @property mac: Boolean; `true` when the browser is running in a Linux platform\r\nvar linux = navigator.platform.indexOf('Linux') === 0;\r\n\r\nfunction userAgentContains(str) {\r\n\treturn navigator.userAgent.toLowerCase().indexOf(str) >= 0;\r\n}\r\n\r\n\r\nexport default {\r\n\tie: ie,\r\n\tielt9: ielt9,\r\n\tedge: edge,\r\n\twebkit: webkit,\r\n\tandroid: android,\r\n\tandroid23: android23,\r\n\tandroidStock: androidStock,\r\n\topera: opera,\r\n\tchrome: chrome,\r\n\tgecko: gecko,\r\n\tsafari: safari,\r\n\tphantom: phantom,\r\n\topera12: opera12,\r\n\twin: win,\r\n\tie3d: ie3d,\r\n\twebkit3d: webkit3d,\r\n\tgecko3d: gecko3d,\r\n\tany3d: any3d,\r\n\tmobile: mobile,\r\n\tmobileWebkit: mobileWebkit,\r\n\tmobileWebkit3d: mobileWebkit3d,\r\n\tmsPointer: msPointer,\r\n\tpointer: pointer,\r\n\ttouch: touch,\r\n\ttouchNative: touchNative,\r\n\tmobileOpera: mobileOpera,\r\n\tmobileGecko: mobileGecko,\r\n\tretina: retina,\r\n\tpassiveEvents: passiveEvents,\r\n\tcanvas: canvas,\r\n\tsvg: svg,\r\n\tvml: vml,\r\n\tinlineSvg: inlineSvg,\r\n\tmac: mac,\r\n\tlinux: linux\r\n};\r\n","import * as DomEvent from './DomEvent';\nimport Browser from '../core/Browser';\nimport {falseFn} from '../core/Util';\n\n/*\n * Extends L.DomEvent to provide touch support for Internet Explorer and Windows-based devices.\n */\n\nvar POINTER_DOWN = Browser.msPointer ? 'MSPointerDown' : 'pointerdown';\nvar POINTER_MOVE = Browser.msPointer ? 'MSPointerMove' : 'pointermove';\nvar POINTER_UP = Browser.msPointer ? 'MSPointerUp' : 'pointerup';\nvar POINTER_CANCEL = Browser.msPointer ? 'MSPointerCancel' : 'pointercancel';\nvar pEvent = {\n\ttouchstart : POINTER_DOWN,\n\ttouchmove : POINTER_MOVE,\n\ttouchend : POINTER_UP,\n\ttouchcancel : POINTER_CANCEL\n};\nvar handle = {\n\ttouchstart : _onPointerStart,\n\ttouchmove : _handlePointer,\n\ttouchend : _handlePointer,\n\ttouchcancel : _handlePointer\n};\nvar _pointers = {};\nvar _pointerDocListener = false;\n\n// Provides a touch events wrapper for (ms)pointer events.\n// ref https://www.w3.org/TR/pointerevents/ https://www.w3.org/Bugs/Public/show_bug.cgi?id=22890\n\nexport function addPointerListener(obj, type, handler) {\n\tif (type === 'touchstart') {\n\t\t_addPointerDocListener();\n\t}\n\tif (!handle[type]) {\n\t\tconsole.warn('wrong event specified:', type);\n\t\treturn falseFn;\n\t}\n\thandler = handle[type].bind(this, handler);\n\tobj.addEventListener(pEvent[type], handler, false);\n\treturn handler;\n}\n\nexport function removePointerListener(obj, type, handler) {\n\tif (!pEvent[type]) {\n\t\tconsole.warn('wrong event specified:', type);\n\t\treturn;\n\t}\n\tobj.removeEventListener(pEvent[type], handler, false);\n}\n\nfunction _globalPointerDown(e) {\n\t_pointers[e.pointerId] = e;\n}\n\nfunction _globalPointerMove(e) {\n\tif (_pointers[e.pointerId]) {\n\t\t_pointers[e.pointerId] = e;\n\t}\n}\n\nfunction _globalPointerUp(e) {\n\tdelete _pointers[e.pointerId];\n}\n\nfunction _addPointerDocListener() {\n\t// need to keep track of what pointers and how many are active to provide e.touches emulation\n\tif (!_pointerDocListener) {\n\t\t// we listen document as any drags that end by moving the touch off the screen get fired there\n\t\tdocument.addEventListener(POINTER_DOWN, _globalPointerDown, true);\n\t\tdocument.addEventListener(POINTER_MOVE, _globalPointerMove, true);\n\t\tdocument.addEventListener(POINTER_UP, _globalPointerUp, true);\n\t\tdocument.addEventListener(POINTER_CANCEL, _globalPointerUp, true);\n\n\t\t_pointerDocListener = true;\n\t}\n}\n\nfunction _handlePointer(handler, e) {\n\tif (e.pointerType === (e.MSPOINTER_TYPE_MOUSE || 'mouse')) { return; }\n\n\te.touches = [];\n\tfor (var i in _pointers) {\n\t\te.touches.push(_pointers[i]);\n\t}\n\te.changedTouches = [e];\n\n\thandler(e);\n}\n\nfunction _onPointerStart(handler, e) {\n\t// IE10 specific: MsTouch needs preventDefault. See #2000\n\tif (e.MSPOINTER_TYPE_TOUCH && e.pointerType === e.MSPOINTER_TYPE_TOUCH) {\n\t\tDomEvent.preventDefault(e);\n\t}\n\t_handlePointer(handler, e);\n}\n","import * as DomEvent from './DomEvent';\r\n\r\n/*\r\n * Extends the event handling code with double tap support for mobile browsers.\r\n *\r\n * Note: currently most browsers fire native dblclick, with only a few exceptions\r\n * (see https://github.com/Leaflet/Leaflet/issues/7012#issuecomment-595087386)\r\n */\r\n\r\nfunction makeDblclick(event) {\r\n\t// in modern browsers `type` cannot be just overridden:\r\n\t// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Getter_only\r\n\tvar newEvent = {},\r\n\t prop, i;\r\n\tfor (i in event) {\r\n\t\tprop = event[i];\r\n\t\tnewEvent[i] = prop && prop.bind ? prop.bind(event) : prop;\r\n\t}\r\n\tevent = newEvent;\r\n\tnewEvent.type = 'dblclick';\r\n\tnewEvent.detail = 2;\r\n\tnewEvent.isTrusted = false;\r\n\tnewEvent._simulated = true; // for debug purposes\r\n\treturn newEvent;\r\n}\r\n\r\nvar delay = 200;\r\nexport function addDoubleTapListener(obj, handler) {\r\n\t// Most browsers handle double tap natively\r\n\tobj.addEventListener('dblclick', handler);\r\n\r\n\t// On some platforms the browser doesn't fire native dblclicks for touch events.\r\n\t// It seems that in all such cases `detail` property of `click` event is always `1`.\r\n\t// So here we rely on that fact to avoid excessive 'dblclick' simulation when not needed.\r\n\tvar last = 0,\r\n\t detail;\r\n\tfunction simDblclick(e) {\r\n\t\tif (e.detail !== 1) {\r\n\t\t\tdetail = e.detail; // keep in sync to avoid false dblclick in some cases\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (e.pointerType === 'mouse' ||\r\n\t\t\t(e.sourceCapabilities && !e.sourceCapabilities.firesTouchEvents)) {\r\n\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// When clicking on an , the browser generates a click on its\r\n\t\t//