{"version":3,"file":"static/js/main.c15e8093.js","mappings":"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F,EAAQF,EAAWE,GACnBpnH,IAASjkL,GAAa,IAARqrS,EACdA,IAAU,EAGM,OAAdD,GAAsBP,EAAY,OACpCM,EAAWN,KAAgBO,GAAa,EAAKrhP,EAMzC8gP,GAAaE,EAAY,GAAKD,EAAgB,OAC9CA,EACFC,EAAaA,GAAa,EAAK,IAInCK,EAAYvsO,CAAAA,MA9EVgsO,EAAYD,EAAW,EAEvBG,GAAa,IADbD,EAAgBJ,EAAgB,IACG,EAGnCU,EAAY,KAgFhB,OAJIpoS,IAAOynS,GACThpP,GAAQ4T,IAAI,8CAGP4uH,CAAAA,CCz1BT,SAASwnH,GAAYlJ,GACnB,IAKImJ,EACAC,EACAC,EACAC,EAeAC,EAvBAC,EAAS7mS,KAAKi+B,MACd6oQ,EAAS,IAAIhtS,MAAM,IACnBitS,EAAU,IAAIjtS,MAAM,IACpBktS,EAAU,IAAIltS,MAAM,IACpBmtS,EAAW,IAAIntS,MAAM,IAMrBotS,EAAU,IAAIptS,MAAM,OACpBy1J,EAAW,IAAIz1J,MAAM,OACrBqtS,EAAkB,IAAIrtS,MAAM,IAC5BstS,EAAK,IAAIttS,MAAM,IACfutS,EAAU,GACVC,EAAU,EACVC,EAAU,EAEVC,EAAM,IAAI1tS,MAAM,IAChB2tS,EAAM,IAAI3tS,MAAM,IAChB4tS,EAAM,IAAI5tS,MAAM,IAChBihP,EAAM,IAAIjhP,MAAM,KAChB6tS,EAAgB,IAAI7tS,MAAM,MAG1B8tS,EAAS,CACX,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,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,IAGEC,EAA2B,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEEC,EAA0B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC7DC,EAA2B,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEEC,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,KAGEC,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEEC,EAA4B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC/DC,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEEC,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,KAuKF,SAASC,EAAkBC,EAASC,GAI7B,IAHDC,IAAAA,EAAY,EACZC,EAAe,EACfC,EAAK,IAAI5uS,MACJ+qD,EAAI,EAAGA,GAAK,GAAIA,IAAK,CAC5B,IAAK,IAAI0uC,EAAI,EAAGA,GAAK+0M,EAAQzjP,GAAI0uC,IAC/Bm1M,EAAGH,EAAUE,IAAiB,GAC9BC,EAAGH,EAAUE,IAAe,GAAKD,EACjCE,EAAGH,EAAUE,IAAe,GAAK5jP,EACjC4jP,IACAD,IAEFA,GAAa,EAEf,OAAOE,CAAA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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,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,IAGOxzS,EAAI,EAAGA,EAAI,GAAIA,IAAK,CAC3B,IAAImC,EAAIkrS,GAAQmG,EAAIxzS,GAAKsoE,EAAK,IAAM,KACpCnmE,EAAIqE,KAAK0S,IAAI1S,KAAKC,IAAItE,EAAG,GAAI,KAC7BmrS,EAAOc,EAAOpuS,IAAMmC,CAAAA,CAoEjB,IAlEL,IAAIsxS,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,IAEO15M,EAAI,EAAGA,EAAI,GAAIA,IAAK,CAC3B,IAAI7mF,EAAIm6R,GAAQoG,EAAK15M,GAAKzxB,EAAK,IAAM,KACrCp1D,EAAI1M,KAAK0S,IAAI1S,KAAKC,IAAIyM,EAAG,GAAI,KAC7Bq6R,EAAQa,EAAOr0M,IAAM7mF,CAalB,KAXL,IAAIwgS,EAAO,CACT,EACA,YACA,YACA,YACA,EACA,WACA,SACA,YAEEroP,EAAI,EACC2uL,EAAM,EAAGA,EAAM,EAAGA,IACpB,QAAIpoL,EAAM,EAAGA,EAAM,EAAGA,IACzB47O,EAAQniP,GAAK,GAAOiiP,EAAOc,EAAO/iP,IAAMq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F,GAAK+K,EAAE6vD,GAC1Bh9D,GAAKuD,GAAKg5B,EAAI,GAAKt4B,GAAKkJ,EAAE6mS,GAE1Bh0S,GADAA,GAAKe,GAAKw7B,EAAI,GAAKt4B,GAAKkJ,EAAEwmS,IACjB5pP,GAAK3nD,EAAMmB,GAAKU,EAAMlD,GAAKkD,EACpCjE,GAAK,MAAQmN,EAAE9K,EACfrC,GAAK,MAAQmN,EAAE/K,EACfpC,GAAK,MAAQmN,EAAEy5C,GACT/kD,IAAAA,IAAO7B,GAAK2b,GAAKvZ,EAAKpC,GAAK+vE,GAAK5iE,EAAEwqD,GAAM33D,GAAK,MAAQmN,EAAE6E,EAAAA,MAE5DhS,EAAI,EACTmN,EAAInN,EAAI,EAAI,GAGhB,OAAI,GAAKmN,GACDkG,MAAAA,GAAKA,EAAE4lD,KAAO9rD,EAAI0vD,GAAG98D,IADVoN,CAIjBgkD,CAAAA,IAAAA,GAAK,GACP8L,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,UAEF42O,GAAK,GACL1mP,GAAK,GACLkG,GAAK,EACLgK,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,GAEJ+hB,EAAE,aAAc,iBAChBwO,EAAKgnN,WAAa,WAChB,OAAO,YAEThnN,EAAKinN,WAAa,SAAS1nS,GACzB,OAAOA,CAETygF,EAAAA,EAAKknN,WAAa,SAAS3nS,EAAGnN,EAAGqT,GAC/B,OAAOrT,EAAEqT,EAAI,IAEfu6E,EAAKmnN,WAAa,SAAS5nS,EAAGnN,EAAGqT,GAC/B,OAAOrT,EAAEqT,EAAI,IAEfu6E,EAAKonN,WAAa,SAAS7nS,EAAGnN,EAAGqT,GAC/B,OAAOrT,EAAEqT,EAAI,IAEfu6E,EAAKqnN,WAAa,SAAS9nS,EAAGnN,EAAGqT,GACxBmzC,OAAAA,EAAGA,EAAGr5C,EAAGnN,EAAEqT,EAAI,IAAKrT,EAAEqT,EAAI,KAEnCu6E,EAAKsnN,WAAa,SAAS/nS,EAA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G,GACAF,GAIA3O,GACAqN,GACA3B,GACAqC,GAz5BAkC,GAAKzjC,EAAE,KACPwa,GAAKxa,EAAE,MACP2jC,GAAK3jC,EAAE,KACP4jC,GAAK5jC,EAAE,KACPwjC,GAAK,EACLhG,GAAKhjB,GACLkd,GAAKiM,GACLod,GAAInd,GACJ9mD,GAAI2mD,GACJ9P,GAAK,EACLoC,GAAK,EACLuK,GAAK,EACL/K,GAAK,EACLhC,GAAK,EACLkJ,GAAK,EACLkwB,GAAK,EACLvwB,GAAK,EACLC,GAAK,EACLnI,GAAK,EACLoI,GAAK,GACLqQ,GAAK,CAAC,EAAG,EAAG,GACZH,GAAK,CAAC,EAAG,EAAG,IACZnL,GAAK,CAAC,IAAK,IAAK,IAAK,IAAK,IAC1BuL,GAAK,CAAC,EAAG,EAAG,EAAG,EAAG,GAClBL,GAAK,CAAC,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,IACpEhB,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,KAEFe,GAAK,CACH,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEFV,GAAK,EACL3O,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,IAC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AK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,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EAASl6R,EAAMu5R,EAAmBC,GAuD3C,OAAOx5R,CAcT92B,EAAAA,KAAK+tT,eAAez/K,WAAa,SAAS5gI,GACpCA,IACFygT,EAAczgT,EAAQ0jT,cACtB/C,EAAe3gT,EAAQ2jT,eACvBjD,EAAW1gT,EAAQ4jT,WACnBhD,EAAY5gT,EAAQ6jT,YACpBhD,EAAuB7gT,EAAQ8jT,oBAAAA,EAInCxxT,KAAK+tT,eAAez/K,WAAW5gI,GACxB1N,KAAK+tT,cAAAA,EAGVS,IAAAA,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,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,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,IACA,IACA,IACA,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,KA8jBEiD,EAAa,IAAI1+D,EAAMg7D,eAAe,CAAEqD,eAAe,IAoC3Dr+D,EAAMY,IAAI59I,OAAOx3G,KAAK,CAAC,kBAlCE,SAASib,GAChC,IAAIsd,EAAOtd,EAAKsd,KACRtd,EAAKjW,EACLiW,EAAK3X,EACb,IAAI6L,EAAU8L,EAAK9L,SAAW,CAClB8L,EAAAA,EAAK4wP,MACN18P,EAAQ+8P,KACfkiB,IAAAA,EAAU,GAMV9tR,GAJJ6O,EAAQ0jT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","sources":["../node_modules/classnames/index.js","../node_modules/html2canvas/node_modules/tslib/tslib.es6.js","../node_modules/html2canvas/node_modules/src/Util.ts","../node_modules/src/css/layout/bounds.ts","../node_modules/html2canvas/node_modules/css-line-break/node_modules/src/Util.ts","../node_modules/html2canvas/node_modules/css-line-break/node_modules/utrie/node_modules/src/index.ts","../node_modules/html2canvas/node_modules/css-line-break/node_modules/src/Trie.ts","../node_modules/html2canvas/node_modules/src/linebreak-trie.ts","../node_modules/html2canvas/node_modules/src/LineBreak.ts","../node_modules/src/css/syntax/tokenizer.ts","../node_modules/src/css/syntax/parser.ts","../node_modules/src/css/types/length.ts","../node_modules/src/css/types/length-percentage.ts","../node_modules/src/css/types/angle.ts","../node_modules/src/css/types/color.ts","../node_modules/src/css/property-descriptors/background-clip.ts","../node_modules/src/css/property-descriptors/background-color.ts","../node_modules/src/css/types/functions/gradient.ts","../node_modules/src/css/types/functions/-prefix-linear-gradient.ts","../node_modules/src/css/types/functions/radial-gradient.ts","../node_modules/src/css/types/functions/-prefix-radial-gradient.ts","../node_modules/src/css/types/image.ts","../node_modules/src/css/property-descriptors/background-size.ts","../node_modules/src/css/types/functions/linear-gradient.ts","../node_modules/src/css/types/functions/-webkit-gradient.ts","../node_modules/src/css/property-descriptors/background-image.ts","../node_modules/src/css/property-descriptors/background-origin.ts","../node_modules/src/css/property-descriptors/background-position.ts","../node_modules/src/css/property-descriptors/background-repeat.ts","../node_modules/src/css/property-descriptors/line-break.ts","../node_modules/src/css/property-descriptors/border-color.ts","../node_modules/src/css/property-descriptors/border-radius.ts","../node_modules/src/css/property-descriptors/border-style.ts","../node_modules/src/css/property-descriptors/border-width.ts","../node_modules/src/css/property-descriptors/color.ts","../node_modules/src/css/property-descriptors/direction.ts","../node_modules/src/css/property-descriptors/display.ts","../node_modules/src/css/property-descriptors/float.ts","../node_modules/src/css/property-descriptors/letter-spacing.ts","../node_modules/src/css/property-descriptors/word-break.ts","../node_modules/src/css/property-descriptors/line-height.ts","../node_modules/src/css/property-descriptors/list-style-image.ts","../node_modules/src/css/property-descriptors/list-style-position.ts","../node_modules/src/css/property-descriptors/list-style-type.ts","../node_modules/src/css/property-descriptors/margin.ts","../node_modules/src/css/property-descriptors/overflow.ts","../node_modules/src/css/property-descriptors/overflow-wrap.ts","../node_modules/src/css/property-descriptors/padding.ts","../node_modules/src/css/property-descriptors/text-align.ts","../node_modules/src/css/property-descriptors/position.ts","../node_modules/src/css/property-descriptors/text-shadow.ts","../node_modules/src/css/property-descriptors/text-transform.ts","../node_modules/src/css/property-descriptors/transform.ts","../node_modules/src/css/property-descriptors/transform-origin.ts","../node_modules/src/css/property-descriptors/visibility.ts","../node_modules/html2canvas/node_modules/text-segmentation/node_modules/src/Util.ts","../node_modules/src/css/property-descriptors/z-index.ts","../node_modules/src/css/types/time.ts","../node_modules/src/css/property-descriptors/opacity.ts","../node_modules/src/css/property-descriptors/text-decoration-color.ts","../node_modules/src/css/property-descriptors/text-decoration-line.ts","../node_modules/src/css/property-descriptors/font-family.ts","../node_modules/src/css/property-descriptors/font-size.ts","../node_modules/src/css/property-descriptors/font-weight.ts","../node_modules/src/css/property-descriptors/font-variant.ts","../node_modules/src/css/property-descriptors/font-style.ts","../node_modules/src/core/bitwise.ts","../node_modules/src/css/property-descriptors/content.ts","../node_modules/src/css/property-descriptors/counter-increment.ts","../node_modules/src/css/property-descriptors/counter-reset.ts","../node_modules/src/css/property-descriptors/duration.ts","../node_modules/src/css/property-descriptors/quotes.ts","../node_modules/src/css/property-descriptors/box-shadow.ts","../node_modules/src/css/property-descriptors/paint-order.ts","../node_modules/src/css/property-descriptors/webkit-text-stroke-color.ts","../node_modules/src/css/property-descriptors/webkit-text-stroke-width.ts","../node_modules/src/css/index.ts","../node_modules/src/core/debugger.ts","../node_modules/src/dom/element-container.ts","../node_modules/html2canvas/node_modules/src/grapheme-break-trie.ts","../node_modules/html2canvas/node_modules/text-segmentation/node_modules/utrie/node_modules/src/index.ts","../node_modules/html2canvas/node_modules/text-segmentation/node_modules/src/Trie.ts","../node_modules/html2canvas/node_modules/src/GraphemeBreak.ts","../node_modules/src/dom/document-cloner.ts","../node_modules/src/core/features.ts","../node_modules/src/css/layout/text.ts","../node_modules/src/dom/text-container.ts","../node_modules/src/dom/replaced-elements/image-element-container.ts","../node_modules/src/dom/replaced-elements/canvas-element-container.ts","../node_modules/src/dom/replaced-elements/svg-element-container.ts","../node_modules/src/dom/elements/li-element-container.ts","../node_modules/src/dom/elements/ol-element-container.ts","../node_modules/src/dom/replaced-elements/input-element-container.ts","../node_modules/src/dom/elements/select-element-container.ts","../node_modules/src/dom/elements/textarea-element-container.ts","../node_modules/src/dom/replaced-elements/iframe-element-container.ts","../node_modules/src/dom/node-parser.ts","../node_modules/src/css/types/functions/counter.ts","../node_modules/src/render/bound-curves.ts","../node_modules/src/core/cache-storage.ts","../node_modules/src/render/vector.ts","../node_modules/src/render/bezier-curve.ts","../node_modules/src/render/effects.ts","../node_modules/src/render/path.ts","../node_modules/src/render/stacking-context.ts","../node_modules/src/render/border.ts","../node_modules/src/render/box-sizing.ts","../node_modules/src/render/background.ts","../node_modules/src/core/util.ts","../node_modules/src/render/font-metrics.ts","../node_modules/src/render/renderer.ts","../node_modules/src/render/canvas/canvas-renderer.ts","../node_modules/src/render/canvas/foreignobject-renderer.ts","../node_modules/src/core/logger.ts","../node_modules/src/core/context.ts","../node_modules/src/index.ts","../node_modules/invariant/browser.js","../node_modules/prop-types-extra/lib/all.js","../node_modules/prop-types-extra/lib/utils/createChainableTypeChecker.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/client.js","../node_modules/react-dom/index.js","../node_modules/react-fast-compare/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/shallowequal/index.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/construct.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/get.js","../node_modules/@babel/runtime/helpers/esm/superPropBase.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/create fake namespace object","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/publicPath","../webpack/runtime/jsonp chunk loading","../webpack/runtime/nonce","../node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","../node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","../node_modules/@babel/runtime/helpers/esm/toArray.js","../node_modules/@remix-run/router/history.ts","../node_modules/@remix-run/router/utils.ts","../node_modules/@remix-run/router/router.ts","../node_modules/react-router/lib/use-sync-external-store-shim/useSyncExternalStoreShimClient.ts","../node_modules/react-router/lib/use-sync-external-store-shim/index.ts","../node_modules/react-router/lib/context.ts","../node_modules/react-router/lib/hooks.tsx","../node_modules/react-router/lib/components.tsx","../node_modules/react-router-dom/index.tsx","../node_modules/react-router-dom/dom.ts","../node_modules/react-helmet-async/src/constants.js","../node_modules/react-helmet-async/src/utils.js","../node_modules/react-helmet-async/src/server.js","../node_modules/react-helmet-async/src/HelmetData.js","../node_modules/react-helmet-async/src/Provider.js","../node_modules/react-helmet-async/src/client.js","../node_modules/react-helmet-async/src/Dispatcher.js","../node_modules/react-helmet-async/src/index.js","components/seo.jsx","../node_modules/clsx/dist/clsx.m.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/ssr-window/ssr-window.esm.js","../node_modules/dom7/dom7.esm.js","../node_modules/swiper/shared/dom.js","../node_modules/swiper/shared/get-support.js","../node_modules/swiper/shared/get-device.js","../node_modules/swiper/shared/get-browser.js","../node_modules/swiper/shared/utils.js","../node_modules/swiper/core/events-emitter.js","../node_modules/swiper/core/update/index.js","../node_modules/swiper/core/update/updateSize.js","../node_modules/swiper/core/update/updateSlides.js","../node_modules/swiper/core/update/updateAutoHeight.js","../node_modules/swiper/core/update/updateSlidesOffset.js","../node_modules/swiper/core/update/updateSlidesProgress.js","../node_modules/swiper/core/update/updateProgress.js","../node_modules/swiper/core/update/updateSlidesClasses.js","../node_modules/swiper/core/update/updateActiveIndex.js","../node_modules/swiper/core/update/updateClickedSlide.js","../node_modules/swiper/core/translate/index.js","../node_modules/swiper/core/translate/getTranslate.js","../node_modules/swiper/core/translate/setTranslate.js","../node_modules/swiper/core/translate/minTranslate.js","../node_modules/swiper/core/translate/maxTranslate.js","../node_modules/swiper/core/translate/translateTo.js","../node_modules/swiper/core/transition/transitionEmit.js","../node_modules/swiper/core/transition/index.js","../node_modules/swiper/core/transition/setTransition.js","../node_modules/swiper/core/transition/transitionStart.js","../node_modules/swiper/core/transition/transitionEnd.js","../node_modules/swiper/core/slide/index.js","../node_modules/swiper/core/slide/slideTo.js","../node_modules/swiper/core/slide/slideToLoop.js","../node_modules/swiper/core/slide/slideNext.js","../node_modules/swiper/core/slide/slidePrev.js","../node_modules/swiper/core/slide/slideReset.js","../node_modules/swiper/core/slide/slideToClosest.js","../node_modules/swiper/core/slide/slideToClickedSlide.js","../node_modules/swiper/core/loop/index.js","../node_modules/swiper/core/loop/loopCreate.js","../node_modules/swiper/core/loop/loopFix.js","../node_modules/swiper/core/loop/loopDestroy.js","../node_modules/swiper/core/grab-cursor/index.js","../node_modules/swiper/core/grab-cursor/setGrabCursor.js","../node_modules/swiper/core/grab-cursor/unsetGrabCursor.js","../node_modules/swiper/core/events/onTouchStart.js","../node_modules/swiper/core/events/onTouchMove.js","../node_modules/swiper/core/events/onTouchEnd.js","../node_modules/swiper/core/events/onResize.js","../node_modules/swiper/core/events/onClick.js","../node_modules/swiper/core/events/onScroll.js","../node_modules/swiper/core/events/index.js","../node_modules/swiper/core/breakpoints/setBreakpoint.js","../node_modules/swiper/core/breakpoints/index.js","../node_modules/swiper/core/breakpoints/getBreakpoint.js","../node_modules/swiper/core/classes/index.js","../node_modules/swiper/core/classes/addClasses.js","../node_modules/swiper/core/classes/removeClasses.js","../node_modules/swiper/core/images/index.js","../node_modules/swiper/core/images/loadImage.js","../node_modules/swiper/core/images/preloadImages.js","../node_modules/swiper/core/check-overflow/index.js","../node_modules/swiper/core/defaults.js","../node_modules/swiper/core/moduleExtendParams.js","../node_modules/swiper/core/core.js","../node_modules/swiper/core/modules/resize/resize.js","../node_modules/swiper/core/modules/observer/observer.js","../node_modules/swiper/shared/create-element-if-not-defined.js","../node_modules/swiper/modules/navigation/navigation.js","../node_modules/swiper/shared/classes-to-selector.js","../node_modules/swiper/modules/pagination/pagination.js","../node_modules/swiper/modules/a11y/a11y.js","../node_modules/swiper/modules/autoplay/autoplay.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/swiper/components-shared/utils.js","../node_modules/swiper/components-shared/params-list.js","../node_modules/swiper/shared/calc-looped-slides.js","../node_modules/swiper/react/get-children.js","../node_modules/swiper/components-shared/update-swiper.js","../node_modules/swiper/react/use-isomorphic-layout-effect.js","../node_modules/swiper/react/context.js","../node_modules/swiper/react/swiper.js","../node_modules/swiper/components-shared/get-params.js","../node_modules/swiper/components-shared/mount-swiper.js","../node_modules/swiper/components-shared/get-changed-params.js","../node_modules/swiper/components-shared/update-on-virtual-data.js","../node_modules/swiper/react/virtual.js","../node_modules/swiper/react/loop.js","../node_modules/swiper/react/swiper-slide.js","components/swiper/index.jsx","wrappers/CategoryOneSlider.js","components/header/Logo.js","../node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js","../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js","../node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js","../node_modules/@babel/runtime/helpers/esm/classPrivateMethodGet.js","../node_modules/@babel/runtime/helpers/esm/classExtractFieldDescriptor.js","../node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet.js","../node_modules/@babel/runtime/helpers/esm/classApplyDescriptorGet.js","../node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet.js","../node_modules/@babel/runtime/helpers/esm/classApplyDescriptorSet.js","../node_modules/@tanstack/query-core/src/subscribable.ts","../node_modules/@tanstack/query-core/src/utils.ts","../node_modules/@tanstack/query-core/src/focusManager.ts","../node_modules/@tanstack/query-core/src/notifyManager.ts","../node_modules/@tanstack/query-core/src/onlineManager.ts","../node_modules/@tanstack/query-core/src/thenable.ts","../node_modules/@tanstack/query-core/src/retryer.ts","../node_modules/@tanstack/query-core/src/removable.ts","../node_modules/@tanstack/query-core/src/query.ts","../node_modules/@tanstack/query-core/src/queryObserver.ts","../node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js","../node_modules/@tanstack/react-query/src/QueryClientProvider.tsx","../node_modules/@tanstack/react-query/src/QueryErrorResetBoundary.tsx","../node_modules/@tanstack/react-query/src/utils.ts","../node_modules/@tanstack/react-query/src/errorBoundaryUtils.ts","../node_modules/@tanstack/react-query/src/isRestoring.ts","../node_modules/@tanstack/react-query/src/suspense.ts","../node_modules/@tanstack/react-query/src/useQuery.ts","../node_modules/@tanstack/react-query/src/useBaseQuery.ts","../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/null.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/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/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/core/settle.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/adapters/adapters.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/js-cookie/dist/js.cookie.mjs","helpers/axios.js","../node_modules/cogo-toast/dist/index.es.js","helpers/api.js","components/header/IconGroup.js","components/Shop/CollectionGridShop.js","components/header/NavMenu.js","components/header/sub-components/MobileSearch.js","assets/svg/ProuductIcons.js","components/header/sub-components/MobileNavMenu.js","components/header/MobileMenu.js","helpers/useCategoriesCollections.js","wrappers/HeaderTwo.js","components/Home/HomeEmail.js","wrappers/Footer.js","layouts/LayoutTwo.js","components/Home/CollectionGrid.js","components/Home/PostHero.js","components/Home/HomeImageSlider.js","components/loading/LoadingSpinner.js","helpers/functions.js","components/loading/InlineSpinner.js","../node_modules/dom-helpers/esm/canUseDOM.js","../node_modules/dom-helpers/esm/addEventListener.js","../node_modules/dom-helpers/esm/ownerDocument.js","../node_modules/dom-helpers/esm/removeEventListener.js","../node_modules/dom-helpers/esm/scrollbarSize.js","../node_modules/@restart/hooks/esm/useCommittedRef.js","../node_modules/@restart/hooks/esm/useEventCallback.js","../node_modules/@restart/hooks/esm/useMergedRefs.js","../node_modules/@restart/hooks/esm/useWillUnmount.js","../node_modules/@restart/hooks/esm/useUpdatedRef.js","../node_modules/dom-helpers/esm/getComputedStyle.js","../node_modules/dom-helpers/esm/ownerWindow.js","../node_modules/dom-helpers/esm/hyphenate.js","../node_modules/dom-helpers/esm/hyphenateStyle.js","../node_modules/dom-helpers/esm/isTransform.js","../node_modules/dom-helpers/esm/css.js","../node_modules/dom-helpers/esm/listen.js","../node_modules/dom-helpers/esm/transitionEnd.js","../node_modules/dom-helpers/esm/triggerEvent.js","../node_modules/dom-helpers/esm/activeElement.js","../node_modules/dom-helpers/esm/contains.js","../node_modules/@restart/ui/esm/DataKey.js","../node_modules/@restart/ui/esm/ModalManager.js","../node_modules/@restart/ui/esm/getScrollbarWidth.js","../node_modules/@restart/ui/esm/useWindow.js","../node_modules/@restart/ui/esm/useWaitForDOMRef.js","../node_modules/@restart/hooks/esm/useIsomorphicEffect.js","../node_modules/@restart/ui/esm/NoopTransition.js","../node_modules/@restart/ui/esm/ImperativeTransition.js","../node_modules/@restart/ui/esm/Modal.js","../node_modules/@restart/hooks/esm/useMounted.js","../node_modules/@restart/hooks/esm/usePrevious.js","../node_modules/dom-helpers/esm/querySelectorAll.js","../node_modules/dom-helpers/esm/removeClass.js","../node_modules/react-bootstrap/esm/BootstrapModalManager.js","../node_modules/dom-helpers/esm/addClass.js","../node_modules/dom-helpers/esm/hasClass.js","../node_modules/react-transition-group/esm/config.js","../node_modules/react-transition-group/esm/TransitionGroupContext.js","../node_modules/react-transition-group/esm/Transition.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/react-transition-group/esm/utils/reflow.js","../node_modules/react-bootstrap/esm/transitionEndListener.js","../node_modules/react-bootstrap/esm/TransitionWrapper.js","../node_modules/react-bootstrap/esm/safeFindDOMNode.js","../node_modules/react-bootstrap/esm/Fade.js","../node_modules/react-bootstrap/esm/triggerBrowserReflow.js","../node_modules/dom-helpers/esm/camelize.js","../node_modules/react-bootstrap/esm/ThemeProvider.js","../node_modules/react-bootstrap/esm/createWithBsPrefix.js","../node_modules/react-bootstrap/esm/ModalBody.js","../node_modules/react-bootstrap/esm/ModalContext.js","../node_modules/react-bootstrap/esm/ModalDialog.js","../node_modules/react-bootstrap/esm/ModalFooter.js","../node_modules/react-bootstrap/esm/CloseButton.js","../node_modules/react-bootstrap/esm/AbstractModalHeader.js","../node_modules/react-bootstrap/esm/ModalHeader.js","../node_modules/react-bootstrap/esm/divWithClassName.js","../node_modules/react-bootstrap/esm/ModalTitle.js","../node_modules/react-bootstrap/esm/Modal.js","../node_modules/@restart/hooks/esm/useCallbackRef.js","components/product/AddCustomizeModal.js","components/product/ProductDescriptionInfo.js","pages/category/ProductModal.js","components/LoginModal.js","pages/category/CategoryItem.js","wrappers/product/HomeFeaturedProducts.js","components/Home/HomeVideo.js","components/Home/HomeLogoSlider.js","wrappers/hero/HomeHero.js","wrappers/product/MostViewedProducts.js","pages/Home.js","../node_modules/@restart/hooks/esm/useResizeObserver.js","../node_modules/@restart/ui/esm/Button.js","../node_modules/@restart/ui/esm/Anchor.js","../node_modules/react-bootstrap/esm/BreadcrumbItem.js","../node_modules/react-bootstrap/esm/Breadcrumb.js","wrappers/breadcrumb/Breadcrumb.js","components/loading/LoadingScreen.js","wrappers/product/ProductImageDescription.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/uncontrollable/lib/esm/utils.js","../node_modules/uncontrollable/lib/esm/hook.js","../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","../node_modules/@react-aria/ssr/dist/packages/@react-aria/ssr/src/SSRProvider.tsx","../node_modules/@restart/ui/esm/TabContext.js","../node_modules/@restart/ui/esm/SelectableContext.js","../node_modules/@restart/ui/esm/TabPanel.js","../node_modules/@restart/ui/esm/Tabs.js","../node_modules/react-bootstrap/esm/getTabTransitionComponent.js","../node_modules/react-bootstrap/esm/TabContainer.js","../node_modules/react-bootstrap/esm/TabContent.js","../node_modules/react-bootstrap/esm/TabPane.js","../node_modules/react-bootstrap/esm/Tab.js","../node_modules/@restart/ui/esm/NavContext.js","../node_modules/@restart/ui/esm/NavItem.js","../node_modules/@restart/ui/esm/Nav.js","../node_modules/@restart/hooks/esm/useForceUpdate.js","../node_modules/react-bootstrap/esm/NavbarContext.js","../node_modules/react-bootstrap/esm/CardHeaderContext.js","../node_modules/react-bootstrap/esm/NavItem.js","../node_modules/react-bootstrap/esm/NavLink.js","../node_modules/react-bootstrap/esm/Nav.js","wrappers/product/ProductDescriptionTab.js","pages/Product.js","wrappers/HeroSlider.js","components/About/AboutTwoTextImage.js","pages/other/About.js","../node_modules/react-bootstrap/esm/Container.js","pages/other/Contact.js","../node_modules/src/index.tsx","pages/auth/data.js","pages/auth/Register.js","pages/auth/Login.js","components/Cart/CartItem.js","components/Cart/SuccessModal.js","../node_modules/react-icons/lib/iconContext.mjs","../node_modules/react-icons/lib/iconBase.mjs","../node_modules/react-icons/bi/index.mjs","components/modal/NoCodeModal.js","assets/svg/whatsapp.svg","components/Cart/CartTotal.js","components/Cart/CartBulkEditing.js","pages/other/Cart.js","pages/other/NotFound.js","helpers/scroll-top.js","components/WhatsappFloatBtn.js","../node_modules/react-pro-sidebar/dist/index.es.js","pages/dashboard/DashboardSidebar.js","pages/dashboard/DashboardLayout.js","pages/dashboard/data.js","../node_modules/react-icons/io/index.mjs","pages/dashboard/Orders/index.js","wrappers/ProtectedRoute.js","pages/dashboard/companyDetails/Details.js","pages/order/OrderSuccess.js","wrappers/blog/BlogPagination.js","wrappers/blog/BlogPostsNoSidebar.js","pages/blog/BlogNoSidebar.js","pages/other/Expertise.js","pages/other/Career.js","data/media/data.js","pages/other/Media.js","wrappers/blog/BlogSidebar.js","wrappers/blog/BlogPosts.js","pages/blog/BlogStandard.js","pages/blog/BlogRightSidebar.js","wrappers/blog/BlogPostCard.js","pages/blog/BlogDetailsStandard.js","pages/auth/Logout.js","../node_modules/@radix-ui/primitive/src/primitive.tsx","../node_modules/@radix-ui/react-compose-refs/src/composeRefs.tsx","../node_modules/@radix-ui/react-context/src/createContext.tsx","../node_modules/@radix-ui/react-use-callback-ref/src/useCallbackRef.tsx","../node_modules/@radix-ui/react-use-controllable-state/src/useControllableState.tsx","../node_modules/@radix-ui/react-slot/src/slot.tsx","../node_modules/@radix-ui/react-primitive/src/primitive.tsx","../node_modules/@radix-ui/react-collection/src/collection.tsx","../node_modules/@radix-ui/react-direction/src/Direction.tsx","../node_modules/@radix-ui/react-dismissable-layer/src/dismissable-layer.tsx","../node_modules/@radix-ui/react-use-escape-keydown/src/useEscapeKeydown.tsx","../node_modules/@radix-ui/react-focus-guards/src/FocusGuards.tsx","../node_modules/@radix-ui/react-focus-scope/src/focus-scope.tsx","../node_modules/@radix-ui/react-use-layout-effect/src/useLayoutEffect.tsx","../node_modules/@radix-ui/react-id/src/id.tsx","../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs","../node_modules/@radix-ui/react-arrow/src/arrow.tsx","../node_modules/@radix-ui/react-use-size/src/useSize.tsx","../node_modules/@radix-ui/react-popper/src/popper.tsx","../node_modules/@radix-ui/react-portal/src/portal.tsx","../node_modules/@radix-ui/react-presence/src/Presence.tsx","../node_modules/@radix-ui/react-presence/src/useStateMachine.tsx","../node_modules/@radix-ui/react-roving-focus/src/roving-focus-group.tsx","../node_modules/aria-hidden/dist/es2015/index.js","../node_modules/react-remove-scroll/node_modules/tslib/tslib.es6.mjs","../node_modules/react-remove-scroll-bar/dist/es2015/constants.js","../node_modules/use-callback-ref/dist/es2015/assignRef.js","../node_modules/use-callback-ref/dist/es2015/useMergeRef.js","../node_modules/use-callback-ref/dist/es2015/useRef.js","../node_modules/use-sidecar/node_modules/tslib/tslib.es6.mjs","../node_modules/use-sidecar/dist/es2015/medium.js","../node_modules/react-remove-scroll/dist/es2015/medium.js","../node_modules/react-remove-scroll/dist/es2015/UI.js","../node_modules/use-sidecar/dist/es2015/exports.js","../node_modules/get-nonce/dist/es2015/index.js","../node_modules/react-style-singleton/dist/es2015/singleton.js","../node_modules/react-style-singleton/dist/es2015/component.js","../node_modules/react-style-singleton/dist/es2015/hook.js","../node_modules/react-remove-scroll-bar/dist/es2015/utils.js","../node_modules/react-remove-scroll-bar/dist/es2015/component.js","../node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js","../node_modules/react-remove-scroll/dist/es2015/handleScroll.js","../node_modules/react-remove-scroll/dist/es2015/SideEffect.js","../node_modules/react-remove-scroll/dist/es2015/sidecar.js","../node_modules/react-remove-scroll/dist/es2015/Combination.js","../node_modules/@radix-ui/react-menu/src/menu.tsx","../node_modules/@radix-ui/react-dropdown-menu/src/dropdown-menu.tsx","../node_modules/react-icons/fa/index.mjs","components/CustomDropdown.js","../node_modules/@radix-ui/number/src/number.ts","../node_modules/@radix-ui/react-use-previous/src/usePrevious.tsx","../node_modules/@radix-ui/react-visually-hidden/src/visually-hidden.tsx","../node_modules/@radix-ui/react-select/src/select.tsx","components/CustomSelect.js","../node_modules/react-icons/rx/index.mjs","../node_modules/@radix-ui/react-slider/src/slider.tsx","components/product/Filters/FilterSliders.js","components/CustomMultiSelect.js","../node_modules/@radix-ui/react-checkbox/src/checkbox.tsx","components/radix/CustomCheckbox.js","components/product/Filters/ShopTopActionFilter.js","components/product/Filters/CustomFilter.js","components/product/Filters/FilterModal.js","pages/category/Category.js","pages/category/collection/Collection.js","../node_modules/react-icons/io5/index.mjs","../node_modules/react-icons/fc/index.mjs","pages/order/OrderDetailItem.js","pages/order/OrderDetail.js","pages/footerPages/Wrapper.js","pages/footerPages/TermsCondition.js","pages/footerPages/OurPolicy.js","pages/footerPages/PrivacyPolicy.js","pages/footerPages/ShippingPolicy.js","pages/footerPages/ReturnPolicy.js","pages/footerPages/CancellationPolicy.js","pages/Search.js","pages/dashboard/myStock/AddModal.js","../node_modules/react-icons/fa6/index.mjs","components/modal/ConfirmationModal.js","pages/dashboard/myStock/index.js","../node_modules/jspdf/node_modules/@babel/runtime/helpers/esm/typeof.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","pages/dashboard/makingCharges/index.js","App.js","../node_modules/@tanstack/query-core/src/queryCache.ts","../node_modules/@tanstack/query-core/src/mutation.ts","../node_modules/@tanstack/query-core/src/mutationCache.ts","../node_modules/@tanstack/query-core/src/infiniteQueryBehavior.ts","../node_modules/@tanstack/query-core/src/queryClient.ts","index.js"],"sourcesContent":["/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","export const toCodePoints = (str: string): number[] => {\n const codePoints = [];\n let i = 0;\n const length = str.length;\n while (i < length) {\n const value = str.charCodeAt(i++);\n if (value >= 0xd800 && value <= 0xdbff && i < length) {\n const extra = str.charCodeAt(i++);\n if ((extra & 0xfc00) === 0xdc00) {\n codePoints.push(((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000);\n } else {\n codePoints.push(value);\n i--;\n }\n } else {\n codePoints.push(value);\n }\n }\n return codePoints;\n};\n\nexport const fromCodePoint = (...codePoints: number[]): string => {\n if (String.fromCodePoint) {\n return String.fromCodePoint(...codePoints);\n }\n\n const length = codePoints.length;\n if (!length) {\n return '';\n }\n\n const codeUnits = [];\n\n let index = -1;\n let result = '';\n while (++index < length) {\n let codePoint = codePoints[index];\n if (codePoint <= 0xffff) {\n codeUnits.push(codePoint);\n } else {\n codePoint -= 0x10000;\n codeUnits.push((codePoint >> 10) + 0xd800, (codePoint % 0x400) + 0xdc00);\n }\n if (index + 1 === length || codeUnits.length > 0x4000) {\n result += String.fromCharCode(...codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n};\n\nconst chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const decode = (base64: string): ArrayBuffer | number[] => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const buffer =\n typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n typeof Uint8Array.prototype.slice !== 'undefined'\n ? new ArrayBuffer(bufferLength)\n : new Array(bufferLength);\n const bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return buffer;\n};\n\nexport const polyUint16Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 2) {\n bytes.push((buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n\nexport const polyUint32Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 4) {\n bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n","import {Context} from '../../core/context';\n\nexport class Bounds {\n constructor(readonly left: number, readonly top: number, readonly width: number, readonly height: number) {}\n\n add(x: number, y: number, w: number, h: number): Bounds {\n return new Bounds(this.left + x, this.top + y, this.width + w, this.height + h);\n }\n\n static fromClientRect(context: Context, clientRect: ClientRect): Bounds {\n return new Bounds(\n clientRect.left + context.windowBounds.left,\n clientRect.top + context.windowBounds.top,\n clientRect.width,\n clientRect.height\n );\n }\n\n static fromDOMRectList(context: Context, domRectList: DOMRectList): Bounds {\n const domRect = Array.from(domRectList).find((rect) => rect.width !== 0);\n return domRect\n ? new Bounds(\n domRect.left + context.windowBounds.left,\n domRect.top + context.windowBounds.top,\n domRect.width,\n domRect.height\n )\n : Bounds.EMPTY;\n }\n\n static EMPTY = new Bounds(0, 0, 0, 0);\n}\n\nexport const parseBounds = (context: Context, node: Element): Bounds => {\n return Bounds.fromClientRect(context, node.getBoundingClientRect());\n};\n\nexport const parseDocumentSize = (document: Document): Bounds => {\n const body = document.body;\n const documentElement = document.documentElement;\n\n if (!body || !documentElement) {\n throw new Error(`Unable to get document size`);\n }\n const width = Math.max(\n Math.max(body.scrollWidth, documentElement.scrollWidth),\n Math.max(body.offsetWidth, documentElement.offsetWidth),\n Math.max(body.clientWidth, documentElement.clientWidth)\n );\n\n const height = Math.max(\n Math.max(body.scrollHeight, documentElement.scrollHeight),\n Math.max(body.offsetHeight, documentElement.offsetHeight),\n Math.max(body.clientHeight, documentElement.clientHeight)\n );\n\n return new Bounds(0, 0, width, height);\n};\n","const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const decode = (base64: string): ArrayBuffer | number[] => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const buffer =\n typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n typeof Uint8Array.prototype.slice !== 'undefined'\n ? new ArrayBuffer(bufferLength)\n : new Array(bufferLength);\n const bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return buffer;\n};\n\nexport const polyUint16Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 2) {\n bytes.push((buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n\nexport const polyUint32Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 4) {\n bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n","const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const encode = (arraybuffer: ArrayBuffer): string => {\n let bytes = new Uint8Array(arraybuffer),\n i,\n len = bytes.length,\n base64 = '';\n\n for (i = 0; i < len; i += 3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n\n if (len % 3 === 2) {\n base64 = base64.substring(0, base64.length - 1) + '=';\n } else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + '==';\n }\n\n return base64;\n};\n\nexport const decode = (base64: string): ArrayBuffer => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const arraybuffer = new ArrayBuffer(bufferLength),\n bytes = new Uint8Array(arraybuffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return arraybuffer;\n};\n","import {decode, polyUint16Array, polyUint32Array} from './Util';\n\nexport type int = number;\n\n/** Shift size for getting the index-2 table offset. */\nexport const UTRIE2_SHIFT_2 = 5;\n\n/** Shift size for getting the index-1 table offset. */\nexport const UTRIE2_SHIFT_1 = 6 + 5;\n\n/**\n * Shift size for shifting left the index array values.\n * Increases possible data size with 16-bit index values at the cost\n * of compactability.\n * This requires data blocks to be aligned by UTRIE2_DATA_GRANULARITY.\n */\nexport const UTRIE2_INDEX_SHIFT = 2;\n\n/**\n * Difference between the two shift sizes,\n * for getting an index-1 offset from an index-2 offset. 6=11-5\n */\nexport const UTRIE2_SHIFT_1_2 = UTRIE2_SHIFT_1 - UTRIE2_SHIFT_2;\n\n/**\n * The part of the index-2 table for U+D800..U+DBFF stores values for\n * lead surrogate code _units_ not code _points_.\n * Values for lead surrogate code _points_ are indexed with this portion of the table.\n * Length=32=0x20=0x400>>UTRIE2_SHIFT_2. (There are 1024=0x400 lead surrogates.)\n */\nexport const UTRIE2_LSCP_INDEX_2_OFFSET = 0x10000 >> UTRIE2_SHIFT_2;\n\n/** Number of entries in a data block. 32=0x20 */\nexport const UTRIE2_DATA_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_2;\n/** Mask for getting the lower bits for the in-data-block offset. */\nexport const UTRIE2_DATA_MASK = UTRIE2_DATA_BLOCK_LENGTH - 1;\n\nexport const UTRIE2_LSCP_INDEX_2_LENGTH = 0x400 >> UTRIE2_SHIFT_2;\n/** Count the lengths of both BMP pieces. 2080=0x820 */\nexport const UTRIE2_INDEX_2_BMP_LENGTH = UTRIE2_LSCP_INDEX_2_OFFSET + UTRIE2_LSCP_INDEX_2_LENGTH;\n/**\n * The 2-byte UTF-8 version of the index-2 table follows at offset 2080=0x820.\n * Length 32=0x20 for lead bytes C0..DF, regardless of UTRIE2_SHIFT_2.\n */\nexport const UTRIE2_UTF8_2B_INDEX_2_OFFSET = UTRIE2_INDEX_2_BMP_LENGTH;\nexport const UTRIE2_UTF8_2B_INDEX_2_LENGTH = 0x800 >> 6; /* U+0800 is the first code point after 2-byte UTF-8 */\n/**\n * The index-1 table, only used for supplementary code points, at offset 2112=0x840.\n * Variable length, for code points up to highStart, where the last single-value range starts.\n * Maximum length 512=0x200=0x100000>>UTRIE2_SHIFT_1.\n * (For 0x100000 supplementary code points U+10000..U+10ffff.)\n *\n * The part of the index-2 table for supplementary code points starts\n * after this index-1 table.\n *\n * Both the index-1 table and the following part of the index-2 table\n * are omitted completely if there is only BMP data.\n */\nexport const UTRIE2_INDEX_1_OFFSET = UTRIE2_UTF8_2B_INDEX_2_OFFSET + UTRIE2_UTF8_2B_INDEX_2_LENGTH;\n\n/**\n * Number of index-1 entries for the BMP. 32=0x20\n * This part of the index-1 table is omitted from the serialized form.\n */\nexport const UTRIE2_OMITTED_BMP_INDEX_1_LENGTH = 0x10000 >> UTRIE2_SHIFT_1;\n\n/** Number of entries in an index-2 block. 64=0x40 */\nexport const UTRIE2_INDEX_2_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_1_2;\n/** Mask for getting the lower bits for the in-index-2-block offset. */\nexport const UTRIE2_INDEX_2_MASK = UTRIE2_INDEX_2_BLOCK_LENGTH - 1;\n\nconst slice16 = (view: number[] | Uint16Array, start: number, end?: number) => {\n if (view.slice) {\n return view.slice(start, end);\n }\n\n return new Uint16Array(Array.prototype.slice.call(view, start, end));\n};\n\nconst slice32 = (view: number[] | Uint32Array, start: number, end?: number) => {\n if (view.slice) {\n return view.slice(start, end);\n }\n\n return new Uint32Array(Array.prototype.slice.call(view, start, end));\n};\n\nexport const createTrieFromBase64 = (base64: string, _byteLength: number): Trie => {\n const buffer = decode(base64);\n const view32 = Array.isArray(buffer) ? polyUint32Array(buffer) : new Uint32Array(buffer);\n const view16 = Array.isArray(buffer) ? polyUint16Array(buffer) : new Uint16Array(buffer);\n const headerLength = 24;\n\n const index = slice16(view16, headerLength / 2, view32[4] / 2);\n const data =\n view32[5] === 2\n ? slice16(view16, (headerLength + view32[4]) / 2)\n : slice32(view32, Math.ceil((headerLength + view32[4]) / 4));\n\n return new Trie(view32[0], view32[1], view32[2], view32[3], index, data);\n};\n\nexport class Trie {\n initialValue: int;\n errorValue: int;\n highStart: int;\n highValueIndex: int;\n index: Uint16Array | number[];\n data: Uint32Array | Uint16Array | number[];\n\n constructor(\n initialValue: int,\n errorValue: int,\n highStart: int,\n highValueIndex: int,\n index: Uint16Array | number[],\n data: Uint32Array | Uint16Array | number[]\n ) {\n this.initialValue = initialValue;\n this.errorValue = errorValue;\n this.highStart = highStart;\n this.highValueIndex = highValueIndex;\n this.index = index;\n this.data = data;\n }\n\n /**\n * Get the value for a code point as stored in the Trie.\n *\n * @param codePoint the code point\n * @return the value\n */\n get(codePoint: number): number {\n let ix;\n if (codePoint >= 0) {\n if (codePoint < 0x0d800 || (codePoint > 0x0dbff && codePoint <= 0x0ffff)) {\n // Ordinary BMP code point, excluding leading surrogates.\n // BMP uses a single level lookup. BMP index starts at offset 0 in the Trie2 index.\n // 16 bit data is stored in the index array itself.\n ix = this.index[codePoint >> UTRIE2_SHIFT_2];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n\n if (codePoint <= 0xffff) {\n // Lead Surrogate Code Point. A Separate index section is stored for\n // lead surrogate code units and code points.\n // The main index has the code unit data.\n // For this function, we need the code point data.\n // Note: this expression could be refactored for slightly improved efficiency, but\n // surrogate code points will be so rare in practice that it's not worth it.\n ix = this.index[UTRIE2_LSCP_INDEX_2_OFFSET + ((codePoint - 0xd800) >> UTRIE2_SHIFT_2)];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n\n if (codePoint < this.highStart) {\n // Supplemental code point, use two-level lookup.\n ix = UTRIE2_INDEX_1_OFFSET - UTRIE2_OMITTED_BMP_INDEX_1_LENGTH + (codePoint >> UTRIE2_SHIFT_1);\n ix = this.index[ix];\n ix += (codePoint >> UTRIE2_SHIFT_2) & UTRIE2_INDEX_2_MASK;\n ix = this.index[ix];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n if (codePoint <= 0x10ffff) {\n return this.data[this.highValueIndex];\n }\n }\n\n // Fall through. The code point is outside of the legal range of 0..0x10ffff.\n return this.errorValue;\n }\n}\n","export const base64 =\n 'KwAAAAAAAAAACA4AUD0AADAgAAACAAAAAAAIABAAGABAAEgAUABYAGAAaABgAGgAYgBqAF8AZwBgAGgAcQB5AHUAfQCFAI0AlQCdAKIAqgCyALoAYABoAGAAaABgAGgAwgDKAGAAaADGAM4A0wDbAOEA6QDxAPkAAQEJAQ8BFwF1AH0AHAEkASwBNAE6AUIBQQFJAVEBWQFhAWgBcAF4ATAAgAGGAY4BlQGXAZ8BpwGvAbUBvQHFAc0B0wHbAeMB6wHxAfkBAQIJAvEBEQIZAiECKQIxAjgCQAJGAk4CVgJeAmQCbAJ0AnwCgQKJApECmQKgAqgCsAK4ArwCxAIwAMwC0wLbAjAA4wLrAvMC+AIAAwcDDwMwABcDHQMlAy0DNQN1AD0DQQNJA0kDSQNRA1EDVwNZA1kDdQB1AGEDdQBpA20DdQN1AHsDdQCBA4kDkQN1AHUAmQOhA3UAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AKYDrgN1AHUAtgO+A8YDzgPWAxcD3gPjA+sD8wN1AHUA+wMDBAkEdQANBBUEHQQlBCoEFwMyBDgEYABABBcDSARQBFgEYARoBDAAcAQzAXgEgASIBJAEdQCXBHUAnwSnBK4EtgS6BMIEyAR1AHUAdQB1AHUAdQCVANAEYABgAGAAYABgAGAAYABgANgEYADcBOQEYADsBPQE/AQEBQwFFAUcBSQFLAU0BWQEPAVEBUsFUwVbBWAAYgVgAGoFcgV6BYIFigWRBWAAmQWfBaYFYABgAGAAYABgAKoFYACxBbAFuQW6BcEFwQXHBcEFwQXPBdMF2wXjBeoF8gX6BQIGCgYSBhoGIgYqBjIGOgZgAD4GRgZMBmAAUwZaBmAAYABgAGAAYABgAGAAYABgAGAAYABgAGIGYABpBnAGYABgAGAAYABgAGAAYABgAGAAYAB4Bn8GhQZgAGAAYAB1AHcDFQSLBmAAYABgAJMGdQA9A3UAmwajBqsGqwaVALMGuwbDBjAAywbSBtIG1QbSBtIG0gbSBtIG0gbdBuMG6wbzBvsGAwcLBxMHAwcbByMHJwcsBywHMQcsB9IGOAdAB0gHTgfSBkgHVgfSBtIG0gbSBtIG0gbSBtIG0gbSBiwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdgAGAALAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdbB2MHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB2kH0gZwB64EdQB1AHUAdQB1AHUAdQB1AHUHfQdgAIUHjQd1AHUAlQedB2AAYAClB6sHYACzB7YHvgfGB3UAzgfWBzMB3gfmB1EB7gf1B/0HlQENAQUIDQh1ABUIHQglCBcDLQg1CD0IRQhNCEEDUwh1AHUAdQBbCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIcAh3CHoIMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIgggwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAALAcsBywHLAcsBywHLAcsBywHLAcsB4oILAcsB44I0gaWCJ4Ipgh1AHUAqgiyCHUAdQB1AHUAdQB1AHUAdQB1AHUAtwh8AXUAvwh1AMUIyQjRCNkI4AjoCHUAdQB1AO4I9gj+CAYJDgkTCS0HGwkjCYIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiAAIAAAAFAAYABgAGIAXwBgAHEAdQBFAJUAogCyAKAAYABgAEIA4ABGANMA4QDxAMEBDwE1AFwBLAE6AQEBUQF4QkhCmEKoQrhCgAHIQsAB0MLAAcABwAHAAeDC6ABoAHDCwMMAAcABwAHAAdDDGMMAAcAB6MM4wwjDWMNow3jDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEjDqABWw6bDqABpg6gAaABoAHcDvwOPA+gAaABfA/8DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DpcPAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAB9cPKwkyCToJMAB1AHUAdQBCCUoJTQl1AFUJXAljCWcJawkwADAAMAAwAHMJdQB2CX4JdQCECYoJjgmWCXUAngkwAGAAYABxAHUApgn3A64JtAl1ALkJdQDACTAAMAAwADAAdQB1AHUAdQB1AHUAdQB1AHUAowYNBMUIMAAwADAAMADICcsJ0wnZCRUE4QkwAOkJ8An4CTAAMAB1AAAKvwh1AAgKDwoXCh8KdQAwACcKLgp1ADYKqAmICT4KRgowADAAdQB1AE4KMAB1AFYKdQBeCnUAZQowADAAMAAwADAAMAAwADAAMAAVBHUAbQowADAAdQC5CXUKMAAwAHwBxAijBogEMgF9CoQKiASMCpQKmgqIBKIKqgquCogEDQG2Cr4KxgrLCjAAMADTCtsKCgHjCusK8Qr5CgELMAAwADAAMAB1AIsECQsRC3UANAEZCzAAMAAwADAAMAB1ACELKQswAHUANAExCzkLdQBBC0kLMABRC1kLMAAwADAAMAAwADAAdQBhCzAAMAAwAGAAYABpC3ELdwt/CzAAMACHC4sLkwubC58Lpwt1AK4Ltgt1APsDMAAwADAAMAAwADAAMAAwAL4LwwvLC9IL1wvdCzAAMADlC+kL8Qv5C/8LSQswADAAMAAwADAAMAAwADAAMAAHDDAAMAAwADAAMAAODBYMHgx1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1ACYMMAAwADAAdQB1AHUALgx1AHUAdQB1AHUAdQA2DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AD4MdQBGDHUAdQB1AHUAdQB1AEkMdQB1AHUAdQB1AFAMMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQBYDHUAdQB1AF8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUA+wMVBGcMMAAwAHwBbwx1AHcMfwyHDI8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAYABgAJcMMAAwADAAdQB1AJ8MlQClDDAAMACtDCwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB7UMLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AA0EMAC9DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAsBywHLAcsBywHLAcsBywHLQcwAMEMyAwsBywHLAcsBywHLAcsBywHLAcsBywHzAwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1ANQM2QzhDDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMABgAGAAYABgAGAAYABgAOkMYADxDGAA+AwADQYNYABhCWAAYAAODTAAMAAwADAAFg1gAGAAHg37AzAAMAAwADAAYABgACYNYAAsDTQNPA1gAEMNPg1LDWAAYABgAGAAYABgAGAAYABgAGAAUg1aDYsGVglhDV0NcQBnDW0NdQ15DWAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAlQCBDZUAiA2PDZcNMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAnw2nDTAAMAAwADAAMAAwAHUArw23DTAAMAAwADAAMAAwADAAMAAwADAAMAB1AL8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQDHDTAAYABgAM8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA1w11ANwNMAAwAD0B5A0wADAAMAAwADAAMADsDfQN/A0EDgwOFA4wABsOMAAwADAAMAAwADAAMAAwANIG0gbSBtIG0gbSBtIG0gYjDigOwQUuDsEFMw7SBjoO0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGQg5KDlIOVg7SBtIGXg5lDm0OdQ7SBtIGfQ6EDooOjQ6UDtIGmg6hDtIG0gaoDqwO0ga0DrwO0gZgAGAAYADEDmAAYAAkBtIGzA5gANIOYADaDokO0gbSBt8O5w7SBu8O0gb1DvwO0gZgAGAAxA7SBtIG0gbSBtIGYABgAGAAYAAED2AAsAUMD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHJA8sBywHLAcsBywHLAccDywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywPLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAc0D9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHPA/SBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gYUD0QPlQCVAJUAMAAwADAAMACVAJUAlQCVAJUAlQCVAEwPMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA//8EAAQABAAEAAQABAAEAAQABAANAAMAAQABAAIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQACgATABcAHgAbABoAHgAXABYAEgAeABsAGAAPABgAHABLAEsASwBLAEsASwBLAEsASwBLABgAGAAeAB4AHgATAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYAGwASAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWAA0AEQAeAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAFAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJABYAGgAbABsAGwAeAB0AHQAeAE8AFwAeAA0AHgAeABoAGwBPAE8ADgBQAB0AHQAdAE8ATwAXAE8ATwBPABYAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAFAATwBAAE8ATwBPAEAATwBQAFAATwBQAB4AHgAeAB4AHgAeAB0AHQAdAB0AHgAdAB4ADgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgBQAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkACQAJAAkACQAJAAkABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAFAAHgAeAB4AKwArAFAAUABQAFAAGABQACsAKwArACsAHgAeAFAAHgBQAFAAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUAAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAYAA0AKwArAB4AHgAbACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAB4ABAAEAB4ABAAEABMABAArACsAKwArACsAKwArACsAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAKwArACsAKwBWAFYAVgBWAB4AHgArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AGgAaABoAGAAYAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQAEwAEACsAEwATAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABLAEsASwBLAEsASwBLAEsASwBLABoAGQAZAB4AUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABMAUAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABABQAFAABAAEAB4ABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUAAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAFAABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQAUABQAB4AHgAYABMAUAArACsABAAbABsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAFAABAAEAAQABAAEAFAABAAEAAQAUAAEAAQABAAEAAQAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArACsAHgArAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEAA0ADQBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUAArACsAKwBQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABABQACsAKwArACsAKwArACsAKwAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUAAaABoAUABQAFAAUABQAEwAHgAbAFAAHgAEACsAKwAEAAQABAArAFAAUABQAFAAUABQACsAKwArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQACsAUABQACsAKwAEACsABAAEAAQABAAEACsAKwArACsABAAEACsAKwAEAAQABAArACsAKwAEACsAKwArACsAKwArACsAUABQAFAAUAArAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLAAQABABQAFAAUAAEAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAArACsAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AGwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAKwArACsAKwArAAQABAAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAAQAUAArAFAAUABQAFAAUABQACsAKwArAFAAUABQACsAUABQAFAAUAArACsAKwBQAFAAKwBQACsAUABQACsAKwArAFAAUAArACsAKwBQAFAAUAArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAAQABAAEAAQABAArACsAKwAEAAQABAArAAQABAAEAAQAKwArAFAAKwArACsAKwArACsABAArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAHgAeAB4AHgAeAB4AGwAeACsAKwArACsAKwAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAUABQAFAAKwArACsAKwArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwAOAFAAUABQAFAAUABQAFAAHgBQAAQABAAEAA4AUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAKwArAAQAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAKwArACsAKwArACsAUAArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABABQAB4AKwArACsAKwBQAFAAUAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQABoAUABQAFAAUABQAFAAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQACsAUAArACsAUABQAFAAUABQAFAAUAArACsAKwAEACsAKwArACsABAAEAAQABAAEAAQAKwAEACsABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgAqACsAKwArACsAGwBcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAeAEsASwBLAEsASwBLAEsASwBLAEsADQANACsAKwArACsAKwBcAFwAKwBcACsAXABcAFwAXABcACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAXAArAFwAXABcAFwAXABcAFwAXABcAFwAKgBcAFwAKgAqACoAKgAqACoAKgAqACoAXAArACsAXABcAFwAXABcACsAXAArACoAKgAqACoAKgAqACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwBcAFwAXABcAFAADgAOAA4ADgAeAA4ADgAJAA4ADgANAAkAEwATABMAEwATAAkAHgATAB4AHgAeAAQABAAeAB4AHgAeAB4AHgBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQAFAADQAEAB4ABAAeAAQAFgARABYAEQAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAAQABAAEAAQADQAEAAQAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAA0ADQAeAB4AHgAeAB4AHgAEAB4AHgAeAB4AHgAeACsAHgAeAA4ADgANAA4AHgAeAB4AHgAeAAkACQArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgBcAEsASwBLAEsASwBLAEsASwBLAEsADQANAB4AHgAeAB4AXABcAFwAXABcAFwAKgAqACoAKgBcAFwAXABcACoAKgAqAFwAKgAqACoAXABcACoAKgAqACoAKgAqACoAXABcAFwAKgAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqAFwAKgBLAEsASwBLAEsASwBLAEsASwBLACoAKgAqACoAKgAqAFAAUABQAFAAUABQACsAUAArACsAKwArACsAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAKwBQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsABAAEAAQAHgANAB4AHgAeAB4AHgAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUAArACsADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWABEAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQANAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAANAA0AKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUAArAAQABAArACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqAA0ADQAVAFwADQAeAA0AGwBcACoAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwAeAB4AEwATAA0ADQAOAB4AEwATAB4ABAAEAAQACQArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAHgArACsAKwATABMASwBLAEsASwBLAEsASwBLAEsASwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAXABcAFwAXABcACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAXAArACsAKwAqACoAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsAHgAeAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKwAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKwArAAQASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACoAKgAqACoAKgAqACoAXAAqACoAKgAqACoAKgArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABABQAFAAUABQAFAAUABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwANAA0AHgANAA0ADQANAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwAeAB4AHgAeAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArAA0ADQANAA0ADQBLAEsASwBLAEsASwBLAEsASwBLACsAKwArAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUAAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAAQAUABQAFAAUABQAFAABABQAFAABAAEAAQAUAArACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQACsAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQACsAKwAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQACsAHgAeAB4AHgAeAB4AHgAOAB4AKwANAA0ADQANAA0ADQANAAkADQANAA0ACAAEAAsABAAEAA0ACQANAA0ADAAdAB0AHgAXABcAFgAXABcAFwAWABcAHQAdAB4AHgAUABQAFAANAAEAAQAEAAQABAAEAAQACQAaABoAGgAaABoAGgAaABoAHgAXABcAHQAVABUAHgAeAB4AHgAeAB4AGAAWABEAFQAVABUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ADQAeAA0ADQANAA0AHgANAA0ADQAHAB4AHgAeAB4AKwAEAAQABAAEAAQABAAEAAQABAAEAFAAUAArACsATwBQAFAAUABQAFAAHgAeAB4AFgARAE8AUABPAE8ATwBPAFAAUABQAFAAUAAeAB4AHgAWABEAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArABsAGwAbABsAGwAbABsAGgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGgAbABsAGwAbABoAGwAbABoAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAHgAeAFAAGgAeAB0AHgBQAB4AGgAeAB4AHgAeAB4AHgAeAB4AHgBPAB4AUAAbAB4AHgBQAFAAUABQAFAAHgAeAB4AHQAdAB4AUAAeAFAAHgBQAB4AUABPAFAAUAAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgBQAFAAUABQAE8ATwBQAFAAUABQAFAATwBQAFAATwBQAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAUABQAFAATwBPAE8ATwBPAE8ATwBPAE8ATwBQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABPAB4AHgArACsAKwArAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHQAdAB4AHgAeAB0AHQAeAB4AHQAeAB4AHgAdAB4AHQAbABsAHgAdAB4AHgAeAB4AHQAeAB4AHQAdAB0AHQAeAB4AHQAeAB0AHgAdAB0AHQAdAB0AHQAeAB0AHgAeAB4AHgAeAB0AHQAdAB0AHgAeAB4AHgAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB0AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAdAB0AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAWABEAHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AHQAdAB0AHgAeAB0AHgAeAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlAB4AHQAdAB4AHgAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AJQAlAB0AHQAlAB4AJQAlACUAIAAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAdAB0AHQAeAB0AJQAdAB0AHgAdAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAdAB0AHQAdACUAHgAlACUAJQAdACUAJQAdAB0AHQAlACUAHQAdACUAHQAdACUAJQAlAB4AHQAeAB4AHgAeAB0AHQAlAB0AHQAdAB0AHQAdACUAJQAlACUAJQAdACUAJQAgACUAHQAdACUAJQAlACUAJQAlACUAJQAeAB4AHgAlACUAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AFwAXABcAFwAXABcAHgATABMAJQAeAB4AHgAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARABYAEQAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAeAB4AKwArACsAKwArABMADQANAA0AUAATAA0AUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUAANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAA0ADQANAA0ADQANAA0ADQAeAA0AFgANAB4AHgAXABcAHgAeABcAFwAWABEAFgARABYAEQAWABEADQANAA0ADQATAFAADQANAB4ADQANAB4AHgAeAB4AHgAMAAwADQANAA0AHgANAA0AFgANAA0ADQANAA0ADQANAA0AHgANAB4ADQANAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArAA0AEQARACUAJQBHAFcAVwAWABEAFgARABYAEQAWABEAFgARACUAJQAWABEAFgARABYAEQAWABEAFQAWABEAEQAlAFcAVwBXAFcAVwBXAFcAVwBXAAQABAAEAAQABAAEACUAVwBXAFcAVwA2ACUAJQBXAFcAVwBHAEcAJQAlACUAKwBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBRAFcAUQBXAFEAVwBXAFcAVwBXAFcAUQBXAFcAVwBXAFcAVwBRAFEAKwArAAQABAAVABUARwBHAFcAFQBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBRAFcAVwBXAFcAVwBXAFEAUQBXAFcAVwBXABUAUQBHAEcAVwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwAlACUAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACsAKwArACsAKwArACsAKwArACsAKwArAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBPAE8ATwBPAE8ATwBPAE8AJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADQATAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQAHgBQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAeAA0ADQANAA0ADQArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAAQAUABQAFAABABQAFAAUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAeAB4AHgAeAAQAKwArACsAUABQAFAAUABQAFAAHgAeABoAHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADgAOABMAEwArACsAKwArACsAKwArACsABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUAAeAB4AHgBQAA4AUABQAAQAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAB4AWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYACsAKwArAAQAHgAeAB4AHgAeAB4ADQANAA0AHgAeAB4AHgArAFAASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArAB4AHgBcAFwAXABcAFwAKgBcAFwAXABcAFwAXABcAFwAXABcAEsASwBLAEsASwBLAEsASwBLAEsAXABcAFwAXABcACsAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAFAAUABQAAQAUABQAFAAUABQAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAHgANAA0ADQBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAKgAqACoAXABcACoAKgBcAFwAXABcAFwAKgAqAFwAKgBcACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAA0ADQBQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQADQAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAVABVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBUAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVACsAKwArACsAKwArACsAKwArACsAKwArAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAKwArACsAKwBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAKwArACsAKwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArACsAKwArAFYABABWAFYAVgBWAFYAVgBWAFYAVgBWAB4AVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgArAFYAVgBWAFYAVgArAFYAKwBWAFYAKwBWAFYAKwBWAFYAVgBWAFYAVgBWAFYAVgBWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEQAWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAaAB4AKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAARABEAGAAYABMAEwAWABEAFAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACUAJQAlACUAJQAWABEAFgARABYAEQAWABEAFgARABYAEQAlACUAFgARACUAJQAlACUAJQAlACUAEQAlABEAKwAVABUAEwATACUAFgARABYAEQAWABEAJQAlACUAJQAlACUAJQAlACsAJQAbABoAJQArACsAKwArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAcAKwATACUAJQAbABoAJQAlABYAEQAlACUAEQAlABEAJQBXAFcAVwBXAFcAVwBXAFcAVwBXABUAFQAlACUAJQATACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXABYAJQARACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAWACUAEQAlABYAEQARABYAEQARABUAVwBRAFEAUQBRAFEAUQBRAFEAUQBRAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcARwArACsAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXACsAKwBXAFcAVwBXAFcAVwArACsAVwBXAFcAKwArACsAGgAbACUAJQAlABsAGwArAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAAQAB0AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsADQANAA0AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAA0AUABQAFAAUAArACsAKwArAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwBQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAUABQAFAAUABQAAQABAAEACsABAAEACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAKwBQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAA0ADQANAA0ADQANAA0ADQAeACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAArACsAKwArAFAAUABQAFAAUAANAA0ADQANAA0ADQAUACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsADQANAA0ADQANAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArAAQABAANACsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAB4AHgAeAB4AHgArACsAKwArACsAKwAEAAQABAAEAAQABAAEAA0ADQAeAB4AHgAeAB4AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsASwBLAEsASwBLAEsASwBLAEsASwANAA0ADQANAFAABAAEAFAAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAeAA4AUAArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAADQANAB4ADQAEAAQABAAEAB4ABAAEAEsASwBLAEsASwBLAEsASwBLAEsAUAAOAFAADQANAA0AKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAA0AHgANAA0AHgAEACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAA0AKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsABAAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAUAArACsAKwArACsAKwAEACsAKwArACsAKwBQAFAAUABQAFAABAAEACsAKwAEAAQABAAEAAQABAAEACsAKwArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABABQAFAAUABQAA0ADQANAA0AHgBLAEsASwBLAEsASwBLAEsASwBLAA0ADQArAB4ABABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUAAeAFAAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABAAEAAQADgANAA0AEwATAB4AHgAeAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAFAAUABQAFAABAAEACsAKwAEAA0ADQAeAFAAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKwArACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBcAFwADQANAA0AKgBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQAKwAEAAQAKwArAAQABAAEAAQAUAAEAFAABAAEAA0ADQANACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABABQAA4AUAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAOAB4ADQANAA0ADQAOAB4ABAArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA0ADQANAFAADgAOAA4ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAFAADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAOABMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAArACsAKwAEACsABAAEACsABAAEAAQABAAEAAQABABQAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAaABoAGgAaAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABIAEgAQwBDAEMAUABQAFAAUABDAFAAUABQAEgAQwBIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABDAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAJAAkACQAJAAkACQAJABYAEQArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwANAA0AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAANACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQANAB4AHgAeAB4AHgAeAFAAUABQAFAADQAeACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAA0AHgAeACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAARwBHABUARwAJACsAKwArACsAKwArACsAKwArACsAKwAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUQBRAFEAKwArACsAKwArACsAKwArACsAKwArACsAKwBRAFEAUQBRACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAHgAEAAQADQAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQABAAEAAQABAAeAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQAHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAKwArAFAAKwArAFAAUAArACsAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUAArAFAAUABQAFAAUABQAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAHgAeAFAAUABQAFAAUAArAFAAKwArACsAUABQAFAAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeACsAKwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4ABAAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAHgAeAA0ADQANAA0AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArAAQABAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwBQAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArABsAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAB4AHgAeAB4ABAAEAAQABAAEAAQABABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArABYAFgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAGgBQAFAAUAAaAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUAArACsAKwArACsAKwBQACsAKwArACsAUAArAFAAKwBQACsAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUAArAFAAKwBQACsAUAArAFAAUAArAFAAKwArAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAKwBQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AJQAlACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeACUAJQAlAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAlACUAJQAlACUAHgAlACUAJQAlACUAIAAgACAAJQAlACAAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACEAIQAhACEAIQAlACUAIAAgACUAJQAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAIAAlACUAJQAlACAAIAAgACUAIAAgACAAJQAlACUAJQAlACUAJQAgACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAlAB4AJQAeACUAJQAlACUAJQAgACUAJQAlACUAHgAlAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACAAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABcAFwAXABUAFQAVAB4AHgAeAB4AJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAgACUAJQAgACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAIAAgACUAJQAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACAAIAAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACAAIAAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAA==';\nexport const byteLength = 39664;\n","'use strict';\n\nimport {createTrieFromBase64} from 'utrie';\nimport {base64, byteLength} from './linebreak-trie';\nimport {fromCodePoint, toCodePoints} from './Util';\n\nexport const LETTER_NUMBER_MODIFIER = 50;\n\n// Non-tailorable Line Breaking Classes\nconst BK = 1; // Cause a line break (after)\nconst CR = 2; // Cause a line break (after), except between CR and LF\nconst LF = 3; // Cause a line break (after)\nconst CM = 4; // Prohibit a line break between the character and the preceding character\nconst NL = 5; // Cause a line break (after)\nconst SG = 6; // Do not occur in well-formed text\nconst WJ = 7; // Prohibit line breaks before and after\nconst ZW = 8; // Provide a break opportunity\nconst GL = 9; // Prohibit line breaks before and after\nconst SP = 10; // Enable indirect line breaks\nconst ZWJ = 11; // Prohibit line breaks within joiner sequences\n// Break Opportunities\nconst B2 = 12; // Provide a line break opportunity before and after the character\nconst BA = 13; // Generally provide a line break opportunity after the character\nconst BB = 14; // Generally provide a line break opportunity before the character\nconst HY = 15; // Provide a line break opportunity after the character, except in numeric context\nconst CB = 16; // Provide a line break opportunity contingent on additional information\n// Characters Prohibiting Certain Breaks\nconst CL = 17; // Prohibit line breaks before\nconst CP = 18; // Prohibit line breaks before\nconst EX = 19; // Prohibit line breaks before\nconst IN = 20; // Allow only indirect line breaks between pairs\nconst NS = 21; // Allow only indirect line breaks before\nconst OP = 22; // Prohibit line breaks after\nconst QU = 23; // Act like they are both opening and closing\n// Numeric Context\nconst IS = 24; // Prevent breaks after any and before numeric\nconst NU = 25; // Form numeric expressions for line breaking purposes\nconst PO = 26; // Do not break following a numeric expression\nconst PR = 27; // Do not break in front of a numeric expression\nconst SY = 28; // Prevent a break before; and allow a break after\n// Other Characters\nconst AI = 29; // Act like AL when the resolvedEAW is N; otherwise; act as ID\nconst AL = 30; // Are alphabetic characters or symbols that are used with alphabetic characters\nconst CJ = 31; // Treat as NS or ID for strict or normal breaking.\nconst EB = 32; // Do not break from following Emoji Modifier\nconst EM = 33; // Do not break from preceding Emoji Base\nconst H2 = 34; // Form Korean syllable blocks\nconst H3 = 35; // Form Korean syllable blocks\nconst HL = 36; // Do not break around a following hyphen; otherwise act as Alphabetic\nconst ID = 37; // Break before or after; except in some numeric context\nconst JL = 38; // Form Korean syllable blocks\nconst JV = 39; // Form Korean syllable blocks\nconst JT = 40; // Form Korean syllable blocks\nconst RI = 41; // Keep pairs together. For pairs; break before and after other classes\nconst SA = 42; // Provide a line break opportunity contingent on additional, language-specific context analysis\nconst XX = 43; // Have as yet unknown line breaking behavior or unassigned code positions\n\nconst ea_OP = [0x2329, 0xff08];\n\nexport const classes: {[key: string]: number} = {\n BK,\n CR,\n LF,\n CM,\n NL,\n SG,\n WJ,\n ZW,\n GL,\n SP,\n ZWJ,\n B2,\n BA,\n BB,\n HY,\n CB,\n CL,\n CP,\n EX,\n IN,\n NS,\n OP,\n QU,\n IS,\n NU,\n PO,\n PR,\n SY,\n AI,\n AL,\n CJ,\n EB,\n EM,\n H2,\n H3,\n HL,\n ID,\n JL,\n JV,\n JT,\n RI,\n SA,\n XX,\n};\n\nexport const BREAK_MANDATORY = '!';\nexport const BREAK_NOT_ALLOWED = '×';\nexport const BREAK_ALLOWED = '÷';\nexport const UnicodeTrie = createTrieFromBase64(base64, byteLength);\n\nconst ALPHABETICS = [AL, HL];\nconst HARD_LINE_BREAKS = [BK, CR, LF, NL];\nconst SPACE = [SP, ZW];\nconst PREFIX_POSTFIX = [PR, PO];\nconst LINE_BREAKS = HARD_LINE_BREAKS.concat(SPACE);\nconst KOREAN_SYLLABLE_BLOCK = [JL, JV, JT, H2, H3];\nconst HYPHEN = [HY, BA];\n\nexport const codePointsToCharacterClasses = (\n codePoints: number[],\n lineBreak: string = 'strict'\n): [number[], number[], boolean[]] => {\n const types: number[] = [];\n const indices: number[] = [];\n const categories: boolean[] = [];\n codePoints.forEach((codePoint, index) => {\n let classType = UnicodeTrie.get(codePoint);\n if (classType > LETTER_NUMBER_MODIFIER) {\n categories.push(true);\n classType -= LETTER_NUMBER_MODIFIER;\n } else {\n categories.push(false);\n }\n\n if (['normal', 'auto', 'loose'].indexOf(lineBreak) !== -1) {\n // U+2010, – U+2013, 〜 U+301C, ゠ U+30A0\n if ([0x2010, 0x2013, 0x301c, 0x30a0].indexOf(codePoint) !== -1) {\n indices.push(index);\n return types.push(CB);\n }\n }\n\n if (classType === CM || classType === ZWJ) {\n // LB10 Treat any remaining combining mark or ZWJ as AL.\n if (index === 0) {\n indices.push(index);\n return types.push(AL);\n }\n\n // LB9 Do not break a combining character sequence; treat it as if it has the line breaking class of\n // the base character in all of the following rules. Treat ZWJ as if it were CM.\n const prev = types[index - 1];\n if (LINE_BREAKS.indexOf(prev) === -1) {\n indices.push(indices[index - 1]);\n return types.push(prev);\n }\n indices.push(index);\n return types.push(AL);\n }\n\n indices.push(index);\n\n if (classType === CJ) {\n return types.push(lineBreak === 'strict' ? NS : ID);\n }\n\n if (classType === SA) {\n return types.push(AL);\n }\n\n if (classType === AI) {\n return types.push(AL);\n }\n\n // For supplementary characters, a useful default is to treat characters in the range 10000..1FFFD as AL\n // and characters in the ranges 20000..2FFFD and 30000..3FFFD as ID, until the implementation can be revised\n // to take into account the actual line breaking properties for these characters.\n if (classType === XX) {\n if ((codePoint >= 0x20000 && codePoint <= 0x2fffd) || (codePoint >= 0x30000 && codePoint <= 0x3fffd)) {\n return types.push(ID);\n } else {\n return types.push(AL);\n }\n }\n\n types.push(classType);\n });\n\n return [indices, types, categories];\n};\n\nconst isAdjacentWithSpaceIgnored = (\n a: number[] | number,\n b: number,\n currentIndex: number,\n classTypes: number[]\n): boolean => {\n const current = classTypes[currentIndex];\n if (Array.isArray(a) ? a.indexOf(current) !== -1 : a === current) {\n let i = currentIndex;\n while (i <= classTypes.length) {\n i++;\n let next = classTypes[i];\n\n if (next === b) {\n return true;\n }\n\n if (next !== SP) {\n break;\n }\n }\n }\n\n if (current === SP) {\n let i = currentIndex;\n\n while (i > 0) {\n i--;\n const prev = classTypes[i];\n\n if (Array.isArray(a) ? a.indexOf(prev) !== -1 : a === prev) {\n let n = currentIndex;\n while (n <= classTypes.length) {\n n++;\n let next = classTypes[n];\n\n if (next === b) {\n return true;\n }\n\n if (next !== SP) {\n break;\n }\n }\n }\n\n if (prev !== SP) {\n break;\n }\n }\n }\n return false;\n};\n\nconst previousNonSpaceClassType = (currentIndex: number, classTypes: number[]): number => {\n let i = currentIndex;\n while (i >= 0) {\n let type = classTypes[i];\n if (type === SP) {\n i--;\n } else {\n return type;\n }\n }\n return 0;\n};\n\nexport type BREAK_OPPORTUNITIES = typeof BREAK_NOT_ALLOWED | typeof BREAK_ALLOWED | typeof BREAK_MANDATORY;\n\nconst _lineBreakAtIndex = (\n codePoints: number[],\n classTypes: number[],\n indicies: number[],\n index: number,\n forbiddenBreaks?: boolean[]\n): BREAK_OPPORTUNITIES => {\n if (indicies[index] === 0) {\n return BREAK_NOT_ALLOWED;\n }\n\n let currentIndex = index - 1;\n if (Array.isArray(forbiddenBreaks) && forbiddenBreaks[currentIndex] === true) {\n return BREAK_NOT_ALLOWED;\n }\n\n let beforeIndex = currentIndex - 1;\n let afterIndex = currentIndex + 1;\n let current = classTypes[currentIndex];\n\n // LB4 Always break after hard line breaks.\n // LB5 Treat CR followed by LF, as well as CR, LF, and NL as hard line breaks.\n let before = beforeIndex >= 0 ? classTypes[beforeIndex] : 0;\n let next = classTypes[afterIndex];\n\n if (current === CR && next === LF) {\n return BREAK_NOT_ALLOWED;\n }\n\n if (HARD_LINE_BREAKS.indexOf(current) !== -1) {\n return BREAK_MANDATORY;\n }\n\n // LB6 Do not break before hard line breaks.\n if (HARD_LINE_BREAKS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB7 Do not break before spaces or zero width space.\n if (SPACE.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB8 Break before any character following a zero-width space, even if one or more spaces intervene.\n if (previousNonSpaceClassType(currentIndex, classTypes) === ZW) {\n return BREAK_ALLOWED;\n }\n\n // LB8a Do not break after a zero width joiner.\n if (UnicodeTrie.get(codePoints[currentIndex]) === ZWJ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // zwj emojis\n if ((current === EB || current === EM) && UnicodeTrie.get(codePoints[afterIndex]) === ZWJ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB11 Do not break before or after Word joiner and related characters.\n if (current === WJ || next === WJ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB12 Do not break after NBSP and related characters.\n if (current === GL) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB12a Do not break before NBSP and related characters, except after spaces and hyphens.\n if ([SP, BA, HY].indexOf(current) === -1 && next === GL) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB13 Do not break before ‘]’ or ‘!’ or ‘;’ or ‘/’, even after spaces.\n if ([CL, CP, EX, IS, SY].indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB14 Do not break after ‘[’, even after spaces.\n if (previousNonSpaceClassType(currentIndex, classTypes) === OP) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB15 Do not break within ‘”[’, even with intervening spaces.\n if (isAdjacentWithSpaceIgnored(QU, OP, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB16 Do not break between closing punctuation and a nonstarter (lb=NS), even with intervening spaces.\n if (isAdjacentWithSpaceIgnored([CL, CP], NS, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB17 Do not break within ‘——’, even with intervening spaces.\n if (isAdjacentWithSpaceIgnored(B2, B2, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB18 Break after spaces.\n if (current === SP) {\n return BREAK_ALLOWED;\n }\n\n // LB19 Do not break before or after quotation marks, such as ‘ ” ’.\n if (current === QU || next === QU) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB20 Break before and after unresolved CB.\n if (next === CB || current === CB) {\n return BREAK_ALLOWED;\n }\n\n // LB21 Do not break before hyphen-minus, other hyphens, fixed-width spaces, small kana, and other non-starters, or after acute accents.\n if ([BA, HY, NS].indexOf(next) !== -1 || current === BB) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB21a Don't break after Hebrew + Hyphen.\n if (before === HL && HYPHEN.indexOf(current) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB21b Don’t break between Solidus and Hebrew letters.\n if (current === SY && next === HL) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB22 Do not break before ellipsis.\n if (next === IN) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB23 Do not break between digits and letters.\n if ((ALPHABETICS.indexOf(next) !== -1 && current === NU) || (ALPHABETICS.indexOf(current) !== -1 && next === NU)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB23a Do not break between numeric prefixes and ideographs, or between ideographs and numeric postfixes.\n if (\n (current === PR && [ID, EB, EM].indexOf(next) !== -1) ||\n ([ID, EB, EM].indexOf(current) !== -1 && next === PO)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB24 Do not break between numeric prefix/postfix and letters, or between letters and prefix/postfix.\n if (\n (ALPHABETICS.indexOf(current) !== -1 && PREFIX_POSTFIX.indexOf(next) !== -1) ||\n (PREFIX_POSTFIX.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB25 Do not break between the following pairs of classes relevant to numbers:\n if (\n // (PR | PO) × ( OP | HY )? NU\n ([PR, PO].indexOf(current) !== -1 &&\n (next === NU || ([OP, HY].indexOf(next) !== -1 && classTypes[afterIndex + 1] === NU))) ||\n // ( OP | HY ) × NU\n ([OP, HY].indexOf(current) !== -1 && next === NU) ||\n // NU ×\t(NU | SY | IS)\n (current === NU && [NU, SY, IS].indexOf(next) !== -1)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // NU (NU | SY | IS)* × (NU | SY | IS | CL | CP)\n if ([NU, SY, IS, CL, CP].indexOf(next) !== -1) {\n let prevIndex = currentIndex;\n while (prevIndex >= 0) {\n let type = classTypes[prevIndex];\n if (type === NU) {\n return BREAK_NOT_ALLOWED;\n } else if ([SY, IS].indexOf(type) !== -1) {\n prevIndex--;\n } else {\n break;\n }\n }\n }\n\n // NU (NU | SY | IS)* (CL | CP)? × (PO | PR))\n if ([PR, PO].indexOf(next) !== -1) {\n let prevIndex = [CL, CP].indexOf(current) !== -1 ? beforeIndex : currentIndex;\n while (prevIndex >= 0) {\n let type = classTypes[prevIndex];\n if (type === NU) {\n return BREAK_NOT_ALLOWED;\n } else if ([SY, IS].indexOf(type) !== -1) {\n prevIndex--;\n } else {\n break;\n }\n }\n }\n\n // LB26 Do not break a Korean syllable.\n if (\n (JL === current && [JL, JV, H2, H3].indexOf(next) !== -1) ||\n ([JV, H2].indexOf(current) !== -1 && [JV, JT].indexOf(next) !== -1) ||\n ([JT, H3].indexOf(current) !== -1 && next === JT)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB27 Treat a Korean Syllable Block the same as ID.\n if (\n (KOREAN_SYLLABLE_BLOCK.indexOf(current) !== -1 && [IN, PO].indexOf(next) !== -1) ||\n (KOREAN_SYLLABLE_BLOCK.indexOf(next) !== -1 && current === PR)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB28 Do not break between alphabetics (“at”).\n if (ALPHABETICS.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB29 Do not break between numeric punctuation and alphabetics (“e.g.”).\n if (current === IS && ALPHABETICS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB30 Do not break between letters, numbers, or ordinary symbols and opening or closing parentheses.\n if (\n (ALPHABETICS.concat(NU).indexOf(current) !== -1 &&\n next === OP &&\n ea_OP.indexOf(codePoints[afterIndex]) === -1) ||\n (ALPHABETICS.concat(NU).indexOf(next) !== -1 && current === CP)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB30a Break between two regional indicator symbols if and only if there are an even number of regional\n // indicators preceding the position of the break.\n if (current === RI && next === RI) {\n let i = indicies[currentIndex];\n let count = 1;\n while (i > 0) {\n i--;\n if (classTypes[i] === RI) {\n count++;\n } else {\n break;\n }\n }\n if (count % 2 !== 0) {\n return BREAK_NOT_ALLOWED;\n }\n }\n\n // LB30b Do not break between an emoji base and an emoji modifier.\n if (current === EB && next === EM) {\n return BREAK_NOT_ALLOWED;\n }\n\n return BREAK_ALLOWED;\n};\n\nexport const lineBreakAtIndex = (codePoints: number[], index: number): BREAK_OPPORTUNITIES => {\n // LB2 Never break at the start of text.\n if (index === 0) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB3 Always break at the end of text.\n if (index >= codePoints.length) {\n return BREAK_MANDATORY;\n }\n\n const [indices, classTypes] = codePointsToCharacterClasses(codePoints);\n\n return _lineBreakAtIndex(codePoints, classTypes, indices, index);\n};\n\nexport type LINE_BREAK = 'auto' | 'normal' | 'strict';\nexport type WORD_BREAK = 'normal' | 'break-all' | 'break-word' | 'keep-all';\n\ninterface IOptions {\n lineBreak?: LINE_BREAK;\n wordBreak?: WORD_BREAK;\n}\n\nconst cssFormattedClasses = (codePoints: number[], options?: IOptions): [number[], number[], boolean[] | undefined] => {\n if (!options) {\n options = {lineBreak: 'normal', wordBreak: 'normal'};\n }\n let [indicies, classTypes, isLetterNumber] = codePointsToCharacterClasses(codePoints, options.lineBreak);\n\n if (options.wordBreak === 'break-all' || options.wordBreak === 'break-word') {\n classTypes = classTypes.map((type) => ([NU, AL, SA].indexOf(type) !== -1 ? ID : type));\n }\n\n const forbiddenBreakpoints =\n options.wordBreak === 'keep-all'\n ? isLetterNumber.map((letterNumber, i) => {\n return letterNumber && codePoints[i] >= 0x4e00 && codePoints[i] <= 0x9fff;\n })\n : undefined;\n\n return [indicies, classTypes, forbiddenBreakpoints];\n};\n\nexport const inlineBreakOpportunities = (str: string, options?: IOptions): string => {\n const codePoints = toCodePoints(str);\n let output = BREAK_NOT_ALLOWED;\n const [indicies, classTypes, forbiddenBreakpoints] = cssFormattedClasses(codePoints, options);\n\n codePoints.forEach((codePoint, i) => {\n output +=\n fromCodePoint(codePoint) +\n (i >= codePoints.length - 1\n ? BREAK_MANDATORY\n : _lineBreakAtIndex(codePoints, classTypes, indicies, i + 1, forbiddenBreakpoints));\n });\n\n return output;\n};\n\nclass Break {\n private readonly codePoints: number[];\n readonly required: boolean;\n readonly start: number;\n readonly end: number;\n\n constructor(codePoints: number[], lineBreak: string, start: number, end: number) {\n this.codePoints = codePoints;\n this.required = lineBreak === BREAK_MANDATORY;\n this.start = start;\n this.end = end;\n }\n\n slice(): string {\n return fromCodePoint(...this.codePoints.slice(this.start, this.end));\n }\n}\n\nexport type LineBreak =\n | {\n done: true;\n value: null;\n }\n | {\n done: false;\n value: Break;\n };\n\ninterface ILineBreakIterator {\n next: () => LineBreak;\n}\n\nexport const LineBreaker = (str: string, options?: IOptions): ILineBreakIterator => {\n const codePoints = toCodePoints(str);\n const [indicies, classTypes, forbiddenBreakpoints] = cssFormattedClasses(codePoints, options);\n const length = codePoints.length;\n let lastEnd = 0;\n let nextIndex = 0;\n\n return {\n next: () => {\n if (nextIndex >= length) {\n return {done: true, value: null};\n }\n let lineBreak = BREAK_NOT_ALLOWED;\n while (\n nextIndex < length &&\n (lineBreak = _lineBreakAtIndex(codePoints, classTypes, indicies, ++nextIndex, forbiddenBreakpoints)) ===\n BREAK_NOT_ALLOWED\n ) {}\n\n if (lineBreak !== BREAK_NOT_ALLOWED || nextIndex === length) {\n const value = new Break(codePoints, lineBreak, lastEnd, nextIndex);\n lastEnd = nextIndex;\n return {value, done: false};\n }\n\n return {done: true, value: null};\n },\n };\n};\n","// https://www.w3.org/TR/css-syntax-3\n\nimport {fromCodePoint, toCodePoints} from 'css-line-break';\n\nexport const enum TokenType {\n STRING_TOKEN,\n BAD_STRING_TOKEN,\n LEFT_PARENTHESIS_TOKEN,\n RIGHT_PARENTHESIS_TOKEN,\n COMMA_TOKEN,\n HASH_TOKEN,\n DELIM_TOKEN,\n AT_KEYWORD_TOKEN,\n PREFIX_MATCH_TOKEN,\n DASH_MATCH_TOKEN,\n INCLUDE_MATCH_TOKEN,\n LEFT_CURLY_BRACKET_TOKEN,\n RIGHT_CURLY_BRACKET_TOKEN,\n SUFFIX_MATCH_TOKEN,\n SUBSTRING_MATCH_TOKEN,\n DIMENSION_TOKEN,\n PERCENTAGE_TOKEN,\n NUMBER_TOKEN,\n FUNCTION,\n FUNCTION_TOKEN,\n IDENT_TOKEN,\n COLUMN_TOKEN,\n URL_TOKEN,\n BAD_URL_TOKEN,\n CDC_TOKEN,\n CDO_TOKEN,\n COLON_TOKEN,\n SEMICOLON_TOKEN,\n LEFT_SQUARE_BRACKET_TOKEN,\n RIGHT_SQUARE_BRACKET_TOKEN,\n UNICODE_RANGE_TOKEN,\n WHITESPACE_TOKEN,\n EOF_TOKEN\n}\n\ninterface IToken {\n type: TokenType;\n}\n\nexport interface Token extends IToken {\n type:\n | TokenType.BAD_URL_TOKEN\n | TokenType.BAD_STRING_TOKEN\n | TokenType.LEFT_PARENTHESIS_TOKEN\n | TokenType.RIGHT_PARENTHESIS_TOKEN\n | TokenType.COMMA_TOKEN\n | TokenType.SUBSTRING_MATCH_TOKEN\n | TokenType.PREFIX_MATCH_TOKEN\n | TokenType.SUFFIX_MATCH_TOKEN\n | TokenType.COLON_TOKEN\n | TokenType.SEMICOLON_TOKEN\n | TokenType.LEFT_SQUARE_BRACKET_TOKEN\n | TokenType.RIGHT_SQUARE_BRACKET_TOKEN\n | TokenType.LEFT_CURLY_BRACKET_TOKEN\n | TokenType.RIGHT_CURLY_BRACKET_TOKEN\n | TokenType.DASH_MATCH_TOKEN\n | TokenType.INCLUDE_MATCH_TOKEN\n | TokenType.COLUMN_TOKEN\n | TokenType.WHITESPACE_TOKEN\n | TokenType.CDC_TOKEN\n | TokenType.CDO_TOKEN\n | TokenType.EOF_TOKEN;\n}\n\nexport interface StringValueToken extends IToken {\n type:\n | TokenType.STRING_TOKEN\n | TokenType.DELIM_TOKEN\n | TokenType.FUNCTION_TOKEN\n | TokenType.IDENT_TOKEN\n | TokenType.URL_TOKEN\n | TokenType.AT_KEYWORD_TOKEN;\n value: string;\n}\n\nexport interface HashToken extends IToken {\n type: TokenType.HASH_TOKEN;\n flags: number;\n value: string;\n}\n\nexport interface NumberValueToken extends IToken {\n type: TokenType.PERCENTAGE_TOKEN | TokenType.NUMBER_TOKEN;\n flags: number;\n number: number;\n}\n\nexport interface DimensionToken extends IToken {\n type: TokenType.DIMENSION_TOKEN;\n flags: number;\n unit: string;\n number: number;\n}\n\nexport interface UnicodeRangeToken extends IToken {\n type: TokenType.UNICODE_RANGE_TOKEN;\n start: number;\n end: number;\n}\n\nexport type CSSToken = Token | StringValueToken | NumberValueToken | DimensionToken | UnicodeRangeToken | HashToken;\n\nexport const FLAG_UNRESTRICTED = 1 << 0;\nexport const FLAG_ID = 1 << 1;\nexport const FLAG_INTEGER = 1 << 2;\nexport const FLAG_NUMBER = 1 << 3;\n\nconst LINE_FEED = 0x000a;\nconst SOLIDUS = 0x002f;\nconst REVERSE_SOLIDUS = 0x005c;\nconst CHARACTER_TABULATION = 0x0009;\nconst SPACE = 0x0020;\nconst QUOTATION_MARK = 0x0022;\nconst EQUALS_SIGN = 0x003d;\nconst NUMBER_SIGN = 0x0023;\nconst DOLLAR_SIGN = 0x0024;\nconst PERCENTAGE_SIGN = 0x0025;\nconst APOSTROPHE = 0x0027;\nconst LEFT_PARENTHESIS = 0x0028;\nconst RIGHT_PARENTHESIS = 0x0029;\nconst LOW_LINE = 0x005f;\nconst HYPHEN_MINUS = 0x002d;\nconst EXCLAMATION_MARK = 0x0021;\nconst LESS_THAN_SIGN = 0x003c;\nconst GREATER_THAN_SIGN = 0x003e;\nconst COMMERCIAL_AT = 0x0040;\nconst LEFT_SQUARE_BRACKET = 0x005b;\nconst RIGHT_SQUARE_BRACKET = 0x005d;\nconst CIRCUMFLEX_ACCENT = 0x003d;\nconst LEFT_CURLY_BRACKET = 0x007b;\nconst QUESTION_MARK = 0x003f;\nconst RIGHT_CURLY_BRACKET = 0x007d;\nconst VERTICAL_LINE = 0x007c;\nconst TILDE = 0x007e;\nconst CONTROL = 0x0080;\nconst REPLACEMENT_CHARACTER = 0xfffd;\nconst ASTERISK = 0x002a;\nconst PLUS_SIGN = 0x002b;\nconst COMMA = 0x002c;\nconst COLON = 0x003a;\nconst SEMICOLON = 0x003b;\nconst FULL_STOP = 0x002e;\nconst NULL = 0x0000;\nconst BACKSPACE = 0x0008;\nconst LINE_TABULATION = 0x000b;\nconst SHIFT_OUT = 0x000e;\nconst INFORMATION_SEPARATOR_ONE = 0x001f;\nconst DELETE = 0x007f;\nconst EOF = -1;\nconst ZERO = 0x0030;\nconst a = 0x0061;\nconst e = 0x0065;\nconst f = 0x0066;\nconst u = 0x0075;\nconst z = 0x007a;\nconst A = 0x0041;\nconst E = 0x0045;\nconst F = 0x0046;\nconst U = 0x0055;\nconst Z = 0x005a;\n\nconst isDigit = (codePoint: number) => codePoint >= ZERO && codePoint <= 0x0039;\nconst isSurrogateCodePoint = (codePoint: number) => codePoint >= 0xd800 && codePoint <= 0xdfff;\nconst isHex = (codePoint: number) =>\n isDigit(codePoint) || (codePoint >= A && codePoint <= F) || (codePoint >= a && codePoint <= f);\nconst isLowerCaseLetter = (codePoint: number) => codePoint >= a && codePoint <= z;\nconst isUpperCaseLetter = (codePoint: number) => codePoint >= A && codePoint <= Z;\nconst isLetter = (codePoint: number) => isLowerCaseLetter(codePoint) || isUpperCaseLetter(codePoint);\nconst isNonASCIICodePoint = (codePoint: number) => codePoint >= CONTROL;\nconst isWhiteSpace = (codePoint: number): boolean =>\n codePoint === LINE_FEED || codePoint === CHARACTER_TABULATION || codePoint === SPACE;\nconst isNameStartCodePoint = (codePoint: number): boolean =>\n isLetter(codePoint) || isNonASCIICodePoint(codePoint) || codePoint === LOW_LINE;\nconst isNameCodePoint = (codePoint: number): boolean =>\n isNameStartCodePoint(codePoint) || isDigit(codePoint) || codePoint === HYPHEN_MINUS;\nconst isNonPrintableCodePoint = (codePoint: number): boolean => {\n return (\n (codePoint >= NULL && codePoint <= BACKSPACE) ||\n codePoint === LINE_TABULATION ||\n (codePoint >= SHIFT_OUT && codePoint <= INFORMATION_SEPARATOR_ONE) ||\n codePoint === DELETE\n );\n};\nconst isValidEscape = (c1: number, c2: number): boolean => {\n if (c1 !== REVERSE_SOLIDUS) {\n return false;\n }\n\n return c2 !== LINE_FEED;\n};\nconst isIdentifierStart = (c1: number, c2: number, c3: number): boolean => {\n if (c1 === HYPHEN_MINUS) {\n return isNameStartCodePoint(c2) || isValidEscape(c2, c3);\n } else if (isNameStartCodePoint(c1)) {\n return true;\n } else if (c1 === REVERSE_SOLIDUS && isValidEscape(c1, c2)) {\n return true;\n }\n return false;\n};\n\nconst isNumberStart = (c1: number, c2: number, c3: number): boolean => {\n if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) {\n if (isDigit(c2)) {\n return true;\n }\n\n return c2 === FULL_STOP && isDigit(c3);\n }\n\n if (c1 === FULL_STOP) {\n return isDigit(c2);\n }\n\n return isDigit(c1);\n};\n\nconst stringToNumber = (codePoints: number[]): number => {\n let c = 0;\n let sign = 1;\n if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) {\n if (codePoints[c] === HYPHEN_MINUS) {\n sign = -1;\n }\n c++;\n }\n\n const integers = [];\n\n while (isDigit(codePoints[c])) {\n integers.push(codePoints[c++]);\n }\n\n const int = integers.length ? parseInt(fromCodePoint(...integers), 10) : 0;\n\n if (codePoints[c] === FULL_STOP) {\n c++;\n }\n\n const fraction = [];\n while (isDigit(codePoints[c])) {\n fraction.push(codePoints[c++]);\n }\n\n const fracd = fraction.length;\n const frac = fracd ? parseInt(fromCodePoint(...fraction), 10) : 0;\n\n if (codePoints[c] === E || codePoints[c] === e) {\n c++;\n }\n\n let expsign = 1;\n\n if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) {\n if (codePoints[c] === HYPHEN_MINUS) {\n expsign = -1;\n }\n c++;\n }\n\n const exponent = [];\n\n while (isDigit(codePoints[c])) {\n exponent.push(codePoints[c++]);\n }\n\n const exp = exponent.length ? parseInt(fromCodePoint(...exponent), 10) : 0;\n\n return sign * (int + frac * Math.pow(10, -fracd)) * Math.pow(10, expsign * exp);\n};\n\nconst LEFT_PARENTHESIS_TOKEN: Token = {\n type: TokenType.LEFT_PARENTHESIS_TOKEN\n};\nconst RIGHT_PARENTHESIS_TOKEN: Token = {\n type: TokenType.RIGHT_PARENTHESIS_TOKEN\n};\nconst COMMA_TOKEN: Token = {type: TokenType.COMMA_TOKEN};\nconst SUFFIX_MATCH_TOKEN: Token = {type: TokenType.SUFFIX_MATCH_TOKEN};\nconst PREFIX_MATCH_TOKEN: Token = {type: TokenType.PREFIX_MATCH_TOKEN};\nconst COLUMN_TOKEN: Token = {type: TokenType.COLUMN_TOKEN};\nconst DASH_MATCH_TOKEN: Token = {type: TokenType.DASH_MATCH_TOKEN};\nconst INCLUDE_MATCH_TOKEN: Token = {type: TokenType.INCLUDE_MATCH_TOKEN};\nconst LEFT_CURLY_BRACKET_TOKEN: Token = {\n type: TokenType.LEFT_CURLY_BRACKET_TOKEN\n};\nconst RIGHT_CURLY_BRACKET_TOKEN: Token = {\n type: TokenType.RIGHT_CURLY_BRACKET_TOKEN\n};\nconst SUBSTRING_MATCH_TOKEN: Token = {type: TokenType.SUBSTRING_MATCH_TOKEN};\nconst BAD_URL_TOKEN: Token = {type: TokenType.BAD_URL_TOKEN};\nconst BAD_STRING_TOKEN: Token = {type: TokenType.BAD_STRING_TOKEN};\nconst CDO_TOKEN: Token = {type: TokenType.CDO_TOKEN};\nconst CDC_TOKEN: Token = {type: TokenType.CDC_TOKEN};\nconst COLON_TOKEN: Token = {type: TokenType.COLON_TOKEN};\nconst SEMICOLON_TOKEN: Token = {type: TokenType.SEMICOLON_TOKEN};\nconst LEFT_SQUARE_BRACKET_TOKEN: Token = {\n type: TokenType.LEFT_SQUARE_BRACKET_TOKEN\n};\nconst RIGHT_SQUARE_BRACKET_TOKEN: Token = {\n type: TokenType.RIGHT_SQUARE_BRACKET_TOKEN\n};\nconst WHITESPACE_TOKEN: Token = {type: TokenType.WHITESPACE_TOKEN};\nexport const EOF_TOKEN: Token = {type: TokenType.EOF_TOKEN};\n\nexport class Tokenizer {\n private _value: number[];\n\n constructor() {\n this._value = [];\n }\n\n write(chunk: string): void {\n this._value = this._value.concat(toCodePoints(chunk));\n }\n\n read(): CSSToken[] {\n const tokens = [];\n let token = this.consumeToken();\n while (token !== EOF_TOKEN) {\n tokens.push(token);\n token = this.consumeToken();\n }\n return tokens;\n }\n\n private consumeToken(): CSSToken {\n const codePoint = this.consumeCodePoint();\n\n switch (codePoint) {\n case QUOTATION_MARK:\n return this.consumeStringToken(QUOTATION_MARK);\n case NUMBER_SIGN:\n const c1 = this.peekCodePoint(0);\n const c2 = this.peekCodePoint(1);\n const c3 = this.peekCodePoint(2);\n if (isNameCodePoint(c1) || isValidEscape(c2, c3)) {\n const flags = isIdentifierStart(c1, c2, c3) ? FLAG_ID : FLAG_UNRESTRICTED;\n const value = this.consumeName();\n\n return {type: TokenType.HASH_TOKEN, value, flags};\n }\n break;\n case DOLLAR_SIGN:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return SUFFIX_MATCH_TOKEN;\n }\n break;\n case APOSTROPHE:\n return this.consumeStringToken(APOSTROPHE);\n case LEFT_PARENTHESIS:\n return LEFT_PARENTHESIS_TOKEN;\n case RIGHT_PARENTHESIS:\n return RIGHT_PARENTHESIS_TOKEN;\n case ASTERISK:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return SUBSTRING_MATCH_TOKEN;\n }\n break;\n case PLUS_SIGN:\n if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n break;\n case COMMA:\n return COMMA_TOKEN;\n case HYPHEN_MINUS:\n const e1 = codePoint;\n const e2 = this.peekCodePoint(0);\n const e3 = this.peekCodePoint(1);\n\n if (isNumberStart(e1, e2, e3)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n\n if (isIdentifierStart(e1, e2, e3)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n\n if (e2 === HYPHEN_MINUS && e3 === GREATER_THAN_SIGN) {\n this.consumeCodePoint();\n this.consumeCodePoint();\n return CDC_TOKEN;\n }\n break;\n\n case FULL_STOP:\n if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n break;\n case SOLIDUS:\n if (this.peekCodePoint(0) === ASTERISK) {\n this.consumeCodePoint();\n while (true) {\n let c = this.consumeCodePoint();\n if (c === ASTERISK) {\n c = this.consumeCodePoint();\n if (c === SOLIDUS) {\n return this.consumeToken();\n }\n }\n if (c === EOF) {\n return this.consumeToken();\n }\n }\n }\n break;\n case COLON:\n return COLON_TOKEN;\n case SEMICOLON:\n return SEMICOLON_TOKEN;\n case LESS_THAN_SIGN:\n if (\n this.peekCodePoint(0) === EXCLAMATION_MARK &&\n this.peekCodePoint(1) === HYPHEN_MINUS &&\n this.peekCodePoint(2) === HYPHEN_MINUS\n ) {\n this.consumeCodePoint();\n this.consumeCodePoint();\n return CDO_TOKEN;\n }\n break;\n case COMMERCIAL_AT:\n const a1 = this.peekCodePoint(0);\n const a2 = this.peekCodePoint(1);\n const a3 = this.peekCodePoint(2);\n if (isIdentifierStart(a1, a2, a3)) {\n const value = this.consumeName();\n return {type: TokenType.AT_KEYWORD_TOKEN, value};\n }\n break;\n case LEFT_SQUARE_BRACKET:\n return LEFT_SQUARE_BRACKET_TOKEN;\n case REVERSE_SOLIDUS:\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n break;\n case RIGHT_SQUARE_BRACKET:\n return RIGHT_SQUARE_BRACKET_TOKEN;\n case CIRCUMFLEX_ACCENT:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return PREFIX_MATCH_TOKEN;\n }\n break;\n case LEFT_CURLY_BRACKET:\n return LEFT_CURLY_BRACKET_TOKEN;\n case RIGHT_CURLY_BRACKET:\n return RIGHT_CURLY_BRACKET_TOKEN;\n case u:\n case U:\n const u1 = this.peekCodePoint(0);\n const u2 = this.peekCodePoint(1);\n if (u1 === PLUS_SIGN && (isHex(u2) || u2 === QUESTION_MARK)) {\n this.consumeCodePoint();\n this.consumeUnicodeRangeToken();\n }\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n case VERTICAL_LINE:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return DASH_MATCH_TOKEN;\n }\n if (this.peekCodePoint(0) === VERTICAL_LINE) {\n this.consumeCodePoint();\n return COLUMN_TOKEN;\n }\n break;\n case TILDE:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return INCLUDE_MATCH_TOKEN;\n }\n break;\n case EOF:\n return EOF_TOKEN;\n }\n\n if (isWhiteSpace(codePoint)) {\n this.consumeWhiteSpace();\n return WHITESPACE_TOKEN;\n }\n\n if (isDigit(codePoint)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n\n if (isNameStartCodePoint(codePoint)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n\n return {type: TokenType.DELIM_TOKEN, value: fromCodePoint(codePoint)};\n }\n\n private consumeCodePoint(): number {\n const value = this._value.shift();\n\n return typeof value === 'undefined' ? -1 : value;\n }\n\n private reconsumeCodePoint(codePoint: number) {\n this._value.unshift(codePoint);\n }\n\n private peekCodePoint(delta: number): number {\n if (delta >= this._value.length) {\n return -1;\n }\n\n return this._value[delta];\n }\n\n private consumeUnicodeRangeToken(): UnicodeRangeToken {\n const digits = [];\n let codePoint = this.consumeCodePoint();\n while (isHex(codePoint) && digits.length < 6) {\n digits.push(codePoint);\n codePoint = this.consumeCodePoint();\n }\n let questionMarks = false;\n while (codePoint === QUESTION_MARK && digits.length < 6) {\n digits.push(codePoint);\n codePoint = this.consumeCodePoint();\n questionMarks = true;\n }\n\n if (questionMarks) {\n const start = parseInt(\n fromCodePoint(...digits.map((digit) => (digit === QUESTION_MARK ? ZERO : digit))),\n 16\n );\n const end = parseInt(fromCodePoint(...digits.map((digit) => (digit === QUESTION_MARK ? F : digit))), 16);\n return {type: TokenType.UNICODE_RANGE_TOKEN, start, end};\n }\n\n const start = parseInt(fromCodePoint(...digits), 16);\n if (this.peekCodePoint(0) === HYPHEN_MINUS && isHex(this.peekCodePoint(1))) {\n this.consumeCodePoint();\n codePoint = this.consumeCodePoint();\n const endDigits = [];\n while (isHex(codePoint) && endDigits.length < 6) {\n endDigits.push(codePoint);\n codePoint = this.consumeCodePoint();\n }\n const end = parseInt(fromCodePoint(...endDigits), 16);\n\n return {type: TokenType.UNICODE_RANGE_TOKEN, start, end};\n } else {\n return {type: TokenType.UNICODE_RANGE_TOKEN, start, end: start};\n }\n }\n\n private consumeIdentLikeToken(): StringValueToken | Token {\n const value = this.consumeName();\n if (value.toLowerCase() === 'url' && this.peekCodePoint(0) === LEFT_PARENTHESIS) {\n this.consumeCodePoint();\n return this.consumeUrlToken();\n } else if (this.peekCodePoint(0) === LEFT_PARENTHESIS) {\n this.consumeCodePoint();\n return {type: TokenType.FUNCTION_TOKEN, value};\n }\n\n return {type: TokenType.IDENT_TOKEN, value};\n }\n\n private consumeUrlToken(): StringValueToken | Token {\n const value = [];\n this.consumeWhiteSpace();\n\n if (this.peekCodePoint(0) === EOF) {\n return {type: TokenType.URL_TOKEN, value: ''};\n }\n\n const next = this.peekCodePoint(0);\n if (next === APOSTROPHE || next === QUOTATION_MARK) {\n const stringToken = this.consumeStringToken(this.consumeCodePoint());\n if (stringToken.type === TokenType.STRING_TOKEN) {\n this.consumeWhiteSpace();\n\n if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) {\n this.consumeCodePoint();\n return {type: TokenType.URL_TOKEN, value: stringToken.value};\n }\n }\n\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n\n while (true) {\n const codePoint = this.consumeCodePoint();\n if (codePoint === EOF || codePoint === RIGHT_PARENTHESIS) {\n return {type: TokenType.URL_TOKEN, value: fromCodePoint(...value)};\n } else if (isWhiteSpace(codePoint)) {\n this.consumeWhiteSpace();\n if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) {\n this.consumeCodePoint();\n return {type: TokenType.URL_TOKEN, value: fromCodePoint(...value)};\n }\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n } else if (\n codePoint === QUOTATION_MARK ||\n codePoint === APOSTROPHE ||\n codePoint === LEFT_PARENTHESIS ||\n isNonPrintableCodePoint(codePoint)\n ) {\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n } else if (codePoint === REVERSE_SOLIDUS) {\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n value.push(this.consumeEscapedCodePoint());\n } else {\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n } else {\n value.push(codePoint);\n }\n }\n }\n\n private consumeWhiteSpace(): void {\n while (isWhiteSpace(this.peekCodePoint(0))) {\n this.consumeCodePoint();\n }\n }\n\n private consumeBadUrlRemnants(): void {\n while (true) {\n const codePoint = this.consumeCodePoint();\n if (codePoint === RIGHT_PARENTHESIS || codePoint === EOF) {\n return;\n }\n\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n this.consumeEscapedCodePoint();\n }\n }\n }\n\n private consumeStringSlice(count: number): string {\n const SLICE_STACK_SIZE = 50000;\n let value = '';\n while (count > 0) {\n const amount = Math.min(SLICE_STACK_SIZE, count);\n value += fromCodePoint(...this._value.splice(0, amount));\n count -= amount;\n }\n this._value.shift();\n\n return value;\n }\n\n private consumeStringToken(endingCodePoint: number): StringValueToken | Token {\n let value = '';\n let i = 0;\n\n do {\n const codePoint = this._value[i];\n if (codePoint === EOF || codePoint === undefined || codePoint === endingCodePoint) {\n value += this.consumeStringSlice(i);\n return {type: TokenType.STRING_TOKEN, value};\n }\n\n if (codePoint === LINE_FEED) {\n this._value.splice(0, i);\n return BAD_STRING_TOKEN;\n }\n\n if (codePoint === REVERSE_SOLIDUS) {\n const next = this._value[i + 1];\n if (next !== EOF && next !== undefined) {\n if (next === LINE_FEED) {\n value += this.consumeStringSlice(i);\n i = -1;\n this._value.shift();\n } else if (isValidEscape(codePoint, next)) {\n value += this.consumeStringSlice(i);\n value += fromCodePoint(this.consumeEscapedCodePoint());\n i = -1;\n }\n }\n }\n\n i++;\n } while (true);\n }\n\n private consumeNumber() {\n const repr = [];\n let type = FLAG_INTEGER;\n let c1 = this.peekCodePoint(0);\n if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) {\n repr.push(this.consumeCodePoint());\n }\n\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n c1 = this.peekCodePoint(0);\n let c2 = this.peekCodePoint(1);\n if (c1 === FULL_STOP && isDigit(c2)) {\n repr.push(this.consumeCodePoint(), this.consumeCodePoint());\n type = FLAG_NUMBER;\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n }\n\n c1 = this.peekCodePoint(0);\n c2 = this.peekCodePoint(1);\n const c3 = this.peekCodePoint(2);\n if ((c1 === E || c1 === e) && (((c2 === PLUS_SIGN || c2 === HYPHEN_MINUS) && isDigit(c3)) || isDigit(c2))) {\n repr.push(this.consumeCodePoint(), this.consumeCodePoint());\n type = FLAG_NUMBER;\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n }\n\n return [stringToNumber(repr), type];\n }\n\n private consumeNumericToken(): NumberValueToken | DimensionToken {\n const [number, flags] = this.consumeNumber();\n const c1 = this.peekCodePoint(0);\n const c2 = this.peekCodePoint(1);\n const c3 = this.peekCodePoint(2);\n\n if (isIdentifierStart(c1, c2, c3)) {\n const unit = this.consumeName();\n return {type: TokenType.DIMENSION_TOKEN, number, flags, unit};\n }\n\n if (c1 === PERCENTAGE_SIGN) {\n this.consumeCodePoint();\n return {type: TokenType.PERCENTAGE_TOKEN, number, flags};\n }\n\n return {type: TokenType.NUMBER_TOKEN, number, flags};\n }\n\n private consumeEscapedCodePoint(): number {\n const codePoint = this.consumeCodePoint();\n\n if (isHex(codePoint)) {\n let hex = fromCodePoint(codePoint);\n while (isHex(this.peekCodePoint(0)) && hex.length < 6) {\n hex += fromCodePoint(this.consumeCodePoint());\n }\n\n if (isWhiteSpace(this.peekCodePoint(0))) {\n this.consumeCodePoint();\n }\n\n const hexCodePoint = parseInt(hex, 16);\n\n if (hexCodePoint === 0 || isSurrogateCodePoint(hexCodePoint) || hexCodePoint > 0x10ffff) {\n return REPLACEMENT_CHARACTER;\n }\n\n return hexCodePoint;\n }\n\n if (codePoint === EOF) {\n return REPLACEMENT_CHARACTER;\n }\n\n return codePoint;\n }\n\n private consumeName(): string {\n let result = '';\n while (true) {\n const codePoint = this.consumeCodePoint();\n if (isNameCodePoint(codePoint)) {\n result += fromCodePoint(codePoint);\n } else if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n result += fromCodePoint(this.consumeEscapedCodePoint());\n } else {\n this.reconsumeCodePoint(codePoint);\n return result;\n }\n }\n }\n}\n","import {\n CSSToken,\n DimensionToken,\n EOF_TOKEN,\n NumberValueToken,\n StringValueToken,\n Tokenizer,\n TokenType\n} from './tokenizer';\n\nexport type CSSBlockType =\n | TokenType.LEFT_PARENTHESIS_TOKEN\n | TokenType.LEFT_SQUARE_BRACKET_TOKEN\n | TokenType.LEFT_CURLY_BRACKET_TOKEN;\n\nexport interface CSSBlock {\n type: CSSBlockType;\n values: CSSValue[];\n}\n\nexport interface CSSFunction {\n type: TokenType.FUNCTION;\n name: string;\n values: CSSValue[];\n}\n\nexport type CSSValue = CSSFunction | CSSToken | CSSBlock;\n\nexport class Parser {\n private _tokens: CSSToken[];\n\n constructor(tokens: CSSToken[]) {\n this._tokens = tokens;\n }\n\n static create(value: string): Parser {\n const tokenizer = new Tokenizer();\n tokenizer.write(value);\n return new Parser(tokenizer.read());\n }\n\n static parseValue(value: string): CSSValue {\n return Parser.create(value).parseComponentValue();\n }\n\n static parseValues(value: string): CSSValue[] {\n return Parser.create(value).parseComponentValues();\n }\n\n parseComponentValue(): CSSValue {\n let token = this.consumeToken();\n while (token.type === TokenType.WHITESPACE_TOKEN) {\n token = this.consumeToken();\n }\n\n if (token.type === TokenType.EOF_TOKEN) {\n throw new SyntaxError(`Error parsing CSS component value, unexpected EOF`);\n }\n\n this.reconsumeToken(token);\n const value = this.consumeComponentValue();\n\n do {\n token = this.consumeToken();\n } while (token.type === TokenType.WHITESPACE_TOKEN);\n\n if (token.type === TokenType.EOF_TOKEN) {\n return value;\n }\n\n throw new SyntaxError(`Error parsing CSS component value, multiple values found when expecting only one`);\n }\n\n parseComponentValues(): CSSValue[] {\n const values = [];\n while (true) {\n const value = this.consumeComponentValue();\n if (value.type === TokenType.EOF_TOKEN) {\n return values;\n }\n values.push(value);\n values.push();\n }\n }\n\n private consumeComponentValue(): CSSValue {\n const token = this.consumeToken();\n\n switch (token.type) {\n case TokenType.LEFT_CURLY_BRACKET_TOKEN:\n case TokenType.LEFT_SQUARE_BRACKET_TOKEN:\n case TokenType.LEFT_PARENTHESIS_TOKEN:\n return this.consumeSimpleBlock(token.type);\n case TokenType.FUNCTION_TOKEN:\n return this.consumeFunction(token);\n }\n\n return token;\n }\n\n private consumeSimpleBlock(type: CSSBlockType): CSSBlock {\n const block: CSSBlock = {type, values: []};\n\n let token = this.consumeToken();\n while (true) {\n if (token.type === TokenType.EOF_TOKEN || isEndingTokenFor(token, type)) {\n return block;\n }\n\n this.reconsumeToken(token);\n block.values.push(this.consumeComponentValue());\n token = this.consumeToken();\n }\n }\n\n private consumeFunction(functionToken: StringValueToken): CSSFunction {\n const cssFunction: CSSFunction = {\n name: functionToken.value,\n values: [],\n type: TokenType.FUNCTION\n };\n\n while (true) {\n const token = this.consumeToken();\n if (token.type === TokenType.EOF_TOKEN || token.type === TokenType.RIGHT_PARENTHESIS_TOKEN) {\n return cssFunction;\n }\n\n this.reconsumeToken(token);\n cssFunction.values.push(this.consumeComponentValue());\n }\n }\n\n private consumeToken(): CSSToken {\n const token = this._tokens.shift();\n return typeof token === 'undefined' ? EOF_TOKEN : token;\n }\n\n private reconsumeToken(token: CSSToken): void {\n this._tokens.unshift(token);\n }\n}\n\nexport const isDimensionToken = (token: CSSValue): token is DimensionToken => token.type === TokenType.DIMENSION_TOKEN;\nexport const isNumberToken = (token: CSSValue): token is NumberValueToken => token.type === TokenType.NUMBER_TOKEN;\nexport const isIdentToken = (token: CSSValue): token is StringValueToken => token.type === TokenType.IDENT_TOKEN;\nexport const isStringToken = (token: CSSValue): token is StringValueToken => token.type === TokenType.STRING_TOKEN;\nexport const isIdentWithValue = (token: CSSValue, value: string): boolean =>\n isIdentToken(token) && token.value === value;\n\nexport const nonWhiteSpace = (token: CSSValue): boolean => token.type !== TokenType.WHITESPACE_TOKEN;\nexport const nonFunctionArgSeparator = (token: CSSValue): boolean =>\n token.type !== TokenType.WHITESPACE_TOKEN && token.type !== TokenType.COMMA_TOKEN;\n\nexport const parseFunctionArgs = (tokens: CSSValue[]): CSSValue[][] => {\n const args: CSSValue[][] = [];\n let arg: CSSValue[] = [];\n tokens.forEach((token) => {\n if (token.type === TokenType.COMMA_TOKEN) {\n if (arg.length === 0) {\n throw new Error(`Error parsing function args, zero tokens for arg`);\n }\n args.push(arg);\n arg = [];\n return;\n }\n\n if (token.type !== TokenType.WHITESPACE_TOKEN) {\n arg.push(token);\n }\n });\n if (arg.length) {\n args.push(arg);\n }\n\n return args;\n};\n\nconst isEndingTokenFor = (token: CSSToken, type: CSSBlockType): boolean => {\n if (type === TokenType.LEFT_CURLY_BRACKET_TOKEN && token.type === TokenType.RIGHT_CURLY_BRACKET_TOKEN) {\n return true;\n }\n if (type === TokenType.LEFT_SQUARE_BRACKET_TOKEN && token.type === TokenType.RIGHT_SQUARE_BRACKET_TOKEN) {\n return true;\n }\n\n return type === TokenType.LEFT_PARENTHESIS_TOKEN && token.type === TokenType.RIGHT_PARENTHESIS_TOKEN;\n};\n","import {CSSValue} from '../syntax/parser';\nimport {DimensionToken, NumberValueToken, TokenType} from '../syntax/tokenizer';\n\nexport type Length = DimensionToken | NumberValueToken;\n\nexport const isLength = (token: CSSValue): token is Length =>\n token.type === TokenType.NUMBER_TOKEN || token.type === TokenType.DIMENSION_TOKEN;\n","import {DimensionToken, FLAG_INTEGER, NumberValueToken, TokenType} from '../syntax/tokenizer';\nimport {CSSValue, isDimensionToken} from '../syntax/parser';\nimport {isLength} from './length';\nexport type LengthPercentage = DimensionToken | NumberValueToken;\nexport type LengthPercentageTuple = [LengthPercentage] | [LengthPercentage, LengthPercentage];\n\nexport const isLengthPercentage = (token: CSSValue): token is LengthPercentage =>\n token.type === TokenType.PERCENTAGE_TOKEN || isLength(token);\nexport const parseLengthPercentageTuple = (tokens: LengthPercentage[]): LengthPercentageTuple =>\n tokens.length > 1 ? [tokens[0], tokens[1]] : [tokens[0]];\nexport const ZERO_LENGTH: NumberValueToken = {\n type: TokenType.NUMBER_TOKEN,\n number: 0,\n flags: FLAG_INTEGER\n};\n\nexport const FIFTY_PERCENT: NumberValueToken = {\n type: TokenType.PERCENTAGE_TOKEN,\n number: 50,\n flags: FLAG_INTEGER\n};\n\nexport const HUNDRED_PERCENT: NumberValueToken = {\n type: TokenType.PERCENTAGE_TOKEN,\n number: 100,\n flags: FLAG_INTEGER\n};\n\nexport const getAbsoluteValueForTuple = (\n tuple: LengthPercentageTuple,\n width: number,\n height: number\n): [number, number] => {\n const [x, y] = tuple;\n return [getAbsoluteValue(x, width), getAbsoluteValue(typeof y !== 'undefined' ? y : x, height)];\n};\nexport const getAbsoluteValue = (token: LengthPercentage, parent: number): number => {\n if (token.type === TokenType.PERCENTAGE_TOKEN) {\n return (token.number / 100) * parent;\n }\n\n if (isDimensionToken(token)) {\n switch (token.unit) {\n case 'rem':\n case 'em':\n return 16 * token.number; // TODO use correct font-size\n case 'px':\n default:\n return token.number;\n }\n }\n\n return token.number;\n};\n","import {CSSValue, isIdentToken} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {ITypeDescriptor} from '../ITypeDescriptor';\nimport {HUNDRED_PERCENT, ZERO_LENGTH} from './length-percentage';\nimport {GradientCorner} from './image';\nimport {Context} from '../../core/context';\n\nconst DEG = 'deg';\nconst GRAD = 'grad';\nconst RAD = 'rad';\nconst TURN = 'turn';\n\nexport const angle: ITypeDescriptor = {\n name: 'angle',\n parse: (_context: Context, value: CSSValue): number => {\n if (value.type === TokenType.DIMENSION_TOKEN) {\n switch (value.unit) {\n case DEG:\n return (Math.PI * value.number) / 180;\n case GRAD:\n return (Math.PI / 200) * value.number;\n case RAD:\n return value.number;\n case TURN:\n return Math.PI * 2 * value.number;\n }\n }\n\n throw new Error(`Unsupported angle type`);\n }\n};\n\nexport const isAngle = (value: CSSValue): boolean => {\n if (value.type === TokenType.DIMENSION_TOKEN) {\n if (value.unit === DEG || value.unit === GRAD || value.unit === RAD || value.unit === TURN) {\n return true;\n }\n }\n return false;\n};\n\nexport const parseNamedSide = (tokens: CSSValue[]): number | GradientCorner => {\n const sideOrCorner = tokens\n .filter(isIdentToken)\n .map((ident) => ident.value)\n .join(' ');\n\n switch (sideOrCorner) {\n case 'to bottom right':\n case 'to right bottom':\n case 'left top':\n case 'top left':\n return [ZERO_LENGTH, ZERO_LENGTH];\n case 'to top':\n case 'bottom':\n return deg(0);\n case 'to bottom left':\n case 'to left bottom':\n case 'right top':\n case 'top right':\n return [ZERO_LENGTH, HUNDRED_PERCENT];\n case 'to right':\n case 'left':\n return deg(90);\n case 'to top left':\n case 'to left top':\n case 'right bottom':\n case 'bottom right':\n return [HUNDRED_PERCENT, HUNDRED_PERCENT];\n case 'to bottom':\n case 'top':\n return deg(180);\n case 'to top right':\n case 'to right top':\n case 'left bottom':\n case 'bottom left':\n return [HUNDRED_PERCENT, ZERO_LENGTH];\n case 'to left':\n case 'right':\n return deg(270);\n }\n\n return 0;\n};\n\nexport const deg = (deg: number): number => (Math.PI * deg) / 180;\n","import {CSSValue, nonFunctionArgSeparator, Parser} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {ITypeDescriptor} from '../ITypeDescriptor';\nimport {angle, deg} from './angle';\nimport {getAbsoluteValue, isLengthPercentage} from './length-percentage';\nimport {Context} from '../../core/context';\nexport type Color = number;\n\nexport const color: ITypeDescriptor = {\n name: 'color',\n parse: (context: Context, value: CSSValue): Color => {\n if (value.type === TokenType.FUNCTION) {\n const colorFunction = SUPPORTED_COLOR_FUNCTIONS[value.name];\n if (typeof colorFunction === 'undefined') {\n throw new Error(`Attempting to parse an unsupported color function \"${value.name}\"`);\n }\n return colorFunction(context, value.values);\n }\n\n if (value.type === TokenType.HASH_TOKEN) {\n if (value.value.length === 3) {\n const r = value.value.substring(0, 1);\n const g = value.value.substring(1, 2);\n const b = value.value.substring(2, 3);\n return pack(parseInt(r + r, 16), parseInt(g + g, 16), parseInt(b + b, 16), 1);\n }\n\n if (value.value.length === 4) {\n const r = value.value.substring(0, 1);\n const g = value.value.substring(1, 2);\n const b = value.value.substring(2, 3);\n const a = value.value.substring(3, 4);\n return pack(parseInt(r + r, 16), parseInt(g + g, 16), parseInt(b + b, 16), parseInt(a + a, 16) / 255);\n }\n\n if (value.value.length === 6) {\n const r = value.value.substring(0, 2);\n const g = value.value.substring(2, 4);\n const b = value.value.substring(4, 6);\n return pack(parseInt(r, 16), parseInt(g, 16), parseInt(b, 16), 1);\n }\n\n if (value.value.length === 8) {\n const r = value.value.substring(0, 2);\n const g = value.value.substring(2, 4);\n const b = value.value.substring(4, 6);\n const a = value.value.substring(6, 8);\n return pack(parseInt(r, 16), parseInt(g, 16), parseInt(b, 16), parseInt(a, 16) / 255);\n }\n }\n\n if (value.type === TokenType.IDENT_TOKEN) {\n const namedColor = COLORS[value.value.toUpperCase()];\n if (typeof namedColor !== 'undefined') {\n return namedColor;\n }\n }\n\n return COLORS.TRANSPARENT;\n }\n};\n\nexport const isTransparent = (color: Color): boolean => (0xff & color) === 0;\n\nexport const asString = (color: Color): string => {\n const alpha = 0xff & color;\n const blue = 0xff & (color >> 8);\n const green = 0xff & (color >> 16);\n const red = 0xff & (color >> 24);\n return alpha < 255 ? `rgba(${red},${green},${blue},${alpha / 255})` : `rgb(${red},${green},${blue})`;\n};\n\nexport const pack = (r: number, g: number, b: number, a: number): Color =>\n ((r << 24) | (g << 16) | (b << 8) | (Math.round(a * 255) << 0)) >>> 0;\n\nconst getTokenColorValue = (token: CSSValue, i: number): number => {\n if (token.type === TokenType.NUMBER_TOKEN) {\n return token.number;\n }\n\n if (token.type === TokenType.PERCENTAGE_TOKEN) {\n const max = i === 3 ? 1 : 255;\n return i === 3 ? (token.number / 100) * max : Math.round((token.number / 100) * max);\n }\n\n return 0;\n};\n\nconst rgb = (_context: Context, args: CSSValue[]): number => {\n const tokens = args.filter(nonFunctionArgSeparator);\n\n if (tokens.length === 3) {\n const [r, g, b] = tokens.map(getTokenColorValue);\n return pack(r, g, b, 1);\n }\n\n if (tokens.length === 4) {\n const [r, g, b, a] = tokens.map(getTokenColorValue);\n return pack(r, g, b, a);\n }\n\n return 0;\n};\n\nfunction hue2rgb(t1: number, t2: number, hue: number): number {\n if (hue < 0) {\n hue += 1;\n }\n if (hue >= 1) {\n hue -= 1;\n }\n\n if (hue < 1 / 6) {\n return (t2 - t1) * hue * 6 + t1;\n } else if (hue < 1 / 2) {\n return t2;\n } else if (hue < 2 / 3) {\n return (t2 - t1) * 6 * (2 / 3 - hue) + t1;\n } else {\n return t1;\n }\n}\n\nconst hsl = (context: Context, args: CSSValue[]): number => {\n const tokens = args.filter(nonFunctionArgSeparator);\n const [hue, saturation, lightness, alpha] = tokens;\n\n const h = (hue.type === TokenType.NUMBER_TOKEN ? deg(hue.number) : angle.parse(context, hue)) / (Math.PI * 2);\n const s = isLengthPercentage(saturation) ? saturation.number / 100 : 0;\n const l = isLengthPercentage(lightness) ? lightness.number / 100 : 0;\n const a = typeof alpha !== 'undefined' && isLengthPercentage(alpha) ? getAbsoluteValue(alpha, 1) : 1;\n\n if (s === 0) {\n return pack(l * 255, l * 255, l * 255, 1);\n }\n\n const t2 = l <= 0.5 ? l * (s + 1) : l + s - l * s;\n\n const t1 = l * 2 - t2;\n const r = hue2rgb(t1, t2, h + 1 / 3);\n const g = hue2rgb(t1, t2, h);\n const b = hue2rgb(t1, t2, h - 1 / 3);\n return pack(r * 255, g * 255, b * 255, a);\n};\n\nconst SUPPORTED_COLOR_FUNCTIONS: {\n [key: string]: (context: Context, args: CSSValue[]) => number;\n} = {\n hsl: hsl,\n hsla: hsl,\n rgb: rgb,\n rgba: rgb\n};\n\nexport const parseColor = (context: Context, value: string): Color =>\n color.parse(context, Parser.create(value).parseComponentValue());\n\nexport const COLORS: {[key: string]: Color} = {\n ALICEBLUE: 0xf0f8ffff,\n ANTIQUEWHITE: 0xfaebd7ff,\n AQUA: 0x00ffffff,\n AQUAMARINE: 0x7fffd4ff,\n AZURE: 0xf0ffffff,\n BEIGE: 0xf5f5dcff,\n BISQUE: 0xffe4c4ff,\n BLACK: 0x000000ff,\n BLANCHEDALMOND: 0xffebcdff,\n BLUE: 0x0000ffff,\n BLUEVIOLET: 0x8a2be2ff,\n BROWN: 0xa52a2aff,\n BURLYWOOD: 0xdeb887ff,\n CADETBLUE: 0x5f9ea0ff,\n CHARTREUSE: 0x7fff00ff,\n CHOCOLATE: 0xd2691eff,\n CORAL: 0xff7f50ff,\n CORNFLOWERBLUE: 0x6495edff,\n CORNSILK: 0xfff8dcff,\n CRIMSON: 0xdc143cff,\n CYAN: 0x00ffffff,\n DARKBLUE: 0x00008bff,\n DARKCYAN: 0x008b8bff,\n DARKGOLDENROD: 0xb886bbff,\n DARKGRAY: 0xa9a9a9ff,\n DARKGREEN: 0x006400ff,\n DARKGREY: 0xa9a9a9ff,\n DARKKHAKI: 0xbdb76bff,\n DARKMAGENTA: 0x8b008bff,\n DARKOLIVEGREEN: 0x556b2fff,\n DARKORANGE: 0xff8c00ff,\n DARKORCHID: 0x9932ccff,\n DARKRED: 0x8b0000ff,\n DARKSALMON: 0xe9967aff,\n DARKSEAGREEN: 0x8fbc8fff,\n DARKSLATEBLUE: 0x483d8bff,\n DARKSLATEGRAY: 0x2f4f4fff,\n DARKSLATEGREY: 0x2f4f4fff,\n DARKTURQUOISE: 0x00ced1ff,\n DARKVIOLET: 0x9400d3ff,\n DEEPPINK: 0xff1493ff,\n DEEPSKYBLUE: 0x00bfffff,\n DIMGRAY: 0x696969ff,\n DIMGREY: 0x696969ff,\n DODGERBLUE: 0x1e90ffff,\n FIREBRICK: 0xb22222ff,\n FLORALWHITE: 0xfffaf0ff,\n FORESTGREEN: 0x228b22ff,\n FUCHSIA: 0xff00ffff,\n GAINSBORO: 0xdcdcdcff,\n GHOSTWHITE: 0xf8f8ffff,\n GOLD: 0xffd700ff,\n GOLDENROD: 0xdaa520ff,\n GRAY: 0x808080ff,\n GREEN: 0x008000ff,\n GREENYELLOW: 0xadff2fff,\n GREY: 0x808080ff,\n HONEYDEW: 0xf0fff0ff,\n HOTPINK: 0xff69b4ff,\n INDIANRED: 0xcd5c5cff,\n INDIGO: 0x4b0082ff,\n IVORY: 0xfffff0ff,\n KHAKI: 0xf0e68cff,\n LAVENDER: 0xe6e6faff,\n LAVENDERBLUSH: 0xfff0f5ff,\n LAWNGREEN: 0x7cfc00ff,\n LEMONCHIFFON: 0xfffacdff,\n LIGHTBLUE: 0xadd8e6ff,\n LIGHTCORAL: 0xf08080ff,\n LIGHTCYAN: 0xe0ffffff,\n LIGHTGOLDENRODYELLOW: 0xfafad2ff,\n LIGHTGRAY: 0xd3d3d3ff,\n LIGHTGREEN: 0x90ee90ff,\n LIGHTGREY: 0xd3d3d3ff,\n LIGHTPINK: 0xffb6c1ff,\n LIGHTSALMON: 0xffa07aff,\n LIGHTSEAGREEN: 0x20b2aaff,\n LIGHTSKYBLUE: 0x87cefaff,\n LIGHTSLATEGRAY: 0x778899ff,\n LIGHTSLATEGREY: 0x778899ff,\n LIGHTSTEELBLUE: 0xb0c4deff,\n LIGHTYELLOW: 0xffffe0ff,\n LIME: 0x00ff00ff,\n LIMEGREEN: 0x32cd32ff,\n LINEN: 0xfaf0e6ff,\n MAGENTA: 0xff00ffff,\n MAROON: 0x800000ff,\n MEDIUMAQUAMARINE: 0x66cdaaff,\n MEDIUMBLUE: 0x0000cdff,\n MEDIUMORCHID: 0xba55d3ff,\n MEDIUMPURPLE: 0x9370dbff,\n MEDIUMSEAGREEN: 0x3cb371ff,\n MEDIUMSLATEBLUE: 0x7b68eeff,\n MEDIUMSPRINGGREEN: 0x00fa9aff,\n MEDIUMTURQUOISE: 0x48d1ccff,\n MEDIUMVIOLETRED: 0xc71585ff,\n MIDNIGHTBLUE: 0x191970ff,\n MINTCREAM: 0xf5fffaff,\n MISTYROSE: 0xffe4e1ff,\n MOCCASIN: 0xffe4b5ff,\n NAVAJOWHITE: 0xffdeadff,\n NAVY: 0x000080ff,\n OLDLACE: 0xfdf5e6ff,\n OLIVE: 0x808000ff,\n OLIVEDRAB: 0x6b8e23ff,\n ORANGE: 0xffa500ff,\n ORANGERED: 0xff4500ff,\n ORCHID: 0xda70d6ff,\n PALEGOLDENROD: 0xeee8aaff,\n PALEGREEN: 0x98fb98ff,\n PALETURQUOISE: 0xafeeeeff,\n PALEVIOLETRED: 0xdb7093ff,\n PAPAYAWHIP: 0xffefd5ff,\n PEACHPUFF: 0xffdab9ff,\n PERU: 0xcd853fff,\n PINK: 0xffc0cbff,\n PLUM: 0xdda0ddff,\n POWDERBLUE: 0xb0e0e6ff,\n PURPLE: 0x800080ff,\n REBECCAPURPLE: 0x663399ff,\n RED: 0xff0000ff,\n ROSYBROWN: 0xbc8f8fff,\n ROYALBLUE: 0x4169e1ff,\n SADDLEBROWN: 0x8b4513ff,\n SALMON: 0xfa8072ff,\n SANDYBROWN: 0xf4a460ff,\n SEAGREEN: 0x2e8b57ff,\n SEASHELL: 0xfff5eeff,\n SIENNA: 0xa0522dff,\n SILVER: 0xc0c0c0ff,\n SKYBLUE: 0x87ceebff,\n SLATEBLUE: 0x6a5acdff,\n SLATEGRAY: 0x708090ff,\n SLATEGREY: 0x708090ff,\n SNOW: 0xfffafaff,\n SPRINGGREEN: 0x00ff7fff,\n STEELBLUE: 0x4682b4ff,\n TAN: 0xd2b48cff,\n TEAL: 0x008080ff,\n THISTLE: 0xd8bfd8ff,\n TOMATO: 0xff6347ff,\n TRANSPARENT: 0x00000000,\n TURQUOISE: 0x40e0d0ff,\n VIOLET: 0xee82eeff,\n WHEAT: 0xf5deb3ff,\n WHITE: 0xffffffff,\n WHITESMOKE: 0xf5f5f5ff,\n YELLOW: 0xffff00ff,\n YELLOWGREEN: 0x9acd32ff\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const enum BACKGROUND_CLIP {\n BORDER_BOX = 0,\n PADDING_BOX = 1,\n CONTENT_BOX = 2\n}\n\nexport type BackgroundClip = BACKGROUND_CLIP[];\n\nexport const backgroundClip: IPropertyListDescriptor = {\n name: 'background-clip',\n initialValue: 'border-box',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundClip => {\n return tokens.map((token) => {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'padding-box':\n return BACKGROUND_CLIP.PADDING_BOX;\n case 'content-box':\n return BACKGROUND_CLIP.CONTENT_BOX;\n }\n }\n return BACKGROUND_CLIP.BORDER_BOX;\n });\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nexport const backgroundColor: IPropertyTypeValueDescriptor = {\n name: `background-color`,\n initialValue: 'transparent',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n};\n","import {CSSValue} from '../../syntax/parser';\nimport {\n CSSRadialExtent,\n CSSRadialGradientImage,\n CSSRadialShape,\n GradientColorStop,\n GradientCorner,\n UnprocessedGradientColorStop\n} from '../image';\nimport {color as colorType} from '../color';\nimport {getAbsoluteValue, HUNDRED_PERCENT, isLengthPercentage, ZERO_LENGTH} from '../length-percentage';\nimport {Context} from '../../../core/context';\n\nexport const parseColorStop = (context: Context, args: CSSValue[]): UnprocessedGradientColorStop => {\n const color = colorType.parse(context, args[0]);\n const stop = args[1];\n return stop && isLengthPercentage(stop) ? {color, stop} : {color, stop: null};\n};\n\nexport const processColorStops = (stops: UnprocessedGradientColorStop[], lineLength: number): GradientColorStop[] => {\n const first = stops[0];\n const last = stops[stops.length - 1];\n if (first.stop === null) {\n first.stop = ZERO_LENGTH;\n }\n\n if (last.stop === null) {\n last.stop = HUNDRED_PERCENT;\n }\n\n const processStops: (number | null)[] = [];\n let previous = 0;\n for (let i = 0; i < stops.length; i++) {\n const stop = stops[i].stop;\n if (stop !== null) {\n const absoluteValue = getAbsoluteValue(stop, lineLength);\n if (absoluteValue > previous) {\n processStops.push(absoluteValue);\n } else {\n processStops.push(previous);\n }\n previous = absoluteValue;\n } else {\n processStops.push(null);\n }\n }\n\n let gapBegin = null;\n for (let i = 0; i < processStops.length; i++) {\n const stop = processStops[i];\n if (stop === null) {\n if (gapBegin === null) {\n gapBegin = i;\n }\n } else if (gapBegin !== null) {\n const gapLength = i - gapBegin;\n const beforeGap = processStops[gapBegin - 1] as number;\n const gapValue = (stop - beforeGap) / (gapLength + 1);\n for (let g = 1; g <= gapLength; g++) {\n processStops[gapBegin + g - 1] = gapValue * g;\n }\n gapBegin = null;\n }\n }\n\n return stops.map(({color}, i) => {\n return {color, stop: Math.max(Math.min(1, (processStops[i] as number) / lineLength), 0)};\n });\n};\n\nconst getAngleFromCorner = (corner: GradientCorner, width: number, height: number): number => {\n const centerX = width / 2;\n const centerY = height / 2;\n const x = getAbsoluteValue(corner[0], width) - centerX;\n const y = centerY - getAbsoluteValue(corner[1], height);\n\n return (Math.atan2(y, x) + Math.PI * 2) % (Math.PI * 2);\n};\n\nexport const calculateGradientDirection = (\n angle: number | GradientCorner,\n width: number,\n height: number\n): [number, number, number, number, number] => {\n const radian = typeof angle === 'number' ? angle : getAngleFromCorner(angle, width, height);\n\n const lineLength = Math.abs(width * Math.sin(radian)) + Math.abs(height * Math.cos(radian));\n\n const halfWidth = width / 2;\n const halfHeight = height / 2;\n const halfLineLength = lineLength / 2;\n\n const yDiff = Math.sin(radian - Math.PI / 2) * halfLineLength;\n const xDiff = Math.cos(radian - Math.PI / 2) * halfLineLength;\n\n return [lineLength, halfWidth - xDiff, halfWidth + xDiff, halfHeight - yDiff, halfHeight + yDiff];\n};\n\nconst distance = (a: number, b: number): number => Math.sqrt(a * a + b * b);\n\nconst findCorner = (width: number, height: number, x: number, y: number, closest: boolean): [number, number] => {\n const corners = [\n [0, 0],\n [0, height],\n [width, 0],\n [width, height]\n ];\n\n return corners.reduce(\n (stat, corner) => {\n const [cx, cy] = corner;\n const d = distance(x - cx, y - cy);\n if (closest ? d < stat.optimumDistance : d > stat.optimumDistance) {\n return {\n optimumCorner: corner,\n optimumDistance: d\n };\n }\n\n return stat;\n },\n {\n optimumDistance: closest ? Infinity : -Infinity,\n optimumCorner: null\n }\n ).optimumCorner as [number, number];\n};\n\nexport const calculateRadius = (\n gradient: CSSRadialGradientImage,\n x: number,\n y: number,\n width: number,\n height: number\n): [number, number] => {\n let rx = 0;\n let ry = 0;\n\n switch (gradient.size) {\n case CSSRadialExtent.CLOSEST_SIDE:\n // The ending shape is sized so that that it exactly meets the side of the gradient box closest to the gradient’s center.\n // If the shape is an ellipse, it exactly meets the closest side in each dimension.\n if (gradient.shape === CSSRadialShape.CIRCLE) {\n rx = ry = Math.min(Math.abs(x), Math.abs(x - width), Math.abs(y), Math.abs(y - height));\n } else if (gradient.shape === CSSRadialShape.ELLIPSE) {\n rx = Math.min(Math.abs(x), Math.abs(x - width));\n ry = Math.min(Math.abs(y), Math.abs(y - height));\n }\n break;\n\n case CSSRadialExtent.CLOSEST_CORNER:\n // The ending shape is sized so that that it passes through the corner of the gradient box closest to the gradient’s center.\n // If the shape is an ellipse, the ending shape is given the same aspect-ratio it would have if closest-side were specified.\n if (gradient.shape === CSSRadialShape.CIRCLE) {\n rx = ry = Math.min(\n distance(x, y),\n distance(x, y - height),\n distance(x - width, y),\n distance(x - width, y - height)\n );\n } else if (gradient.shape === CSSRadialShape.ELLIPSE) {\n // Compute the ratio ry/rx (which is to be the same as for \"closest-side\")\n const c = Math.min(Math.abs(y), Math.abs(y - height)) / Math.min(Math.abs(x), Math.abs(x - width));\n const [cx, cy] = findCorner(width, height, x, y, true);\n rx = distance(cx - x, (cy - y) / c);\n ry = c * rx;\n }\n break;\n\n case CSSRadialExtent.FARTHEST_SIDE:\n // Same as closest-side, except the ending shape is sized based on the farthest side(s)\n if (gradient.shape === CSSRadialShape.CIRCLE) {\n rx = ry = Math.max(Math.abs(x), Math.abs(x - width), Math.abs(y), Math.abs(y - height));\n } else if (gradient.shape === CSSRadialShape.ELLIPSE) {\n rx = Math.max(Math.abs(x), Math.abs(x - width));\n ry = Math.max(Math.abs(y), Math.abs(y - height));\n }\n break;\n\n case CSSRadialExtent.FARTHEST_CORNER:\n // Same as closest-corner, except the ending shape is sized based on the farthest corner.\n // If the shape is an ellipse, the ending shape is given the same aspect ratio it would have if farthest-side were specified.\n if (gradient.shape === CSSRadialShape.CIRCLE) {\n rx = ry = Math.max(\n distance(x, y),\n distance(x, y - height),\n distance(x - width, y),\n distance(x - width, y - height)\n );\n } else if (gradient.shape === CSSRadialShape.ELLIPSE) {\n // Compute the ratio ry/rx (which is to be the same as for \"farthest-side\")\n const c = Math.max(Math.abs(y), Math.abs(y - height)) / Math.max(Math.abs(x), Math.abs(x - width));\n const [cx, cy] = findCorner(width, height, x, y, false);\n rx = distance(cx - x, (cy - y) / c);\n ry = c * rx;\n }\n break;\n }\n\n if (Array.isArray(gradient.size)) {\n rx = getAbsoluteValue(gradient.size[0], width);\n ry = gradient.size.length === 2 ? getAbsoluteValue(gradient.size[1], height) : rx;\n }\n\n return [rx, ry];\n};\n","import {CSSValue, parseFunctionArgs} from '../../syntax/parser';\nimport {CSSImageType, CSSLinearGradientImage, GradientCorner, UnprocessedGradientColorStop} from '../image';\nimport {TokenType} from '../../syntax/tokenizer';\nimport {isAngle, angle as angleType, parseNamedSide, deg} from '../angle';\nimport {parseColorStop} from './gradient';\nimport {Context} from '../../../core/context';\n\nexport const prefixLinearGradient = (context: Context, tokens: CSSValue[]): CSSLinearGradientImage => {\n let angle: number | GradientCorner = deg(180);\n const stops: UnprocessedGradientColorStop[] = [];\n\n parseFunctionArgs(tokens).forEach((arg, i) => {\n if (i === 0) {\n const firstToken = arg[0];\n if (\n firstToken.type === TokenType.IDENT_TOKEN &&\n ['top', 'left', 'right', 'bottom'].indexOf(firstToken.value) !== -1\n ) {\n angle = parseNamedSide(arg);\n return;\n } else if (isAngle(firstToken)) {\n angle = (angleType.parse(context, firstToken) + deg(270)) % deg(360);\n return;\n }\n }\n const colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n });\n\n return {\n angle,\n stops,\n type: CSSImageType.LINEAR_GRADIENT\n };\n};\n","import {CSSValue, isIdentToken, parseFunctionArgs} from '../../syntax/parser';\nimport {\n CSSImageType,\n CSSRadialExtent,\n CSSRadialGradientImage,\n CSSRadialShape,\n CSSRadialSize,\n UnprocessedGradientColorStop\n} from '../image';\nimport {parseColorStop} from './gradient';\nimport {FIFTY_PERCENT, HUNDRED_PERCENT, isLengthPercentage, LengthPercentage, ZERO_LENGTH} from '../length-percentage';\nimport {isLength} from '../length';\nimport {Context} from '../../../core/context';\nexport const CLOSEST_SIDE = 'closest-side';\nexport const FARTHEST_SIDE = 'farthest-side';\nexport const CLOSEST_CORNER = 'closest-corner';\nexport const FARTHEST_CORNER = 'farthest-corner';\nexport const CIRCLE = 'circle';\nexport const ELLIPSE = 'ellipse';\nexport const COVER = 'cover';\nexport const CONTAIN = 'contain';\n\nexport const radialGradient = (context: Context, tokens: CSSValue[]): CSSRadialGradientImage => {\n let shape: CSSRadialShape = CSSRadialShape.CIRCLE;\n let size: CSSRadialSize = CSSRadialExtent.FARTHEST_CORNER;\n const stops: UnprocessedGradientColorStop[] = [];\n const position: LengthPercentage[] = [];\n parseFunctionArgs(tokens).forEach((arg, i) => {\n let isColorStop = true;\n if (i === 0) {\n let isAtPosition = false;\n isColorStop = arg.reduce((acc, token) => {\n if (isAtPosition) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'center':\n position.push(FIFTY_PERCENT);\n return acc;\n case 'top':\n case 'left':\n position.push(ZERO_LENGTH);\n return acc;\n case 'right':\n case 'bottom':\n position.push(HUNDRED_PERCENT);\n return acc;\n }\n } else if (isLengthPercentage(token) || isLength(token)) {\n position.push(token);\n }\n } else if (isIdentToken(token)) {\n switch (token.value) {\n case CIRCLE:\n shape = CSSRadialShape.CIRCLE;\n return false;\n case ELLIPSE:\n shape = CSSRadialShape.ELLIPSE;\n return false;\n case 'at':\n isAtPosition = true;\n return false;\n case CLOSEST_SIDE:\n size = CSSRadialExtent.CLOSEST_SIDE;\n return false;\n case COVER:\n case FARTHEST_SIDE:\n size = CSSRadialExtent.FARTHEST_SIDE;\n return false;\n case CONTAIN:\n case CLOSEST_CORNER:\n size = CSSRadialExtent.CLOSEST_CORNER;\n return false;\n case FARTHEST_CORNER:\n size = CSSRadialExtent.FARTHEST_CORNER;\n return false;\n }\n } else if (isLength(token) || isLengthPercentage(token)) {\n if (!Array.isArray(size)) {\n size = [];\n }\n size.push(token);\n return false;\n }\n return acc;\n }, isColorStop);\n }\n\n if (isColorStop) {\n const colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n }\n });\n\n return {size, shape, stops, position, type: CSSImageType.RADIAL_GRADIENT};\n};\n","import {CSSValue, isIdentToken, parseFunctionArgs} from '../../syntax/parser';\nimport {\n CSSImageType,\n CSSRadialExtent,\n CSSRadialGradientImage,\n CSSRadialShape,\n CSSRadialSize,\n UnprocessedGradientColorStop\n} from '../image';\nimport {parseColorStop} from './gradient';\nimport {FIFTY_PERCENT, HUNDRED_PERCENT, isLengthPercentage, LengthPercentage, ZERO_LENGTH} from '../length-percentage';\nimport {isLength} from '../length';\nimport {\n CIRCLE,\n CLOSEST_CORNER,\n CLOSEST_SIDE,\n CONTAIN,\n COVER,\n ELLIPSE,\n FARTHEST_CORNER,\n FARTHEST_SIDE\n} from './radial-gradient';\nimport {Context} from '../../../core/context';\n\nexport const prefixRadialGradient = (context: Context, tokens: CSSValue[]): CSSRadialGradientImage => {\n let shape: CSSRadialShape = CSSRadialShape.CIRCLE;\n let size: CSSRadialSize = CSSRadialExtent.FARTHEST_CORNER;\n const stops: UnprocessedGradientColorStop[] = [];\n const position: LengthPercentage[] = [];\n\n parseFunctionArgs(tokens).forEach((arg, i) => {\n let isColorStop = true;\n if (i === 0) {\n isColorStop = arg.reduce((acc, token) => {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'center':\n position.push(FIFTY_PERCENT);\n return false;\n case 'top':\n case 'left':\n position.push(ZERO_LENGTH);\n return false;\n case 'right':\n case 'bottom':\n position.push(HUNDRED_PERCENT);\n return false;\n }\n } else if (isLengthPercentage(token) || isLength(token)) {\n position.push(token);\n return false;\n }\n\n return acc;\n }, isColorStop);\n } else if (i === 1) {\n isColorStop = arg.reduce((acc, token) => {\n if (isIdentToken(token)) {\n switch (token.value) {\n case CIRCLE:\n shape = CSSRadialShape.CIRCLE;\n return false;\n case ELLIPSE:\n shape = CSSRadialShape.ELLIPSE;\n return false;\n case CONTAIN:\n case CLOSEST_SIDE:\n size = CSSRadialExtent.CLOSEST_SIDE;\n return false;\n case FARTHEST_SIDE:\n size = CSSRadialExtent.FARTHEST_SIDE;\n return false;\n case CLOSEST_CORNER:\n size = CSSRadialExtent.CLOSEST_CORNER;\n return false;\n case COVER:\n case FARTHEST_CORNER:\n size = CSSRadialExtent.FARTHEST_CORNER;\n return false;\n }\n } else if (isLength(token) || isLengthPercentage(token)) {\n if (!Array.isArray(size)) {\n size = [];\n }\n size.push(token);\n return false;\n }\n\n return acc;\n }, isColorStop);\n }\n\n if (isColorStop) {\n const colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n }\n });\n\n return {size, shape, stops, position, type: CSSImageType.RADIAL_GRADIENT};\n};\n","import {CSSValue} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Color} from './color';\nimport {linearGradient} from './functions/linear-gradient';\nimport {prefixLinearGradient} from './functions/-prefix-linear-gradient';\nimport {ITypeDescriptor} from '../ITypeDescriptor';\nimport {LengthPercentage} from './length-percentage';\nimport {webkitGradient} from './functions/-webkit-gradient';\nimport {radialGradient} from './functions/radial-gradient';\nimport {prefixRadialGradient} from './functions/-prefix-radial-gradient';\nimport {Context} from '../../core/context';\n\nexport const enum CSSImageType {\n URL,\n LINEAR_GRADIENT,\n RADIAL_GRADIENT\n}\n\nexport const isLinearGradient = (background: ICSSImage): background is CSSLinearGradientImage => {\n return background.type === CSSImageType.LINEAR_GRADIENT;\n};\n\nexport const isRadialGradient = (background: ICSSImage): background is CSSRadialGradientImage => {\n return background.type === CSSImageType.RADIAL_GRADIENT;\n};\n\nexport interface UnprocessedGradientColorStop {\n color: Color;\n stop: LengthPercentage | null;\n}\n\nexport interface GradientColorStop {\n color: Color;\n stop: number;\n}\n\nexport interface ICSSImage {\n type: CSSImageType;\n}\n\nexport interface CSSURLImage extends ICSSImage {\n url: string;\n type: CSSImageType.URL;\n}\n\n// interface ICSSGeneratedImage extends ICSSImage {}\n\nexport type GradientCorner = [LengthPercentage, LengthPercentage];\n\ninterface ICSSGradientImage extends ICSSImage {\n stops: UnprocessedGradientColorStop[];\n}\n\nexport interface CSSLinearGradientImage extends ICSSGradientImage {\n angle: number | GradientCorner;\n type: CSSImageType.LINEAR_GRADIENT;\n}\n\nexport const enum CSSRadialShape {\n CIRCLE,\n ELLIPSE\n}\n\nexport const enum CSSRadialExtent {\n CLOSEST_SIDE,\n FARTHEST_SIDE,\n CLOSEST_CORNER,\n FARTHEST_CORNER\n}\n\nexport type CSSRadialSize = CSSRadialExtent | LengthPercentage[];\n\nexport interface CSSRadialGradientImage extends ICSSGradientImage {\n type: CSSImageType.RADIAL_GRADIENT;\n shape: CSSRadialShape;\n size: CSSRadialSize;\n position: LengthPercentage[];\n}\n\nexport const image: ITypeDescriptor = {\n name: 'image',\n parse: (context: Context, value: CSSValue): ICSSImage => {\n if (value.type === TokenType.URL_TOKEN) {\n const image: CSSURLImage = {url: value.value, type: CSSImageType.URL};\n context.cache.addImage(value.value);\n return image;\n }\n\n if (value.type === TokenType.FUNCTION) {\n const imageFunction = SUPPORTED_IMAGE_FUNCTIONS[value.name];\n if (typeof imageFunction === 'undefined') {\n throw new Error(`Attempting to parse an unsupported image function \"${value.name}\"`);\n }\n return imageFunction(context, value.values);\n }\n\n throw new Error(`Unsupported image type ${value.type}`);\n }\n};\n\nexport function isSupportedImage(value: CSSValue): boolean {\n return (\n !(value.type === TokenType.IDENT_TOKEN && value.value === 'none') &&\n (value.type !== TokenType.FUNCTION || !!SUPPORTED_IMAGE_FUNCTIONS[value.name])\n );\n}\n\nconst SUPPORTED_IMAGE_FUNCTIONS: Record ICSSImage> = {\n 'linear-gradient': linearGradient,\n '-moz-linear-gradient': prefixLinearGradient,\n '-ms-linear-gradient': prefixLinearGradient,\n '-o-linear-gradient': prefixLinearGradient,\n '-webkit-linear-gradient': prefixLinearGradient,\n 'radial-gradient': radialGradient,\n '-moz-radial-gradient': prefixRadialGradient,\n '-ms-radial-gradient': prefixRadialGradient,\n '-o-radial-gradient': prefixRadialGradient,\n '-webkit-radial-gradient': prefixRadialGradient,\n '-webkit-gradient': webkitGradient\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken, parseFunctionArgs} from '../syntax/parser';\nimport {isLengthPercentage, LengthPercentage} from '../types/length-percentage';\nimport {StringValueToken} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\nexport enum BACKGROUND_SIZE {\n AUTO = 'auto',\n CONTAIN = 'contain',\n COVER = 'cover'\n}\n\nexport type BackgroundSizeInfo = LengthPercentage | StringValueToken;\nexport type BackgroundSize = BackgroundSizeInfo[][];\n\nexport const backgroundSize: IPropertyListDescriptor = {\n name: 'background-size',\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundSize => {\n return parseFunctionArgs(tokens).map((values) => values.filter(isBackgroundSizeInfoToken));\n }\n};\n\nconst isBackgroundSizeInfoToken = (value: CSSValue): value is BackgroundSizeInfo =>\n isIdentToken(value) || isLengthPercentage(value);\n","import {CSSValue, parseFunctionArgs} from '../../syntax/parser';\nimport {TokenType} from '../../syntax/tokenizer';\nimport {isAngle, angle as angleType, parseNamedSide, deg} from '../angle';\nimport {CSSImageType, CSSLinearGradientImage, GradientCorner, UnprocessedGradientColorStop} from '../image';\nimport {parseColorStop} from './gradient';\nimport {Context} from '../../../core/context';\n\nexport const linearGradient = (context: Context, tokens: CSSValue[]): CSSLinearGradientImage => {\n let angle: number | GradientCorner = deg(180);\n const stops: UnprocessedGradientColorStop[] = [];\n\n parseFunctionArgs(tokens).forEach((arg, i) => {\n if (i === 0) {\n const firstToken = arg[0];\n if (firstToken.type === TokenType.IDENT_TOKEN && firstToken.value === 'to') {\n angle = parseNamedSide(arg);\n return;\n } else if (isAngle(firstToken)) {\n angle = angleType.parse(context, firstToken);\n return;\n }\n }\n const colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n });\n\n return {angle, stops, type: CSSImageType.LINEAR_GRADIENT};\n};\n","import {CSSValue, isIdentToken, isNumberToken, nonFunctionArgSeparator, parseFunctionArgs} from '../../syntax/parser';\nimport {\n CSSImageType,\n CSSLinearGradientImage,\n CSSRadialExtent,\n CSSRadialGradientImage,\n CSSRadialShape,\n CSSRadialSize,\n UnprocessedGradientColorStop\n} from '../image';\nimport {deg} from '../angle';\nimport {TokenType} from '../../syntax/tokenizer';\nimport {color as colorType} from '../color';\nimport {HUNDRED_PERCENT, LengthPercentage, ZERO_LENGTH} from '../length-percentage';\nimport {Context} from '../../../core/context';\n\nexport const webkitGradient = (\n context: Context,\n tokens: CSSValue[]\n): CSSLinearGradientImage | CSSRadialGradientImage => {\n const angle = deg(180);\n const stops: UnprocessedGradientColorStop[] = [];\n let type = CSSImageType.LINEAR_GRADIENT;\n const shape: CSSRadialShape = CSSRadialShape.CIRCLE;\n const size: CSSRadialSize = CSSRadialExtent.FARTHEST_CORNER;\n const position: LengthPercentage[] = [];\n parseFunctionArgs(tokens).forEach((arg, i) => {\n const firstToken = arg[0];\n if (i === 0) {\n if (isIdentToken(firstToken) && firstToken.value === 'linear') {\n type = CSSImageType.LINEAR_GRADIENT;\n return;\n } else if (isIdentToken(firstToken) && firstToken.value === 'radial') {\n type = CSSImageType.RADIAL_GRADIENT;\n return;\n }\n }\n\n if (firstToken.type === TokenType.FUNCTION) {\n if (firstToken.name === 'from') {\n const color = colorType.parse(context, firstToken.values[0]);\n stops.push({stop: ZERO_LENGTH, color});\n } else if (firstToken.name === 'to') {\n const color = colorType.parse(context, firstToken.values[0]);\n stops.push({stop: HUNDRED_PERCENT, color});\n } else if (firstToken.name === 'color-stop') {\n const values = firstToken.values.filter(nonFunctionArgSeparator);\n if (values.length === 2) {\n const color = colorType.parse(context, values[1]);\n const stop = values[0];\n if (isNumberToken(stop)) {\n stops.push({\n stop: {type: TokenType.PERCENTAGE_TOKEN, number: stop.number * 100, flags: stop.flags},\n color\n });\n }\n }\n }\n }\n });\n\n return type === CSSImageType.LINEAR_GRADIENT\n ? {\n angle: (angle + deg(180)) % deg(360),\n stops,\n type\n }\n : {size, shape, stops, position, type};\n};\n","import {TokenType} from '../syntax/tokenizer';\nimport {ICSSImage, image, isSupportedImage} from '../types/image';\nimport {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, nonFunctionArgSeparator} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport const backgroundImage: IPropertyListDescriptor = {\n name: 'background-image',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return [];\n }\n\n const first = tokens[0];\n\n if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') {\n return [];\n }\n\n return tokens\n .filter((value) => nonFunctionArgSeparator(value) && isSupportedImage(value))\n .map((value) => image.parse(context, value));\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport const enum BACKGROUND_ORIGIN {\n BORDER_BOX = 0,\n PADDING_BOX = 1,\n CONTENT_BOX = 2\n}\n\nexport type BackgroundOrigin = BACKGROUND_ORIGIN[];\n\nexport const backgroundOrigin: IPropertyListDescriptor = {\n name: 'background-origin',\n initialValue: 'border-box',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundOrigin => {\n return tokens.map((token) => {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'padding-box':\n return BACKGROUND_ORIGIN.PADDING_BOX;\n case 'content-box':\n return BACKGROUND_ORIGIN.CONTENT_BOX;\n }\n }\n return BACKGROUND_ORIGIN.BORDER_BOX;\n });\n }\n};\n","import {PropertyDescriptorParsingType, IPropertyListDescriptor} from '../IPropertyDescriptor';\nimport {CSSValue, parseFunctionArgs} from '../syntax/parser';\nimport {isLengthPercentage, LengthPercentageTuple, parseLengthPercentageTuple} from '../types/length-percentage';\nimport {Context} from '../../core/context';\nexport type BackgroundPosition = BackgroundImagePosition[];\n\nexport type BackgroundImagePosition = LengthPercentageTuple;\n\nexport const backgroundPosition: IPropertyListDescriptor = {\n name: 'background-position',\n initialValue: '0% 0%',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundPosition => {\n return parseFunctionArgs(tokens)\n .map((values: CSSValue[]) => values.filter(isLengthPercentage))\n .map(parseLengthPercentageTuple);\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken, parseFunctionArgs} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport type BackgroundRepeat = BACKGROUND_REPEAT[];\n\nexport const enum BACKGROUND_REPEAT {\n REPEAT = 0,\n NO_REPEAT = 1,\n REPEAT_X = 2,\n REPEAT_Y = 3\n}\n\nexport const backgroundRepeat: IPropertyListDescriptor = {\n name: 'background-repeat',\n initialValue: 'repeat',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundRepeat => {\n return parseFunctionArgs(tokens)\n .map((values) =>\n values\n .filter(isIdentToken)\n .map((token) => token.value)\n .join(' ')\n )\n .map(parseBackgroundRepeat);\n }\n};\n\nconst parseBackgroundRepeat = (value: string): BACKGROUND_REPEAT => {\n switch (value) {\n case 'no-repeat':\n return BACKGROUND_REPEAT.NO_REPEAT;\n case 'repeat-x':\n case 'repeat no-repeat':\n return BACKGROUND_REPEAT.REPEAT_X;\n case 'repeat-y':\n case 'no-repeat repeat':\n return BACKGROUND_REPEAT.REPEAT_Y;\n case 'repeat':\n default:\n return BACKGROUND_REPEAT.REPEAT;\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport enum LINE_BREAK {\n NORMAL = 'normal',\n STRICT = 'strict'\n}\n\nexport const lineBreak: IPropertyIdentValueDescriptor = {\n name: 'line-break',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, lineBreak: string): LINE_BREAK => {\n switch (lineBreak) {\n case 'strict':\n return LINE_BREAK.STRICT;\n case 'normal':\n default:\n return LINE_BREAK.NORMAL;\n }\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nconst borderColorForSide = (side: string): IPropertyTypeValueDescriptor => ({\n name: `border-${side}-color`,\n initialValue: 'transparent',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n});\n\nexport const borderTopColor: IPropertyTypeValueDescriptor = borderColorForSide('top');\nexport const borderRightColor: IPropertyTypeValueDescriptor = borderColorForSide('right');\nexport const borderBottomColor: IPropertyTypeValueDescriptor = borderColorForSide('bottom');\nexport const borderLeftColor: IPropertyTypeValueDescriptor = borderColorForSide('left');\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {isLengthPercentage, LengthPercentageTuple, parseLengthPercentageTuple} from '../types/length-percentage';\nimport {Context} from '../../core/context';\nexport type BorderRadius = LengthPercentageTuple;\n\nconst borderRadiusForSide = (side: string): IPropertyListDescriptor => ({\n name: `border-radius-${side}`,\n initialValue: '0 0',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BorderRadius =>\n parseLengthPercentageTuple(tokens.filter(isLengthPercentage))\n});\n\nexport const borderTopLeftRadius: IPropertyListDescriptor = borderRadiusForSide('top-left');\nexport const borderTopRightRadius: IPropertyListDescriptor = borderRadiusForSide('top-right');\nexport const borderBottomRightRadius: IPropertyListDescriptor = borderRadiusForSide('bottom-right');\nexport const borderBottomLeftRadius: IPropertyListDescriptor = borderRadiusForSide('bottom-left');\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum BORDER_STYLE {\n NONE = 0,\n SOLID = 1,\n DASHED = 2,\n DOTTED = 3,\n DOUBLE = 4\n}\n\nconst borderStyleForSide = (side: string): IPropertyIdentValueDescriptor => ({\n name: `border-${side}-style`,\n initialValue: 'solid',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, style: string): BORDER_STYLE => {\n switch (style) {\n case 'none':\n return BORDER_STYLE.NONE;\n case 'dashed':\n return BORDER_STYLE.DASHED;\n case 'dotted':\n return BORDER_STYLE.DOTTED;\n case 'double':\n return BORDER_STYLE.DOUBLE;\n }\n return BORDER_STYLE.SOLID;\n }\n});\n\nexport const borderTopStyle: IPropertyIdentValueDescriptor = borderStyleForSide('top');\nexport const borderRightStyle: IPropertyIdentValueDescriptor = borderStyleForSide('right');\nexport const borderBottomStyle: IPropertyIdentValueDescriptor = borderStyleForSide('bottom');\nexport const borderLeftStyle: IPropertyIdentValueDescriptor = borderStyleForSide('left');\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isDimensionToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nconst borderWidthForSide = (side: string): IPropertyValueDescriptor => ({\n name: `border-${side}-width`,\n initialValue: '0',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (_context: Context, token: CSSValue): number => {\n if (isDimensionToken(token)) {\n return token.number;\n }\n return 0;\n }\n});\n\nexport const borderTopWidth: IPropertyValueDescriptor = borderWidthForSide('top');\nexport const borderRightWidth: IPropertyValueDescriptor = borderWidthForSide('right');\nexport const borderBottomWidth: IPropertyValueDescriptor = borderWidthForSide('bottom');\nexport const borderLeftWidth: IPropertyValueDescriptor = borderWidthForSide('left');\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nexport const color: IPropertyTypeValueDescriptor = {\n name: `color`,\n initialValue: 'transparent',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\n\nexport const enum DIRECTION {\n LTR = 0,\n RTL = 1\n}\n\nexport const direction: IPropertyIdentValueDescriptor = {\n name: 'direction',\n initialValue: 'ltr',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, direction: string) => {\n switch (direction) {\n case 'rtl':\n return DIRECTION.RTL;\n case 'ltr':\n default:\n return DIRECTION.LTR;\n }\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const enum DISPLAY {\n NONE = 0,\n BLOCK = 1 << 1,\n INLINE = 1 << 2,\n RUN_IN = 1 << 3,\n FLOW = 1 << 4,\n FLOW_ROOT = 1 << 5,\n TABLE = 1 << 6,\n FLEX = 1 << 7,\n GRID = 1 << 8,\n RUBY = 1 << 9,\n SUBGRID = 1 << 10,\n LIST_ITEM = 1 << 11,\n TABLE_ROW_GROUP = 1 << 12,\n TABLE_HEADER_GROUP = 1 << 13,\n TABLE_FOOTER_GROUP = 1 << 14,\n TABLE_ROW = 1 << 15,\n TABLE_CELL = 1 << 16,\n TABLE_COLUMN_GROUP = 1 << 17,\n TABLE_COLUMN = 1 << 18,\n TABLE_CAPTION = 1 << 19,\n RUBY_BASE = 1 << 20,\n RUBY_TEXT = 1 << 21,\n RUBY_BASE_CONTAINER = 1 << 22,\n RUBY_TEXT_CONTAINER = 1 << 23,\n CONTENTS = 1 << 24,\n INLINE_BLOCK = 1 << 25,\n INLINE_LIST_ITEM = 1 << 26,\n INLINE_TABLE = 1 << 27,\n INLINE_FLEX = 1 << 28,\n INLINE_GRID = 1 << 29\n}\n\nexport type Display = number;\n\nexport const display: IPropertyListDescriptor = {\n name: 'display',\n initialValue: 'inline-block',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): Display => {\n return tokens.filter(isIdentToken).reduce((bit, token) => {\n return bit | parseDisplayValue(token.value);\n }, DISPLAY.NONE);\n }\n};\n\nconst parseDisplayValue = (display: string): Display => {\n switch (display) {\n case 'block':\n case '-webkit-box':\n return DISPLAY.BLOCK;\n case 'inline':\n return DISPLAY.INLINE;\n case 'run-in':\n return DISPLAY.RUN_IN;\n case 'flow':\n return DISPLAY.FLOW;\n case 'flow-root':\n return DISPLAY.FLOW_ROOT;\n case 'table':\n return DISPLAY.TABLE;\n case 'flex':\n case '-webkit-flex':\n return DISPLAY.FLEX;\n case 'grid':\n case '-ms-grid':\n return DISPLAY.GRID;\n case 'ruby':\n return DISPLAY.RUBY;\n case 'subgrid':\n return DISPLAY.SUBGRID;\n case 'list-item':\n return DISPLAY.LIST_ITEM;\n case 'table-row-group':\n return DISPLAY.TABLE_ROW_GROUP;\n case 'table-header-group':\n return DISPLAY.TABLE_HEADER_GROUP;\n case 'table-footer-group':\n return DISPLAY.TABLE_FOOTER_GROUP;\n case 'table-row':\n return DISPLAY.TABLE_ROW;\n case 'table-cell':\n return DISPLAY.TABLE_CELL;\n case 'table-column-group':\n return DISPLAY.TABLE_COLUMN_GROUP;\n case 'table-column':\n return DISPLAY.TABLE_COLUMN;\n case 'table-caption':\n return DISPLAY.TABLE_CAPTION;\n case 'ruby-base':\n return DISPLAY.RUBY_BASE;\n case 'ruby-text':\n return DISPLAY.RUBY_TEXT;\n case 'ruby-base-container':\n return DISPLAY.RUBY_BASE_CONTAINER;\n case 'ruby-text-container':\n return DISPLAY.RUBY_TEXT_CONTAINER;\n case 'contents':\n return DISPLAY.CONTENTS;\n case 'inline-block':\n return DISPLAY.INLINE_BLOCK;\n case 'inline-list-item':\n return DISPLAY.INLINE_LIST_ITEM;\n case 'inline-table':\n return DISPLAY.INLINE_TABLE;\n case 'inline-flex':\n return DISPLAY.INLINE_FLEX;\n case 'inline-grid':\n return DISPLAY.INLINE_GRID;\n }\n\n return DISPLAY.NONE;\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum FLOAT {\n NONE = 0,\n LEFT = 1,\n RIGHT = 2,\n INLINE_START = 3,\n INLINE_END = 4\n}\n\nexport const float: IPropertyIdentValueDescriptor = {\n name: 'float',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, float: string) => {\n switch (float) {\n case 'left':\n return FLOAT.LEFT;\n case 'right':\n return FLOAT.RIGHT;\n case 'inline-start':\n return FLOAT.INLINE_START;\n case 'inline-end':\n return FLOAT.INLINE_END;\n }\n return FLOAT.NONE;\n }\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\nexport const letterSpacing: IPropertyValueDescriptor = {\n name: 'letter-spacing',\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.VALUE,\n parse: (_context: Context, token: CSSValue) => {\n if (token.type === TokenType.IDENT_TOKEN && token.value === 'normal') {\n return 0;\n }\n\n if (token.type === TokenType.NUMBER_TOKEN) {\n return token.number;\n }\n\n if (token.type === TokenType.DIMENSION_TOKEN) {\n return token.number;\n }\n\n return 0;\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport enum WORD_BREAK {\n NORMAL = 'normal',\n BREAK_ALL = 'break-all',\n KEEP_ALL = 'keep-all'\n}\n\nexport const wordBreak: IPropertyIdentValueDescriptor = {\n name: 'word-break',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, wordBreak: string): WORD_BREAK => {\n switch (wordBreak) {\n case 'break-all':\n return WORD_BREAK.BREAK_ALL;\n case 'keep-all':\n return WORD_BREAK.KEEP_ALL;\n case 'normal':\n default:\n return WORD_BREAK.NORMAL;\n }\n }\n};\n","import {IPropertyTokenValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {getAbsoluteValue, isLengthPercentage} from '../types/length-percentage';\nexport const lineHeight: IPropertyTokenValueDescriptor = {\n name: 'line-height',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.TOKEN_VALUE\n};\n\nexport const computeLineHeight = (token: CSSValue, fontSize: number): number => {\n if (isIdentToken(token) && token.value === 'normal') {\n return 1.2 * fontSize;\n } else if (token.type === TokenType.NUMBER_TOKEN) {\n return fontSize * token.number;\n } else if (isLengthPercentage(token)) {\n return getAbsoluteValue(token, fontSize);\n }\n\n return fontSize;\n};\n","import {TokenType} from '../syntax/tokenizer';\nimport {ICSSImage, image} from '../types/image';\nimport {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport const listStyleImage: IPropertyValueDescriptor = {\n name: 'list-style-image',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (context: Context, token: CSSValue) => {\n if (token.type === TokenType.IDENT_TOKEN && token.value === 'none') {\n return null;\n }\n\n return image.parse(context, token);\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum LIST_STYLE_POSITION {\n INSIDE = 0,\n OUTSIDE = 1\n}\n\nexport const listStylePosition: IPropertyIdentValueDescriptor = {\n name: 'list-style-position',\n initialValue: 'outside',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, position: string) => {\n switch (position) {\n case 'inside':\n return LIST_STYLE_POSITION.INSIDE;\n case 'outside':\n default:\n return LIST_STYLE_POSITION.OUTSIDE;\n }\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum LIST_STYLE_TYPE {\n NONE = -1,\n DISC = 0,\n CIRCLE = 1,\n SQUARE = 2,\n DECIMAL = 3,\n CJK_DECIMAL = 4,\n DECIMAL_LEADING_ZERO = 5,\n LOWER_ROMAN = 6,\n UPPER_ROMAN = 7,\n LOWER_GREEK = 8,\n LOWER_ALPHA = 9,\n UPPER_ALPHA = 10,\n ARABIC_INDIC = 11,\n ARMENIAN = 12,\n BENGALI = 13,\n CAMBODIAN = 14,\n CJK_EARTHLY_BRANCH = 15,\n CJK_HEAVENLY_STEM = 16,\n CJK_IDEOGRAPHIC = 17,\n DEVANAGARI = 18,\n ETHIOPIC_NUMERIC = 19,\n GEORGIAN = 20,\n GUJARATI = 21,\n GURMUKHI = 22,\n HEBREW = 22,\n HIRAGANA = 23,\n HIRAGANA_IROHA = 24,\n JAPANESE_FORMAL = 25,\n JAPANESE_INFORMAL = 26,\n KANNADA = 27,\n KATAKANA = 28,\n KATAKANA_IROHA = 29,\n KHMER = 30,\n KOREAN_HANGUL_FORMAL = 31,\n KOREAN_HANJA_FORMAL = 32,\n KOREAN_HANJA_INFORMAL = 33,\n LAO = 34,\n LOWER_ARMENIAN = 35,\n MALAYALAM = 36,\n MONGOLIAN = 37,\n MYANMAR = 38,\n ORIYA = 39,\n PERSIAN = 40,\n SIMP_CHINESE_FORMAL = 41,\n SIMP_CHINESE_INFORMAL = 42,\n TAMIL = 43,\n TELUGU = 44,\n THAI = 45,\n TIBETAN = 46,\n TRAD_CHINESE_FORMAL = 47,\n TRAD_CHINESE_INFORMAL = 48,\n UPPER_ARMENIAN = 49,\n DISCLOSURE_OPEN = 50,\n DISCLOSURE_CLOSED = 51\n}\n\nexport const listStyleType: IPropertyIdentValueDescriptor = {\n name: 'list-style-type',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, type: string) => {\n switch (type) {\n case 'disc':\n return LIST_STYLE_TYPE.DISC;\n case 'circle':\n return LIST_STYLE_TYPE.CIRCLE;\n case 'square':\n return LIST_STYLE_TYPE.SQUARE;\n case 'decimal':\n return LIST_STYLE_TYPE.DECIMAL;\n case 'cjk-decimal':\n return LIST_STYLE_TYPE.CJK_DECIMAL;\n case 'decimal-leading-zero':\n return LIST_STYLE_TYPE.DECIMAL_LEADING_ZERO;\n case 'lower-roman':\n return LIST_STYLE_TYPE.LOWER_ROMAN;\n case 'upper-roman':\n return LIST_STYLE_TYPE.UPPER_ROMAN;\n case 'lower-greek':\n return LIST_STYLE_TYPE.LOWER_GREEK;\n case 'lower-alpha':\n return LIST_STYLE_TYPE.LOWER_ALPHA;\n case 'upper-alpha':\n return LIST_STYLE_TYPE.UPPER_ALPHA;\n case 'arabic-indic':\n return LIST_STYLE_TYPE.ARABIC_INDIC;\n case 'armenian':\n return LIST_STYLE_TYPE.ARMENIAN;\n case 'bengali':\n return LIST_STYLE_TYPE.BENGALI;\n case 'cambodian':\n return LIST_STYLE_TYPE.CAMBODIAN;\n case 'cjk-earthly-branch':\n return LIST_STYLE_TYPE.CJK_EARTHLY_BRANCH;\n case 'cjk-heavenly-stem':\n return LIST_STYLE_TYPE.CJK_HEAVENLY_STEM;\n case 'cjk-ideographic':\n return LIST_STYLE_TYPE.CJK_IDEOGRAPHIC;\n case 'devanagari':\n return LIST_STYLE_TYPE.DEVANAGARI;\n case 'ethiopic-numeric':\n return LIST_STYLE_TYPE.ETHIOPIC_NUMERIC;\n case 'georgian':\n return LIST_STYLE_TYPE.GEORGIAN;\n case 'gujarati':\n return LIST_STYLE_TYPE.GUJARATI;\n case 'gurmukhi':\n return LIST_STYLE_TYPE.GURMUKHI;\n case 'hebrew':\n return LIST_STYLE_TYPE.HEBREW;\n case 'hiragana':\n return LIST_STYLE_TYPE.HIRAGANA;\n case 'hiragana-iroha':\n return LIST_STYLE_TYPE.HIRAGANA_IROHA;\n case 'japanese-formal':\n return LIST_STYLE_TYPE.JAPANESE_FORMAL;\n case 'japanese-informal':\n return LIST_STYLE_TYPE.JAPANESE_INFORMAL;\n case 'kannada':\n return LIST_STYLE_TYPE.KANNADA;\n case 'katakana':\n return LIST_STYLE_TYPE.KATAKANA;\n case 'katakana-iroha':\n return LIST_STYLE_TYPE.KATAKANA_IROHA;\n case 'khmer':\n return LIST_STYLE_TYPE.KHMER;\n case 'korean-hangul-formal':\n return LIST_STYLE_TYPE.KOREAN_HANGUL_FORMAL;\n case 'korean-hanja-formal':\n return LIST_STYLE_TYPE.KOREAN_HANJA_FORMAL;\n case 'korean-hanja-informal':\n return LIST_STYLE_TYPE.KOREAN_HANJA_INFORMAL;\n case 'lao':\n return LIST_STYLE_TYPE.LAO;\n case 'lower-armenian':\n return LIST_STYLE_TYPE.LOWER_ARMENIAN;\n case 'malayalam':\n return LIST_STYLE_TYPE.MALAYALAM;\n case 'mongolian':\n return LIST_STYLE_TYPE.MONGOLIAN;\n case 'myanmar':\n return LIST_STYLE_TYPE.MYANMAR;\n case 'oriya':\n return LIST_STYLE_TYPE.ORIYA;\n case 'persian':\n return LIST_STYLE_TYPE.PERSIAN;\n case 'simp-chinese-formal':\n return LIST_STYLE_TYPE.SIMP_CHINESE_FORMAL;\n case 'simp-chinese-informal':\n return LIST_STYLE_TYPE.SIMP_CHINESE_INFORMAL;\n case 'tamil':\n return LIST_STYLE_TYPE.TAMIL;\n case 'telugu':\n return LIST_STYLE_TYPE.TELUGU;\n case 'thai':\n return LIST_STYLE_TYPE.THAI;\n case 'tibetan':\n return LIST_STYLE_TYPE.TIBETAN;\n case 'trad-chinese-formal':\n return LIST_STYLE_TYPE.TRAD_CHINESE_FORMAL;\n case 'trad-chinese-informal':\n return LIST_STYLE_TYPE.TRAD_CHINESE_INFORMAL;\n case 'upper-armenian':\n return LIST_STYLE_TYPE.UPPER_ARMENIAN;\n case 'disclosure-open':\n return LIST_STYLE_TYPE.DISCLOSURE_OPEN;\n case 'disclosure-closed':\n return LIST_STYLE_TYPE.DISCLOSURE_CLOSED;\n case 'none':\n default:\n return LIST_STYLE_TYPE.NONE;\n }\n }\n};\n","import {IPropertyTokenValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nconst marginForSide = (side: string): IPropertyTokenValueDescriptor => ({\n name: `margin-${side}`,\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.TOKEN_VALUE\n});\n\nexport const marginTop: IPropertyTokenValueDescriptor = marginForSide('top');\nexport const marginRight: IPropertyTokenValueDescriptor = marginForSide('right');\nexport const marginBottom: IPropertyTokenValueDescriptor = marginForSide('bottom');\nexport const marginLeft: IPropertyTokenValueDescriptor = marginForSide('left');\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const enum OVERFLOW {\n VISIBLE = 0,\n HIDDEN = 1,\n SCROLL = 2,\n CLIP = 3,\n AUTO = 4\n}\n\nexport const overflow: IPropertyListDescriptor = {\n name: 'overflow',\n initialValue: 'visible',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): OVERFLOW[] => {\n return tokens.filter(isIdentToken).map((overflow) => {\n switch (overflow.value) {\n case 'hidden':\n return OVERFLOW.HIDDEN;\n case 'scroll':\n return OVERFLOW.SCROLL;\n case 'clip':\n return OVERFLOW.CLIP;\n case 'auto':\n return OVERFLOW.AUTO;\n case 'visible':\n default:\n return OVERFLOW.VISIBLE;\n }\n });\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum OVERFLOW_WRAP {\n NORMAL = 'normal',\n BREAK_WORD = 'break-word'\n}\n\nexport const overflowWrap: IPropertyIdentValueDescriptor = {\n name: 'overflow-wrap',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, overflow: string) => {\n switch (overflow) {\n case 'break-word':\n return OVERFLOW_WRAP.BREAK_WORD;\n case 'normal':\n default:\n return OVERFLOW_WRAP.NORMAL;\n }\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nconst paddingForSide = (side: string): IPropertyTypeValueDescriptor => ({\n name: `padding-${side}`,\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'length-percentage'\n});\n\nexport const paddingTop: IPropertyTypeValueDescriptor = paddingForSide('top');\nexport const paddingRight: IPropertyTypeValueDescriptor = paddingForSide('right');\nexport const paddingBottom: IPropertyTypeValueDescriptor = paddingForSide('bottom');\nexport const paddingLeft: IPropertyTypeValueDescriptor = paddingForSide('left');\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum TEXT_ALIGN {\n LEFT = 0,\n CENTER = 1,\n RIGHT = 2\n}\n\nexport const textAlign: IPropertyIdentValueDescriptor = {\n name: 'text-align',\n initialValue: 'left',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, textAlign: string) => {\n switch (textAlign) {\n case 'right':\n return TEXT_ALIGN.RIGHT;\n case 'center':\n case 'justify':\n return TEXT_ALIGN.CENTER;\n case 'left':\n default:\n return TEXT_ALIGN.LEFT;\n }\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum POSITION {\n STATIC = 0,\n RELATIVE = 1,\n ABSOLUTE = 2,\n FIXED = 3,\n STICKY = 4\n}\n\nexport const position: IPropertyIdentValueDescriptor = {\n name: 'position',\n initialValue: 'static',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, position: string) => {\n switch (position) {\n case 'relative':\n return POSITION.RELATIVE;\n case 'absolute':\n return POSITION.ABSOLUTE;\n case 'fixed':\n return POSITION.FIXED;\n case 'sticky':\n return POSITION.STICKY;\n }\n\n return POSITION.STATIC;\n }\n};\n","import {PropertyDescriptorParsingType, IPropertyListDescriptor} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentWithValue, parseFunctionArgs} from '../syntax/parser';\nimport {ZERO_LENGTH} from '../types/length-percentage';\nimport {color, Color, COLORS} from '../types/color';\nimport {isLength, Length} from '../types/length';\nimport {Context} from '../../core/context';\n\nexport type TextShadow = TextShadowItem[];\ninterface TextShadowItem {\n color: Color;\n offsetX: Length;\n offsetY: Length;\n blur: Length;\n}\n\nexport const textShadow: IPropertyListDescriptor = {\n name: 'text-shadow',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (context: Context, tokens: CSSValue[]): TextShadow => {\n if (tokens.length === 1 && isIdentWithValue(tokens[0], 'none')) {\n return [];\n }\n\n return parseFunctionArgs(tokens).map((values: CSSValue[]) => {\n const shadow: TextShadowItem = {\n color: COLORS.TRANSPARENT,\n offsetX: ZERO_LENGTH,\n offsetY: ZERO_LENGTH,\n blur: ZERO_LENGTH\n };\n let c = 0;\n for (let i = 0; i < values.length; i++) {\n const token = values[i];\n if (isLength(token)) {\n if (c === 0) {\n shadow.offsetX = token;\n } else if (c === 1) {\n shadow.offsetY = token;\n } else {\n shadow.blur = token;\n }\n c++;\n } else {\n shadow.color = color.parse(context, token);\n }\n }\n return shadow;\n });\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum TEXT_TRANSFORM {\n NONE = 0,\n LOWERCASE = 1,\n UPPERCASE = 2,\n CAPITALIZE = 3\n}\n\nexport const textTransform: IPropertyIdentValueDescriptor = {\n name: 'text-transform',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, textTransform: string) => {\n switch (textTransform) {\n case 'uppercase':\n return TEXT_TRANSFORM.UPPERCASE;\n case 'lowercase':\n return TEXT_TRANSFORM.LOWERCASE;\n case 'capitalize':\n return TEXT_TRANSFORM.CAPITALIZE;\n }\n\n return TEXT_TRANSFORM.NONE;\n }\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {NumberValueToken, TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\nexport type Matrix = [number, number, number, number, number, number];\nexport type Transform = Matrix | null;\n\nexport const transform: IPropertyValueDescriptor = {\n name: 'transform',\n initialValue: 'none',\n prefix: true,\n type: PropertyDescriptorParsingType.VALUE,\n parse: (_context: Context, token: CSSValue) => {\n if (token.type === TokenType.IDENT_TOKEN && token.value === 'none') {\n return null;\n }\n\n if (token.type === TokenType.FUNCTION) {\n const transformFunction = SUPPORTED_TRANSFORM_FUNCTIONS[token.name];\n if (typeof transformFunction === 'undefined') {\n throw new Error(`Attempting to parse an unsupported transform function \"${token.name}\"`);\n }\n return transformFunction(token.values);\n }\n\n return null;\n }\n};\n\nconst matrix = (args: CSSValue[]): Transform => {\n const values = args.filter((arg) => arg.type === TokenType.NUMBER_TOKEN).map((arg: NumberValueToken) => arg.number);\n\n return values.length === 6 ? (values as Matrix) : null;\n};\n\n// doesn't support 3D transforms at the moment\nconst matrix3d = (args: CSSValue[]): Transform => {\n const values = args.filter((arg) => arg.type === TokenType.NUMBER_TOKEN).map((arg: NumberValueToken) => arg.number);\n\n const [a1, b1, {}, {}, a2, b2, {}, {}, {}, {}, {}, {}, a4, b4, {}, {}] = values;\n\n return values.length === 16 ? [a1, b1, a2, b2, a4, b4] : null;\n};\n\nconst SUPPORTED_TRANSFORM_FUNCTIONS: {\n [key: string]: (args: CSSValue[]) => Transform;\n} = {\n matrix: matrix,\n matrix3d: matrix3d\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {isLengthPercentage, LengthPercentage} from '../types/length-percentage';\nimport {FLAG_INTEGER, TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\nexport type TransformOrigin = [LengthPercentage, LengthPercentage];\n\nconst DEFAULT_VALUE: LengthPercentage = {\n type: TokenType.PERCENTAGE_TOKEN,\n number: 50,\n flags: FLAG_INTEGER\n};\nconst DEFAULT: TransformOrigin = [DEFAULT_VALUE, DEFAULT_VALUE];\n\nexport const transformOrigin: IPropertyListDescriptor = {\n name: 'transform-origin',\n initialValue: '50% 50%',\n prefix: true,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n const origins: LengthPercentage[] = tokens.filter(isLengthPercentage);\n\n if (origins.length !== 2) {\n return DEFAULT;\n }\n\n return [origins[0], origins[1]];\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum VISIBILITY {\n VISIBLE = 0,\n HIDDEN = 1,\n COLLAPSE = 2\n}\n\nexport const visibility: IPropertyIdentValueDescriptor = {\n name: 'visible',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, visibility: string) => {\n switch (visibility) {\n case 'hidden':\n return VISIBILITY.HIDDEN;\n case 'collapse':\n return VISIBILITY.COLLAPSE;\n case 'visible':\n default:\n return VISIBILITY.VISIBLE;\n }\n }\n};\n","const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const decode = (base64: string): ArrayBuffer | number[] => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const buffer =\n typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n typeof Uint8Array.prototype.slice !== 'undefined'\n ? new ArrayBuffer(bufferLength)\n : new Array(bufferLength);\n const bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return buffer;\n};\n\nexport const polyUint16Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 2) {\n bytes.push((buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n\nexport const polyUint32Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 4) {\n bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isNumberToken} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\ninterface zIndex {\n order: number;\n auto: boolean;\n}\n\nexport const zIndex: IPropertyValueDescriptor = {\n name: 'z-index',\n initialValue: 'auto',\n prefix: false,\n type: PropertyDescriptorParsingType.VALUE,\n parse: (_context: Context, token: CSSValue): zIndex => {\n if (token.type === TokenType.IDENT_TOKEN) {\n return {auto: true, order: 0};\n }\n\n if (isNumberToken(token)) {\n return {auto: false, order: token.number};\n }\n\n throw new Error(`Invalid z-index number parsed`);\n }\n};\n","import {CSSValue} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {ITypeDescriptor} from '../ITypeDescriptor';\nimport {Context} from '../../core/context';\n\nexport const time: ITypeDescriptor = {\n name: 'time',\n parse: (_context: Context, value: CSSValue): number => {\n if (value.type === TokenType.DIMENSION_TOKEN) {\n switch (value.unit.toLowerCase()) {\n case 's':\n return 1000 * value.number;\n case 'ms':\n return value.number;\n }\n }\n\n throw new Error(`Unsupported time type`);\n }\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isNumberToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const opacity: IPropertyValueDescriptor = {\n name: 'opacity',\n initialValue: '1',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (_context: Context, token: CSSValue): number => {\n if (isNumberToken(token)) {\n return token.number;\n }\n return 1;\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nexport const textDecorationColor: IPropertyTypeValueDescriptor = {\n name: `text-decoration-color`,\n initialValue: 'transparent',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport const enum TEXT_DECORATION_LINE {\n NONE = 0,\n UNDERLINE = 1,\n OVERLINE = 2,\n LINE_THROUGH = 3,\n BLINK = 4\n}\n\nexport type TextDecorationLine = TEXT_DECORATION_LINE[];\n\nexport const textDecorationLine: IPropertyListDescriptor = {\n name: 'text-decoration-line',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): TextDecorationLine => {\n return tokens\n .filter(isIdentToken)\n .map((token) => {\n switch (token.value) {\n case 'underline':\n return TEXT_DECORATION_LINE.UNDERLINE;\n case 'overline':\n return TEXT_DECORATION_LINE.OVERLINE;\n case 'line-through':\n return TEXT_DECORATION_LINE.LINE_THROUGH;\n case 'none':\n return TEXT_DECORATION_LINE.BLINK;\n }\n return TEXT_DECORATION_LINE.NONE;\n })\n .filter((line) => line !== TEXT_DECORATION_LINE.NONE);\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\nexport type FONT_FAMILY = string;\n\nexport type FontFamily = FONT_FAMILY[];\n\nexport const fontFamily: IPropertyListDescriptor = {\n name: `font-family`,\n initialValue: '',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n const accumulator: string[] = [];\n const results: string[] = [];\n tokens.forEach((token) => {\n switch (token.type) {\n case TokenType.IDENT_TOKEN:\n case TokenType.STRING_TOKEN:\n accumulator.push(token.value);\n break;\n case TokenType.NUMBER_TOKEN:\n accumulator.push(token.number.toString());\n break;\n case TokenType.COMMA_TOKEN:\n results.push(accumulator.join(' '));\n accumulator.length = 0;\n break;\n }\n });\n if (accumulator.length) {\n results.push(accumulator.join(' '));\n }\n return results.map((result) => (result.indexOf(' ') === -1 ? result : `'${result}'`));\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nexport const fontSize: IPropertyTypeValueDescriptor = {\n name: `font-size`,\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'length'\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken, isNumberToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const fontWeight: IPropertyValueDescriptor = {\n name: 'font-weight',\n initialValue: 'normal',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (_context: Context, token: CSSValue): number => {\n if (isNumberToken(token)) {\n return token.number;\n }\n\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'bold':\n return 700;\n case 'normal':\n default:\n return 400;\n }\n }\n\n return 400;\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const fontVariant: IPropertyListDescriptor = {\n name: 'font-variant',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (_context: Context, tokens: CSSValue[]): string[] => {\n return tokens.filter(isIdentToken).map((token) => token.value);\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum FONT_STYLE {\n NORMAL = 'normal',\n ITALIC = 'italic',\n OBLIQUE = 'oblique'\n}\n\nexport const fontStyle: IPropertyIdentValueDescriptor = {\n name: 'font-style',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, overflow: string) => {\n switch (overflow) {\n case 'oblique':\n return FONT_STYLE.OBLIQUE;\n case 'italic':\n return FONT_STYLE.ITALIC;\n case 'normal':\n default:\n return FONT_STYLE.NORMAL;\n }\n }\n};\n","export const contains = (bit: number, value: number): boolean => (bit & value) !== 0;\n","import {TokenType} from '../syntax/tokenizer';\nimport {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport type Content = CSSValue[];\n\nexport const content: IPropertyListDescriptor = {\n name: 'content',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (_context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return [];\n }\n\n const first = tokens[0];\n\n if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') {\n return [];\n }\n\n return tokens;\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isNumberToken, nonWhiteSpace} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\nexport interface COUNTER_INCREMENT {\n counter: string;\n increment: number;\n}\n\nexport type CounterIncrement = COUNTER_INCREMENT[] | null;\n\nexport const counterIncrement: IPropertyListDescriptor = {\n name: 'counter-increment',\n initialValue: 'none',\n prefix: true,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return null;\n }\n\n const first = tokens[0];\n\n if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') {\n return null;\n }\n\n const increments = [];\n const filtered = tokens.filter(nonWhiteSpace);\n\n for (let i = 0; i < filtered.length; i++) {\n const counter = filtered[i];\n const next = filtered[i + 1];\n if (counter.type === TokenType.IDENT_TOKEN) {\n const increment = next && isNumberToken(next) ? next.number : 1;\n increments.push({counter: counter.value, increment});\n }\n }\n\n return increments;\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken, isNumberToken, nonWhiteSpace} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport interface COUNTER_RESET {\n counter: string;\n reset: number;\n}\n\nexport type CounterReset = COUNTER_RESET[];\n\nexport const counterReset: IPropertyListDescriptor = {\n name: 'counter-reset',\n initialValue: 'none',\n prefix: true,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return [];\n }\n\n const resets = [];\n const filtered = tokens.filter(nonWhiteSpace);\n\n for (let i = 0; i < filtered.length; i++) {\n const counter = filtered[i];\n const next = filtered[i + 1];\n if (isIdentToken(counter) && counter.value !== 'none') {\n const reset = next && isNumberToken(next) ? next.number : 0;\n resets.push({counter: counter.value, reset});\n }\n }\n\n return resets;\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nimport {CSSValue, isDimensionToken} from '../syntax/parser';\nimport {time} from '../types/time';\n\nexport const duration: IPropertyListDescriptor = {\n name: 'duration',\n initialValue: '0s',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (context: Context, tokens: CSSValue[]) => {\n return tokens.filter(isDimensionToken).map((token) => time.parse(context, token));\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isStringToken} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\nexport interface QUOTE {\n open: string;\n close: string;\n}\n\nexport type Quotes = QUOTE[] | null;\n\nexport const quotes: IPropertyListDescriptor = {\n name: 'quotes',\n initialValue: 'none',\n prefix: true,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return null;\n }\n\n const first = tokens[0];\n\n if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') {\n return null;\n }\n\n const quotes = [];\n const filtered = tokens.filter(isStringToken);\n\n if (filtered.length % 2 !== 0) {\n return null;\n }\n\n for (let i = 0; i < filtered.length; i += 2) {\n const open = filtered[i].value;\n const close = filtered[i + 1].value;\n quotes.push({open, close});\n }\n\n return quotes;\n }\n};\n\nexport const getQuote = (quotes: Quotes, depth: number, open: boolean): string => {\n if (!quotes) {\n return '';\n }\n\n const quote = quotes[Math.min(depth, quotes.length - 1)];\n if (!quote) {\n return '';\n }\n\n return open ? quote.open : quote.close;\n};\n","import {PropertyDescriptorParsingType, IPropertyListDescriptor} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentWithValue, parseFunctionArgs} from '../syntax/parser';\nimport {ZERO_LENGTH} from '../types/length-percentage';\nimport {color, Color} from '../types/color';\nimport {isLength, Length} from '../types/length';\nimport {Context} from '../../core/context';\n\nexport type BoxShadow = BoxShadowItem[];\ninterface BoxShadowItem {\n inset: boolean;\n color: Color;\n offsetX: Length;\n offsetY: Length;\n blur: Length;\n spread: Length;\n}\n\nexport const boxShadow: IPropertyListDescriptor = {\n name: 'box-shadow',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (context: Context, tokens: CSSValue[]): BoxShadow => {\n if (tokens.length === 1 && isIdentWithValue(tokens[0], 'none')) {\n return [];\n }\n\n return parseFunctionArgs(tokens).map((values: CSSValue[]) => {\n const shadow: BoxShadowItem = {\n color: 0x000000ff,\n offsetX: ZERO_LENGTH,\n offsetY: ZERO_LENGTH,\n blur: ZERO_LENGTH,\n spread: ZERO_LENGTH,\n inset: false\n };\n let c = 0;\n for (let i = 0; i < values.length; i++) {\n const token = values[i];\n if (isIdentWithValue(token, 'inset')) {\n shadow.inset = true;\n } else if (isLength(token)) {\n if (c === 0) {\n shadow.offsetX = token;\n } else if (c === 1) {\n shadow.offsetY = token;\n } else if (c === 2) {\n shadow.blur = token;\n } else {\n shadow.spread = token;\n }\n c++;\n } else {\n shadow.color = color.parse(context, token);\n }\n }\n return shadow;\n });\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const enum PAINT_ORDER_LAYER {\n FILL,\n STROKE,\n MARKERS\n}\n\nexport type PaintOrder = PAINT_ORDER_LAYER[];\n\nexport const paintOrder: IPropertyListDescriptor = {\n name: 'paint-order',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): PaintOrder => {\n const DEFAULT_VALUE = [PAINT_ORDER_LAYER.FILL, PAINT_ORDER_LAYER.STROKE, PAINT_ORDER_LAYER.MARKERS];\n const layers: PaintOrder = [];\n\n tokens.filter(isIdentToken).forEach((token) => {\n switch (token.value) {\n case 'stroke':\n layers.push(PAINT_ORDER_LAYER.STROKE);\n break;\n case 'fill':\n layers.push(PAINT_ORDER_LAYER.FILL);\n break;\n case 'markers':\n layers.push(PAINT_ORDER_LAYER.MARKERS);\n break;\n }\n });\n DEFAULT_VALUE.forEach((value) => {\n if (layers.indexOf(value) === -1) {\n layers.push(value);\n }\n });\n\n return layers;\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nexport const webkitTextStrokeColor: IPropertyTypeValueDescriptor = {\n name: `-webkit-text-stroke-color`,\n initialValue: 'currentcolor',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n};\n","import {CSSValue, isDimensionToken} from '../syntax/parser';\nimport {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const webkitTextStrokeWidth: IPropertyValueDescriptor = {\n name: `-webkit-text-stroke-width`,\n initialValue: '0',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (_context: Context, token: CSSValue): number => {\n if (isDimensionToken(token)) {\n return token.number;\n }\n return 0;\n }\n};\n","import {CSSPropertyDescriptor, PropertyDescriptorParsingType} from './IPropertyDescriptor';\nimport {backgroundClip} from './property-descriptors/background-clip';\nimport {backgroundColor} from './property-descriptors/background-color';\nimport {backgroundImage} from './property-descriptors/background-image';\nimport {backgroundOrigin} from './property-descriptors/background-origin';\nimport {backgroundPosition} from './property-descriptors/background-position';\nimport {backgroundRepeat} from './property-descriptors/background-repeat';\nimport {backgroundSize} from './property-descriptors/background-size';\nimport {\n borderBottomColor,\n borderLeftColor,\n borderRightColor,\n borderTopColor\n} from './property-descriptors/border-color';\nimport {\n borderBottomLeftRadius,\n borderBottomRightRadius,\n borderTopLeftRadius,\n borderTopRightRadius\n} from './property-descriptors/border-radius';\nimport {\n borderBottomStyle,\n borderLeftStyle,\n borderRightStyle,\n borderTopStyle\n} from './property-descriptors/border-style';\nimport {\n borderBottomWidth,\n borderLeftWidth,\n borderRightWidth,\n borderTopWidth\n} from './property-descriptors/border-width';\nimport {color} from './property-descriptors/color';\nimport {direction} from './property-descriptors/direction';\nimport {display, DISPLAY} from './property-descriptors/display';\nimport {float, FLOAT} from './property-descriptors/float';\nimport {letterSpacing} from './property-descriptors/letter-spacing';\nimport {lineBreak} from './property-descriptors/line-break';\nimport {lineHeight} from './property-descriptors/line-height';\nimport {listStyleImage} from './property-descriptors/list-style-image';\nimport {listStylePosition} from './property-descriptors/list-style-position';\nimport {listStyleType} from './property-descriptors/list-style-type';\nimport {marginBottom, marginLeft, marginRight, marginTop} from './property-descriptors/margin';\nimport {overflow, OVERFLOW} from './property-descriptors/overflow';\nimport {overflowWrap} from './property-descriptors/overflow-wrap';\nimport {paddingBottom, paddingLeft, paddingRight, paddingTop} from './property-descriptors/padding';\nimport {textAlign} from './property-descriptors/text-align';\nimport {position, POSITION} from './property-descriptors/position';\nimport {textShadow} from './property-descriptors/text-shadow';\nimport {textTransform} from './property-descriptors/text-transform';\nimport {transform} from './property-descriptors/transform';\nimport {transformOrigin} from './property-descriptors/transform-origin';\nimport {visibility, VISIBILITY} from './property-descriptors/visibility';\nimport {wordBreak} from './property-descriptors/word-break';\nimport {zIndex} from './property-descriptors/z-index';\nimport {CSSValue, isIdentToken, Parser} from './syntax/parser';\nimport {Tokenizer} from './syntax/tokenizer';\nimport {Color, color as colorType, isTransparent} from './types/color';\nimport {angle} from './types/angle';\nimport {image} from './types/image';\nimport {time} from './types/time';\nimport {opacity} from './property-descriptors/opacity';\nimport {textDecorationColor} from './property-descriptors/text-decoration-color';\nimport {textDecorationLine} from './property-descriptors/text-decoration-line';\nimport {isLengthPercentage, LengthPercentage, ZERO_LENGTH} from './types/length-percentage';\nimport {fontFamily} from './property-descriptors/font-family';\nimport {fontSize} from './property-descriptors/font-size';\nimport {isLength} from './types/length';\nimport {fontWeight} from './property-descriptors/font-weight';\nimport {fontVariant} from './property-descriptors/font-variant';\nimport {fontStyle} from './property-descriptors/font-style';\nimport {contains} from '../core/bitwise';\nimport {content} from './property-descriptors/content';\nimport {counterIncrement} from './property-descriptors/counter-increment';\nimport {counterReset} from './property-descriptors/counter-reset';\nimport {duration} from './property-descriptors/duration';\nimport {quotes} from './property-descriptors/quotes';\nimport {boxShadow} from './property-descriptors/box-shadow';\nimport {paintOrder} from './property-descriptors/paint-order';\nimport {webkitTextStrokeColor} from './property-descriptors/webkit-text-stroke-color';\nimport {webkitTextStrokeWidth} from './property-descriptors/webkit-text-stroke-width';\nimport {Context} from '../core/context';\n\nexport class CSSParsedDeclaration {\n animationDuration: ReturnType;\n backgroundClip: ReturnType;\n backgroundColor: Color;\n backgroundImage: ReturnType;\n backgroundOrigin: ReturnType;\n backgroundPosition: ReturnType;\n backgroundRepeat: ReturnType;\n backgroundSize: ReturnType;\n borderTopColor: Color;\n borderRightColor: Color;\n borderBottomColor: Color;\n borderLeftColor: Color;\n borderTopLeftRadius: ReturnType;\n borderTopRightRadius: ReturnType;\n borderBottomRightRadius: ReturnType;\n borderBottomLeftRadius: ReturnType;\n borderTopStyle: ReturnType;\n borderRightStyle: ReturnType;\n borderBottomStyle: ReturnType;\n borderLeftStyle: ReturnType;\n borderTopWidth: ReturnType;\n borderRightWidth: ReturnType;\n borderBottomWidth: ReturnType;\n borderLeftWidth: ReturnType;\n boxShadow: ReturnType;\n color: Color;\n direction: ReturnType;\n display: ReturnType;\n float: ReturnType;\n fontFamily: ReturnType;\n fontSize: LengthPercentage;\n fontStyle: ReturnType;\n fontVariant: ReturnType;\n fontWeight: ReturnType;\n letterSpacing: ReturnType;\n lineBreak: ReturnType;\n lineHeight: CSSValue;\n listStyleImage: ReturnType;\n listStylePosition: ReturnType;\n listStyleType: ReturnType;\n marginTop: CSSValue;\n marginRight: CSSValue;\n marginBottom: CSSValue;\n marginLeft: CSSValue;\n opacity: ReturnType;\n overflowX: OVERFLOW;\n overflowY: OVERFLOW;\n overflowWrap: ReturnType;\n paddingTop: LengthPercentage;\n paddingRight: LengthPercentage;\n paddingBottom: LengthPercentage;\n paddingLeft: LengthPercentage;\n paintOrder: ReturnType;\n position: ReturnType;\n textAlign: ReturnType;\n textDecorationColor: Color;\n textDecorationLine: ReturnType;\n textShadow: ReturnType;\n textTransform: ReturnType;\n transform: ReturnType;\n transformOrigin: ReturnType;\n visibility: ReturnType;\n webkitTextStrokeColor: Color;\n webkitTextStrokeWidth: ReturnType;\n wordBreak: ReturnType;\n zIndex: ReturnType;\n\n constructor(context: Context, declaration: CSSStyleDeclaration) {\n this.animationDuration = parse(context, duration, declaration.animationDuration);\n this.backgroundClip = parse(context, backgroundClip, declaration.backgroundClip);\n this.backgroundColor = parse(context, backgroundColor, declaration.backgroundColor);\n this.backgroundImage = parse(context, backgroundImage, declaration.backgroundImage);\n this.backgroundOrigin = parse(context, backgroundOrigin, declaration.backgroundOrigin);\n this.backgroundPosition = parse(context, backgroundPosition, declaration.backgroundPosition);\n this.backgroundRepeat = parse(context, backgroundRepeat, declaration.backgroundRepeat);\n this.backgroundSize = parse(context, backgroundSize, declaration.backgroundSize);\n this.borderTopColor = parse(context, borderTopColor, declaration.borderTopColor);\n this.borderRightColor = parse(context, borderRightColor, declaration.borderRightColor);\n this.borderBottomColor = parse(context, borderBottomColor, declaration.borderBottomColor);\n this.borderLeftColor = parse(context, borderLeftColor, declaration.borderLeftColor);\n this.borderTopLeftRadius = parse(context, borderTopLeftRadius, declaration.borderTopLeftRadius);\n this.borderTopRightRadius = parse(context, borderTopRightRadius, declaration.borderTopRightRadius);\n this.borderBottomRightRadius = parse(context, borderBottomRightRadius, declaration.borderBottomRightRadius);\n this.borderBottomLeftRadius = parse(context, borderBottomLeftRadius, declaration.borderBottomLeftRadius);\n this.borderTopStyle = parse(context, borderTopStyle, declaration.borderTopStyle);\n this.borderRightStyle = parse(context, borderRightStyle, declaration.borderRightStyle);\n this.borderBottomStyle = parse(context, borderBottomStyle, declaration.borderBottomStyle);\n this.borderLeftStyle = parse(context, borderLeftStyle, declaration.borderLeftStyle);\n this.borderTopWidth = parse(context, borderTopWidth, declaration.borderTopWidth);\n this.borderRightWidth = parse(context, borderRightWidth, declaration.borderRightWidth);\n this.borderBottomWidth = parse(context, borderBottomWidth, declaration.borderBottomWidth);\n this.borderLeftWidth = parse(context, borderLeftWidth, declaration.borderLeftWidth);\n this.boxShadow = parse(context, boxShadow, declaration.boxShadow);\n this.color = parse(context, color, declaration.color);\n this.direction = parse(context, direction, declaration.direction);\n this.display = parse(context, display, declaration.display);\n this.float = parse(context, float, declaration.cssFloat);\n this.fontFamily = parse(context, fontFamily, declaration.fontFamily);\n this.fontSize = parse(context, fontSize, declaration.fontSize);\n this.fontStyle = parse(context, fontStyle, declaration.fontStyle);\n this.fontVariant = parse(context, fontVariant, declaration.fontVariant);\n this.fontWeight = parse(context, fontWeight, declaration.fontWeight);\n this.letterSpacing = parse(context, letterSpacing, declaration.letterSpacing);\n this.lineBreak = parse(context, lineBreak, declaration.lineBreak);\n this.lineHeight = parse(context, lineHeight, declaration.lineHeight);\n this.listStyleImage = parse(context, listStyleImage, declaration.listStyleImage);\n this.listStylePosition = parse(context, listStylePosition, declaration.listStylePosition);\n this.listStyleType = parse(context, listStyleType, declaration.listStyleType);\n this.marginTop = parse(context, marginTop, declaration.marginTop);\n this.marginRight = parse(context, marginRight, declaration.marginRight);\n this.marginBottom = parse(context, marginBottom, declaration.marginBottom);\n this.marginLeft = parse(context, marginLeft, declaration.marginLeft);\n this.opacity = parse(context, opacity, declaration.opacity);\n const overflowTuple = parse(context, overflow, declaration.overflow);\n this.overflowX = overflowTuple[0];\n this.overflowY = overflowTuple[overflowTuple.length > 1 ? 1 : 0];\n this.overflowWrap = parse(context, overflowWrap, declaration.overflowWrap);\n this.paddingTop = parse(context, paddingTop, declaration.paddingTop);\n this.paddingRight = parse(context, paddingRight, declaration.paddingRight);\n this.paddingBottom = parse(context, paddingBottom, declaration.paddingBottom);\n this.paddingLeft = parse(context, paddingLeft, declaration.paddingLeft);\n this.paintOrder = parse(context, paintOrder, declaration.paintOrder);\n this.position = parse(context, position, declaration.position);\n this.textAlign = parse(context, textAlign, declaration.textAlign);\n this.textDecorationColor = parse(\n context,\n textDecorationColor,\n declaration.textDecorationColor ?? declaration.color\n );\n this.textDecorationLine = parse(\n context,\n textDecorationLine,\n declaration.textDecorationLine ?? declaration.textDecoration\n );\n this.textShadow = parse(context, textShadow, declaration.textShadow);\n this.textTransform = parse(context, textTransform, declaration.textTransform);\n this.transform = parse(context, transform, declaration.transform);\n this.transformOrigin = parse(context, transformOrigin, declaration.transformOrigin);\n this.visibility = parse(context, visibility, declaration.visibility);\n this.webkitTextStrokeColor = parse(context, webkitTextStrokeColor, declaration.webkitTextStrokeColor);\n this.webkitTextStrokeWidth = parse(context, webkitTextStrokeWidth, declaration.webkitTextStrokeWidth);\n this.wordBreak = parse(context, wordBreak, declaration.wordBreak);\n this.zIndex = parse(context, zIndex, declaration.zIndex);\n }\n\n isVisible(): boolean {\n return this.display > 0 && this.opacity > 0 && this.visibility === VISIBILITY.VISIBLE;\n }\n\n isTransparent(): boolean {\n return isTransparent(this.backgroundColor);\n }\n\n isTransformed(): boolean {\n return this.transform !== null;\n }\n\n isPositioned(): boolean {\n return this.position !== POSITION.STATIC;\n }\n\n isPositionedWithZIndex(): boolean {\n return this.isPositioned() && !this.zIndex.auto;\n }\n\n isFloating(): boolean {\n return this.float !== FLOAT.NONE;\n }\n\n isInlineLevel(): boolean {\n return (\n contains(this.display, DISPLAY.INLINE) ||\n contains(this.display, DISPLAY.INLINE_BLOCK) ||\n contains(this.display, DISPLAY.INLINE_FLEX) ||\n contains(this.display, DISPLAY.INLINE_GRID) ||\n contains(this.display, DISPLAY.INLINE_LIST_ITEM) ||\n contains(this.display, DISPLAY.INLINE_TABLE)\n );\n }\n}\n\nexport class CSSParsedPseudoDeclaration {\n content: ReturnType;\n quotes: ReturnType;\n\n constructor(context: Context, declaration: CSSStyleDeclaration) {\n this.content = parse(context, content, declaration.content);\n this.quotes = parse(context, quotes, declaration.quotes);\n }\n}\n\nexport class CSSParsedCounterDeclaration {\n counterIncrement: ReturnType;\n counterReset: ReturnType;\n\n constructor(context: Context, declaration: CSSStyleDeclaration) {\n this.counterIncrement = parse(context, counterIncrement, declaration.counterIncrement);\n this.counterReset = parse(context, counterReset, declaration.counterReset);\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst parse = (context: Context, descriptor: CSSPropertyDescriptor, style?: string | null) => {\n const tokenizer = new Tokenizer();\n const value = style !== null && typeof style !== 'undefined' ? style.toString() : descriptor.initialValue;\n tokenizer.write(value);\n const parser = new Parser(tokenizer.read());\n switch (descriptor.type) {\n case PropertyDescriptorParsingType.IDENT_VALUE:\n const token = parser.parseComponentValue();\n return descriptor.parse(context, isIdentToken(token) ? token.value : descriptor.initialValue);\n case PropertyDescriptorParsingType.VALUE:\n return descriptor.parse(context, parser.parseComponentValue());\n case PropertyDescriptorParsingType.LIST:\n return descriptor.parse(context, parser.parseComponentValues());\n case PropertyDescriptorParsingType.TOKEN_VALUE:\n return parser.parseComponentValue();\n case PropertyDescriptorParsingType.TYPE_VALUE:\n switch (descriptor.format) {\n case 'angle':\n return angle.parse(context, parser.parseComponentValue());\n case 'color':\n return colorType.parse(context, parser.parseComponentValue());\n case 'image':\n return image.parse(context, parser.parseComponentValue());\n case 'length':\n const length = parser.parseComponentValue();\n return isLength(length) ? length : ZERO_LENGTH;\n case 'length-percentage':\n const value = parser.parseComponentValue();\n return isLengthPercentage(value) ? value : ZERO_LENGTH;\n case 'time':\n return time.parse(context, parser.parseComponentValue());\n }\n break;\n }\n};\n","const elementDebuggerAttribute = 'data-html2canvas-debug';\nexport const enum DebuggerType {\n NONE,\n ALL,\n CLONE,\n PARSE,\n RENDER\n}\n\nconst getElementDebugType = (element: Element): DebuggerType => {\n const attribute = element.getAttribute(elementDebuggerAttribute);\n switch (attribute) {\n case 'all':\n return DebuggerType.ALL;\n case 'clone':\n return DebuggerType.CLONE;\n case 'parse':\n return DebuggerType.PARSE;\n case 'render':\n return DebuggerType.RENDER;\n default:\n return DebuggerType.NONE;\n }\n};\n\nexport const isDebugging = (element: Element, type: Omit): boolean => {\n const elementType = getElementDebugType(element);\n return elementType === DebuggerType.ALL || type === elementType;\n};\n","import {CSSParsedDeclaration} from '../css/index';\nimport {TextContainer} from './text-container';\nimport {Bounds, parseBounds} from '../css/layout/bounds';\nimport {isHTMLElementNode} from './node-parser';\nimport {Context} from '../core/context';\nimport {DebuggerType, isDebugging} from '../core/debugger';\n\nexport const enum FLAGS {\n CREATES_STACKING_CONTEXT = 1 << 1,\n CREATES_REAL_STACKING_CONTEXT = 1 << 2,\n IS_LIST_OWNER = 1 << 3,\n DEBUG_RENDER = 1 << 4\n}\n\nexport class ElementContainer {\n readonly styles: CSSParsedDeclaration;\n readonly textNodes: TextContainer[] = [];\n readonly elements: ElementContainer[] = [];\n bounds: Bounds;\n flags = 0;\n\n constructor(protected readonly context: Context, element: Element) {\n if (isDebugging(element, DebuggerType.PARSE)) {\n debugger;\n }\n\n this.styles = new CSSParsedDeclaration(context, window.getComputedStyle(element, null));\n\n if (isHTMLElementNode(element)) {\n if (this.styles.animationDuration.some((duration) => duration > 0)) {\n element.style.animationDuration = '0s';\n }\n\n if (this.styles.transform !== null) {\n // getBoundingClientRect takes transforms into account\n element.style.transform = 'none';\n }\n }\n\n this.bounds = parseBounds(this.context, element);\n\n if (isDebugging(element, DebuggerType.RENDER)) {\n this.flags |= FLAGS.DEBUG_RENDER;\n }\n }\n}\n","export const base64 =\n 'AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=';\nexport const byteLength = 19616;\n","const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const encode = (arraybuffer: ArrayBuffer): string => {\n let bytes = new Uint8Array(arraybuffer),\n i,\n len = bytes.length,\n base64 = '';\n\n for (i = 0; i < len; i += 3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n\n if (len % 3 === 2) {\n base64 = base64.substring(0, base64.length - 1) + '=';\n } else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + '==';\n }\n\n return base64;\n};\n\nexport const decode = (base64: string): ArrayBuffer => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const arraybuffer = new ArrayBuffer(bufferLength),\n bytes = new Uint8Array(arraybuffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return arraybuffer;\n};\n","import {decode, polyUint16Array, polyUint32Array} from './Util';\n\nexport type int = number;\n\n/** Shift size for getting the index-2 table offset. */\nexport const UTRIE2_SHIFT_2 = 5;\n\n/** Shift size for getting the index-1 table offset. */\nexport const UTRIE2_SHIFT_1 = 6 + 5;\n\n/**\n * Shift size for shifting left the index array values.\n * Increases possible data size with 16-bit index values at the cost\n * of compactability.\n * This requires data blocks to be aligned by UTRIE2_DATA_GRANULARITY.\n */\nexport const UTRIE2_INDEX_SHIFT = 2;\n\n/**\n * Difference between the two shift sizes,\n * for getting an index-1 offset from an index-2 offset. 6=11-5\n */\nexport const UTRIE2_SHIFT_1_2 = UTRIE2_SHIFT_1 - UTRIE2_SHIFT_2;\n\n/**\n * The part of the index-2 table for U+D800..U+DBFF stores values for\n * lead surrogate code _units_ not code _points_.\n * Values for lead surrogate code _points_ are indexed with this portion of the table.\n * Length=32=0x20=0x400>>UTRIE2_SHIFT_2. (There are 1024=0x400 lead surrogates.)\n */\nexport const UTRIE2_LSCP_INDEX_2_OFFSET = 0x10000 >> UTRIE2_SHIFT_2;\n\n/** Number of entries in a data block. 32=0x20 */\nexport const UTRIE2_DATA_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_2;\n/** Mask for getting the lower bits for the in-data-block offset. */\nexport const UTRIE2_DATA_MASK = UTRIE2_DATA_BLOCK_LENGTH - 1;\n\nexport const UTRIE2_LSCP_INDEX_2_LENGTH = 0x400 >> UTRIE2_SHIFT_2;\n/** Count the lengths of both BMP pieces. 2080=0x820 */\nexport const UTRIE2_INDEX_2_BMP_LENGTH = UTRIE2_LSCP_INDEX_2_OFFSET + UTRIE2_LSCP_INDEX_2_LENGTH;\n/**\n * The 2-byte UTF-8 version of the index-2 table follows at offset 2080=0x820.\n * Length 32=0x20 for lead bytes C0..DF, regardless of UTRIE2_SHIFT_2.\n */\nexport const UTRIE2_UTF8_2B_INDEX_2_OFFSET = UTRIE2_INDEX_2_BMP_LENGTH;\nexport const UTRIE2_UTF8_2B_INDEX_2_LENGTH = 0x800 >> 6; /* U+0800 is the first code point after 2-byte UTF-8 */\n/**\n * The index-1 table, only used for supplementary code points, at offset 2112=0x840.\n * Variable length, for code points up to highStart, where the last single-value range starts.\n * Maximum length 512=0x200=0x100000>>UTRIE2_SHIFT_1.\n * (For 0x100000 supplementary code points U+10000..U+10ffff.)\n *\n * The part of the index-2 table for supplementary code points starts\n * after this index-1 table.\n *\n * Both the index-1 table and the following part of the index-2 table\n * are omitted completely if there is only BMP data.\n */\nexport const UTRIE2_INDEX_1_OFFSET = UTRIE2_UTF8_2B_INDEX_2_OFFSET + UTRIE2_UTF8_2B_INDEX_2_LENGTH;\n\n/**\n * Number of index-1 entries for the BMP. 32=0x20\n * This part of the index-1 table is omitted from the serialized form.\n */\nexport const UTRIE2_OMITTED_BMP_INDEX_1_LENGTH = 0x10000 >> UTRIE2_SHIFT_1;\n\n/** Number of entries in an index-2 block. 64=0x40 */\nexport const UTRIE2_INDEX_2_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_1_2;\n/** Mask for getting the lower bits for the in-index-2-block offset. */\nexport const UTRIE2_INDEX_2_MASK = UTRIE2_INDEX_2_BLOCK_LENGTH - 1;\n\nconst slice16 = (view: number[] | Uint16Array, start: number, end?: number) => {\n if (view.slice) {\n return view.slice(start, end);\n }\n\n return new Uint16Array(Array.prototype.slice.call(view, start, end));\n};\n\nconst slice32 = (view: number[] | Uint32Array, start: number, end?: number) => {\n if (view.slice) {\n return view.slice(start, end);\n }\n\n return new Uint32Array(Array.prototype.slice.call(view, start, end));\n};\n\nexport const createTrieFromBase64 = (base64: string, _byteLength: number): Trie => {\n const buffer = decode(base64);\n const view32 = Array.isArray(buffer) ? polyUint32Array(buffer) : new Uint32Array(buffer);\n const view16 = Array.isArray(buffer) ? polyUint16Array(buffer) : new Uint16Array(buffer);\n const headerLength = 24;\n\n const index = slice16(view16, headerLength / 2, view32[4] / 2);\n const data =\n view32[5] === 2\n ? slice16(view16, (headerLength + view32[4]) / 2)\n : slice32(view32, Math.ceil((headerLength + view32[4]) / 4));\n\n return new Trie(view32[0], view32[1], view32[2], view32[3], index, data);\n};\n\nexport class Trie {\n initialValue: int;\n errorValue: int;\n highStart: int;\n highValueIndex: int;\n index: Uint16Array | number[];\n data: Uint32Array | Uint16Array | number[];\n\n constructor(\n initialValue: int,\n errorValue: int,\n highStart: int,\n highValueIndex: int,\n index: Uint16Array | number[],\n data: Uint32Array | Uint16Array | number[]\n ) {\n this.initialValue = initialValue;\n this.errorValue = errorValue;\n this.highStart = highStart;\n this.highValueIndex = highValueIndex;\n this.index = index;\n this.data = data;\n }\n\n /**\n * Get the value for a code point as stored in the Trie.\n *\n * @param codePoint the code point\n * @return the value\n */\n get(codePoint: number): number {\n let ix;\n if (codePoint >= 0) {\n if (codePoint < 0x0d800 || (codePoint > 0x0dbff && codePoint <= 0x0ffff)) {\n // Ordinary BMP code point, excluding leading surrogates.\n // BMP uses a single level lookup. BMP index starts at offset 0 in the Trie2 index.\n // 16 bit data is stored in the index array itself.\n ix = this.index[codePoint >> UTRIE2_SHIFT_2];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n\n if (codePoint <= 0xffff) {\n // Lead Surrogate Code Point. A Separate index section is stored for\n // lead surrogate code units and code points.\n // The main index has the code unit data.\n // For this function, we need the code point data.\n // Note: this expression could be refactored for slightly improved efficiency, but\n // surrogate code points will be so rare in practice that it's not worth it.\n ix = this.index[UTRIE2_LSCP_INDEX_2_OFFSET + ((codePoint - 0xd800) >> UTRIE2_SHIFT_2)];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n\n if (codePoint < this.highStart) {\n // Supplemental code point, use two-level lookup.\n ix = UTRIE2_INDEX_1_OFFSET - UTRIE2_OMITTED_BMP_INDEX_1_LENGTH + (codePoint >> UTRIE2_SHIFT_1);\n ix = this.index[ix];\n ix += (codePoint >> UTRIE2_SHIFT_2) & UTRIE2_INDEX_2_MASK;\n ix = this.index[ix];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n if (codePoint <= 0x10ffff) {\n return this.data[this.highValueIndex];\n }\n }\n\n // Fall through. The code point is outside of the legal range of 0..0x10ffff.\n return this.errorValue;\n }\n}\n","import {base64, byteLength} from './grapheme-break-trie';\nimport {createTrieFromBase64} from 'utrie';\n\nconst Other = 0;\nconst Prepend = 1;\nconst CR = 2;\nconst LF = 3;\nconst Control = 4;\nconst Extend = 5;\nconst Regional_Indicator = 6;\nconst SpacingMark = 7;\nconst L = 8;\nconst V = 9;\nconst T = 10;\nconst LV = 11;\nconst LVT = 12;\nconst ZWJ = 13;\nconst Extended_Pictographic = 14;\nconst RI = 15;\n\nexport const classes: {[key: string]: number} = {\n Other,\n Prepend,\n CR,\n LF,\n Control,\n Extend,\n Regional_Indicator,\n SpacingMark,\n L,\n V,\n T,\n LV,\n LVT,\n ZWJ,\n Extended_Pictographic,\n RI,\n};\n\nexport const toCodePoints = (str: string): number[] => {\n const codePoints = [];\n let i = 0;\n const length = str.length;\n while (i < length) {\n const value = str.charCodeAt(i++);\n if (value >= 0xd800 && value <= 0xdbff && i < length) {\n const extra = str.charCodeAt(i++);\n if ((extra & 0xfc00) === 0xdc00) {\n codePoints.push(((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000);\n } else {\n codePoints.push(value);\n i--;\n }\n } else {\n codePoints.push(value);\n }\n }\n return codePoints;\n};\n\nexport const fromCodePoint = (...codePoints: number[]): string => {\n if (String.fromCodePoint) {\n return String.fromCodePoint(...codePoints);\n }\n\n const length = codePoints.length;\n if (!length) {\n return '';\n }\n\n const codeUnits = [];\n\n let index = -1;\n let result = '';\n while (++index < length) {\n let codePoint = codePoints[index];\n if (codePoint <= 0xffff) {\n codeUnits.push(codePoint);\n } else {\n codePoint -= 0x10000;\n codeUnits.push((codePoint >> 10) + 0xd800, (codePoint % 0x400) + 0xdc00);\n }\n if (index + 1 === length || codeUnits.length > 0x4000) {\n result += String.fromCharCode(...codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n};\n\nexport const UnicodeTrie = createTrieFromBase64(base64, byteLength);\n\nexport const BREAK_NOT_ALLOWED = '×';\nexport const BREAK_ALLOWED = '÷';\n\nexport type BREAK_OPPORTUNITIES = typeof BREAK_NOT_ALLOWED | typeof BREAK_ALLOWED;\n\nexport const codePointToClass = (codePoint: number): number => UnicodeTrie.get(codePoint);\n\nconst _graphemeBreakAtIndex = (_codePoints: number[], classTypes: number[], index: number): BREAK_OPPORTUNITIES => {\n let prevIndex = index - 2;\n let prev = classTypes[prevIndex];\n const current = classTypes[index - 1];\n const next = classTypes[index];\n // GB3 Do not break between a CR and LF\n if (current === CR && next === LF) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB4 Otherwise, break before and after controls.\n if (current === CR || current === LF || current === Control) {\n return BREAK_ALLOWED;\n }\n\n // GB5\n if (next === CR || next === LF || next === Control) {\n return BREAK_ALLOWED;\n }\n\n // Do not break Hangul syllable sequences.\n // GB6\n if (current === L && [L, V, LV, LVT].indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB7\n if ((current === LV || current === V) && (next === V || next === T)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB8\n if ((current === LVT || current === T) && next === T) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB9 Do not break before extending characters or ZWJ.\n if (next === ZWJ || next === Extend) {\n return BREAK_NOT_ALLOWED;\n }\n // Do not break before SpacingMarks, or after Prepend characters.\n // GB9a\n if (next === SpacingMark) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB9a\n if (current === Prepend) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB11 Do not break within emoji modifier sequences or emoji zwj sequences.\n if (current === ZWJ && next === Extended_Pictographic) {\n while (prev === Extend) {\n prev = classTypes[--prevIndex];\n }\n if (prev === Extended_Pictographic) {\n return BREAK_NOT_ALLOWED;\n }\n }\n\n // GB12 Do not break within emoji flag sequences.\n // That is, do not break between regional indicator (RI) symbols\n // if there is an odd number of RI characters before the break point.\n if (current === RI && next === RI) {\n let countRI = 0;\n while (prev === RI) {\n countRI++;\n prev = classTypes[--prevIndex];\n }\n if (countRI % 2 === 0) {\n return BREAK_NOT_ALLOWED;\n }\n }\n\n return BREAK_ALLOWED;\n};\n\nexport const graphemeBreakAtIndex = (codePoints: number[], index: number): BREAK_OPPORTUNITIES => {\n // GB1 Break at the start and end of text, unless the text is empty.\n if (index === 0) {\n return BREAK_ALLOWED;\n }\n\n // GB2\n if (index >= codePoints.length) {\n return BREAK_ALLOWED;\n }\n\n const classTypes = codePoints.map(codePointToClass);\n return _graphemeBreakAtIndex(codePoints, classTypes, index);\n};\n\nexport const GraphemeBreaker = (str: string) => {\n const codePoints = toCodePoints(str);\n const length = codePoints.length;\n let index = 0;\n let lastEnd = 0;\n const classTypes = codePoints.map(codePointToClass);\n\n return {\n next: () => {\n if (index >= length) {\n return {done: true, value: null};\n }\n\n let graphemeBreak = BREAK_NOT_ALLOWED;\n while (\n index < length &&\n (graphemeBreak = _graphemeBreakAtIndex(codePoints, classTypes, ++index)) === BREAK_NOT_ALLOWED\n ) {}\n\n if (graphemeBreak !== BREAK_NOT_ALLOWED || index === length) {\n const value = fromCodePoint.apply(null, codePoints.slice(lastEnd, index));\n lastEnd = index;\n return {value, done: false};\n }\n\n return {done: true, value: null};\n while (index < length) {}\n\n return {done: true, value: null};\n },\n };\n};\n\nexport const splitGraphemes = (str: string): string[] => {\n const breaker = GraphemeBreaker(str);\n\n const graphemes = [];\n let bk;\n\n while (!(bk = breaker.next()).done) {\n if (bk.value) {\n graphemes.push(bk.value.slice());\n }\n }\n\n return graphemes;\n};\n","import {Bounds} from '../css/layout/bounds';\nimport {\n isBodyElement,\n isCanvasElement,\n isCustomElement,\n isElementNode,\n isHTMLElementNode,\n isIFrameElement,\n isImageElement,\n isScriptElement,\n isSelectElement,\n isSlotElement,\n isStyleElement,\n isSVGElementNode,\n isTextareaElement,\n isTextNode,\n isVideoElement\n} from './node-parser';\nimport {isIdentToken, nonFunctionArgSeparator} from '../css/syntax/parser';\nimport {TokenType} from '../css/syntax/tokenizer';\nimport {CounterState, createCounterText} from '../css/types/functions/counter';\nimport {LIST_STYLE_TYPE, listStyleType} from '../css/property-descriptors/list-style-type';\nimport {CSSParsedCounterDeclaration, CSSParsedPseudoDeclaration} from '../css/index';\nimport {getQuote} from '../css/property-descriptors/quotes';\nimport {Context} from '../core/context';\nimport {DebuggerType, isDebugging} from '../core/debugger';\n\nexport interface CloneOptions {\n ignoreElements?: (element: Element) => boolean;\n onclone?: (document: Document, element: HTMLElement) => void;\n allowTaint?: boolean;\n}\n\nexport interface WindowOptions {\n scrollX: number;\n scrollY: number;\n windowWidth: number;\n windowHeight: number;\n}\n\nexport type CloneConfigurations = CloneOptions & {\n inlineImages: boolean;\n copyStyles: boolean;\n};\n\nconst IGNORE_ATTRIBUTE = 'data-html2canvas-ignore';\n\nexport class DocumentCloner {\n private readonly scrolledElements: [Element, number, number][];\n private readonly referenceElement: HTMLElement;\n clonedReferenceElement?: HTMLElement;\n private readonly documentElement: HTMLElement;\n private readonly counters: CounterState;\n private quoteDepth: number;\n\n constructor(\n private readonly context: Context,\n element: HTMLElement,\n private readonly options: CloneConfigurations\n ) {\n this.scrolledElements = [];\n this.referenceElement = element;\n this.counters = new CounterState();\n this.quoteDepth = 0;\n if (!element.ownerDocument) {\n throw new Error('Cloned element does not have an owner document');\n }\n\n this.documentElement = this.cloneNode(element.ownerDocument.documentElement, false) as HTMLElement;\n }\n\n toIFrame(ownerDocument: Document, windowSize: Bounds): Promise {\n const iframe: HTMLIFrameElement = createIFrameContainer(ownerDocument, windowSize);\n\n if (!iframe.contentWindow) {\n return Promise.reject(`Unable to find iframe window`);\n }\n\n const scrollX = (ownerDocument.defaultView as Window).pageXOffset;\n const scrollY = (ownerDocument.defaultView as Window).pageYOffset;\n\n const cloneWindow = iframe.contentWindow;\n const documentClone: Document = cloneWindow.document;\n\n /* Chrome doesn't detect relative background-images assigned in inline \";\r\n var nW = globalObject.open();\r\n\r\n if (nW !== null) {\r\n nW.document.write(htmlForNewWindow);\r\n }\r\n return nW;\r\n } else {\r\n throw new Error(\r\n \"The option pdfobjectnewwindow just works in a browser-environment.\"\r\n );\r\n }\r\n case \"pdfjsnewwindow\":\r\n if (\r\n Object.prototype.toString.call(globalObject) === \"[object Window]\"\r\n ) {\r\n var pdfJsUrl = options.pdfJsUrl || \"examples/PDF.js/web/viewer.html\";\r\n var htmlForPDFjsNewWindow =\r\n \"\" +\r\n \"\" +\r\n '' +\r\n \"\";\r\n var dataURLNewWindow = globalObject.open();\r\n if (dataURLNewWindow !== null) {\r\n dataURLNewWindow.document.write(htmlForDataURLNewWindow);\r\n dataURLNewWindow.document.title = options.filename;\r\n }\r\n if (dataURLNewWindow || typeof safari === \"undefined\")\r\n return dataURLNewWindow;\r\n } else {\r\n throw new Error(\r\n \"The option dataurlnewwindow just works in a browser-environment.\"\r\n );\r\n }\r\n break;\r\n case \"datauri\":\r\n case \"dataurl\":\r\n return (globalObject.document.location.href = this.output(\r\n \"datauristring\",\r\n options\r\n ));\r\n default:\r\n return null;\r\n }\r\n }));\r\n\r\n /**\r\n * Used to see if a supplied hotfix was requested when the pdf instance was created.\r\n * @param {string} hotfixName - The name of the hotfix to check.\r\n * @returns {boolean}\r\n */\r\n var hasHotfix = function(hotfixName) {\r\n return (\r\n Array.isArray(hotfixes) === true && hotfixes.indexOf(hotfixName) > -1\r\n );\r\n };\r\n\r\n switch (unit) {\r\n case \"pt\":\r\n scaleFactor = 1;\r\n break;\r\n case \"mm\":\r\n scaleFactor = 72 / 25.4;\r\n break;\r\n case \"cm\":\r\n scaleFactor = 72 / 2.54;\r\n break;\r\n case \"in\":\r\n scaleFactor = 72;\r\n break;\r\n case \"px\":\r\n if (hasHotfix(\"px_scaling\") == true) {\r\n scaleFactor = 72 / 96;\r\n } else {\r\n scaleFactor = 96 / 72;\r\n }\r\n break;\r\n case \"pc\":\r\n scaleFactor = 12;\r\n break;\r\n case \"em\":\r\n scaleFactor = 12;\r\n break;\r\n case \"ex\":\r\n scaleFactor = 6;\r\n break;\r\n default:\r\n if (typeof unit === \"number\") {\r\n scaleFactor = unit;\r\n } else {\r\n throw new Error(\"Invalid unit: \" + unit);\r\n }\r\n }\r\n\r\n var encryption = null;\r\n setCreationDate();\r\n setFileId();\r\n\r\n var getEncryptor = function(objectId) {\r\n if (encryptionOptions !== null) {\r\n return encryption.encryptor(objectId, 0);\r\n }\r\n return function(data) {\r\n return data;\r\n };\r\n };\r\n\r\n //---------------------------------------\r\n // Public API\r\n\r\n var getPageInfo = (API.__private__.getPageInfo = API.getPageInfo = function(\r\n pageNumberOneBased\r\n ) {\r\n if (isNaN(pageNumberOneBased) || pageNumberOneBased % 1 !== 0) {\r\n throw new Error(\"Invalid argument passed to jsPDF.getPageInfo\");\r\n }\r\n var objId = pagesContext[pageNumberOneBased].objId;\r\n return {\r\n objId: objId,\r\n pageNumber: pageNumberOneBased,\r\n pageContext: pagesContext[pageNumberOneBased]\r\n };\r\n });\r\n\r\n var getPageInfoByObjId = (API.__private__.getPageInfoByObjId = function(\r\n objId\r\n ) {\r\n if (isNaN(objId) || objId % 1 !== 0) {\r\n throw new Error(\"Invalid argument passed to jsPDF.getPageInfoByObjId\");\r\n }\r\n for (var pageNumber in pagesContext) {\r\n if (pagesContext[pageNumber].objId === objId) {\r\n break;\r\n }\r\n }\r\n return getPageInfo(pageNumber);\r\n });\r\n\r\n var getCurrentPageInfo = (API.__private__.getCurrentPageInfo = API.getCurrentPageInfo = function() {\r\n return {\r\n objId: pagesContext[currentPage].objId,\r\n pageNumber: currentPage,\r\n pageContext: pagesContext[currentPage]\r\n };\r\n });\r\n\r\n /**\r\n * Adds (and transfers the focus to) new page to the PDF document.\r\n * @param format {String/Array} The format of the new page. Can be:
  • a0 - a10
  • b0 - b10
  • c0 - c10
  • dl
  • letter
  • government-letter
  • legal
  • junior-legal
  • ledger
  • tabloid
  • credit-card

\r\n * Default is \"a4\". If you want to use your own format just pass instead of one of the above predefined formats the size as an number-array, e.g. [595.28, 841.89]\r\n * @param orientation {string} Orientation of the new page. Possible values are \"portrait\" or \"landscape\" (or shortcuts \"p\" (Default), \"l\").\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n *\r\n * @memberof jsPDF#\r\n * @name addPage\r\n */\r\n API.addPage = function() {\r\n _addPage.apply(this, arguments);\r\n return this;\r\n };\r\n /**\r\n * Adds (and transfers the focus to) new page to the PDF document.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n *\r\n * @memberof jsPDF#\r\n * @name setPage\r\n * @param {number} page Switch the active page to the page number specified (indexed starting at 1).\r\n * @example\r\n * doc = jsPDF()\r\n * doc.addPage()\r\n * doc.addPage()\r\n * doc.text('I am on page 3', 10, 10)\r\n * doc.setPage(1)\r\n * doc.text('I am on page 1', 10, 10)\r\n */\r\n API.setPage = function() {\r\n _setPage.apply(this, arguments);\r\n setOutputDestination.call(this, pages[currentPage]);\r\n return this;\r\n };\r\n\r\n /**\r\n * @name insertPage\r\n * @memberof jsPDF#\r\n *\r\n * @function\r\n * @instance\r\n * @param {Object} beforePage\r\n * @returns {jsPDF}\r\n */\r\n API.insertPage = function(beforePage) {\r\n this.addPage();\r\n this.movePage(currentPage, beforePage);\r\n return this;\r\n };\r\n\r\n /**\r\n * @name movePage\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n * @param {number} targetPage\r\n * @param {number} beforePage\r\n * @returns {jsPDF}\r\n */\r\n API.movePage = function(targetPage, beforePage) {\r\n var tmpPages, tmpPagesContext;\r\n if (targetPage > beforePage) {\r\n tmpPages = pages[targetPage];\r\n tmpPagesContext = pagesContext[targetPage];\r\n for (var i = targetPage; i > beforePage; i--) {\r\n pages[i] = pages[i - 1];\r\n pagesContext[i] = pagesContext[i - 1];\r\n }\r\n pages[beforePage] = tmpPages;\r\n pagesContext[beforePage] = tmpPagesContext;\r\n this.setPage(beforePage);\r\n } else if (targetPage < beforePage) {\r\n tmpPages = pages[targetPage];\r\n tmpPagesContext = pagesContext[targetPage];\r\n for (var j = targetPage; j < beforePage; j++) {\r\n pages[j] = pages[j + 1];\r\n pagesContext[j] = pagesContext[j + 1];\r\n }\r\n pages[beforePage] = tmpPages;\r\n pagesContext[beforePage] = tmpPagesContext;\r\n this.setPage(beforePage);\r\n }\r\n return this;\r\n };\r\n\r\n /**\r\n * Deletes a page from the PDF.\r\n * @name deletePage\r\n * @memberof jsPDF#\r\n * @function\r\n * @param {number} targetPage\r\n * @instance\r\n * @returns {jsPDF}\r\n */\r\n API.deletePage = function() {\r\n _deletePage.apply(this, arguments);\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds text to page. Supports adding multiline text when 'text' argument is an Array of Strings.\r\n *\r\n * @function\r\n * @instance\r\n * @param {String|Array} text String or array of strings to be added to the page. Each line is shifted one line down per font, spacing settings declared before this call.\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page.\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page.\r\n * @param {Object} [options] - Collection of settings signaling how the text must be encoded.\r\n * @param {string} [options.align=left] - The alignment of the text, possible values: left, center, right, justify.\r\n * @param {string} [options.baseline=alphabetic] - Sets text baseline used when drawing the text, possible values: alphabetic, ideographic, bottom, top, middle, hanging\r\n * @param {number|Matrix} [options.angle=0] - Rotate the text clockwise or counterclockwise. Expects the angle in degree.\r\n * @param {number} [options.rotationDirection=1] - Direction of the rotation. 0 = clockwise, 1 = counterclockwise.\r\n * @param {number} [options.charSpace=0] - The space between each letter.\r\n * @param {number} [options.horizontalScale=1] - Horizontal scale of the text as a factor of the regular size.\r\n * @param {number} [options.lineHeightFactor=1.15] - The lineheight of each line.\r\n * @param {Object} [options.flags] - Flags for to8bitStream.\r\n * @param {boolean} [options.flags.noBOM=true] - Don't add BOM to Unicode-text.\r\n * @param {boolean} [options.flags.autoencode=true] - Autoencode the Text.\r\n * @param {number} [options.maxWidth=0] - Split the text by given width, 0 = no split.\r\n * @param {string} [options.renderingMode=fill] - Set how the text should be rendered, possible values: fill, stroke, fillThenStroke, invisible, fillAndAddForClipping, strokeAndAddPathForClipping, fillThenStrokeAndAddToPathForClipping, addToPathForClipping.\r\n * @param {boolean} [options.isInputVisual] - Option for the BidiEngine\r\n * @param {boolean} [options.isOutputVisual] - Option for the BidiEngine\r\n * @param {boolean} [options.isInputRtl] - Option for the BidiEngine\r\n * @param {boolean} [options.isOutputRtl] - Option for the BidiEngine\r\n * @param {boolean} [options.isSymmetricSwapping] - Option for the BidiEngine\r\n * @param {number|Matrix} transform If transform is a number the text will be rotated by this value around the anchor set by x and y.\r\n *\r\n * If it is a Matrix, this matrix gets directly applied to the text, which allows shearing\r\n * effects etc.; the x and y offsets are then applied AFTER the coordinate system has been established by this\r\n * matrix. This means passing a rotation matrix that is equivalent to some rotation angle will in general yield a\r\n * DIFFERENT result. A matrix is only allowed in \"advanced\" API mode.\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name text\r\n */\r\n API.__private__.text = API.text = function(text, x, y, options, transform) {\r\n /*\r\n * Inserts something like this into PDF\r\n * BT\r\n * /F1 16 Tf % Font name + size\r\n * 16 TL % How many units down for next line in multiline text\r\n * 0 g % color\r\n * 28.35 813.54 Td % position\r\n * (line one) Tj\r\n * T* (line two) Tj\r\n * T* (line three) Tj\r\n * ET\r\n */\r\n options = options || {};\r\n var scope = options.scope || this;\r\n var payload, da, angle, align, charSpace, maxWidth, flags, horizontalScale;\r\n\r\n // Pre-August-2012 the order of arguments was function(x, y, text, flags)\r\n // in effort to make all calls have similar signature like\r\n // function(data, coordinates... , miscellaneous)\r\n // this method had its args flipped.\r\n // code below allows backward compatibility with old arg order.\r\n if (\r\n typeof text === \"number\" &&\r\n typeof x === \"number\" &&\r\n (typeof y === \"string\" || Array.isArray(y))\r\n ) {\r\n var tmp = y;\r\n y = x;\r\n x = text;\r\n text = tmp;\r\n }\r\n\r\n var transformationMatrix;\r\n\r\n if (arguments[3] instanceof Matrix === false) {\r\n flags = arguments[3];\r\n angle = arguments[4];\r\n align = arguments[5];\r\n\r\n if (typeof flags !== \"object\" || flags === null) {\r\n if (typeof angle === \"string\") {\r\n align = angle;\r\n angle = null;\r\n }\r\n if (typeof flags === \"string\") {\r\n align = flags;\r\n flags = null;\r\n }\r\n if (typeof flags === \"number\") {\r\n angle = flags;\r\n flags = null;\r\n }\r\n options = {\r\n flags: flags,\r\n angle: angle,\r\n align: align\r\n };\r\n }\r\n } else {\r\n advancedApiModeTrap(\r\n \"The transform parameter of text() with a Matrix value\"\r\n );\r\n transformationMatrix = transform;\r\n }\r\n\r\n if (isNaN(x) || isNaN(y) || typeof text === \"undefined\" || text === null) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.text\");\r\n }\r\n\r\n if (text.length === 0) {\r\n return scope;\r\n }\r\n\r\n var xtra = \"\";\r\n var isHex = false;\r\n var lineHeight =\r\n typeof options.lineHeightFactor === \"number\"\r\n ? options.lineHeightFactor\r\n : lineHeightFactor;\r\n var scaleFactor = scope.internal.scaleFactor;\r\n\r\n function ESC(s) {\r\n s = s.split(\"\\t\").join(Array(options.TabLen || 9).join(\" \"));\r\n return pdfEscape(s, flags);\r\n }\r\n\r\n function transformTextToSpecialArray(text) {\r\n //we don't want to destroy original text array, so cloning it\r\n var sa = text.concat();\r\n var da = [];\r\n var len = sa.length;\r\n var curDa;\r\n //we do array.join('text that must not be PDFescaped\")\r\n //thus, pdfEscape each component separately\r\n while (len--) {\r\n curDa = sa.shift();\r\n if (typeof curDa === \"string\") {\r\n da.push(curDa);\r\n } else {\r\n if (\r\n Array.isArray(text) &&\r\n (curDa.length === 1 ||\r\n (curDa[1] === undefined && curDa[2] === undefined))\r\n ) {\r\n da.push(curDa[0]);\r\n } else {\r\n da.push([curDa[0], curDa[1], curDa[2]]);\r\n }\r\n }\r\n }\r\n return da;\r\n }\r\n\r\n function processTextByFunction(text, processingFunction) {\r\n var result;\r\n if (typeof text === \"string\") {\r\n result = processingFunction(text)[0];\r\n } else if (Array.isArray(text)) {\r\n //we don't want to destroy original text array, so cloning it\r\n var sa = text.concat();\r\n var da = [];\r\n var len = sa.length;\r\n var curDa;\r\n var tmpResult;\r\n //we do array.join('text that must not be PDFescaped\")\r\n //thus, pdfEscape each component separately\r\n while (len--) {\r\n curDa = sa.shift();\r\n if (typeof curDa === \"string\") {\r\n da.push(processingFunction(curDa)[0]);\r\n } else if (Array.isArray(curDa) && typeof curDa[0] === \"string\") {\r\n tmpResult = processingFunction(curDa[0], curDa[1], curDa[2]);\r\n da.push([tmpResult[0], tmpResult[1], tmpResult[2]]);\r\n }\r\n }\r\n result = da;\r\n }\r\n return result;\r\n }\r\n\r\n //Check if text is of type String\r\n var textIsOfTypeString = false;\r\n var tmpTextIsOfTypeString = true;\r\n\r\n if (typeof text === \"string\") {\r\n textIsOfTypeString = true;\r\n } else if (Array.isArray(text)) {\r\n //we don't want to destroy original text array, so cloning it\r\n var sa = text.concat();\r\n da = [];\r\n var len = sa.length;\r\n var curDa;\r\n //we do array.join('text that must not be PDFescaped\")\r\n //thus, pdfEscape each component separately\r\n while (len--) {\r\n curDa = sa.shift();\r\n if (\r\n typeof curDa !== \"string\" ||\r\n (Array.isArray(curDa) && typeof curDa[0] !== \"string\")\r\n ) {\r\n tmpTextIsOfTypeString = false;\r\n }\r\n }\r\n textIsOfTypeString = tmpTextIsOfTypeString;\r\n }\r\n if (textIsOfTypeString === false) {\r\n throw new Error(\r\n 'Type of text must be string or Array. \"' +\r\n text +\r\n '\" is not recognized.'\r\n );\r\n }\r\n\r\n //If there are any newlines in text, we assume\r\n //the user wanted to print multiple lines, so break the\r\n //text up into an array. If the text is already an array,\r\n //we assume the user knows what they are doing.\r\n //Convert text into an array anyway to simplify\r\n //later code.\r\n\r\n if (typeof text === \"string\") {\r\n if (text.match(/[\\r?\\n]/)) {\r\n text = text.split(/\\r\\n|\\r|\\n/g);\r\n } else {\r\n text = [text];\r\n }\r\n }\r\n\r\n //baseline\r\n var height = activeFontSize / scope.internal.scaleFactor;\r\n var descent = height * (lineHeight - 1);\r\n\r\n switch (options.baseline) {\r\n case \"bottom\":\r\n y -= descent;\r\n break;\r\n case \"top\":\r\n y += height - descent;\r\n break;\r\n case \"hanging\":\r\n y += height - 2 * descent;\r\n break;\r\n case \"middle\":\r\n y += height / 2 - descent;\r\n break;\r\n case \"ideographic\":\r\n case \"alphabetic\":\r\n default:\r\n // do nothing, everything is fine\r\n break;\r\n }\r\n\r\n //multiline\r\n maxWidth = options.maxWidth || 0;\r\n\r\n if (maxWidth > 0) {\r\n if (typeof text === \"string\") {\r\n text = scope.splitTextToSize(text, maxWidth);\r\n } else if (Object.prototype.toString.call(text) === \"[object Array]\") {\r\n text = text.reduce(function(acc, textLine) {\r\n return acc.concat(scope.splitTextToSize(textLine, maxWidth));\r\n }, []);\r\n }\r\n }\r\n\r\n //creating Payload-Object to make text byRef\r\n payload = {\r\n text: text,\r\n x: x,\r\n y: y,\r\n options: options,\r\n mutex: {\r\n pdfEscape: pdfEscape,\r\n activeFontKey: activeFontKey,\r\n fonts: fonts,\r\n activeFontSize: activeFontSize\r\n }\r\n };\r\n events.publish(\"preProcessText\", payload);\r\n\r\n text = payload.text;\r\n options = payload.options;\r\n\r\n //angle\r\n angle = options.angle;\r\n\r\n if (\r\n transformationMatrix instanceof Matrix === false &&\r\n angle &&\r\n typeof angle === \"number\"\r\n ) {\r\n angle *= Math.PI / 180;\r\n\r\n if (options.rotationDirection === 0) {\r\n angle = -angle;\r\n }\r\n\r\n if (apiMode === ApiMode.ADVANCED) {\r\n angle = -angle;\r\n }\r\n\r\n var c = Math.cos(angle);\r\n var s = Math.sin(angle);\r\n transformationMatrix = new Matrix(c, s, -s, c, 0, 0);\r\n } else if (angle && angle instanceof Matrix) {\r\n transformationMatrix = angle;\r\n }\r\n\r\n if (apiMode === ApiMode.ADVANCED && !transformationMatrix) {\r\n transformationMatrix = identityMatrix;\r\n }\r\n\r\n //charSpace\r\n\r\n charSpace = options.charSpace || activeCharSpace;\r\n\r\n if (typeof charSpace !== \"undefined\") {\r\n xtra += hpf(scale(charSpace)) + \" Tc\\n\";\r\n this.setCharSpace(this.getCharSpace() || 0);\r\n }\r\n\r\n horizontalScale = options.horizontalScale;\r\n if (typeof horizontalScale !== \"undefined\") {\r\n xtra += hpf(horizontalScale * 100) + \" Tz\\n\";\r\n }\r\n\r\n //lang\r\n\r\n var lang = options.lang;\r\n\r\n if (lang) {\r\n // xtra += \"/Lang (\" + lang +\")\\n\";\r\n }\r\n\r\n //renderingMode\r\n var renderingMode = -1;\r\n var parmRenderingMode =\r\n typeof options.renderingMode !== \"undefined\"\r\n ? options.renderingMode\r\n : options.stroke;\r\n var pageContext = scope.internal.getCurrentPageInfo().pageContext;\r\n\r\n switch (parmRenderingMode) {\r\n case 0:\r\n case false:\r\n case \"fill\":\r\n renderingMode = 0;\r\n break;\r\n case 1:\r\n case true:\r\n case \"stroke\":\r\n renderingMode = 1;\r\n break;\r\n case 2:\r\n case \"fillThenStroke\":\r\n renderingMode = 2;\r\n break;\r\n case 3:\r\n case \"invisible\":\r\n renderingMode = 3;\r\n break;\r\n case 4:\r\n case \"fillAndAddForClipping\":\r\n renderingMode = 4;\r\n break;\r\n case 5:\r\n case \"strokeAndAddPathForClipping\":\r\n renderingMode = 5;\r\n break;\r\n case 6:\r\n case \"fillThenStrokeAndAddToPathForClipping\":\r\n renderingMode = 6;\r\n break;\r\n case 7:\r\n case \"addToPathForClipping\":\r\n renderingMode = 7;\r\n break;\r\n }\r\n\r\n var usedRenderingMode =\r\n typeof pageContext.usedRenderingMode !== \"undefined\"\r\n ? pageContext.usedRenderingMode\r\n : -1;\r\n\r\n //if the coder wrote it explicitly to use a specific\r\n //renderingMode, then use it\r\n if (renderingMode !== -1) {\r\n xtra += renderingMode + \" Tr\\n\";\r\n //otherwise check if we used the rendering Mode already\r\n //if so then set the rendering Mode...\r\n } else if (usedRenderingMode !== -1) {\r\n xtra += \"0 Tr\\n\";\r\n }\r\n\r\n if (renderingMode !== -1) {\r\n pageContext.usedRenderingMode = renderingMode;\r\n }\r\n\r\n //align\r\n align = options.align || \"left\";\r\n var leading = activeFontSize * lineHeight;\r\n var pageWidth = scope.internal.pageSize.getWidth();\r\n var activeFont = fonts[activeFontKey];\r\n charSpace = options.charSpace || activeCharSpace;\r\n maxWidth = options.maxWidth || 0;\r\n\r\n var lineWidths;\r\n flags = Object.assign({ autoencode: true, noBOM: true }, options.flags);\r\n\r\n var wordSpacingPerLine = [];\r\n var findWidth = 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 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(findWidth);\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\" && activeFont.encoding === \"Identity-H\") {\r\n // when using unicode fonts, wordSpacePerLine does not apply\r\n text = [];\r\n len = da.length;\r\n maxWidth = maxWidth !== 0 ? maxWidth : pageWidth;\r\n let backToStartX = 0;\r\n for (var l = 0; l < len; l++) {\r\n newY = l === 0 ? getVerticalCoordinate(y) : -leading;\r\n newX = l === 0 ? getHorizontalCoordinate(x) : backToStartX;\r\n if (l < len - 1) {\r\n let spacing = scale(\r\n (maxWidth - lineWidths[l]) / (da[l].split(\" \").length - 1)\r\n );\r\n let words = da[l].split(\" \");\r\n text.push([words[0] + \" \", newX, newY]);\r\n backToStartX = 0; // distance to reset back to the left\r\n for (let i = 1; i < words.length; i++) {\r\n let shiftAmount =\r\n (findWidth(words[i - 1] + \" \" + words[i]) -\r\n findWidth(words[i])) *\r\n scaleFactor +\r\n spacing;\r\n if (i == words.length - 1) text.push([words[i], shiftAmount, 0]);\r\n else text.push([words[i] + \" \", shiftAmount, 0]);\r\n backToStartX -= shiftAmount;\r\n }\r\n } else {\r\n text.push([da[l], newX, newY]);\r\n }\r\n }\r\n text.push([\"\", backToStartX, 0]);\r\n } else if (align === \"justify\") {\r\n text = [];\r\n len = da.length;\r\n maxWidth = maxWidth !== 0 ? maxWidth : pageWidth;\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\r\n * jsPDF addImage plugin\r\n * Copyright (c) 2012 Jason Siefken, https://github.com/siefkenj/\r\n * 2013 Chris Dowling, https://github.com/gingerchris\r\n * 2013 Trinh Ho, https://github.com/ineedfat\r\n * 2013 Edwin Alejandro Perez, https://github.com/eaparango\r\n * 2013 Norah Smith, https://github.com/burnburnrocket\r\n * 2014 Diego Casorran, https://github.com/diegocr\r\n * 2014 James Robb, https://github.com/jamesbrobb\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining\r\n * a copy of this software and associated documentation files (the\r\n * \"Software\"), to deal in the Software without restriction, including\r\n * without limitation the rights to use, copy, modify, merge, publish,\r\n * distribute, sublicense, and/or sell copies of the Software, and to\r\n * permit persons to whom the Software is furnished to do so, subject to\r\n * the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be\r\n * included in all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\r\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\r\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\r\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\r\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r\n */\r\n/**\r\n * @name addImage\r\n * @module\r\n */\r\n\r\nimport { jsPDF } from \"../jspdf.js\";\r\nimport { atob, btoa } from \"../libs/AtobBtoa.js\";\r\n\r\n(function(jsPDFAPI) {\r\n \"use strict\";\r\n\r\n var namespace = \"addImage_\";\r\n jsPDFAPI.__addimage__ = {};\r\n\r\n var UNKNOWN = \"UNKNOWN\";\r\n\r\n // Heuristic selection of a good batch for large array .apply. Not limiting make the call overflow.\r\n // With too small batch iteration will be slow as more calls are made,\r\n // higher values cause larger and slower garbage collection.\r\n var ARRAY_APPLY_BATCH = 8192;\r\n\r\n var imageFileTypeHeaders = {\r\n PNG: [[0x89, 0x50, 0x4e, 0x47]],\r\n TIFF: [\r\n [0x4d, 0x4d, 0x00, 0x2a], //Motorola\r\n [0x49, 0x49, 0x2a, 0x00] //Intel\r\n ],\r\n JPEG: [\r\n [\r\n 0xff,\r\n 0xd8,\r\n 0xff,\r\n 0xe0,\r\n undefined,\r\n undefined,\r\n 0x4a,\r\n 0x46,\r\n 0x49,\r\n 0x46,\r\n 0x00\r\n ], //JFIF\r\n [\r\n 0xff,\r\n 0xd8,\r\n 0xff,\r\n 0xe1,\r\n undefined,\r\n undefined,\r\n 0x45,\r\n 0x78,\r\n 0x69,\r\n 0x66,\r\n 0x00,\r\n 0x00\r\n ], //Exif\r\n [0xff, 0xd8, 0xff, 0xdb], //JPEG RAW\r\n [0xff, 0xd8, 0xff, 0xee] //EXIF RAW\r\n ],\r\n JPEG2000: [[0x00, 0x00, 0x00, 0x0c, 0x6a, 0x50, 0x20, 0x20]],\r\n GIF87a: [[0x47, 0x49, 0x46, 0x38, 0x37, 0x61]],\r\n GIF89a: [[0x47, 0x49, 0x46, 0x38, 0x39, 0x61]],\r\n WEBP: [\r\n [\r\n 0x52,\r\n 0x49,\r\n 0x46,\r\n 0x46,\r\n undefined,\r\n undefined,\r\n undefined,\r\n undefined,\r\n 0x57,\r\n 0x45,\r\n 0x42,\r\n 0x50\r\n ]\r\n ],\r\n BMP: [\r\n [0x42, 0x4d], //BM - Windows 3.1x, 95, NT, ... etc.\r\n [0x42, 0x41], //BA - OS/2 struct bitmap array\r\n [0x43, 0x49], //CI - OS/2 struct color icon\r\n [0x43, 0x50], //CP - OS/2 const color pointer\r\n [0x49, 0x43], //IC - OS/2 struct icon\r\n [0x50, 0x54] //PT - OS/2 pointer\r\n ]\r\n };\r\n\r\n /**\r\n * Recognize filetype of Image by magic-bytes\r\n *\r\n * https://en.wikipedia.org/wiki/List_of_file_signatures\r\n *\r\n * @name getImageFileTypeByImageData\r\n * @public\r\n * @function\r\n * @param {string|arraybuffer} imageData imageData as binary String or arraybuffer\r\n * @param {string} format format of file if filetype-recognition fails, e.g. 'JPEG'\r\n *\r\n * @returns {string} filetype of Image\r\n */\r\n var getImageFileTypeByImageData = (jsPDFAPI.__addimage__.getImageFileTypeByImageData = function(\r\n imageData,\r\n fallbackFormat\r\n ) {\r\n fallbackFormat = fallbackFormat || UNKNOWN;\r\n var i;\r\n var j;\r\n var result = UNKNOWN;\r\n var headerSchemata;\r\n var compareResult;\r\n var fileType;\r\n\r\n if (\r\n fallbackFormat === \"RGBA\" ||\r\n (imageData.data !== undefined &&\r\n imageData.data instanceof Uint8ClampedArray &&\r\n \"height\" in imageData &&\r\n \"width\" in imageData)\r\n ) {\r\n return \"RGBA\";\r\n }\r\n\r\n if (isArrayBufferView(imageData)) {\r\n for (fileType in imageFileTypeHeaders) {\r\n headerSchemata = imageFileTypeHeaders[fileType];\r\n for (i = 0; i < headerSchemata.length; i += 1) {\r\n compareResult = true;\r\n for (j = 0; j < headerSchemata[i].length; j += 1) {\r\n if (headerSchemata[i][j] === undefined) {\r\n continue;\r\n }\r\n if (headerSchemata[i][j] !== imageData[j]) {\r\n compareResult = false;\r\n break;\r\n }\r\n }\r\n if (compareResult === true) {\r\n result = fileType;\r\n break;\r\n }\r\n }\r\n }\r\n } else {\r\n for (fileType in imageFileTypeHeaders) {\r\n headerSchemata = imageFileTypeHeaders[fileType];\r\n for (i = 0; i < headerSchemata.length; i += 1) {\r\n compareResult = true;\r\n for (j = 0; j < headerSchemata[i].length; j += 1) {\r\n if (headerSchemata[i][j] === undefined) {\r\n continue;\r\n }\r\n if (headerSchemata[i][j] !== imageData.charCodeAt(j)) {\r\n compareResult = false;\r\n break;\r\n }\r\n }\r\n if (compareResult === true) {\r\n result = fileType;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (result === UNKNOWN && fallbackFormat !== UNKNOWN) {\r\n result = fallbackFormat;\r\n }\r\n return result;\r\n });\r\n\r\n // Image functionality ported from pdf.js\r\n var putImage = function(image) {\r\n var out = this.internal.write;\r\n var putStream = this.internal.putStream;\r\n var getFilters = this.internal.getFilters;\r\n\r\n var filter = getFilters();\r\n while (filter.indexOf(\"FlateEncode\") !== -1) {\r\n filter.splice(filter.indexOf(\"FlateEncode\"), 1);\r\n }\r\n\r\n image.objectId = this.internal.newObject();\r\n\r\n var additionalKeyValues = [];\r\n additionalKeyValues.push({ key: \"Type\", value: \"/XObject\" });\r\n additionalKeyValues.push({ key: \"Subtype\", value: \"/Image\" });\r\n additionalKeyValues.push({ key: \"Width\", value: image.width });\r\n additionalKeyValues.push({ key: \"Height\", value: image.height });\r\n\r\n if (image.colorSpace === color_spaces.INDEXED) {\r\n additionalKeyValues.push({\r\n key: \"ColorSpace\",\r\n value:\r\n \"[/Indexed /DeviceRGB \" +\r\n // if an indexed png defines more than one colour with transparency, we've created a sMask\r\n (image.palette.length / 3 - 1) +\r\n \" \" +\r\n (\"sMask\" in image && typeof image.sMask !== \"undefined\"\r\n ? image.objectId + 2\r\n : image.objectId + 1) +\r\n \" 0 R]\"\r\n });\r\n } else {\r\n additionalKeyValues.push({\r\n key: \"ColorSpace\",\r\n value: \"/\" + image.colorSpace\r\n });\r\n if (image.colorSpace === color_spaces.DEVICE_CMYK) {\r\n additionalKeyValues.push({ key: \"Decode\", value: \"[1 0 1 0 1 0 1 0]\" });\r\n }\r\n }\r\n additionalKeyValues.push({\r\n key: \"BitsPerComponent\",\r\n value: image.bitsPerComponent\r\n });\r\n if (\r\n \"decodeParameters\" in image &&\r\n typeof image.decodeParameters !== \"undefined\"\r\n ) {\r\n additionalKeyValues.push({\r\n key: \"DecodeParms\",\r\n value: \"<<\" + image.decodeParameters + \">>\"\r\n });\r\n }\r\n if (\"transparency\" in image && Array.isArray(image.transparency)) {\r\n var transparency = \"\",\r\n i = 0,\r\n len = image.transparency.length;\r\n for (; i < len; i++)\r\n transparency +=\r\n image.transparency[i] + \" \" + image.transparency[i] + \" \";\r\n\r\n additionalKeyValues.push({\r\n key: \"Mask\",\r\n value: \"[\" + transparency + \"]\"\r\n });\r\n }\r\n if (typeof image.sMask !== \"undefined\") {\r\n additionalKeyValues.push({\r\n key: \"SMask\",\r\n value: image.objectId + 1 + \" 0 R\"\r\n });\r\n }\r\n\r\n var alreadyAppliedFilters =\r\n typeof image.filter !== \"undefined\" ? [\"/\" + image.filter] : undefined;\r\n\r\n putStream({\r\n data: image.data,\r\n additionalKeyValues: additionalKeyValues,\r\n alreadyAppliedFilters: alreadyAppliedFilters,\r\n objectId: image.objectId\r\n });\r\n\r\n out(\"endobj\");\r\n\r\n // Soft mask\r\n if (\"sMask\" in image && typeof image.sMask !== \"undefined\") {\r\n var decodeParameters =\r\n \"/Predictor \" +\r\n image.predictor +\r\n \" /Colors 1 /BitsPerComponent \" +\r\n image.bitsPerComponent +\r\n \" /Columns \" +\r\n image.width;\r\n var sMask = {\r\n width: image.width,\r\n height: image.height,\r\n colorSpace: \"DeviceGray\",\r\n bitsPerComponent: image.bitsPerComponent,\r\n decodeParameters: decodeParameters,\r\n data: image.sMask\r\n };\r\n if (\"filter\" in image) {\r\n sMask.filter = image.filter;\r\n }\r\n putImage.call(this, sMask);\r\n }\r\n\r\n //Palette\r\n if (image.colorSpace === color_spaces.INDEXED) {\r\n var objId = this.internal.newObject();\r\n //out('<< /Filter / ' + img['f'] +' /Length ' + img['pal'].length + '>>');\r\n //putStream(zlib.compress(img['pal']));\r\n putStream({\r\n data: arrayBufferToBinaryString(new Uint8Array(image.palette)),\r\n objectId: objId\r\n });\r\n out(\"endobj\");\r\n }\r\n };\r\n var putResourcesCallback = function() {\r\n var images = this.internal.collections[namespace + \"images\"];\r\n for (var i in images) {\r\n putImage.call(this, images[i]);\r\n }\r\n };\r\n var putXObjectsDictCallback = function() {\r\n var images = this.internal.collections[namespace + \"images\"],\r\n out = this.internal.write,\r\n image;\r\n for (var i in images) {\r\n image = images[i];\r\n out(\"/I\" + image.index, image.objectId, \"0\", \"R\");\r\n }\r\n };\r\n\r\n var checkCompressValue = function(value) {\r\n if (value && typeof value === \"string\") value = value.toUpperCase();\r\n return value in jsPDFAPI.image_compression ? value : image_compression.NONE;\r\n };\r\n\r\n var initialize = function() {\r\n if (!this.internal.collections[namespace + \"images\"]) {\r\n this.internal.collections[namespace + \"images\"] = {};\r\n this.internal.events.subscribe(\"putResources\", putResourcesCallback);\r\n this.internal.events.subscribe(\"putXobjectDict\", putXObjectsDictCallback);\r\n }\r\n };\r\n\r\n var getImages = function() {\r\n var images = this.internal.collections[namespace + \"images\"];\r\n initialize.call(this);\r\n return images;\r\n };\r\n var getImageIndex = function() {\r\n return Object.keys(this.internal.collections[namespace + \"images\"]).length;\r\n };\r\n var notDefined = function(value) {\r\n return typeof value === \"undefined\" || value === null || value.length === 0;\r\n };\r\n var generateAliasFromImageData = function(imageData) {\r\n if (typeof imageData === \"string\" || isArrayBufferView(imageData)) {\r\n return sHashCode(imageData);\r\n } else if (isArrayBufferView(imageData.data)) {\r\n return sHashCode(imageData.data);\r\n }\r\n\r\n return null;\r\n };\r\n\r\n var isImageTypeSupported = function(type) {\r\n return typeof jsPDFAPI[\"process\" + type.toUpperCase()] === \"function\";\r\n };\r\n\r\n var isDOMElement = function(object) {\r\n return typeof object === \"object\" && object.nodeType === 1;\r\n };\r\n\r\n var getImageDataFromElement = function(element, format) {\r\n //if element is an image which uses data url definition, just return the dataurl\r\n if (element.nodeName === \"IMG\" && element.hasAttribute(\"src\")) {\r\n var src = \"\" + element.getAttribute(\"src\");\r\n\r\n //is base64 encoded dataUrl, directly process it\r\n if (src.indexOf(\"data:image/\") === 0) {\r\n return atob(\r\n unescape(src)\r\n .split(\"base64,\")\r\n .pop()\r\n );\r\n }\r\n\r\n //it is probably an url, try to load it\r\n var tmpImageData = jsPDFAPI.loadFile(src, true);\r\n if (tmpImageData !== undefined) {\r\n return tmpImageData;\r\n }\r\n }\r\n\r\n if (element.nodeName === \"CANVAS\") {\r\n if (element.width === 0 || element.height === 0) {\r\n throw new Error(\r\n \"Given canvas must have data. Canvas width: \" +\r\n element.width +\r\n \", height: \" +\r\n element.height\r\n );\r\n }\r\n var mimeType;\r\n switch (format) {\r\n case \"PNG\":\r\n mimeType = \"image/png\";\r\n break;\r\n case \"WEBP\":\r\n mimeType = \"image/webp\";\r\n break;\r\n case \"JPEG\":\r\n case \"JPG\":\r\n default:\r\n mimeType = \"image/jpeg\";\r\n break;\r\n }\r\n return atob(\r\n element\r\n .toDataURL(mimeType, 1.0)\r\n .split(\"base64,\")\r\n .pop()\r\n );\r\n }\r\n };\r\n\r\n var checkImagesForAlias = function(alias) {\r\n var images = this.internal.collections[namespace + \"images\"];\r\n if (images) {\r\n for (var e in images) {\r\n if (alias === images[e].alias) {\r\n return images[e];\r\n }\r\n }\r\n }\r\n };\r\n\r\n var determineWidthAndHeight = function(width, height, image) {\r\n if (!width && !height) {\r\n width = -96;\r\n height = -96;\r\n }\r\n if (width < 0) {\r\n width = (-1 * image.width * 72) / width / this.internal.scaleFactor;\r\n }\r\n if (height < 0) {\r\n height = (-1 * image.height * 72) / height / this.internal.scaleFactor;\r\n }\r\n if (width === 0) {\r\n width = (height * image.width) / image.height;\r\n }\r\n if (height === 0) {\r\n height = (width * image.height) / image.width;\r\n }\r\n\r\n return [width, height];\r\n };\r\n\r\n var writeImageToPDF = function(x, y, width, height, image, rotation) {\r\n var dims = determineWidthAndHeight.call(this, width, height, image),\r\n coord = this.internal.getCoordinateString,\r\n vcoord = this.internal.getVerticalCoordinateString;\r\n\r\n var images = getImages.call(this);\r\n\r\n width = dims[0];\r\n height = dims[1];\r\n images[image.index] = image;\r\n\r\n if (rotation) {\r\n rotation *= Math.PI / 180;\r\n var c = Math.cos(rotation);\r\n var s = Math.sin(rotation);\r\n //like in pdf Reference do it 4 digits instead of 2\r\n var f4 = function(number) {\r\n return number.toFixed(4);\r\n };\r\n var rotationTransformationMatrix = [\r\n f4(c),\r\n f4(s),\r\n f4(s * -1),\r\n f4(c),\r\n 0,\r\n 0,\r\n \"cm\"\r\n ];\r\n }\r\n this.internal.write(\"q\"); //Save graphics state\r\n if (rotation) {\r\n this.internal.write(\r\n [1, \"0\", \"0\", 1, coord(x), vcoord(y + height), \"cm\"].join(\" \")\r\n ); //Translate\r\n this.internal.write(rotationTransformationMatrix.join(\" \")); //Rotate\r\n this.internal.write(\r\n [coord(width), \"0\", \"0\", coord(height), \"0\", \"0\", \"cm\"].join(\" \")\r\n ); //Scale\r\n } else {\r\n this.internal.write(\r\n [\r\n coord(width),\r\n \"0\",\r\n \"0\",\r\n coord(height),\r\n coord(x),\r\n vcoord(y + height),\r\n \"cm\"\r\n ].join(\" \")\r\n ); //Translate and Scale\r\n }\r\n\r\n if (this.isAdvancedAPI()) {\r\n // draw image bottom up when in \"advanced\" API mode\r\n this.internal.write([1, 0, 0, -1, 0, 0, \"cm\"].join(\" \"));\r\n }\r\n\r\n this.internal.write(\"/I\" + image.index + \" Do\"); //Paint Image\r\n this.internal.write(\"Q\"); //Restore graphics state\r\n };\r\n\r\n /**\r\n * COLOR SPACES\r\n */\r\n var color_spaces = (jsPDFAPI.color_spaces = {\r\n DEVICE_RGB: \"DeviceRGB\",\r\n DEVICE_GRAY: \"DeviceGray\",\r\n DEVICE_CMYK: \"DeviceCMYK\",\r\n CAL_GREY: \"CalGray\",\r\n CAL_RGB: \"CalRGB\",\r\n LAB: \"Lab\",\r\n ICC_BASED: \"ICCBased\",\r\n INDEXED: \"Indexed\",\r\n PATTERN: \"Pattern\",\r\n SEPARATION: \"Separation\",\r\n DEVICE_N: \"DeviceN\"\r\n });\r\n\r\n /**\r\n * DECODE METHODS\r\n */\r\n jsPDFAPI.decode = {\r\n DCT_DECODE: \"DCTDecode\",\r\n FLATE_DECODE: \"FlateDecode\",\r\n LZW_DECODE: \"LZWDecode\",\r\n JPX_DECODE: \"JPXDecode\",\r\n JBIG2_DECODE: \"JBIG2Decode\",\r\n ASCII85_DECODE: \"ASCII85Decode\",\r\n ASCII_HEX_DECODE: \"ASCIIHexDecode\",\r\n RUN_LENGTH_DECODE: \"RunLengthDecode\",\r\n CCITT_FAX_DECODE: \"CCITTFaxDecode\"\r\n };\r\n\r\n /**\r\n * IMAGE COMPRESSION TYPES\r\n */\r\n var image_compression = (jsPDFAPI.image_compression = {\r\n NONE: \"NONE\",\r\n FAST: \"FAST\",\r\n MEDIUM: \"MEDIUM\",\r\n SLOW: \"SLOW\"\r\n });\r\n\r\n /**\r\n * @name sHashCode\r\n * @function\r\n * @param {string} data\r\n * @returns {string}\r\n */\r\n var sHashCode = (jsPDFAPI.__addimage__.sHashCode = function(data) {\r\n var hash = 0,\r\n i,\r\n len;\r\n\r\n if (typeof data === \"string\") {\r\n len = data.length;\r\n for (i = 0; i < len; i++) {\r\n hash = (hash << 5) - hash + data.charCodeAt(i);\r\n hash |= 0; // Convert to 32bit integer\r\n }\r\n } else if (isArrayBufferView(data)) {\r\n len = data.byteLength / 2;\r\n for (i = 0; i < len; i++) {\r\n hash = (hash << 5) - hash + data[i];\r\n hash |= 0; // Convert to 32bit integer\r\n }\r\n }\r\n return hash;\r\n });\r\n\r\n /**\r\n * Validates if given String is a valid Base64-String\r\n *\r\n * @name validateStringAsBase64\r\n * @public\r\n * @function\r\n * @param {String} possible Base64-String\r\n *\r\n * @returns {boolean}\r\n */\r\n var validateStringAsBase64 = (jsPDFAPI.__addimage__.validateStringAsBase64 = function(\r\n possibleBase64String\r\n ) {\r\n possibleBase64String = possibleBase64String || \"\";\r\n possibleBase64String.toString().trim();\r\n\r\n var result = true;\r\n\r\n if (possibleBase64String.length === 0) {\r\n result = false;\r\n }\r\n\r\n if (possibleBase64String.length % 4 !== 0) {\r\n result = false;\r\n }\r\n\r\n if (\r\n /^[A-Za-z0-9+/]+$/.test(\r\n possibleBase64String.substr(0, possibleBase64String.length - 2)\r\n ) === false\r\n ) {\r\n result = false;\r\n }\r\n\r\n if (\r\n /^[A-Za-z0-9/][A-Za-z0-9+/]|[A-Za-z0-9+/]=|==$/.test(\r\n possibleBase64String.substr(-2)\r\n ) === false\r\n ) {\r\n result = false;\r\n }\r\n return result;\r\n });\r\n\r\n /**\r\n * Strips out and returns info from a valid base64 data URI\r\n *\r\n * @name extractImageFromDataUrl\r\n * @function\r\n * @param {string} dataUrl a valid data URI of format 'data:[][;base64],'\r\n * @returns {string} The raw Base64-encoded data.\r\n */\r\n var extractImageFromDataUrl = (jsPDFAPI.__addimage__.extractImageFromDataUrl = function(\r\n dataUrl\r\n ) {\r\n if (dataUrl == null) {\r\n return null;\r\n }\r\n\r\n // avoid using a regexp for parsing because it might be vulnerable against ReDoS attacks\r\n\r\n dataUrl = dataUrl.trim();\r\n\r\n if (!dataUrl.startsWith(\"data:\")) {\r\n return null;\r\n }\r\n\r\n const commaIndex = dataUrl.indexOf(\",\");\r\n if (commaIndex < 0) {\r\n return null;\r\n }\r\n\r\n const dataScheme = dataUrl.substring(0, commaIndex).trim();\r\n if (!dataScheme.endsWith(\"base64\")) {\r\n return null;\r\n }\r\n\r\n return dataUrl.substring(commaIndex + 1);\r\n });\r\n\r\n /**\r\n * Check to see if ArrayBuffer is supported\r\n *\r\n * @name supportsArrayBuffer\r\n * @function\r\n * @returns {boolean}\r\n */\r\n var supportsArrayBuffer = (jsPDFAPI.__addimage__.supportsArrayBuffer = function() {\r\n return (\r\n typeof ArrayBuffer !== \"undefined\" && typeof Uint8Array !== \"undefined\"\r\n );\r\n });\r\n\r\n /**\r\n * Tests supplied object to determine if ArrayBuffer\r\n *\r\n * @name isArrayBuffer\r\n * @function\r\n * @param {Object} object an Object\r\n *\r\n * @returns {boolean}\r\n */\r\n jsPDFAPI.__addimage__.isArrayBuffer = function(object) {\r\n return supportsArrayBuffer() && object instanceof ArrayBuffer;\r\n };\r\n\r\n /**\r\n * Tests supplied object to determine if it implements the ArrayBufferView (TypedArray) interface\r\n *\r\n * @name isArrayBufferView\r\n * @function\r\n * @param {Object} object an Object\r\n * @returns {boolean}\r\n */\r\n var isArrayBufferView = (jsPDFAPI.__addimage__.isArrayBufferView = function(\r\n object\r\n ) {\r\n return (\r\n supportsArrayBuffer() &&\r\n typeof Uint32Array !== \"undefined\" &&\r\n (object instanceof Int8Array ||\r\n object instanceof Uint8Array ||\r\n (typeof Uint8ClampedArray !== \"undefined\" &&\r\n object instanceof Uint8ClampedArray) ||\r\n object instanceof Int16Array ||\r\n object instanceof Uint16Array ||\r\n object instanceof Int32Array ||\r\n object instanceof Uint32Array ||\r\n object instanceof Float32Array ||\r\n object instanceof Float64Array)\r\n );\r\n });\r\n\r\n /**\r\n * Convert Binary String to ArrayBuffer\r\n *\r\n * @name binaryStringToUint8Array\r\n * @public\r\n * @function\r\n * @param {string} BinaryString with ImageData\r\n * @returns {Uint8Array}\r\n */\r\n var binaryStringToUint8Array = (jsPDFAPI.__addimage__.binaryStringToUint8Array = function(\r\n binary_string\r\n ) {\r\n var len = binary_string.length;\r\n var bytes = new Uint8Array(len);\r\n for (var i = 0; i < len; i++) {\r\n bytes[i] = binary_string.charCodeAt(i);\r\n }\r\n return bytes;\r\n });\r\n\r\n /**\r\n * Convert the Buffer to a Binary String\r\n *\r\n * @name arrayBufferToBinaryString\r\n * @public\r\n * @function\r\n * @param {ArrayBuffer|ArrayBufferView} ArrayBuffer buffer or bufferView with ImageData\r\n *\r\n * @returns {String}\r\n */\r\n var arrayBufferToBinaryString = (jsPDFAPI.__addimage__.arrayBufferToBinaryString = function(\r\n buffer\r\n ) {\r\n var out = \"\";\r\n // There are calls with both ArrayBuffer and already converted Uint8Array or other BufferView.\r\n // Do not copy the array if input is already an array.\r\n var buf = isArrayBufferView(buffer) ? buffer : new Uint8Array(buffer);\r\n for (var i = 0; i < buf.length; i += ARRAY_APPLY_BATCH) {\r\n // Limit the amount of characters being parsed to prevent overflow.\r\n // Note that while TextDecoder would be faster, it does not have the same\r\n // functionality as fromCharCode with any provided encodings as of 3/2021.\r\n out += String.fromCharCode.apply(\r\n null,\r\n buf.subarray(i, i + ARRAY_APPLY_BATCH)\r\n );\r\n }\r\n return out;\r\n });\r\n\r\n /**\r\n * Possible parameter for addImage, an RGBA buffer with size.\r\n *\r\n * @typedef {Object} RGBAData\r\n * @property {Uint8ClampedArray} data - Single dimensional array of RGBA values. For example from canvas getImageData.\r\n * @property {number} width - Image width as the data does not carry this information in itself.\r\n * @property {number} height - Image height as the data does not carry this information in itself.\r\n */\r\n\r\n /**\r\n * Adds an Image to the PDF.\r\n *\r\n * @name addImage\r\n * @public\r\n * @function\r\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).\r\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'\r\n * @param {number} x x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} width width of the image (in units declared at inception of PDF document)\r\n * @param {number} height height of the Image (in units declared at inception of PDF document)\r\n * @param {string} alias alias of the image (if used multiple times)\r\n * @param {string} compression compression of the generated JPEG, can have the values 'NONE', 'FAST', 'MEDIUM' and 'SLOW'\r\n * @param {number} rotation rotation of the image in degrees (0-359)\r\n *\r\n * @returns jsPDF\r\n */\r\n jsPDFAPI.addImage = function() {\r\n var imageData, format, x, y, w, h, alias, compression, rotation;\r\n\r\n imageData = arguments[0];\r\n if (typeof arguments[1] === \"number\") {\r\n format = UNKNOWN;\r\n x = arguments[1];\r\n y = arguments[2];\r\n w = arguments[3];\r\n h = arguments[4];\r\n alias = arguments[5];\r\n compression = arguments[6];\r\n rotation = arguments[7];\r\n } else {\r\n format = arguments[1];\r\n x = arguments[2];\r\n y = arguments[3];\r\n w = arguments[4];\r\n h = arguments[5];\r\n alias = arguments[6];\r\n compression = arguments[7];\r\n rotation = arguments[8];\r\n }\r\n\r\n if (\r\n typeof imageData === \"object\" &&\r\n !isDOMElement(imageData) &&\r\n \"imageData\" in imageData\r\n ) {\r\n var options = imageData;\r\n\r\n imageData = options.imageData;\r\n format = options.format || format || UNKNOWN;\r\n x = options.x || x || 0;\r\n y = options.y || y || 0;\r\n w = options.w || options.width || w;\r\n h = options.h || options.height || h;\r\n alias = options.alias || alias;\r\n compression = options.compression || compression;\r\n rotation = options.rotation || options.angle || rotation;\r\n }\r\n\r\n //If compression is not explicitly set, determine if we should use compression\r\n var filter = this.internal.getFilters();\r\n if (compression === undefined && filter.indexOf(\"FlateEncode\") !== -1) {\r\n compression = \"SLOW\";\r\n }\r\n\r\n if (isNaN(x) || isNaN(y)) {\r\n throw new Error(\"Invalid coordinates passed to jsPDF.addImage\");\r\n }\r\n\r\n initialize.call(this);\r\n\r\n var image = processImageData.call(\r\n this,\r\n imageData,\r\n format,\r\n alias,\r\n compression\r\n );\r\n\r\n writeImageToPDF.call(this, x, y, w, h, image, rotation);\r\n\r\n return this;\r\n };\r\n\r\n var processImageData = function(imageData, format, alias, compression) {\r\n var result, dataAsBinaryString;\r\n\r\n if (\r\n typeof imageData === \"string\" &&\r\n getImageFileTypeByImageData(imageData) === UNKNOWN\r\n ) {\r\n imageData = unescape(imageData);\r\n var tmpImageData = convertBase64ToBinaryString(imageData, false);\r\n\r\n if (tmpImageData !== \"\") {\r\n imageData = tmpImageData;\r\n } else {\r\n tmpImageData = jsPDFAPI.loadFile(imageData, true);\r\n if (tmpImageData !== undefined) {\r\n imageData = tmpImageData;\r\n }\r\n }\r\n }\r\n\r\n if (isDOMElement(imageData)) {\r\n imageData = getImageDataFromElement(imageData, format);\r\n }\r\n\r\n format = getImageFileTypeByImageData(imageData, format);\r\n if (!isImageTypeSupported(format)) {\r\n throw new Error(\r\n \"addImage does not support files of type '\" +\r\n format +\r\n \"', please ensure that a plugin for '\" +\r\n format +\r\n \"' support is added.\"\r\n );\r\n }\r\n\r\n // now do the heavy lifting\r\n\r\n if (notDefined(alias)) {\r\n alias = generateAliasFromImageData(imageData);\r\n }\r\n result = checkImagesForAlias.call(this, alias);\r\n\r\n if (!result) {\r\n if (supportsArrayBuffer()) {\r\n // no need to convert if imageData is already uint8array\r\n if (!(imageData instanceof Uint8Array) && format !== \"RGBA\") {\r\n dataAsBinaryString = imageData;\r\n imageData = binaryStringToUint8Array(imageData);\r\n }\r\n }\r\n\r\n result = this[\"process\" + format.toUpperCase()](\r\n imageData,\r\n getImageIndex.call(this),\r\n alias,\r\n checkCompressValue(compression),\r\n dataAsBinaryString\r\n );\r\n }\r\n\r\n if (!result) {\r\n throw new Error(\"An unknown error occurred whilst processing the image.\");\r\n }\r\n return result;\r\n };\r\n\r\n /**\r\n * @name convertBase64ToBinaryString\r\n * @function\r\n * @param {string} stringData\r\n * @returns {string} binary string\r\n */\r\n var convertBase64ToBinaryString = (jsPDFAPI.__addimage__.convertBase64ToBinaryString = function(\r\n stringData,\r\n throwError\r\n ) {\r\n throwError = typeof throwError === \"boolean\" ? throwError : true;\r\n var imageData = \"\";\r\n var rawData;\r\n\r\n if (typeof stringData === \"string\") {\r\n rawData = extractImageFromDataUrl(stringData) ?? stringData;\r\n\r\n try {\r\n imageData = atob(rawData);\r\n } catch (e) {\r\n if (throwError) {\r\n if (!validateStringAsBase64(rawData)) {\r\n throw new Error(\r\n \"Supplied Data is not a valid base64-String jsPDF.convertBase64ToBinaryString \"\r\n );\r\n } else {\r\n throw new Error(\r\n \"atob-Error in jsPDF.convertBase64ToBinaryString \" + e.message\r\n );\r\n }\r\n }\r\n }\r\n }\r\n return imageData;\r\n });\r\n\r\n /**\r\n * @name getImageProperties\r\n * @function\r\n * @param {Object} imageData\r\n * @returns {Object}\r\n */\r\n jsPDFAPI.getImageProperties = function(imageData) {\r\n var image;\r\n var tmpImageData = \"\";\r\n var format;\r\n\r\n if (isDOMElement(imageData)) {\r\n imageData = getImageDataFromElement(imageData);\r\n }\r\n\r\n if (\r\n typeof imageData === \"string\" &&\r\n getImageFileTypeByImageData(imageData) === UNKNOWN\r\n ) {\r\n tmpImageData = convertBase64ToBinaryString(imageData, false);\r\n\r\n if (tmpImageData === \"\") {\r\n tmpImageData = jsPDFAPI.loadFile(imageData) || \"\";\r\n }\r\n imageData = tmpImageData;\r\n }\r\n\r\n format = getImageFileTypeByImageData(imageData);\r\n if (!isImageTypeSupported(format)) {\r\n throw new Error(\r\n \"addImage does not support files of type '\" +\r\n format +\r\n \"', please ensure that a plugin for '\" +\r\n format +\r\n \"' support is added.\"\r\n );\r\n }\r\n\r\n if (supportsArrayBuffer() && !(imageData instanceof Uint8Array)) {\r\n imageData = binaryStringToUint8Array(imageData);\r\n }\r\n\r\n image = this[\"process\" + format.toUpperCase()](imageData);\r\n\r\n if (!image) {\r\n throw new Error(\"An unknown error occurred whilst processing the image\");\r\n }\r\n\r\n image.fileType = format;\r\n\r\n return image;\r\n };\r\n})(jsPDF.API);\r\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","import DashboardLayout from \"../DashboardLayout\";\r\nimport InlineSpinner from \"../../../components/loading/InlineSpinner\";\r\nimport logo from \"../../../assets/images/logo-2.png\";\r\nimport { useRef, useState } from \"react\";\r\nimport { IoPrint } from \"react-icons/io5\";\r\nimport { useFetchData } from \"../../../helpers/api\";\r\nimport Cookies from \"js-cookie\";\r\nimport { jsPDF } from \"jspdf\";\r\nimport html2canvas from \"html2canvas\";\r\nimport \"../../../assets/css/pdf.css\";\r\n\r\nconst cookieData = Cookies.get(\"kalista-web-user\");\r\nconst customerData = cookieData ? JSON.parse(cookieData) : null;\r\nconst customerId = customerData?.Id ? customerData.Id : null;\r\n\r\nconst MakingCharges = () => {\r\n const pdfRef = useRef();\r\n const [isLoadingPDF, setLoadingPDF] = useState(false);\r\n const { data: makingChargeData, isLoading } = useFetchData(\r\n \"makingChargeData\",\r\n \"/Customer/GetMakingCharge\",\r\n { CustomerId: Number(customerId) }\r\n );\r\n\r\n const handlePrint = async () => {\r\n setLoadingPDF(true);\r\n const input = pdfRef.current;\r\n if (!input) return;\r\n\r\n try {\r\n // Clone the content to avoid messing up the UI\r\n const clonedElement = input.cloneNode(true);\r\n document.body.appendChild(clonedElement);\r\n\r\n // Apply fixed width only to the cloned version\r\n clonedElement.style.width = \"950px\";\r\n clonedElement.style.transform = \"scale(1)\";\r\n clonedElement.style.overflow = \"visible\";\r\n clonedElement.style.position = \"absolute\";\r\n clonedElement.style.left = \"-9999px\"; // Hide from view\r\n\r\n // Generate PDF from the cloned element\r\n const canvas = await html2canvas(clonedElement, {\r\n scale: 2,\r\n useCORS: true,\r\n });\r\n document.body.removeChild(clonedElement);\r\n\r\n const imgData = canvas.toDataURL(\"image/png\");\r\n const pdf = new jsPDF(\"p\", \"mm\", \"a4\");\r\n\r\n const margin = 10;\r\n const imgWidth = 210 - margin * 2;\r\n const imgHeight = (canvas.height * imgWidth) / canvas.width;\r\n\r\n pdf.addImage(imgData, \"PNG\", margin, margin, imgWidth, imgHeight);\r\n pdf.save(\"kalista-making-charges.pdf\");\r\n } catch (error) {\r\n console.error(\"Error generating PDF:\", error);\r\n } finally {\r\n setLoadingPDF(false);\r\n }\r\n };\r\n\r\n const data =\r\n makingChargeData?.Data.length > 0 ? makingChargeData.Data[0] : [];\r\n\r\n return (\r\n \r\n {isLoading ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n <>\r\n
    \r\n \r\n {isLoadingPDF ? (\r\n \r\n ) : (\r\n <>\r\n Print \r\n \r\n )}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n JOB WORK ORDER POLICY - KS\r\n

    \r\n \"Kalista\"\r\n
    \r\n
    \r\n {/* Gold */}\r\n

    Gold

    \r\n
      \r\n
    • \r\n We take an equivalent quantity of gold in advance against\r\n confirmation of an order with gold issue voucher only\r\n
    • \r\n
    • \r\n We take gold purity 100% as base purity and the received\r\n gold will be converted accordingly.\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
    MANUFACTURING / MELTING PURITY(KT.)FINISHED GOODS / BILLING PURITY(KT.)
    14KT - 58.40%59.50%
    18KT - 75.10%76.00%
    \r\n
    \r\n\r\n {/* Diamond */}\r\n

    Diamond

    \r\n
      \r\n
    • \r\n Party has to provide item wise diamond bagging with issue\r\n voucher as per our standard procurement process (our sales\r\n co-ordinator will explain the same at the time of first\r\n order).\r\n
    • \r\n
    • \r\n Approximately 2-3% of Diamond breakage may be bared by the\r\n client depending on Quality/ Purity of diamonds\r\n
    • \r\n
    • \r\n In case of Tapper-Buguette breakage % may vary as per the\r\n nature & complication involved in the setting work.\r\n
    • \r\n
    \r\n\r\n {/* Making Charges */}\r\n

    Making Charges

    \r\n
      \r\n
    • \r\n We charge labour per gram on net gold weight, As below.\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
    TYPES OF PRODUCTMAKING
    All TYPES OF PRODUCT EXCEPT NECKLACE SET{data.AllTypeOfProduct || \"625\"} /-
    NECKLACE SET{data.NecklaceSet || \"675\"} /-
    \r\n
    \r\n Minimum labor of 2.0 grams will be charged for the items\r\n having wt. below 2.0 grams\r\n
    \r\n
    \r\n\r\n {/* Extra Charges */}\r\n

    Extra Charges

    \r\n
      \r\n
    • \r\n Any types of Repairing, Resizing, Refining, Hallmarking,\r\n Stamping and other customisation work will be charged extra\r\n as per actual.\r\n
    • \r\n
    \r\n\r\n {/* Delivery */}\r\n

    Delivery

    \r\n
      \r\n
    • \r\n Customer order within {data.CustomerOrder || \"7\"} working\r\n days.\r\n
    • \r\n
    • \r\n Customer order with customisation within{\" \"}\r\n {data.CustomerOrderCust || \"13\"} working days\r\n
    • \r\n
    • \r\n Stock order within {data.StockOrder || \"13\"} working days.\r\n
    • \r\n
    • \r\n Delivery days are counted after receiving gold & diamond.\r\n
    • \r\n
    \r\n\r\n {/* Payment */}\r\n

    Payment

    \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
    TYPES OF PAYMENTTERMS OF PAYMENT
    Labor PaymentAgainst delivery through bank only
    Parcel Charges\r\n {data.ParcelCharges === \"Both Side\"\r\n ? \"Both side by the client\"\r\n : \"One side by Client, One side by Us\" ||\r\n \"Both side by the client\"}\r\n
    \r\n
    \r\n\r\n {/* Logistics */}\r\n

    Logistics

    \r\n
      \r\n
    • \r\n As per our experience, for the safe and reliable logistic we\r\n strongly recommend\r\n BVC, SEQUEL, RADIANT & AMBE XPRESS \r\n to all our clients, if not then you must provide any three\r\n logistic agencies of your choice and we will hand over your\r\n parcel to them at your risk during transit.\r\n
    • \r\n
    \r\n\r\n {/* bottom */}\r\n

    \r\n For any queries please feel free to contact\r\n MR. SAHIL KOSHIA on +91 98679 39900\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nexport default MakingCharges;\r\n","import { BrowserRouter as Router, Routes, Route } from \"react-router-dom\";\r\nimport Home from \"./pages/Home\";\r\nimport Product from \"./pages/Product\";\r\nimport About from \"./pages/other/About\";\r\nimport Contact from \"./pages/other/Contact\";\r\nimport Register from \"./pages/auth/Register\";\r\nimport Login from \"./pages/auth/Login\";\r\nimport Cart from \"./pages/other/Cart\";\r\nimport NotFound from \"./pages/other/NotFound\";\r\nimport ScrollToTop from \"./helpers/scroll-top\";\r\nimport WhatsappFloatBtn from \"./components/WhatsappFloatBtn\";\r\nimport MyOrders from \"./pages/dashboard/Orders\";\r\nimport ProtectedRoute from \"./wrappers/ProtectedRoute\";\r\nimport Details from \"./pages/dashboard/companyDetails/Details\";\r\nimport OrderSuccess from \"./pages/order/OrderSuccess\";\r\nimport BlogNoSidebar from \"./pages/blog/BlogNoSidebar\";\r\nimport Expertise from \"./pages/other/Expertise\";\r\nimport Career from \"./pages/other/Career\";\r\nimport Media from \"./pages/other/Media\";\r\nimport BlogStandard from \"./pages/blog/BlogStandard\";\r\nimport BlogRightSidebar from \"./pages/blog/BlogRightSidebar\";\r\nimport BlogDetailsStandard from \"./pages/blog/BlogDetailsStandard\";\r\nimport Logout from \"./pages/auth/Logout\";\r\nimport Category from \"./pages/category/Category\";\r\nimport Collection from \"./pages/category/collection/Collection\";\r\nimport OrderDetail from \"./pages/order/OrderDetail\";\r\nimport TermsCondition from \"./pages/footerPages/TermsCondition\";\r\nimport OurPolicy from \"./pages/footerPages/OurPolicy\";\r\nimport PrivacyPolicy from \"./pages/footerPages/PrivacyPolicy\";\r\nimport ShippingPolicy from \"./pages/footerPages/ShippingPolicy\";\r\nimport ReturnPolicy from \"./pages/footerPages/ReturnPolicy\";\r\nimport CancellationPolicy from \"./pages/footerPages/CancellationPolicy\";\r\nimport Search from \"./pages/Search\";\r\nimport MyStock from \"./pages/dashboard/myStock\";\r\nimport MakingCharges from \"./pages/dashboard/makingCharges\";\r\nimport \"./index.css\";\r\nimport \"./assets/css/mobile.css\";\r\n\r\nconst routes = [\r\n { path: \"/\", element: },\r\n { path: \"/product/:id\", element: } /> },\r\n { path: \"/category/:id\", element: },\r\n { path: \"/collection/:id\", element: },\r\n { path: \"/AboutUs\", element: },\r\n { path: \"/ContactUs\", element: },\r\n { path: \"/search\", element: },\r\n { path: \"/orders\", element: } /> },\r\n { path: \"/my-stock\", element: } /> },\r\n { path: \"/details\", element: } /> },\r\n {\r\n path: \"/order-success\",\r\n element: } />,\r\n },\r\n { path: \"/order/:id\", element: } /> },\r\n { path: \"/logout\", element: } /> },\r\n {\r\n path: \"/making-charges\",\r\n element: } />,\r\n },\r\n { path: \"/register\", element: },\r\n { path: \"/login\", element: },\r\n { path: \"/cart\", element: },\r\n\r\n { path: \"/terms-condition\", element: },\r\n { path: \"/our-policy\", element: },\r\n { path: \"/privacy-policy\", element: },\r\n { path: \"/shipping-policy\", element: },\r\n { path: \"/return-policy\", element: },\r\n { path: \"/cancellation-policy\", element: },\r\n { path: \"/blog-no-sidebar\", element: },\r\n { path: \"/blog\", element: },\r\n { path: \"/blog-standard\", element: },\r\n { path: \"/blog-right-sidebar\", element: },\r\n { path: \"/blog-details-standard\", element: },\r\n { path: \"/career\", element: },\r\n { path: \"/expertise\", element: },\r\n { path: \"/media\", element: },\r\n { path: \"*\", element: },\r\n];\r\n\r\nconst App = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n {routes.map(({ path, element }) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default App;\r\n","import { hashQueryKeyByOptions, matchQuery } from './utils'\nimport { Query } from './query'\nimport { notifyManager } from './notifyManager'\nimport { Subscribable } from './subscribable'\nimport type { QueryFilters } from './utils'\nimport type { Action, QueryState } from './query'\nimport type {\n DefaultError,\n NotifyEvent,\n QueryKey,\n QueryOptions,\n WithRequired,\n} from './types'\nimport type { QueryClient } from './queryClient'\nimport type { QueryObserver } from './queryObserver'\n\n// TYPES\n\ninterface QueryCacheConfig {\n onError?: (\n error: DefaultError,\n query: Query,\n ) => void\n onSuccess?: (data: unknown, query: Query) => void\n onSettled?: (\n data: unknown | undefined,\n error: DefaultError | null,\n query: Query,\n ) => void\n}\n\ninterface NotifyEventQueryAdded extends NotifyEvent {\n type: 'added'\n query: Query\n}\n\ninterface NotifyEventQueryRemoved extends NotifyEvent {\n type: 'removed'\n query: Query\n}\n\ninterface NotifyEventQueryUpdated extends NotifyEvent {\n type: 'updated'\n query: Query\n action: Action\n}\n\ninterface NotifyEventQueryObserverAdded extends NotifyEvent {\n type: 'observerAdded'\n query: Query\n observer: QueryObserver\n}\n\ninterface NotifyEventQueryObserverRemoved extends NotifyEvent {\n type: 'observerRemoved'\n query: Query\n observer: QueryObserver\n}\n\ninterface NotifyEventQueryObserverResultsUpdated extends NotifyEvent {\n type: 'observerResultsUpdated'\n query: Query\n}\n\ninterface NotifyEventQueryObserverOptionsUpdated extends NotifyEvent {\n type: 'observerOptionsUpdated'\n query: Query\n observer: QueryObserver\n}\n\nexport type QueryCacheNotifyEvent =\n | NotifyEventQueryAdded\n | NotifyEventQueryRemoved\n | NotifyEventQueryUpdated\n | NotifyEventQueryObserverAdded\n | NotifyEventQueryObserverRemoved\n | NotifyEventQueryObserverResultsUpdated\n | NotifyEventQueryObserverOptionsUpdated\n\ntype QueryCacheListener = (event: QueryCacheNotifyEvent) => void\n\nexport interface QueryStore {\n has: (queryHash: string) => boolean\n set: (queryHash: string, query: Query) => void\n get: (queryHash: string) => Query | undefined\n delete: (queryHash: string) => void\n values: () => IterableIterator\n}\n\n// CLASS\n\nexport class QueryCache extends Subscribable {\n #queries: QueryStore\n\n constructor(public config: QueryCacheConfig = {}) {\n super()\n this.#queries = new Map()\n }\n\n build<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n client: QueryClient,\n options: WithRequired<\n QueryOptions,\n 'queryKey'\n >,\n state?: QueryState,\n ): Query {\n const queryKey = options.queryKey\n const queryHash =\n options.queryHash ?? hashQueryKeyByOptions(queryKey, options)\n let query = this.get(queryHash)\n\n if (!query) {\n query = new Query({\n cache: this,\n queryKey,\n queryHash,\n options: client.defaultQueryOptions(options),\n state,\n defaultOptions: client.getQueryDefaults(queryKey),\n })\n this.add(query)\n }\n\n return query\n }\n\n add(query: Query): void {\n if (!this.#queries.has(query.queryHash)) {\n this.#queries.set(query.queryHash, query)\n\n this.notify({\n type: 'added',\n query,\n })\n }\n }\n\n remove(query: Query): void {\n const queryInMap = this.#queries.get(query.queryHash)\n\n if (queryInMap) {\n query.destroy()\n\n if (queryInMap === query) {\n this.#queries.delete(query.queryHash)\n }\n\n this.notify({ type: 'removed', query })\n }\n }\n\n clear(): void {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n this.remove(query)\n })\n })\n }\n\n get<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryHash: string,\n ): Query | undefined {\n return this.#queries.get(queryHash) as\n | Query\n | undefined\n }\n\n getAll(): Array {\n return [...this.#queries.values()]\n }\n\n find(\n filters: WithRequired,\n ): Query | undefined {\n const defaultedFilters = { exact: true, ...filters }\n\n return this.getAll().find((query) =>\n matchQuery(defaultedFilters, query),\n ) as Query | undefined\n }\n\n findAll(filters: QueryFilters = {}): Array {\n const queries = this.getAll()\n return Object.keys(filters).length > 0\n ? queries.filter((query) => matchQuery(filters, query))\n : queries\n }\n\n notify(event: QueryCacheNotifyEvent) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event)\n })\n })\n }\n\n onFocus(): void {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onFocus()\n })\n })\n }\n\n onOnline(): void {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onOnline()\n })\n })\n }\n}\n","import { notifyManager } from './notifyManager'\nimport { Removable } from './removable'\nimport { createRetryer } from './retryer'\nimport type {\n DefaultError,\n MutationMeta,\n MutationOptions,\n MutationStatus,\n} from './types'\nimport type { MutationCache } from './mutationCache'\nimport type { MutationObserver } from './mutationObserver'\nimport type { Retryer } from './retryer'\n\n// TYPES\n\ninterface MutationConfig {\n mutationId: number\n mutationCache: MutationCache\n options: MutationOptions\n state?: MutationState\n}\n\nexport interface MutationState<\n TData = unknown,\n TError = DefaultError,\n TVariables = unknown,\n TContext = unknown,\n> {\n context: TContext | undefined\n data: TData | undefined\n error: TError | null\n failureCount: number\n failureReason: TError | null\n isPaused: boolean\n status: MutationStatus\n variables: TVariables | undefined\n submittedAt: number\n}\n\ninterface FailedAction {\n type: 'failed'\n failureCount: number\n error: TError | null\n}\n\ninterface PendingAction {\n type: 'pending'\n isPaused: boolean\n variables?: TVariables\n context?: TContext\n}\n\ninterface SuccessAction {\n type: 'success'\n data: TData\n}\n\ninterface ErrorAction {\n type: 'error'\n error: TError\n}\n\ninterface PauseAction {\n type: 'pause'\n}\n\ninterface ContinueAction {\n type: 'continue'\n}\n\nexport type Action =\n | ContinueAction\n | ErrorAction\n | FailedAction\n | PendingAction\n | PauseAction\n | SuccessAction\n\n// CLASS\n\nexport class Mutation<\n TData = unknown,\n TError = DefaultError,\n TVariables = unknown,\n TContext = unknown,\n> extends Removable {\n state: MutationState\n options!: MutationOptions\n readonly mutationId: number\n\n #observers: Array>\n #mutationCache: MutationCache\n #retryer?: Retryer\n\n constructor(config: MutationConfig) {\n super()\n\n this.mutationId = config.mutationId\n this.#mutationCache = config.mutationCache\n this.#observers = []\n this.state = config.state || getDefaultState()\n\n this.setOptions(config.options)\n this.scheduleGc()\n }\n\n setOptions(\n options: MutationOptions,\n ): void {\n this.options = options\n\n this.updateGcTime(this.options.gcTime)\n }\n\n get meta(): MutationMeta | undefined {\n return this.options.meta\n }\n\n addObserver(observer: MutationObserver): void {\n if (!this.#observers.includes(observer)) {\n this.#observers.push(observer)\n\n // Stop the mutation from being garbage collected\n this.clearGcTimeout()\n\n this.#mutationCache.notify({\n type: 'observerAdded',\n mutation: this,\n observer,\n })\n }\n }\n\n removeObserver(observer: MutationObserver): void {\n this.#observers = this.#observers.filter((x) => x !== observer)\n\n this.scheduleGc()\n\n this.#mutationCache.notify({\n type: 'observerRemoved',\n mutation: this,\n observer,\n })\n }\n\n protected optionalRemove() {\n if (!this.#observers.length) {\n if (this.state.status === 'pending') {\n this.scheduleGc()\n } else {\n this.#mutationCache.remove(this)\n }\n }\n }\n\n continue(): Promise {\n return (\n this.#retryer?.continue() ??\n // continuing a mutation assumes that variables are set, mutation must have been dehydrated before\n this.execute(this.state.variables!)\n )\n }\n\n async execute(variables: TVariables): Promise {\n this.#retryer = createRetryer({\n fn: () => {\n if (!this.options.mutationFn) {\n return Promise.reject(new Error('No mutationFn found'))\n }\n return this.options.mutationFn(variables)\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: 'failed', failureCount, error })\n },\n onPause: () => {\n this.#dispatch({ type: 'pause' })\n },\n onContinue: () => {\n this.#dispatch({ type: 'continue' })\n },\n retry: this.options.retry ?? 0,\n retryDelay: this.options.retryDelay,\n networkMode: this.options.networkMode,\n canRun: () => this.#mutationCache.canRun(this),\n })\n\n const restored = this.state.status === 'pending'\n const isPaused = !this.#retryer.canStart()\n\n try {\n if (!restored) {\n this.#dispatch({ type: 'pending', variables, isPaused })\n // Notify cache callback\n await this.#mutationCache.config.onMutate?.(\n variables,\n this as Mutation,\n )\n const context = await this.options.onMutate?.(variables)\n if (context !== this.state.context) {\n this.#dispatch({\n type: 'pending',\n context,\n variables,\n isPaused,\n })\n }\n }\n const data = await this.#retryer.start()\n\n // Notify cache callback\n await this.#mutationCache.config.onSuccess?.(\n data,\n variables,\n this.state.context,\n this as Mutation,\n )\n\n await this.options.onSuccess?.(data, variables, this.state.context!)\n\n // Notify cache callback\n await this.#mutationCache.config.onSettled?.(\n data,\n null,\n this.state.variables,\n this.state.context,\n this as Mutation,\n )\n\n await this.options.onSettled?.(data, null, variables, this.state.context)\n\n this.#dispatch({ type: 'success', data })\n return data\n } catch (error) {\n try {\n // Notify cache callback\n await this.#mutationCache.config.onError?.(\n error as any,\n variables,\n this.state.context,\n this as Mutation,\n )\n\n await this.options.onError?.(\n error as TError,\n variables,\n this.state.context,\n )\n\n // Notify cache callback\n await this.#mutationCache.config.onSettled?.(\n undefined,\n error as any,\n this.state.variables,\n this.state.context,\n this as Mutation,\n )\n\n await this.options.onSettled?.(\n undefined,\n error as TError,\n variables,\n this.state.context,\n )\n throw error\n } finally {\n this.#dispatch({ type: 'error', error: error as TError })\n }\n } finally {\n this.#mutationCache.runNext(this)\n }\n }\n\n #dispatch(action: Action): void {\n const reducer = (\n state: MutationState,\n ): MutationState => {\n switch (action.type) {\n case 'failed':\n return {\n ...state,\n failureCount: action.failureCount,\n failureReason: action.error,\n }\n case 'pause':\n return {\n ...state,\n isPaused: true,\n }\n case 'continue':\n return {\n ...state,\n isPaused: false,\n }\n case 'pending':\n return {\n ...state,\n context: action.context,\n data: undefined,\n failureCount: 0,\n failureReason: null,\n error: null,\n isPaused: action.isPaused,\n status: 'pending',\n variables: action.variables,\n submittedAt: Date.now(),\n }\n case 'success':\n return {\n ...state,\n data: action.data,\n failureCount: 0,\n failureReason: null,\n error: null,\n status: 'success',\n isPaused: false,\n }\n case 'error':\n return {\n ...state,\n data: undefined,\n error: action.error,\n failureCount: state.failureCount + 1,\n failureReason: action.error,\n isPaused: false,\n status: 'error',\n }\n }\n }\n this.state = reducer(this.state)\n\n notifyManager.batch(() => {\n this.#observers.forEach((observer) => {\n observer.onMutationUpdate(action)\n })\n this.#mutationCache.notify({\n mutation: this,\n type: 'updated',\n action,\n })\n })\n }\n}\n\nexport function getDefaultState<\n TData,\n TError,\n TVariables,\n TContext,\n>(): MutationState {\n return {\n context: undefined,\n data: undefined,\n error: null,\n failureCount: 0,\n failureReason: null,\n isPaused: false,\n status: 'idle',\n variables: undefined,\n submittedAt: 0,\n }\n}\n","import { notifyManager } from './notifyManager'\nimport { Mutation } from './mutation'\nimport { matchMutation, noop } from './utils'\nimport { Subscribable } from './subscribable'\nimport type { MutationObserver } from './mutationObserver'\nimport type { DefaultError, MutationOptions, NotifyEvent } from './types'\nimport type { QueryClient } from './queryClient'\nimport type { Action, MutationState } from './mutation'\nimport type { MutationFilters } from './utils'\n\n// TYPES\n\ninterface MutationCacheConfig {\n onError?: (\n error: DefaultError,\n variables: unknown,\n context: unknown,\n mutation: Mutation,\n ) => Promise | unknown\n onSuccess?: (\n data: unknown,\n variables: unknown,\n context: unknown,\n mutation: Mutation,\n ) => Promise | unknown\n onMutate?: (\n variables: unknown,\n mutation: Mutation,\n ) => Promise | unknown\n onSettled?: (\n data: unknown | undefined,\n error: DefaultError | null,\n variables: unknown,\n context: unknown,\n mutation: Mutation,\n ) => Promise | unknown\n}\n\ninterface NotifyEventMutationAdded extends NotifyEvent {\n type: 'added'\n mutation: Mutation\n}\ninterface NotifyEventMutationRemoved extends NotifyEvent {\n type: 'removed'\n mutation: Mutation\n}\n\ninterface NotifyEventMutationObserverAdded extends NotifyEvent {\n type: 'observerAdded'\n mutation: Mutation\n observer: MutationObserver\n}\n\ninterface NotifyEventMutationObserverRemoved extends NotifyEvent {\n type: 'observerRemoved'\n mutation: Mutation\n observer: MutationObserver\n}\n\ninterface NotifyEventMutationObserverOptionsUpdated extends NotifyEvent {\n type: 'observerOptionsUpdated'\n mutation?: Mutation\n observer: MutationObserver\n}\n\ninterface NotifyEventMutationUpdated extends NotifyEvent {\n type: 'updated'\n mutation: Mutation\n action: Action\n}\n\nexport type MutationCacheNotifyEvent =\n | NotifyEventMutationAdded\n | NotifyEventMutationRemoved\n | NotifyEventMutationObserverAdded\n | NotifyEventMutationObserverRemoved\n | NotifyEventMutationObserverOptionsUpdated\n | NotifyEventMutationUpdated\n\ntype MutationCacheListener = (event: MutationCacheNotifyEvent) => void\n\n// CLASS\n\nexport class MutationCache extends Subscribable {\n #mutations: Map>>\n #mutationId: number\n\n constructor(public config: MutationCacheConfig = {}) {\n super()\n this.#mutations = new Map()\n this.#mutationId = Date.now()\n }\n\n build(\n client: QueryClient,\n options: MutationOptions,\n state?: MutationState,\n ): Mutation {\n const mutation = new Mutation({\n mutationCache: this,\n mutationId: ++this.#mutationId,\n options: client.defaultMutationOptions(options),\n state,\n })\n\n this.add(mutation)\n\n return mutation\n }\n\n add(mutation: Mutation): void {\n const scope = scopeFor(mutation)\n const mutations = this.#mutations.get(scope) ?? []\n mutations.push(mutation)\n this.#mutations.set(scope, mutations)\n this.notify({ type: 'added', mutation })\n }\n\n remove(mutation: Mutation): void {\n const scope = scopeFor(mutation)\n if (this.#mutations.has(scope)) {\n const mutations = this.#mutations\n .get(scope)\n ?.filter((x) => x !== mutation)\n if (mutations) {\n if (mutations.length === 0) {\n this.#mutations.delete(scope)\n } else {\n this.#mutations.set(scope, mutations)\n }\n }\n }\n\n this.notify({ type: 'removed', mutation })\n }\n\n canRun(mutation: Mutation): boolean {\n const firstPendingMutation = this.#mutations\n .get(scopeFor(mutation))\n ?.find((m) => m.state.status === 'pending')\n\n // we can run if there is no current pending mutation (start use-case)\n // or if WE are the first pending mutation (continue use-case)\n return !firstPendingMutation || firstPendingMutation === mutation\n }\n\n runNext(mutation: Mutation): Promise {\n const foundMutation = this.#mutations\n .get(scopeFor(mutation))\n ?.find((m) => m !== mutation && m.state.isPaused)\n\n return foundMutation?.continue() ?? Promise.resolve()\n }\n\n clear(): void {\n notifyManager.batch(() => {\n this.getAll().forEach((mutation) => {\n this.remove(mutation)\n })\n })\n }\n\n getAll(): Array {\n return [...this.#mutations.values()].flat()\n }\n\n find<\n TData = unknown,\n TError = DefaultError,\n TVariables = any,\n TContext = unknown,\n >(\n filters: MutationFilters,\n ): Mutation | undefined {\n const defaultedFilters = { exact: true, ...filters }\n\n return this.getAll().find((mutation) =>\n matchMutation(defaultedFilters, mutation),\n ) as Mutation | undefined\n }\n\n findAll(filters: MutationFilters = {}): Array {\n return this.getAll().filter((mutation) => matchMutation(filters, mutation))\n }\n\n notify(event: MutationCacheNotifyEvent) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event)\n })\n })\n }\n\n resumePausedMutations(): Promise {\n const pausedMutations = this.getAll().filter((x) => x.state.isPaused)\n\n return notifyManager.batch(() =>\n Promise.all(\n pausedMutations.map((mutation) => mutation.continue().catch(noop)),\n ),\n )\n }\n}\n\nfunction scopeFor(mutation: Mutation) {\n return mutation.options.scope?.id ?? String(mutation.mutationId)\n}\n","import { addToEnd, addToStart, ensureQueryFn } from './utils'\nimport type { QueryBehavior } from './query'\nimport type {\n InfiniteData,\n InfiniteQueryPageParamsOptions,\n OmitKeyof,\n QueryFunctionContext,\n QueryKey,\n} from './types'\n\nexport function infiniteQueryBehavior(\n pages?: number,\n): QueryBehavior> {\n return {\n onFetch: (context, query) => {\n const options = context.options as InfiniteQueryPageParamsOptions\n const direction = context.fetchOptions?.meta?.fetchMore?.direction\n const oldPages = context.state.data?.pages || []\n const oldPageParams = context.state.data?.pageParams || []\n let result: InfiniteData = { pages: [], pageParams: [] }\n let currentPage = 0\n\n const fetchFn = async () => {\n let cancelled = false\n const addSignalProperty = (object: unknown) => {\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n if (context.signal.aborted) {\n cancelled = true\n } else {\n context.signal.addEventListener('abort', () => {\n cancelled = true\n })\n }\n return context.signal\n },\n })\n }\n\n const queryFn = ensureQueryFn(context.options, context.fetchOptions)\n\n // Create function to fetch a page\n const fetchPage = async (\n data: InfiniteData,\n param: unknown,\n previous?: boolean,\n ): Promise> => {\n if (cancelled) {\n return Promise.reject()\n }\n\n if (param == null && data.pages.length) {\n return Promise.resolve(data)\n }\n\n const queryFnContext: OmitKeyof<\n QueryFunctionContext,\n 'signal'\n > = {\n queryKey: context.queryKey,\n pageParam: param,\n direction: previous ? 'backward' : 'forward',\n meta: context.options.meta,\n }\n\n addSignalProperty(queryFnContext)\n\n const page = await queryFn(\n queryFnContext as QueryFunctionContext,\n )\n\n const { maxPages } = context.options\n const addTo = previous ? addToStart : addToEnd\n\n return {\n pages: addTo(data.pages, page, maxPages),\n pageParams: addTo(data.pageParams, param, maxPages),\n }\n }\n\n // fetch next / previous page?\n if (direction && oldPages.length) {\n const previous = direction === 'backward'\n const pageParamFn = previous ? getPreviousPageParam : getNextPageParam\n const oldData = {\n pages: oldPages,\n pageParams: oldPageParams,\n }\n const param = pageParamFn(options, oldData)\n\n result = await fetchPage(oldData, param, previous)\n } else {\n const remainingPages = pages ?? oldPages.length\n\n // Fetch all pages\n do {\n const param =\n currentPage === 0\n ? (oldPageParams[0] ?? options.initialPageParam)\n : getNextPageParam(options, result)\n if (currentPage > 0 && param == null) {\n break\n }\n result = await fetchPage(result, param)\n currentPage++\n } while (currentPage < remainingPages)\n }\n\n return result\n }\n if (context.options.persister) {\n context.fetchFn = () => {\n return context.options.persister?.(\n fetchFn as any,\n {\n queryKey: context.queryKey,\n meta: context.options.meta,\n signal: context.signal,\n },\n query,\n )\n }\n } else {\n context.fetchFn = fetchFn\n }\n },\n }\n}\n\nfunction getNextPageParam(\n options: InfiniteQueryPageParamsOptions,\n { pages, pageParams }: InfiniteData,\n): unknown | undefined {\n const lastIndex = pages.length - 1\n return pages.length > 0\n ? options.getNextPageParam(\n pages[lastIndex],\n pages,\n pageParams[lastIndex],\n pageParams,\n )\n : undefined\n}\n\nfunction getPreviousPageParam(\n options: InfiniteQueryPageParamsOptions,\n { pages, pageParams }: InfiniteData,\n): unknown | undefined {\n return pages.length > 0\n ? options.getPreviousPageParam?.(pages[0], pages, pageParams[0], pageParams)\n : undefined\n}\n\n/**\n * Checks if there is a next page.\n */\nexport function hasNextPage(\n options: InfiniteQueryPageParamsOptions,\n data?: InfiniteData,\n): boolean {\n if (!data) return false\n return getNextPageParam(options, data) != null\n}\n\n/**\n * Checks if there is a previous page.\n */\nexport function hasPreviousPage(\n options: InfiniteQueryPageParamsOptions,\n data?: InfiniteData,\n): boolean {\n if (!data || !options.getPreviousPageParam) return false\n return getPreviousPageParam(options, data) != null\n}\n","import {\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n noop,\n partialMatchKey,\n resolveStaleTime,\n skipToken,\n} from './utils'\nimport { QueryCache } from './queryCache'\nimport { MutationCache } from './mutationCache'\nimport { focusManager } from './focusManager'\nimport { onlineManager } from './onlineManager'\nimport { notifyManager } from './notifyManager'\nimport { infiniteQueryBehavior } from './infiniteQueryBehavior'\nimport type {\n CancelOptions,\n DataTag,\n DefaultError,\n DefaultOptions,\n DefaultedQueryObserverOptions,\n EnsureInfiniteQueryDataOptions,\n EnsureQueryDataOptions,\n FetchInfiniteQueryOptions,\n FetchQueryOptions,\n InfiniteData,\n InvalidateOptions,\n InvalidateQueryFilters,\n MutationKey,\n MutationObserverOptions,\n MutationOptions,\n NoInfer,\n OmitKeyof,\n QueryClientConfig,\n QueryKey,\n QueryObserverOptions,\n QueryOptions,\n RefetchOptions,\n RefetchQueryFilters,\n ResetOptions,\n SetDataOptions,\n} from './types'\nimport type { QueryState } from './query'\nimport type { MutationFilters, QueryFilters, Updater } from './utils'\n\n// TYPES\n\ninterface QueryDefaults {\n queryKey: QueryKey\n defaultOptions: OmitKeyof, 'queryKey'>\n}\n\ninterface MutationDefaults {\n mutationKey: MutationKey\n defaultOptions: MutationOptions\n}\n\n// CLASS\n\nexport class QueryClient {\n #queryCache: QueryCache\n #mutationCache: MutationCache\n #defaultOptions: DefaultOptions\n #queryDefaults: Map\n #mutationDefaults: Map\n #mountCount: number\n #unsubscribeFocus?: () => void\n #unsubscribeOnline?: () => void\n\n constructor(config: QueryClientConfig = {}) {\n this.#queryCache = config.queryCache || new QueryCache()\n this.#mutationCache = config.mutationCache || new MutationCache()\n this.#defaultOptions = config.defaultOptions || {}\n this.#queryDefaults = new Map()\n this.#mutationDefaults = new Map()\n this.#mountCount = 0\n }\n\n mount(): void {\n this.#mountCount++\n if (this.#mountCount !== 1) return\n\n this.#unsubscribeFocus = focusManager.subscribe(async (focused) => {\n if (focused) {\n await this.resumePausedMutations()\n this.#queryCache.onFocus()\n }\n })\n this.#unsubscribeOnline = onlineManager.subscribe(async (online) => {\n if (online) {\n await this.resumePausedMutations()\n this.#queryCache.onOnline()\n }\n })\n }\n\n unmount(): void {\n this.#mountCount--\n if (this.#mountCount !== 0) return\n\n this.#unsubscribeFocus?.()\n this.#unsubscribeFocus = undefined\n\n this.#unsubscribeOnline?.()\n this.#unsubscribeOnline = undefined\n }\n\n isFetching(filters?: QueryFilters): number {\n return this.#queryCache.findAll({ ...filters, fetchStatus: 'fetching' })\n .length\n }\n\n isMutating(filters?: MutationFilters): number {\n return this.#mutationCache.findAll({ ...filters, status: 'pending' }).length\n }\n\n getQueryData<\n TQueryFnData = unknown,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = TTaggedQueryKey extends DataTag<\n unknown,\n infer TaggedValue\n >\n ? TaggedValue\n : TQueryFnData,\n >(queryKey: TTaggedQueryKey): TInferredQueryFnData | undefined\n getQueryData(queryKey: QueryKey) {\n const options = this.defaultQueryOptions({ queryKey })\n return this.#queryCache.get(options.queryHash)?.state.data\n }\n\n ensureQueryData<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: EnsureQueryDataOptions,\n ): Promise {\n const cachedData = this.getQueryData(options.queryKey)\n\n if (cachedData === undefined) return this.fetchQuery(options)\n else {\n const defaultedOptions = this.defaultQueryOptions(options)\n const query = this.#queryCache.build(this, defaultedOptions)\n\n if (\n options.revalidateIfStale &&\n query.isStaleByTime(resolveStaleTime(defaultedOptions.staleTime, query))\n ) {\n void this.prefetchQuery(defaultedOptions)\n }\n\n return Promise.resolve(cachedData)\n }\n }\n\n getQueriesData(\n filters: QueryFilters,\n ): Array<[QueryKey, TQueryFnData | undefined]> {\n return this.#queryCache.findAll(filters).map(({ queryKey, state }) => {\n const data = state.data as TQueryFnData | undefined\n return [queryKey, data]\n })\n }\n\n setQueryData<\n TQueryFnData = unknown,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = TTaggedQueryKey extends DataTag<\n unknown,\n infer TaggedValue\n >\n ? TaggedValue\n : TQueryFnData,\n >(\n queryKey: TTaggedQueryKey,\n updater: Updater<\n NoInfer | undefined,\n NoInfer | undefined\n >,\n options?: SetDataOptions,\n ): TInferredQueryFnData | undefined {\n const defaultedOptions = this.defaultQueryOptions<\n any,\n any,\n unknown,\n any,\n QueryKey\n >({ queryKey })\n\n const query = this.#queryCache.get(\n defaultedOptions.queryHash,\n )\n const prevData = query?.state.data\n const data = functionalUpdate(updater, prevData)\n\n if (data === undefined) {\n return undefined\n }\n\n return this.#queryCache\n .build(this, defaultedOptions)\n .setData(data, { ...options, manual: true })\n }\n\n setQueriesData(\n filters: QueryFilters,\n updater: Updater,\n options?: SetDataOptions,\n ): Array<[QueryKey, TQueryFnData | undefined]> {\n return notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .map(({ queryKey }) => [\n queryKey,\n this.setQueryData(queryKey, updater, options),\n ]),\n )\n }\n\n getQueryState<\n TQueryFnData = unknown,\n TError = DefaultError,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = TTaggedQueryKey extends DataTag<\n unknown,\n infer TaggedValue\n >\n ? TaggedValue\n : TQueryFnData,\n >(\n queryKey: TTaggedQueryKey,\n ): QueryState | undefined {\n const options = this.defaultQueryOptions({ queryKey })\n return this.#queryCache.get(options.queryHash)\n ?.state\n }\n\n removeQueries(filters?: QueryFilters): void {\n const queryCache = this.#queryCache\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n queryCache.remove(query)\n })\n })\n }\n\n resetQueries(filters?: QueryFilters, options?: ResetOptions): Promise {\n const queryCache = this.#queryCache\n\n const refetchFilters: RefetchQueryFilters = {\n type: 'active',\n ...filters,\n }\n\n return notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n query.reset()\n })\n return this.refetchQueries(refetchFilters, options)\n })\n }\n\n cancelQueries(\n filters: QueryFilters = {},\n cancelOptions: CancelOptions = {},\n ): Promise {\n const defaultedCancelOptions = { revert: true, ...cancelOptions }\n\n const promises = notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .map((query) => query.cancel(defaultedCancelOptions)),\n )\n\n return Promise.all(promises).then(noop).catch(noop)\n }\n\n invalidateQueries(\n filters: InvalidateQueryFilters = {},\n options: InvalidateOptions = {},\n ): Promise {\n return notifyManager.batch(() => {\n this.#queryCache.findAll(filters).forEach((query) => {\n query.invalidate()\n })\n\n if (filters.refetchType === 'none') {\n return Promise.resolve()\n }\n const refetchFilters: RefetchQueryFilters = {\n ...filters,\n type: filters.refetchType ?? filters.type ?? 'active',\n }\n return this.refetchQueries(refetchFilters, options)\n })\n }\n\n refetchQueries(\n filters: RefetchQueryFilters = {},\n options?: RefetchOptions,\n ): Promise {\n const fetchOptions = {\n ...options,\n cancelRefetch: options?.cancelRefetch ?? true,\n }\n const promises = notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .filter((query) => !query.isDisabled())\n .map((query) => {\n let promise = query.fetch(undefined, fetchOptions)\n if (!fetchOptions.throwOnError) {\n promise = promise.catch(noop)\n }\n return query.state.fetchStatus === 'paused'\n ? Promise.resolve()\n : promise\n }),\n )\n\n return Promise.all(promises).then(noop)\n }\n\n fetchQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n >(\n options: FetchQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise {\n const defaultedOptions = this.defaultQueryOptions(options)\n\n // https://github.com/tannerlinsley/react-query/issues/652\n if (defaultedOptions.retry === undefined) {\n defaultedOptions.retry = false\n }\n\n const query = this.#queryCache.build(this, defaultedOptions)\n\n return query.isStaleByTime(\n resolveStaleTime(defaultedOptions.staleTime, query),\n )\n ? query.fetch(defaultedOptions)\n : Promise.resolve(query.state.data as TData)\n }\n\n prefetchQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchQueryOptions,\n ): Promise {\n return this.fetchQuery(options).then(noop).catch(noop)\n }\n\n fetchInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise> {\n options.behavior = infiniteQueryBehavior<\n TQueryFnData,\n TError,\n TData,\n TPageParam\n >(options.pages)\n return this.fetchQuery(options as any)\n }\n\n prefetchInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise {\n return this.fetchInfiniteQuery(options).then(noop).catch(noop)\n }\n\n ensureInfiniteQueryData<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: EnsureInfiniteQueryDataOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise> {\n options.behavior = infiniteQueryBehavior<\n TQueryFnData,\n TError,\n TData,\n TPageParam\n >(options.pages)\n\n return this.ensureQueryData(options as any)\n }\n\n resumePausedMutations(): Promise {\n if (onlineManager.isOnline()) {\n return this.#mutationCache.resumePausedMutations()\n }\n return Promise.resolve()\n }\n\n getQueryCache(): QueryCache {\n return this.#queryCache\n }\n\n getMutationCache(): MutationCache {\n return this.#mutationCache\n }\n\n getDefaultOptions(): DefaultOptions {\n return this.#defaultOptions\n }\n\n setDefaultOptions(options: DefaultOptions): void {\n this.#defaultOptions = options\n }\n\n setQueryDefaults<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n >(\n queryKey: QueryKey,\n options: Partial<\n OmitKeyof<\n QueryObserverOptions,\n 'queryKey'\n >\n >,\n ): void {\n this.#queryDefaults.set(hashKey(queryKey), {\n queryKey,\n defaultOptions: options,\n })\n }\n\n getQueryDefaults(\n queryKey: QueryKey,\n ): OmitKeyof, 'queryKey'> {\n const defaults = [...this.#queryDefaults.values()]\n\n let result: OmitKeyof<\n QueryObserverOptions,\n 'queryKey'\n > = {}\n\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(queryKey, queryDefault.queryKey)) {\n result = { ...result, ...queryDefault.defaultOptions }\n }\n })\n return result\n }\n\n setMutationDefaults<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n >(\n mutationKey: MutationKey,\n options: OmitKeyof<\n MutationObserverOptions,\n 'mutationKey'\n >,\n ): void {\n this.#mutationDefaults.set(hashKey(mutationKey), {\n mutationKey,\n defaultOptions: options,\n })\n }\n\n getMutationDefaults(\n mutationKey: MutationKey,\n ): MutationObserverOptions {\n const defaults = [...this.#mutationDefaults.values()]\n\n let result: MutationObserverOptions = {}\n\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(mutationKey, queryDefault.mutationKey)) {\n result = { ...result, ...queryDefault.defaultOptions }\n }\n })\n\n return result\n }\n\n defaultQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n >(\n options:\n | QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >\n | DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n > {\n if (options._defaulted) {\n return options as DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n }\n\n const defaultedOptions = {\n ...this.#defaultOptions.queries,\n ...this.getQueryDefaults(options.queryKey),\n ...options,\n _defaulted: true,\n }\n\n if (!defaultedOptions.queryHash) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(\n defaultedOptions.queryKey,\n defaultedOptions,\n )\n }\n\n // dependent default values\n if (defaultedOptions.refetchOnReconnect === undefined) {\n defaultedOptions.refetchOnReconnect =\n defaultedOptions.networkMode !== 'always'\n }\n if (defaultedOptions.throwOnError === undefined) {\n defaultedOptions.throwOnError = !!defaultedOptions.suspense\n }\n\n if (!defaultedOptions.networkMode && defaultedOptions.persister) {\n defaultedOptions.networkMode = 'offlineFirst'\n }\n\n if (\n defaultedOptions.enabled !== true &&\n defaultedOptions.queryFn === skipToken\n ) {\n defaultedOptions.enabled = false\n }\n\n return defaultedOptions as DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n }\n\n defaultMutationOptions>(\n options?: T,\n ): T {\n if (options?._defaulted) {\n return options\n }\n return {\n ...this.#defaultOptions.mutations,\n ...(options?.mutationKey &&\n this.getMutationDefaults(options.mutationKey)),\n ...options,\n _defaulted: true,\n } as T\n }\n\n clear(): void {\n this.#queryCache.clear()\n this.#mutationCache.clear()\n }\n}\n","import React from \"react\";\r\nimport App from \"./App\";\r\nimport { createRoot } from \"react-dom/client\";\r\nimport { QueryClient, QueryClientProvider } from \"@tanstack/react-query\";\r\nimport \"animate.css\";\r\nimport \"swiper/swiper-bundle.min.css\";\r\nimport \"yet-another-react-lightbox/styles.css\";\r\nimport \"yet-another-react-lightbox/plugins/thumbnails.css\";\r\nimport \"./assets/scss/style.scss\";\r\n\r\nconst container = document.getElementById(\"root\");\r\nconst root = createRoot(container);\r\nconst queryClient = new QueryClient();\r\n\r\nroot.render(\r\n \r\n \r\n \r\n);\r\n"],"names":["hasOwn","hasOwnProperty","classNames","classes","i","arguments","length","arg","argType","push","Array","isArray","inner","apply","toString","Object","prototype","includes","key","call","join","module","exports","default","extendStatics","d","b","setPrototypeOf","__proto__","p","__extends","TypeError","String","__","this","constructor","create","__assign","assign","t","s","n","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","Symbol","iterator","v","op","pop","__spreadArray","to","from","pack","ar","l","slice","concat","left","top","width","height","Bounds","x","w","h","context","clientRect","windowBounds","domRectList","domRect","find","rect","EMPTY","parseBounds","node","fromClientRect","getBoundingClientRect","parseDocumentSize","document","documentElement","Error","Math","max","scrollWidth","offsetWidth","clientWidth","scrollHeight","offsetHeight","clientHeight","toCodePoints","str","codePoints","charCodeAt","extra","fromCodePoint","_i","codeUnits","index","codePoint","fromCharCode","chars","lookup","Uint8Array","decode","base64","encoded1","encoded2","encoded3","encoded4","bufferLength","len","buffer","ArrayBuffer","bytes","polyUint16Array","polyUint32Array","UTRIE2_SHIFT_2","UTRIE2_SHIFT_1","UTRIE2_INDEX_SHIFT","UTRIE2_LSCP_INDEX_2_OFFSET","UTRIE2_DATA_MASK","UTRIE2_INDEX_1_OFFSET","UTRIE2_OMITTED_BMP_INDEX_1_LENGTH","UTRIE2_INDEX_2_MASK","slice16","view","start","end","Uint16Array","slice32","Uint32Array","createTrieFromBase64","_byteLength","view32","view16","headerLength","data","ceil","Trie","initialValue","errorValue","highStart","highValueIndex","ix","LETTER_NUMBER_MODIFIER","BK","CR","LF","CM","NL","WJ","ZW","GL","SP","ZWJ","B2","BA","BB","HY","CB","CL","CP","EX","IN","NS","OP","QU","IS","NU","PO","PR","SY","AI","AL","CJ","EB","EM","H2","H3","HL","ID","JL","JV","JT","RI","SA","XX","ea_OP","BREAK_MANDATORY","BREAK_NOT_ALLOWED","BREAK_ALLOWED","UnicodeTrie","ALPHABETICS","HARD_LINE_BREAKS","SPACE","PREFIX_POSTFIX","LINE_BREAKS","KOREAN_SYLLABLE_BLOCK","HYPHEN","codePointsToCharacterClasses","lineBreak","types","indices","categories","forEach","classType","get","indexOf","prev","isAdjacentWithSpaceIgnored","a","currentIndex","classTypes","current","previousNonSpaceClassType","type","_lineBreakAtIndex","indicies","forbiddenBreaks","beforeIndex","afterIndex","before","prevIndex","count","cssFormattedClasses","options","wordBreak","isLetterNumber","map","forbiddenBreakpoints","letterNumber","undefined","required","Break","LineBreaker","lastEnd","nextIndex","FLAG_UNRESTRICTED","FLAG_ID","FLAG_INTEGER","FLAG_NUMBER","LINE_FEED","SOLIDUS","REVERSE_SOLIDUS","CHARACTER_TABULATION","QUOTATION_MARK","EQUALS_SIGN","NUMBER_SIGN","DOLLAR_SIGN","PERCENTAGE_SIGN","APOSTROPHE","LEFT_PARENTHESIS","RIGHT_PARENTHESIS","LOW_LINE","HYPHEN_MINUS","EXCLAMATION_MARK","LESS_THAN_SIGN","GREATER_THAN_SIGN","COMMERCIAL_AT","LEFT_SQUARE_BRACKET","RIGHT_SQUARE_BRACKET","CIRCUMFLEX_ACCENT","LEFT_CURLY_BRACKET","QUESTION_MARK","RIGHT_CURLY_BRACKET","VERTICAL_LINE","TILDE","CONTROL","REPLACEMENT_CHARACTER","ASTERISK","PLUS_SIGN","COMMA","COLON","SEMICOLON","FULL_STOP","NULL","BACKSPACE","LINE_TABULATION","SHIFT_OUT","INFORMATION_SEPARATOR_ONE","DELETE","EOF","ZERO","u","z","A","E","F","U","Z","isDigit","isSurrogateCodePoint","isHex","isLowerCaseLetter","isUpperCaseLetter","isLetter","isNonASCIICodePoint","isWhiteSpace","isNameStartCodePoint","isNameCodePoint","isNonPrintableCodePoint","isValidEscape","c1","c2","isIdentifierStart","c3","isNumberStart","stringToNumber","c","sign","integers","int","parseInt","fraction","fracd","frac","expsign","exponent","exp","pow","LEFT_PARENTHESIS_TOKEN","RIGHT_PARENTHESIS_TOKEN","COMMA_TOKEN","SUFFIX_MATCH_TOKEN","PREFIX_MATCH_TOKEN","COLUMN_TOKEN","DASH_MATCH_TOKEN","INCLUDE_MATCH_TOKEN","LEFT_CURLY_BRACKET_TOKEN","RIGHT_CURLY_BRACKET_TOKEN","SUBSTRING_MATCH_TOKEN","BAD_URL_TOKEN","BAD_STRING_TOKEN","CDO_TOKEN","CDC_TOKEN","COLON_TOKEN","SEMICOLON_TOKEN","LEFT_SQUARE_BRACKET_TOKEN","RIGHT_SQUARE_BRACKET_TOKEN","WHITESPACE_TOKEN","EOF_TOKEN","_value","Tokenizer","chunk","tokens","token","consumeToken","consumeCodePoint","consumeStringToken","peekCodePoint","flags","consumeName","reconsumeCodePoint","consumeNumericToken","e1","e2","e3","consumeIdentLikeToken","a1","a2","a3","u1","u2","consumeUnicodeRangeToken","consumeWhiteSpace","shift","unshift","delta","digits","questionMarks","digit","endDigits","toLowerCase","consumeUrlToken","stringToken","consumeBadUrlRemnants","consumeEscapedCodePoint","SLICE_STACK_SIZE","amount","min","splice","endingCodePoint","consumeStringSlice","repr","consumeNumber","number","unit","hex","hexCodePoint","_tokens","Parser","tokenizer","write","read","parseComponentValue","parseComponentValues","SyntaxError","reconsumeToken","consumeComponentValue","values","consumeSimpleBlock","consumeFunction","block","isEndingTokenFor","functionToken","cssFunction","name","isDimensionToken","isNumberToken","isIdentToken","isStringToken","isIdentWithValue","nonWhiteSpace","nonFunctionArgSeparator","parseFunctionArgs","args","isLength","isLengthPercentage","parseLengthPercentageTuple","ZERO_LENGTH","FIFTY_PERCENT","HUNDRED_PERCENT","getAbsoluteValueForTuple","tuple","getAbsoluteValue","parent","DEG","GRAD","RAD","TURN","angle","parse","_context","PI","isAngle","parseNamedSide","filter","ident","deg","color","colorFunction","SUPPORTED_COLOR_FUNCTIONS","r","substring","namedColor","COLORS","toUpperCase","TRANSPARENT","isTransparent","asString","alpha","blue","green","red","round","getTokenColorValue","rgb","hue2rgb","t1","t2","hue","hsl","saturation","lightness","hsla","rgba","parseColor","ALICEBLUE","ANTIQUEWHITE","AQUA","AQUAMARINE","AZURE","BEIGE","BISQUE","BLACK","BLANCHEDALMOND","BLUE","BLUEVIOLET","BROWN","BURLYWOOD","CADETBLUE","CHARTREUSE","CHOCOLATE","CORAL","CORNFLOWERBLUE","CORNSILK","CRIMSON","CYAN","DARKBLUE","DARKCYAN","DARKGOLDENROD","DARKGRAY","DARKGREEN","DARKGREY","DARKKHAKI","DARKMAGENTA","DARKOLIVEGREEN","DARKORANGE","DARKORCHID","DARKRED","DARKSALMON","DARKSEAGREEN","DARKSLATEBLUE","DARKSLATEGRAY","DARKSLATEGREY","DARKTURQUOISE","DARKVIOLET","DEEPPINK","DEEPSKYBLUE","DIMGRAY","DIMGREY","DODGERBLUE","FIREBRICK","FLORALWHITE","FORESTGREEN","FUCHSIA","GAINSBORO","GHOSTWHITE","GOLD","GOLDENROD","GRAY","GREEN","GREENYELLOW","GREY","HONEYDEW","HOTPINK","INDIANRED","INDIGO","IVORY","KHAKI","LAVENDER","LAVENDERBLUSH","LAWNGREEN","LEMONCHIFFON","LIGHTBLUE","LIGHTCORAL","LIGHTCYAN","LIGHTGOLDENRODYELLOW","LIGHTGRAY","LIGHTGREEN","LIGHTGREY","LIGHTPINK","LIGHTSALMON","LIGHTSEAGREEN","LIGHTSKYBLUE","LIGHTSLATEGRAY","LIGHTSLATEGREY","LIGHTSTEELBLUE","LIGHTYELLOW","LIME","LIMEGREEN","LINEN","MAGENTA","MAROON","MEDIUMAQUAMARINE","MEDIUMBLUE","MEDIUMORCHID","MEDIUMPURPLE","MEDIUMSEAGREEN","MEDIUMSLATEBLUE","MEDIUMSPRINGGREEN","MEDIUMTURQUOISE","MEDIUMVIOLETRED","MIDNIGHTBLUE","MINTCREAM","MISTYROSE","MOCCASIN","NAVAJOWHITE","NAVY","OLDLACE","OLIVE","OLIVEDRAB","ORANGE","ORANGERED","ORCHID","PALEGOLDENROD","PALEGREEN","PALETURQUOISE","PALEVIOLETRED","PAPAYAWHIP","PEACHPUFF","PERU","PINK","PLUM","POWDERBLUE","PURPLE","REBECCAPURPLE","RED","ROSYBROWN","ROYALBLUE","SADDLEBROWN","SALMON","SANDYBROWN","SEAGREEN","SEASHELL","SIENNA","SILVER","SKYBLUE","SLATEBLUE","SLATEGRAY","SLATEGREY","SNOW","SPRINGGREEN","STEELBLUE","TAN","TEAL","THISTLE","TOMATO","TURQUOISE","VIOLET","WHEAT","WHITE","WHITESMOKE","YELLOW","YELLOWGREEN","backgroundClip","prefix","backgroundColor","format","parseColorStop","colorType","stop","processColorStops","stops","lineLength","first","last","processStops","previous","stop_1","absoluteValue","gapBegin","stop_2","gapLength","gapValue","_a","getAngleFromCorner","corner","centerX","centerY","atan2","calculateGradientDirection","radian","abs","sin","cos","halfWidth","halfHeight","halfLineLength","yDiff","xDiff","distance","sqrt","findCorner","closest","reduce","stat","cx","cy","optimumDistance","optimumCorner","Infinity","calculateRadius","gradient","rx","ry","size","shape","prefixLinearGradient","firstToken","angleType","colorStop","CLOSEST_SIDE","FARTHEST_SIDE","CLOSEST_CORNER","FARTHEST_CORNER","CIRCLE","ELLIPSE","COVER","CONTAIN","prefixRadialGradient","position","isColorStop","acc","isLinearGradient","background","isRadialGradient","image","image_1","url","cache","addImage","imageFunction","SUPPORTED_IMAGE_FUNCTIONS","isSupportedImage","BACKGROUND_SIZE","isAtPosition_1","backgroundImage","backgroundOrigin","backgroundPosition","backgroundRepeat","parseBackgroundRepeat","LINE_BREAK","backgroundSize","isBackgroundSizeInfoToken","borderColorForSide","side","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","borderRadiusForSide","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","borderStyleForSide","style","borderTopStyle","borderRightStyle","borderBottomStyle","borderLeftStyle","borderWidthForSide","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","direction","display","bit","parseDisplayValue","float","letterSpacing","WORD_BREAK","STRICT","NORMAL","lineHeight","computeLineHeight","fontSize","listStyleImage","listStylePosition","listStyleType","marginForSide","marginTop","marginRight","marginBottom","marginLeft","overflow","overflowWrap","paddingForSide","paddingTop","paddingRight","paddingBottom","paddingLeft","textAlign","textShadow","shadow","offsetX","offsetY","blur","textTransform","transform","transformFunction","SUPPORTED_TRANSFORM_FUNCTIONS","matrix","matrix3d","b1","b2","a4","b4","DEFAULT_VALUE","DEFAULT","transformOrigin","origins","visibility","BREAK_ALL","KEEP_ALL","zIndex","auto","order","time","opacity","textDecorationColor","textDecorationLine","line","fontFamily","accumulator","results","fontWeight","fontVariant","fontStyle","contains","content","counterIncrement","increments","filtered","counter","increment","counterReset","resets","reset","duration","quotes","open_1","close_1","open","close","getQuote","depth","quote","boxShadow","spread","inset","paintOrder","layers","webkitTextStrokeColor","webkitTextStrokeWidth","declaration","animationDuration","cssFloat","overflowTuple","overflowX","overflowY","textDecoration","CSSParsedDeclaration","isPositioned","descriptor","parser","length_1","value_1","elementDebuggerAttribute","getElementDebugType","element","getAttribute","isDebugging","elementType","textNodes","elements","styles","window","getComputedStyle","isHTMLElementNode","some","bounds","PseudoElementType","Prepend","Control","Extend","SpacingMark","L","V","T","LV","LVT","Extended_Pictographic","codePointToClass","_graphemeBreakAtIndex","_codePoints","countRI","GraphemeBreaker","graphemeBreak","splitGraphemes","bk","breaker","graphemes","testRangeBounds","TEST_HEIGHT","createRange","range","testElement","createElement","appendChild","selectNode","rangeBounds","rangeHeight","removeChild","testIOSLineBreak","wordSpacing","innerHTML","repeat","firstChild","textList","offset","supports","every","text","setStart","setEnd","boundAhead","testCORS","Image","crossOrigin","testResponseType","XMLHttpRequest","responseType","testSVG","img","canvas","ctx","getContext","src","drawImage","toDataURL","isGreenPixel","testForeignObject","fillStyle","fillRect","greenImageSrc","svg","createForeignObjectSVG","loadSerializedSVG","getImageData","catch","xmlns","createElementNS","foreignObject","setAttributeNS","onload","onerror","encodeURIComponent","XMLSerializer","serializeToString","FEATURES","SUPPORT_RANGE_BOUNDS","defineProperty","SUPPORT_WORD_BREAKING","SUPPORT_SVG_DRAWING","SUPPORT_FOREIGNOBJECT_DRAWING","fetch","SUPPORT_CORS_IMAGES","SUPPORT_RESPONSE_TYPE","SUPPORT_CORS_XHR","SUPPORT_NATIVE_TEXT_SEGMENTATION","Intl","Segmenter","parseTextBounds","breakText","textBounds","trim","clientRects","getClientRects","subSegments","segmentGraphemes","subOffset_1","subSegment","TextBounds","fromDOMRectList","replacementNode","splitText","getWrapperBounds","ownerDocument","wrapper","cloneNode","parentNode","replaceChild","segmenter","granularity","segment","segmentWords","breakWords","wordSeparators","words","word_1","replace","CAPITALIZE","capitalize","m","p1","p2","_super","_this","currentSrc","intrinsicWidth","naturalWidth","intrinsicHeight","naturalHeight","ElementContainer","setAttribute","baseVal","reversed","CHECKBOX_BORDER_RADIUS","RADIO_BORDER_RADIUS","reformatInputBounds","getInputValue","PASSWORD","placeholder","CHECKBOX","RADIO","INPUT_COLOR","input","checked","option","selectedIndex","iframe","contentWindow","tree","parseTree","documentBackgroundColor","bodyBackgroundColor","LIST_OWNERS","parseNodeTree","root","childNode","nextNode","nextSibling","isTextNode","TextContainer","isElementNode","isSlotElement","assignedNodes","container","createContainer","isVisible","createsRealStackingContext","createsStackingContext","tagName","slot","shadowRoot","isTextareaElement","isSVGElement","isSelectElement","isImageElement","ImageElementContainer","isCanvasElement","CanvasElementContainer","SVGElementContainer","isLIElement","LIElementContainer","isOLElement","OLElementContainer","isInputElement","InputElementContainer","SelectElementContainer","TextareaElementContainer","isIFrameElement","IFrameElementContainer","isPositionedWithZIndex","isTransformed","isBodyElement","isFloating","nodeType","Node","TEXT_NODE","ELEMENT_NODE","isSVGElementNode","className","isHTMLElement","isVideoElement","isStyleElement","isScriptElement","isCustomElement","counters","CounterState","canReset","entry","counterNames","ROMAN_UPPER","ARMENIAN","HEBREW","GEORGIAN","createAdditiveCounter","symbols","fallback","suffix","createCounterText","string","integer","createCounterStyleWithSymbolResolver","codePointRangeLength","isNumeric","resolver","createCounterStyleFromRange","codePointRangeStart","codePointRangeEnd","floor","createCounterStyleFromSymbols","CJK_ZEROS","CJK_TEN_COEFFICIENTS","CJK_TEN_HIGH_COEFFICIENTS","CJK_HUNDRED_COEFFICIENTS","createCJKCounter","numbers","multipliers","negativeSign","tmp","coefficient","CHINESE_INFORMAL_MULTIPLIERS","CHINESE_FORMAL_MULTIPLIERS","JAPANESE_NEGATIVE","KOREAN_NEGATIVE","appendSuffix","defaultSuffix","cjkSuffix","koreanSuffix","spaceSuffix","IGNORE_ATTRIBUTE","scrolledElements","referenceElement","quoteDepth","DocumentCloner","windowSize","createIFrameContainer","scrollX","defaultView","pageXOffset","scrollY","pageYOffset","cloneWindow","documentClone","iframeLoad","iframeLoader","restoreNodeScroll","scrollTo","test","navigator","userAgent","logger","warn","add","onclone","clonedReferenceElement","nodeName","fonts","ready","imagesReady","serializeDoctype","doctype","restoreOwnerScroll","adoptNode","createCanvasClone","createVideoClone","createStyleClone","clone","srcset","loading","createCustomElementClone","copyCSSStyles","sheet","cssRules","css","rule","cssText","textContent","error","inlineImages","info","clonedCanvas","clonedCtx","allowTaint","putImageData","gl","attribs","getContextAttributes","preserveDrawingBuffer","video","blankCanvas","child","copyStyles","hasAttribute","ignoreElements","assignedNode","appendChildNode","createTextNode","createElementClone","transitionProperty","styleBefore","styleAfter","createPseudoHideStyles","CSSParsedCounterDeclaration","resolvePseudoContent","BEFORE","cloneChildNodes","insertBefore","after","AFTER","scrollTop","scrollLeft","pseudoElt","CSSParsedPseudoDeclaration","anonymousReplacedElement","attr","counterStyle","counterState","getCounterValue","counterType","delim","counterStates","getCounterValues","counterType_1","separator","PSEUDO_HIDE_ELEMENT_CLASS_BEFORE","PSEUDO_HIDE_ELEMENT_CLASS_AFTER","newClassName","baseValue","CORNER","cloneIframeContainer","border","scrolling","imageReady","complete","all","images","interval","setInterval","childNodes","readyState","clearInterval","ignoredStyleProperties","target","property","item","setProperty","getPropertyValue","internalSubset","publicId","systemId","PSEUDO_BEFORE","PSEUDO_AFTER","PSEUDO_HIDE_ELEMENT_STYLE","createStyles","CacheStorage","link","_link","href","protocol","hostname","port","getOrigin","_origin","location","_options","_cache","Cache","has","isBlobImage","isRenderable","loadImage","isSameOrigin","useCORS","isInlineImage","useProxy","proxy","debug","isInlineBase64Image","setTimeout","imageTimeout","keys","xhr","status","response","reader_1","FileReader","addEventListener","readAsDataURL","queryString","timeout_1","timeout","ontimeout","send","INLINE_SVG","INLINE_BASE64","INLINE_IMG","isSVG","substr","Vector","deltaX","deltaY","lerp","startControl","endControl","BezierCurve","firstHalf","ab","bc","cd","abbc","bccd","dest","isBezierCurve","path","tlh","tlv","trh","trv","brh","brv","blh","blv","factors","maxFactor","topWidth","rightHeight","bottomWidth","leftHeight","topLeftBorderDoubleOuterBox","getCurvePoints","TOP_LEFT","topRightBorderDoubleOuterBox","TOP_RIGHT","bottomRightBorderDoubleOuterBox","BOTTOM_RIGHT","bottomLeftBorderDoubleOuterBox","BOTTOM_LEFT","topLeftBorderDoubleInnerBox","topRightBorderDoubleInnerBox","bottomRightBorderDoubleInnerBox","bottomLeftBorderDoubleInnerBox","topLeftBorderStroke","topRightBorderStroke","bottomRightBorderStroke","bottomLeftBorderStroke","topLeftBorderBox","topRightBorderBox","bottomRightBorderBox","bottomLeftBorderBox","topLeftPaddingBox","topRightPaddingBox","bottomRightPaddingBox","bottomLeftPaddingBox","topLeftContentBox","topRightContentBox","bottomRightContentBox","bottomLeftContentBox","r1","r2","kappa","ox","oy","xm","ym","calculateBorderBoxPath","curves","calculateContentBoxPath","calculatePaddingBoxPath","isTransformEffect","effect","isClipEffect","isOpacityEffect","equalPath","transformPath","deltaW","deltaH","point","inlineLevel","nonInlineLevel","negativeZIndex","zeroOrAutoZIndexOrTransformedOrOpacity","positiveZIndex","nonPositionedFloats","nonPositionedInlineLevel","effects","BoundCurves","OpacityEffect","TransformEffect","borderBox","paddingBox","ClipEffect","ElementPaint","inFlow","croplessEffects","parseStackTree","stackingContext","realStackingContext","listItems","treatAsRealStackingContext","paintContainer","listOwnerItems","parentStack","stack","StackingContext","order_1","index_1","index_2","isInlineLevel","processListItems","owner","numbering","listValue","parseStackingContexts","parsePathForBorder","borderSide","createPathFromCurves","parsePathForBorderDoubleOuter","parsePathForBorderDoubleInner","parsePathForBorderStroke","createStrokePathFromCurves","outer1","outer2","subdivide","inner1","inner2","reverse","contentBox","calculateBackgroundPositioningArea","calculateBackgroundPaintingArea","calculateBackgroundRendering","intrinsicSize","backgroundPositioningArea","getBackgroundValueForIndex","backgroundPaintingArea","backgroundImageSize","calculateBackgroundSize","sizeWidth","sizeHeight","calculateBackgroundRepeatPath","isAuto","AUTO","hasIntrinsicValue","intrinsicProportion","second","hasIntrinsicProportion","hasIntrinsicWidth","hasIntrinsicHeight","hasIntrinsicDimensions","width_3","height_3","_b","SMALL_IMAGE","SAMPLE_TEXT","_data","_document","FontMetrics","span","margin","padding","whiteSpace","verticalAlign","baseline","offsetTop","middle","parseMetrics","MASK_OFFSET","scale","fontMetrics","translate","textBaseline","_activeEffects","CanvasRenderer","popEffect","applyEffect","save","globalAlpha","clip","restore","renderStackContent","paint","renderNodeBackgroundAndBorders","renderNodeContent","fillText","letter","measureText","variant","fixIOSSystemFonts","createFontStyle","font","getMetrics","paintOrderLayer","renderTextWithLetterSpacing","textShadows","shadowColor","shadowOffsetX","shadowOffsetY","shadowBlur","strokeStyle","lineWidth","lineJoin","chrome","strokeText","box","applyEffects","getEffects","renderTextNode","_c","match","renderReplacedElement","render","fill","beginPath","arc","isTextInputElement","canvasTextAlign","_p","renderStack","renderNode","_e","_d","_g","_f","_j","_h","_l","_k","_o","_m","paths","moveTo","lineTo","formatPath","closePath","bezierCurveTo","pattern","this_1","createPattern","resizeImage","renderRepeat","x0","x1","y0","y1","gradient_1","createLinearGradient","addColorStop","top_1","radialGradient_1","createRadialGradient","midX","midY","invF","curvePoints","renderSolidBorder","outerPaths","innerPaths","hasBackground","borders","calculateBackgroundCurvedPaintingArea","renderBackgroundImage","borderBoxArea","maskOffset","shadowPaintingArea","mask","borders_1","renderDashedDottedBorder","renderDoubleBorder","strokePaths","boxPaths","startX","startY","endX","endY","dashLength","spaceLength","useLineDash","multiplier","numberOfDashes","minSpace","maxSpace","setLineDash","lineCap","stroke","path1","path2","Renderer","iOSBrokenFonts","fontFamilies","ForeignObjectRenderer","id","enabled","Date","now","Logger","console","getTime","instanceName","Context","instanceCount","logging","html2canvas","renderElement","setContext","opts","resourceOptions","contextOptions","windowOptions","windowWidth","innerWidth","windowHeight","innerHeight","foreignObjectRendering","cloneOptions","documentCloner","clonedElement","toIFrame","_u","parseBackgroundColor","renderOptions","devicePixelRatio","removeContainer","destroy","backgroundColorOverride","defaultBackgroundColor","condition","argIndex","framesToPop","_len","validators","_key","_createChainableTypeChecker2","_len2","_key2","validator","obj","_createChainableTypeChecker","require","__esModule","validate","checkType","isRequired","props","propName","componentName","propFullName","componentNameSafe","propFullNameSafe","chainedCheckType","bind","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","secret","err","getShim","ReactPropTypes","array","bigint","bool","func","object","symbol","any","arrayOf","instanceOf","objectOf","oneOf","oneOfType","exact","checkPropTypes","PropTypes","aa","ca","da","Set","ea","fa","ha","ia","ja","ka","la","ma","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","split","ra","sa","ta","pa","isNaN","qa","oa","removeAttribute","xlinkHref","ua","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","va","for","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","prepareStackTrace","set","Reflect","construct","k","displayName","Pa","tag","Qa","$$typeof","_payload","_init","Ra","Sa","Ta","Va","_valueTracker","getOwnPropertyDescriptor","configurable","enumerable","getValue","setValue","stopTracking","Ua","Wa","Xa","activeElement","Ya","defaultChecked","defaultValue","_wrapperState","initialChecked","Za","controlled","bb","cb","db","eb","fb","selected","defaultSelected","disabled","gb","dangerouslySetInnerHTML","children","hb","ib","jb","kb","lb","mb","nb","namespaceURI","valueOf","MSApp","execUnsafeLocalFunction","ob","lastChild","nodeValue","pb","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","lineClamp","orphans","tabSize","widows","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","qb","rb","sb","charAt","tb","menuitem","area","base","br","col","embed","hr","keygen","meta","param","source","track","wbr","ub","vb","is","wb","xb","srcElement","correspondingUseElement","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","removeEventListener","Nb","onError","Ob","Pb","Qb","Rb","Sb","Tb","Vb","alternate","return","Wb","memoizedState","dehydrated","Xb","Zb","sibling","Yb","$b","ac","unstable_scheduleCallback","unstable_cancelCallback","cc","unstable_shouldYield","dc","unstable_requestPaint","B","unstable_now","ec","unstable_getCurrentPriorityLevel","fc","unstable_ImmediatePriority","gc","unstable_UserBlockingPriority","hc","unstable_NormalPriority","ic","unstable_LowPriority","jc","unstable_IdlePriority","kc","lc","oc","clz32","pc","qc","log","LN2","rc","sc","tc","uc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","vc","xc","yc","zc","Ac","eventTimes","Cc","C","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Map","Pc","Qc","Rc","Sc","delete","pointerId","Tc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","priority","isDehydrated","containerInfo","Xc","Yc","dispatchEvent","Zc","$c","ad","bd","ReactCurrentBatchConfig","dd","ed","transition","fd","gd","hd","Uc","stopPropagation","jd","kd","ld","md","nd","od","keyCode","charCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","returnValue","isPropagationStopped","preventDefault","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","isTrusted","td","ud","detail","vd","Ad","screenX","screenY","clientX","clientY","pageX","pageY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","zd","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Meta","Shift","Pd","Qd","code","locale","which","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Yd","wheelDeltaX","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","date","datetime","email","month","password","search","tel","week","me","ne","oe","event","listeners","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","Le","compareDocumentPosition","Me","HTMLIFrameElement","Ne","contentEditable","Oe","focusedElem","selectionRange","selectionStart","selectionEnd","getSelection","extend","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","removeAllRanges","addRange","focus","Pe","Qe","Re","Se","Te","Ue","Ve","We","animationend","animationiteration","animationstart","transitionend","Xe","Ye","Ze","animation","$e","af","bf","cf","df","ef","ff","gf","hf","lf","mf","nf","Ub","instance","listener","D","of","pf","qf","rf","random","sf","capture","passive","J","tf","uf","parentWindow","vf","wf","na","xa","$a","ba","je","char","ke","xf","yf","zf","Af","Bf","Cf","Df","Ef","__html","Ff","Gf","clearTimeout","Hf","Jf","queueMicrotask","If","Kf","Lf","Mf","previousSibling","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","G","Vf","H","Wf","Xf","Yf","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","childContextTypes","$f","ag","bg","getChildContext","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","I","zg","Ag","Bg","deletions","Cg","pendingProps","treeContext","retryLane","Dg","mode","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","defaultProps","Mg","Ng","Og","Pg","Qg","Rg","_currentValue","Sg","childLanes","Tg","dependencies","firstContext","lanes","Ug","Vg","memoizedValue","Wg","Xg","Yg","interleaved","Zg","$g","ah","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","bh","ch","eventTime","lane","payload","callback","dh","K","eh","fh","gh","q","hh","ih","jh","Component","refs","kh","nh","isMounted","_reactInternals","enqueueSetState","lh","mh","enqueueReplaceState","enqueueForceUpdate","oh","shouldComponentUpdate","isPureReactComponent","ph","contextType","state","updater","qh","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","rh","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","sh","ref","_owner","_stringRef","th","uh","vh","wh","xh","yh","implementation","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","M","Mh","revealOrder","Nh","Oh","_workInProgressVersionPrimary","Ph","ReactCurrentDispatcher","Qh","Rh","N","O","Sh","Th","Uh","Vh","Q","Wh","Xh","Yh","Zh","$h","ai","bi","ci","baseQueue","queue","di","ei","fi","lastRenderedReducer","action","hasEagerState","eagerState","lastRenderedState","dispatch","gi","hi","ii","ji","ki","getSnapshot","li","mi","R","ni","lastEffect","stores","oi","pi","qi","ri","deps","si","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","Hi","Ii","Ji","readContext","useCallback","useContext","useEffect","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useState","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","identifierPrefix","Ki","message","digest","Li","Mi","Ni","WeakMap","Oi","Pi","Qi","Ri","getDerivedStateFromError","componentDidCatch","Si","componentStack","Ti","pingCache","Ui","Vi","Wi","Xi","ReactCurrentOwner","Yi","Zi","$i","aj","bj","compare","cj","dj","ej","baseLanes","cachePool","transitions","fj","gj","hj","ij","jj","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","kj","lj","pendingContext","mj","Aj","Bj","Cj","Dj","nj","oj","pj","qj","rj","tj","dataset","dgst","uj","vj","_reactRetry","sj","subtreeFlags","wj","xj","isBackwards","rendering","renderingStartTime","tail","tailMode","yj","Ej","S","Fj","Gj","wasMultiple","multiple","suppressHydrationWarning","onClick","onclick","autoFocus","Hj","Ij","Jj","Kj","Lj","WeakSet","Mj","W","Nj","Oj","Qj","Rj","Sj","Tj","Uj","Vj","Wj","_reactRootContainer","Xj","X","Yj","Zj","ak","onCommitFiberUnmount","componentWillUnmount","ck","dk","ek","fk","isHidden","gk","hk","ik","jk","kk","lk","__reactInternalSnapshotBeforeUpdate","Wk","mk","nk","ok","pk","Y","qk","rk","sk","tk","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","Ek","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","ig","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","Pk","finishedWork","finishedLanes","Qk","timeoutHandle","Rk","Sk","Tk","Uk","Vk","mutableReadLanes","Bc","Pj","onCommitFiberRoot","mc","onRecoverableError","Xk","onPostCommitFiberRoot","Yk","Zk","al","isReactComponent","pendingChildren","bl","mutableSourceEagerHydrationData","cl","pendingSuspenseBoundaries","el","fl","hl","il","jl","zj","$k","ll","reportError","ml","_internalRoot","nl","ol","pl","ql","sl","rl","unmount","unstable_scheduleHydration","querySelectorAll","JSON","stringify","form","tl","usingClientEntryPoint","Events","ul","findFiberByHostInstance","bundleType","version","rendererPackageName","vl","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","__REACT_DEVTOOLS_GLOBAL_HOOK__","wl","isDisabled","supportsFiber","inject","createPortal","dl","createRoot","unstable_strictMode","findDOMNode","flushSync","hydrate","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","hasElementType","Element","hasMap","hasSet","hasArrayBuffer","isView","equal","it","entries","RegExp","__self","__source","Fragment","jsx","jsxs","setState","forceUpdate","escape","_status","_result","Children","toArray","only","Profiler","PureComponent","StrictMode","Suspense","cloneElement","createContext","_currentValue2","_threadCount","Provider","Consumer","_defaultValue","_globalName","createFactory","createRef","forwardRef","isValidElement","lazy","memo","startTransition","unstable_act","sortIndex","performance","setImmediate","startTime","expirationTime","priorityLevel","scheduling","isInputPending","MessageChannel","port2","port1","onmessage","postMessage","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","delay","unstable_wrapCallback","objA","objB","compareContext","ret","keysA","keysB","bHasOwnProperty","idx","valueA","valueB","_arrayLikeToArray","arr","arr2","_arrayWithHoles","_assertThisInitialized","self","ReferenceError","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","fn","_classCallCheck","Constructor","_construct","Parent","Class","Function","_defineProperties","writable","_createClass","protoProps","staticProps","_createForOfIteratorHelper","o","allowArrayLike","normalCompletion","didErr","_e2","_createSuper","Derived","hasNativeReflectConstruct","Super","NewTarget","_defineProperty","_get","receiver","getPrototypeOf","desc","_getPrototypeOf","_inherits","subClass","superClass","_isNativeReflectConstruct","sham","Proxy","Boolean","_iterableToArray","iter","_nonIterableRest","_possibleConstructorReturn","_regeneratorRuntime","Op","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","makeInvokeMethod","tryCatch","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","method","_invoke","AsyncIterator","PromiseImpl","invoke","record","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","doneResult","delegate","delegateResult","maybeInvokeDelegate","_sent","dispatchException","abrupt","methodName","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iterable","iteratorMethod","isGeneratorFunction","genFun","ctor","mark","awrap","async","val","skipTempReset","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","finish","thrown","delegateYield","_setPrototypeOf","_slicedToArray","arrayWithHoles","_s","_x","_r","_arr","_n","unsupportedIterableToArray","nonIterableRest","_toConsumableArray","arrayLikeToArray","iterableToArray","_toPropertyKey","hint","prim","toPrimitive","res","Number","_typeof","_unsupportedIterableToArray","minLen","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","leafPrototypes","ns","def","getOwnPropertyNames","definition","chunkId","promises","miniCssF","globalThis","prop","inProgress","dataWebpackPrefix","script","needAttach","scripts","getElementsByTagName","charset","nc","onScriptComplete","doneFns","head","installedChunks","j","installedChunkData","promise","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","chunkIds","moreModules","runtime","chunkLoadingGlobal","_wrapNativeSuper","Wrapper","_toArray","Action","ResultType","PopStateEventType","getHistoryState","usr","createLocation","pathname","hash","parsePath","_ref","parsedPath","hashIndex","searchIndex","getUrlBasedHistory","getLocation","createHref","validateLocation","v5Compat","globalHistory","history","Pop","getIndex","handlePop","createURL","origin","createPath","invariant","URL","replaceState","listen","encodeLocation","Push","historyState","pushState","Replace","go","matchRoutes","routes","locationArg","basename","stripBasename","branches","flattenRoutes","sort","score","siblings","compareIndexes","routesMeta","childrenIndex","rankRouteBranches","matches","matchRouteBranch","safelyDecodeURI","parentsMeta","parentPath","flattenRoute","route","relativePath","caseSensitive","startsWith","joinPaths","computeScore","_route$path","explodeOptionalSegments","exploded","segments","rest","isOptional","endsWith","restExploded","subpath","paramRe","dynamicSegmentValue","indexRouteValue","emptySegmentValue","staticSegmentValue","splatPenalty","isSplat","initialScore","branch","matchedParams","matchedPathname","remainingPathname","matchPath","params","pathnameBase","normalizePathname","warning","paramNames","regexpSource","paramName","matcher","compilePath","captureGroups","splatValue","decodeURIComponent","safelyDecodeURIComponent","decodeURI","startIndex","nextChar","cond","getInvalidPathError","field","getPathContributingMatches","resolveTo","toArg","routePathnames","locationPathname","isPathRelative","isEmptyPath","toPathname","routePathnameIndex","toSegments","fromPathname","resolvePathname","normalizeSearch","normalizeHash","resolvePath","hasExplicitTrailingSlash","hasCurrentTrailingSlash","AbortedDeferredError","isRouteErrorResponse","statusText","internal","validMutationMethodsArr","validRequestMethodsArr","React","checkIfSnapshotChanged","inst","latestGetSnapshot","prevValue","nextValue","DataRouterContext","DataRouterStateContext","AwaitContext","NavigationContext","LocationContext","RouteContext","outlet","RouteErrorContext","useInRouterContext","useLocation","useNavigate","routePathnamesJson","activeRef","navigate","relative","useParams","routeMatch","useResolvedPath","_temp2","DefaultErrorElement","useDataRouterState","DataRouterStateHook","UseRouteError","routeId","useCurrentRouteId","errors","useRouteError","lightgrey","preStyles","DataRouterHook","RenderErrorBoundary","errorInfo","routeContext","component","RenderedRoute","dataRouterContext","static","staticContext","errorElement","_deepestRenderedBoundaryId","_renderMatches","parentMatches","dataRouterState","renderedMatches","errorIndex","findIndex","reduceRight","getChildren","hookName","useRouteContext","thisRoute","AwaitRenderStatus","Navigate","_ref3","navigation","Route","_props","Router","_ref4","basenameProp","locationProp","navigationType","NavigationType","staticProp","navigationContext","trailingPathname","Routes","_ref5","dataRouterStateContext","parentParams","parentPathnameBase","locationFromContext","parsedLocationArg","useRoutes","router","createRoutesFromChildren","neverSettledPromise","treePath","loader","hasErrorBoundary","shouldRevalidate","BrowserRouter","historyRef","createBrowserHistory","isBrowser","Link","absoluteHref","reloadDocument","preventScrollReset","isExternal","currentUrl","targetUrl","_temp","joinedPathname","useHref","internalOnClick","replaceProp","isModifiedEvent","shouldProcessLinkClick","useLinkClickHandler","TAG_PROPERTIES","TAG_NAMES","BASE","BODY","HEAD","HTML","LINK","META","NOSCRIPT","SCRIPT","STYLE","TITLE","FRAGMENT","SEO_PRIORITY_TAGS","rel","VALID_TAG_NAMES","REACT_TAG_MAP","accesskey","class","contenteditable","contextmenu","itemprop","tabindex","HTML_TAG_MAP","getInnermostProperty","propsList","getTitleFromPropsList","innermostTitle","innermostTemplate","innermostDefaultTitle","getOnChangeClientState","getAttributesFromPropsList","tagType","tagAttrs","getBaseTagFromPropsList","primaryAttributes","innermostBaseTag","lowerCaseAttributeKey","getTagsFromPropsList","approvedSeenTags","approvedTags","instanceTags","instanceSeenTags","primaryAttributeKey","attributeKey","tagUnion","getAnyTrueFromPropsList","checkedTag","flattenArray","possibleArray","prioritizer","elementsList","propsToMatch","elementAttrs","toMatch","without","_extends2","SELF_CLOSING_TAGS","encodeSpecialCharacters","encode","generateElementAttributesAsString","attributes","convertElementAttributesToReactProps","initProps","generateTagsAsReactComponent","tags","mappedTag","_mappedTag","mappedAttribute","attribute","getMethodsForTag","toComponent","generateTitleAsReactComponent","titleAttributes","title","_initProps","attributeString","flattenedTitle","generateTagsAsString","attributeHtml","tagContent","isSelfClosing","mapStateOnServer","baseTag","bodyAttributes","htmlAttributes","noscriptTags","styleTags","_props$title","linkTags","metaTags","scriptTags","priorityMethods","prioritizeSeoTags","_getPriorityMethods","noscript","instances","HelmetData","canUseDOM","setHelmet","helmet","serverState","helmetInstances","remove","providerShape","helmetData","propTypes","updateTags","indexToDelete","headElement","querySelector","tagNodes","oldTags","newTags","newElement","styleSheet","existingTag","isEqualNode","updateAttributes","elementTag","helmetAttributeString","helmetAttributes","attributesToRemove","attributeKeys","indexToSave","commitTagChanges","newState","onChangeClientState","tagUpdates","addedTags","removedTags","_tagUpdates$tagType","_helmetCallback","Dispatcher","rendered","nextProps","shallowEqual","emitChange","_this$props$context","_extends","defer","cancelAnimationFrame","requestAnimationFrame","init","Helmet","fastCompare","mapNestedChildrenToProps","nestedChildren","flattenArrayTypeChildren","arrayTypeChildren","newChildProps","_proto","mapObjectTypeChildren","_ref2","_extends4","newProps","_extends3","mapArrayTypeChildrenToProps","newFlattenedProps","arrayChildName","_extends5","warnOnInvalidChildren","nestedChild","mapChildrenToProps","childProps","_objectWithoutPropertiesLoose","_this$props","defaultTitle","titleTemplate","SEO","description","charSet","ownKeys","enumerableOnly","getOwnPropertySymbols","sym","_objectSpread2","getOwnPropertyDescriptors","defineProperties","isObject","ssrDocument","getElementById","createEvent","initEvent","importNode","host","getDocument","doc","ssrWindow","back","CustomEvent","screen","matchMedia","getWindow","win","Dom7","items","proto","makeReactive","arrayFlat","arrayFilter","$","selector","html","toCreate","tempParent","qsa","uniqueArray","arrayUnique","noTrigger","shortcut","trigger","on","Methods","addClass","classList","removeClass","hasClass","toggleClass","toggle","attrs","attrName","removeAttr","transitionDuration","eventType","targetSelector","handleLiveEvent","eventData","dom7EventData","parents","handleEvent","events","dom7LiveListeners","proxyListener","dom7Listeners","off","handlers","handler","dom7proxy","evt","dataIndex","transitionEnd","dom","fireCallBack","outerWidth","includeMargins","parseFloat","outerHeight","clientTop","clientLeft","each","compareWith","webkitMatchesSelector","msMatchesSelector","eq","returnIndex","append","newChild","tempDiv","prepend","nextElementSibling","nextAll","nextEls","previousElementSibling","prevAll","prevEls","foundElements","found","support","deviceCached","browser","nextTick","getTranslate","curTransform","transformMatrix","axis","curStyle","currentStyle","WebKitCSSMatrix","webkitTransform","MozTransform","OTransform","MsTransform","msTransform","m41","m42","isNode","HTMLElement","noExtend","nextSource","keysArray","nextKey","__swiper__","setCSSProperty","varName","varValue","animateCSSModeScroll","swiper","targetPosition","startPosition","speed","wrapperEl","scrollSnapType","cssModeFrameID","dir","isOutOfBound","animate","progress","easeProgress","currentPosition","getSupport","smoothScroll","touch","DocumentTouch","passiveListener","supportsPassive","gestures","calcSupport","getDevice","platform","device","ios","android","screenWidth","screenHeight","ipad","ipod","iphone","windows","macos","os","calcDevice","getBrowser","isSafari","isWebView","calcBrowser","eventsListeners","destroyed","once","onceHandler","__emitterProxy","onAny","eventsAnyListeners","offAny","eventHandler","emit","updateSize","$el","isHorizontal","isVertical","updateSlides","getDirectionLabel","getDirectionPropertyValue","$wrapperEl","swiperSize","rtl","rtlTranslate","wrongRTL","isVirtual","virtual","previousSlidesLength","slides","slideClass","slidesLength","snapGrid","slidesGrid","slidesSizesGrid","offsetBefore","slidesOffsetBefore","offsetAfter","slidesOffsetAfter","previousSnapGridLength","previousSlidesGridLength","spaceBetween","slidePosition","prevSlideSize","virtualSize","centeredSlides","cssMode","slideSize","gridEnabled","grid","rows","initSlides","shouldResetSlideSize","slidesPerView","breakpoints","slide","updateSlide","slideStyles","currentTransform","currentWebKitTransform","roundLengths","boxSizing","swiperSlideSize","slidesPerGroup","slidesPerGroupSkip","setWrapperSize","updateWrapperSize","newSlidesGrid","slidesGridItem","slideIndex","centeredSlidesBounds","allSlidesSize","slideSizeValue","maxSnap","snap","centerInsufficientSlides","allSlidesOffset","snapIndex","addToSnapGrid","addToSlidesGrid","watchOverflow","checkOverflow","watchSlidesProgress","updateSlidesOffset","backFaceHiddenClass","containerModifierClass","hasClassBackfaceClassAdded","maxBackfaceHiddenSlides","updateAutoHeight","activeSlides","newHeight","setTransition","getSlideByIndex","visibleSlides","activeIndex","swiperSlideOffset","offsetLeft","updateSlidesProgress","offsetCenter","slideVisibleClass","visibleSlidesIndexes","slideOffset","slideProgress","minTranslate","originalSlideProgress","slideBefore","slideAfter","originalProgress","updateProgress","translatesDiff","maxTranslate","isBeginning","isEnd","wasBeginning","wasEnd","autoHeight","updateSlidesClasses","activeSlide","realIndex","slideActiveClass","slideNextClass","slidePrevClass","slideDuplicateActiveClass","slideDuplicateNextClass","slideDuplicatePrevClass","loop","slideDuplicateClass","nextSlide","prevSlide","emitSlidesClasses","updateActiveIndex","newActiveIndex","previousIndex","previousRealIndex","previousSnapIndex","normalizeSlideIndex","skip","initialized","runCallbacksOnInit","updateClickedSlide","slideFound","clickedSlide","clickedIndex","slideToClickedSlide","virtualTranslate","currentTranslate","setTranslate","byController","previousTranslate","translateTo","runCallbacks","translateBounds","animating","preventInteractionOnTransition","newTranslate","isH","onTranslateToWrapperTransitionEnd","transitionEmit","transitionStart","slideTo","initial","indexAsNumber","isFinite","normalizedTranslate","normalizedGrid","normalizedGridNext","allowSlideNext","allowSlidePrev","_immediateVirtual","_swiperImmediateVirtual","onSlideToWrapperTransitionEnd","slideToLoop","newIndex","loopedSlides","slideNext","perGroup","slidesPerGroupAuto","slidesPerViewDynamic","loopPreventsSlide","loopFix","_clientLeft","rewind","slidePrev","normalize","prevSnapIndex","normalizedSnapGrid","prevSnap","lastIndex","slideReset","slideToClosest","threshold","currentSnap","slideToIndex","loopCreate","$selector","loopFillGroupWithBlank","blankSlidesNum","blankNode","slideBlankClass","loopAdditionalSlides","loopedSlidesLimit","prependSlides","appendSlides","diff","loopDestroy","setGrabCursor","moving","simulateTouch","isLocked","touchEventsTarget","cursor","unsetGrabCursor","onTouchStart","touchEventsData","originalEvent","$targetEl","isTouchEvent","isTouched","isMoved","swipingClassHasValue","noSwipingClass","eventPath","composedPath","noSwipingSelector","isTargetShadow","noSwiping","__closestFrom","assignedSlot","getRootNode","closestElement","allowClick","swipeHandler","currentX","currentY","edgeSwipeDetection","iOSEdgeSwipeDetection","edgeSwipeThreshold","iOSEdgeSwipeThreshold","allowTouchCallbacks","isScrolling","startMoving","touchStartTime","swipeDirection","allowThresholdMove","focusableElements","shouldPreventDefault","allowTouchMove","touchStartPreventDefault","touchStartForcePreventDefault","isContentEditable","freeMode","onTouchMove","targetTouch","preventedByNestedSwiper","touchReleaseOnEdges","diffX","diffY","touchAngle","touchMoveStopPropagation","nested","startTranslate","allowMomentumBounce","grabCursor","touchRatio","disableParentSwiper","resistanceRatio","resistance","followFinger","onTouchEnd","currentPos","touchEndTime","timeDiff","pathTree","lastClickTime","stopIndex","groupSize","rewindFirstIndex","rewindLastIndex","ratio","longSwipesMs","longSwipes","longSwipesRatio","shortSwipes","nextEl","prevEl","onResize","setBreakpoint","autoplay","running","paused","run","preventClicks","preventClicksPropagation","stopImmediatePropagation","onScroll","dummyEventAttached","dummyEventListener","touchEvents","domMethod","swiperMethod","passiveListeners","move","cancel","updateOnWindowResize","attachEvents","detachEvents","isGridEnabled","breakpoint","getBreakpoint","breakpointsBase","currentBreakpoint","breakpointParams","originalParams","wasMultiRow","isMultiRow","wasEnabled","emitContainerClasses","wasModuleEnabled","isModuleEnabled","disable","enable","directionChanged","needsReLoop","changeDirection","isEnabled","containerEl","currentHeight","points","minRatio","addClasses","suffixes","resultClasses","prepareClasses","removeClasses","imageEl","sizes","checkForComplete","onReady","preloadImages","imagesLoaded","imagesToLoad","updateOnImagesReady","update","wasLocked","lastSlideIndex","lastSlideRightEdge","initialSlide","resizeObserver","createElements","uniqueNavElements","wrapperClass","_emitClasses","moduleExtendParams","allModulesParams","moduleParamName","moduleParams","prototypes","eventsEmitter","extendedDefaults","Swiper","swipers","newParams","modules","__modules__","mod","extendParams","swiperParams","defaults","passedParams","eventName","velocity","desktop","touchEventsTouch","touchEventsDesktop","clickTimeout","velocities","cls","slideEl","updates","getSlideClasses","spv","breakLoop","translateValue","newDirection","needUpdate","currentDirection","mounted","getWrapperSelector","getWrapper","mount","deleteInstance","cleanStyles","deleteProps","newDefaults","installModule","prototypeGroup","protoMethod","use","observer","animationFrame","resizeHandler","orientationChangeHandler","ResizeObserver","newWidth","contentBoxSize","contentRect","inlineSize","blockSize","observe","unobserve","observers","attach","MutationObserver","WebkitMutationObserver","mutations","observerUpdate","childList","characterData","observeParents","observeSlideChildren","containerParents","disconnect","createElementIfNotDefined","checkProps","Navigation","getEl","toggleEl","disabledClass","lockClass","$nextEl","$prevEl","onPrevClick","onNextClick","hideOnClick","hiddenClass","navigationDisabledClass","targetEl","pagination","clickable","classesToSelector","Pagination","bulletSize","pfx","bulletElement","renderBullet","renderProgressbar","renderFraction","renderCustom","progressbarOpposite","dynamicBullets","dynamicMainBullets","formatFractionCurrent","formatFractionTotal","bulletClass","bulletActiveClass","modifierClass","currentClass","totalClass","progressbarFillClass","progressbarOppositeClass","clickableClass","horizontalClass","verticalClass","paginationDisabledClass","bullets","dynamicBulletIndex","isPaginationDisabled","setSideBullets","$bulletEl","total","paginationType","firstIndex","midIndex","bullet","$bullet","bulletIndex","$firstDisplayedBullet","$lastDisplayedBullet","dynamicBulletsLength","bulletsOffset","offsetProp","progressbarDirection","scaleX","scaleY","paginationHTML","numberOfBullets","A11y","a11y","notificationClass","prevSlideMessage","nextSlideMessage","firstSlideMessage","lastSlideMessage","paginationBulletMessage","slideLabelMessage","containerMessage","containerRoleDescriptionMessage","itemRoleDescriptionMessage","slideRole","clicked","liveRegion","notify","notification","makeElFocusable","makeElNotFocusable","addElRole","role","addElRoleDescription","addElLabel","disableEl","enableEl","onEnterOrSpaceKey","click","hasPagination","hasClickablePagination","initNavEl","wrapperId","controls","addElControls","handlePointerDown","handlePointerUp","handleFocus","isActive","sourceCapabilities","firesTouchEvents","$slideEl","$containerEl","getRandomNumber","live","addElLive","updateNavigation","bulletEl","updatePagination","Autoplay","$activeSlideEl","autoplayResult","reverseDirection","stopOnLastSlide","pause","waitForTransition","onTransitionEnd","onVisibilityChange","visibilityState","onMouseEnter","disableOnInteraction","onMouseLeave","pauseOnMouseEnter","excluded","sourceKeys","sourceSymbolKeys","propertyIsEnumerable","needsNavigation","needsPagination","needsScrollbar","scrollbar","uniqueClasses","unique","paramsList","calcLoopedSlides","slidesPerViewParams","breakpointOnlyParams","isChildSwiperSlide","processChildren","slots","foundSlides","updateSwiper","needThumbsInit","needControllerInit","needPaginationInit","needScrollbarInit","needNavigationInit","changedParams","scrollbarEl","paginationEl","updateParams","currentParams","thumbs","controller","control","newValue","load","useIsomorphicLayoutEffect","SwiperSlideContext","SwiperContext","externalElRef","Tag","wrapperTag","WrapperTag","onSwiper","eventsAssigned","containerClasses","setContainerClasses","virtualData","setVirtualData","breakpointChanged","setBreakpointChanged","initializedRef","swiperElRef","swiperRef","oldPassedParamsRef","oldSlides","nextElRef","prevElRef","paginationElRef","scrollbarElRef","splitEvents","allowedParams","plainObj","getParams","restProps","onBeforeBreakpoint","_containerClasses","initSwiper","SwiperCore","extendWith","renderExternal","renderExternalUpdate","mountSwiper","oldParams","oldChildren","getKey","addKey","oldChildrenKeys","childrenKeys","newKeys","oldKeys","newKey","oldKey","getChangedParams","parallax","updateOnVirtualData","renderVirtual","modifiedSlides","duplicateSlide","blankSlide","renderLoop","SwiperSlide","externalRef","virtualIndex","slideElRef","slideClasses","setSlideClasses","updateClasses","slideData","isDuplicate","isPrev","isNext","renderChildren","SwiperSlider","prevIcon","nextIcon","navClass","showArrows","prevClass","nextClass","sliderOptions","cn","navStyle","dotStyle","subtitle","settings","spaceBottomClass","clsx","single","alt","imageUrl","logoClass","_checkPrivateRedeclaration","privateCollection","_classPrivateMethodInitSpec","privateSet","_classPrivateFieldInitSpec","privateMap","_classPrivateMethodGet","_classExtractFieldDescriptor","_classPrivateFieldGet","_classPrivateFieldSet","Subscribable","subscribe","onSubscribe","onUnsubscribe","isServer","noop","isValidTimeout","timeUntilStale","updatedAt","staleTime","resolveStaleTime","query","resolveEnabled","matchQuery","filters","fetchStatus","predicate","queryKey","stale","queryHash","hashQueryKeyByOptions","partialMatchKey","isStale","matchMutation","mutation","mutationKey","hashKey","queryKeyHashFn","isPlainObject","replaceEqualDeep","isPlainArray","aItems","aSize","bItems","bSize","copy","equalItems","shallowEqualObjects","hasObjectPrototype","prot","replaceData","prevData","structuralSharing","addToEnd","newItems","addToStart","skipToken","ensureQueryFn","fetchOptions","queryFn","initialPromise","focusManager","FocusManager","onFocus","setEventListener","hasListeners","setup","focused","setFocused","isFocused","notifyManager","transactions","notifyFn","batchNotifyFn","scheduleFn","schedule","batch","originalQueue","flush","batchCalls","setNotifyFunction","setBatchNotifyFunction","setScheduler","createNotifyManager","onlineManager","OnlineManager","onOnline","onlineListener","offlineListener","setOnline","online","pendingThenable","thenable","_resolve","_reject","finalize","reason","defaultRetryDelay","failureCount","canFetch","networkMode","isOnline","CancelledError","revert","silent","isCancelledError","createRetryer","config","continueFn","isRetryCancelled","isResolved","canContinue","canRun","canStart","onSuccess","continueResolve","onPause","onContinue","promiseOrValue","retry","retryDelay","shouldRetry","onFail","cancelOptions","abort","continue","cancelRetry","continueRetry","Removable","clearGcTimeout","gcTime","optionalRemove","newGcTime","Query","defaultOptions","setOptions","initialData","hasData","initialDataUpdatedAt","dataUpdateCount","dataUpdatedAt","errorUpdateCount","errorUpdatedAt","fetchFailureCount","fetchFailureReason","fetchMeta","isInvalidated","getDefaultState","scheduleGc","updateGcTime","newData","manual","setStateOptions","getObserversCount","getCurrentResult","shouldFetchOnWindowFocus","refetch","cancelRefetch","shouldFetchOnReconnect","abortController","AbortController","addSignalProperty","signal","fetchFn","queryFnContext","persister","behavior","onFetch","onSettled","setData","fetchState","reducer","onQueryUpdate","QueryObserver","client","experimental_prefetchInRender","bindMethods","addObserver","shouldFetchOnMount","updateResult","shouldFetchOn","refetchOnReconnect","refetchOnWindowFocus","removeObserver","notifyOptions","prevOptions","prevQuery","defaultQueryOptions","_defaulted","getQueryCache","shouldFetchOptionally","nextRefetchInterval","build","createResult","optimisticResult","shouldAssignObserverCurrentProperties","onPropTracked","trackedResult","trackProp","defaultedOptions","prevResult","prevResultState","prevResultOptions","queryInitialState","isPlaceholderData","_optimisticResults","fetchOnMount","fetchOptionally","select","selectError","placeholderData","isFetching","isPending","isError","isLoading","nextResult","isSuccess","isInitialLoading","failureReason","isFetched","isFetchedAfterMount","isRefetching","isLoadingError","isPaused","isRefetchError","finalizeThenableIfPossible","recreateThenable","prevThenable","defaultNotifyOptions","notifyOnChangeProps","notifyOnChangePropsValue","includedProps","throwOnError","typedKey","shouldNotifyListeners","refetchInterval","nextInterval","refetchIntervalInBackground","retryOnMount","shouldLoadOnMount","refetchOnMount","suspense","isStaleByTime","QueryClientContext","useQueryClient","queryClient","QueryClientProvider","createValue","isReset","clearReset","QueryErrorResetBoundaryContext","useQueryErrorResetBoundary","ensurePreventErrorBoundaryRetry","errorResetBoundary","useClearResetErrorBoundary","getHasError","throwError","IsRestoringContext","useIsRestoring","ensureSuspenseTimers","willFetch","isRestoring","shouldSuspend","fetchOptimistic","useQuery","Observer","queries","getDefaultOptions","_experimental_beforeQuery","isNewCacheEntry","getOptimisticResult","onStoreChange","unsubscribe","_experimental_afterQuery","finally","trackResult","useBaseQuery","kindOf","thing","kindOfTest","typeOfTest","isUndefined","isArrayBuffer","isString","isFunction","isNumber","isDate","isFile","isBlob","isFileList","isURLSearchParams","allOwnKeys","findKey","_global","global","isContextDefined","TypedArray","isTypedArray","isHTMLForm","isRegExp","reduceDescriptors","descriptors","reducedDescriptors","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","isBuffer","isFormData","FormData","isArrayBufferView","isBoolean","isStream","pipe","merge","caseless","assignValue","targetKey","stripBOM","inherits","superConstructor","toFlatObject","sourceObj","destObj","propFilter","merged","searchString","forEachEntry","pair","matchAll","regExp","exec","hasOwnProp","freezeMethods","toObjectSet","arrayOrString","delimiter","toCamelCase","toFiniteNumber","generateString","alphabet","isSpecCompliantForm","toJSONObject","visit","reducedValue","AxiosError","captureStackTrace","utils","toJSON","fileName","lineNumber","columnNumber","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","dots","predicates","formData","PlatformFormData","metaTokens","indexes","visitor","defaultVisitor","useBlob","Blob","convertValue","toISOString","Buffer","isFlatArray","exposedHelpers","charMap","AxiosURLSearchParams","_pairs","toFormData","encoder","_encode","buildURL","serializedParams","serializeFn","serialize","hashmarkIndex","InterceptorManager","synchronous","runWhen","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","URLSearchParams","isStandardBrowserEnv","product","isStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","protocols","buildPath","isNumericKey","isLast","arrayToObject","parsePropPath","DEFAULT_CONTENT_TYPE","transitional","transitionalDefaults","adapter","transformRequest","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","formDataToJSON","setContentType","helpers","toURLEncodedForm","formSerializer","_FormData","env","rawValue","stringifySafely","transformResponse","JSONRequested","strictJSONParsing","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","ignoreDuplicateOf","$internals","normalizeHeader","header","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_header","_rewrite","lHeader","setHeaders","rawHeaders","parsed","parseHeaders","tokensRE","parseTokens","deleted","deleteHeader","normalized","formatHeader","targets","asStrings","computed","accessors","defineAccessor","accessorName","arg1","arg2","arg3","buildAccessors","accessor","transformData","fns","isCancel","__CANCEL__","CanceledError","expires","domain","secure","cookie","toGMTString","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","originURL","msie","urlParsingNode","resolveURL","requestURL","samplesCount","firstSampleTS","timestamps","chunkLength","startedAt","bytesCount","passed","progressEventReducer","isDownloadStream","bytesNotified","_speedometer","speedometer","loaded","lengthComputable","progressBytes","rate","estimated","onCanceled","requestData","requestHeaders","cancelToken","auth","username","unescape","btoa","fullPath","onloadend","responseHeaders","getAllResponseHeaders","settle","responseText","paramsSerializer","onreadystatechange","responseURL","onabort","timeoutErrorMessage","xsrfValue","withCredentials","isURLSameOrigin","cookies","setRequestHeader","onDownloadProgress","onUploadProgress","upload","aborted","parseProtocol","knownAdapters","http","httpAdapter","xhrAdapter","getAdapter","adapters","nameOrAdapter","throwIfCancellationRequested","throwIfRequested","dispatchRequest","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","decompress","beforeRedirect","transport","httpAgent","httpsAgent","socketPath","responseEncoding","configValue","VERSION","deprecatedWarnings","formatMessage","opt","assertOptions","schema","allowUnknown","Axios","instanceConfig","interceptors","configOrUrl","contextHeaders","boolean","function","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","chain","newConfig","onFulfilled","onRejected","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","axios","createInstance","defaultConfig","Cancel","isAxiosError","formToJSON","defaultConverter","api","converter","defaultAttributes","toUTCString","stringifiedAttributes","jar","parts","withAttributes","withConverter","freeze","apiInstance","process","theKey","Cookies","Icons","success","viewBox","colors","Toast","bar","heading","minHeight","borderLeft","onHide","hideAfter","show","tabIndex","onKeyPress","renderIcon","camelCase","defaultToasts","topLeft","topCenter","topRight","bottomLeft","bottomCenter","bottomRight","ToastContainer","toast","hiddenID","__spreadArrays","insertAt","styleInject","ctToastCount","cogoToast","toastContainerID","ReactDOM","hide","fetchData","requestBody","post","useFetchData","usePostApiRequest","postApiFunction","noToast","successMessage","Message","invalidateQueries","errorMsg","cookieData","customerData","customerId","iconWhiteClass","searchRef","cartCount","CustomerId","handleClick","searchValue","Data","shop_blocks","image1","image2","image3","NavMenu","menuWhiteClass","sidebarMenu","categoryData","collectionData","collection","category","hoverState","setHoverState","handleMouseEnter","menu","handleMouseLeave","jewellery","GatiCategoryId","DesgGroupName","jewellerybg","MinusIcon","strokeLinecap","strokeLinejoin","PlusIcon","openMenus","setOpenMenus","toggleSubMenu","anchorLinks","closeMobileMenu","fetchCategories","CategoryId","CategoryType","fetchCollections","cacheTime","categoryError","categoryLoading","collectionError","collectionLoading","isSticky","setIsSticky","useCategoriesCollections","currentPath","handleScroll","logo","menus","menuIndex","getFullYear","blocks","image4","image5","image6","imageSliderSettings","bgColor","swiperKey","secondaryTitle","handleGlobalInputChange","setFormData","files","prevFormData","optionsSupported","onceSupported","wrappedHandler","__once","scrollbarSize","recalc","scrollDiv","useEventCallback","useCommittedRef","toFnRef","refA","refB","mergeRefs","useWillUnmount","onUnmount","valueRef","useUpdatedRef","psuedoElement","ownerWindow","rUpper","msPattern","hyphenateStyleName","hyphenate","supportedTransforms","transforms","isTransform","removeProperty","emulateTransitionEnd","called","triggerEvent","mult","parseDuration","removeEmulate","active","ATTRIBUTE_PREFIX","PROPERTY_PREFIX","dataAttr","OPEN_DATA_ATTRIBUTE","ModalManager","handleContainerOverflow","isRTL","modals","getBodyScrollbarWidth","_modal","containerState","paddingProp","getElement","scrollBarWidth","modal","modalIdx","setModalAttributes","getScrollbarWidth","setContainerStyle","removeContainerStyle","removeModalAttributes","useWindow","resolveContainerRef","isReactNative","inProp","in","onExited","mountOnEnter","unmountOnExit","hasEnteredRef","handleExited","combinedRef","useMergedRefs","ImperativeTransition","onEntered","exited","setExited","onTransition","isInitialRef","handleTransition","useIsomorphicEffect","renderTransition","runTransition","_jsx","NoopTransition","manager","_excluded","useModalManager","provided","modalManager","getManager","dialog","backdrop","isTopModal","setDialogRef","setBackdropRef","Modal","keyboard","onBackdropClick","onEscapeKeyDown","backdropTransition","runBackdropTransition","enforceFocus","restoreFocus","restoreFocusOptions","renderDialog","renderBackdrop","providedManager","containerRef","onShow","onExit","onExiting","onEnter","onEntering","onResolved","resolvedRef","setRef","earlyRef","nextRef","useWaitForDOMRef","useMounted","prevShow","usePrevious","lastFocusRef","handleShow","removeKeydownListenerRef","handleDocumentKeyDown","removeFocusListenerRef","handleEnforceFocus","currentActiveElement","handleHide","_lastFocusRef$current","handleBackdropClick","dialogProps","appear","backdropElement","_Fragment","_jsxs","Manager","replaceClassName","origClass","classToRemove","sharedManager","Selector","BootstrapModalManager","adjust","actual","marginProp","adjustAndStore","UNMOUNTED","EXITED","ENTERING","ENTERED","EXITING","Transition","_React$Component","initialStatus","isMounting","enter","appearStatus","nextCallback","prevState","updateStatus","prevProps","nextStatus","cancelNextCallback","getTimeouts","exit","mounting","nodeRef","forceReflow","performEnter","performExit","_this2","appearing","maybeNode","maybeAppearing","timeouts","enterTimeout","safeSetState","_this3","nextState","setNextCallback","_this4","doesNotHaveTimeoutOrListener","addEndListener","maybeNextCallback","TransitionGroupContext","transitionEndListener","TransitionWrapper","childRef","mergedRef","attachRef","componentOrElement","handleEnter","handleEntering","handleEntered","handleExit","handleExiting","handleAddEndListener","innerProps","fadeStyles","Fade","transitionClasses","isAppearing","triggerBrowserReflow","rHyphen","DEFAULT_BREAKPOINTS","DEFAULT_MIN_BREAKPOINT","ThemeContext","prefixes","minBreakpoint","useBootstrapPrefix","defaultPrefix","pascalCase","chr","createWithBsPrefix","BsComponent","bsPrefix","as","resolvedPrefix","ModalDialog","contentClassName","centered","fullscreen","scrollable","dialogClass","fullScreenClass","CloseButton","AbstractModalHeader","closeLabel","closeVariant","closeButton","ModalContext","ModalHeader","DivStyledAsH4","dialogAs","DialogTransition","BackdropTransition","dialogClassName","Dialog","ariaLabelledby","ariaDescribedby","ariaLabel","backdropClassName","propsManager","modalStyle","setStyle","animateStaticModal","setAnimateStaticModal","waitingForMouseUpRef","ignoreBackdropClickRef","removeStaticModalAnimationRef","setModalRef","modalContext","getModalManager","getSharedManager","updateDialogStyle","containerIsOverflowing","modalIsOverflowing","getScrollbarSize","handleWindowResize","handleDialogMouseDown","handleMouseUp","handleStaticModalAnimation","handleStaticBackdropClick","backdropProps","baseModalStyle","BaseModal","onMouseUp","onMouseDown","Body","ModalBody","Header","Title","ModalTitle","Footer","ModalFooter","TRANSITION_DURATION","BACKDROP_TRANSITION_DURATION","handleAddToCart","textareaRef","onCloseModal","minWidth","customerCode","Code","clarityOptions","caratOptions","shortDescription","showBottomContent","sizeData","quantityCount","setQuantityCount","NetWt","displayedGrossWt","setDisplayedGrossWt","customizeModalShow","setCustomizeModalShow","setLoading","Clarity","Carat","Size","ItemSize","postApiRequest","handleInputChange","caratValue","baseWeight","calculateGrossWt","instructions","CustomerCode","Quantity","GrpNo","ProductId","StyleId","StyleCode","Weight","DiamondWt","ClientDiamondWt","Color","CustomizeText","Status","GrpName","Description","onChange","CommonMasterName","readOnly","toFixed","prductSizeData","ImagePath","showSizes","modalShow","setModalShow","loginModal","setLoginModal","setIsLoading","handleLoginModal","IsBestSeller","spaceTopClass","homeProductData","autoPlay","muted","img1","img2","img3","onlyInViewport","bannerData","banner","ImgPath","homeMostViewedProducts","useButtonProps","isTrivialHref","onKeyDown","Button","asProp","buttonProps","Anchor","handleKeyDown","BreadcrumbItem","linkAs","LinkComponent","linkProps","Breadcrumb","listProps","Item","pages","defaultKey","_toPrimitive","useUncontrolledProp","propValue","wasPropRef","_useState","stateValue","isProp","wasProp","__reactInternalSnapshotFlag","__reactInternalSnapshot","__suppressDeprecationWarning","$704cf1d3b684cc5c$var$defaultContext","$704cf1d3b684cc5c$var$SSRContext","$704cf1d3b684cc5c$var$canUseDOM","makeEventKey","eventKey","_excluded2","_excluded3","useTabPanel","TabContext","activeKey","getControlledId","getControllerId","TabPanel","tabPanelProps","SelectableContext","hidden","Tabs","userId","generateCustomChildId","generateChildId","propsOnSelect","onSelect","propsActiveKey","defaultActiveKey","defaultId","useSSRSafeId","tabContext","Panel","getTabTransitionComponent","TabContainer","TabPane","tabClassName","tabAttrs","Tab","Container","Content","TabContent","Pane","NavContext","useNavItem","parentOnSelect","navContext","contextControllerId","contextControlledId","NavItem","EVENT_KEY_ATTR","Nav","needsRefocusRef","listNode","getNextActiveTab","currentListNode","activeChild","handleSelect","nextActiveChild","NavLink","navItemProps","uncontrolledProps","navbarBsPrefix","cardHeaderBsPrefix","fieldName","Utils","propsValue","handlerName","_useUncontrolledProp","useUncontrolled","initialBsPrefix","justify","navbar","navbarScroll","isNavbar","navbarContext","NavbarContext","cardHeaderContext","CardHeaderContext","BaseNav","handleTabSelect","SubCategory","GrossWt","StockType","Manufacturer","singleProductData","productData","grpNo","productSizeData","isLoadingSize","productHistoryData","isLoadingHistory","historyData","DesgGroupNo","page","fluid","inputFields","initialState","FullName","CompanyName","MobileNo","Email","handleSubmit","onSubmit","isStyleObject","OTPInput","numInputs","onPaste","renderInput","shouldAutoFocus","inputType","renderSeparator","containerStyle","inputStyle","skipDefaultStyles","activeInput","setActiveInput","inputRefs","getOTPValue","isInputNum","getPlaceholderValue","isInputValueValid","handleChange","changeCodeAtFocus","focusInput","cellInput","handleOTPChange","handleBlur","otp","otpValue","handlePaste","nextActiveInput","pastedData","getData","pos","alignItems","onBlur","autoComplete","inputMode","onInput","RegisterInputData","RegisterFormInputData","FirstName","LastName","Mobile","WhatsappNo","ShippingAddress","ShippingCity","ShippingState","ShippingCountry","ShippingZipCode","BillingAddress","BillingCity","BillingState","BillingCountry","BillingZipCode","NumberCheckbox","SameAsBilling","requiredFields","showOtpInput","setShowOtpInput","resendTimer","setResendTimer","errorMassage","setErrorMassage","countryData","isLoadingCountries","CountryId","stateData","isLoadingState","stateDataforBiliing","isLoadingStateBilling","cityData","isLoadingCities","timer","StateId","prevErrors","updatedErrors","checkInputFields","fieldValue","emailValue","sendOTP","resetLoginForm","fontSmooth","htmlFor","CountryName","StateName","CityName","updatedFormData","billingCountryName","country","billingStateName","shippingCountryName","shippingStateName","apiData","Billing","Address","City","State","Country","ZipCode","Shipping","authImage","formInputData","OTP","AccessToken","sameSite","reload","colorOptions","weightMapping","handleItemSelection","selectedItems","isBulkEditing","cartItem","calculatedWeight","setCalculatedWeight","productQuantity","setProductQuantity","updatedCarat","updatedColor","updatedSize","newWeight","updateCartItem","updateCartQuantity","quantity","deleteCartItem","updatedWeight","ItemSizes","CommonMasterCode","newQuantity","successData","handleNavigation","successImg","OrderNo","OrderId","DefaultContext","IconContext","_objectWithoutProperties","_objectSpread","Tree2Element","GenIcon","IconBase","elem","conf","svgProps","computedSize","BiSupport","_g2","_g3","whatsappNo","SalesPersonMobileNo","canOrderPlace","totalCartWeight","totalCartCarat","customerVerified","setCustomerVerified","orderPoNo","setOrderPoNo","setSuccessData","handlePlaceOrder","OrderPoNo","bulkEditValues","handleBulkUpdate","setIsEditing","customerCartDataLength","handleSelectAll","carat","clarity","setSelectedItems","setBulkEditValues","customerCartData","isLoadingCart","isChecked","updatedItems","sum","SvgWhatsapp","svgRef","titleId","xmlnsXlink","gradientUnits","x2","y2","stopColor","fillRule","clipRule","ForwardRef","__rest","__makeTemplateObject","cooked","raw","memoize","reactPropsRegex","isPropValid","StyleSheet","_insertTag","insertionPoint","isSpeedy","speedy","ctr","nonce","nodes","insert","createStyleElement","styleSheets","ownerNode","sheetForTag","insertRule","MS","MOZ","WEBKIT","COMMENT","RULESET","DECLARATION","IMPORT","KEYFRAMES","replacement","indexof","charat","begin","strlen","sizeof","column","character","characters","peek","caret","alloc","dealloc","delimit","whitespace","escaping","commenter","identifier","compile","rules","rulesets","pseudo","declarations","atrule","variable","scanning","ampersand","reference","comment","ruleset","output","middleware","identifierWithPointTracking","getRules","toRules","fixedElements","compat","isImplicitRule","parentRules","removeLabel","hash$2","isBrowser$5","getServerStylisCache","weakMemoize","defaultStylisPlugins","combine","createCache","ssrStyles","stylisPlugins","_insert","inserted","nodesToHydrate","attrib","omnipresentPlugins","currentSheet","finalizingPlugins","serializer","serialized","shouldCache","stylis","_finalizingPlugins","_serializer","serverStylisCache","_stylis","registered","isBrowser$3","syncFallback","useInsertionEffectAlwaysWithSyncFallback","isBrowser$2","EmotionCacheContext","withEmotionCache","isBrowser$1","registerStyles","isStringTag","unitlessKeys","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","WebkitLineClamp","hyphenateRegex","animationRegex","isCustomProperty","isProcessableValue","processStyleName","styleName","processStyleValue","handleInterpolation","mergedProps","interpolation","__emotion_styles","anim","interpolated","createStringFromObject","previousCursor","cached","labelPattern","serializeStyles","stringMode","strings","identifierName","murmur2","testOmitPropsOnStringTag","testOmitPropsOnComponent","getDefaultShouldForwardProp","composeShouldForwardProps","isReal","shouldForwardProp","optionsShouldForwardProp","__emotion_forwardProp","Insertion","stylesForSSR","maybeStyles","insertStyles","serializedNames","newStyled","createStyled","targetClassName","__emotion_real","__emotion_base","defaultShouldForwardProp","shouldUseAs","Styled","FinalTag","classInterpolations","theme","registeredStyles","rawClassName","getRegisteredStyles","finalShouldForwardProp","withComponent","nextTag","nextOptions","classnames$1","templateObject_1$b","templateObject_1$a","templateObject_2$1","templateObject_3$1","templateObject_1$9","templateObject_1$8","templateObject_1$7","templateObject_1$6","templateObject_1$5","templateObject_1$4","templateObject_1$3","templateObject_1$2","templateObject_2","templateObject_3","classnames","LegacySidebarContext","React__default","useLegacySidebar","sidebarClasses","menuClasses","StyledBackdrop","div","BREAK_POINTS","xs","sm","xl","xxl","always","StyledSidebar","aside","collapsedWidth","rootStyles","StyledSidebarContainer","StyledSidebarImage","SidebarContext","collapsed","toggled","Sidebar","onBreakPoint","defaultCollapsed","breakPoint","customBreakPoint","breakpointCallbackFnRef","broken","setMatches","media_1","handleMatch_1","useMediaQuery","setMounted","legacySidebarContext","collapsedValue","toggledValue","updateSidebarState","StyledUl","StyledMenu","nav","MenuContext","LevelContext","closeOnClick","menuItemStyles","renderExpandIcon","providerValue","useMenu","StyledSubMenuContent","firstLevel","defaultOpen","openWhenCollapsed","SubMenuContent","defaultOpenState","StyledMenuLabel","StyledMenuIcon","StyledMenuPrefix","StyledMenuSuffix","StyledExpandIconWrapper","level","StyledExpandIcon","StyledExpandIconCollapsed","bottom","right","basePlacements","clippingParents","viewport","popper","variationPlacements","placement","placements","modifierPhases","getNodeName","isElement","isShadowRoot","ShadowRoot","applyStyles$1","phase","initialStyles","strategy","arrow","requires","getBasePlacement","getUAString","uaData","userAgentData","brands","brand","isLayoutViewport","includeScale","isFixedStrategy","visualViewport","addVisualOffsets","getLayoutRect","rootNode","isSameNode","isTableElement","getDocumentElement","getParentNode","getTrueOffsetParent","offsetParent","getOffsetParent","isFirefox","currentNode","perspective","contain","willChange","getContainingBlock","getMainAxisFromPlacement","within","min$1","max$1","mergePaddingObject","paddingObject","expandToHashMap","hashMap","toPaddingObject","rects","arrow$1","_state$modifiersData$","arrowElement","popperOffsets","modifiersData","basePlacement","arrowRect","minProp","maxProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","center","axisProp","centerOffset","_options$element","requiresIfExists","getVariation","unsetSides","mapToStyles","_Object$assign2","popperRect","variation","offsets","gpuAcceleration","adaptive","roundOffsets","isFixed","_offsets$x","_offsets$y","hasX","hasY","sideX","sideY","heightProp","widthProp","_Object$assign","commonStyles","dpr","roundOffsetsByDPR","computeStyles$1","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","eventListeners","_options$scroll","scroll","_options$resize","resize","scrollParents","scrollParent","hash$1","getOppositePlacement","matched","getOppositeVariationPlacement","getWindowScroll","getWindowScrollBarX","isScrollParent","_getComputedStyle","getScrollParent","listScrollParents","list","_element$ownerDocumen","isBody","updatedList","rectToClientRect","getClientRectFromMixedType","clippingParent","layoutViewport","getViewportRect","getInnerBoundingClientRect","winScroll","getDocumentRect","getClippingRect","boundary","rootBoundary","mainClippingParents","clipperElement","getClippingParents","firstClippingParent","clippingRect","accRect","computeOffsets","commonX","commonY","mainAxis","detectOverflow","_options$placement","_options$strategy","_options$boundary","_options$rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","altContext","clippingClientRect","contextElement","referenceClientRect","popperClientRect","elementClientRect","overflowOffsets","offsetData","multiply","computeAutoPlacement","flipVariations","_options$allowedAutoP","allowedAutoPlacements","placements$1","allowedPlacements","overflows","flip$1","_skip","_options$mainAxis","checkMainAxis","_options$altAxis","altAxis","checkAltAxis","specifiedFallbackPlacements","fallbackPlacements","_options$flipVariatio","preferredPlacement","oppositePlacement","getExpandedFallbackPlacements","referenceRect","checksMap","makeFallbackChecks","firstFittingPlacement","_basePlacement","isStartVariation","mainVariationSide","altVariationSide","checks","check","_loop","fittingPlacement","getSideOffsets","preventedOffsets","isAnySideFullyClipped","offset$1","_options$offset","invertDistance","skidding","distanceAndSkiddingToXY","_data$state$placement","preventOverflow$1","_options$tether","tether","_options$tetherOffset","tetherOffset","isBasePlacement","tetherOffsetValue","normalizedTetherOffsetValue","offsetModifierState","_offsetModifierState$","mainSide","altSide","additive","maxLen","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","clientOffset","offsetModifierValue","tetherMax","preventedOffset","_offsetModifierState$2","_mainSide","_altSide","_offset","_min","_max","isOriginSide","_offsetModifierValue","_tetherMin","_tetherMax","_preventedOffset","withinMaxClamp","getCompositeRect","elementOrVirtualElement","isOffsetParentAnElement","offsetParentIsScaled","isElementScaled","getNodeScroll","modifiers","visited","modifier","dep","depModifier","debounce","DEFAULT_OPTIONS","areValidElements","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","_generatorOptions$def2","orderedModifiers","effectCleanupFns","isDestroyed","setOptionsAction","cleanupModifierEffects","orderModifiers","existing","mergeByName","_ref3$options","cleanupFn","noopFn","_state$elements","_state$orderedModifie","_state$orderedModifie2","onFirstUpdate","templateObject_1$1","templateObject_1","createPopper","preventOverflow","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","menuButtonStyles","MenuButton","classNameProp","StyledSubMenu","buttonStyles","StyledMenuItem","icon","openControlled","onOpenChange","onKeyUp","sidebarTransitionDuration","setOpen","setOpenWhenCollapsed","buttonRef","contentRef","popperInstance","popperInstanceRef","ro","usePopper","expandContent","collapseContent","handleSlideToggle","getSubMenuItemStyles","isSubmenu","rootElStyles","buttonElStyles","labelElStyles","iconElStyles","prefixElStyles","suffixElStyles","subMenuContentElStyles","subMenuContent","SubMenuExpandIconElStyles","SubMenuExpandIcon","handleTogglePopper","handleDocumentClick","handleDocumentKeyUp","removeEventListeners","sharedClasses","MenuItem","getMenuItemStyles","menuItems","pageClass","DetailsContent","DetailsInputFields","ordersDurationOptions","IoIosArrowBack","IoIosArrowForward","IoIosCheckmark","savedDuration","sessionStorage","getItem","orderDuration","setOrderDuration","pazeSize","setPageSize","fromDate","setFromDate","toDate","setToDate","pageNo","setPageNo","today","pastDate","setMonth","getMonth","formatDate","getDate","padStart","FromDate","ToDate","PageSize","PageNo","keepPreviousData","orderData","totalPages","totalProducts","handlePageClick","setItem","quotationProducts","PoNo","ItemQty","GoldWt","Amount","SalesPersonName","BillingType","IsShowDate","DateTimeFormat","day","year","OrderDate","theKeyId","isEditing","Name","phone","whatsapp","companyName","city","shippingAddress","zipCode","gstin","pan","website","msme","addressData","toggleEditMode","BlogpostData","card","blogimg","objectFit","disc","cad","openings","currentPage","setCurrentPage","openAccordion","setOpenAccordion","indexOfLastItem","indexOfFirstItem","currentImages","toggleAccordion","inVisible","setInVisible","composeEventHandlers","originalEventHandler","ourEventHandler","checkForDefaultPrevented","composeRefs","hasCleanup","cleanups","cleanup","useComposedRefs","createContextScope","scopeName","createContextScopeDeps","defaultContexts","createScope","scopeContexts","defaultContext","scope","contexts","rootComponentName","BaseContext","consumerName","composeContextScopes","scopes","baseScope","scopeHooks","useScope","overrideScopes","nextScopes","currentScope","scopeProps","useCallbackRef","callbackRef","useControllableState","defaultProp","useUncontrolledState","uncontrolledState","prevValueRef","uncontrolledProp","setUncontrolledProp","isControlled","Slot","forwardedRef","slotProps","childrenArray","slottable","isSlottable","newChildren","SlotClone","childrenRef","mayWarn","isReactWarning","getElementRef","slotPropValue","childPropValue","mergeProps","Slottable","Primitive","primitive","asChild","primitiveProps","Comp","dispatchDiscreteCustomEvent","createCollection","PROVIDER_NAME","createCollectionContext","createCollectionScope","collectionRef","itemMap","CollectionProviderImpl","useCollectionContext","CollectionProvider","COLLECTION_SLOT_NAME","CollectionSlot","composedRefs","ITEM_SLOT_NAME","ITEM_DATA_ATTR","CollectionItemSlot","itemData","ItemSlot","getItems","collectionNode","orderedNodes","orderedItems","DirectionContext","useDirection","localDir","globalDir","originalBodyPointerEvents","CONTEXT_UPDATE","POINTER_DOWN_OUTSIDE","FOCUS_OUTSIDE","DismissableLayerContext","layersWithOutsidePointerEventsDisabled","DismissableLayer","disableOutsidePointerEvents","onPointerDownOutside","onFocusOutside","onInteractOutside","onDismiss","layerProps","setNode","force","highestLayerWithOutsidePointerEventsDisabled","highestLayerWithOutsidePointerEventsDisabledIndex","isBodyPointerEventsDisabled","isPointerEventsEnabled","pointerDownOutside","handlePointerDownOutside","isPointerInsideReactTreeRef","handleClickRef","handleAndDispatchPointerDownOutsideEvent","handleAndDispatchCustomEvent","eventDetail","discrete","timerId","onPointerDownCapture","usePointerDownOutside","isPointerDownOnBranch","focusOutside","handleFocusOutside","isFocusInsideReactTreeRef","onFocusCapture","onBlurCapture","useFocusOutside","onEscapeKeyDownProp","useEscapeKeydown","pointerEvents","dispatchUpdate","handleUpdate","DismissableLayerBranch","useFocusGuards","edgeGuards","insertAdjacentElement","createFocusGuard","outline","AUTOFOCUS_ON_MOUNT","AUTOFOCUS_ON_UNMOUNT","EVENT_OPTIONS","FocusScope","trapped","onMountAutoFocusProp","onMountAutoFocus","onUnmountAutoFocusProp","onUnmountAutoFocus","setContainer","lastFocusedElementRef","focusScope","resume","handleFocusIn","handleFocusOut","handleMutations","removedNodes","mutationObserver","subtree","focusScopesStack","previouslyFocusedElement","mountEvent","candidates","candidate","focusFirst","getTabbableCandidates","unmountEvent","isTabKey","focusedElement","findVisible","getTabbableEdges","walker","createTreeWalker","NodeFilter","SHOW_ELEMENT","acceptNode","isHiddenInput","FILTER_SKIP","FILTER_ACCEPT","upTo","parentElement","preventScroll","HTMLInputElement","isSelectableInput","activeFocusScope","arrayRemove","createFocusScopesStack","updatedArray","useReactId","deterministicId","setId","reactId","sides","createCoords","oppositeSideMap","oppositeAlignmentMap","clamp","evaluate","getSide","getAlignment","getOppositeAxis","getAxisLength","getSideAxis","getAlignmentAxis","getAlignmentSides","alignment","alignmentAxis","mainAlignmentSide","floating","getExpandedPlacements","getOppositeAlignmentPlacement","getOppositeAxisPlacements","flipAlignment","isStart","lr","getSideList","getPaddingObject","expandPaddingObject","computeCoordsFromPlacement","coords","sideAxis","alignLength","commonAlign","computePosition","validMiddleware","getElementRects","statefulPlacement","middlewareData","resetCount","initialPlacement","nextX","nextY","_await$platform$isEle","getScale","offsetScale","convertOffsetParentRelativeRectToViewportRelativeRect","convertValueToCoords","mainAxisMulti","crossAxisMulti","crossAxis","hasWindow","_node$ownerDocument","isOverflowElement","isTopLayer","isContainingBlock","elementOrCss","webkit","isWebKit","containerType","backdropFilter","CSS","isLastTraversableNode","getNearestOverflowAncestor","getOverflowAncestors","traverseIframes","_node$ownerDocument2","scrollableAncestor","frameElement","getFrameElement","getCssDimensions","hasOffset","shouldFallback","unwrapElement","domElement","noOffsets","getVisualOffsets","visualOffsets","floatingOffsetParent","shouldAddVisualOffsets","offsetWin","currentWin","currentIFrame","iframeScale","iframeRect","leftScroll","getHTMLOffset","ignoreScrollbarX","htmlRect","getClientRectFromClippingAncestor","clippingAncestor","visualViewportBased","hasFixedPositionAncestor","stopNode","getRectRelativeToOffsetParent","offsetRect","htmlOffset","isStaticPositioned","polyfill","rawOffsetParent","svgOffsetParent","getOffsetParentFn","getDimensionsFn","getDimensions","floatingDimensions","topLayer","elementClippingAncestors","cachedResult","currentContainingBlockComputedStyle","elementIsFixed","computedStyle","currentNodeIsContaining","ancestor","getClippingElementAncestors","clippingAncestors","firstClippingAncestor","rectsAreEqual","autoUpdate","ancestorScroll","ancestorResize","elementResize","layoutShift","IntersectionObserver","referenceEl","ancestors","frameId","cleanupIo","onMove","timeoutId","io","_io","refresh","elementRectForRootMargin","rootMargin","isFirstUpdate","handleObserve","intersectionRatio","observeMove","reobserveFrame","firstEntry","_resizeObserver","prevRefRect","frameLoop","nextRefRect","_resizeObserver2","diffCoords","_middlewareData$offse","_middlewareData$arrow","alignmentOffset","checkCrossAxis","limiter","detectOverflowOptions","mainAxisCoord","crossAxisCoord","maxSide","limitedCoords","flip","fallbackStrategy","fallbackAxisSideDirection","initialSideAxis","hasFallbackAxisSideDirection","overflowsData","_middlewareData$flip","_middlewareData$flip2","nextPlacement","resetPlacement","_overflowsData$filter","_overflowsData$filter2","currentSideAxis","isYAxis","heightSide","widthSide","maximumClippingHeight","maximumClippingWidth","overflowAvailableHeight","overflowAvailableWidth","noShift","availableHeight","availableWidth","_state$middlewareData","_state$middlewareData2","xMin","xMax","yMin","yMax","nextDimensions","referenceHiddenOffsets","referenceHidden","escapedOffsets","escaped","arrowDimensions","clientProp","largestPossiblePadding","minPadding","maxPadding","shouldAddOffset","limitShift","rawOffset","computedOffset","limitMin","limitMax","_middlewareData$offse2","mergedOptions","platformWithCache","computePosition$1","deepEqual","getDPR","roundByDPR","useLatestRef","shift$1","limitShift$1","size$1","hide$1","isRef","arrow$2","Arrow","arrowProps","preserveAspectRatio","Root","useSize","setSize","borderSizeEntry","borderSize","POPPER_NAME","createPopperContext","createPopperScope","PopperProvider","usePopperContext","Popper","__scopePopper","anchor","setAnchor","onAnchorChange","ANCHOR_NAME","PopperAnchor","virtualRef","anchorProps","CONTENT_NAME","PopperContentProvider","useContentContext","PopperContent","sideOffset","align","alignOffset","arrowPadding","avoidCollisions","collisionBoundary","collisionPadding","collisionPaddingProp","sticky","hideWhenDetached","updatePositionStrategy","onPlaced","contentProps","setContent","setArrow","arrowSize","arrowWidth","arrowHeight","desiredPlacement","hasExplicitBoundaries","isNotNull","externalReference","externalFloating","whileElementsMounted","latestMiddleware","setLatestMiddleware","_reference","_setReference","_floating","_setFloating","setReference","referenceRef","setFloating","floatingRef","floatingEl","dataRef","hasWhileElementsMounted","whileElementsMountedRef","platformRef","openRef","fullData","isMountedRef","floatingStyles","useFloating","anchorWidth","anchorHeight","contentStyle","floatingUIarrow","getSideAndAlignFromPlacement","placedSide","placedAlign","handlePlaced","arrowX","arrowY","cannotCenterArrow","contentZIndex","setContentZIndex","onArrowChange","shouldHideArrow","ARROW_NAME","OPPOSITE_SIDE","PopperArrow","contentContext","baseSide","ArrowPrimitive","isArrowHidden","noArrowAlign","arrowXCenter","arrowYCenter","Portal","containerProp","portalProps","Presence","present","presence","React2","stylesRef","prevPresentRef","prevAnimationNameRef","machine","useStateMachine","UNMOUNT","ANIMATION_OUT","unmountSuspended","MOUNT","ANIMATION_END","unmounted","currentAnimationName","getAnimationName","wasPresent","prevAnimationName","handleAnimationEnd","isCurrentAnimation","currentFillMode","animationFillMode","handleAnimationStart","isPresent","usePresence","ENTRY_FOCUS","GROUP_NAME","Collection","useCollection","createRovingFocusGroupContext","createRovingFocusGroupScope","RovingFocusProvider","useRovingFocusContext","RovingFocusGroup","__scopeRovingFocusGroup","RovingFocusGroupImpl","orientation","currentTabStopIdProp","currentTabStopId","defaultCurrentTabStopId","onCurrentTabStopIdChange","onEntryFocus","preventScrollOnEntryFocus","groupProps","setCurrentTabStopId","isTabbingBackOut","setIsTabbingBackOut","handleEntryFocus","isClickFocusRef","focusableItemsCount","setFocusableItemsCount","onItemFocus","tabStopId","onItemShiftTab","onFocusableItemAdd","prevCount","onFocusableItemRemove","isKeyboardFocus","entryFocusEvent","focusable","currentItem","ITEM_NAME","RovingFocusGroupItem","itemProps","autoId","isCurrentTabStop","focusIntent","getDirectionAwareKey","MAP_KEY_TO_FOCUS_INTENT","getFocusIntent","candidateNodes","ArrowLeft","ArrowUp","ArrowRight","ArrowDown","PageUp","Home","PageDown","End","PREVIOUSLY_FOCUSED_ELEMENT","getDefaultParent","originalTarget","counterMap","uncontrolledNodes","markerMap","lockCount","unwrapHost","applyAttributeToOthers","markerName","controlAttribute","correctedTarget","correctTargets","markerCounter","hiddenNodes","elementsToKeep","elementsToStop","keep","deep","alreadyHidden","counterValue","markerValue","clear","hideOthers","activeParentNode","SuppressedError","zeroRightClassName","fullWidthClassName","assignRef","currentValues","useMergeRefs","facade","oldValue","prevRefs_1","nextRefs_1","current_1","ItoI","innerCreateMedium","assigned","medium","useMedium","assignSyncMedium","cbs","assignMedium","pendingQueue","executeQueue","cycle","effectCar","ssr","createSidecarMedium","nothing","RemoveScroll","parentRef","onScrollCapture","onWheelCapture","onTouchMoveCapture","callbacks","setCallbacks","forwardProps","removeScrollBar","shards","sideCar","noIsolation","inert","allowPinchZoom","gapMode","SideCar","containerProps","lockRef","fullWidth","zeroRight","currentNonce","Target","isSideCarExport","getNonce","__webpack_nonce__","stylesheetSingleton","stylesheet","makeStyleTag","injectStyles","styleSingleton","useStyle","isDynamic","styleHookSingleton","dynamic","zeroGap","gap","getGapWidth","cs","getOffset","documentWidth","Style","lockAttribute","getStyles","allowRelative","important","getCurrentUseCounter","RemoveScrollBar","noRelative","noImportant","newCounter","passiveSupported","nonPassive","elementCanBeScrolled","alwaysContainsScroll","locationCouldBeScrolled","elementCouldBeScrolled","getScrollVariables","elementCouldBeVScrolled","elementCouldBeHScrolled","getVScrollVariables","getHScrollVariables","endTarget","sourceDelta","noOverscroll","directionFactor","getDirectionFactor","targetInLock","shouldCancelScroll","isDeltaPositive","availableScroll","availableScrollTop","elementScroll","getTouchXY","getDeltaXY","extractRef","deltaCompare","generateStyle","idCounter","lockStack","getOutermostShadowParent","shadowParent","exported","shouldPreventQueue","touchStartRef","activeAxis","lastProps","allow_1","shouldCancelEvent","currentAxis","touchStart","moveDirection","canBeScrolledInMainDirection","cancelingAxis","shouldPrevent","_event","sourceEvent","should","shardNodes","shouldCancel","scrollTouchStart","scrollWheel","scrollTouchMove","ReactRemoveScroll","SELECTION_KEYS","LAST_KEYS","FIRST_LAST_KEYS","SUB_OPEN_KEYS","ltr","SUB_CLOSE_KEYS","MENU_NAME","createMenuContext","createMenuScope","usePopperScope","useRovingFocusGroupScope","MenuProvider","useMenuContext","MenuRootProvider","useMenuRootContext","__scopeMenu","popperScope","isUsingKeyboardRef","handleOpenChange","handlePointer","PopperPrimitive","onContentChange","onClose","MenuAnchor","PORTAL_NAME","forceMount","PortalProvider","usePortalContext","MenuPortal","PortalPrimitive","MenuContentProvider","useMenuContentContext","MenuContent","portalContext","rootContext","MenuRootContentModal","MenuRootContentNonModal","MenuContentImpl","trapFocus","disableOutsideScroll","onOpenAutoFocus","onCloseAutoFocus","rovingFocusGroupScope","currentItemId","setCurrentItemId","timerRef","pointerGraceTimerRef","pointerGraceIntentRef","pointerDirRef","lastPointerXRef","ScrollLockWrapper","scrollLockWrapperProps","handleTypeaheadSearch","currentMatch","textValue","nextMatch","isRepeated","normalizedSearch","currentMatchIndex","wrappedValues","getNextMatch","newItem","updateSearch","isPointerMovingToSubmenu","cursorPos","polygon","inside","isPointInPolygon","isPointerInGraceArea","onItemEnter","onItemLeave","onTriggerLeave","onPointerGraceIntentChange","intent","getOpenState","isKeyDownInside","isModifierKey","isCharacterKey","onPointerMove","whenMouse","pointerXHasChanged","newDir","MenuGroup","MenuLabel","labelProps","ITEM_SELECT","isPointerDownRef","MenuItemImpl","menuItem","itemSelectEvent","onPointerDown","onPointerUp","isTypingAhead","setIsFocused","setTextContent","onPointerLeave","MenuCheckboxItem","onCheckedChange","checkboxItemProps","ItemIndicatorProvider","isIndeterminate","getCheckedState","RADIO_GROUP_NAME","onValueChange","RadioGroupProvider","useRadioGroupContext","MenuRadioGroup","handleValueChange","RADIO_ITEM_NAME","MenuRadioItem","radioItemProps","ITEM_INDICATOR_NAME","useItemIndicatorContext","MenuItemIndicator","itemIndicatorProps","indicatorContext","MenuSeparator","separatorProps","MenuArrow","SUB_NAME","MenuSubProvider","useMenuSubContext","MenuSub","parentMenuContext","setTrigger","contentId","triggerId","onTriggerChange","SUB_TRIGGER_NAME","MenuSubTrigger","subContext","openTimerRef","clearOpenTimer","pointerGraceTimer","rightSide","bleed","contentNearEdge","contentFarEdge","SUB_CONTENT_NAME","MenuSubContent","subContentProps","isCloseKey","Group","Label","CheckboxItem","RadioGroup","RadioItem","ItemIndicator","Separator","SubTrigger","SubContent","DROPDOWN_MENU_NAME","createDropdownMenuContext","useMenuScope","DropdownMenuProvider","useDropdownMenuContext","DropdownMenu","__scopeDropdownMenu","openProp","menuScope","triggerRef","onOpenToggle","prevOpen","MenuPrimitive","TRIGGER_NAME","DropdownMenuTrigger","triggerProps","DropdownMenuPortal","DropdownMenuContent","hasInteractedOutsideRef","ctrlLeftClick","isRightClick","DropdownMenuGroup","DropdownMenuLabel","DropdownMenuItem","DropdownMenuCheckboxItem","DropdownMenuRadioGroup","radioGroupProps","DropdownMenuRadioItem","DropdownMenuItemIndicator","DropdownMenuSeparator","DropdownMenuArrow","DropdownMenuSubTrigger","subTriggerProps","DropdownMenuSubContent","Trigger","FaChevronDown","customClass","closeDropdown","VisuallyHidden","wordWrap","OPEN_KEYS","SELECT_NAME","createSelectContext","SelectProvider","useSelectContext","SelectNativeOptionsProvider","useSelectNativeOptionsContext","Select","__scopeSelect","valueProp","valueNode","setValueNode","valueNodeHasChildren","setValueNodeHasChildren","triggerPointerDownPosRef","isFormControl","nativeOptionsSet","setNativeOptionsSet","nativeSelectKey","onValueNodeChange","onValueNodeHasChildrenChange","onNativeOptionAdd","onNativeOptionRemove","optionsSet","BubbleSelect","SelectTrigger","pointerTypeRef","useTypeaheadSearch","enabledItems","nextItem","findNextItem","resetTypeahead","handleOpen","pointerEvent","shouldShowPlaceholder","hasPointerCapture","releasePointerCapture","VALUE_NAME","SelectValue","valueProps","hasChildren","SelectIcon","iconProps","SelectPortal","SelectContent","fragment","setFragment","DocumentFragment","frag","SelectContentProvider","SelectContentImpl","CONTENT_MARGIN","useSelectContentContext","setViewport","selectedItem","setSelectedItem","selectedItemText","setSelectedItemText","setIsPositioned","firstValidItemFoundRef","firstItem","lastItem","scrollIntoView","focusSelectedItem","pointerMoveDelta","handlePointerMove","itemRefCallback","isFirstValidItem","handleItemLeave","itemTextRefCallback","SelectPosition","SelectPopperPosition","SelectItemAlignedPosition","popperContentProps","onViewportChange","onContextMenu","flexDirection","currentElement","popperProps","contentWrapper","setContentWrapper","shouldExpandOnScrollRef","shouldRepositionRef","triggerRect","valueNodeRect","itemTextRect","itemTextOffset","leftDelta","minContentWidth","contentWidth","rightEdge","clampedLeft","rightDelta","leftEdge","clampedRight","itemsHeight","contentStyles","contentBorderTopWidth","contentPaddingTop","contentBorderBottomWidth","fullContentHeight","minContentHeight","viewportStyles","viewportPaddingTop","viewportPaddingBottom","topEdgeToTriggerMiddle","triggerMiddleToBottomEdge","selectedItemHalfHeight","contentTopToItemMiddle","itemMiddleToContentBottom","isLastItem","viewportOffsetBottom","isFirstItem","maxHeight","handleScrollButtonChange","SelectViewportProvider","onScrollButtonChange","useSelectViewportContext","VIEWPORT_NAME","SelectViewport","viewportProps","viewportContext","prevScrollTopRef","scrolledBy","cssMinHeight","cssHeight","prevHeight","nextHeight","clampedNextHeight","heightDiff","justifyContent","SelectGroupContextProvider","useSelectGroupContext","SelectGroup","groupId","LABEL_NAME","SelectLabel","groupContext","SelectItemContextProvider","useSelectItemContext","SelectItem","textValueProp","isSelected","setTextValue","textId","onItemTextChange","prevTextValue","ITEM_TEXT_NAME","SelectItemText","itemTextProps","itemContext","nativeOptionsContext","itemTextNode","setItemTextNode","nativeOption","SelectItemIndicator","SCROLL_UP_BUTTON_NAME","SelectScrollUpButton","canScrollUp","setCanScrollUp","SelectScrollButtonImpl","onAutoScroll","SCROLL_DOWN_BUTTON_NAME","SelectScrollDownButton","canScrollDown","setCanScrollDown","maxScroll","scrollIndicatorProps","autoScrollTimerRef","clearAutoScrollTimer","activeItem","SelectSeparator","SelectArrow","selectProps","selectProto","HTMLSelectElement","Event","onSearchChange","handleSearchChange","currentItemIndex","wrappedItems","Value","Icon","Viewport","ItemText","CustomSelect","showLabel","labelName","selectedOption","RxCaretSort","PAGE_KEYS","ARROW_KEYS","BACK_KEYS","SLIDER_NAME","createSliderContext","SliderProvider","useSliderContext","Slider","minStepsBetweenThumbs","onValueCommit","inverted","sliderProps","thumbRefs","valueIndexToChangeRef","SliderOrientation","SliderHorizontal","SliderVertical","setValues","valuesBeforeSlideStartRef","updateValues","atIndex","commit","decimalCount","getDecimalCount","snapToStep","rounder","roundValue","prevValues","nextValues","getNextSortedValues","minStepsBetweenValues","stepsBetweenValues","getStepsBetweenValues","hasMinStepsBetweenValues","hasChanged","__scopeSlider","onSlideStart","closestIndex","distances","closestDistance","getClosestValueIndex","onSlideMove","onSlideEnd","onHomeKeyDown","onEndKeyDown","onStepKeyDown","stepDirection","startEdge","endEdge","SliderOrientationProvider","useSliderOrientationContext","slider","setSlider","rectRef","isDirectionLTR","isSlidingFromLeft","getValueFromPointer","pointerPosition","linearScale","SliderImpl","isBackKey","sliderRef","isSlidingFromBottom","setPointerCapture","TRACK_NAME","SliderTrack","trackProps","RANGE_NAME","SliderRange","rangeProps","valuesCount","percentages","convertValueToPercentage","offsetStart","offsetEnd","THUMB_NAME","SliderThumb","thumb","setThumb","SliderThumbImpl","thumbProps","percent","totalValues","getLabel","orientationSize","thumbInBoundsOffset","getThumbInBoundsOffset","BubbleInput","inputProps","inputProto","Track","Range","Thumb","WeightRangeFilter","productGram","setProductGram","filterProducts","handleGramInputChange","CaratRangeFilter","productCarat","setProductCarat","handleCaratInputChange","dropdownValue","toggleCollectionOption","placeholderKey","CHECKBOX_NAME","createCheckboxContext","CheckboxProvider","useCheckboxContext","Checkbox","__scopeCheckbox","checkedProp","checkboxProps","setButton","hasConsumerStoppedPropagationRef","setChecked","initialCheckedStateRef","getState","prevChecked","INDICATOR_NAME","CheckboxIndicator","indicatorProps","controlSize","indeterminate","defaultCheckedRef","Indicator","onUnchecked","onChecked","newCheckedState","sortingOptions","sortOrder","setSortOrder","setFilterModal","selectedCategory","setSelectedCategory","selectedCollection","setSelectedCollection","setProductData","setPageOffSet","resetFilters","sendCustomData","setSendCustomData","getProducts","firstChecked","mapOptions","valueKey","labelKey","normalizedPrev","shapeOptions","customFilterData","setCustomFilterData","isLoadingApi","setIsLoadingApi","diamondSizeData","Shape","stockData","formattedStockData","CaratWeight","Pcs","NumberOfPCS","SizeCode","addRow","removeRow","rowId","row","updatedRow","selectedSizeOption","Pointer","pointerValue","sizeCodeValue","saveStock","formattedData","newObj","clearCustomFilter","pageSize","isLoadingData","setLoadingData","isFetchingMore","setFetchingMore","pageOffSet","filterModal","singleOrderData","resetData","hasValidSize","CurrentPage","SortOrder","NetWtFrom","NetWtTo","DiamondWtFrom","DiamondWtTo","isThrottled","noDataImg","isResetInProgress","grpNO","IoClose","IoPrint","FcApproval","setActiveIndex","processData","setProcessData","handleToggleAccordion","getProcessData","Category","OrderQty","CustomerProductionInstruction","OrderProceedStatus","TotGrossWt","TotDiaWt","DepartmentCode","DepartmentName","weekday","CustomerName","ListOrderDetail","seoTitle","loadinData","Sku","defaultFormData","updatedData","FaPencil","FaTrash","modalTitle","modalText","submitText","tableHeadData","stockModal","setStockModal","deleteModal","setDeleteModal","setIsLoadingData","handleDeleteStock","totalItems","paginatedData","stock","openEditModal","u8","u16","i32","Int32Array","fleb","fdeb","clim","freb","revfl","revfd","rev","hMap","co","rvb","sv","r_1","flt","fdt","flm","flrm","fdm","fdrm","bits","bits16","shft","slc","subarray","ind","msg","nt","inflt","dat","st","buf","dict","noBuf","noSt","cbuf","nbuf","final","bt","lm","dm","lbt","dbt","tbts","hLit","hcLen","ldt","clt","clb","clbmsk","clm","lt","dt","lms","dms","lpos","dsym","dend","wbits","wbits16","hTree","et","i0","i1","i2","maxSym","tr","mbt","ln","lft","cst","i2_1","i2_2","i2_3","cli","cln","clen","wfblk","out","wblk","syms","bs","dlt","mlb","ddt","mdb","lclt","nlc","lcdt","ndc","lcfreq","lct","mlcb","nlcc","flen","ftlen","dtlen","llm","lcts","clct","dst","deo","dflt","lvl","plvl","pre","lst","msk_1","bs1_1","bs2_1","hsh","lc_1","hv","imod","pimod","rem","ch_1","dif","maxn","maxd","mmd","lin","din","adler","dopt","dictionary","newDat","mem","wbytes","zlh","lv","zls","zlibSync","unzlibSync","TextDecoder","stream","globalObject","consoleLog","download","saveAs","corsEnabled","MouseEvent","initMouseEvent","atob","HTMLAnchorElement","blob","webkitURL","createObjectURL","revokeObjectURL","msSaveOrOpenBlob","autoBom","popup","innerText","safari","isChromeIOS","reader","RGBColor","color_string","channels","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","feldspar","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslateblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","violetred","wheat","white","whitesmoke","yellow","yellowgreen","color_defs","example","processor","toRGB","toHex","md5cycle","add32","cmn","md51","md5blk","md5blks","hex_chr","rhex","singleToByteString","md5Bin","md5Check","lsw","rc4","lastKey","lastState","num","permissionOptions","print","modify","annot-forms","PDFSecurity","permissions","userPassword","ownerPassword","fileId","protection","perm","paddedUserPassword","paddedOwnerPassword","processOwnerPassword","encryptionKey","lsbFirstWord","hexToBytes","toPDFName","strLength","PubSub","topics","topic","publish","sub","ex","getTopics","GState","parameters","supported","objectNumber","Pattern","gState","ShadingPattern","TilingPattern","boundingBox","xStep","yStep","cloneIndex","jsPDF","precision","compressPdf","userUnit","floatPrecision","defaultPathOperation","encryptionOptions","compress","encryption","userPermissions","putOnlyUsedFonts","usedFonts","API","__private__","pdfVersion","getPdfVersion","setPdfVersion","pageFormats","a0","a5","a6","a7","a8","a9","a10","b0","b3","b5","b6","b7","b8","b9","b10","c0","c4","c5","c6","c7","c8","c9","c10","government-letter","legal","junior-legal","ledger","tabloid","credit-card","getPageFormats","getPageFormat","ApiMode","COMPAT","ADVANCED","apiMode","advancedAPI","saveGraphicsState","Matrix","scaleFactor","getPageHeight","setFontSize","getFontSize","compatAPI","restoreGraphicsState","combineFontStyleAndFontWeight","doSwitch","isAdvancedAPI","hpf","advancedApiModeTrap","roundToPrecision","parmPrecision","tmpPrecision","f2","f3","transformY","transformScaleY","setPrecision","creationDate","getFileId","setFileId","convertDateToPDFDate","parmDate","tzoffset","getTimezoneOffset","tzsign","tzhour","tzmin","timeZoneString","padd2","getHours","getMinutes","getSeconds","convertPDFDateToDate","parmPDFDate","hour","minutes","seconds","setCreationDate","tmpCreationDateString","getCreationDate","padd2Hex","hexString","contentLength","additionalObjects","hasCustomDestination","outputDestination","setCustomOutputDestination","destination","setOutputDestination","resetCustomOutputDestination","getArrayBuffer","standardFonts","getStandardFonts","activeFontSize","zoomMode","R2L","setR2L","getR2L","setZoomMode","pageMode","getZoomMode","setPageMode","layoutMode","pmode","validPageModes","getPageMode","setLayoutMode","layout","validLayoutModes","getLayoutMode","setDisplayMode","documentProperties","subject","author","keywords","creator","getDocumentProperty","getDocumentProperties","setDocumentProperties","setProperties","properties","setDocumentProperty","activeFontKey","pageMatrix","fontmap","fontStateStack","patterns","patternMap","gStates","gStatesMap","activeGState","pagesContext","hotfixes","renderTargets","renderTargetMap","renderTargetStack","sx","shy","shx","sy","tx","ty","_matrix","decompose","shear","rotate","skew","inversed","quot","aInv","bInv","cInv","dInv","applyToPoint","pt","Point","applyToRectangle","pt1","pt2","Rectangle","matrixMult","m1","m2","identityMatrix","unitMatrix","addPattern","patternKey","addShadingPattern","beginTilingPattern","beginNewRenderTarget","endTilingPattern","newObject","oid","newObjectDeferred","newObjectDeferredBegin","doOutput","newAdditionalObject","objId","rootDictionaryObjId","resourceDictionaryObjId","decodeColorString","colorEncoded","floatVal","colorAsRGB","encodeColorString","ch1","ch2","ch3","ch4","letterArray","pdfColorType","rgbColor","getFilters","putStream","alreadyAppliedFilters","addLength1","valueOfLength1","objectId","encryptor","processedData","keyValues","additionalKeyValues","filterAsString","processDataByFilters","reverseChain","decodeParmsArray","putPage","pageNumber","pageObjectNumber","pageContentsObjId","contentsObjId","mediaBox","bottomLeftX","bottomLeftY","topRightX","topRightY","cropBox","bleedBox","trimBox","artBox","pageContext","pageContent","putPages","pageObjectNumbers","kids","putFont","isAlreadyPutted","postScriptName","encoding","putXObject","xObject","putShadingPattern","numberSamples","funcObjectNumber","tValues","dT","aColor","bColor","interpolateAndEncodeRGBStream","putTilingPattern","deferredResourceDictionaryIds","resourcesObjectId","patternObjectId","resourcesOid","objectOid","putPatterns","putGState","putResourceDictionary","objectIds","fontKey","putFontDict","putShadingPatternDict","putTilingPatternDict","gStateKey","putGStatesDict","xObjectKey","putXobjectDict","putResources","putFonts","putGStates","putXObjects","MAX_SAFE_INTEGER","addFontToFontDictionary","fontName","addFont","isStandardFont","metadata","pdfEscape","to8bitStream","sourceEncoding","encodingBlock","outputEncoding","newtext","isUnicode","bch","autoencode","codePages","noBOM","beginPage","_setPage","_addPage","parmFormat","parmOrientation","dimensions","setLineWidth","strokeColor","lineCapID","lineJoinID","_deletePage","setPage","getNumberOfPages","getFont","fontNameLowerCase","disableWarning","noFallback","times","putInfo","putCatalog","tmpRootDictionaryObjId","pcn","putTrailer","putHeader","putXRef","buildDocument","putAdditionalObjects","toHexString","offsetOfXRef","getBlob","filename","dataURI","pdfDocument","pdfObjectUrl","integrity","htmlForNewWindow","nW","htmlForPDFjsNewWindow","pdfJsUrl","PDFjsNewWindow","PDFViewerApplication","htmlForDataURLNewWindow","dataURLNewWindow","hasHotfix","foo","alert","hotfixName","getPageInfo","pageNumberOneBased","getPageInfoByObjId","getCurrentPageInfo","addPage","insertPage","beforePage","movePage","targetPage","tmpPages","tmpPagesContext","deletePage","charSpace","maxWidth","horizontalScale","transformationMatrix","xtra","lineHeightFactor","ESC","TabLen","transformTextToSpecialArray","curDa","processTextByFunction","processingFunction","tmpResult","textIsOfTypeString","tmpTextIsOfTypeString","descent","splitTextToSize","textLine","mutex","rotationDirection","activeCharSpace","setCharSpace","getCharSpace","lang","renderingMode","parmRenderingMode","usedRenderingMode","lineWidths","leading","pageWidth","getWidth","activeFont","wordSpacingPerLine","findWidth","getStringUnitWidth","doKerning","newY","prevWidth","newX","getHorizontalCoordinate","getVerticalCoordinate","backToStartX","spacing","shiftAmount","posX","posY","activeFontEncoding","STRING","generatePosition","parmPosX","parmPosY","parmTransformationMatrix","lineIndex","textColor","clipEvenOdd","discardPath","isValidStyle","validStyleVariants","setDefaultPathOperation","operator","getStyle","fillWithOptionalPattern","fillEvenOdd","fillStroke","fillStrokeEvenOdd","fillWithPattern","putStyle","cloneTilingPattern","patternData","patternId","clipRuleFromStyle","setGState","curveTo","x3","y3","lines","closed","scalex","scaley","leg","x4","y4","triangle","roundedRect","MyArc","SQRT2","ellipse","lx","ly","circle","setFont","getFontEntry","getFontList","encodingOptions","getLineWidth","setLineDashPattern","dashArray","dashPhase","getLineHeight","setLineHeightFactor","getLineHeightFactor","getHorizontalCoordinateString","getVerticalCoordinateString","getStrokeColor","getDrawColor","setStrokeColor","setDrawColor","fillColor","getFillColor","setFillColor","getTextColor","setTextColor","CapJoinStyles","0","butt","but","miter","1","rounded","2","projecting","project","square","bevel","setLineCap","setLineJoin","setLineMiterLimit","setMiterLimit","addGState","equals","duplicate","fontState","setCurrentTransformationMatrix","_y","_type","_w","RenderTarget","getPageWidth","setPageWidth","setPageHeight","plugin","beginFormObject","endFormObject","newXObject","xObjectId","doFormObject","getFormObject","returnPromise","unload","newEvents","eventname","handler_and_args","getCoordinateString","collections","setWidth","getHeight","setHeight","getEncryptor","getPDFVersion","arrayOfFonts","SAFE","byteString","byte","generation","other","ignore","jsPDFAPI","pdfUnescape","f5","__acroform__","inherit","createFormXObject","formObject","xobj","AcroFormXObject","AcroFormAppearance","BBox","setBit","bitPosition","clearBit","getBit","getBitForPdf","setBitForPdf","clearBitForPdf","calculateCoordinates","coordinates","lowerLeft_X","lowerLeft_Y","upperRight_X","upperRight_Y","calculateAppearanceStream","appearanceStreamContent","DV","_V","calcRes","calculateX","maxFontSize","textSplit","multiline","word","isSmallerThanWidth","lastLine","TextWidth","calculateFontSpace","FontSize","textHeight","lastLength","lastY","firstWordInLine","lastWordInLine","currWord","lineCount","isWithNewLine","nextLineIsSmaller","isLastWord","currLine","acroformPluginTemplate","fields","xForms","acroFormDictionaryRoot","printedOut","isInitialized","createAnnotationReference","annotations","createXFormObjectCallback","initializeAcroForm","acroformPlugin","AcroFormField","FieldNum","AcroFormDictionary","_eventID","Fields","hasAnnotation","putCatalogCallback","fieldArray","standardFields","Kids","fieldObject","keyValueList","oldRect","Rect","DA","createDefaultAppearanceStream","getKeyValueListForStream","hasAppearanceStream","appearance","appearanceStreamString","arrayToPdfArray","toPdfString","AcroFormPDFObject","_objId","_scope","_BBox","_stream","_Kids","_DA","_F","_Ff","_Rect","_FT","_T","AcroFormChildClass","_fontName","_fontStyle","_fontSize","_maxFontSize","_color","AcroFormTextField","_DV","AcroFormButton","_hasAppearanceStream","_page","_Q","AcroFormChoiceField","FT","_TI","_Opt","regex","getMatches","getOptions","addOption","removeOption","allEntries","combo","AcroFormListBox","AcroFormComboBox","AcroFormEditBox","edit","_MK","_AS","CA","AcroFormPushButton","pushButton","AcroFormRadioButton","radio","_parent","_optionName","caption","appearanceState","_AppearanceType","RadioButton","Circle","createAppearanceStream","optionName","setAppearance","getCA","createOption","addField","AcroFormCheckBox","CheckBox","_MaxLen","isInteger","AcroFormPasswordField","On","YesNormal","YesPushDown","Off","OffPushDown","encodedColor","DotRadius","Bezier_C","DotRadiusBezier","Cross","cross","calculateCross","AcroForm","ChoiceField","ListBox","ComboBox","EditBox","PushButton","TextField","PasswordField","Appearance","toLookup","__addimage__","UNKNOWN","imageFileTypeHeaders","PNG","TIFF","JPEG","JPEG2000","GIF87a","GIF89a","WEBP","BMP","getImageFileTypeByImageData","imageData","fallbackFormat","headerSchemata","compareResult","fileType","Uint8ClampedArray","putImage","colorSpace","color_spaces","INDEXED","palette","sMask","DEVICE_CMYK","bitsPerComponent","decodeParameters","transparency","predictor","arrayBufferToBinaryString","putResourcesCallback","addImage_images","putXObjectsDictCallback","initialize","getImages","getImageIndex","isImageTypeSupported","isDOMElement","getImageDataFromElement","tmpImageData","loadFile","mimeType","checkImagesForAlias","alias","determineWidthAndHeight","writeImageToPDF","rotation","dims","coord","vcoord","f4","rotationTransformationMatrix","DEVICE_RGB","DEVICE_GRAY","CAL_GREY","CAL_RGB","LAB","ICC_BASED","PATTERN","SEPARATION","DEVICE_N","DCT_DECODE","FLATE_DECODE","LZW_DECODE","JPX_DECODE","JBIG2_DECODE","ASCII85_DECODE","ASCII_HEX_DECODE","RUN_LENGTH_DECODE","CCITT_FAX_DECODE","image_compression","NONE","FAST","MEDIUM","SLOW","sHashCode","byteLength","validateStringAsBase64","possibleBase64String","extractImageFromDataUrl","dataUrl","commaIndex","supportsArrayBuffer","Int8Array","Int16Array","Float32Array","Float64Array","binaryStringToUint8Array","binary_string","compression","processImageData","dataAsBinaryString","convertBase64ToBinaryString","checkCompressValue","stringData","rawData","getImageProperties","notEmpty","addPageData","putPageData","anno","pageInfo","pageAnnos","objText","objPopup","encryptorText","contents","_nameMap","finalBounds","magFactor","createAnnotation","textWithLink","linkHeight","linkWidth","totalLineWidth","getTextWidth","numOfLines","arabicSubstitionA","1569","1570","1571","1572","1573","1574","1575","1576","1577","1578","1579","1580","1581","1582","1583","1584","1585","1586","1587","1588","1589","1590","1591","1592","1593","1594","1601","1602","1603","1604","1605","1606","1607","1608","1609","1610","1649","1655","1657","1658","1659","1662","1663","1664","1667","1668","1670","1671","1672","1676","1677","1678","1681","1688","1700","1702","1705","1709","1711","1713","1715","1722","1723","1726","1728","1729","1733","1734","1735","1736","1737","1739","1740","1744","1746","1747","ligatures","65247","65154","65156","65160","65166","65248","65165","65258","1617","1612","1613","1614","1615","1616","arabic_diacritics","alfletter","__arabicParser__","isInArabicSubstitutionA","isArabicLetter","isArabicEndLetter","isArabicAlfLetter","arabicLetterHasIsolatedForm","arabicLetterHasFinalForm","arabicLetterHasInitialForm","arabicLetterHasMedialForm","resolveLigatures","letters","tmpLigatures","effectedLetters","isArabicDiacritic","getCorrectForm","currentChar","beforeChar","parseArabic","currentLetter","prevLetter","nextLetter","newWords","processArabic","tmpText","autoPrint","refAutoPrintTag","addJS","Canvas","jsPdfInstance","_width","pageWrapXEnabled","pageWrapX","_height","pageWrapYEnabled","pageWrapY","_childNodes","_style","contextAttributes","pdf","context2d","_canvas","NO_MARGINS","printingHeaderRow","_initialize","__cell__","headerFunction","margins","_reset","lastCell","Cell","_text","_lineNumber","_align","setHeaderFunction","getTextDimensions","amountOfLines","tempWidth","cellAddPage","cell","currentCell","tableHeaderRow","printHeaders","printHeaderRow","table","headerNames","headerName","headerLabels","headerAligns","columnMatrix","columnWidths","columnMinWidths","tableHeaderConfigs","autoSize","headerBackgroundColor","headerTextColor","table_font_size","prompt","rec","rowHeight","calculateLineHeight","setTableHeaderRow","pv","cv","rowStart","cellData","cellStart","table_x","table_y","model","new_page","tableHeaderCell","tempHeaderConf","currentTextColor","fontStyleOrder","italic","oblique","normal","fontStretchOrder","fontStretchLookup","fontWeights","fontWeightsLookup","normalizeFontFace","fontFace","family","normalizeFontStyle","weight","stretch","normalizeFontStretch","searchFromPivot","matchingSet","pivot","defaultGenericFontFamilies","sans-serif","fixed","monospace","terminal","cursive","fantasy","serif","systemFonts","message-box","small-caption","status-bar","ruleToString","eatWhiteSpace","trimLeft","parseQuotedFontFamily","parseNonQuotedFontFamily","jsNamesObj","jsJsObj","defaultFont","_ctx","ContextLayer","isStrokeTransparent","isFillTransparent","globalCompositeOperation","clip_path","currentPoint","miterLimit","lastPoint","lineDashOffset","lineDash","prevPageLastElemOffset","ignoreClearRect","Context2D","_pdf","_pageWrapXEnabled","_pageWrapYEnabled","_posX","_posY","_autoPaging","lastBreak","pageBreaks","_ctxStack","getRGBA","_fontFaceMap","getFontFaceMap","fontFaces","convertedFontFaces","convertToFontFaces","fontMap","_fontFaces","fontSizeUnit","remaining","fontFaceMap","defaultFontFamily","genericFontFamilies","ordering","resolveFontStyle","resolveFontWeight","resolveFontFace","jsPdfFontName","fallbackFonts","arial","Arial","verdana","Verdana","helvetica","Helvetica","getLineDash","pathPreProcess","pathBegin","quadraticCurveTo","cpx","cpy","pt0","cp1x","cp1y","cp2x","cp2y","radius","startAngle","endAngle","counterclockwise","isIdentity","xpt","x_radPt","x_radPt0","arcTo","strokeRect","clearRect","doStackPush","tmpPageNumber","ctxStack","doStackPop","rxRgb","isCanvasGradient","getColor","degs","rad2deg","putText","txtWidth","scalewidth","scaleheight","setTransform","hasMargins","swidth","sheight","imageProperties","factorX","factorY","clipFactorX","clipFactorY","decomposedTransformationMatrix","clipPath","xRect","pageArray","getPagesByPath","sortPages","autoPaging","pageWidthMinusMargins","topMargin","firstPageHeight","pageHeightMinusMargins","previousPageHeightSum","tmpPaths","pathPositionRedo","drawPaths","tmpRect","needsClipping","yOffset","rectOfQuadraticCurve","getQuadraticCurveBoundary","rectOfBezierCurve","getBezierCurveBoundary","isClip","tmpPath","oldLineWidth","origPath","xPath","moves","deltas","iii","began","arcs","drawArc","drawLine","drawLines","doClip","getBaseline","getTextBottom","yBaseLine","canvasGradient","colorStops","includeMove","createArc","curve","doMove","drawCurve","textDimensions","yTop","baselineRect","oldSize","pageHeightMinusBottomMargin","pageWidthMinusRightMargin","textBoundsOnPage","doSlice","croppedText","baseLineRectOnPage","prevX","prevY","anticlockwise","twoPi","halfPi","totalAngle","sgn","remain","createSmallArc","q1","q2","k2","cos_ar","sin_ar","ey","midX1","midY1","midX2","midY2","resultX1","resultX2","resultY1","resultY2","ax","ay","bx","by","dx","dy","px","py","qx","qy","minx","miny","maxx","maxy","tobx","toby","tocx","tocy","todx","tody","prevLineDash","nextLineDash","ASCII85Encode","ASCII85Decode","ASCIIHexDecode","regexCheckIfHex","FlateEncode","origData","filterChain","sync","sanitizeUnicode","dataLength","charArray","StringFromCharCode","overrideMimeType","loadImageFile","loadHtml2Canvas","import","loadDomPurify","DOMPurify","dompurify","objType","sanitize","Worker","convert","template","setProgress","overlay","enableLinks","getType","toContainer","toCanvas","toImg","toPdf","thenList","containerCSS","javascriptEnabled","prereqs","onrendered","toContext2d","imgData","quality","outputImg","outputPdf","doCallback","setMargin","cbk","toPx","getPageSize","thenCore","thenBase","selfPromise","returnVal","thenExternal","catchExternal","using","export","format_as_string","pageHeight","worker","javascript","namesOid","createNamedDestinations","dests","names2Oid","makeRef","genIds_r","renderRoot","renderItems","objStart","count_r","objEnd","makeString","markers","processJPEG","blockLength","numcomponents","getJpegInfo","getCharWidthsArray","splitLongWord","splitParagraphIntoLines","makeImage","scratchCanvas","scratchCtx","chunkSize","palLen","delayDen","delayNum","frame","section","palShort","readUInt32","_results","compressionMethod","filterMethod","interlaceMethod","numFrames","numPlays","frames","xOffset","readUInt16","disposeOp","blendOp","indexed","grayscale","hasAlphaChannel","pixelBitlength","decodePixels","pixelBytes","fullPixels","pass","abyte","paeth","pixels","scanlineLength","upper","upperLeft","isFull","fullPos","partPos","decodePalette","_ref1","copyToImageData","_decodedPalette","hasBrowserCanvas","decodeFrames","createImageData","renderFrame","doFrame","frameNumber","_timeout","stopAnimation","_png","GifReader","pf0","global_palette_flag","num_global_colors","global_palette_offset","global_palette_size","no_eof","transparent_index","disposal","loop_count","block_size","pf1","pf2","interlace_flag","num_local_colors","palette_offset","palette_size","has_local_palette","data_offset","data_length","interlaced","loopCount","frameInfo","frame_num","decodeAndBlitFrameBGRA","num_pixels","index_stream","GifReaderLZWOutputIndexStream","trans","framewidth","framestride","xleft","opbeg","opend","scanstride","interlaceskip","decodeAndBlitFrameRGBA","code_stream","output_length","min_code_size","clear_code","eoi_code","next_code","cur_code_size","code_mask","cur_shift","cur","subblock_size","code_table","prev_code","chase","chase_code","chase_length","op_end","JPEGEncoder","YDC_HT","UVDC_HT","YAC_HT","UVAC_HT","currentQuality","ffloor","YTable","UVTable","fdtbl_Y","fdtbl_UV","bitcode","outputfDCTQuant","DU","byteout","bytenew","bytepos","YDU","UDU","VDU","RGB_YUV_TABLE","ZigZag","std_dc_luminance_nrcodes","std_dc_luminance_values","std_ac_luminance_nrcodes","std_ac_luminance_values","std_dc_chrominance_nrcodes","std_dc_chrominance_values","std_ac_chrominance_nrcodes","std_ac_chrominance_values","computeHuffmanTbl","nrcodes","std_table","codevalue","pos_in_table","HT","writeBits","posval","writeByte","writeWord","processDU","CDU","fdtbl","DC","HTDC","HTAC","EOB","M16zeroes","DU_DCT","d0","d1","d2","d3","d4","d5","d6","d7","fDCTQuant","dataOff","tmp0","tmp7","tmp1","tmp6","tmp2","tmp5","tmp3","tmp4","tmp10","tmp13","tmp11","tmp12","z1","z5","z2","z4","z3","z11","z13","tmp0p2","tmp7p2","tmp1p2","tmp6p2","tmp2p2","tmp5p2","tmp3p2","tmp4p2","tmp10p2","tmp13p2","tmp11p2","tmp12p2","z1p2","z5p2","z2p2","z4p2","z3p2","z11p2","z13p2","Diff","end0pos","lng","startpos","nrzeroes","nrmarker","setQuality","initQuantTables","YQT","UVQT","aasf","writeSOF0","DCY","DCU","DCV","quadWidth","fillbits","sfcc","nrlower","nrupper","cat","nr","nrneg","initRGBYUVTable","BmpDecoder","is_with_alpha","datav","DataView","bottom_up","flag","parseHeader","parseBGR","WebPDecoder","Ed","_WebPDecoder","Gd","Kd","Sd","Cd","RGBA","Ud","Wd","memory","ga","VP8LMapColor32b","VP8LMapColor8b","put","Ge","jf","kf","Predictor0","Predictor1","Predictor2","Predictor3","Predictor4","Predictor5","Predictor6","Predictor7","Predictor8","Predictor9","Predictor10","Predictor11","Predictor12","Predictor13","PredictorAdd0","PredictorAdd1","PredictorAdd2","ColorIndexInverseTransform","MapARGB","VP8LColorIndexInverseTransformAlpha","MapAlpha","VP8LPredictorsAdd","VP8LPredictors","VP8LPredictorsAdd_C","VP8LPredictors_C","UpsampleRgbLinePair","UpsampleBgrLinePair","UpsampleRgbaLinePair","UpsampleBgraLinePair","UpsampleArgbLinePair","UpsampleRgba4444LinePair","UpsampleRgb565LinePair","WebPDecodeRGBA","GetTag","data_off","GetLE24","GetLE32","webpdecoder","imagearray","src_off","alpha_chunk","alpha_size","alpha_offset","memcmp","fourcc","payload_size","payload_size_padded","src_size","src_off_","canvas_width","bgcolor","offset_x","temp","dispose","blend","rgbaoutput","loop_counter","imgheight","compressBytes","colorsPerPixel","filter_method","filterUp","filterSub","filterAverage","filterPaeth","applyPngFilterMethod","prevLine","filter_methods","getFilterMethods","getIndexOfSmallestSum","filterNone","up","upLeft","paethPredictor","pLeft","pUp","pUpLeft","arrays","processPNG","trns","pal","smask","alphaData","hasColors","pixel","pDiff","pbl","getPredictorFromCompression","processGIF89A","rawImageData","processGIF87A","fileSize","getUint32","reserved","headerSize","getInt32","planes","getUint16","bitPP","rawSize","vr","importantColors","getUint8","quad","bitn","bit1","xlen","bit4","bit8","bit15","dif_w","_1_5","bit16","_1_6","bit24","bit32","processBMP","processWEBP","processRGBA","imagePixels","rgbOut","alphaOut","outIndex","alphaIndex","rgbData","setLanguage","langCode","languageSettings","isSubscribed","sq","ar-DZ","ar-BH","ar-EG","ar-IQ","ar-JO","ar-KW","ar-LB","ar-LY","ar-MA","ar-OM","ar-QA","ar-SA","ar-SY","ar-TN","ar-AE","ar-YE","an","hy","ast","az","eu","bn","my","zh-HK","zh-CN","zh-SG","zh-TW","cr","nl-BE","en","en-AU","en-BZ","en-CA","en-IE","en-JM","en-NZ","en-PH","en-ZA","en-TT","en-GB","en-US","en-ZW","eo","fo","fr","fr-BE","fr-CA","fr-FR","fr-LU","fr-MC","fr-CH","fy","fur","gd-IE","de-AT","de-DE","de-LI","de-LU","de-CH","gu","ht","hu","iu","it-CH","kn","ks","km","ky","ko","ko-KP","ko-KR","ms","mt","mr","mo","nv","no","nn","or","om","fa-IR","pt-BR","pa-IN","pa-PK","qu","rm","ro-MO","ru","ru-MO","sz","sr","so","es","es-AR","es-BO","es-CL","es-CO","es-CR","es-DO","es-EC","es-SV","es-GT","es-HN","es-MX","es-NI","es-PA","es-PY","es-PE","es-PR","es-ES","es-UY","es-VE","sw","sv-FI","sv-SV","tt","tig","ts","tn","hsb","ur","vo","zu","languageCode","char_code","widths","Unicode","widthsFractionOf","fof","kerning","kerningFractionOf","kerningValue","prior_char_code","default_char_width","widthOfString","widthOfGlyph","characterToGlyph","widths_array","firstLineMaxLen","answer","workingLen","startOfLine","maxlen","lineIndent","postProcess","line_length","textIndent","separator_length","current_word_length","spaceCharWidth","pad","wrds","wrd","fsize","paragraphs","newOptions","fontUnit_maxLen","__fontmetrics__","decoded","encoded","mappingUncompress","mappingCompress","keystring","valuestring","numberprefix","vals","uncompress","stringparts","parent_key_pair","activeobject","parentchain","keyparts","valueparts","datalen","WinAnsiEncoding","encodings","Courier","Courier-Bold","Courier-BoldOblique","Courier-Oblique","Helvetica-Bold","Helvetica-BoldOblique","Helvetica-Oblique","Times-Roman","Times-Bold","Times-BoldItalic","Times-Italic","ZapfDingbats","metrics","file","existsFileInVFS","getFileFromVFS","TTFFont","glyIdsUsed","loadCanvg","canvg","addSvgAsImage","ignoreMouse","ignoreAnimation","ignoreDimensions","fromString","putTotalPages","pageExpression","replaceExpression","totalNumberOfPages","pdfEscape16","viewerPreferences","doReset","configuration","isValid","configurationTemplate","HideToolbar","explicitSet","valueSet","HideMenubar","HideWindowUI","FitWindow","CenterWindow","DisplayDocTitle","NonFullScreenPageMode","Direction","ViewArea","ViewClip","PrintArea","PrintClip","PrintScaling","Duplex","PickTrayByPDFSize","PrintPageRange","NumCopies","configurationKeys","rangeArray","arrayContainsElement","viewerpreferences","pdfDict","vPref","postPutResources","xmpmeta_beginning","rdf_beginning","__metadata__","namespaceuri","utf8_xmpmeta_beginning","utf8_rdf_beginning","utf8_metadata","utf8_rdf_ending","utf8_xmpmeta_ending","total_len","metadata_object_number","addMetadata","padz","toUnicode","toUnicodeCmap","codes","unicode","unicodeMap","pdfOutput","subset","pdfOutput2","fontTable","cmap","fontDescriptor","PDFObject","bbox","stemV","italicAngle","ascender","decender","capHeight","DescendantFont","hmtx","unitsPerEm","winAnsiEncodingFunction","utf8TextFunction","cmapConfirm","strText","codeMap","parms","_initializeVFS","vFS","addFileToVFS","filecontent","__bidiEngine__","_UNICODE_TYPES","_hasUbatB","_hasUbatS","_isInVisual","_isInRtl","_isOutVisual","_isOutRtl","_isSymmetricSwapping","_bidiUnicodeTypes","_STATE_TABLE_LTR","_STATE_TABLE_RTL","_TYPE_NAMES_MAP","EN","AN","_UNICODE_RANGES_MAP","5","6","7","32","251","254","255","_SWAP_TABLE","_LTR_RANGES_REG_EXPR","_lastArabic","_dir","_getCharType","rangeIdx","_isContextualDirRtl","charType","_resolveCharType","resolvedTypes","wType","nType","cType","rtlCandidate","_invertString","sourceToTargetMap","levels","_computeLevels","hiLevel","newLevel","condPos","stateTable","_handleUbatS","_invertByLevel","high","low","_reorder","DIR_RTL","doBidiReorder","isSymmetricSwappingOrig","isInputVisual","isOutputVisual","isInputRtl","isOutputRtl","isSymmetricSwapping","bidiEngine","readString","Subset","registerTTF","directory","Directory","HeadTable","NameTable","CmapTable","hhea","HheaTable","maxp","MaxpTable","HmtxTable","PostTable","os2","OS2Table","loca","LocaTable","glyf","GlyfTable","exists","lineGap","italic_angle","xHeight","familyClass","isSerif","isScript","isFixedPitch","glyph","forGlyph","advance","includeGap","Table","readByte","writeUInt32","readInt32","writeInt32","writeUInt16","readInt16","writeInt16","writeString","readShort","writeShort","readLongLong","writeLongLong","readInt","writeInt","checksum","scalarType","tableCount","searchRange","entrySelector","rangeShift","tables","adjustment","directoryLength","headOffset","log2","tableData","__slice","__hasProp","__super__","revision","checkSumAdjustment","magicNumber","created","modified","macStyle","lowestRecPPEM","fontDirectionHint","indexToLocFormat","glyphDataFormat","CmapEntry","endCode","glyphId","glyphIds","idDelta","idRangeOffset","saveOffset","segCount","segCountX2","startCode","platformID","encodingID","language","charmap","endCodes","glyphIDs","nextID","old","rangeOffsets","startCodes","startGlyph","subtable","_len1","_len3","_len4","_len5","_len6","_len7","_name","_q","new","maxGlyphID","advanceWidthMax","minLeftSideBearing","minRightSideBearing","xMaxExtent","caretSlopeRise","caretSlopeRun","caretOffset","metricDataFormat","numberOfMetrics","averageCharWidth","weightClass","widthClass","ySubscriptXSize","ySubscriptYSize","ySubscriptXOffset","ySubscriptYOffset","ySuperscriptXSize","ySuperscriptYSize","ySuperscriptXOffset","ySuperscriptYOffset","yStrikeoutSize","yStrikeoutPosition","panose","charRange","vendorID","selection","firstCharIndex","lastCharIndex","ascent","winAscent","winDescent","codePageRange","defaultChar","breakChar","maxContext","numberOfGlyphs","underlinePosition","underlineThickness","minMemType42","maxMemType42","minMemType1","maxMemType1","glyphNameIndex","names","_results1","numGlyphs","NameEntry","languageID","stringOffset","nameID","copyright","fontSubfamily","uniqueSubfamily","postscriptName","trademark","manufacturer","designer","vendorUrl","designerUrl","license","licenseUrl","preferredFamily","preferredSubfamily","compatibleFull","sampleText","maxPoints","maxContours","maxCompositePoints","maxComponentContours","maxZones","maxTwilightPoints","maxStorage","maxFunctionDefs","maxInstructionDefs","maxStackElements","maxSizeOfInstructions","maxComponentElements","maxComponentDepth","lsbCount","lsb","leftSideBearings","glyphFor","numberOfContours","lengthOf","CompoundGlyph","SimpleGlyph","glyphs","mapping","old2new","compound","glyphOffsets","activeGlyphs","glyfPtr","listGlyf","newLocaTable","unicodes","generateCmap","roman","unicodeCmap","glyphsFor","additionalIDs","glyID","ids","new2old","newIDs","nextGlyphID","oldID","oldIDs","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","pdfRef","isLoadingPDF","setLoadingPDF","makingChargeData","handlePrint","imgHeight","AllTypeOfProduct","NecklaceSet","CustomerOrder","CustomerOrderCust","StockOrder","ParcelCharges","QueryCache","getQueryDefaults","queryInMap","getAll","defaultedFilters","Mutation","mutationId","mutationCache","variables","submittedAt","execute","mutationFn","restored","onMutate","runNext","onMutationUpdate","MutationCache","defaultMutationOptions","scopeFor","firstPendingMutation","foundMutation","flat","pausedMutations","infiniteQueryBehavior","fetchMore","oldPages","oldPageParams","pageParams","cancelled","fetchPage","pageParam","maxPages","addTo","getPreviousPageParam","getNextPageParam","oldData","remainingPages","initialPageParam","QueryClient","queryCache","resumePausedMutations","findAll","cachedData","getQueryData","fetchQuery","revalidateIfStale","prefetchQuery","functionalUpdate","setQueryData","refetchFilters","refetchQueries","defaultedCancelOptions","invalidate","refetchType","fetchInfiniteQuery","ensureQueryData","queryDefault","getMutationDefaults"],"sourceRoot":""}