{"version":3,"file":"static/js/main.6b1c548b.js","mappings":"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U,SACV,QAAU,SACV,QAAU,SACV,QAAU,SACV,QAAU,SACV,SAAU,MACV,SAAU,SACV,SAAU,SACV,SAAU,MACV,SAAU,EACV,SAAU,IACV,OAAS,SACT,QAAU,SACV,QAAU,EACV,QAAU,SACV,QAAU,SACV,QAAU,MACV,QAAU,MACV,QAAU,IACV,QAAU,EACV,QAAU,IACV,SAAU,SACV,SAAU,MACV,SAAU,MACV,SAAU,SACV,SAAU,SACV,SAAU,SACV,SAAW,SACX,SAAW,MACX,SAAW,MACX,SAAW,SACX,SAAW,IACX,SAAW,SACX,SAAW,SACX,SAAW,EACX,SAAW,SACX,SAAW,SACX,SAAW,EACX,SAAW,MACX,SAAW,SACX,SAAW,IACX,SAAW,MACX,SAAW,SACX,SAAW,SACX,SAAW,IACX,SAAW,SACX,SAAW,EACX,SAAW,MACX,SAAW,SACX,SAAW,IACX,SAAW,SACX,SAAW,MACX,SAAW,SACX,SAAW,MACX,SAAW,SACX,SAAW,SACX,SAAW,SACX,SAAW,EACX,SAAW,OAEf,CACI,EAAK,WACL,MAAS,WACT,OAAS,QACT,OAAS,WACT,OAAS,EACT,OAAS,QACT,OAAS,WACT,OAAS,QACT,OAAS,WACT,OAAS,QACT,OAAS,GACT,OAAS,WACT,OAAS,WACT,OAAS,KACT,OAAS,KACT,OAAS,WACT,MAAQ,WACR,MAAS,GACT,OAAS,WACT,OAAS,WACT,OAAS,QACT,OAAS,WACT,OAAS,EACT,OAAS,WACT,OAAS,KACT,OAAS,WACT,OAAS,QACT,OAAS,KACT,OAAS,WACT,OAAS,QACT,OAAS,QACT,QAAS,WACT,QAAU,QACV,QAAU,QACV,QAAU,WACV,QAAU,EACV,QAAU,KACV,QAAU,WACV,QAAU,WACV,QAAU,WACV,QAAU,WACV,QAAU,WACV,QAAU,WACV,QAAU,QACV,QAAU,WACV,QAAU,QACV,QAAU,GACV,QAAU,KACV,QAAU,WACV,QAAU,WACV,QAAU,EACV,QAAU,QACV,QAAU,QACV,QAAU,WACV,QAAU,WACV,QAAU,GACV,QAAU,WACV,QAAU,KACV,QAAU,WACV,QAAU,WACV,QAAU,KAC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IAAI6T,MAAM,IACnBzU,EAAU,IAAIyU,MAAM,IACpBoQ,EAAU,IAAIpQ,MAAM,IACpB3M,EAAW,IAAI2M,MAAM,IAMrB0C,EAAU,IAAI1C,MAAM,OACpB7M,EAAW,IAAI6M,MAAM,OACrBtnB,EAAkB,IAAIsnB,MAAM,IAC5BC,EAAK,IAAID,MAAM,IACf5M,EAAU,GACVqoC,EAAU,EACVt5B,EAAU,EAEV7W,EAAM,IAAI0U,MAAM,IAChB5N,EAAM,IAAI4N,MAAM,IAChBiD,EAAM,IAAIjD,MAAM,IAChB8uE,EAAM,IAAI9uE,MAAM,KAChBm0B,EAAgB,IAAIn0B,MAAM,MAG1BqQ,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,IAGEz3B,EAA2B,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEEyV,EAA0B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC7DsT,EAA2B,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEEhB,EAA0B,CAC5B,EACA,EACA,EACA,EACA,EACA,GACA,EACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,EACA,GACA,IACA,GACA,GACA,IACA,IACA,IACA,EACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,IACA,IACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAGE+lD,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEEqhB,EAA4B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC/DxlF,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEE5K,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,cAuKOmM,EAAkB5K,EAAS+L,GAAA,QAC9B20B,EAAY,EACZxtB,EAAe,EACfzT,EAAK,IAAIqnB,MACJ3U,EAAI,EAAGA,GAAK,GAAIA,IAAK,KACvB,IAAIu4F,EAAI,EAAGA,GAAK1qG,EAAQmS,GAAIu4F,IAC/BjrG,EAAGsM,EAAUmH,IAAiB,GAC9BzT,EAAGsM,EAAUmH,IAAe,GAAKwtB,EACjCjhC,EAAGsM,EAAUmH,IAAe,GAAKf,EACjCe,IACAwtB,IAEFA,GAAa,SAERjhC,CAAA,UA2DAo2F,EAAU71F,GAAA,QACb+L,EAAQ/L,EAAG,GACX0gC,EAAS1gC,EAAG,GAAK,EACd0gC,GAAU,GACX30B,EAAS,GAAK20B,IAChB6hB,GAAW,GAAKt5B,GAElByX,MACAzX,EACc,IACG,KAAXs5B,GACF60B,EAAU,KACVA,EAAU,IAEVA,EAAU70B,GAEZt5B,EAAU,EACVs5B,EAAU,YAKP60B,EAAUp3E,GAEjBka,EAAQhU,KAAKlG,EAAA,UAGNsB,EAAUtB,GACjBo3E,EAAWp3E,GAAS,EAAK,KACzBo3E,EAAkB,IAARp3E,EAAA,UAyOHo3B,EAAUp3B,EAAK+L,EAAO20B,EAAIxtB,EAAMzT,GAAA,QAGnC0S,EAFAu4F,EAAMjrG,EAAK,GACXwT,EA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O,IACjB96M,GAAKwzE,EAAMvwF,GAAK9H,EAAM4H,GAAK5H,EACpCtG,GAAK,MAAQ/L,EAAEkZ,EACfnN,GAAK,MAAQ/L,EAAEia,EACflO,GAAK,MAAQ/L,EAAEwqE,GAAA,IACT/qE,IAAOsM,GAAKvM,GAAKkrG,EAAK3+F,GAAKgb,GAAK/mB,EAAE66E,GAAM9uE,GAAK,MAAQ/L,EAAEqJ,EAAA,MAE5D0C,EAAI,EACT/L,EAAI+L,EAAI,EAAI,UAGZ,GAAK/L,GAAA,MACD0gC,GAAKA,EAAEy7C,KAAOn8E,EAAIo6N,GAAGlnN,IADVlT,CAAA,KAIjBk6N,GAAK,GACP/S,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,UAEFgT,GAAK,GACLuX,GAAK,GACLj5N,GAAK,EACLk5N,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,GAEJ75I,EAAE,aAAc,iBAChB93F,EAAKi2O,WAAa,kBACT,YAETj2O,EAAKk2O,WAAa,SAASl2O,GAAA,OAClBA,CAAA,EAETA,EAAKm2O,WAAa,SAASn2O,EAAG+L,EAAG20B,GAAA,OACxB30B,EAAE20B,EAAI,IAEf1gC,EAAKo2O,WAAa,SAASp2O,EAAG+L,EAAG20B,GAAA,OACxB30B,EAAE20B,EAAI,IAEf1gC,EAAKq2O,WAAa,SAASr2O,EAAG+L,EAAG20B,GAAA,OACxB30B,EAAE20B,EAAI,IAEf1gC,EAAKs2O,WAAa,SAASt2O,EAAG+L,EAAG20B,GAAA,OACxBrJ,EAAGA,EAAGr3B,EAAG+L,EAAE20B,EAAI,IAAK30B,EAAE20B,EAAI,KAEnC1gC,EAAKu2O,WAAa,SAASv2O,EAAG+L,EAAG20B,GAAA,OACxBrJ,EAAGr3B,EAAG+L,EAAE20B,EAAI,KAErB1gC,EAAKw2O,WAAa,SAASx2O,EAAG+L,EAAG20B,GAAA,OACxBrJ,EAAGr3B,EAAG+L,EAAE20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B,GACJzB,GAAK,EACLX,GAAK,EACLc,GAAK,EACLb,GAAK,EACLJ,GAAK,EACLK,GAAK,EACLgB,GAAK,EACL7B,GAAK,EACLC,GAAK,EACLC,GAAK,EACLC,GAAK,GACLqC,GAAK,CAAC,EAAG,EAAG,GACZD,GAAK,CAAC,EAAG,EAAG,IACZF,GAAK,CAAC,IAAK,IAAK,IAAK,IAAK,IAC1BI,GAAK,CAAC,EAAG,EAAG,EAAG,EAAG,GAClBH,GAAK,CAAC,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,IACpEvB,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,KAEFqB,GAAK,CACH,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEFx7I,GAAK,EACL1B,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,KAEFuB,GAAK,CACH,EACA,EACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEFN,GAAK,KACLP,GAAK,CACH,CAAC,IAAK,IA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IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAA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,EAAO41F,EAAc51F,EAAM+L,SAExB,GAAItM,GAAe0S,IAAau4F,GAAgBz3F,EAErDgW,EA/YQ,EAgZRjpB,EAAON,EAASM,EAAM+L,EAAmB20B,GACzC1gC,EAAO41F,EAAc51F,EAAM+L,QACtB,IAAKtM,IAAgBirG,GAAgBv4F,EAAWc,EAAW,KAE5DC,EAA0Bb,EAC1BF,GAEF8W,EAvZM,EAwZNjpB,EAAON,EAASM,EAAM+L,EAAmB20B,GACzCzX,EA1ZM,EA2ZN5W,GAAA,EACArS,EAAON,EAASM,EAAM+L,EAAmB20B,GACzCruB,EAAuBa,IAGvB+V,EAhaM,EAiaNjpB,EAAON,EAASM,EAAM+L,EAAmB20B,GACzC1gC,EAAO41F,EAAc51F,EAAM+L,GAC3Bkd,EAlaM,EAmaN5W,GAAA,EACArS,EAAON,EAASM,EAAM+L,EAAmB20B,GACzCruB,EAAuBa,EACvBlT,EAAO41F,EAAc51F,EAAM+L,GAAA,OAxC7Bkd,EA/XQ,EAgYRjpB,EAAON,EAASM,EAAM+L,EAAmB20B,QAdzCzX,EAAO9W,EAjXC,EADA,EAmXRnS,EAAON,EAASM,EAAM+L,EAAmB20B,GAAA,OAuDpC1gC,CAAA,OAcJ0hP,eAAerjB,WAAa,SAASr+N,GACpCA,IACFP,EAAcO,EAAQ+hP,cACtBr3I,EAAe1qG,EAAQgiP,eACvB7vO,EAAWnS,EAAQiiP,WACnBhvO,EAAYjT,EAAQkiP,YACpB7vO,EAAuBrS,EAAQmiP,oBAAA,OAI9BT,eAAerjB,WAAWr+N,GACxBK,KAAKqhP,cAAA,MAGV31O,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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","sources":["../node_modules/crypto-js/aes.js","../node_modules/crypto-js/cipher-core.js","../node_modules/crypto-js/core.js","../node_modules/crypto-js/enc-base64.js","../node_modules/crypto-js/enc-base64url.js","../node_modules/crypto-js/enc-utf16.js","../node_modules/crypto-js/evpkdf.js","../node_modules/crypto-js/format-hex.js","../node_modules/crypto-js/hmac.js","../node_modules/crypto-js/index.js","../node_modules/crypto-js/lib-typedarrays.js","../node_modules/crypto-js/md5.js","../node_modules/crypto-js/mode-cfb.js","../node_modules/crypto-js/mode-ctr-gladman.js","../node_modules/crypto-js/mode-ctr.js","../node_modules/crypto-js/mode-ecb.js","../node_modules/crypto-js/mode-ofb.js","../node_modules/crypto-js/pad-ansix923.js","../node_modules/crypto-js/pad-iso10126.js","../node_modules/crypto-js/pad-iso97971.js","../node_modules/crypto-js/pad-nopadding.js","../node_modules/crypto-js/pad-zeropadding.js","../node_modules/crypto-js/pbkdf2.js","../node_modules/crypto-js/rabbit-legacy.js","../node_modules/crypto-js/rabbit.js","../node_modules/crypto-js/rc4.js","../node_modules/crypto-js/ripemd160.js","../node_modules/crypto-js/sha1.js","../node_modules/crypto-js/sha224.js","../node_modules/crypto-js/sha256.js","../node_modules/crypto-js/sha3.js","../node_modules/crypto-js/sha384.js","../node_modules/crypto-js/sha512.js","../node_modules/crypto-js/tripledes.js","../node_modules/crypto-js/x64-core.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.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/property-expr/index.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-input-mask/index.js","../node_modules/react-input-mask/lib/react-input-mask.production.min.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/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/sweetalert/dist/sweetalert.min.js","../node_modules/tiny-case/index.js","../node_modules/toposort/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/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","../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/index.js","../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/classes/Blob.js","../node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/speedometer.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/adapters/adapters.js","../node_modules/axios/lib/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","config.js","context/AuthContext.js","../node_modules/@babel/runtime/helpers/esm/construct.js","../node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","../node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","../node_modules/@remix-run/router/history.ts","../node_modules/@remix-run/router/utils.ts","../node_modules/@babel/runtime/helpers/esm/toArray.js","../node_modules/@remix-run/router/router.ts","../node_modules/react-router/lib/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","Components/Sidebar.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/@microsoft/signalr/src/DefaultReconnectPolicy.ts","../node_modules/@microsoft/signalr/src/HeaderNames.ts","../node_modules/@microsoft/signalr/src/HttpClient.ts","../node_modules/@microsoft/signalr/src/ILogger.ts","../node_modules/@microsoft/signalr/src/AccessTokenHttpClient.ts","../node_modules/@microsoft/signalr/src/Errors.ts","../node_modules/@microsoft/signalr/src/Loggers.ts","../node_modules/@microsoft/signalr/src/Utils.ts","../node_modules/@microsoft/signalr/src/FetchHttpClient.ts","../node_modules/@microsoft/signalr/src/XhrHttpClient.ts","../node_modules/@microsoft/signalr/src/ITransport.ts","../node_modules/@microsoft/signalr/src/DefaultHttpClient.ts","../node_modules/@microsoft/signalr/src/AbortController.ts","../node_modules/@microsoft/signalr/src/LongPollingTransport.ts","../node_modules/@microsoft/signalr/src/ServerSentEventsTransport.ts","../node_modules/@microsoft/signalr/src/WebSocketTransport.ts","../node_modules/@microsoft/signalr/src/HttpConnection.ts","../node_modules/@microsoft/signalr/src/TextMessageFormat.ts","../node_modules/@microsoft/signalr/src/HandshakeProtocol.ts","../node_modules/@microsoft/signalr/src/IHubProtocol.ts","../node_modules/@microsoft/signalr/src/Subject.ts","../node_modules/@microsoft/signalr/src/HubConnection.ts","../node_modules/@microsoft/signalr/src/JsonHubProtocol.ts","../node_modules/@microsoft/signalr/src/HubConnectionBuilder.ts","Hooks/useSignalR.js","Components/Topbar.js","Components/AppLayout.js","../node_modules/yup/index.esm.js","../node_modules/formik/node_modules/deepmerge/dist/es.js","../node_modules/lodash-es/_freeGlobal.js","../node_modules/lodash-es/_root.js","../node_modules/lodash-es/_Symbol.js","../node_modules/lodash-es/_getRawTag.js","../node_modules/lodash-es/_objectToString.js","../node_modules/lodash-es/_baseGetTag.js","../node_modules/lodash-es/_overArg.js","../node_modules/lodash-es/_getPrototype.js","../node_modules/lodash-es/isObjectLike.js","../node_modules/lodash-es/isPlainObject.js","../node_modules/lodash-es/_listCacheClear.js","../node_modules/lodash-es/eq.js","../node_modules/lodash-es/_assocIndexOf.js","../node_modules/lodash-es/_listCacheDelete.js","../node_modules/lodash-es/_listCacheGet.js","../node_modules/lodash-es/_listCacheHas.js","../node_modules/lodash-es/_listCacheSet.js","../node_modules/lodash-es/_ListCache.js","../node_modules/lodash-es/_stackClear.js","../node_modules/lodash-es/_stackDelete.js","../node_modules/lodash-es/_stackGet.js","../node_modules/lodash-es/_stackHas.js","../node_modules/lodash-es/isObject.js","../node_modules/lodash-es/isFunction.js","../node_modules/lodash-es/_coreJsData.js","../node_modules/lodash-es/_isMasked.js","../node_modules/lodash-es/_toSource.js","../node_modules/lodash-es/_baseIsNative.js","../node_modules/lodash-es/_getValue.js","../node_modules/lodash-es/_getNative.js","../node_modules/lodash-es/_Map.js","../node_modules/lodash-es/_nativeCreate.js","../node_modules/lodash-es/_hashClear.js","../node_modules/lodash-es/_hashDelete.js","../node_modules/lodash-es/_hashGet.js","../node_modules/lodash-es/_hashHas.js","../node_modules/lodash-es/_hashSet.js","../node_modules/lodash-es/_Hash.js","../node_modules/lodash-es/_mapCacheClear.js","../node_modules/lodash-es/_isKeyable.js","../node_modules/lodash-es/_getMapData.js","../node_modules/lodash-es/_mapCacheDelete.js","../node_modules/lodash-es/_mapCacheGet.js","../node_modules/lodash-es/_mapCacheHas.js","../node_modules/lodash-es/_mapCacheSet.js","../node_modules/lodash-es/_MapCache.js","../node_modules/lodash-es/_stackSet.js","../node_modules/lodash-es/_Stack.js","../node_modules/lodash-es/_arrayEach.js","../node_modules/lodash-es/_defineProperty.js","../node_modules/lodash-es/_baseAssignValue.js","../node_modules/lodash-es/_assignValue.js","../node_modules/lodash-es/_copyObject.js","../node_modules/lodash-es/_baseTimes.js","../node_modules/lodash-es/_baseIsArguments.js","../node_modules/lodash-es/isArguments.js","../node_modules/lodash-es/isArray.js","../node_modules/lodash-es/stubFalse.js","../node_modules/lodash-es/isBuffer.js","../node_modules/lodash-es/_isIndex.js","../node_modules/lodash-es/isLength.js","../node_modules/lodash-es/_baseIsTypedArray.js","../node_modules/lodash-es/_baseUnary.js","../node_modules/lodash-es/_nodeUtil.js","../node_modules/lodash-es/isTypedArray.js","../node_modules/lodash-es/_arrayLikeKeys.js","../node_modules/lodash-es/_isPrototype.js","../node_modules/lodash-es/_nativeKeys.js","../node_modules/lodash-es/_baseKeys.js","../node_modules/lodash-es/isArrayLike.js","../node_modules/lodash-es/keys.js","../node_modules/lodash-es/_baseAssign.js","../node_modules/lodash-es/_nativeKeysIn.js","../node_modules/lodash-es/_baseKeysIn.js","../node_modules/lodash-es/keysIn.js","../node_modules/lodash-es/_baseAssignIn.js","../node_modules/lodash-es/_cloneBuffer.js","../node_modules/lodash-es/_copyArray.js","../node_modules/lodash-es/_arrayFilter.js","../node_modules/lodash-es/stubArray.js","../node_modules/lodash-es/_getSymbols.js","../node_modules/lodash-es/_copySymbols.js","../node_modules/lodash-es/_arrayPush.js","../node_modules/lodash-es/_getSymbolsIn.js","../node_modules/lodash-es/_copySymbolsIn.js","../node_modules/lodash-es/_baseGetAllKeys.js","../node_modules/lodash-es/_getAllKeys.js","../node_modules/lodash-es/_getAllKeysIn.js","../node_modules/lodash-es/_DataView.js","../node_modules/lodash-es/_Promise.js","../node_modules/lodash-es/_Set.js","../node_modules/lodash-es/_WeakMap.js","../node_modules/lodash-es/_getTag.js","../node_modules/lodash-es/_initCloneArray.js","../node_modules/lodash-es/_Uint8Array.js","../node_modules/lodash-es/_cloneArrayBuffer.js","../node_modules/lodash-es/_cloneDataView.js","../node_modules/lodash-es/_cloneRegExp.js","../node_modules/lodash-es/_cloneSymbol.js","../node_modules/lodash-es/_cloneTypedArray.js","../node_modules/lodash-es/_initCloneByTag.js","../node_modules/lodash-es/_baseCreate.js","../node_modules/lodash-es/_initCloneObject.js","../node_modules/lodash-es/_baseIsMap.js","../node_modules/lodash-es/isMap.js","../node_modules/lodash-es/_baseIsSet.js","../node_modules/lodash-es/isSet.js","../node_modules/lodash-es/_baseClone.js","../node_modules/lodash-es/clone.js","../node_modules/lodash-es/_arrayMap.js","../node_modules/lodash-es/isSymbol.js","../node_modules/lodash-es/memoize.js","../node_modules/lodash-es/_memoizeCapped.js","../node_modules/lodash-es/_stringToPath.js","../node_modules/lodash-es/_toKey.js","../node_modules/lodash-es/_baseToString.js","../node_modules/lodash-es/toString.js","../node_modules/lodash-es/toPath.js","../node_modules/tiny-warning/dist/tiny-warning.esm.js","../node_modules/lodash-es/cloneDeep.js","../node_modules/formik/src/utils.ts","../node_modules/formik/src/FormikContext.tsx","../node_modules/formik/src/Formik.tsx","../node_modules/formik/src/Field.tsx","../node_modules/formik/src/Form.tsx","../node_modules/formik/src/FieldArray.tsx","../node_modules/formik/src/ErrorMessage.tsx","../node_modules/formik/src/FastField.tsx","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","Components/TextboxControl.js","Pages/Login.js","Hooks/useApi.js","Components/Loader.js","Pages/Guidelines.js","Pages/Dashboard.js","Components/SelectControl.js","Components/CheckboxControl.js","Components/InputMaskControl.js","../node_modules/date-fns/node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/date-fns/esm/_lib/requiredArgs/index.js","../node_modules/date-fns/esm/isDate/index.js","../node_modules/date-fns/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/date-fns/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../node_modules/date-fns/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js","../node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js","../node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js","../node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/match/index.js","../node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js","../node_modules/date-fns/esm/_lib/defaultLocale/index.js","../node_modules/date-fns/esm/locale/en-US/index.js","../node_modules/date-fns/esm/_lib/toInteger/index.js","../node_modules/date-fns/esm/toDate/index.js","../node_modules/date-fns/esm/subMilliseconds/index.js","../node_modules/date-fns/esm/addMilliseconds/index.js","../node_modules/date-fns/esm/_lib/assign/index.js","../node_modules/date-fns/esm/_lib/format/longFormatters/index.js","../node_modules/date-fns/esm/_lib/protectedTokens/index.js","../node_modules/date-fns/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/date-fns/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/date-fns/node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/date-fns/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/date-fns/node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/date-fns/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/date-fns/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/date-fns/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/date-fns/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/date-fns/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/date-fns/node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/date-fns/node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/date-fns/esm/parse/_lib/Setter.js","../node_modules/date-fns/esm/parse/_lib/Parser.js","../node_modules/date-fns/esm/parse/_lib/parsers/EraParser.js","../node_modules/date-fns/esm/parse/_lib/constants.js","../node_modules/date-fns/esm/constants/index.js","../node_modules/date-fns/esm/parse/_lib/utils.js","../node_modules/date-fns/esm/parse/_lib/parsers/YearParser.js","../node_modules/date-fns/esm/_lib/defaultOptions/index.js","../node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js","../node_modules/date-fns/esm/_lib/getUTCWeekYear/index.js","../node_modules/date-fns/esm/parse/_lib/parsers/LocalWeekYearParser.js","../node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js","../node_modules/date-fns/esm/parse/_lib/parsers/ISOWeekYearParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/ExtendedYearParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/QuarterParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/StandAloneQuarterParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/MonthParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/StandAloneMonthParser.js","../node_modules/date-fns/esm/_lib/getUTCWeek/index.js","../node_modules/date-fns/esm/_lib/startOfUTCWeekYear/index.js","../node_modules/date-fns/esm/parse/_lib/parsers/LocalWeekParser.js","../node_modules/date-fns/esm/_lib/setUTCWeek/index.js","../node_modules/date-fns/esm/_lib/startOfUTCISOWeekYear/index.js","../node_modules/date-fns/esm/_lib/getUTCISOWeekYear/index.js","../node_modules/date-fns/esm/_lib/getUTCISOWeek/index.js","../node_modules/date-fns/esm/_lib/setUTCISOWeek/index.js","../node_modules/date-fns/esm/parse/_lib/parsers/ISOWeekParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/DateParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/DayOfYearParser.js","../node_modules/date-fns/esm/_lib/setUTCDay/index.js","../node_modules/date-fns/esm/parse/_lib/parsers/DayParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/LocalDayParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/StandAloneLocalDayParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/ISODayParser.js","../node_modules/date-fns/esm/_lib/setUTCISODay/index.js","../node_modules/date-fns/esm/parse/_lib/parsers/AMPMParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/AMPMMidnightParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/DayPeriodParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/Hour1to12Parser.js","../node_modules/date-fns/esm/parse/_lib/parsers/Hour0to23Parser.js","../node_modules/date-fns/esm/parse/_lib/parsers/Hour0To11Parser.js","../node_modules/date-fns/esm/parse/_lib/parsers/Hour1To24Parser.js","../node_modules/date-fns/esm/parse/_lib/parsers/MinuteParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/SecondParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/FractionOfSecondParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/ISOTimezoneWithZParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/ISOTimezoneParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/TimestampSecondsParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/TimestampMillisecondsParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/index.js","../node_modules/date-fns/esm/parse/index.js","../node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js","utilities.js","Components/ApplySupplyExam/ApplicantProfile.js","Components/ApplySupplyExam/PaperSelection.js","../node_modules/pretty-ms/index.js","../node_modules/parse-ms/index.js","Components/FileUploadProgress.js","Components/ApplySupplyExam/UploadDocuments.js","Components/ApplySupplyExam/Success.js","Components/ApplySupplyExam/Step.js","Components/ApplySupplyExam/Stepper.js","Pages/ApplySupply.js","../node_modules/react-select/node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/react-select/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/react-select/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/react-select/node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/react-select/node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/react-select/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/react-select/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/react-select/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/react-select/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/react-select/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/react-select/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/react-select/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/react-select/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/react-select/dist/useStateManager-7e1e8489.esm.js","../node_modules/react-select/node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/react-select/node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/react-select/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/react-select/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/react-select/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/react-select/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/react-select/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/react-select/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/react-select/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/react-select/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/react-select/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/@emotion/sheet/dist/emotion-sheet.esm.js","../node_modules/stylis/src/Utility.js","../node_modules/stylis/src/Tokenizer.js","../node_modules/stylis/src/Enum.js","../node_modules/stylis/src/Serializer.js","../node_modules/stylis/src/Parser.js","../node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","../node_modules/stylis/src/Middleware.js","../node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","../node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../node_modules/@emotion/serialize/dist/emotion-serialize.esm.js","../node_modules/@emotion/hash/dist/emotion-hash.esm.js","../node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js","../node_modules/@emotion/react/dist/emotion-element-f0de968e.browser.esm.js","../node_modules/@emotion/react/dist/emotion-react.browser.esm.js","../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js","../node_modules/react-select/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","../node_modules/memoize-one/dist/memoize-one.esm.js","../node_modules/react-select/node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/react-select/node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/react-select/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/react-select/dist/react-select.esm.js","Components/MultiSelectControl.js","Components/ApplyEnrolment/ApplicantProfile.js","Components/ApplyEnrolment/EligibilityCheck.js","Components/ApplyEnrolment/UploadDocuments.js","Components/ApplyEnrolment/Success.js","Components/ApplyEnrolment/Step.js","Components/ApplyEnrolment/Stepper.js","Pages/ApplyEnrolment.js","Pages/ExamApplications.js","Pages/EnrolmentApplications.js","Pages/Accepted.js","Pages/Rejected.js","Pages/Corrected.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/context2d.js","../node_modules/jspdf/src/modules/filters.js","../node_modules/jspdf/src/modules/fileloading.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/Payment.js","Pages/Confirmation.js","Pages/UploadVerification.js","Pages/UploadDocument.js","Pages/PrintSupplyStudents.js","Pages/SupplyExamFeeChallan.js","Pages/SupplyExamFeeObjections.js","Pages/SupplyStudentsObjections.js","Pages/ClearExamFeeObjection.js","App.js","reportWebVitals.js","index.js"],"sourcesContent":[";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./enc-base64\"), require(\"./md5\"), require(\"./evpkdf\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./enc-base64\", \"./md5\", \"./evpkdf\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var BlockCipher = C_lib.BlockCipher;\n\t var C_algo = C.algo;\n\n\t // Lookup tables\n\t var SBOX = [];\n\t var INV_SBOX = [];\n\t var SUB_MIX_0 = [];\n\t var SUB_MIX_1 = [];\n\t var SUB_MIX_2 = [];\n\t var SUB_MIX_3 = [];\n\t var INV_SUB_MIX_0 = [];\n\t var INV_SUB_MIX_1 = [];\n\t var INV_SUB_MIX_2 = [];\n\t var INV_SUB_MIX_3 = [];\n\n\t // Compute lookup tables\n\t (function () {\n\t // Compute double table\n\t var d = [];\n\t for (var i = 0; i < 256; i++) {\n\t if (i < 128) {\n\t d[i] = i << 1;\n\t } else {\n\t d[i] = (i << 1) ^ 0x11b;\n\t }\n\t }\n\n\t // Walk GF(2^8)\n\t var x = 0;\n\t var xi = 0;\n\t for (var i = 0; i < 256; i++) {\n\t // Compute sbox\n\t var sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4);\n\t sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63;\n\t SBOX[x] = sx;\n\t INV_SBOX[sx] = x;\n\n\t // Compute multiplication\n\t var x2 = d[x];\n\t var x4 = d[x2];\n\t var x8 = d[x4];\n\n\t // Compute sub bytes, mix columns tables\n\t var t = (d[sx] * 0x101) ^ (sx * 0x1010100);\n\t SUB_MIX_0[x] = (t << 24) | (t >>> 8);\n\t SUB_MIX_1[x] = (t << 16) | (t >>> 16);\n\t SUB_MIX_2[x] = (t << 8) | (t >>> 24);\n\t SUB_MIX_3[x] = t;\n\n\t // Compute inv sub bytes, inv mix columns tables\n\t var t = (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100);\n\t INV_SUB_MIX_0[sx] = (t << 24) | (t >>> 8);\n\t INV_SUB_MIX_1[sx] = (t << 16) | (t >>> 16);\n\t INV_SUB_MIX_2[sx] = (t << 8) | (t >>> 24);\n\t INV_SUB_MIX_3[sx] = t;\n\n\t // Compute next counter\n\t if (!x) {\n\t x = xi = 1;\n\t } else {\n\t x = x2 ^ d[d[d[x8 ^ x2]]];\n\t xi ^= d[d[xi]];\n\t }\n\t }\n\t }());\n\n\t // Precomputed Rcon lookup\n\t var RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36];\n\n\t /**\n\t * AES block cipher algorithm.\n\t */\n\t var AES = C_algo.AES = BlockCipher.extend({\n\t _doReset: function () {\n\t var t;\n\n\t // Skip reset of nRounds has been set before and key did not change\n\t if (this._nRounds && this._keyPriorReset === this._key) {\n\t return;\n\t }\n\n\t // Shortcuts\n\t var key = this._keyPriorReset = this._key;\n\t var keyWords = key.words;\n\t var keySize = key.sigBytes / 4;\n\n\t // Compute number of rounds\n\t var nRounds = this._nRounds = keySize + 6;\n\n\t // Compute number of key schedule rows\n\t var ksRows = (nRounds + 1) * 4;\n\n\t // Compute key schedule\n\t var keySchedule = this._keySchedule = [];\n\t for (var ksRow = 0; ksRow < ksRows; ksRow++) {\n\t if (ksRow < keySize) {\n\t keySchedule[ksRow] = keyWords[ksRow];\n\t } else {\n\t t = keySchedule[ksRow - 1];\n\n\t if (!(ksRow % keySize)) {\n\t // Rot word\n\t t = (t << 8) | (t >>> 24);\n\n\t // Sub word\n\t t = (SBOX[t >>> 24] << 24) | (SBOX[(t >>> 16) & 0xff] << 16) | (SBOX[(t >>> 8) & 0xff] << 8) | SBOX[t & 0xff];\n\n\t // Mix Rcon\n\t t ^= RCON[(ksRow / keySize) | 0] << 24;\n\t } else if (keySize > 6 && ksRow % keySize == 4) {\n\t // Sub word\n\t t = (SBOX[t >>> 24] << 24) | (SBOX[(t >>> 16) & 0xff] << 16) | (SBOX[(t >>> 8) & 0xff] << 8) | SBOX[t & 0xff];\n\t }\n\n\t keySchedule[ksRow] = keySchedule[ksRow - keySize] ^ t;\n\t }\n\t }\n\n\t // Compute inv key schedule\n\t var invKeySchedule = this._invKeySchedule = [];\n\t for (var invKsRow = 0; invKsRow < ksRows; invKsRow++) {\n\t var ksRow = ksRows - invKsRow;\n\n\t if (invKsRow % 4) {\n\t var t = keySchedule[ksRow];\n\t } else {\n\t var t = keySchedule[ksRow - 4];\n\t }\n\n\t if (invKsRow < 4 || ksRow <= 4) {\n\t invKeySchedule[invKsRow] = t;\n\t } else {\n\t invKeySchedule[invKsRow] = INV_SUB_MIX_0[SBOX[t >>> 24]] ^ INV_SUB_MIX_1[SBOX[(t >>> 16) & 0xff]] ^\n\t INV_SUB_MIX_2[SBOX[(t >>> 8) & 0xff]] ^ INV_SUB_MIX_3[SBOX[t & 0xff]];\n\t }\n\t }\n\t },\n\n\t encryptBlock: function (M, offset) {\n\t this._doCryptBlock(M, offset, this._keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX);\n\t },\n\n\t decryptBlock: function (M, offset) {\n\t // Swap 2nd and 4th rows\n\t var t = M[offset + 1];\n\t M[offset + 1] = M[offset + 3];\n\t M[offset + 3] = t;\n\n\t this._doCryptBlock(M, offset, this._invKeySchedule, INV_SUB_MIX_0, INV_SUB_MIX_1, INV_SUB_MIX_2, INV_SUB_MIX_3, INV_SBOX);\n\n\t // Inv swap 2nd and 4th rows\n\t var t = M[offset + 1];\n\t M[offset + 1] = M[offset + 3];\n\t M[offset + 3] = t;\n\t },\n\n\t _doCryptBlock: function (M, offset, keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX) {\n\t // Shortcut\n\t var nRounds = this._nRounds;\n\n\t // Get input, add round key\n\t var s0 = M[offset] ^ keySchedule[0];\n\t var s1 = M[offset + 1] ^ keySchedule[1];\n\t var s2 = M[offset + 2] ^ keySchedule[2];\n\t var s3 = M[offset + 3] ^ keySchedule[3];\n\n\t // Key schedule row counter\n\t var ksRow = 4;\n\n\t // Rounds\n\t for (var round = 1; round < nRounds; round++) {\n\t // Shift rows, sub bytes, mix columns, add round key\n\t var t0 = SUB_MIX_0[s0 >>> 24] ^ SUB_MIX_1[(s1 >>> 16) & 0xff] ^ SUB_MIX_2[(s2 >>> 8) & 0xff] ^ SUB_MIX_3[s3 & 0xff] ^ keySchedule[ksRow++];\n\t var t1 = SUB_MIX_0[s1 >>> 24] ^ SUB_MIX_1[(s2 >>> 16) & 0xff] ^ SUB_MIX_2[(s3 >>> 8) & 0xff] ^ SUB_MIX_3[s0 & 0xff] ^ keySchedule[ksRow++];\n\t var t2 = SUB_MIX_0[s2 >>> 24] ^ SUB_MIX_1[(s3 >>> 16) & 0xff] ^ SUB_MIX_2[(s0 >>> 8) & 0xff] ^ SUB_MIX_3[s1 & 0xff] ^ keySchedule[ksRow++];\n\t var t3 = SUB_MIX_0[s3 >>> 24] ^ SUB_MIX_1[(s0 >>> 16) & 0xff] ^ SUB_MIX_2[(s1 >>> 8) & 0xff] ^ SUB_MIX_3[s2 & 0xff] ^ keySchedule[ksRow++];\n\n\t // Update state\n\t s0 = t0;\n\t s1 = t1;\n\t s2 = t2;\n\t s3 = t3;\n\t }\n\n\t // Shift rows, sub bytes, add round key\n\t var t0 = ((SBOX[s0 >>> 24] << 24) | (SBOX[(s1 >>> 16) & 0xff] << 16) | (SBOX[(s2 >>> 8) & 0xff] << 8) | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++];\n\t var t1 = ((SBOX[s1 >>> 24] << 24) | (SBOX[(s2 >>> 16) & 0xff] << 16) | (SBOX[(s3 >>> 8) & 0xff] << 8) | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++];\n\t var t2 = ((SBOX[s2 >>> 24] << 24) | (SBOX[(s3 >>> 16) & 0xff] << 16) | (SBOX[(s0 >>> 8) & 0xff] << 8) | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++];\n\t var t3 = ((SBOX[s3 >>> 24] << 24) | (SBOX[(s0 >>> 16) & 0xff] << 16) | (SBOX[(s1 >>> 8) & 0xff] << 8) | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++];\n\n\t // Set output\n\t M[offset] = t0;\n\t M[offset + 1] = t1;\n\t M[offset + 2] = t2;\n\t M[offset + 3] = t3;\n\t },\n\n\t keySize: 256/32\n\t });\n\n\t /**\n\t * Shortcut functions to the cipher's object interface.\n\t *\n\t * @example\n\t *\n\t * var ciphertext = CryptoJS.AES.encrypt(message, key, cfg);\n\t * var plaintext = CryptoJS.AES.decrypt(ciphertext, key, cfg);\n\t */\n\t C.AES = BlockCipher._createHelper(AES);\n\t}());\n\n\n\treturn CryptoJS.AES;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./evpkdf\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./evpkdf\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/**\n\t * Cipher core components.\n\t */\n\tCryptoJS.lib.Cipher || (function (undefined) {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var Base = C_lib.Base;\n\t var WordArray = C_lib.WordArray;\n\t var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm;\n\t var C_enc = C.enc;\n\t var Utf8 = C_enc.Utf8;\n\t var Base64 = C_enc.Base64;\n\t var C_algo = C.algo;\n\t var EvpKDF = C_algo.EvpKDF;\n\n\t /**\n\t * Abstract base cipher template.\n\t *\n\t * @property {number} keySize This cipher's key size. Default: 4 (128 bits)\n\t * @property {number} ivSize This cipher's IV size. Default: 4 (128 bits)\n\t * @property {number} _ENC_XFORM_MODE A constant representing encryption mode.\n\t * @property {number} _DEC_XFORM_MODE A constant representing decryption mode.\n\t */\n\t var Cipher = C_lib.Cipher = BufferedBlockAlgorithm.extend({\n\t /**\n\t * Configuration options.\n\t *\n\t * @property {WordArray} iv The IV to use for this operation.\n\t */\n\t cfg: Base.extend(),\n\n\t /**\n\t * Creates this cipher in encryption mode.\n\t *\n\t * @param {WordArray} key The key.\n\t * @param {Object} cfg (Optional) The configuration options to use for this operation.\n\t *\n\t * @return {Cipher} A cipher instance.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var cipher = CryptoJS.algo.AES.createEncryptor(keyWordArray, { iv: ivWordArray });\n\t */\n\t createEncryptor: function (key, cfg) {\n\t return this.create(this._ENC_XFORM_MODE, key, cfg);\n\t },\n\n\t /**\n\t * Creates this cipher in decryption mode.\n\t *\n\t * @param {WordArray} key The key.\n\t * @param {Object} cfg (Optional) The configuration options to use for this operation.\n\t *\n\t * @return {Cipher} A cipher instance.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var cipher = CryptoJS.algo.AES.createDecryptor(keyWordArray, { iv: ivWordArray });\n\t */\n\t createDecryptor: function (key, cfg) {\n\t return this.create(this._DEC_XFORM_MODE, key, cfg);\n\t },\n\n\t /**\n\t * Initializes a newly created cipher.\n\t *\n\t * @param {number} xformMode Either the encryption or decryption transormation mode constant.\n\t * @param {WordArray} key The key.\n\t * @param {Object} cfg (Optional) The configuration options to use for this operation.\n\t *\n\t * @example\n\t *\n\t * var cipher = CryptoJS.algo.AES.create(CryptoJS.algo.AES._ENC_XFORM_MODE, keyWordArray, { iv: ivWordArray });\n\t */\n\t init: function (xformMode, key, cfg) {\n\t // Apply config defaults\n\t this.cfg = this.cfg.extend(cfg);\n\n\t // Store transform mode and key\n\t this._xformMode = xformMode;\n\t this._key = key;\n\n\t // Set initial values\n\t this.reset();\n\t },\n\n\t /**\n\t * Resets this cipher to its initial state.\n\t *\n\t * @example\n\t *\n\t * cipher.reset();\n\t */\n\t reset: function () {\n\t // Reset data buffer\n\t BufferedBlockAlgorithm.reset.call(this);\n\n\t // Perform concrete-cipher logic\n\t this._doReset();\n\t },\n\n\t /**\n\t * Adds data to be encrypted or decrypted.\n\t *\n\t * @param {WordArray|string} dataUpdate The data to encrypt or decrypt.\n\t *\n\t * @return {WordArray} The data after processing.\n\t *\n\t * @example\n\t *\n\t * var encrypted = cipher.process('data');\n\t * var encrypted = cipher.process(wordArray);\n\t */\n\t process: function (dataUpdate) {\n\t // Append\n\t this._append(dataUpdate);\n\n\t // Process available blocks\n\t return this._process();\n\t },\n\n\t /**\n\t * Finalizes the encryption or decryption process.\n\t * Note that the finalize operation is effectively a destructive, read-once operation.\n\t *\n\t * @param {WordArray|string} dataUpdate The final data to encrypt or decrypt.\n\t *\n\t * @return {WordArray} The data after final processing.\n\t *\n\t * @example\n\t *\n\t * var encrypted = cipher.finalize();\n\t * var encrypted = cipher.finalize('data');\n\t * var encrypted = cipher.finalize(wordArray);\n\t */\n\t finalize: function (dataUpdate) {\n\t // Final data update\n\t if (dataUpdate) {\n\t this._append(dataUpdate);\n\t }\n\n\t // Perform concrete-cipher logic\n\t var finalProcessedData = this._doFinalize();\n\n\t return finalProcessedData;\n\t },\n\n\t keySize: 128/32,\n\n\t ivSize: 128/32,\n\n\t _ENC_XFORM_MODE: 1,\n\n\t _DEC_XFORM_MODE: 2,\n\n\t /**\n\t * Creates shortcut functions to a cipher's object interface.\n\t *\n\t * @param {Cipher} cipher The cipher to create a helper for.\n\t *\n\t * @return {Object} An object with encrypt and decrypt shortcut functions.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var AES = CryptoJS.lib.Cipher._createHelper(CryptoJS.algo.AES);\n\t */\n\t _createHelper: (function () {\n\t function selectCipherStrategy(key) {\n\t if (typeof key == 'string') {\n\t return PasswordBasedCipher;\n\t } else {\n\t return SerializableCipher;\n\t }\n\t }\n\n\t return function (cipher) {\n\t return {\n\t encrypt: function (message, key, cfg) {\n\t return selectCipherStrategy(key).encrypt(cipher, message, key, cfg);\n\t },\n\n\t decrypt: function (ciphertext, key, cfg) {\n\t return selectCipherStrategy(key).decrypt(cipher, ciphertext, key, cfg);\n\t }\n\t };\n\t };\n\t }())\n\t });\n\n\t /**\n\t * Abstract base stream cipher template.\n\t *\n\t * @property {number} blockSize The number of 32-bit words this cipher operates on. Default: 1 (32 bits)\n\t */\n\t var StreamCipher = C_lib.StreamCipher = Cipher.extend({\n\t _doFinalize: function () {\n\t // Process partial blocks\n\t var finalProcessedBlocks = this._process(!!'flush');\n\n\t return finalProcessedBlocks;\n\t },\n\n\t blockSize: 1\n\t });\n\n\t /**\n\t * Mode namespace.\n\t */\n\t var C_mode = C.mode = {};\n\n\t /**\n\t * Abstract base block cipher mode template.\n\t */\n\t var BlockCipherMode = C_lib.BlockCipherMode = Base.extend({\n\t /**\n\t * Creates this mode for encryption.\n\t *\n\t * @param {Cipher} cipher A block cipher instance.\n\t * @param {Array} iv The IV words.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var mode = CryptoJS.mode.CBC.createEncryptor(cipher, iv.words);\n\t */\n\t createEncryptor: function (cipher, iv) {\n\t return this.Encryptor.create(cipher, iv);\n\t },\n\n\t /**\n\t * Creates this mode for decryption.\n\t *\n\t * @param {Cipher} cipher A block cipher instance.\n\t * @param {Array} iv The IV words.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var mode = CryptoJS.mode.CBC.createDecryptor(cipher, iv.words);\n\t */\n\t createDecryptor: function (cipher, iv) {\n\t return this.Decryptor.create(cipher, iv);\n\t },\n\n\t /**\n\t * Initializes a newly created mode.\n\t *\n\t * @param {Cipher} cipher A block cipher instance.\n\t * @param {Array} iv The IV words.\n\t *\n\t * @example\n\t *\n\t * var mode = CryptoJS.mode.CBC.Encryptor.create(cipher, iv.words);\n\t */\n\t init: function (cipher, iv) {\n\t this._cipher = cipher;\n\t this._iv = iv;\n\t }\n\t });\n\n\t /**\n\t * Cipher Block Chaining mode.\n\t */\n\t var CBC = C_mode.CBC = (function () {\n\t /**\n\t * Abstract base CBC mode.\n\t */\n\t var CBC = BlockCipherMode.extend();\n\n\t /**\n\t * CBC encryptor.\n\t */\n\t CBC.Encryptor = CBC.extend({\n\t /**\n\t * Processes the data block at offset.\n\t *\n\t * @param {Array} words The data words to operate on.\n\t * @param {number} offset The offset where the block starts.\n\t *\n\t * @example\n\t *\n\t * mode.processBlock(data.words, offset);\n\t */\n\t processBlock: function (words, offset) {\n\t // Shortcuts\n\t var cipher = this._cipher;\n\t var blockSize = cipher.blockSize;\n\n\t // XOR and encrypt\n\t xorBlock.call(this, words, offset, blockSize);\n\t cipher.encryptBlock(words, offset);\n\n\t // Remember this block to use with next block\n\t this._prevBlock = words.slice(offset, offset + blockSize);\n\t }\n\t });\n\n\t /**\n\t * CBC decryptor.\n\t */\n\t CBC.Decryptor = CBC.extend({\n\t /**\n\t * Processes the data block at offset.\n\t *\n\t * @param {Array} words The data words to operate on.\n\t * @param {number} offset The offset where the block starts.\n\t *\n\t * @example\n\t *\n\t * mode.processBlock(data.words, offset);\n\t */\n\t processBlock: function (words, offset) {\n\t // Shortcuts\n\t var cipher = this._cipher;\n\t var blockSize = cipher.blockSize;\n\n\t // Remember this block to use with next block\n\t var thisBlock = words.slice(offset, offset + blockSize);\n\n\t // Decrypt and XOR\n\t cipher.decryptBlock(words, offset);\n\t xorBlock.call(this, words, offset, blockSize);\n\n\t // This block becomes the previous block\n\t this._prevBlock = thisBlock;\n\t }\n\t });\n\n\t function xorBlock(words, offset, blockSize) {\n\t var block;\n\n\t // Shortcut\n\t var iv = this._iv;\n\n\t // Choose mixing block\n\t if (iv) {\n\t block = iv;\n\n\t // Remove IV for subsequent blocks\n\t this._iv = undefined;\n\t } else {\n\t block = this._prevBlock;\n\t }\n\n\t // XOR blocks\n\t for (var i = 0; i < blockSize; i++) {\n\t words[offset + i] ^= block[i];\n\t }\n\t }\n\n\t return CBC;\n\t }());\n\n\t /**\n\t * Padding namespace.\n\t */\n\t var C_pad = C.pad = {};\n\n\t /**\n\t * PKCS #5/7 padding strategy.\n\t */\n\t var Pkcs7 = C_pad.Pkcs7 = {\n\t /**\n\t * Pads data using the algorithm defined in PKCS #5/7.\n\t *\n\t * @param {WordArray} data The data to pad.\n\t * @param {number} blockSize The multiple that the data should be padded to.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * CryptoJS.pad.Pkcs7.pad(wordArray, 4);\n\t */\n\t pad: function (data, blockSize) {\n\t // Shortcut\n\t var blockSizeBytes = blockSize * 4;\n\n\t // Count padding bytes\n\t var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes;\n\n\t // Create padding word\n\t var paddingWord = (nPaddingBytes << 24) | (nPaddingBytes << 16) | (nPaddingBytes << 8) | nPaddingBytes;\n\n\t // Create padding\n\t var paddingWords = [];\n\t for (var i = 0; i < nPaddingBytes; i += 4) {\n\t paddingWords.push(paddingWord);\n\t }\n\t var padding = WordArray.create(paddingWords, nPaddingBytes);\n\n\t // Add padding\n\t data.concat(padding);\n\t },\n\n\t /**\n\t * Unpads data that had been padded using the algorithm defined in PKCS #5/7.\n\t *\n\t * @param {WordArray} data The data to unpad.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * CryptoJS.pad.Pkcs7.unpad(wordArray);\n\t */\n\t unpad: function (data) {\n\t // Get number of padding bytes from last byte\n\t var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff;\n\n\t // Remove padding\n\t data.sigBytes -= nPaddingBytes;\n\t }\n\t };\n\n\t /**\n\t * Abstract base block cipher template.\n\t *\n\t * @property {number} blockSize The number of 32-bit words this cipher operates on. Default: 4 (128 bits)\n\t */\n\t var BlockCipher = C_lib.BlockCipher = Cipher.extend({\n\t /**\n\t * Configuration options.\n\t *\n\t * @property {Mode} mode The block mode to use. Default: CBC\n\t * @property {Padding} padding The padding strategy to use. Default: Pkcs7\n\t */\n\t cfg: Cipher.cfg.extend({\n\t mode: CBC,\n\t padding: Pkcs7\n\t }),\n\n\t reset: function () {\n\t var modeCreator;\n\n\t // Reset cipher\n\t Cipher.reset.call(this);\n\n\t // Shortcuts\n\t var cfg = this.cfg;\n\t var iv = cfg.iv;\n\t var mode = cfg.mode;\n\n\t // Reset block mode\n\t if (this._xformMode == this._ENC_XFORM_MODE) {\n\t modeCreator = mode.createEncryptor;\n\t } else /* if (this._xformMode == this._DEC_XFORM_MODE) */ {\n\t modeCreator = mode.createDecryptor;\n\t // Keep at least one block in the buffer for unpadding\n\t this._minBufferSize = 1;\n\t }\n\n\t if (this._mode && this._mode.__creator == modeCreator) {\n\t this._mode.init(this, iv && iv.words);\n\t } else {\n\t this._mode = modeCreator.call(mode, this, iv && iv.words);\n\t this._mode.__creator = modeCreator;\n\t }\n\t },\n\n\t _doProcessBlock: function (words, offset) {\n\t this._mode.processBlock(words, offset);\n\t },\n\n\t _doFinalize: function () {\n\t var finalProcessedBlocks;\n\n\t // Shortcut\n\t var padding = this.cfg.padding;\n\n\t // Finalize\n\t if (this._xformMode == this._ENC_XFORM_MODE) {\n\t // Pad data\n\t padding.pad(this._data, this.blockSize);\n\n\t // Process final blocks\n\t finalProcessedBlocks = this._process(!!'flush');\n\t } else /* if (this._xformMode == this._DEC_XFORM_MODE) */ {\n\t // Process final blocks\n\t finalProcessedBlocks = this._process(!!'flush');\n\n\t // Unpad data\n\t padding.unpad(finalProcessedBlocks);\n\t }\n\n\t return finalProcessedBlocks;\n\t },\n\n\t blockSize: 128/32\n\t });\n\n\t /**\n\t * A collection of cipher parameters.\n\t *\n\t * @property {WordArray} ciphertext The raw ciphertext.\n\t * @property {WordArray} key The key to this ciphertext.\n\t * @property {WordArray} iv The IV used in the ciphering operation.\n\t * @property {WordArray} salt The salt used with a key derivation function.\n\t * @property {Cipher} algorithm The cipher algorithm.\n\t * @property {Mode} mode The block mode used in the ciphering operation.\n\t * @property {Padding} padding The padding scheme used in the ciphering operation.\n\t * @property {number} blockSize The block size of the cipher.\n\t * @property {Format} formatter The default formatting strategy to convert this cipher params object to a string.\n\t */\n\t var CipherParams = C_lib.CipherParams = Base.extend({\n\t /**\n\t * Initializes a newly created cipher params object.\n\t *\n\t * @param {Object} cipherParams An object with any of the possible cipher parameters.\n\t *\n\t * @example\n\t *\n\t * var cipherParams = CryptoJS.lib.CipherParams.create({\n\t * ciphertext: ciphertextWordArray,\n\t * key: keyWordArray,\n\t * iv: ivWordArray,\n\t * salt: saltWordArray,\n\t * algorithm: CryptoJS.algo.AES,\n\t * mode: CryptoJS.mode.CBC,\n\t * padding: CryptoJS.pad.PKCS7,\n\t * blockSize: 4,\n\t * formatter: CryptoJS.format.OpenSSL\n\t * });\n\t */\n\t init: function (cipherParams) {\n\t this.mixIn(cipherParams);\n\t },\n\n\t /**\n\t * Converts this cipher params object to a string.\n\t *\n\t * @param {Format} formatter (Optional) The formatting strategy to use.\n\t *\n\t * @return {string} The stringified cipher params.\n\t *\n\t * @throws Error If neither the formatter nor the default formatter is set.\n\t *\n\t * @example\n\t *\n\t * var string = cipherParams + '';\n\t * var string = cipherParams.toString();\n\t * var string = cipherParams.toString(CryptoJS.format.OpenSSL);\n\t */\n\t toString: function (formatter) {\n\t return (formatter || this.formatter).stringify(this);\n\t }\n\t });\n\n\t /**\n\t * Format namespace.\n\t */\n\t var C_format = C.format = {};\n\n\t /**\n\t * OpenSSL formatting strategy.\n\t */\n\t var OpenSSLFormatter = C_format.OpenSSL = {\n\t /**\n\t * Converts a cipher params object to an OpenSSL-compatible string.\n\t *\n\t * @param {CipherParams} cipherParams The cipher params object.\n\t *\n\t * @return {string} The OpenSSL-compatible string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var openSSLString = CryptoJS.format.OpenSSL.stringify(cipherParams);\n\t */\n\t stringify: function (cipherParams) {\n\t var wordArray;\n\n\t // Shortcuts\n\t var ciphertext = cipherParams.ciphertext;\n\t var salt = cipherParams.salt;\n\n\t // Format\n\t if (salt) {\n\t wordArray = WordArray.create([0x53616c74, 0x65645f5f]).concat(salt).concat(ciphertext);\n\t } else {\n\t wordArray = ciphertext;\n\t }\n\n\t return wordArray.toString(Base64);\n\t },\n\n\t /**\n\t * Converts an OpenSSL-compatible string to a cipher params object.\n\t *\n\t * @param {string} openSSLStr The OpenSSL-compatible string.\n\t *\n\t * @return {CipherParams} The cipher params object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var cipherParams = CryptoJS.format.OpenSSL.parse(openSSLString);\n\t */\n\t parse: function (openSSLStr) {\n\t var salt;\n\n\t // Parse base64\n\t var ciphertext = Base64.parse(openSSLStr);\n\n\t // Shortcut\n\t var ciphertextWords = ciphertext.words;\n\n\t // Test for salt\n\t if (ciphertextWords[0] == 0x53616c74 && ciphertextWords[1] == 0x65645f5f) {\n\t // Extract salt\n\t salt = WordArray.create(ciphertextWords.slice(2, 4));\n\n\t // Remove salt from ciphertext\n\t ciphertextWords.splice(0, 4);\n\t ciphertext.sigBytes -= 16;\n\t }\n\n\t return CipherParams.create({ ciphertext: ciphertext, salt: salt });\n\t }\n\t };\n\n\t /**\n\t * A cipher wrapper that returns ciphertext as a serializable cipher params object.\n\t */\n\t var SerializableCipher = C_lib.SerializableCipher = Base.extend({\n\t /**\n\t * Configuration options.\n\t *\n\t * @property {Formatter} format The formatting strategy to convert cipher param objects to and from a string. Default: OpenSSL\n\t */\n\t cfg: Base.extend({\n\t format: OpenSSLFormatter\n\t }),\n\n\t /**\n\t * Encrypts a message.\n\t *\n\t * @param {Cipher} cipher The cipher algorithm to use.\n\t * @param {WordArray|string} message The message to encrypt.\n\t * @param {WordArray} key The key.\n\t * @param {Object} cfg (Optional) The configuration options to use for this operation.\n\t *\n\t * @return {CipherParams} A cipher params object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key);\n\t * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv });\n\t * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv, format: CryptoJS.format.OpenSSL });\n\t */\n\t encrypt: function (cipher, message, key, cfg) {\n\t // Apply config defaults\n\t cfg = this.cfg.extend(cfg);\n\n\t // Encrypt\n\t var encryptor = cipher.createEncryptor(key, cfg);\n\t var ciphertext = encryptor.finalize(message);\n\n\t // Shortcut\n\t var cipherCfg = encryptor.cfg;\n\n\t // Create and return serializable cipher params\n\t return CipherParams.create({\n\t ciphertext: ciphertext,\n\t key: key,\n\t iv: cipherCfg.iv,\n\t algorithm: cipher,\n\t mode: cipherCfg.mode,\n\t padding: cipherCfg.padding,\n\t blockSize: cipher.blockSize,\n\t formatter: cfg.format\n\t });\n\t },\n\n\t /**\n\t * Decrypts serialized ciphertext.\n\t *\n\t * @param {Cipher} cipher The cipher algorithm to use.\n\t * @param {CipherParams|string} ciphertext The ciphertext to decrypt.\n\t * @param {WordArray} key The key.\n\t * @param {Object} cfg (Optional) The configuration options to use for this operation.\n\t *\n\t * @return {WordArray} The plaintext.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, key, { iv: iv, format: CryptoJS.format.OpenSSL });\n\t * var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, key, { iv: iv, format: CryptoJS.format.OpenSSL });\n\t */\n\t decrypt: function (cipher, ciphertext, key, cfg) {\n\t // Apply config defaults\n\t cfg = this.cfg.extend(cfg);\n\n\t // Convert string to CipherParams\n\t ciphertext = this._parse(ciphertext, cfg.format);\n\n\t // Decrypt\n\t var plaintext = cipher.createDecryptor(key, cfg).finalize(ciphertext.ciphertext);\n\n\t return plaintext;\n\t },\n\n\t /**\n\t * Converts serialized ciphertext to CipherParams,\n\t * else assumed CipherParams already and returns ciphertext unchanged.\n\t *\n\t * @param {CipherParams|string} ciphertext The ciphertext.\n\t * @param {Formatter} format The formatting strategy to use to parse serialized ciphertext.\n\t *\n\t * @return {CipherParams} The unserialized ciphertext.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var ciphertextParams = CryptoJS.lib.SerializableCipher._parse(ciphertextStringOrParams, format);\n\t */\n\t _parse: function (ciphertext, format) {\n\t if (typeof ciphertext == 'string') {\n\t return format.parse(ciphertext, this);\n\t } else {\n\t return ciphertext;\n\t }\n\t }\n\t });\n\n\t /**\n\t * Key derivation function namespace.\n\t */\n\t var C_kdf = C.kdf = {};\n\n\t /**\n\t * OpenSSL key derivation function.\n\t */\n\t var OpenSSLKdf = C_kdf.OpenSSL = {\n\t /**\n\t * Derives a key and IV from a password.\n\t *\n\t * @param {string} password The password to derive from.\n\t * @param {number} keySize The size in words of the key to generate.\n\t * @param {number} ivSize The size in words of the IV to generate.\n\t * @param {WordArray|string} salt (Optional) A 64-bit salt to use. If omitted, a salt will be generated randomly.\n\t *\n\t * @return {CipherParams} A cipher params object with the key, IV, and salt.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32);\n\t * var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32, 'saltsalt');\n\t */\n\t execute: function (password, keySize, ivSize, salt) {\n\t // Generate random salt\n\t if (!salt) {\n\t salt = WordArray.random(64/8);\n\t }\n\n\t // Derive key and IV\n\t var key = EvpKDF.create({ keySize: keySize + ivSize }).compute(password, salt);\n\n\t // Separate key and IV\n\t var iv = WordArray.create(key.words.slice(keySize), ivSize * 4);\n\t key.sigBytes = keySize * 4;\n\n\t // Return params\n\t return CipherParams.create({ key: key, iv: iv, salt: salt });\n\t }\n\t };\n\n\t /**\n\t * A serializable cipher wrapper that derives the key from a password,\n\t * and returns ciphertext as a serializable cipher params object.\n\t */\n\t var PasswordBasedCipher = C_lib.PasswordBasedCipher = SerializableCipher.extend({\n\t /**\n\t * Configuration options.\n\t *\n\t * @property {KDF} kdf The key derivation function to use to generate a key and IV from a password. Default: OpenSSL\n\t */\n\t cfg: SerializableCipher.cfg.extend({\n\t kdf: OpenSSLKdf\n\t }),\n\n\t /**\n\t * Encrypts a message using a password.\n\t *\n\t * @param {Cipher} cipher The cipher algorithm to use.\n\t * @param {WordArray|string} message The message to encrypt.\n\t * @param {string} password The password.\n\t * @param {Object} cfg (Optional) The configuration options to use for this operation.\n\t *\n\t * @return {CipherParams} A cipher params object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password');\n\t * var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password', { format: CryptoJS.format.OpenSSL });\n\t */\n\t encrypt: function (cipher, message, password, cfg) {\n\t // Apply config defaults\n\t cfg = this.cfg.extend(cfg);\n\n\t // Derive key and other params\n\t var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize);\n\n\t // Add IV to config\n\t cfg.iv = derivedParams.iv;\n\n\t // Encrypt\n\t var ciphertext = SerializableCipher.encrypt.call(this, cipher, message, derivedParams.key, cfg);\n\n\t // Mix in derived params\n\t ciphertext.mixIn(derivedParams);\n\n\t return ciphertext;\n\t },\n\n\t /**\n\t * Decrypts serialized ciphertext using a password.\n\t *\n\t * @param {Cipher} cipher The cipher algorithm to use.\n\t * @param {CipherParams|string} ciphertext The ciphertext to decrypt.\n\t * @param {string} password The password.\n\t * @param {Object} cfg (Optional) The configuration options to use for this operation.\n\t *\n\t * @return {WordArray} The plaintext.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, 'password', { format: CryptoJS.format.OpenSSL });\n\t * var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, 'password', { format: CryptoJS.format.OpenSSL });\n\t */\n\t decrypt: function (cipher, ciphertext, password, cfg) {\n\t // Apply config defaults\n\t cfg = this.cfg.extend(cfg);\n\n\t // Convert string to CipherParams\n\t ciphertext = this._parse(ciphertext, cfg.format);\n\n\t // Derive key and other params\n\t var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, ciphertext.salt);\n\n\t // Add IV to config\n\t cfg.iv = derivedParams.iv;\n\n\t // Decrypt\n\t var plaintext = SerializableCipher.decrypt.call(this, cipher, ciphertext, derivedParams.key, cfg);\n\n\t return plaintext;\n\t }\n\t });\n\t}());\n\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory();\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\troot.CryptoJS = factory();\n\t}\n}(this, function () {\n\n\t/*globals window, global, require*/\n\n\t/**\n\t * CryptoJS core components.\n\t */\n\tvar CryptoJS = CryptoJS || (function (Math, undefined) {\n\n\t var crypto;\n\n\t // Native crypto from window (Browser)\n\t if (typeof window !== 'undefined' && window.crypto) {\n\t crypto = window.crypto;\n\t }\n\n\t // Native crypto in web worker (Browser)\n\t if (typeof self !== 'undefined' && self.crypto) {\n\t crypto = self.crypto;\n\t }\n\n\t // Native crypto from worker\n\t if (typeof globalThis !== 'undefined' && globalThis.crypto) {\n\t crypto = globalThis.crypto;\n\t }\n\n\t // Native (experimental IE 11) crypto from window (Browser)\n\t if (!crypto && typeof window !== 'undefined' && window.msCrypto) {\n\t crypto = window.msCrypto;\n\t }\n\n\t // Native crypto from global (NodeJS)\n\t if (!crypto && typeof global !== 'undefined' && global.crypto) {\n\t crypto = global.crypto;\n\t }\n\n\t // Native crypto import via require (NodeJS)\n\t if (!crypto && typeof require === 'function') {\n\t try {\n\t crypto = require('crypto');\n\t } catch (err) {}\n\t }\n\n\t /*\n\t * Cryptographically secure pseudorandom number generator\n\t *\n\t * As Math.random() is cryptographically not safe to use\n\t */\n\t var cryptoSecureRandomInt = function () {\n\t if (crypto) {\n\t // Use getRandomValues method (Browser)\n\t if (typeof crypto.getRandomValues === 'function') {\n\t try {\n\t return crypto.getRandomValues(new Uint32Array(1))[0];\n\t } catch (err) {}\n\t }\n\n\t // Use randomBytes method (NodeJS)\n\t if (typeof crypto.randomBytes === 'function') {\n\t try {\n\t return crypto.randomBytes(4).readInt32LE();\n\t } catch (err) {}\n\t }\n\t }\n\n\t throw new Error('Native crypto module could not be used to get secure random number.');\n\t };\n\n\t /*\n\t * Local polyfill of Object.create\n\n\t */\n\t var create = Object.create || (function () {\n\t function F() {}\n\n\t return function (obj) {\n\t var subtype;\n\n\t F.prototype = obj;\n\n\t subtype = new F();\n\n\t F.prototype = null;\n\n\t return subtype;\n\t };\n\t }());\n\n\t /**\n\t * CryptoJS namespace.\n\t */\n\t var C = {};\n\n\t /**\n\t * Library namespace.\n\t */\n\t var C_lib = C.lib = {};\n\n\t /**\n\t * Base object for prototypal inheritance.\n\t */\n\t var Base = C_lib.Base = (function () {\n\n\n\t return {\n\t /**\n\t * Creates a new object that inherits from this object.\n\t *\n\t * @param {Object} overrides Properties to copy into the new object.\n\t *\n\t * @return {Object} The new object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var MyType = CryptoJS.lib.Base.extend({\n\t * field: 'value',\n\t *\n\t * method: function () {\n\t * }\n\t * });\n\t */\n\t extend: function (overrides) {\n\t // Spawn\n\t var subtype = create(this);\n\n\t // Augment\n\t if (overrides) {\n\t subtype.mixIn(overrides);\n\t }\n\n\t // Create default initializer\n\t if (!subtype.hasOwnProperty('init') || this.init === subtype.init) {\n\t subtype.init = function () {\n\t subtype.$super.init.apply(this, arguments);\n\t };\n\t }\n\n\t // Initializer's prototype is the subtype object\n\t subtype.init.prototype = subtype;\n\n\t // Reference supertype\n\t subtype.$super = this;\n\n\t return subtype;\n\t },\n\n\t /**\n\t * Extends this object and runs the init method.\n\t * Arguments to create() will be passed to init().\n\t *\n\t * @return {Object} The new object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var instance = MyType.create();\n\t */\n\t create: function () {\n\t var instance = this.extend();\n\t instance.init.apply(instance, arguments);\n\n\t return instance;\n\t },\n\n\t /**\n\t * Initializes a newly created object.\n\t * Override this method to add some logic when your objects are created.\n\t *\n\t * @example\n\t *\n\t * var MyType = CryptoJS.lib.Base.extend({\n\t * init: function () {\n\t * // ...\n\t * }\n\t * });\n\t */\n\t init: function () {\n\t },\n\n\t /**\n\t * Copies properties into this object.\n\t *\n\t * @param {Object} properties The properties to mix in.\n\t *\n\t * @example\n\t *\n\t * MyType.mixIn({\n\t * field: 'value'\n\t * });\n\t */\n\t mixIn: function (properties) {\n\t for (var propertyName in properties) {\n\t if (properties.hasOwnProperty(propertyName)) {\n\t this[propertyName] = properties[propertyName];\n\t }\n\t }\n\n\t // IE won't copy toString using the loop above\n\t if (properties.hasOwnProperty('toString')) {\n\t this.toString = properties.toString;\n\t }\n\t },\n\n\t /**\n\t * Creates a copy of this object.\n\t *\n\t * @return {Object} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = instance.clone();\n\t */\n\t clone: function () {\n\t return this.init.prototype.extend(this);\n\t }\n\t };\n\t }());\n\n\t /**\n\t * An array of 32-bit words.\n\t *\n\t * @property {Array} words The array of 32-bit words.\n\t * @property {number} sigBytes The number of significant bytes in this word array.\n\t */\n\t var WordArray = C_lib.WordArray = Base.extend({\n\t /**\n\t * Initializes a newly created word array.\n\t *\n\t * @param {Array} words (Optional) An array of 32-bit words.\n\t * @param {number} sigBytes (Optional) The number of significant bytes in the words.\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.lib.WordArray.create();\n\t * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607]);\n\t * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607], 6);\n\t */\n\t init: function (words, sigBytes) {\n\t words = this.words = words || [];\n\n\t if (sigBytes != undefined) {\n\t this.sigBytes = sigBytes;\n\t } else {\n\t this.sigBytes = words.length * 4;\n\t }\n\t },\n\n\t /**\n\t * Converts this word array to a string.\n\t *\n\t * @param {Encoder} encoder (Optional) The encoding strategy to use. Default: CryptoJS.enc.Hex\n\t *\n\t * @return {string} The stringified word array.\n\t *\n\t * @example\n\t *\n\t * var string = wordArray + '';\n\t * var string = wordArray.toString();\n\t * var string = wordArray.toString(CryptoJS.enc.Utf8);\n\t */\n\t toString: function (encoder) {\n\t return (encoder || Hex).stringify(this);\n\t },\n\n\t /**\n\t * Concatenates a word array to this word array.\n\t *\n\t * @param {WordArray} wordArray The word array to append.\n\t *\n\t * @return {WordArray} This word array.\n\t *\n\t * @example\n\t *\n\t * wordArray1.concat(wordArray2);\n\t */\n\t concat: function (wordArray) {\n\t // Shortcuts\n\t var thisWords = this.words;\n\t var thatWords = wordArray.words;\n\t var thisSigBytes = this.sigBytes;\n\t var thatSigBytes = wordArray.sigBytes;\n\n\t // Clamp excess bits\n\t this.clamp();\n\n\t // Concat\n\t if (thisSigBytes % 4) {\n\t // Copy one byte at a time\n\t for (var i = 0; i < thatSigBytes; i++) {\n\t var thatByte = (thatWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t thisWords[(thisSigBytes + i) >>> 2] |= thatByte << (24 - ((thisSigBytes + i) % 4) * 8);\n\t }\n\t } else {\n\t // Copy one word at a time\n\t for (var j = 0; j < thatSigBytes; j += 4) {\n\t thisWords[(thisSigBytes + j) >>> 2] = thatWords[j >>> 2];\n\t }\n\t }\n\t this.sigBytes += thatSigBytes;\n\n\t // Chainable\n\t return this;\n\t },\n\n\t /**\n\t * Removes insignificant bits.\n\t *\n\t * @example\n\t *\n\t * wordArray.clamp();\n\t */\n\t clamp: function () {\n\t // Shortcuts\n\t var words = this.words;\n\t var sigBytes = this.sigBytes;\n\n\t // Clamp\n\t words[sigBytes >>> 2] &= 0xffffffff << (32 - (sigBytes % 4) * 8);\n\t words.length = Math.ceil(sigBytes / 4);\n\t },\n\n\t /**\n\t * Creates a copy of this word array.\n\t *\n\t * @return {WordArray} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = wordArray.clone();\n\t */\n\t clone: function () {\n\t var clone = Base.clone.call(this);\n\t clone.words = this.words.slice(0);\n\n\t return clone;\n\t },\n\n\t /**\n\t * Creates a word array filled with random bytes.\n\t *\n\t * @param {number} nBytes The number of random bytes to generate.\n\t *\n\t * @return {WordArray} The random word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.lib.WordArray.random(16);\n\t */\n\t random: function (nBytes) {\n\t var words = [];\n\n\t for (var i = 0; i < nBytes; i += 4) {\n\t words.push(cryptoSecureRandomInt());\n\t }\n\n\t return new WordArray.init(words, nBytes);\n\t }\n\t });\n\n\t /**\n\t * Encoder namespace.\n\t */\n\t var C_enc = C.enc = {};\n\n\t /**\n\t * Hex encoding strategy.\n\t */\n\t var Hex = C_enc.Hex = {\n\t /**\n\t * Converts a word array to a hex string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The hex string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hexString = CryptoJS.enc.Hex.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\n\t // Convert\n\t var hexChars = [];\n\t for (var i = 0; i < sigBytes; i++) {\n\t var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t hexChars.push((bite >>> 4).toString(16));\n\t hexChars.push((bite & 0x0f).toString(16));\n\t }\n\n\t return hexChars.join('');\n\t },\n\n\t /**\n\t * Converts a hex string to a word array.\n\t *\n\t * @param {string} hexStr The hex string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Hex.parse(hexString);\n\t */\n\t parse: function (hexStr) {\n\t // Shortcut\n\t var hexStrLength = hexStr.length;\n\n\t // Convert\n\t var words = [];\n\t for (var i = 0; i < hexStrLength; i += 2) {\n\t words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << (24 - (i % 8) * 4);\n\t }\n\n\t return new WordArray.init(words, hexStrLength / 2);\n\t }\n\t };\n\n\t /**\n\t * Latin1 encoding strategy.\n\t */\n\t var Latin1 = C_enc.Latin1 = {\n\t /**\n\t * Converts a word array to a Latin1 string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The Latin1 string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var latin1String = CryptoJS.enc.Latin1.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\n\t // Convert\n\t var latin1Chars = [];\n\t for (var i = 0; i < sigBytes; i++) {\n\t var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t latin1Chars.push(String.fromCharCode(bite));\n\t }\n\n\t return latin1Chars.join('');\n\t },\n\n\t /**\n\t * Converts a Latin1 string to a word array.\n\t *\n\t * @param {string} latin1Str The Latin1 string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Latin1.parse(latin1String);\n\t */\n\t parse: function (latin1Str) {\n\t // Shortcut\n\t var latin1StrLength = latin1Str.length;\n\n\t // Convert\n\t var words = [];\n\t for (var i = 0; i < latin1StrLength; i++) {\n\t words[i >>> 2] |= (latin1Str.charCodeAt(i) & 0xff) << (24 - (i % 4) * 8);\n\t }\n\n\t return new WordArray.init(words, latin1StrLength);\n\t }\n\t };\n\n\t /**\n\t * UTF-8 encoding strategy.\n\t */\n\t var Utf8 = C_enc.Utf8 = {\n\t /**\n\t * Converts a word array to a UTF-8 string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The UTF-8 string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var utf8String = CryptoJS.enc.Utf8.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t try {\n\t return decodeURIComponent(escape(Latin1.stringify(wordArray)));\n\t } catch (e) {\n\t throw new Error('Malformed UTF-8 data');\n\t }\n\t },\n\n\t /**\n\t * Converts a UTF-8 string to a word array.\n\t *\n\t * @param {string} utf8Str The UTF-8 string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Utf8.parse(utf8String);\n\t */\n\t parse: function (utf8Str) {\n\t return Latin1.parse(unescape(encodeURIComponent(utf8Str)));\n\t }\n\t };\n\n\t /**\n\t * Abstract buffered block algorithm template.\n\t *\n\t * The property blockSize must be implemented in a concrete subtype.\n\t *\n\t * @property {number} _minBufferSize The number of blocks that should be kept unprocessed in the buffer. Default: 0\n\t */\n\t var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm = Base.extend({\n\t /**\n\t * Resets this block algorithm's data buffer to its initial state.\n\t *\n\t * @example\n\t *\n\t * bufferedBlockAlgorithm.reset();\n\t */\n\t reset: function () {\n\t // Initial values\n\t this._data = new WordArray.init();\n\t this._nDataBytes = 0;\n\t },\n\n\t /**\n\t * Adds new data to this block algorithm's buffer.\n\t *\n\t * @param {WordArray|string} data The data to append. Strings are converted to a WordArray using UTF-8.\n\t *\n\t * @example\n\t *\n\t * bufferedBlockAlgorithm._append('data');\n\t * bufferedBlockAlgorithm._append(wordArray);\n\t */\n\t _append: function (data) {\n\t // Convert string to WordArray, else assume WordArray already\n\t if (typeof data == 'string') {\n\t data = Utf8.parse(data);\n\t }\n\n\t // Append\n\t this._data.concat(data);\n\t this._nDataBytes += data.sigBytes;\n\t },\n\n\t /**\n\t * Processes available data blocks.\n\t *\n\t * This method invokes _doProcessBlock(offset), which must be implemented by a concrete subtype.\n\t *\n\t * @param {boolean} doFlush Whether all blocks and partial blocks should be processed.\n\t *\n\t * @return {WordArray} The processed data.\n\t *\n\t * @example\n\t *\n\t * var processedData = bufferedBlockAlgorithm._process();\n\t * var processedData = bufferedBlockAlgorithm._process(!!'flush');\n\t */\n\t _process: function (doFlush) {\n\t var processedWords;\n\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\t var dataSigBytes = data.sigBytes;\n\t var blockSize = this.blockSize;\n\t var blockSizeBytes = blockSize * 4;\n\n\t // Count blocks ready\n\t var nBlocksReady = dataSigBytes / blockSizeBytes;\n\t if (doFlush) {\n\t // Round up to include partial blocks\n\t nBlocksReady = Math.ceil(nBlocksReady);\n\t } else {\n\t // Round down to include only full blocks,\n\t // less the number of blocks that must remain in the buffer\n\t nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0);\n\t }\n\n\t // Count words ready\n\t var nWordsReady = nBlocksReady * blockSize;\n\n\t // Count bytes ready\n\t var nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);\n\n\t // Process blocks\n\t if (nWordsReady) {\n\t for (var offset = 0; offset < nWordsReady; offset += blockSize) {\n\t // Perform concrete-algorithm logic\n\t this._doProcessBlock(dataWords, offset);\n\t }\n\n\t // Remove processed words\n\t processedWords = dataWords.splice(0, nWordsReady);\n\t data.sigBytes -= nBytesReady;\n\t }\n\n\t // Return processed words\n\t return new WordArray.init(processedWords, nBytesReady);\n\t },\n\n\t /**\n\t * Creates a copy of this object.\n\t *\n\t * @return {Object} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = bufferedBlockAlgorithm.clone();\n\t */\n\t clone: function () {\n\t var clone = Base.clone.call(this);\n\t clone._data = this._data.clone();\n\n\t return clone;\n\t },\n\n\t _minBufferSize: 0\n\t });\n\n\t /**\n\t * Abstract hasher template.\n\t *\n\t * @property {number} blockSize The number of 32-bit words this hasher operates on. Default: 16 (512 bits)\n\t */\n\t var Hasher = C_lib.Hasher = BufferedBlockAlgorithm.extend({\n\t /**\n\t * Configuration options.\n\t */\n\t cfg: Base.extend(),\n\n\t /**\n\t * Initializes a newly created hasher.\n\t *\n\t * @param {Object} cfg (Optional) The configuration options to use for this hash computation.\n\t *\n\t * @example\n\t *\n\t * var hasher = CryptoJS.algo.SHA256.create();\n\t */\n\t init: function (cfg) {\n\t // Apply config defaults\n\t this.cfg = this.cfg.extend(cfg);\n\n\t // Set initial values\n\t this.reset();\n\t },\n\n\t /**\n\t * Resets this hasher to its initial state.\n\t *\n\t * @example\n\t *\n\t * hasher.reset();\n\t */\n\t reset: function () {\n\t // Reset data buffer\n\t BufferedBlockAlgorithm.reset.call(this);\n\n\t // Perform concrete-hasher logic\n\t this._doReset();\n\t },\n\n\t /**\n\t * Updates this hasher with a message.\n\t *\n\t * @param {WordArray|string} messageUpdate The message to append.\n\t *\n\t * @return {Hasher} This hasher.\n\t *\n\t * @example\n\t *\n\t * hasher.update('message');\n\t * hasher.update(wordArray);\n\t */\n\t update: function (messageUpdate) {\n\t // Append\n\t this._append(messageUpdate);\n\n\t // Update the hash\n\t this._process();\n\n\t // Chainable\n\t return this;\n\t },\n\n\t /**\n\t * Finalizes the hash computation.\n\t * Note that the finalize operation is effectively a destructive, read-once operation.\n\t *\n\t * @param {WordArray|string} messageUpdate (Optional) A final message update.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @example\n\t *\n\t * var hash = hasher.finalize();\n\t * var hash = hasher.finalize('message');\n\t * var hash = hasher.finalize(wordArray);\n\t */\n\t finalize: function (messageUpdate) {\n\t // Final message update\n\t if (messageUpdate) {\n\t this._append(messageUpdate);\n\t }\n\n\t // Perform concrete-hasher logic\n\t var hash = this._doFinalize();\n\n\t return hash;\n\t },\n\n\t blockSize: 512/32,\n\n\t /**\n\t * Creates a shortcut function to a hasher's object interface.\n\t *\n\t * @param {Hasher} hasher The hasher to create a helper for.\n\t *\n\t * @return {Function} The shortcut function.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var SHA256 = CryptoJS.lib.Hasher._createHelper(CryptoJS.algo.SHA256);\n\t */\n\t _createHelper: function (hasher) {\n\t return function (message, cfg) {\n\t return new hasher.init(cfg).finalize(message);\n\t };\n\t },\n\n\t /**\n\t * Creates a shortcut function to the HMAC's object interface.\n\t *\n\t * @param {Hasher} hasher The hasher to use in this HMAC helper.\n\t *\n\t * @return {Function} The shortcut function.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var HmacSHA256 = CryptoJS.lib.Hasher._createHmacHelper(CryptoJS.algo.SHA256);\n\t */\n\t _createHmacHelper: function (hasher) {\n\t return function (message, key) {\n\t return new C_algo.HMAC.init(hasher, key).finalize(message);\n\t };\n\t }\n\t });\n\n\t /**\n\t * Algorithm namespace.\n\t */\n\t var C_algo = C.algo = {};\n\n\t return C;\n\t}(Math));\n\n\n\treturn CryptoJS;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var C_enc = C.enc;\n\n\t /**\n\t * Base64 encoding strategy.\n\t */\n\t var Base64 = C_enc.Base64 = {\n\t /**\n\t * Converts a word array to a Base64 string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The Base64 string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var base64String = CryptoJS.enc.Base64.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\t var map = this._map;\n\n\t // Clamp excess bits\n\t wordArray.clamp();\n\n\t // Convert\n\t var base64Chars = [];\n\t for (var i = 0; i < sigBytes; i += 3) {\n\t var byte1 = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t var byte2 = (words[(i + 1) >>> 2] >>> (24 - ((i + 1) % 4) * 8)) & 0xff;\n\t var byte3 = (words[(i + 2) >>> 2] >>> (24 - ((i + 2) % 4) * 8)) & 0xff;\n\n\t var triplet = (byte1 << 16) | (byte2 << 8) | byte3;\n\n\t for (var j = 0; (j < 4) && (i + j * 0.75 < sigBytes); j++) {\n\t base64Chars.push(map.charAt((triplet >>> (6 * (3 - j))) & 0x3f));\n\t }\n\t }\n\n\t // Add padding\n\t var paddingChar = map.charAt(64);\n\t if (paddingChar) {\n\t while (base64Chars.length % 4) {\n\t base64Chars.push(paddingChar);\n\t }\n\t }\n\n\t return base64Chars.join('');\n\t },\n\n\t /**\n\t * Converts a Base64 string to a word array.\n\t *\n\t * @param {string} base64Str The Base64 string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Base64.parse(base64String);\n\t */\n\t parse: function (base64Str) {\n\t // Shortcuts\n\t var base64StrLength = base64Str.length;\n\t var map = this._map;\n\t var reverseMap = this._reverseMap;\n\n\t if (!reverseMap) {\n\t reverseMap = this._reverseMap = [];\n\t for (var j = 0; j < map.length; j++) {\n\t reverseMap[map.charCodeAt(j)] = j;\n\t }\n\t }\n\n\t // Ignore padding\n\t var paddingChar = map.charAt(64);\n\t if (paddingChar) {\n\t var paddingIndex = base64Str.indexOf(paddingChar);\n\t if (paddingIndex !== -1) {\n\t base64StrLength = paddingIndex;\n\t }\n\t }\n\n\t // Convert\n\t return parseLoop(base64Str, base64StrLength, reverseMap);\n\n\t },\n\n\t _map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='\n\t };\n\n\t function parseLoop(base64Str, base64StrLength, reverseMap) {\n\t var words = [];\n\t var nBytes = 0;\n\t for (var i = 0; i < base64StrLength; i++) {\n\t if (i % 4) {\n\t var bits1 = reverseMap[base64Str.charCodeAt(i - 1)] << ((i % 4) * 2);\n\t var bits2 = reverseMap[base64Str.charCodeAt(i)] >>> (6 - (i % 4) * 2);\n\t var bitsCombined = bits1 | bits2;\n\t words[nBytes >>> 2] |= bitsCombined << (24 - (nBytes % 4) * 8);\n\t nBytes++;\n\t }\n\t }\n\t return WordArray.create(words, nBytes);\n\t }\n\t}());\n\n\n\treturn CryptoJS.enc.Base64;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var C_enc = C.enc;\n\n\t /**\n\t * Base64url encoding strategy.\n\t */\n\t var Base64url = C_enc.Base64url = {\n\t /**\n\t * Converts a word array to a Base64url string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @param {boolean} urlSafe Whether to use url safe\n\t *\n\t * @return {string} The Base64url string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var base64String = CryptoJS.enc.Base64url.stringify(wordArray);\n\t */\n\t stringify: function (wordArray, urlSafe=true) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\t var map = urlSafe ? this._safe_map : this._map;\n\n\t // Clamp excess bits\n\t wordArray.clamp();\n\n\t // Convert\n\t var base64Chars = [];\n\t for (var i = 0; i < sigBytes; i += 3) {\n\t var byte1 = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t var byte2 = (words[(i + 1) >>> 2] >>> (24 - ((i + 1) % 4) * 8)) & 0xff;\n\t var byte3 = (words[(i + 2) >>> 2] >>> (24 - ((i + 2) % 4) * 8)) & 0xff;\n\n\t var triplet = (byte1 << 16) | (byte2 << 8) | byte3;\n\n\t for (var j = 0; (j < 4) && (i + j * 0.75 < sigBytes); j++) {\n\t base64Chars.push(map.charAt((triplet >>> (6 * (3 - j))) & 0x3f));\n\t }\n\t }\n\n\t // Add padding\n\t var paddingChar = map.charAt(64);\n\t if (paddingChar) {\n\t while (base64Chars.length % 4) {\n\t base64Chars.push(paddingChar);\n\t }\n\t }\n\n\t return base64Chars.join('');\n\t },\n\n\t /**\n\t * Converts a Base64url string to a word array.\n\t *\n\t * @param {string} base64Str The Base64url string.\n\t *\n\t * @param {boolean} urlSafe Whether to use url safe\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Base64url.parse(base64String);\n\t */\n\t parse: function (base64Str, urlSafe=true) {\n\t // Shortcuts\n\t var base64StrLength = base64Str.length;\n\t var map = urlSafe ? this._safe_map : this._map;\n\t var reverseMap = this._reverseMap;\n\n\t if (!reverseMap) {\n\t reverseMap = this._reverseMap = [];\n\t for (var j = 0; j < map.length; j++) {\n\t reverseMap[map.charCodeAt(j)] = j;\n\t }\n\t }\n\n\t // Ignore padding\n\t var paddingChar = map.charAt(64);\n\t if (paddingChar) {\n\t var paddingIndex = base64Str.indexOf(paddingChar);\n\t if (paddingIndex !== -1) {\n\t base64StrLength = paddingIndex;\n\t }\n\t }\n\n\t // Convert\n\t return parseLoop(base64Str, base64StrLength, reverseMap);\n\n\t },\n\n\t _map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=',\n\t _safe_map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_',\n\t };\n\n\t function parseLoop(base64Str, base64StrLength, reverseMap) {\n\t var words = [];\n\t var nBytes = 0;\n\t for (var i = 0; i < base64StrLength; i++) {\n\t if (i % 4) {\n\t var bits1 = reverseMap[base64Str.charCodeAt(i - 1)] << ((i % 4) * 2);\n\t var bits2 = reverseMap[base64Str.charCodeAt(i)] >>> (6 - (i % 4) * 2);\n\t var bitsCombined = bits1 | bits2;\n\t words[nBytes >>> 2] |= bitsCombined << (24 - (nBytes % 4) * 8);\n\t nBytes++;\n\t }\n\t }\n\t return WordArray.create(words, nBytes);\n\t }\n\t}());\n\n\treturn CryptoJS.enc.Base64url;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var C_enc = C.enc;\n\n\t /**\n\t * UTF-16 BE encoding strategy.\n\t */\n\t var Utf16BE = C_enc.Utf16 = C_enc.Utf16BE = {\n\t /**\n\t * Converts a word array to a UTF-16 BE string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The UTF-16 BE string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var utf16String = CryptoJS.enc.Utf16.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\n\t // Convert\n\t var utf16Chars = [];\n\t for (var i = 0; i < sigBytes; i += 2) {\n\t var codePoint = (words[i >>> 2] >>> (16 - (i % 4) * 8)) & 0xffff;\n\t utf16Chars.push(String.fromCharCode(codePoint));\n\t }\n\n\t return utf16Chars.join('');\n\t },\n\n\t /**\n\t * Converts a UTF-16 BE string to a word array.\n\t *\n\t * @param {string} utf16Str The UTF-16 BE string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Utf16.parse(utf16String);\n\t */\n\t parse: function (utf16Str) {\n\t // Shortcut\n\t var utf16StrLength = utf16Str.length;\n\n\t // Convert\n\t var words = [];\n\t for (var i = 0; i < utf16StrLength; i++) {\n\t words[i >>> 1] |= utf16Str.charCodeAt(i) << (16 - (i % 2) * 16);\n\t }\n\n\t return WordArray.create(words, utf16StrLength * 2);\n\t }\n\t };\n\n\t /**\n\t * UTF-16 LE encoding strategy.\n\t */\n\t C_enc.Utf16LE = {\n\t /**\n\t * Converts a word array to a UTF-16 LE string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The UTF-16 LE string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var utf16Str = CryptoJS.enc.Utf16LE.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\n\t // Convert\n\t var utf16Chars = [];\n\t for (var i = 0; i < sigBytes; i += 2) {\n\t var codePoint = swapEndian((words[i >>> 2] >>> (16 - (i % 4) * 8)) & 0xffff);\n\t utf16Chars.push(String.fromCharCode(codePoint));\n\t }\n\n\t return utf16Chars.join('');\n\t },\n\n\t /**\n\t * Converts a UTF-16 LE string to a word array.\n\t *\n\t * @param {string} utf16Str The UTF-16 LE string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Utf16LE.parse(utf16Str);\n\t */\n\t parse: function (utf16Str) {\n\t // Shortcut\n\t var utf16StrLength = utf16Str.length;\n\n\t // Convert\n\t var words = [];\n\t for (var i = 0; i < utf16StrLength; i++) {\n\t words[i >>> 1] |= swapEndian(utf16Str.charCodeAt(i) << (16 - (i % 2) * 16));\n\t }\n\n\t return WordArray.create(words, utf16StrLength * 2);\n\t }\n\t };\n\n\t function swapEndian(word) {\n\t return ((word << 8) & 0xff00ff00) | ((word >>> 8) & 0x00ff00ff);\n\t }\n\t}());\n\n\n\treturn CryptoJS.enc.Utf16;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./sha1\"), require(\"./hmac\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./sha1\", \"./hmac\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var Base = C_lib.Base;\n\t var WordArray = C_lib.WordArray;\n\t var C_algo = C.algo;\n\t var MD5 = C_algo.MD5;\n\n\t /**\n\t * This key derivation function is meant to conform with EVP_BytesToKey.\n\t * www.openssl.org/docs/crypto/EVP_BytesToKey.html\n\t */\n\t var EvpKDF = C_algo.EvpKDF = Base.extend({\n\t /**\n\t * Configuration options.\n\t *\n\t * @property {number} keySize The key size in words to generate. Default: 4 (128 bits)\n\t * @property {Hasher} hasher The hash algorithm to use. Default: MD5\n\t * @property {number} iterations The number of iterations to perform. Default: 1\n\t */\n\t cfg: Base.extend({\n\t keySize: 128/32,\n\t hasher: MD5,\n\t iterations: 1\n\t }),\n\n\t /**\n\t * Initializes a newly created key derivation function.\n\t *\n\t * @param {Object} cfg (Optional) The configuration options to use for the derivation.\n\t *\n\t * @example\n\t *\n\t * var kdf = CryptoJS.algo.EvpKDF.create();\n\t * var kdf = CryptoJS.algo.EvpKDF.create({ keySize: 8 });\n\t * var kdf = CryptoJS.algo.EvpKDF.create({ keySize: 8, iterations: 1000 });\n\t */\n\t init: function (cfg) {\n\t this.cfg = this.cfg.extend(cfg);\n\t },\n\n\t /**\n\t * Derives a key from a password.\n\t *\n\t * @param {WordArray|string} password The password.\n\t * @param {WordArray|string} salt A salt.\n\t *\n\t * @return {WordArray} The derived key.\n\t *\n\t * @example\n\t *\n\t * var key = kdf.compute(password, salt);\n\t */\n\t compute: function (password, salt) {\n\t var block;\n\n\t // Shortcut\n\t var cfg = this.cfg;\n\n\t // Init hasher\n\t var hasher = cfg.hasher.create();\n\n\t // Initial values\n\t var derivedKey = WordArray.create();\n\n\t // Shortcuts\n\t var derivedKeyWords = derivedKey.words;\n\t var keySize = cfg.keySize;\n\t var iterations = cfg.iterations;\n\n\t // Generate key\n\t while (derivedKeyWords.length < keySize) {\n\t if (block) {\n\t hasher.update(block);\n\t }\n\t block = hasher.update(password).finalize(salt);\n\t hasher.reset();\n\n\t // Iterations\n\t for (var i = 1; i < iterations; i++) {\n\t block = hasher.finalize(block);\n\t hasher.reset();\n\t }\n\n\t derivedKey.concat(block);\n\t }\n\t derivedKey.sigBytes = keySize * 4;\n\n\t return derivedKey;\n\t }\n\t });\n\n\t /**\n\t * Derives a key from a password.\n\t *\n\t * @param {WordArray|string} password The password.\n\t * @param {WordArray|string} salt A salt.\n\t * @param {Object} cfg (Optional) The configuration options to use for this computation.\n\t *\n\t * @return {WordArray} The derived key.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var key = CryptoJS.EvpKDF(password, salt);\n\t * var key = CryptoJS.EvpKDF(password, salt, { keySize: 8 });\n\t * var key = CryptoJS.EvpKDF(password, salt, { keySize: 8, iterations: 1000 });\n\t */\n\t C.EvpKDF = function (password, salt, cfg) {\n\t return EvpKDF.create(cfg).compute(password, salt);\n\t };\n\t}());\n\n\n\treturn CryptoJS.EvpKDF;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function (undefined) {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var CipherParams = C_lib.CipherParams;\n\t var C_enc = C.enc;\n\t var Hex = C_enc.Hex;\n\t var C_format = C.format;\n\n\t var HexFormatter = C_format.Hex = {\n\t /**\n\t * Converts the ciphertext of a cipher params object to a hexadecimally encoded string.\n\t *\n\t * @param {CipherParams} cipherParams The cipher params object.\n\t *\n\t * @return {string} The hexadecimally encoded string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hexString = CryptoJS.format.Hex.stringify(cipherParams);\n\t */\n\t stringify: function (cipherParams) {\n\t return cipherParams.ciphertext.toString(Hex);\n\t },\n\n\t /**\n\t * Converts a hexadecimally encoded ciphertext string to a cipher params object.\n\t *\n\t * @param {string} input The hexadecimally encoded string.\n\t *\n\t * @return {CipherParams} The cipher params object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var cipherParams = CryptoJS.format.Hex.parse(hexString);\n\t */\n\t parse: function (input) {\n\t var ciphertext = Hex.parse(input);\n\t return CipherParams.create({ ciphertext: ciphertext });\n\t }\n\t };\n\t}());\n\n\n\treturn CryptoJS.format.Hex;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var Base = C_lib.Base;\n\t var C_enc = C.enc;\n\t var Utf8 = C_enc.Utf8;\n\t var C_algo = C.algo;\n\n\t /**\n\t * HMAC algorithm.\n\t */\n\t var HMAC = C_algo.HMAC = Base.extend({\n\t /**\n\t * Initializes a newly created HMAC.\n\t *\n\t * @param {Hasher} hasher The hash algorithm to use.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @example\n\t *\n\t * var hmacHasher = CryptoJS.algo.HMAC.create(CryptoJS.algo.SHA256, key);\n\t */\n\t init: function (hasher, key) {\n\t // Init hasher\n\t hasher = this._hasher = new hasher.init();\n\n\t // Convert string to WordArray, else assume WordArray already\n\t if (typeof key == 'string') {\n\t key = Utf8.parse(key);\n\t }\n\n\t // Shortcuts\n\t var hasherBlockSize = hasher.blockSize;\n\t var hasherBlockSizeBytes = hasherBlockSize * 4;\n\n\t // Allow arbitrary length keys\n\t if (key.sigBytes > hasherBlockSizeBytes) {\n\t key = hasher.finalize(key);\n\t }\n\n\t // Clamp excess bits\n\t key.clamp();\n\n\t // Clone key for inner and outer pads\n\t var oKey = this._oKey = key.clone();\n\t var iKey = this._iKey = key.clone();\n\n\t // Shortcuts\n\t var oKeyWords = oKey.words;\n\t var iKeyWords = iKey.words;\n\n\t // XOR keys with pad constants\n\t for (var i = 0; i < hasherBlockSize; i++) {\n\t oKeyWords[i] ^= 0x5c5c5c5c;\n\t iKeyWords[i] ^= 0x36363636;\n\t }\n\t oKey.sigBytes = iKey.sigBytes = hasherBlockSizeBytes;\n\n\t // Set initial values\n\t this.reset();\n\t },\n\n\t /**\n\t * Resets this HMAC to its initial state.\n\t *\n\t * @example\n\t *\n\t * hmacHasher.reset();\n\t */\n\t reset: function () {\n\t // Shortcut\n\t var hasher = this._hasher;\n\n\t // Reset\n\t hasher.reset();\n\t hasher.update(this._iKey);\n\t },\n\n\t /**\n\t * Updates this HMAC with a message.\n\t *\n\t * @param {WordArray|string} messageUpdate The message to append.\n\t *\n\t * @return {HMAC} This HMAC instance.\n\t *\n\t * @example\n\t *\n\t * hmacHasher.update('message');\n\t * hmacHasher.update(wordArray);\n\t */\n\t update: function (messageUpdate) {\n\t this._hasher.update(messageUpdate);\n\n\t // Chainable\n\t return this;\n\t },\n\n\t /**\n\t * Finalizes the HMAC computation.\n\t * Note that the finalize operation is effectively a destructive, read-once operation.\n\t *\n\t * @param {WordArray|string} messageUpdate (Optional) A final message update.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @example\n\t *\n\t * var hmac = hmacHasher.finalize();\n\t * var hmac = hmacHasher.finalize('message');\n\t * var hmac = hmacHasher.finalize(wordArray);\n\t */\n\t finalize: function (messageUpdate) {\n\t // Shortcut\n\t var hasher = this._hasher;\n\n\t // Compute HMAC\n\t var innerHash = hasher.finalize(messageUpdate);\n\t hasher.reset();\n\t var hmac = hasher.finalize(this._oKey.clone().concat(innerHash));\n\n\t return hmac;\n\t }\n\t });\n\t}());\n\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./x64-core\"), require(\"./lib-typedarrays\"), require(\"./enc-utf16\"), require(\"./enc-base64\"), require(\"./enc-base64url\"), require(\"./md5\"), require(\"./sha1\"), require(\"./sha256\"), require(\"./sha224\"), require(\"./sha512\"), require(\"./sha384\"), require(\"./sha3\"), require(\"./ripemd160\"), require(\"./hmac\"), require(\"./pbkdf2\"), require(\"./evpkdf\"), require(\"./cipher-core\"), require(\"./mode-cfb\"), require(\"./mode-ctr\"), require(\"./mode-ctr-gladman\"), require(\"./mode-ofb\"), require(\"./mode-ecb\"), require(\"./pad-ansix923\"), require(\"./pad-iso10126\"), require(\"./pad-iso97971\"), require(\"./pad-zeropadding\"), require(\"./pad-nopadding\"), require(\"./format-hex\"), require(\"./aes\"), require(\"./tripledes\"), require(\"./rc4\"), require(\"./rabbit\"), require(\"./rabbit-legacy\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./x64-core\", \"./lib-typedarrays\", \"./enc-utf16\", \"./enc-base64\", \"./enc-base64url\", \"./md5\", \"./sha1\", \"./sha256\", \"./sha224\", \"./sha512\", \"./sha384\", \"./sha3\", \"./ripemd160\", \"./hmac\", \"./pbkdf2\", \"./evpkdf\", \"./cipher-core\", \"./mode-cfb\", \"./mode-ctr\", \"./mode-ctr-gladman\", \"./mode-ofb\", \"./mode-ecb\", \"./pad-ansix923\", \"./pad-iso10126\", \"./pad-iso97971\", \"./pad-zeropadding\", \"./pad-nopadding\", \"./format-hex\", \"./aes\", \"./tripledes\", \"./rc4\", \"./rabbit\", \"./rabbit-legacy\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\troot.CryptoJS = factory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\treturn CryptoJS;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Check if typed arrays are supported\n\t if (typeof ArrayBuffer != 'function') {\n\t return;\n\t }\n\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\n\t // Reference original init\n\t var superInit = WordArray.init;\n\n\t // Augment WordArray.init to handle typed arrays\n\t var subInit = WordArray.init = function (typedArray) {\n\t // Convert buffers to uint8\n\t if (typedArray instanceof ArrayBuffer) {\n\t typedArray = new Uint8Array(typedArray);\n\t }\n\n\t // Convert other array views to uint8\n\t if (\n\t typedArray instanceof Int8Array ||\n\t (typeof Uint8ClampedArray !== \"undefined\" && typedArray instanceof Uint8ClampedArray) ||\n\t typedArray instanceof Int16Array ||\n\t typedArray instanceof Uint16Array ||\n\t typedArray instanceof Int32Array ||\n\t typedArray instanceof Uint32Array ||\n\t typedArray instanceof Float32Array ||\n\t typedArray instanceof Float64Array\n\t ) {\n\t typedArray = new Uint8Array(typedArray.buffer, typedArray.byteOffset, typedArray.byteLength);\n\t }\n\n\t // Handle Uint8Array\n\t if (typedArray instanceof Uint8Array) {\n\t // Shortcut\n\t var typedArrayByteLength = typedArray.byteLength;\n\n\t // Extract bytes\n\t var words = [];\n\t for (var i = 0; i < typedArrayByteLength; i++) {\n\t words[i >>> 2] |= typedArray[i] << (24 - (i % 4) * 8);\n\t }\n\n\t // Initialize this word array\n\t superInit.call(this, words, typedArrayByteLength);\n\t } else {\n\t // Else call normal init\n\t superInit.apply(this, arguments);\n\t }\n\t };\n\n\t subInit.prototype = WordArray;\n\t}());\n\n\n\treturn CryptoJS.lib.WordArray;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function (Math) {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var Hasher = C_lib.Hasher;\n\t var C_algo = C.algo;\n\n\t // Constants table\n\t var T = [];\n\n\t // Compute constants\n\t (function () {\n\t for (var i = 0; i < 64; i++) {\n\t T[i] = (Math.abs(Math.sin(i + 1)) * 0x100000000) | 0;\n\t }\n\t }());\n\n\t /**\n\t * MD5 hash algorithm.\n\t */\n\t var MD5 = C_algo.MD5 = Hasher.extend({\n\t _doReset: function () {\n\t this._hash = new WordArray.init([\n\t 0x67452301, 0xefcdab89,\n\t 0x98badcfe, 0x10325476\n\t ]);\n\t },\n\n\t _doProcessBlock: function (M, offset) {\n\t // Swap endian\n\t for (var i = 0; i < 16; i++) {\n\t // Shortcuts\n\t var offset_i = offset + i;\n\t var M_offset_i = M[offset_i];\n\n\t M[offset_i] = (\n\t (((M_offset_i << 8) | (M_offset_i >>> 24)) & 0x00ff00ff) |\n\t (((M_offset_i << 24) | (M_offset_i >>> 8)) & 0xff00ff00)\n\t );\n\t }\n\n\t // Shortcuts\n\t var H = this._hash.words;\n\n\t var M_offset_0 = M[offset + 0];\n\t var M_offset_1 = M[offset + 1];\n\t var M_offset_2 = M[offset + 2];\n\t var M_offset_3 = M[offset + 3];\n\t var M_offset_4 = M[offset + 4];\n\t var M_offset_5 = M[offset + 5];\n\t var M_offset_6 = M[offset + 6];\n\t var M_offset_7 = M[offset + 7];\n\t var M_offset_8 = M[offset + 8];\n\t var M_offset_9 = M[offset + 9];\n\t var M_offset_10 = M[offset + 10];\n\t var M_offset_11 = M[offset + 11];\n\t var M_offset_12 = M[offset + 12];\n\t var M_offset_13 = M[offset + 13];\n\t var M_offset_14 = M[offset + 14];\n\t var M_offset_15 = M[offset + 15];\n\n\t // Working varialbes\n\t var a = H[0];\n\t var b = H[1];\n\t var c = H[2];\n\t var d = H[3];\n\n\t // Computation\n\t a = FF(a, b, c, d, M_offset_0, 7, T[0]);\n\t d = FF(d, a, b, c, M_offset_1, 12, T[1]);\n\t c = FF(c, d, a, b, M_offset_2, 17, T[2]);\n\t b = FF(b, c, d, a, M_offset_3, 22, T[3]);\n\t a = FF(a, b, c, d, M_offset_4, 7, T[4]);\n\t d = FF(d, a, b, c, M_offset_5, 12, T[5]);\n\t c = FF(c, d, a, b, M_offset_6, 17, T[6]);\n\t b = FF(b, c, d, a, M_offset_7, 22, T[7]);\n\t a = FF(a, b, c, d, M_offset_8, 7, T[8]);\n\t d = FF(d, a, b, c, M_offset_9, 12, T[9]);\n\t c = FF(c, d, a, b, M_offset_10, 17, T[10]);\n\t b = FF(b, c, d, a, M_offset_11, 22, T[11]);\n\t a = FF(a, b, c, d, M_offset_12, 7, T[12]);\n\t d = FF(d, a, b, c, M_offset_13, 12, T[13]);\n\t c = FF(c, d, a, b, M_offset_14, 17, T[14]);\n\t b = FF(b, c, d, a, M_offset_15, 22, T[15]);\n\n\t a = GG(a, b, c, d, M_offset_1, 5, T[16]);\n\t d = GG(d, a, b, c, M_offset_6, 9, T[17]);\n\t c = GG(c, d, a, b, M_offset_11, 14, T[18]);\n\t b = GG(b, c, d, a, M_offset_0, 20, T[19]);\n\t a = GG(a, b, c, d, M_offset_5, 5, T[20]);\n\t d = GG(d, a, b, c, M_offset_10, 9, T[21]);\n\t c = GG(c, d, a, b, M_offset_15, 14, T[22]);\n\t b = GG(b, c, d, a, M_offset_4, 20, T[23]);\n\t a = GG(a, b, c, d, M_offset_9, 5, T[24]);\n\t d = GG(d, a, b, c, M_offset_14, 9, T[25]);\n\t c = GG(c, d, a, b, M_offset_3, 14, T[26]);\n\t b = GG(b, c, d, a, M_offset_8, 20, T[27]);\n\t a = GG(a, b, c, d, M_offset_13, 5, T[28]);\n\t d = GG(d, a, b, c, M_offset_2, 9, T[29]);\n\t c = GG(c, d, a, b, M_offset_7, 14, T[30]);\n\t b = GG(b, c, d, a, M_offset_12, 20, T[31]);\n\n\t a = HH(a, b, c, d, M_offset_5, 4, T[32]);\n\t d = HH(d, a, b, c, M_offset_8, 11, T[33]);\n\t c = HH(c, d, a, b, M_offset_11, 16, T[34]);\n\t b = HH(b, c, d, a, M_offset_14, 23, T[35]);\n\t a = HH(a, b, c, d, M_offset_1, 4, T[36]);\n\t d = HH(d, a, b, c, M_offset_4, 11, T[37]);\n\t c = HH(c, d, a, b, M_offset_7, 16, T[38]);\n\t b = HH(b, c, d, a, M_offset_10, 23, T[39]);\n\t a = HH(a, b, c, d, M_offset_13, 4, T[40]);\n\t d = HH(d, a, b, c, M_offset_0, 11, T[41]);\n\t c = HH(c, d, a, b, M_offset_3, 16, T[42]);\n\t b = HH(b, c, d, a, M_offset_6, 23, T[43]);\n\t a = HH(a, b, c, d, M_offset_9, 4, T[44]);\n\t d = HH(d, a, b, c, M_offset_12, 11, T[45]);\n\t c = HH(c, d, a, b, M_offset_15, 16, T[46]);\n\t b = HH(b, c, d, a, M_offset_2, 23, T[47]);\n\n\t a = II(a, b, c, d, M_offset_0, 6, T[48]);\n\t d = II(d, a, b, c, M_offset_7, 10, T[49]);\n\t c = II(c, d, a, b, M_offset_14, 15, T[50]);\n\t b = II(b, c, d, a, M_offset_5, 21, T[51]);\n\t a = II(a, b, c, d, M_offset_12, 6, T[52]);\n\t d = II(d, a, b, c, M_offset_3, 10, T[53]);\n\t c = II(c, d, a, b, M_offset_10, 15, T[54]);\n\t b = II(b, c, d, a, M_offset_1, 21, T[55]);\n\t a = II(a, b, c, d, M_offset_8, 6, T[56]);\n\t d = II(d, a, b, c, M_offset_15, 10, T[57]);\n\t c = II(c, d, a, b, M_offset_6, 15, T[58]);\n\t b = II(b, c, d, a, M_offset_13, 21, T[59]);\n\t a = II(a, b, c, d, M_offset_4, 6, T[60]);\n\t d = II(d, a, b, c, M_offset_11, 10, T[61]);\n\t c = II(c, d, a, b, M_offset_2, 15, T[62]);\n\t b = II(b, c, d, a, M_offset_9, 21, T[63]);\n\n\t // Intermediate hash value\n\t H[0] = (H[0] + a) | 0;\n\t H[1] = (H[1] + b) | 0;\n\t H[2] = (H[2] + c) | 0;\n\t H[3] = (H[3] + d) | 0;\n\t },\n\n\t _doFinalize: function () {\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\n\t var nBitsTotal = this._nDataBytes * 8;\n\t var nBitsLeft = data.sigBytes * 8;\n\n\t // Add padding\n\t dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);\n\n\t var nBitsTotalH = Math.floor(nBitsTotal / 0x100000000);\n\t var nBitsTotalL = nBitsTotal;\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = (\n\t (((nBitsTotalH << 8) | (nBitsTotalH >>> 24)) & 0x00ff00ff) |\n\t (((nBitsTotalH << 24) | (nBitsTotalH >>> 8)) & 0xff00ff00)\n\t );\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = (\n\t (((nBitsTotalL << 8) | (nBitsTotalL >>> 24)) & 0x00ff00ff) |\n\t (((nBitsTotalL << 24) | (nBitsTotalL >>> 8)) & 0xff00ff00)\n\t );\n\n\t data.sigBytes = (dataWords.length + 1) * 4;\n\n\t // Hash final blocks\n\t this._process();\n\n\t // Shortcuts\n\t var hash = this._hash;\n\t var H = hash.words;\n\n\t // Swap endian\n\t for (var i = 0; i < 4; i++) {\n\t // Shortcut\n\t var H_i = H[i];\n\n\t H[i] = (((H_i << 8) | (H_i >>> 24)) & 0x00ff00ff) |\n\t (((H_i << 24) | (H_i >>> 8)) & 0xff00ff00);\n\t }\n\n\t // Return final computed hash\n\t return hash;\n\t },\n\n\t clone: function () {\n\t var clone = Hasher.clone.call(this);\n\t clone._hash = this._hash.clone();\n\n\t return clone;\n\t }\n\t });\n\n\t function FF(a, b, c, d, x, s, t) {\n\t var n = a + ((b & c) | (~b & d)) + x + t;\n\t return ((n << s) | (n >>> (32 - s))) + b;\n\t }\n\n\t function GG(a, b, c, d, x, s, t) {\n\t var n = a + ((b & d) | (c & ~d)) + x + t;\n\t return ((n << s) | (n >>> (32 - s))) + b;\n\t }\n\n\t function HH(a, b, c, d, x, s, t) {\n\t var n = a + (b ^ c ^ d) + x + t;\n\t return ((n << s) | (n >>> (32 - s))) + b;\n\t }\n\n\t function II(a, b, c, d, x, s, t) {\n\t var n = a + (c ^ (b | ~d)) + x + t;\n\t return ((n << s) | (n >>> (32 - s))) + b;\n\t }\n\n\t /**\n\t * Shortcut function to the hasher's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hash = CryptoJS.MD5('message');\n\t * var hash = CryptoJS.MD5(wordArray);\n\t */\n\t C.MD5 = Hasher._createHelper(MD5);\n\n\t /**\n\t * Shortcut function to the HMAC's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hmac = CryptoJS.HmacMD5(message, key);\n\t */\n\t C.HmacMD5 = Hasher._createHmacHelper(MD5);\n\t}(Math));\n\n\n\treturn CryptoJS.MD5;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/**\n\t * Cipher Feedback block mode.\n\t */\n\tCryptoJS.mode.CFB = (function () {\n\t var CFB = CryptoJS.lib.BlockCipherMode.extend();\n\n\t CFB.Encryptor = CFB.extend({\n\t processBlock: function (words, offset) {\n\t // Shortcuts\n\t var cipher = this._cipher;\n\t var blockSize = cipher.blockSize;\n\n\t generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher);\n\n\t // Remember this block to use with next block\n\t this._prevBlock = words.slice(offset, offset + blockSize);\n\t }\n\t });\n\n\t CFB.Decryptor = CFB.extend({\n\t processBlock: function (words, offset) {\n\t // Shortcuts\n\t var cipher = this._cipher;\n\t var blockSize = cipher.blockSize;\n\n\t // Remember this block to use with next block\n\t var thisBlock = words.slice(offset, offset + blockSize);\n\n\t generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher);\n\n\t // This block becomes the previous block\n\t this._prevBlock = thisBlock;\n\t }\n\t });\n\n\t function generateKeystreamAndEncrypt(words, offset, blockSize, cipher) {\n\t var keystream;\n\n\t // Shortcut\n\t var iv = this._iv;\n\n\t // Generate keystream\n\t if (iv) {\n\t keystream = iv.slice(0);\n\n\t // Remove IV for subsequent blocks\n\t this._iv = undefined;\n\t } else {\n\t keystream = this._prevBlock;\n\t }\n\t cipher.encryptBlock(keystream, 0);\n\n\t // Encrypt\n\t for (var i = 0; i < blockSize; i++) {\n\t words[offset + i] ^= keystream[i];\n\t }\n\t }\n\n\t return CFB;\n\t}());\n\n\n\treturn CryptoJS.mode.CFB;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/** @preserve\n\t * Counter block mode compatible with Dr Brian Gladman fileenc.c\n\t * derived from CryptoJS.mode.CTR\n\t * Jan Hruby jhruby.web@gmail.com\n\t */\n\tCryptoJS.mode.CTRGladman = (function () {\n\t var CTRGladman = CryptoJS.lib.BlockCipherMode.extend();\n\n\t\tfunction incWord(word)\n\t\t{\n\t\t\tif (((word >> 24) & 0xff) === 0xff) { //overflow\n\t\t\tvar b1 = (word >> 16)&0xff;\n\t\t\tvar b2 = (word >> 8)&0xff;\n\t\t\tvar b3 = word & 0xff;\n\n\t\t\tif (b1 === 0xff) // overflow b1\n\t\t\t{\n\t\t\tb1 = 0;\n\t\t\tif (b2 === 0xff)\n\t\t\t{\n\t\t\t\tb2 = 0;\n\t\t\t\tif (b3 === 0xff)\n\t\t\t\t{\n\t\t\t\t\tb3 = 0;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\t++b3;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t++b2;\n\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t++b1;\n\t\t\t}\n\n\t\t\tword = 0;\n\t\t\tword += (b1 << 16);\n\t\t\tword += (b2 << 8);\n\t\t\tword += b3;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\tword += (0x01 << 24);\n\t\t\t}\n\t\t\treturn word;\n\t\t}\n\n\t\tfunction incCounter(counter)\n\t\t{\n\t\t\tif ((counter[0] = incWord(counter[0])) === 0)\n\t\t\t{\n\t\t\t\t// encr_data in fileenc.c from Dr Brian Gladman's counts only with DWORD j < 8\n\t\t\t\tcounter[1] = incWord(counter[1]);\n\t\t\t}\n\t\t\treturn counter;\n\t\t}\n\n\t var Encryptor = CTRGladman.Encryptor = CTRGladman.extend({\n\t processBlock: function (words, offset) {\n\t // Shortcuts\n\t var cipher = this._cipher\n\t var blockSize = cipher.blockSize;\n\t var iv = this._iv;\n\t var counter = this._counter;\n\n\t // Generate keystream\n\t if (iv) {\n\t counter = this._counter = iv.slice(0);\n\n\t // Remove IV for subsequent blocks\n\t this._iv = undefined;\n\t }\n\n\t\t\t\tincCounter(counter);\n\n\t\t\t\tvar keystream = counter.slice(0);\n\t cipher.encryptBlock(keystream, 0);\n\n\t // Encrypt\n\t for (var i = 0; i < blockSize; i++) {\n\t words[offset + i] ^= keystream[i];\n\t }\n\t }\n\t });\n\n\t CTRGladman.Decryptor = Encryptor;\n\n\t return CTRGladman;\n\t}());\n\n\n\n\n\treturn CryptoJS.mode.CTRGladman;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/**\n\t * Counter block mode.\n\t */\n\tCryptoJS.mode.CTR = (function () {\n\t var CTR = CryptoJS.lib.BlockCipherMode.extend();\n\n\t var Encryptor = CTR.Encryptor = CTR.extend({\n\t processBlock: function (words, offset) {\n\t // Shortcuts\n\t var cipher = this._cipher\n\t var blockSize = cipher.blockSize;\n\t var iv = this._iv;\n\t var counter = this._counter;\n\n\t // Generate keystream\n\t if (iv) {\n\t counter = this._counter = iv.slice(0);\n\n\t // Remove IV for subsequent blocks\n\t this._iv = undefined;\n\t }\n\t var keystream = counter.slice(0);\n\t cipher.encryptBlock(keystream, 0);\n\n\t // Increment counter\n\t counter[blockSize - 1] = (counter[blockSize - 1] + 1) | 0\n\n\t // Encrypt\n\t for (var i = 0; i < blockSize; i++) {\n\t words[offset + i] ^= keystream[i];\n\t }\n\t }\n\t });\n\n\t CTR.Decryptor = Encryptor;\n\n\t return CTR;\n\t}());\n\n\n\treturn CryptoJS.mode.CTR;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/**\n\t * Electronic Codebook block mode.\n\t */\n\tCryptoJS.mode.ECB = (function () {\n\t var ECB = CryptoJS.lib.BlockCipherMode.extend();\n\n\t ECB.Encryptor = ECB.extend({\n\t processBlock: function (words, offset) {\n\t this._cipher.encryptBlock(words, offset);\n\t }\n\t });\n\n\t ECB.Decryptor = ECB.extend({\n\t processBlock: function (words, offset) {\n\t this._cipher.decryptBlock(words, offset);\n\t }\n\t });\n\n\t return ECB;\n\t}());\n\n\n\treturn CryptoJS.mode.ECB;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/**\n\t * Output Feedback block mode.\n\t */\n\tCryptoJS.mode.OFB = (function () {\n\t var OFB = CryptoJS.lib.BlockCipherMode.extend();\n\n\t var Encryptor = OFB.Encryptor = OFB.extend({\n\t processBlock: function (words, offset) {\n\t // Shortcuts\n\t var cipher = this._cipher\n\t var blockSize = cipher.blockSize;\n\t var iv = this._iv;\n\t var keystream = this._keystream;\n\n\t // Generate keystream\n\t if (iv) {\n\t keystream = this._keystream = iv.slice(0);\n\n\t // Remove IV for subsequent blocks\n\t this._iv = undefined;\n\t }\n\t cipher.encryptBlock(keystream, 0);\n\n\t // Encrypt\n\t for (var i = 0; i < blockSize; i++) {\n\t words[offset + i] ^= keystream[i];\n\t }\n\t }\n\t });\n\n\t OFB.Decryptor = Encryptor;\n\n\t return OFB;\n\t}());\n\n\n\treturn CryptoJS.mode.OFB;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/**\n\t * ANSI X.923 padding strategy.\n\t */\n\tCryptoJS.pad.AnsiX923 = {\n\t pad: function (data, blockSize) {\n\t // Shortcuts\n\t var dataSigBytes = data.sigBytes;\n\t var blockSizeBytes = blockSize * 4;\n\n\t // Count padding bytes\n\t var nPaddingBytes = blockSizeBytes - dataSigBytes % blockSizeBytes;\n\n\t // Compute last byte position\n\t var lastBytePos = dataSigBytes + nPaddingBytes - 1;\n\n\t // Pad\n\t data.clamp();\n\t data.words[lastBytePos >>> 2] |= nPaddingBytes << (24 - (lastBytePos % 4) * 8);\n\t data.sigBytes += nPaddingBytes;\n\t },\n\n\t unpad: function (data) {\n\t // Get number of padding bytes from last byte\n\t var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff;\n\n\t // Remove padding\n\t data.sigBytes -= nPaddingBytes;\n\t }\n\t};\n\n\n\treturn CryptoJS.pad.Ansix923;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/**\n\t * ISO 10126 padding strategy.\n\t */\n\tCryptoJS.pad.Iso10126 = {\n\t pad: function (data, blockSize) {\n\t // Shortcut\n\t var blockSizeBytes = blockSize * 4;\n\n\t // Count padding bytes\n\t var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes;\n\n\t // Pad\n\t data.concat(CryptoJS.lib.WordArray.random(nPaddingBytes - 1)).\n\t concat(CryptoJS.lib.WordArray.create([nPaddingBytes << 24], 1));\n\t },\n\n\t unpad: function (data) {\n\t // Get number of padding bytes from last byte\n\t var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff;\n\n\t // Remove padding\n\t data.sigBytes -= nPaddingBytes;\n\t }\n\t};\n\n\n\treturn CryptoJS.pad.Iso10126;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/**\n\t * ISO/IEC 9797-1 Padding Method 2.\n\t */\n\tCryptoJS.pad.Iso97971 = {\n\t pad: function (data, blockSize) {\n\t // Add 0x80 byte\n\t data.concat(CryptoJS.lib.WordArray.create([0x80000000], 1));\n\n\t // Zero pad the rest\n\t CryptoJS.pad.ZeroPadding.pad(data, blockSize);\n\t },\n\n\t unpad: function (data) {\n\t // Remove zero padding\n\t CryptoJS.pad.ZeroPadding.unpad(data);\n\n\t // Remove one more byte -- the 0x80 byte\n\t data.sigBytes--;\n\t }\n\t};\n\n\n\treturn CryptoJS.pad.Iso97971;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/**\n\t * A noop padding strategy.\n\t */\n\tCryptoJS.pad.NoPadding = {\n\t pad: function () {\n\t },\n\n\t unpad: function () {\n\t }\n\t};\n\n\n\treturn CryptoJS.pad.NoPadding;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/**\n\t * Zero padding strategy.\n\t */\n\tCryptoJS.pad.ZeroPadding = {\n\t pad: function (data, blockSize) {\n\t // Shortcut\n\t var blockSizeBytes = blockSize * 4;\n\n\t // Pad\n\t data.clamp();\n\t data.sigBytes += blockSizeBytes - ((data.sigBytes % blockSizeBytes) || blockSizeBytes);\n\t },\n\n\t unpad: function (data) {\n\t // Shortcut\n\t var dataWords = data.words;\n\n\t // Unpad\n\t var i = data.sigBytes - 1;\n\t for (var i = data.sigBytes - 1; i >= 0; i--) {\n\t if (((dataWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff)) {\n\t data.sigBytes = i + 1;\n\t break;\n\t }\n\t }\n\t }\n\t};\n\n\n\treturn CryptoJS.pad.ZeroPadding;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./sha1\"), require(\"./hmac\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./sha1\", \"./hmac\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var Base = C_lib.Base;\n\t var WordArray = C_lib.WordArray;\n\t var C_algo = C.algo;\n\t var SHA1 = C_algo.SHA1;\n\t var HMAC = C_algo.HMAC;\n\n\t /**\n\t * Password-Based Key Derivation Function 2 algorithm.\n\t */\n\t var PBKDF2 = C_algo.PBKDF2 = Base.extend({\n\t /**\n\t * Configuration options.\n\t *\n\t * @property {number} keySize The key size in words to generate. Default: 4 (128 bits)\n\t * @property {Hasher} hasher The hasher to use. Default: SHA1\n\t * @property {number} iterations The number of iterations to perform. Default: 1\n\t */\n\t cfg: Base.extend({\n\t keySize: 128/32,\n\t hasher: SHA1,\n\t iterations: 1\n\t }),\n\n\t /**\n\t * Initializes a newly created key derivation function.\n\t *\n\t * @param {Object} cfg (Optional) The configuration options to use for the derivation.\n\t *\n\t * @example\n\t *\n\t * var kdf = CryptoJS.algo.PBKDF2.create();\n\t * var kdf = CryptoJS.algo.PBKDF2.create({ keySize: 8 });\n\t * var kdf = CryptoJS.algo.PBKDF2.create({ keySize: 8, iterations: 1000 });\n\t */\n\t init: function (cfg) {\n\t this.cfg = this.cfg.extend(cfg);\n\t },\n\n\t /**\n\t * Computes the Password-Based Key Derivation Function 2.\n\t *\n\t * @param {WordArray|string} password The password.\n\t * @param {WordArray|string} salt A salt.\n\t *\n\t * @return {WordArray} The derived key.\n\t *\n\t * @example\n\t *\n\t * var key = kdf.compute(password, salt);\n\t */\n\t compute: function (password, salt) {\n\t // Shortcut\n\t var cfg = this.cfg;\n\n\t // Init HMAC\n\t var hmac = HMAC.create(cfg.hasher, password);\n\n\t // Initial values\n\t var derivedKey = WordArray.create();\n\t var blockIndex = WordArray.create([0x00000001]);\n\n\t // Shortcuts\n\t var derivedKeyWords = derivedKey.words;\n\t var blockIndexWords = blockIndex.words;\n\t var keySize = cfg.keySize;\n\t var iterations = cfg.iterations;\n\n\t // Generate key\n\t while (derivedKeyWords.length < keySize) {\n\t var block = hmac.update(salt).finalize(blockIndex);\n\t hmac.reset();\n\n\t // Shortcuts\n\t var blockWords = block.words;\n\t var blockWordsLength = blockWords.length;\n\n\t // Iterations\n\t var intermediate = block;\n\t for (var i = 1; i < iterations; i++) {\n\t intermediate = hmac.finalize(intermediate);\n\t hmac.reset();\n\n\t // Shortcut\n\t var intermediateWords = intermediate.words;\n\n\t // XOR intermediate with block\n\t for (var j = 0; j < blockWordsLength; j++) {\n\t blockWords[j] ^= intermediateWords[j];\n\t }\n\t }\n\n\t derivedKey.concat(block);\n\t blockIndexWords[0]++;\n\t }\n\t derivedKey.sigBytes = keySize * 4;\n\n\t return derivedKey;\n\t }\n\t });\n\n\t /**\n\t * Computes the Password-Based Key Derivation Function 2.\n\t *\n\t * @param {WordArray|string} password The password.\n\t * @param {WordArray|string} salt A salt.\n\t * @param {Object} cfg (Optional) The configuration options to use for this computation.\n\t *\n\t * @return {WordArray} The derived key.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var key = CryptoJS.PBKDF2(password, salt);\n\t * var key = CryptoJS.PBKDF2(password, salt, { keySize: 8 });\n\t * var key = CryptoJS.PBKDF2(password, salt, { keySize: 8, iterations: 1000 });\n\t */\n\t C.PBKDF2 = function (password, salt, cfg) {\n\t return PBKDF2.create(cfg).compute(password, salt);\n\t };\n\t}());\n\n\n\treturn CryptoJS.PBKDF2;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./enc-base64\"), require(\"./md5\"), require(\"./evpkdf\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./enc-base64\", \"./md5\", \"./evpkdf\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var StreamCipher = C_lib.StreamCipher;\n\t var C_algo = C.algo;\n\n\t // Reusable objects\n\t var S = [];\n\t var C_ = [];\n\t var G = [];\n\n\t /**\n\t * Rabbit stream cipher algorithm.\n\t *\n\t * This is a legacy version that neglected to convert the key to little-endian.\n\t * This error doesn't affect the cipher's security,\n\t * but it does affect its compatibility with other implementations.\n\t */\n\t var RabbitLegacy = C_algo.RabbitLegacy = StreamCipher.extend({\n\t _doReset: function () {\n\t // Shortcuts\n\t var K = this._key.words;\n\t var iv = this.cfg.iv;\n\n\t // Generate initial state values\n\t var X = this._X = [\n\t K[0], (K[3] << 16) | (K[2] >>> 16),\n\t K[1], (K[0] << 16) | (K[3] >>> 16),\n\t K[2], (K[1] << 16) | (K[0] >>> 16),\n\t K[3], (K[2] << 16) | (K[1] >>> 16)\n\t ];\n\n\t // Generate initial counter values\n\t var C = this._C = [\n\t (K[2] << 16) | (K[2] >>> 16), (K[0] & 0xffff0000) | (K[1] & 0x0000ffff),\n\t (K[3] << 16) | (K[3] >>> 16), (K[1] & 0xffff0000) | (K[2] & 0x0000ffff),\n\t (K[0] << 16) | (K[0] >>> 16), (K[2] & 0xffff0000) | (K[3] & 0x0000ffff),\n\t (K[1] << 16) | (K[1] >>> 16), (K[3] & 0xffff0000) | (K[0] & 0x0000ffff)\n\t ];\n\n\t // Carry bit\n\t this._b = 0;\n\n\t // Iterate the system four times\n\t for (var i = 0; i < 4; i++) {\n\t nextState.call(this);\n\t }\n\n\t // Modify the counters\n\t for (var i = 0; i < 8; i++) {\n\t C[i] ^= X[(i + 4) & 7];\n\t }\n\n\t // IV setup\n\t if (iv) {\n\t // Shortcuts\n\t var IV = iv.words;\n\t var IV_0 = IV[0];\n\t var IV_1 = IV[1];\n\n\t // Generate four subvectors\n\t var i0 = (((IV_0 << 8) | (IV_0 >>> 24)) & 0x00ff00ff) | (((IV_0 << 24) | (IV_0 >>> 8)) & 0xff00ff00);\n\t var i2 = (((IV_1 << 8) | (IV_1 >>> 24)) & 0x00ff00ff) | (((IV_1 << 24) | (IV_1 >>> 8)) & 0xff00ff00);\n\t var i1 = (i0 >>> 16) | (i2 & 0xffff0000);\n\t var i3 = (i2 << 16) | (i0 & 0x0000ffff);\n\n\t // Modify counter values\n\t C[0] ^= i0;\n\t C[1] ^= i1;\n\t C[2] ^= i2;\n\t C[3] ^= i3;\n\t C[4] ^= i0;\n\t C[5] ^= i1;\n\t C[6] ^= i2;\n\t C[7] ^= i3;\n\n\t // Iterate the system four times\n\t for (var i = 0; i < 4; i++) {\n\t nextState.call(this);\n\t }\n\t }\n\t },\n\n\t _doProcessBlock: function (M, offset) {\n\t // Shortcut\n\t var X = this._X;\n\n\t // Iterate the system\n\t nextState.call(this);\n\n\t // Generate four keystream words\n\t S[0] = X[0] ^ (X[5] >>> 16) ^ (X[3] << 16);\n\t S[1] = X[2] ^ (X[7] >>> 16) ^ (X[5] << 16);\n\t S[2] = X[4] ^ (X[1] >>> 16) ^ (X[7] << 16);\n\t S[3] = X[6] ^ (X[3] >>> 16) ^ (X[1] << 16);\n\n\t for (var i = 0; i < 4; i++) {\n\t // Swap endian\n\t S[i] = (((S[i] << 8) | (S[i] >>> 24)) & 0x00ff00ff) |\n\t (((S[i] << 24) | (S[i] >>> 8)) & 0xff00ff00);\n\n\t // Encrypt\n\t M[offset + i] ^= S[i];\n\t }\n\t },\n\n\t blockSize: 128/32,\n\n\t ivSize: 64/32\n\t });\n\n\t function nextState() {\n\t // Shortcuts\n\t var X = this._X;\n\t var C = this._C;\n\n\t // Save old counter values\n\t for (var i = 0; i < 8; i++) {\n\t C_[i] = C[i];\n\t }\n\n\t // Calculate new counter values\n\t C[0] = (C[0] + 0x4d34d34d + this._b) | 0;\n\t C[1] = (C[1] + 0xd34d34d3 + ((C[0] >>> 0) < (C_[0] >>> 0) ? 1 : 0)) | 0;\n\t C[2] = (C[2] + 0x34d34d34 + ((C[1] >>> 0) < (C_[1] >>> 0) ? 1 : 0)) | 0;\n\t C[3] = (C[3] + 0x4d34d34d + ((C[2] >>> 0) < (C_[2] >>> 0) ? 1 : 0)) | 0;\n\t C[4] = (C[4] + 0xd34d34d3 + ((C[3] >>> 0) < (C_[3] >>> 0) ? 1 : 0)) | 0;\n\t C[5] = (C[5] + 0x34d34d34 + ((C[4] >>> 0) < (C_[4] >>> 0) ? 1 : 0)) | 0;\n\t C[6] = (C[6] + 0x4d34d34d + ((C[5] >>> 0) < (C_[5] >>> 0) ? 1 : 0)) | 0;\n\t C[7] = (C[7] + 0xd34d34d3 + ((C[6] >>> 0) < (C_[6] >>> 0) ? 1 : 0)) | 0;\n\t this._b = (C[7] >>> 0) < (C_[7] >>> 0) ? 1 : 0;\n\n\t // Calculate the g-values\n\t for (var i = 0; i < 8; i++) {\n\t var gx = X[i] + C[i];\n\n\t // Construct high and low argument for squaring\n\t var ga = gx & 0xffff;\n\t var gb = gx >>> 16;\n\n\t // Calculate high and low result of squaring\n\t var gh = ((((ga * ga) >>> 17) + ga * gb) >>> 15) + gb * gb;\n\t var gl = (((gx & 0xffff0000) * gx) | 0) + (((gx & 0x0000ffff) * gx) | 0);\n\n\t // High XOR low\n\t G[i] = gh ^ gl;\n\t }\n\n\t // Calculate new state values\n\t X[0] = (G[0] + ((G[7] << 16) | (G[7] >>> 16)) + ((G[6] << 16) | (G[6] >>> 16))) | 0;\n\t X[1] = (G[1] + ((G[0] << 8) | (G[0] >>> 24)) + G[7]) | 0;\n\t X[2] = (G[2] + ((G[1] << 16) | (G[1] >>> 16)) + ((G[0] << 16) | (G[0] >>> 16))) | 0;\n\t X[3] = (G[3] + ((G[2] << 8) | (G[2] >>> 24)) + G[1]) | 0;\n\t X[4] = (G[4] + ((G[3] << 16) | (G[3] >>> 16)) + ((G[2] << 16) | (G[2] >>> 16))) | 0;\n\t X[5] = (G[5] + ((G[4] << 8) | (G[4] >>> 24)) + G[3]) | 0;\n\t X[6] = (G[6] + ((G[5] << 16) | (G[5] >>> 16)) + ((G[4] << 16) | (G[4] >>> 16))) | 0;\n\t X[7] = (G[7] + ((G[6] << 8) | (G[6] >>> 24)) + G[5]) | 0;\n\t }\n\n\t /**\n\t * Shortcut functions to the cipher's object interface.\n\t *\n\t * @example\n\t *\n\t * var ciphertext = CryptoJS.RabbitLegacy.encrypt(message, key, cfg);\n\t * var plaintext = CryptoJS.RabbitLegacy.decrypt(ciphertext, key, cfg);\n\t */\n\t C.RabbitLegacy = StreamCipher._createHelper(RabbitLegacy);\n\t}());\n\n\n\treturn CryptoJS.RabbitLegacy;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./enc-base64\"), require(\"./md5\"), require(\"./evpkdf\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./enc-base64\", \"./md5\", \"./evpkdf\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var StreamCipher = C_lib.StreamCipher;\n\t var C_algo = C.algo;\n\n\t // Reusable objects\n\t var S = [];\n\t var C_ = [];\n\t var G = [];\n\n\t /**\n\t * Rabbit stream cipher algorithm\n\t */\n\t var Rabbit = C_algo.Rabbit = StreamCipher.extend({\n\t _doReset: function () {\n\t // Shortcuts\n\t var K = this._key.words;\n\t var iv = this.cfg.iv;\n\n\t // Swap endian\n\t for (var i = 0; i < 4; i++) {\n\t K[i] = (((K[i] << 8) | (K[i] >>> 24)) & 0x00ff00ff) |\n\t (((K[i] << 24) | (K[i] >>> 8)) & 0xff00ff00);\n\t }\n\n\t // Generate initial state values\n\t var X = this._X = [\n\t K[0], (K[3] << 16) | (K[2] >>> 16),\n\t K[1], (K[0] << 16) | (K[3] >>> 16),\n\t K[2], (K[1] << 16) | (K[0] >>> 16),\n\t K[3], (K[2] << 16) | (K[1] >>> 16)\n\t ];\n\n\t // Generate initial counter values\n\t var C = this._C = [\n\t (K[2] << 16) | (K[2] >>> 16), (K[0] & 0xffff0000) | (K[1] & 0x0000ffff),\n\t (K[3] << 16) | (K[3] >>> 16), (K[1] & 0xffff0000) | (K[2] & 0x0000ffff),\n\t (K[0] << 16) | (K[0] >>> 16), (K[2] & 0xffff0000) | (K[3] & 0x0000ffff),\n\t (K[1] << 16) | (K[1] >>> 16), (K[3] & 0xffff0000) | (K[0] & 0x0000ffff)\n\t ];\n\n\t // Carry bit\n\t this._b = 0;\n\n\t // Iterate the system four times\n\t for (var i = 0; i < 4; i++) {\n\t nextState.call(this);\n\t }\n\n\t // Modify the counters\n\t for (var i = 0; i < 8; i++) {\n\t C[i] ^= X[(i + 4) & 7];\n\t }\n\n\t // IV setup\n\t if (iv) {\n\t // Shortcuts\n\t var IV = iv.words;\n\t var IV_0 = IV[0];\n\t var IV_1 = IV[1];\n\n\t // Generate four subvectors\n\t var i0 = (((IV_0 << 8) | (IV_0 >>> 24)) & 0x00ff00ff) | (((IV_0 << 24) | (IV_0 >>> 8)) & 0xff00ff00);\n\t var i2 = (((IV_1 << 8) | (IV_1 >>> 24)) & 0x00ff00ff) | (((IV_1 << 24) | (IV_1 >>> 8)) & 0xff00ff00);\n\t var i1 = (i0 >>> 16) | (i2 & 0xffff0000);\n\t var i3 = (i2 << 16) | (i0 & 0x0000ffff);\n\n\t // Modify counter values\n\t C[0] ^= i0;\n\t C[1] ^= i1;\n\t C[2] ^= i2;\n\t C[3] ^= i3;\n\t C[4] ^= i0;\n\t C[5] ^= i1;\n\t C[6] ^= i2;\n\t C[7] ^= i3;\n\n\t // Iterate the system four times\n\t for (var i = 0; i < 4; i++) {\n\t nextState.call(this);\n\t }\n\t }\n\t },\n\n\t _doProcessBlock: function (M, offset) {\n\t // Shortcut\n\t var X = this._X;\n\n\t // Iterate the system\n\t nextState.call(this);\n\n\t // Generate four keystream words\n\t S[0] = X[0] ^ (X[5] >>> 16) ^ (X[3] << 16);\n\t S[1] = X[2] ^ (X[7] >>> 16) ^ (X[5] << 16);\n\t S[2] = X[4] ^ (X[1] >>> 16) ^ (X[7] << 16);\n\t S[3] = X[6] ^ (X[3] >>> 16) ^ (X[1] << 16);\n\n\t for (var i = 0; i < 4; i++) {\n\t // Swap endian\n\t S[i] = (((S[i] << 8) | (S[i] >>> 24)) & 0x00ff00ff) |\n\t (((S[i] << 24) | (S[i] >>> 8)) & 0xff00ff00);\n\n\t // Encrypt\n\t M[offset + i] ^= S[i];\n\t }\n\t },\n\n\t blockSize: 128/32,\n\n\t ivSize: 64/32\n\t });\n\n\t function nextState() {\n\t // Shortcuts\n\t var X = this._X;\n\t var C = this._C;\n\n\t // Save old counter values\n\t for (var i = 0; i < 8; i++) {\n\t C_[i] = C[i];\n\t }\n\n\t // Calculate new counter values\n\t C[0] = (C[0] + 0x4d34d34d + this._b) | 0;\n\t C[1] = (C[1] + 0xd34d34d3 + ((C[0] >>> 0) < (C_[0] >>> 0) ? 1 : 0)) | 0;\n\t C[2] = (C[2] + 0x34d34d34 + ((C[1] >>> 0) < (C_[1] >>> 0) ? 1 : 0)) | 0;\n\t C[3] = (C[3] + 0x4d34d34d + ((C[2] >>> 0) < (C_[2] >>> 0) ? 1 : 0)) | 0;\n\t C[4] = (C[4] + 0xd34d34d3 + ((C[3] >>> 0) < (C_[3] >>> 0) ? 1 : 0)) | 0;\n\t C[5] = (C[5] + 0x34d34d34 + ((C[4] >>> 0) < (C_[4] >>> 0) ? 1 : 0)) | 0;\n\t C[6] = (C[6] + 0x4d34d34d + ((C[5] >>> 0) < (C_[5] >>> 0) ? 1 : 0)) | 0;\n\t C[7] = (C[7] + 0xd34d34d3 + ((C[6] >>> 0) < (C_[6] >>> 0) ? 1 : 0)) | 0;\n\t this._b = (C[7] >>> 0) < (C_[7] >>> 0) ? 1 : 0;\n\n\t // Calculate the g-values\n\t for (var i = 0; i < 8; i++) {\n\t var gx = X[i] + C[i];\n\n\t // Construct high and low argument for squaring\n\t var ga = gx & 0xffff;\n\t var gb = gx >>> 16;\n\n\t // Calculate high and low result of squaring\n\t var gh = ((((ga * ga) >>> 17) + ga * gb) >>> 15) + gb * gb;\n\t var gl = (((gx & 0xffff0000) * gx) | 0) + (((gx & 0x0000ffff) * gx) | 0);\n\n\t // High XOR low\n\t G[i] = gh ^ gl;\n\t }\n\n\t // Calculate new state values\n\t X[0] = (G[0] + ((G[7] << 16) | (G[7] >>> 16)) + ((G[6] << 16) | (G[6] >>> 16))) | 0;\n\t X[1] = (G[1] + ((G[0] << 8) | (G[0] >>> 24)) + G[7]) | 0;\n\t X[2] = (G[2] + ((G[1] << 16) | (G[1] >>> 16)) + ((G[0] << 16) | (G[0] >>> 16))) | 0;\n\t X[3] = (G[3] + ((G[2] << 8) | (G[2] >>> 24)) + G[1]) | 0;\n\t X[4] = (G[4] + ((G[3] << 16) | (G[3] >>> 16)) + ((G[2] << 16) | (G[2] >>> 16))) | 0;\n\t X[5] = (G[5] + ((G[4] << 8) | (G[4] >>> 24)) + G[3]) | 0;\n\t X[6] = (G[6] + ((G[5] << 16) | (G[5] >>> 16)) + ((G[4] << 16) | (G[4] >>> 16))) | 0;\n\t X[7] = (G[7] + ((G[6] << 8) | (G[6] >>> 24)) + G[5]) | 0;\n\t }\n\n\t /**\n\t * Shortcut functions to the cipher's object interface.\n\t *\n\t * @example\n\t *\n\t * var ciphertext = CryptoJS.Rabbit.encrypt(message, key, cfg);\n\t * var plaintext = CryptoJS.Rabbit.decrypt(ciphertext, key, cfg);\n\t */\n\t C.Rabbit = StreamCipher._createHelper(Rabbit);\n\t}());\n\n\n\treturn CryptoJS.Rabbit;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./enc-base64\"), require(\"./md5\"), require(\"./evpkdf\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./enc-base64\", \"./md5\", \"./evpkdf\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var StreamCipher = C_lib.StreamCipher;\n\t var C_algo = C.algo;\n\n\t /**\n\t * RC4 stream cipher algorithm.\n\t */\n\t var RC4 = C_algo.RC4 = StreamCipher.extend({\n\t _doReset: function () {\n\t // Shortcuts\n\t var key = this._key;\n\t var keyWords = key.words;\n\t var keySigBytes = key.sigBytes;\n\n\t // Init sbox\n\t var S = this._S = [];\n\t for (var i = 0; i < 256; i++) {\n\t S[i] = i;\n\t }\n\n\t // Key setup\n\t for (var i = 0, j = 0; i < 256; i++) {\n\t var keyByteIndex = i % keySigBytes;\n\t var keyByte = (keyWords[keyByteIndex >>> 2] >>> (24 - (keyByteIndex % 4) * 8)) & 0xff;\n\n\t j = (j + S[i] + keyByte) % 256;\n\n\t // Swap\n\t var t = S[i];\n\t S[i] = S[j];\n\t S[j] = t;\n\t }\n\n\t // Counters\n\t this._i = this._j = 0;\n\t },\n\n\t _doProcessBlock: function (M, offset) {\n\t M[offset] ^= generateKeystreamWord.call(this);\n\t },\n\n\t keySize: 256/32,\n\n\t ivSize: 0\n\t });\n\n\t function generateKeystreamWord() {\n\t // Shortcuts\n\t var S = this._S;\n\t var i = this._i;\n\t var j = this._j;\n\n\t // Generate keystream word\n\t var keystreamWord = 0;\n\t for (var n = 0; n < 4; n++) {\n\t i = (i + 1) % 256;\n\t j = (j + S[i]) % 256;\n\n\t // Swap\n\t var t = S[i];\n\t S[i] = S[j];\n\t S[j] = t;\n\n\t keystreamWord |= S[(S[i] + S[j]) % 256] << (24 - n * 8);\n\t }\n\n\t // Update counters\n\t this._i = i;\n\t this._j = j;\n\n\t return keystreamWord;\n\t }\n\n\t /**\n\t * Shortcut functions to the cipher's object interface.\n\t *\n\t * @example\n\t *\n\t * var ciphertext = CryptoJS.RC4.encrypt(message, key, cfg);\n\t * var plaintext = CryptoJS.RC4.decrypt(ciphertext, key, cfg);\n\t */\n\t C.RC4 = StreamCipher._createHelper(RC4);\n\n\t /**\n\t * Modified RC4 stream cipher algorithm.\n\t */\n\t var RC4Drop = C_algo.RC4Drop = RC4.extend({\n\t /**\n\t * Configuration options.\n\t *\n\t * @property {number} drop The number of keystream words to drop. Default 192\n\t */\n\t cfg: RC4.cfg.extend({\n\t drop: 192\n\t }),\n\n\t _doReset: function () {\n\t RC4._doReset.call(this);\n\n\t // Drop\n\t for (var i = this.cfg.drop; i > 0; i--) {\n\t generateKeystreamWord.call(this);\n\t }\n\t }\n\t });\n\n\t /**\n\t * Shortcut functions to the cipher's object interface.\n\t *\n\t * @example\n\t *\n\t * var ciphertext = CryptoJS.RC4Drop.encrypt(message, key, cfg);\n\t * var plaintext = CryptoJS.RC4Drop.decrypt(ciphertext, key, cfg);\n\t */\n\t C.RC4Drop = StreamCipher._createHelper(RC4Drop);\n\t}());\n\n\n\treturn CryptoJS.RC4;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/** @preserve\n\t(c) 2012 by Cédric Mesnil. All rights reserved.\n\n\tRedistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\n\n\t - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n\t - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n\n\tTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\t*/\n\n\t(function (Math) {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var Hasher = C_lib.Hasher;\n\t var C_algo = C.algo;\n\n\t // Constants table\n\t var _zl = WordArray.create([\n\t 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n\t 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,\n\t 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,\n\t 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,\n\t 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13]);\n\t var _zr = WordArray.create([\n\t 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,\n\t 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,\n\t 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,\n\t 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,\n\t 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11]);\n\t var _sl = WordArray.create([\n\t 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,\n\t 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,\n\t 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,\n\t 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,\n\t 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6 ]);\n\t var _sr = WordArray.create([\n\t 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,\n\t 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,\n\t 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,\n\t 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,\n\t 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11 ]);\n\n\t var _hl = WordArray.create([ 0x00000000, 0x5A827999, 0x6ED9EBA1, 0x8F1BBCDC, 0xA953FD4E]);\n\t var _hr = WordArray.create([ 0x50A28BE6, 0x5C4DD124, 0x6D703EF3, 0x7A6D76E9, 0x00000000]);\n\n\t /**\n\t * RIPEMD160 hash algorithm.\n\t */\n\t var RIPEMD160 = C_algo.RIPEMD160 = Hasher.extend({\n\t _doReset: function () {\n\t this._hash = WordArray.create([0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0]);\n\t },\n\n\t _doProcessBlock: function (M, offset) {\n\n\t // Swap endian\n\t for (var i = 0; i < 16; i++) {\n\t // Shortcuts\n\t var offset_i = offset + i;\n\t var M_offset_i = M[offset_i];\n\n\t // Swap\n\t M[offset_i] = (\n\t (((M_offset_i << 8) | (M_offset_i >>> 24)) & 0x00ff00ff) |\n\t (((M_offset_i << 24) | (M_offset_i >>> 8)) & 0xff00ff00)\n\t );\n\t }\n\t // Shortcut\n\t var H = this._hash.words;\n\t var hl = _hl.words;\n\t var hr = _hr.words;\n\t var zl = _zl.words;\n\t var zr = _zr.words;\n\t var sl = _sl.words;\n\t var sr = _sr.words;\n\n\t // Working variables\n\t var al, bl, cl, dl, el;\n\t var ar, br, cr, dr, er;\n\n\t ar = al = H[0];\n\t br = bl = H[1];\n\t cr = cl = H[2];\n\t dr = dl = H[3];\n\t er = el = H[4];\n\t // Computation\n\t var t;\n\t for (var i = 0; i < 80; i += 1) {\n\t t = (al + M[offset+zl[i]])|0;\n\t if (i<16){\n\t\t t += f1(bl,cl,dl) + hl[0];\n\t } else if (i<32) {\n\t\t t += f2(bl,cl,dl) + hl[1];\n\t } else if (i<48) {\n\t\t t += f3(bl,cl,dl) + hl[2];\n\t } else if (i<64) {\n\t\t t += f4(bl,cl,dl) + hl[3];\n\t } else {// if (i<80) {\n\t\t t += f5(bl,cl,dl) + hl[4];\n\t }\n\t t = t|0;\n\t t = rotl(t,sl[i]);\n\t t = (t+el)|0;\n\t al = el;\n\t el = dl;\n\t dl = rotl(cl, 10);\n\t cl = bl;\n\t bl = t;\n\n\t t = (ar + M[offset+zr[i]])|0;\n\t if (i<16){\n\t\t t += f5(br,cr,dr) + hr[0];\n\t } else if (i<32) {\n\t\t t += f4(br,cr,dr) + hr[1];\n\t } else if (i<48) {\n\t\t t += f3(br,cr,dr) + hr[2];\n\t } else if (i<64) {\n\t\t t += f2(br,cr,dr) + hr[3];\n\t } else {// if (i<80) {\n\t\t t += f1(br,cr,dr) + hr[4];\n\t }\n\t t = t|0;\n\t t = rotl(t,sr[i]) ;\n\t t = (t+er)|0;\n\t ar = er;\n\t er = dr;\n\t dr = rotl(cr, 10);\n\t cr = br;\n\t br = t;\n\t }\n\t // Intermediate hash value\n\t t = (H[1] + cl + dr)|0;\n\t H[1] = (H[2] + dl + er)|0;\n\t H[2] = (H[3] + el + ar)|0;\n\t H[3] = (H[4] + al + br)|0;\n\t H[4] = (H[0] + bl + cr)|0;\n\t H[0] = t;\n\t },\n\n\t _doFinalize: function () {\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\n\t var nBitsTotal = this._nDataBytes * 8;\n\t var nBitsLeft = data.sigBytes * 8;\n\n\t // Add padding\n\t dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = (\n\t (((nBitsTotal << 8) | (nBitsTotal >>> 24)) & 0x00ff00ff) |\n\t (((nBitsTotal << 24) | (nBitsTotal >>> 8)) & 0xff00ff00)\n\t );\n\t data.sigBytes = (dataWords.length + 1) * 4;\n\n\t // Hash final blocks\n\t this._process();\n\n\t // Shortcuts\n\t var hash = this._hash;\n\t var H = hash.words;\n\n\t // Swap endian\n\t for (var i = 0; i < 5; i++) {\n\t // Shortcut\n\t var H_i = H[i];\n\n\t // Swap\n\t H[i] = (((H_i << 8) | (H_i >>> 24)) & 0x00ff00ff) |\n\t (((H_i << 24) | (H_i >>> 8)) & 0xff00ff00);\n\t }\n\n\t // Return final computed hash\n\t return hash;\n\t },\n\n\t clone: function () {\n\t var clone = Hasher.clone.call(this);\n\t clone._hash = this._hash.clone();\n\n\t return clone;\n\t }\n\t });\n\n\n\t function f1(x, y, z) {\n\t return ((x) ^ (y) ^ (z));\n\n\t }\n\n\t function f2(x, y, z) {\n\t return (((x)&(y)) | ((~x)&(z)));\n\t }\n\n\t function f3(x, y, z) {\n\t return (((x) | (~(y))) ^ (z));\n\t }\n\n\t function f4(x, y, z) {\n\t return (((x) & (z)) | ((y)&(~(z))));\n\t }\n\n\t function f5(x, y, z) {\n\t return ((x) ^ ((y) |(~(z))));\n\n\t }\n\n\t function rotl(x,n) {\n\t return (x<>>(32-n));\n\t }\n\n\n\t /**\n\t * Shortcut function to the hasher's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hash = CryptoJS.RIPEMD160('message');\n\t * var hash = CryptoJS.RIPEMD160(wordArray);\n\t */\n\t C.RIPEMD160 = Hasher._createHelper(RIPEMD160);\n\n\t /**\n\t * Shortcut function to the HMAC's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hmac = CryptoJS.HmacRIPEMD160(message, key);\n\t */\n\t C.HmacRIPEMD160 = Hasher._createHmacHelper(RIPEMD160);\n\t}(Math));\n\n\n\treturn CryptoJS.RIPEMD160;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var Hasher = C_lib.Hasher;\n\t var C_algo = C.algo;\n\n\t // Reusable object\n\t var W = [];\n\n\t /**\n\t * SHA-1 hash algorithm.\n\t */\n\t var SHA1 = C_algo.SHA1 = Hasher.extend({\n\t _doReset: function () {\n\t this._hash = new WordArray.init([\n\t 0x67452301, 0xefcdab89,\n\t 0x98badcfe, 0x10325476,\n\t 0xc3d2e1f0\n\t ]);\n\t },\n\n\t _doProcessBlock: function (M, offset) {\n\t // Shortcut\n\t var H = this._hash.words;\n\n\t // Working variables\n\t var a = H[0];\n\t var b = H[1];\n\t var c = H[2];\n\t var d = H[3];\n\t var e = H[4];\n\n\t // Computation\n\t for (var i = 0; i < 80; i++) {\n\t if (i < 16) {\n\t W[i] = M[offset + i] | 0;\n\t } else {\n\t var n = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16];\n\t W[i] = (n << 1) | (n >>> 31);\n\t }\n\n\t var t = ((a << 5) | (a >>> 27)) + e + W[i];\n\t if (i < 20) {\n\t t += ((b & c) | (~b & d)) + 0x5a827999;\n\t } else if (i < 40) {\n\t t += (b ^ c ^ d) + 0x6ed9eba1;\n\t } else if (i < 60) {\n\t t += ((b & c) | (b & d) | (c & d)) - 0x70e44324;\n\t } else /* if (i < 80) */ {\n\t t += (b ^ c ^ d) - 0x359d3e2a;\n\t }\n\n\t e = d;\n\t d = c;\n\t c = (b << 30) | (b >>> 2);\n\t b = a;\n\t a = t;\n\t }\n\n\t // Intermediate hash value\n\t H[0] = (H[0] + a) | 0;\n\t H[1] = (H[1] + b) | 0;\n\t H[2] = (H[2] + c) | 0;\n\t H[3] = (H[3] + d) | 0;\n\t H[4] = (H[4] + e) | 0;\n\t },\n\n\t _doFinalize: function () {\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\n\t var nBitsTotal = this._nDataBytes * 8;\n\t var nBitsLeft = data.sigBytes * 8;\n\n\t // Add padding\n\t dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000);\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal;\n\t data.sigBytes = dataWords.length * 4;\n\n\t // Hash final blocks\n\t this._process();\n\n\t // Return final computed hash\n\t return this._hash;\n\t },\n\n\t clone: function () {\n\t var clone = Hasher.clone.call(this);\n\t clone._hash = this._hash.clone();\n\n\t return clone;\n\t }\n\t });\n\n\t /**\n\t * Shortcut function to the hasher's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hash = CryptoJS.SHA1('message');\n\t * var hash = CryptoJS.SHA1(wordArray);\n\t */\n\t C.SHA1 = Hasher._createHelper(SHA1);\n\n\t /**\n\t * Shortcut function to the HMAC's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hmac = CryptoJS.HmacSHA1(message, key);\n\t */\n\t C.HmacSHA1 = Hasher._createHmacHelper(SHA1);\n\t}());\n\n\n\treturn CryptoJS.SHA1;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./sha256\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./sha256\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var C_algo = C.algo;\n\t var SHA256 = C_algo.SHA256;\n\n\t /**\n\t * SHA-224 hash algorithm.\n\t */\n\t var SHA224 = C_algo.SHA224 = SHA256.extend({\n\t _doReset: function () {\n\t this._hash = new WordArray.init([\n\t 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939,\n\t 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4\n\t ]);\n\t },\n\n\t _doFinalize: function () {\n\t var hash = SHA256._doFinalize.call(this);\n\n\t hash.sigBytes -= 4;\n\n\t return hash;\n\t }\n\t });\n\n\t /**\n\t * Shortcut function to the hasher's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hash = CryptoJS.SHA224('message');\n\t * var hash = CryptoJS.SHA224(wordArray);\n\t */\n\t C.SHA224 = SHA256._createHelper(SHA224);\n\n\t /**\n\t * Shortcut function to the HMAC's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hmac = CryptoJS.HmacSHA224(message, key);\n\t */\n\t C.HmacSHA224 = SHA256._createHmacHelper(SHA224);\n\t}());\n\n\n\treturn CryptoJS.SHA224;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function (Math) {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var Hasher = C_lib.Hasher;\n\t var C_algo = C.algo;\n\n\t // Initialization and round constants tables\n\t var H = [];\n\t var K = [];\n\n\t // Compute constants\n\t (function () {\n\t function isPrime(n) {\n\t var sqrtN = Math.sqrt(n);\n\t for (var factor = 2; factor <= sqrtN; factor++) {\n\t if (!(n % factor)) {\n\t return false;\n\t }\n\t }\n\n\t return true;\n\t }\n\n\t function getFractionalBits(n) {\n\t return ((n - (n | 0)) * 0x100000000) | 0;\n\t }\n\n\t var n = 2;\n\t var nPrime = 0;\n\t while (nPrime < 64) {\n\t if (isPrime(n)) {\n\t if (nPrime < 8) {\n\t H[nPrime] = getFractionalBits(Math.pow(n, 1 / 2));\n\t }\n\t K[nPrime] = getFractionalBits(Math.pow(n, 1 / 3));\n\n\t nPrime++;\n\t }\n\n\t n++;\n\t }\n\t }());\n\n\t // Reusable object\n\t var W = [];\n\n\t /**\n\t * SHA-256 hash algorithm.\n\t */\n\t var SHA256 = C_algo.SHA256 = Hasher.extend({\n\t _doReset: function () {\n\t this._hash = new WordArray.init(H.slice(0));\n\t },\n\n\t _doProcessBlock: function (M, offset) {\n\t // Shortcut\n\t var H = this._hash.words;\n\n\t // Working variables\n\t var a = H[0];\n\t var b = H[1];\n\t var c = H[2];\n\t var d = H[3];\n\t var e = H[4];\n\t var f = H[5];\n\t var g = H[6];\n\t var h = H[7];\n\n\t // Computation\n\t for (var i = 0; i < 64; i++) {\n\t if (i < 16) {\n\t W[i] = M[offset + i] | 0;\n\t } else {\n\t var gamma0x = W[i - 15];\n\t var gamma0 = ((gamma0x << 25) | (gamma0x >>> 7)) ^\n\t ((gamma0x << 14) | (gamma0x >>> 18)) ^\n\t (gamma0x >>> 3);\n\n\t var gamma1x = W[i - 2];\n\t var gamma1 = ((gamma1x << 15) | (gamma1x >>> 17)) ^\n\t ((gamma1x << 13) | (gamma1x >>> 19)) ^\n\t (gamma1x >>> 10);\n\n\t W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16];\n\t }\n\n\t var ch = (e & f) ^ (~e & g);\n\t var maj = (a & b) ^ (a & c) ^ (b & c);\n\n\t var sigma0 = ((a << 30) | (a >>> 2)) ^ ((a << 19) | (a >>> 13)) ^ ((a << 10) | (a >>> 22));\n\t var sigma1 = ((e << 26) | (e >>> 6)) ^ ((e << 21) | (e >>> 11)) ^ ((e << 7) | (e >>> 25));\n\n\t var t1 = h + sigma1 + ch + K[i] + W[i];\n\t var t2 = sigma0 + maj;\n\n\t h = g;\n\t g = f;\n\t f = e;\n\t e = (d + t1) | 0;\n\t d = c;\n\t c = b;\n\t b = a;\n\t a = (t1 + t2) | 0;\n\t }\n\n\t // Intermediate hash value\n\t H[0] = (H[0] + a) | 0;\n\t H[1] = (H[1] + b) | 0;\n\t H[2] = (H[2] + c) | 0;\n\t H[3] = (H[3] + d) | 0;\n\t H[4] = (H[4] + e) | 0;\n\t H[5] = (H[5] + f) | 0;\n\t H[6] = (H[6] + g) | 0;\n\t H[7] = (H[7] + h) | 0;\n\t },\n\n\t _doFinalize: function () {\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\n\t var nBitsTotal = this._nDataBytes * 8;\n\t var nBitsLeft = data.sigBytes * 8;\n\n\t // Add padding\n\t dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000);\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal;\n\t data.sigBytes = dataWords.length * 4;\n\n\t // Hash final blocks\n\t this._process();\n\n\t // Return final computed hash\n\t return this._hash;\n\t },\n\n\t clone: function () {\n\t var clone = Hasher.clone.call(this);\n\t clone._hash = this._hash.clone();\n\n\t return clone;\n\t }\n\t });\n\n\t /**\n\t * Shortcut function to the hasher's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hash = CryptoJS.SHA256('message');\n\t * var hash = CryptoJS.SHA256(wordArray);\n\t */\n\t C.SHA256 = Hasher._createHelper(SHA256);\n\n\t /**\n\t * Shortcut function to the HMAC's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hmac = CryptoJS.HmacSHA256(message, key);\n\t */\n\t C.HmacSHA256 = Hasher._createHmacHelper(SHA256);\n\t}(Math));\n\n\n\treturn CryptoJS.SHA256;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./x64-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./x64-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function (Math) {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var Hasher = C_lib.Hasher;\n\t var C_x64 = C.x64;\n\t var X64Word = C_x64.Word;\n\t var C_algo = C.algo;\n\n\t // Constants tables\n\t var RHO_OFFSETS = [];\n\t var PI_INDEXES = [];\n\t var ROUND_CONSTANTS = [];\n\n\t // Compute Constants\n\t (function () {\n\t // Compute rho offset constants\n\t var x = 1, y = 0;\n\t for (var t = 0; t < 24; t++) {\n\t RHO_OFFSETS[x + 5 * y] = ((t + 1) * (t + 2) / 2) % 64;\n\n\t var newX = y % 5;\n\t var newY = (2 * x + 3 * y) % 5;\n\t x = newX;\n\t y = newY;\n\t }\n\n\t // Compute pi index constants\n\t for (var x = 0; x < 5; x++) {\n\t for (var y = 0; y < 5; y++) {\n\t PI_INDEXES[x + 5 * y] = y + ((2 * x + 3 * y) % 5) * 5;\n\t }\n\t }\n\n\t // Compute round constants\n\t var LFSR = 0x01;\n\t for (var i = 0; i < 24; i++) {\n\t var roundConstantMsw = 0;\n\t var roundConstantLsw = 0;\n\n\t for (var j = 0; j < 7; j++) {\n\t if (LFSR & 0x01) {\n\t var bitPosition = (1 << j) - 1;\n\t if (bitPosition < 32) {\n\t roundConstantLsw ^= 1 << bitPosition;\n\t } else /* if (bitPosition >= 32) */ {\n\t roundConstantMsw ^= 1 << (bitPosition - 32);\n\t }\n\t }\n\n\t // Compute next LFSR\n\t if (LFSR & 0x80) {\n\t // Primitive polynomial over GF(2): x^8 + x^6 + x^5 + x^4 + 1\n\t LFSR = (LFSR << 1) ^ 0x71;\n\t } else {\n\t LFSR <<= 1;\n\t }\n\t }\n\n\t ROUND_CONSTANTS[i] = X64Word.create(roundConstantMsw, roundConstantLsw);\n\t }\n\t }());\n\n\t // Reusable objects for temporary values\n\t var T = [];\n\t (function () {\n\t for (var i = 0; i < 25; i++) {\n\t T[i] = X64Word.create();\n\t }\n\t }());\n\n\t /**\n\t * SHA-3 hash algorithm.\n\t */\n\t var SHA3 = C_algo.SHA3 = Hasher.extend({\n\t /**\n\t * Configuration options.\n\t *\n\t * @property {number} outputLength\n\t * The desired number of bits in the output hash.\n\t * Only values permitted are: 224, 256, 384, 512.\n\t * Default: 512\n\t */\n\t cfg: Hasher.cfg.extend({\n\t outputLength: 512\n\t }),\n\n\t _doReset: function () {\n\t var state = this._state = []\n\t for (var i = 0; i < 25; i++) {\n\t state[i] = new X64Word.init();\n\t }\n\n\t this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32;\n\t },\n\n\t _doProcessBlock: function (M, offset) {\n\t // Shortcuts\n\t var state = this._state;\n\t var nBlockSizeLanes = this.blockSize / 2;\n\n\t // Absorb\n\t for (var i = 0; i < nBlockSizeLanes; i++) {\n\t // Shortcuts\n\t var M2i = M[offset + 2 * i];\n\t var M2i1 = M[offset + 2 * i + 1];\n\n\t // Swap endian\n\t M2i = (\n\t (((M2i << 8) | (M2i >>> 24)) & 0x00ff00ff) |\n\t (((M2i << 24) | (M2i >>> 8)) & 0xff00ff00)\n\t );\n\t M2i1 = (\n\t (((M2i1 << 8) | (M2i1 >>> 24)) & 0x00ff00ff) |\n\t (((M2i1 << 24) | (M2i1 >>> 8)) & 0xff00ff00)\n\t );\n\n\t // Absorb message into state\n\t var lane = state[i];\n\t lane.high ^= M2i1;\n\t lane.low ^= M2i;\n\t }\n\n\t // Rounds\n\t for (var round = 0; round < 24; round++) {\n\t // Theta\n\t for (var x = 0; x < 5; x++) {\n\t // Mix column lanes\n\t var tMsw = 0, tLsw = 0;\n\t for (var y = 0; y < 5; y++) {\n\t var lane = state[x + 5 * y];\n\t tMsw ^= lane.high;\n\t tLsw ^= lane.low;\n\t }\n\n\t // Temporary values\n\t var Tx = T[x];\n\t Tx.high = tMsw;\n\t Tx.low = tLsw;\n\t }\n\t for (var x = 0; x < 5; x++) {\n\t // Shortcuts\n\t var Tx4 = T[(x + 4) % 5];\n\t var Tx1 = T[(x + 1) % 5];\n\t var Tx1Msw = Tx1.high;\n\t var Tx1Lsw = Tx1.low;\n\n\t // Mix surrounding columns\n\t var tMsw = Tx4.high ^ ((Tx1Msw << 1) | (Tx1Lsw >>> 31));\n\t var tLsw = Tx4.low ^ ((Tx1Lsw << 1) | (Tx1Msw >>> 31));\n\t for (var y = 0; y < 5; y++) {\n\t var lane = state[x + 5 * y];\n\t lane.high ^= tMsw;\n\t lane.low ^= tLsw;\n\t }\n\t }\n\n\t // Rho Pi\n\t for (var laneIndex = 1; laneIndex < 25; laneIndex++) {\n\t var tMsw;\n\t var tLsw;\n\n\t // Shortcuts\n\t var lane = state[laneIndex];\n\t var laneMsw = lane.high;\n\t var laneLsw = lane.low;\n\t var rhoOffset = RHO_OFFSETS[laneIndex];\n\n\t // Rotate lanes\n\t if (rhoOffset < 32) {\n\t tMsw = (laneMsw << rhoOffset) | (laneLsw >>> (32 - rhoOffset));\n\t tLsw = (laneLsw << rhoOffset) | (laneMsw >>> (32 - rhoOffset));\n\t } else /* if (rhoOffset >= 32) */ {\n\t tMsw = (laneLsw << (rhoOffset - 32)) | (laneMsw >>> (64 - rhoOffset));\n\t tLsw = (laneMsw << (rhoOffset - 32)) | (laneLsw >>> (64 - rhoOffset));\n\t }\n\n\t // Transpose lanes\n\t var TPiLane = T[PI_INDEXES[laneIndex]];\n\t TPiLane.high = tMsw;\n\t TPiLane.low = tLsw;\n\t }\n\n\t // Rho pi at x = y = 0\n\t var T0 = T[0];\n\t var state0 = state[0];\n\t T0.high = state0.high;\n\t T0.low = state0.low;\n\n\t // Chi\n\t for (var x = 0; x < 5; x++) {\n\t for (var y = 0; y < 5; y++) {\n\t // Shortcuts\n\t var laneIndex = x + 5 * y;\n\t var lane = state[laneIndex];\n\t var TLane = T[laneIndex];\n\t var Tx1Lane = T[((x + 1) % 5) + 5 * y];\n\t var Tx2Lane = T[((x + 2) % 5) + 5 * y];\n\n\t // Mix rows\n\t lane.high = TLane.high ^ (~Tx1Lane.high & Tx2Lane.high);\n\t lane.low = TLane.low ^ (~Tx1Lane.low & Tx2Lane.low);\n\t }\n\t }\n\n\t // Iota\n\t var lane = state[0];\n\t var roundConstant = ROUND_CONSTANTS[round];\n\t lane.high ^= roundConstant.high;\n\t lane.low ^= roundConstant.low;\n\t }\n\t },\n\n\t _doFinalize: function () {\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\t var nBitsTotal = this._nDataBytes * 8;\n\t var nBitsLeft = data.sigBytes * 8;\n\t var blockSizeBits = this.blockSize * 32;\n\n\t // Add padding\n\t dataWords[nBitsLeft >>> 5] |= 0x1 << (24 - nBitsLeft % 32);\n\t dataWords[((Math.ceil((nBitsLeft + 1) / blockSizeBits) * blockSizeBits) >>> 5) - 1] |= 0x80;\n\t data.sigBytes = dataWords.length * 4;\n\n\t // Hash final blocks\n\t this._process();\n\n\t // Shortcuts\n\t var state = this._state;\n\t var outputLengthBytes = this.cfg.outputLength / 8;\n\t var outputLengthLanes = outputLengthBytes / 8;\n\n\t // Squeeze\n\t var hashWords = [];\n\t for (var i = 0; i < outputLengthLanes; i++) {\n\t // Shortcuts\n\t var lane = state[i];\n\t var laneMsw = lane.high;\n\t var laneLsw = lane.low;\n\n\t // Swap endian\n\t laneMsw = (\n\t (((laneMsw << 8) | (laneMsw >>> 24)) & 0x00ff00ff) |\n\t (((laneMsw << 24) | (laneMsw >>> 8)) & 0xff00ff00)\n\t );\n\t laneLsw = (\n\t (((laneLsw << 8) | (laneLsw >>> 24)) & 0x00ff00ff) |\n\t (((laneLsw << 24) | (laneLsw >>> 8)) & 0xff00ff00)\n\t );\n\n\t // Squeeze state to retrieve hash\n\t hashWords.push(laneLsw);\n\t hashWords.push(laneMsw);\n\t }\n\n\t // Return final computed hash\n\t return new WordArray.init(hashWords, outputLengthBytes);\n\t },\n\n\t clone: function () {\n\t var clone = Hasher.clone.call(this);\n\n\t var state = clone._state = this._state.slice(0);\n\t for (var i = 0; i < 25; i++) {\n\t state[i] = state[i].clone();\n\t }\n\n\t return clone;\n\t }\n\t });\n\n\t /**\n\t * Shortcut function to the hasher's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hash = CryptoJS.SHA3('message');\n\t * var hash = CryptoJS.SHA3(wordArray);\n\t */\n\t C.SHA3 = Hasher._createHelper(SHA3);\n\n\t /**\n\t * Shortcut function to the HMAC's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hmac = CryptoJS.HmacSHA3(message, key);\n\t */\n\t C.HmacSHA3 = Hasher._createHmacHelper(SHA3);\n\t}(Math));\n\n\n\treturn CryptoJS.SHA3;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./x64-core\"), require(\"./sha512\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./x64-core\", \"./sha512\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_x64 = C.x64;\n\t var X64Word = C_x64.Word;\n\t var X64WordArray = C_x64.WordArray;\n\t var C_algo = C.algo;\n\t var SHA512 = C_algo.SHA512;\n\n\t /**\n\t * SHA-384 hash algorithm.\n\t */\n\t var SHA384 = C_algo.SHA384 = SHA512.extend({\n\t _doReset: function () {\n\t this._hash = new X64WordArray.init([\n\t new X64Word.init(0xcbbb9d5d, 0xc1059ed8), new X64Word.init(0x629a292a, 0x367cd507),\n\t new X64Word.init(0x9159015a, 0x3070dd17), new X64Word.init(0x152fecd8, 0xf70e5939),\n\t new X64Word.init(0x67332667, 0xffc00b31), new X64Word.init(0x8eb44a87, 0x68581511),\n\t new X64Word.init(0xdb0c2e0d, 0x64f98fa7), new X64Word.init(0x47b5481d, 0xbefa4fa4)\n\t ]);\n\t },\n\n\t _doFinalize: function () {\n\t var hash = SHA512._doFinalize.call(this);\n\n\t hash.sigBytes -= 16;\n\n\t return hash;\n\t }\n\t });\n\n\t /**\n\t * Shortcut function to the hasher's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hash = CryptoJS.SHA384('message');\n\t * var hash = CryptoJS.SHA384(wordArray);\n\t */\n\t C.SHA384 = SHA512._createHelper(SHA384);\n\n\t /**\n\t * Shortcut function to the HMAC's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hmac = CryptoJS.HmacSHA384(message, key);\n\t */\n\t C.HmacSHA384 = SHA512._createHmacHelper(SHA384);\n\t}());\n\n\n\treturn CryptoJS.SHA384;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./x64-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./x64-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var Hasher = C_lib.Hasher;\n\t var C_x64 = C.x64;\n\t var X64Word = C_x64.Word;\n\t var X64WordArray = C_x64.WordArray;\n\t var C_algo = C.algo;\n\n\t function X64Word_create() {\n\t return X64Word.create.apply(X64Word, arguments);\n\t }\n\n\t // Constants\n\t var K = [\n\t X64Word_create(0x428a2f98, 0xd728ae22), X64Word_create(0x71374491, 0x23ef65cd),\n\t X64Word_create(0xb5c0fbcf, 0xec4d3b2f), X64Word_create(0xe9b5dba5, 0x8189dbbc),\n\t X64Word_create(0x3956c25b, 0xf348b538), X64Word_create(0x59f111f1, 0xb605d019),\n\t X64Word_create(0x923f82a4, 0xaf194f9b), X64Word_create(0xab1c5ed5, 0xda6d8118),\n\t X64Word_create(0xd807aa98, 0xa3030242), X64Word_create(0x12835b01, 0x45706fbe),\n\t X64Word_create(0x243185be, 0x4ee4b28c), X64Word_create(0x550c7dc3, 0xd5ffb4e2),\n\t X64Word_create(0x72be5d74, 0xf27b896f), X64Word_create(0x80deb1fe, 0x3b1696b1),\n\t X64Word_create(0x9bdc06a7, 0x25c71235), X64Word_create(0xc19bf174, 0xcf692694),\n\t X64Word_create(0xe49b69c1, 0x9ef14ad2), X64Word_create(0xefbe4786, 0x384f25e3),\n\t X64Word_create(0x0fc19dc6, 0x8b8cd5b5), X64Word_create(0x240ca1cc, 0x77ac9c65),\n\t X64Word_create(0x2de92c6f, 0x592b0275), X64Word_create(0x4a7484aa, 0x6ea6e483),\n\t X64Word_create(0x5cb0a9dc, 0xbd41fbd4), X64Word_create(0x76f988da, 0x831153b5),\n\t X64Word_create(0x983e5152, 0xee66dfab), X64Word_create(0xa831c66d, 0x2db43210),\n\t X64Word_create(0xb00327c8, 0x98fb213f), X64Word_create(0xbf597fc7, 0xbeef0ee4),\n\t X64Word_create(0xc6e00bf3, 0x3da88fc2), X64Word_create(0xd5a79147, 0x930aa725),\n\t X64Word_create(0x06ca6351, 0xe003826f), X64Word_create(0x14292967, 0x0a0e6e70),\n\t X64Word_create(0x27b70a85, 0x46d22ffc), X64Word_create(0x2e1b2138, 0x5c26c926),\n\t X64Word_create(0x4d2c6dfc, 0x5ac42aed), X64Word_create(0x53380d13, 0x9d95b3df),\n\t X64Word_create(0x650a7354, 0x8baf63de), X64Word_create(0x766a0abb, 0x3c77b2a8),\n\t X64Word_create(0x81c2c92e, 0x47edaee6), X64Word_create(0x92722c85, 0x1482353b),\n\t X64Word_create(0xa2bfe8a1, 0x4cf10364), X64Word_create(0xa81a664b, 0xbc423001),\n\t X64Word_create(0xc24b8b70, 0xd0f89791), X64Word_create(0xc76c51a3, 0x0654be30),\n\t X64Word_create(0xd192e819, 0xd6ef5218), X64Word_create(0xd6990624, 0x5565a910),\n\t X64Word_create(0xf40e3585, 0x5771202a), X64Word_create(0x106aa070, 0x32bbd1b8),\n\t X64Word_create(0x19a4c116, 0xb8d2d0c8), X64Word_create(0x1e376c08, 0x5141ab53),\n\t X64Word_create(0x2748774c, 0xdf8eeb99), X64Word_create(0x34b0bcb5, 0xe19b48a8),\n\t X64Word_create(0x391c0cb3, 0xc5c95a63), X64Word_create(0x4ed8aa4a, 0xe3418acb),\n\t X64Word_create(0x5b9cca4f, 0x7763e373), X64Word_create(0x682e6ff3, 0xd6b2b8a3),\n\t X64Word_create(0x748f82ee, 0x5defb2fc), X64Word_create(0x78a5636f, 0x43172f60),\n\t X64Word_create(0x84c87814, 0xa1f0ab72), X64Word_create(0x8cc70208, 0x1a6439ec),\n\t X64Word_create(0x90befffa, 0x23631e28), X64Word_create(0xa4506ceb, 0xde82bde9),\n\t X64Word_create(0xbef9a3f7, 0xb2c67915), X64Word_create(0xc67178f2, 0xe372532b),\n\t X64Word_create(0xca273ece, 0xea26619c), X64Word_create(0xd186b8c7, 0x21c0c207),\n\t X64Word_create(0xeada7dd6, 0xcde0eb1e), X64Word_create(0xf57d4f7f, 0xee6ed178),\n\t X64Word_create(0x06f067aa, 0x72176fba), X64Word_create(0x0a637dc5, 0xa2c898a6),\n\t X64Word_create(0x113f9804, 0xbef90dae), X64Word_create(0x1b710b35, 0x131c471b),\n\t X64Word_create(0x28db77f5, 0x23047d84), X64Word_create(0x32caab7b, 0x40c72493),\n\t X64Word_create(0x3c9ebe0a, 0x15c9bebc), X64Word_create(0x431d67c4, 0x9c100d4c),\n\t X64Word_create(0x4cc5d4be, 0xcb3e42b6), X64Word_create(0x597f299c, 0xfc657e2a),\n\t X64Word_create(0x5fcb6fab, 0x3ad6faec), X64Word_create(0x6c44198c, 0x4a475817)\n\t ];\n\n\t // Reusable objects\n\t var W = [];\n\t (function () {\n\t for (var i = 0; i < 80; i++) {\n\t W[i] = X64Word_create();\n\t }\n\t }());\n\n\t /**\n\t * SHA-512 hash algorithm.\n\t */\n\t var SHA512 = C_algo.SHA512 = Hasher.extend({\n\t _doReset: function () {\n\t this._hash = new X64WordArray.init([\n\t new X64Word.init(0x6a09e667, 0xf3bcc908), new X64Word.init(0xbb67ae85, 0x84caa73b),\n\t new X64Word.init(0x3c6ef372, 0xfe94f82b), new X64Word.init(0xa54ff53a, 0x5f1d36f1),\n\t new X64Word.init(0x510e527f, 0xade682d1), new X64Word.init(0x9b05688c, 0x2b3e6c1f),\n\t new X64Word.init(0x1f83d9ab, 0xfb41bd6b), new X64Word.init(0x5be0cd19, 0x137e2179)\n\t ]);\n\t },\n\n\t _doProcessBlock: function (M, offset) {\n\t // Shortcuts\n\t var H = this._hash.words;\n\n\t var H0 = H[0];\n\t var H1 = H[1];\n\t var H2 = H[2];\n\t var H3 = H[3];\n\t var H4 = H[4];\n\t var H5 = H[5];\n\t var H6 = H[6];\n\t var H7 = H[7];\n\n\t var H0h = H0.high;\n\t var H0l = H0.low;\n\t var H1h = H1.high;\n\t var H1l = H1.low;\n\t var H2h = H2.high;\n\t var H2l = H2.low;\n\t var H3h = H3.high;\n\t var H3l = H3.low;\n\t var H4h = H4.high;\n\t var H4l = H4.low;\n\t var H5h = H5.high;\n\t var H5l = H5.low;\n\t var H6h = H6.high;\n\t var H6l = H6.low;\n\t var H7h = H7.high;\n\t var H7l = H7.low;\n\n\t // Working variables\n\t var ah = H0h;\n\t var al = H0l;\n\t var bh = H1h;\n\t var bl = H1l;\n\t var ch = H2h;\n\t var cl = H2l;\n\t var dh = H3h;\n\t var dl = H3l;\n\t var eh = H4h;\n\t var el = H4l;\n\t var fh = H5h;\n\t var fl = H5l;\n\t var gh = H6h;\n\t var gl = H6l;\n\t var hh = H7h;\n\t var hl = H7l;\n\n\t // Rounds\n\t for (var i = 0; i < 80; i++) {\n\t var Wil;\n\t var Wih;\n\n\t // Shortcut\n\t var Wi = W[i];\n\n\t // Extend message\n\t if (i < 16) {\n\t Wih = Wi.high = M[offset + i * 2] | 0;\n\t Wil = Wi.low = M[offset + i * 2 + 1] | 0;\n\t } else {\n\t // Gamma0\n\t var gamma0x = W[i - 15];\n\t var gamma0xh = gamma0x.high;\n\t var gamma0xl = gamma0x.low;\n\t var gamma0h = ((gamma0xh >>> 1) | (gamma0xl << 31)) ^ ((gamma0xh >>> 8) | (gamma0xl << 24)) ^ (gamma0xh >>> 7);\n\t var gamma0l = ((gamma0xl >>> 1) | (gamma0xh << 31)) ^ ((gamma0xl >>> 8) | (gamma0xh << 24)) ^ ((gamma0xl >>> 7) | (gamma0xh << 25));\n\n\t // Gamma1\n\t var gamma1x = W[i - 2];\n\t var gamma1xh = gamma1x.high;\n\t var gamma1xl = gamma1x.low;\n\t var gamma1h = ((gamma1xh >>> 19) | (gamma1xl << 13)) ^ ((gamma1xh << 3) | (gamma1xl >>> 29)) ^ (gamma1xh >>> 6);\n\t var gamma1l = ((gamma1xl >>> 19) | (gamma1xh << 13)) ^ ((gamma1xl << 3) | (gamma1xh >>> 29)) ^ ((gamma1xl >>> 6) | (gamma1xh << 26));\n\n\t // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]\n\t var Wi7 = W[i - 7];\n\t var Wi7h = Wi7.high;\n\t var Wi7l = Wi7.low;\n\n\t var Wi16 = W[i - 16];\n\t var Wi16h = Wi16.high;\n\t var Wi16l = Wi16.low;\n\n\t Wil = gamma0l + Wi7l;\n\t Wih = gamma0h + Wi7h + ((Wil >>> 0) < (gamma0l >>> 0) ? 1 : 0);\n\t Wil = Wil + gamma1l;\n\t Wih = Wih + gamma1h + ((Wil >>> 0) < (gamma1l >>> 0) ? 1 : 0);\n\t Wil = Wil + Wi16l;\n\t Wih = Wih + Wi16h + ((Wil >>> 0) < (Wi16l >>> 0) ? 1 : 0);\n\n\t Wi.high = Wih;\n\t Wi.low = Wil;\n\t }\n\n\t var chh = (eh & fh) ^ (~eh & gh);\n\t var chl = (el & fl) ^ (~el & gl);\n\t var majh = (ah & bh) ^ (ah & ch) ^ (bh & ch);\n\t var majl = (al & bl) ^ (al & cl) ^ (bl & cl);\n\n\t var sigma0h = ((ah >>> 28) | (al << 4)) ^ ((ah << 30) | (al >>> 2)) ^ ((ah << 25) | (al >>> 7));\n\t var sigma0l = ((al >>> 28) | (ah << 4)) ^ ((al << 30) | (ah >>> 2)) ^ ((al << 25) | (ah >>> 7));\n\t var sigma1h = ((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9));\n\t var sigma1l = ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9));\n\n\t // t1 = h + sigma1 + ch + K[i] + W[i]\n\t var Ki = K[i];\n\t var Kih = Ki.high;\n\t var Kil = Ki.low;\n\n\t var t1l = hl + sigma1l;\n\t var t1h = hh + sigma1h + ((t1l >>> 0) < (hl >>> 0) ? 1 : 0);\n\t var t1l = t1l + chl;\n\t var t1h = t1h + chh + ((t1l >>> 0) < (chl >>> 0) ? 1 : 0);\n\t var t1l = t1l + Kil;\n\t var t1h = t1h + Kih + ((t1l >>> 0) < (Kil >>> 0) ? 1 : 0);\n\t var t1l = t1l + Wil;\n\t var t1h = t1h + Wih + ((t1l >>> 0) < (Wil >>> 0) ? 1 : 0);\n\n\t // t2 = sigma0 + maj\n\t var t2l = sigma0l + majl;\n\t var t2h = sigma0h + majh + ((t2l >>> 0) < (sigma0l >>> 0) ? 1 : 0);\n\n\t // Update working variables\n\t hh = gh;\n\t hl = gl;\n\t gh = fh;\n\t gl = fl;\n\t fh = eh;\n\t fl = el;\n\t el = (dl + t1l) | 0;\n\t eh = (dh + t1h + ((el >>> 0) < (dl >>> 0) ? 1 : 0)) | 0;\n\t dh = ch;\n\t dl = cl;\n\t ch = bh;\n\t cl = bl;\n\t bh = ah;\n\t bl = al;\n\t al = (t1l + t2l) | 0;\n\t ah = (t1h + t2h + ((al >>> 0) < (t1l >>> 0) ? 1 : 0)) | 0;\n\t }\n\n\t // Intermediate hash value\n\t H0l = H0.low = (H0l + al);\n\t H0.high = (H0h + ah + ((H0l >>> 0) < (al >>> 0) ? 1 : 0));\n\t H1l = H1.low = (H1l + bl);\n\t H1.high = (H1h + bh + ((H1l >>> 0) < (bl >>> 0) ? 1 : 0));\n\t H2l = H2.low = (H2l + cl);\n\t H2.high = (H2h + ch + ((H2l >>> 0) < (cl >>> 0) ? 1 : 0));\n\t H3l = H3.low = (H3l + dl);\n\t H3.high = (H3h + dh + ((H3l >>> 0) < (dl >>> 0) ? 1 : 0));\n\t H4l = H4.low = (H4l + el);\n\t H4.high = (H4h + eh + ((H4l >>> 0) < (el >>> 0) ? 1 : 0));\n\t H5l = H5.low = (H5l + fl);\n\t H5.high = (H5h + fh + ((H5l >>> 0) < (fl >>> 0) ? 1 : 0));\n\t H6l = H6.low = (H6l + gl);\n\t H6.high = (H6h + gh + ((H6l >>> 0) < (gl >>> 0) ? 1 : 0));\n\t H7l = H7.low = (H7l + hl);\n\t H7.high = (H7h + hh + ((H7l >>> 0) < (hl >>> 0) ? 1 : 0));\n\t },\n\n\t _doFinalize: function () {\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\n\t var nBitsTotal = this._nDataBytes * 8;\n\t var nBitsLeft = data.sigBytes * 8;\n\n\t // Add padding\n\t dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);\n\t dataWords[(((nBitsLeft + 128) >>> 10) << 5) + 30] = Math.floor(nBitsTotal / 0x100000000);\n\t dataWords[(((nBitsLeft + 128) >>> 10) << 5) + 31] = nBitsTotal;\n\t data.sigBytes = dataWords.length * 4;\n\n\t // Hash final blocks\n\t this._process();\n\n\t // Convert hash to 32-bit word array before returning\n\t var hash = this._hash.toX32();\n\n\t // Return final computed hash\n\t return hash;\n\t },\n\n\t clone: function () {\n\t var clone = Hasher.clone.call(this);\n\t clone._hash = this._hash.clone();\n\n\t return clone;\n\t },\n\n\t blockSize: 1024/32\n\t });\n\n\t /**\n\t * Shortcut function to the hasher's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hash = CryptoJS.SHA512('message');\n\t * var hash = CryptoJS.SHA512(wordArray);\n\t */\n\t C.SHA512 = Hasher._createHelper(SHA512);\n\n\t /**\n\t * Shortcut function to the HMAC's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hmac = CryptoJS.HmacSHA512(message, key);\n\t */\n\t C.HmacSHA512 = Hasher._createHmacHelper(SHA512);\n\t}());\n\n\n\treturn CryptoJS.SHA512;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./enc-base64\"), require(\"./md5\"), require(\"./evpkdf\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./enc-base64\", \"./md5\", \"./evpkdf\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var BlockCipher = C_lib.BlockCipher;\n\t var C_algo = C.algo;\n\n\t // Permuted Choice 1 constants\n\t var PC1 = [\n\t 57, 49, 41, 33, 25, 17, 9, 1,\n\t 58, 50, 42, 34, 26, 18, 10, 2,\n\t 59, 51, 43, 35, 27, 19, 11, 3,\n\t 60, 52, 44, 36, 63, 55, 47, 39,\n\t 31, 23, 15, 7, 62, 54, 46, 38,\n\t 30, 22, 14, 6, 61, 53, 45, 37,\n\t 29, 21, 13, 5, 28, 20, 12, 4\n\t ];\n\n\t // Permuted Choice 2 constants\n\t var PC2 = [\n\t 14, 17, 11, 24, 1, 5,\n\t 3, 28, 15, 6, 21, 10,\n\t 23, 19, 12, 4, 26, 8,\n\t 16, 7, 27, 20, 13, 2,\n\t 41, 52, 31, 37, 47, 55,\n\t 30, 40, 51, 45, 33, 48,\n\t 44, 49, 39, 56, 34, 53,\n\t 46, 42, 50, 36, 29, 32\n\t ];\n\n\t // Cumulative bit shift constants\n\t var BIT_SHIFTS = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28];\n\n\t // SBOXes and round permutation constants\n\t var SBOX_P = [\n\t {\n\t 0x0: 0x808200,\n\t 0x10000000: 0x8000,\n\t 0x20000000: 0x808002,\n\t 0x30000000: 0x2,\n\t 0x40000000: 0x200,\n\t 0x50000000: 0x808202,\n\t 0x60000000: 0x800202,\n\t 0x70000000: 0x800000,\n\t 0x80000000: 0x202,\n\t 0x90000000: 0x800200,\n\t 0xa0000000: 0x8200,\n\t 0xb0000000: 0x808000,\n\t 0xc0000000: 0x8002,\n\t 0xd0000000: 0x800002,\n\t 0xe0000000: 0x0,\n\t 0xf0000000: 0x8202,\n\t 0x8000000: 0x0,\n\t 0x18000000: 0x808202,\n\t 0x28000000: 0x8202,\n\t 0x38000000: 0x8000,\n\t 0x48000000: 0x808200,\n\t 0x58000000: 0x200,\n\t 0x68000000: 0x808002,\n\t 0x78000000: 0x2,\n\t 0x88000000: 0x800200,\n\t 0x98000000: 0x8200,\n\t 0xa8000000: 0x808000,\n\t 0xb8000000: 0x800202,\n\t 0xc8000000: 0x800002,\n\t 0xd8000000: 0x8002,\n\t 0xe8000000: 0x202,\n\t 0xf8000000: 0x800000,\n\t 0x1: 0x8000,\n\t 0x10000001: 0x2,\n\t 0x20000001: 0x808200,\n\t 0x30000001: 0x800000,\n\t 0x40000001: 0x808002,\n\t 0x50000001: 0x8200,\n\t 0x60000001: 0x200,\n\t 0x70000001: 0x800202,\n\t 0x80000001: 0x808202,\n\t 0x90000001: 0x808000,\n\t 0xa0000001: 0x800002,\n\t 0xb0000001: 0x8202,\n\t 0xc0000001: 0x202,\n\t 0xd0000001: 0x800200,\n\t 0xe0000001: 0x8002,\n\t 0xf0000001: 0x0,\n\t 0x8000001: 0x808202,\n\t 0x18000001: 0x808000,\n\t 0x28000001: 0x800000,\n\t 0x38000001: 0x200,\n\t 0x48000001: 0x8000,\n\t 0x58000001: 0x800002,\n\t 0x68000001: 0x2,\n\t 0x78000001: 0x8202,\n\t 0x88000001: 0x8002,\n\t 0x98000001: 0x800202,\n\t 0xa8000001: 0x202,\n\t 0xb8000001: 0x808200,\n\t 0xc8000001: 0x800200,\n\t 0xd8000001: 0x0,\n\t 0xe8000001: 0x8200,\n\t 0xf8000001: 0x808002\n\t },\n\t {\n\t 0x0: 0x40084010,\n\t 0x1000000: 0x4000,\n\t 0x2000000: 0x80000,\n\t 0x3000000: 0x40080010,\n\t 0x4000000: 0x40000010,\n\t 0x5000000: 0x40084000,\n\t 0x6000000: 0x40004000,\n\t 0x7000000: 0x10,\n\t 0x8000000: 0x84000,\n\t 0x9000000: 0x40004010,\n\t 0xa000000: 0x40000000,\n\t 0xb000000: 0x84010,\n\t 0xc000000: 0x80010,\n\t 0xd000000: 0x0,\n\t 0xe000000: 0x4010,\n\t 0xf000000: 0x40080000,\n\t 0x800000: 0x40004000,\n\t 0x1800000: 0x84010,\n\t 0x2800000: 0x10,\n\t 0x3800000: 0x40004010,\n\t 0x4800000: 0x40084010,\n\t 0x5800000: 0x40000000,\n\t 0x6800000: 0x80000,\n\t 0x7800000: 0x40080010,\n\t 0x8800000: 0x80010,\n\t 0x9800000: 0x0,\n\t 0xa800000: 0x4000,\n\t 0xb800000: 0x40080000,\n\t 0xc800000: 0x40000010,\n\t 0xd800000: 0x84000,\n\t 0xe800000: 0x40084000,\n\t 0xf800000: 0x4010,\n\t 0x10000000: 0x0,\n\t 0x11000000: 0x40080010,\n\t 0x12000000: 0x40004010,\n\t 0x13000000: 0x40084000,\n\t 0x14000000: 0x40080000,\n\t 0x15000000: 0x10,\n\t 0x16000000: 0x84010,\n\t 0x17000000: 0x4000,\n\t 0x18000000: 0x4010,\n\t 0x19000000: 0x80000,\n\t 0x1a000000: 0x80010,\n\t 0x1b000000: 0x40000010,\n\t 0x1c000000: 0x84000,\n\t 0x1d000000: 0x40004000,\n\t 0x1e000000: 0x40000000,\n\t 0x1f000000: 0x40084010,\n\t 0x10800000: 0x84010,\n\t 0x11800000: 0x80000,\n\t 0x12800000: 0x40080000,\n\t 0x13800000: 0x4000,\n\t 0x14800000: 0x40004000,\n\t 0x15800000: 0x40084010,\n\t 0x16800000: 0x10,\n\t 0x17800000: 0x40000000,\n\t 0x18800000: 0x40084000,\n\t 0x19800000: 0x40000010,\n\t 0x1a800000: 0x40004010,\n\t 0x1b800000: 0x80010,\n\t 0x1c800000: 0x0,\n\t 0x1d800000: 0x4010,\n\t 0x1e800000: 0x40080010,\n\t 0x1f800000: 0x84000\n\t },\n\t {\n\t 0x0: 0x104,\n\t 0x100000: 0x0,\n\t 0x200000: 0x4000100,\n\t 0x300000: 0x10104,\n\t 0x400000: 0x10004,\n\t 0x500000: 0x4000004,\n\t 0x600000: 0x4010104,\n\t 0x700000: 0x4010000,\n\t 0x800000: 0x4000000,\n\t 0x900000: 0x4010100,\n\t 0xa00000: 0x10100,\n\t 0xb00000: 0x4010004,\n\t 0xc00000: 0x4000104,\n\t 0xd00000: 0x10000,\n\t 0xe00000: 0x4,\n\t 0xf00000: 0x100,\n\t 0x80000: 0x4010100,\n\t 0x180000: 0x4010004,\n\t 0x280000: 0x0,\n\t 0x380000: 0x4000100,\n\t 0x480000: 0x4000004,\n\t 0x580000: 0x10000,\n\t 0x680000: 0x10004,\n\t 0x780000: 0x104,\n\t 0x880000: 0x4,\n\t 0x980000: 0x100,\n\t 0xa80000: 0x4010000,\n\t 0xb80000: 0x10104,\n\t 0xc80000: 0x10100,\n\t 0xd80000: 0x4000104,\n\t 0xe80000: 0x4010104,\n\t 0xf80000: 0x4000000,\n\t 0x1000000: 0x4010100,\n\t 0x1100000: 0x10004,\n\t 0x1200000: 0x10000,\n\t 0x1300000: 0x4000100,\n\t 0x1400000: 0x100,\n\t 0x1500000: 0x4010104,\n\t 0x1600000: 0x4000004,\n\t 0x1700000: 0x0,\n\t 0x1800000: 0x4000104,\n\t 0x1900000: 0x4000000,\n\t 0x1a00000: 0x4,\n\t 0x1b00000: 0x10100,\n\t 0x1c00000: 0x4010000,\n\t 0x1d00000: 0x104,\n\t 0x1e00000: 0x10104,\n\t 0x1f00000: 0x4010004,\n\t 0x1080000: 0x4000000,\n\t 0x1180000: 0x104,\n\t 0x1280000: 0x4010100,\n\t 0x1380000: 0x0,\n\t 0x1480000: 0x10004,\n\t 0x1580000: 0x4000100,\n\t 0x1680000: 0x100,\n\t 0x1780000: 0x4010004,\n\t 0x1880000: 0x10000,\n\t 0x1980000: 0x4010104,\n\t 0x1a80000: 0x10104,\n\t 0x1b80000: 0x4000004,\n\t 0x1c80000: 0x4000104,\n\t 0x1d80000: 0x4010000,\n\t 0x1e80000: 0x4,\n\t 0x1f80000: 0x10100\n\t },\n\t {\n\t 0x0: 0x80401000,\n\t 0x10000: 0x80001040,\n\t 0x20000: 0x401040,\n\t 0x30000: 0x80400000,\n\t 0x40000: 0x0,\n\t 0x50000: 0x401000,\n\t 0x60000: 0x80000040,\n\t 0x70000: 0x400040,\n\t 0x80000: 0x80000000,\n\t 0x90000: 0x400000,\n\t 0xa0000: 0x40,\n\t 0xb0000: 0x80001000,\n\t 0xc0000: 0x80400040,\n\t 0xd0000: 0x1040,\n\t 0xe0000: 0x1000,\n\t 0xf0000: 0x80401040,\n\t 0x8000: 0x80001040,\n\t 0x18000: 0x40,\n\t 0x28000: 0x80400040,\n\t 0x38000: 0x80001000,\n\t 0x48000: 0x401000,\n\t 0x58000: 0x80401040,\n\t 0x68000: 0x0,\n\t 0x78000: 0x80400000,\n\t 0x88000: 0x1000,\n\t 0x98000: 0x80401000,\n\t 0xa8000: 0x400000,\n\t 0xb8000: 0x1040,\n\t 0xc8000: 0x80000000,\n\t 0xd8000: 0x400040,\n\t 0xe8000: 0x401040,\n\t 0xf8000: 0x80000040,\n\t 0x100000: 0x400040,\n\t 0x110000: 0x401000,\n\t 0x120000: 0x80000040,\n\t 0x130000: 0x0,\n\t 0x140000: 0x1040,\n\t 0x150000: 0x80400040,\n\t 0x160000: 0x80401000,\n\t 0x170000: 0x80001040,\n\t 0x180000: 0x80401040,\n\t 0x190000: 0x80000000,\n\t 0x1a0000: 0x80400000,\n\t 0x1b0000: 0x401040,\n\t 0x1c0000: 0x80001000,\n\t 0x1d0000: 0x400000,\n\t 0x1e0000: 0x40,\n\t 0x1f0000: 0x1000,\n\t 0x108000: 0x80400000,\n\t 0x118000: 0x80401040,\n\t 0x128000: 0x0,\n\t 0x138000: 0x401000,\n\t 0x148000: 0x400040,\n\t 0x158000: 0x80000000,\n\t 0x168000: 0x80001040,\n\t 0x178000: 0x40,\n\t 0x188000: 0x80000040,\n\t 0x198000: 0x1000,\n\t 0x1a8000: 0x80001000,\n\t 0x1b8000: 0x80400040,\n\t 0x1c8000: 0x1040,\n\t 0x1d8000: 0x80401000,\n\t 0x1e8000: 0x400000,\n\t 0x1f8000: 0x401040\n\t },\n\t {\n\t 0x0: 0x80,\n\t 0x1000: 0x1040000,\n\t 0x2000: 0x40000,\n\t 0x3000: 0x20000000,\n\t 0x4000: 0x20040080,\n\t 0x5000: 0x1000080,\n\t 0x6000: 0x21000080,\n\t 0x7000: 0x40080,\n\t 0x8000: 0x1000000,\n\t 0x9000: 0x20040000,\n\t 0xa000: 0x20000080,\n\t 0xb000: 0x21040080,\n\t 0xc000: 0x21040000,\n\t 0xd000: 0x0,\n\t 0xe000: 0x1040080,\n\t 0xf000: 0x21000000,\n\t 0x800: 0x1040080,\n\t 0x1800: 0x21000080,\n\t 0x2800: 0x80,\n\t 0x3800: 0x1040000,\n\t 0x4800: 0x40000,\n\t 0x5800: 0x20040080,\n\t 0x6800: 0x21040000,\n\t 0x7800: 0x20000000,\n\t 0x8800: 0x20040000,\n\t 0x9800: 0x0,\n\t 0xa800: 0x21040080,\n\t 0xb800: 0x1000080,\n\t 0xc800: 0x20000080,\n\t 0xd800: 0x21000000,\n\t 0xe800: 0x1000000,\n\t 0xf800: 0x40080,\n\t 0x10000: 0x40000,\n\t 0x11000: 0x80,\n\t 0x12000: 0x20000000,\n\t 0x13000: 0x21000080,\n\t 0x14000: 0x1000080,\n\t 0x15000: 0x21040000,\n\t 0x16000: 0x20040080,\n\t 0x17000: 0x1000000,\n\t 0x18000: 0x21040080,\n\t 0x19000: 0x21000000,\n\t 0x1a000: 0x1040000,\n\t 0x1b000: 0x20040000,\n\t 0x1c000: 0x40080,\n\t 0x1d000: 0x20000080,\n\t 0x1e000: 0x0,\n\t 0x1f000: 0x1040080,\n\t 0x10800: 0x21000080,\n\t 0x11800: 0x1000000,\n\t 0x12800: 0x1040000,\n\t 0x13800: 0x20040080,\n\t 0x14800: 0x20000000,\n\t 0x15800: 0x1040080,\n\t 0x16800: 0x80,\n\t 0x17800: 0x21040000,\n\t 0x18800: 0x40080,\n\t 0x19800: 0x21040080,\n\t 0x1a800: 0x0,\n\t 0x1b800: 0x21000000,\n\t 0x1c800: 0x1000080,\n\t 0x1d800: 0x40000,\n\t 0x1e800: 0x20040000,\n\t 0x1f800: 0x20000080\n\t },\n\t {\n\t 0x0: 0x10000008,\n\t 0x100: 0x2000,\n\t 0x200: 0x10200000,\n\t 0x300: 0x10202008,\n\t 0x400: 0x10002000,\n\t 0x500: 0x200000,\n\t 0x600: 0x200008,\n\t 0x700: 0x10000000,\n\t 0x800: 0x0,\n\t 0x900: 0x10002008,\n\t 0xa00: 0x202000,\n\t 0xb00: 0x8,\n\t 0xc00: 0x10200008,\n\t 0xd00: 0x202008,\n\t 0xe00: 0x2008,\n\t 0xf00: 0x10202000,\n\t 0x80: 0x10200000,\n\t 0x180: 0x10202008,\n\t 0x280: 0x8,\n\t 0x380: 0x200000,\n\t 0x480: 0x202008,\n\t 0x580: 0x10000008,\n\t 0x680: 0x10002000,\n\t 0x780: 0x2008,\n\t 0x880: 0x200008,\n\t 0x980: 0x2000,\n\t 0xa80: 0x10002008,\n\t 0xb80: 0x10200008,\n\t 0xc80: 0x0,\n\t 0xd80: 0x10202000,\n\t 0xe80: 0x202000,\n\t 0xf80: 0x10000000,\n\t 0x1000: 0x10002000,\n\t 0x1100: 0x10200008,\n\t 0x1200: 0x10202008,\n\t 0x1300: 0x2008,\n\t 0x1400: 0x200000,\n\t 0x1500: 0x10000000,\n\t 0x1600: 0x10000008,\n\t 0x1700: 0x202000,\n\t 0x1800: 0x202008,\n\t 0x1900: 0x0,\n\t 0x1a00: 0x8,\n\t 0x1b00: 0x10200000,\n\t 0x1c00: 0x2000,\n\t 0x1d00: 0x10002008,\n\t 0x1e00: 0x10202000,\n\t 0x1f00: 0x200008,\n\t 0x1080: 0x8,\n\t 0x1180: 0x202000,\n\t 0x1280: 0x200000,\n\t 0x1380: 0x10000008,\n\t 0x1480: 0x10002000,\n\t 0x1580: 0x2008,\n\t 0x1680: 0x10202008,\n\t 0x1780: 0x10200000,\n\t 0x1880: 0x10202000,\n\t 0x1980: 0x10200008,\n\t 0x1a80: 0x2000,\n\t 0x1b80: 0x202008,\n\t 0x1c80: 0x200008,\n\t 0x1d80: 0x0,\n\t 0x1e80: 0x10000000,\n\t 0x1f80: 0x10002008\n\t },\n\t {\n\t 0x0: 0x100000,\n\t 0x10: 0x2000401,\n\t 0x20: 0x400,\n\t 0x30: 0x100401,\n\t 0x40: 0x2100401,\n\t 0x50: 0x0,\n\t 0x60: 0x1,\n\t 0x70: 0x2100001,\n\t 0x80: 0x2000400,\n\t 0x90: 0x100001,\n\t 0xa0: 0x2000001,\n\t 0xb0: 0x2100400,\n\t 0xc0: 0x2100000,\n\t 0xd0: 0x401,\n\t 0xe0: 0x100400,\n\t 0xf0: 0x2000000,\n\t 0x8: 0x2100001,\n\t 0x18: 0x0,\n\t 0x28: 0x2000401,\n\t 0x38: 0x2100400,\n\t 0x48: 0x100000,\n\t 0x58: 0x2000001,\n\t 0x68: 0x2000000,\n\t 0x78: 0x401,\n\t 0x88: 0x100401,\n\t 0x98: 0x2000400,\n\t 0xa8: 0x2100000,\n\t 0xb8: 0x100001,\n\t 0xc8: 0x400,\n\t 0xd8: 0x2100401,\n\t 0xe8: 0x1,\n\t 0xf8: 0x100400,\n\t 0x100: 0x2000000,\n\t 0x110: 0x100000,\n\t 0x120: 0x2000401,\n\t 0x130: 0x2100001,\n\t 0x140: 0x100001,\n\t 0x150: 0x2000400,\n\t 0x160: 0x2100400,\n\t 0x170: 0x100401,\n\t 0x180: 0x401,\n\t 0x190: 0x2100401,\n\t 0x1a0: 0x100400,\n\t 0x1b0: 0x1,\n\t 0x1c0: 0x0,\n\t 0x1d0: 0x2100000,\n\t 0x1e0: 0x2000001,\n\t 0x1f0: 0x400,\n\t 0x108: 0x100400,\n\t 0x118: 0x2000401,\n\t 0x128: 0x2100001,\n\t 0x138: 0x1,\n\t 0x148: 0x2000000,\n\t 0x158: 0x100000,\n\t 0x168: 0x401,\n\t 0x178: 0x2100400,\n\t 0x188: 0x2000001,\n\t 0x198: 0x2100000,\n\t 0x1a8: 0x0,\n\t 0x1b8: 0x2100401,\n\t 0x1c8: 0x100401,\n\t 0x1d8: 0x400,\n\t 0x1e8: 0x2000400,\n\t 0x1f8: 0x100001\n\t },\n\t {\n\t 0x0: 0x8000820,\n\t 0x1: 0x20000,\n\t 0x2: 0x8000000,\n\t 0x3: 0x20,\n\t 0x4: 0x20020,\n\t 0x5: 0x8020820,\n\t 0x6: 0x8020800,\n\t 0x7: 0x800,\n\t 0x8: 0x8020000,\n\t 0x9: 0x8000800,\n\t 0xa: 0x20800,\n\t 0xb: 0x8020020,\n\t 0xc: 0x820,\n\t 0xd: 0x0,\n\t 0xe: 0x8000020,\n\t 0xf: 0x20820,\n\t 0x80000000: 0x800,\n\t 0x80000001: 0x8020820,\n\t 0x80000002: 0x8000820,\n\t 0x80000003: 0x8000000,\n\t 0x80000004: 0x8020000,\n\t 0x80000005: 0x20800,\n\t 0x80000006: 0x20820,\n\t 0x80000007: 0x20,\n\t 0x80000008: 0x8000020,\n\t 0x80000009: 0x820,\n\t 0x8000000a: 0x20020,\n\t 0x8000000b: 0x8020800,\n\t 0x8000000c: 0x0,\n\t 0x8000000d: 0x8020020,\n\t 0x8000000e: 0x8000800,\n\t 0x8000000f: 0x20000,\n\t 0x10: 0x20820,\n\t 0x11: 0x8020800,\n\t 0x12: 0x20,\n\t 0x13: 0x800,\n\t 0x14: 0x8000800,\n\t 0x15: 0x8000020,\n\t 0x16: 0x8020020,\n\t 0x17: 0x20000,\n\t 0x18: 0x0,\n\t 0x19: 0x20020,\n\t 0x1a: 0x8020000,\n\t 0x1b: 0x8000820,\n\t 0x1c: 0x8020820,\n\t 0x1d: 0x20800,\n\t 0x1e: 0x820,\n\t 0x1f: 0x8000000,\n\t 0x80000010: 0x20000,\n\t 0x80000011: 0x800,\n\t 0x80000012: 0x8020020,\n\t 0x80000013: 0x20820,\n\t 0x80000014: 0x20,\n\t 0x80000015: 0x8020000,\n\t 0x80000016: 0x8000000,\n\t 0x80000017: 0x8000820,\n\t 0x80000018: 0x8020820,\n\t 0x80000019: 0x8000020,\n\t 0x8000001a: 0x8000800,\n\t 0x8000001b: 0x0,\n\t 0x8000001c: 0x20800,\n\t 0x8000001d: 0x820,\n\t 0x8000001e: 0x20020,\n\t 0x8000001f: 0x8020800\n\t }\n\t ];\n\n\t // Masks that select the SBOX input\n\t var SBOX_MASK = [\n\t 0xf8000001, 0x1f800000, 0x01f80000, 0x001f8000,\n\t 0x0001f800, 0x00001f80, 0x000001f8, 0x8000001f\n\t ];\n\n\t /**\n\t * DES block cipher algorithm.\n\t */\n\t var DES = C_algo.DES = BlockCipher.extend({\n\t _doReset: function () {\n\t // Shortcuts\n\t var key = this._key;\n\t var keyWords = key.words;\n\n\t // Select 56 bits according to PC1\n\t var keyBits = [];\n\t for (var i = 0; i < 56; i++) {\n\t var keyBitPos = PC1[i] - 1;\n\t keyBits[i] = (keyWords[keyBitPos >>> 5] >>> (31 - keyBitPos % 32)) & 1;\n\t }\n\n\t // Assemble 16 subkeys\n\t var subKeys = this._subKeys = [];\n\t for (var nSubKey = 0; nSubKey < 16; nSubKey++) {\n\t // Create subkey\n\t var subKey = subKeys[nSubKey] = [];\n\n\t // Shortcut\n\t var bitShift = BIT_SHIFTS[nSubKey];\n\n\t // Select 48 bits according to PC2\n\t for (var i = 0; i < 24; i++) {\n\t // Select from the left 28 key bits\n\t subKey[(i / 6) | 0] |= keyBits[((PC2[i] - 1) + bitShift) % 28] << (31 - i % 6);\n\n\t // Select from the right 28 key bits\n\t subKey[4 + ((i / 6) | 0)] |= keyBits[28 + (((PC2[i + 24] - 1) + bitShift) % 28)] << (31 - i % 6);\n\t }\n\n\t // Since each subkey is applied to an expanded 32-bit input,\n\t // the subkey can be broken into 8 values scaled to 32-bits,\n\t // which allows the key to be used without expansion\n\t subKey[0] = (subKey[0] << 1) | (subKey[0] >>> 31);\n\t for (var i = 1; i < 7; i++) {\n\t subKey[i] = subKey[i] >>> ((i - 1) * 4 + 3);\n\t }\n\t subKey[7] = (subKey[7] << 5) | (subKey[7] >>> 27);\n\t }\n\n\t // Compute inverse subkeys\n\t var invSubKeys = this._invSubKeys = [];\n\t for (var i = 0; i < 16; i++) {\n\t invSubKeys[i] = subKeys[15 - i];\n\t }\n\t },\n\n\t encryptBlock: function (M, offset) {\n\t this._doCryptBlock(M, offset, this._subKeys);\n\t },\n\n\t decryptBlock: function (M, offset) {\n\t this._doCryptBlock(M, offset, this._invSubKeys);\n\t },\n\n\t _doCryptBlock: function (M, offset, subKeys) {\n\t // Get input\n\t this._lBlock = M[offset];\n\t this._rBlock = M[offset + 1];\n\n\t // Initial permutation\n\t exchangeLR.call(this, 4, 0x0f0f0f0f);\n\t exchangeLR.call(this, 16, 0x0000ffff);\n\t exchangeRL.call(this, 2, 0x33333333);\n\t exchangeRL.call(this, 8, 0x00ff00ff);\n\t exchangeLR.call(this, 1, 0x55555555);\n\n\t // Rounds\n\t for (var round = 0; round < 16; round++) {\n\t // Shortcuts\n\t var subKey = subKeys[round];\n\t var lBlock = this._lBlock;\n\t var rBlock = this._rBlock;\n\n\t // Feistel function\n\t var f = 0;\n\t for (var i = 0; i < 8; i++) {\n\t f |= SBOX_P[i][((rBlock ^ subKey[i]) & SBOX_MASK[i]) >>> 0];\n\t }\n\t this._lBlock = rBlock;\n\t this._rBlock = lBlock ^ f;\n\t }\n\n\t // Undo swap from last round\n\t var t = this._lBlock;\n\t this._lBlock = this._rBlock;\n\t this._rBlock = t;\n\n\t // Final permutation\n\t exchangeLR.call(this, 1, 0x55555555);\n\t exchangeRL.call(this, 8, 0x00ff00ff);\n\t exchangeRL.call(this, 2, 0x33333333);\n\t exchangeLR.call(this, 16, 0x0000ffff);\n\t exchangeLR.call(this, 4, 0x0f0f0f0f);\n\n\t // Set output\n\t M[offset] = this._lBlock;\n\t M[offset + 1] = this._rBlock;\n\t },\n\n\t keySize: 64/32,\n\n\t ivSize: 64/32,\n\n\t blockSize: 64/32\n\t });\n\n\t // Swap bits across the left and right words\n\t function exchangeLR(offset, mask) {\n\t var t = ((this._lBlock >>> offset) ^ this._rBlock) & mask;\n\t this._rBlock ^= t;\n\t this._lBlock ^= t << offset;\n\t }\n\n\t function exchangeRL(offset, mask) {\n\t var t = ((this._rBlock >>> offset) ^ this._lBlock) & mask;\n\t this._lBlock ^= t;\n\t this._rBlock ^= t << offset;\n\t }\n\n\t /**\n\t * Shortcut functions to the cipher's object interface.\n\t *\n\t * @example\n\t *\n\t * var ciphertext = CryptoJS.DES.encrypt(message, key, cfg);\n\t * var plaintext = CryptoJS.DES.decrypt(ciphertext, key, cfg);\n\t */\n\t C.DES = BlockCipher._createHelper(DES);\n\n\t /**\n\t * Triple-DES block cipher algorithm.\n\t */\n\t var TripleDES = C_algo.TripleDES = BlockCipher.extend({\n\t _doReset: function () {\n\t // Shortcuts\n\t var key = this._key;\n\t var keyWords = key.words;\n\t // Make sure the key length is valid (64, 128 or >= 192 bit)\n\t if (keyWords.length !== 2 && keyWords.length !== 4 && keyWords.length < 6) {\n\t throw new Error('Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.');\n\t }\n\n\t // Extend the key according to the keying options defined in 3DES standard\n\t var key1 = keyWords.slice(0, 2);\n\t var key2 = keyWords.length < 4 ? keyWords.slice(0, 2) : keyWords.slice(2, 4);\n\t var key3 = keyWords.length < 6 ? keyWords.slice(0, 2) : keyWords.slice(4, 6);\n\n\t // Create DES instances\n\t this._des1 = DES.createEncryptor(WordArray.create(key1));\n\t this._des2 = DES.createEncryptor(WordArray.create(key2));\n\t this._des3 = DES.createEncryptor(WordArray.create(key3));\n\t },\n\n\t encryptBlock: function (M, offset) {\n\t this._des1.encryptBlock(M, offset);\n\t this._des2.decryptBlock(M, offset);\n\t this._des3.encryptBlock(M, offset);\n\t },\n\n\t decryptBlock: function (M, offset) {\n\t this._des3.decryptBlock(M, offset);\n\t this._des2.encryptBlock(M, offset);\n\t this._des1.decryptBlock(M, offset);\n\t },\n\n\t keySize: 192/32,\n\n\t ivSize: 64/32,\n\n\t blockSize: 64/32\n\t });\n\n\t /**\n\t * Shortcut functions to the cipher's object interface.\n\t *\n\t * @example\n\t *\n\t * var ciphertext = CryptoJS.TripleDES.encrypt(message, key, cfg);\n\t * var plaintext = CryptoJS.TripleDES.decrypt(ciphertext, key, cfg);\n\t */\n\t C.TripleDES = BlockCipher._createHelper(TripleDES);\n\t}());\n\n\n\treturn CryptoJS.TripleDES;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function (undefined) {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var Base = C_lib.Base;\n\t var X32WordArray = C_lib.WordArray;\n\n\t /**\n\t * x64 namespace.\n\t */\n\t var C_x64 = C.x64 = {};\n\n\t /**\n\t * A 64-bit word.\n\t */\n\t var X64Word = C_x64.Word = Base.extend({\n\t /**\n\t * Initializes a newly created 64-bit word.\n\t *\n\t * @param {number} high The high 32 bits.\n\t * @param {number} low The low 32 bits.\n\t *\n\t * @example\n\t *\n\t * var x64Word = CryptoJS.x64.Word.create(0x00010203, 0x04050607);\n\t */\n\t init: function (high, low) {\n\t this.high = high;\n\t this.low = low;\n\t }\n\n\t /**\n\t * Bitwise NOTs this word.\n\t *\n\t * @return {X64Word} A new x64-Word object after negating.\n\t *\n\t * @example\n\t *\n\t * var negated = x64Word.not();\n\t */\n\t // not: function () {\n\t // var high = ~this.high;\n\t // var low = ~this.low;\n\n\t // return X64Word.create(high, low);\n\t // },\n\n\t /**\n\t * Bitwise ANDs this word with the passed word.\n\t *\n\t * @param {X64Word} word The x64-Word to AND with this word.\n\t *\n\t * @return {X64Word} A new x64-Word object after ANDing.\n\t *\n\t * @example\n\t *\n\t * var anded = x64Word.and(anotherX64Word);\n\t */\n\t // and: function (word) {\n\t // var high = this.high & word.high;\n\t // var low = this.low & word.low;\n\n\t // return X64Word.create(high, low);\n\t // },\n\n\t /**\n\t * Bitwise ORs this word with the passed word.\n\t *\n\t * @param {X64Word} word The x64-Word to OR with this word.\n\t *\n\t * @return {X64Word} A new x64-Word object after ORing.\n\t *\n\t * @example\n\t *\n\t * var ored = x64Word.or(anotherX64Word);\n\t */\n\t // or: function (word) {\n\t // var high = this.high | word.high;\n\t // var low = this.low | word.low;\n\n\t // return X64Word.create(high, low);\n\t // },\n\n\t /**\n\t * Bitwise XORs this word with the passed word.\n\t *\n\t * @param {X64Word} word The x64-Word to XOR with this word.\n\t *\n\t * @return {X64Word} A new x64-Word object after XORing.\n\t *\n\t * @example\n\t *\n\t * var xored = x64Word.xor(anotherX64Word);\n\t */\n\t // xor: function (word) {\n\t // var high = this.high ^ word.high;\n\t // var low = this.low ^ word.low;\n\n\t // return X64Word.create(high, low);\n\t // },\n\n\t /**\n\t * Shifts this word n bits to the left.\n\t *\n\t * @param {number} n The number of bits to shift.\n\t *\n\t * @return {X64Word} A new x64-Word object after shifting.\n\t *\n\t * @example\n\t *\n\t * var shifted = x64Word.shiftL(25);\n\t */\n\t // shiftL: function (n) {\n\t // if (n < 32) {\n\t // var high = (this.high << n) | (this.low >>> (32 - n));\n\t // var low = this.low << n;\n\t // } else {\n\t // var high = this.low << (n - 32);\n\t // var low = 0;\n\t // }\n\n\t // return X64Word.create(high, low);\n\t // },\n\n\t /**\n\t * Shifts this word n bits to the right.\n\t *\n\t * @param {number} n The number of bits to shift.\n\t *\n\t * @return {X64Word} A new x64-Word object after shifting.\n\t *\n\t * @example\n\t *\n\t * var shifted = x64Word.shiftR(7);\n\t */\n\t // shiftR: function (n) {\n\t // if (n < 32) {\n\t // var low = (this.low >>> n) | (this.high << (32 - n));\n\t // var high = this.high >>> n;\n\t // } else {\n\t // var low = this.high >>> (n - 32);\n\t // var high = 0;\n\t // }\n\n\t // return X64Word.create(high, low);\n\t // },\n\n\t /**\n\t * Rotates this word n bits to the left.\n\t *\n\t * @param {number} n The number of bits to rotate.\n\t *\n\t * @return {X64Word} A new x64-Word object after rotating.\n\t *\n\t * @example\n\t *\n\t * var rotated = x64Word.rotL(25);\n\t */\n\t // rotL: function (n) {\n\t // return this.shiftL(n).or(this.shiftR(64 - n));\n\t // },\n\n\t /**\n\t * Rotates this word n bits to the right.\n\t *\n\t * @param {number} n The number of bits to rotate.\n\t *\n\t * @return {X64Word} A new x64-Word object after rotating.\n\t *\n\t * @example\n\t *\n\t * var rotated = x64Word.rotR(7);\n\t */\n\t // rotR: function (n) {\n\t // return this.shiftR(n).or(this.shiftL(64 - n));\n\t // },\n\n\t /**\n\t * Adds this word with the passed word.\n\t *\n\t * @param {X64Word} word The x64-Word to add with this word.\n\t *\n\t * @return {X64Word} A new x64-Word object after adding.\n\t *\n\t * @example\n\t *\n\t * var added = x64Word.add(anotherX64Word);\n\t */\n\t // add: function (word) {\n\t // var low = (this.low + word.low) | 0;\n\t // var carry = (low >>> 0) < (this.low >>> 0) ? 1 : 0;\n\t // var high = (this.high + word.high + carry) | 0;\n\n\t // return X64Word.create(high, low);\n\t // }\n\t });\n\n\t /**\n\t * An array of 64-bit words.\n\t *\n\t * @property {Array} words The array of CryptoJS.x64.Word objects.\n\t * @property {number} sigBytes The number of significant bytes in this word array.\n\t */\n\t var X64WordArray = C_x64.WordArray = Base.extend({\n\t /**\n\t * Initializes a newly created word array.\n\t *\n\t * @param {Array} words (Optional) An array of CryptoJS.x64.Word objects.\n\t * @param {number} sigBytes (Optional) The number of significant bytes in the words.\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.x64.WordArray.create();\n\t *\n\t * var wordArray = CryptoJS.x64.WordArray.create([\n\t * CryptoJS.x64.Word.create(0x00010203, 0x04050607),\n\t * CryptoJS.x64.Word.create(0x18191a1b, 0x1c1d1e1f)\n\t * ]);\n\t *\n\t * var wordArray = CryptoJS.x64.WordArray.create([\n\t * CryptoJS.x64.Word.create(0x00010203, 0x04050607),\n\t * CryptoJS.x64.Word.create(0x18191a1b, 0x1c1d1e1f)\n\t * ], 10);\n\t */\n\t init: function (words, sigBytes) {\n\t words = this.words = words || [];\n\n\t if (sigBytes != undefined) {\n\t this.sigBytes = sigBytes;\n\t } else {\n\t this.sigBytes = words.length * 8;\n\t }\n\t },\n\n\t /**\n\t * Converts this 64-bit word array to a 32-bit word array.\n\t *\n\t * @return {CryptoJS.lib.WordArray} This word array's data as a 32-bit word array.\n\t *\n\t * @example\n\t *\n\t * var x32WordArray = x64WordArray.toX32();\n\t */\n\t toX32: function () {\n\t // Shortcuts\n\t var x64Words = this.words;\n\t var x64WordsLength = x64Words.length;\n\n\t // Convert\n\t var x32Words = [];\n\t for (var i = 0; i < x64WordsLength; i++) {\n\t var x64Word = x64Words[i];\n\t x32Words.push(x64Word.high);\n\t x32Words.push(x64Word.low);\n\t }\n\n\t return X32WordArray.create(x32Words, this.sigBytes);\n\t },\n\n\t /**\n\t * Creates a copy of this word array.\n\t *\n\t * @return {X64WordArray} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = x64WordArray.clone();\n\t */\n\t clone: function () {\n\t var clone = Base.clone.call(this);\n\n\t // Clone \"words\" array\n\t var words = clone.words = this.words.slice(0);\n\n\t // Clone each X64Word object\n\t var wordsLength = words.length;\n\t for (var i = 0; i < wordsLength; i++) {\n\t words[i] = words[i].clone();\n\t }\n\n\t return clone;\n\t }\n\t });\n\t}());\n\n\n\treturn CryptoJS;\n\n}));","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","export const toCodePoints = (str: string): number[] => {\n const codePoints = [];\n let i = 0;\n const length = str.length;\n while (i < length) {\n const value = str.charCodeAt(i++);\n if (value >= 0xd800 && value <= 0xdbff && i < length) {\n const extra = str.charCodeAt(i++);\n if ((extra & 0xfc00) === 0xdc00) {\n codePoints.push(((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000);\n } else {\n codePoints.push(value);\n i--;\n }\n } else {\n codePoints.push(value);\n }\n }\n return codePoints;\n};\n\nexport const fromCodePoint = (...codePoints: number[]): string => {\n if (String.fromCodePoint) {\n return String.fromCodePoint(...codePoints);\n }\n\n const length = codePoints.length;\n if (!length) {\n return '';\n }\n\n const codeUnits = [];\n\n let index = -1;\n let result = '';\n while (++index < length) {\n let codePoint = codePoints[index];\n if (codePoint <= 0xffff) {\n codeUnits.push(codePoint);\n } else {\n codePoint -= 0x10000;\n codeUnits.push((codePoint >> 10) + 0xd800, (codePoint % 0x400) + 0xdc00);\n }\n if (index + 1 === length || codeUnits.length > 0x4000) {\n result += String.fromCharCode(...codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n};\n\nconst chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const decode = (base64: string): ArrayBuffer | number[] => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const buffer =\n typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n typeof Uint8Array.prototype.slice !== 'undefined'\n ? new ArrayBuffer(bufferLength)\n : new Array(bufferLength);\n const bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return buffer;\n};\n\nexport const polyUint16Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 2) {\n bytes.push((buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n\nexport const polyUint32Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 4) {\n bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n","import {Context} from '../../core/context';\n\nexport class Bounds {\n constructor(readonly left: number, readonly top: number, readonly width: number, readonly height: number) {}\n\n add(x: number, y: number, w: number, h: number): Bounds {\n return new Bounds(this.left + x, this.top + y, this.width + w, this.height + h);\n }\n\n static fromClientRect(context: Context, clientRect: ClientRect): Bounds {\n return new Bounds(\n clientRect.left + context.windowBounds.left,\n clientRect.top + context.windowBounds.top,\n clientRect.width,\n clientRect.height\n );\n }\n\n static fromDOMRectList(context: Context, domRectList: DOMRectList): Bounds {\n const domRect = Array.from(domRectList).find((rect) => rect.width !== 0);\n return domRect\n ? new Bounds(\n domRect.left + context.windowBounds.left,\n domRect.top + context.windowBounds.top,\n domRect.width,\n domRect.height\n )\n : Bounds.EMPTY;\n }\n\n static EMPTY = new Bounds(0, 0, 0, 0);\n}\n\nexport const parseBounds = (context: Context, node: Element): Bounds => {\n return Bounds.fromClientRect(context, node.getBoundingClientRect());\n};\n\nexport const parseDocumentSize = (document: Document): Bounds => {\n const body = document.body;\n const documentElement = document.documentElement;\n\n if (!body || !documentElement) {\n throw new Error(`Unable to get document size`);\n }\n const width = Math.max(\n Math.max(body.scrollWidth, documentElement.scrollWidth),\n Math.max(body.offsetWidth, documentElement.offsetWidth),\n Math.max(body.clientWidth, documentElement.clientWidth)\n );\n\n const height = Math.max(\n Math.max(body.scrollHeight, documentElement.scrollHeight),\n Math.max(body.offsetHeight, documentElement.offsetHeight),\n Math.max(body.clientHeight, documentElement.clientHeight)\n );\n\n return new Bounds(0, 0, width, height);\n};\n","const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const decode = (base64: string): ArrayBuffer | number[] => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const buffer =\n typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n typeof Uint8Array.prototype.slice !== 'undefined'\n ? new ArrayBuffer(bufferLength)\n : new Array(bufferLength);\n const bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return buffer;\n};\n\nexport const polyUint16Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 2) {\n bytes.push((buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n\nexport const polyUint32Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 4) {\n bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n","const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const encode = (arraybuffer: ArrayBuffer): string => {\n let bytes = new Uint8Array(arraybuffer),\n i,\n len = bytes.length,\n base64 = '';\n\n for (i = 0; i < len; i += 3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n\n if (len % 3 === 2) {\n base64 = base64.substring(0, base64.length - 1) + '=';\n } else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + '==';\n }\n\n return base64;\n};\n\nexport const decode = (base64: string): ArrayBuffer => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const arraybuffer = new ArrayBuffer(bufferLength),\n bytes = new Uint8Array(arraybuffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return arraybuffer;\n};\n","import {decode, polyUint16Array, polyUint32Array} from './Util';\n\nexport type int = number;\n\n/** Shift size for getting the index-2 table offset. */\nexport const UTRIE2_SHIFT_2 = 5;\n\n/** Shift size for getting the index-1 table offset. */\nexport const UTRIE2_SHIFT_1 = 6 + 5;\n\n/**\n * Shift size for shifting left the index array values.\n * Increases possible data size with 16-bit index values at the cost\n * of compactability.\n * This requires data blocks to be aligned by UTRIE2_DATA_GRANULARITY.\n */\nexport const UTRIE2_INDEX_SHIFT = 2;\n\n/**\n * Difference between the two shift sizes,\n * for getting an index-1 offset from an index-2 offset. 6=11-5\n */\nexport const UTRIE2_SHIFT_1_2 = UTRIE2_SHIFT_1 - UTRIE2_SHIFT_2;\n\n/**\n * The part of the index-2 table for U+D800..U+DBFF stores values for\n * lead surrogate code _units_ not code _points_.\n * Values for lead surrogate code _points_ are indexed with this portion of the table.\n * Length=32=0x20=0x400>>UTRIE2_SHIFT_2. (There are 1024=0x400 lead surrogates.)\n */\nexport const UTRIE2_LSCP_INDEX_2_OFFSET = 0x10000 >> UTRIE2_SHIFT_2;\n\n/** Number of entries in a data block. 32=0x20 */\nexport const UTRIE2_DATA_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_2;\n/** Mask for getting the lower bits for the in-data-block offset. */\nexport const UTRIE2_DATA_MASK = UTRIE2_DATA_BLOCK_LENGTH - 1;\n\nexport const UTRIE2_LSCP_INDEX_2_LENGTH = 0x400 >> UTRIE2_SHIFT_2;\n/** Count the lengths of both BMP pieces. 2080=0x820 */\nexport const UTRIE2_INDEX_2_BMP_LENGTH = UTRIE2_LSCP_INDEX_2_OFFSET + UTRIE2_LSCP_INDEX_2_LENGTH;\n/**\n * The 2-byte UTF-8 version of the index-2 table follows at offset 2080=0x820.\n * Length 32=0x20 for lead bytes C0..DF, regardless of UTRIE2_SHIFT_2.\n */\nexport const UTRIE2_UTF8_2B_INDEX_2_OFFSET = UTRIE2_INDEX_2_BMP_LENGTH;\nexport const UTRIE2_UTF8_2B_INDEX_2_LENGTH = 0x800 >> 6; /* U+0800 is the first code point after 2-byte UTF-8 */\n/**\n * The index-1 table, only used for supplementary code points, at offset 2112=0x840.\n * Variable length, for code points up to highStart, where the last single-value range starts.\n * Maximum length 512=0x200=0x100000>>UTRIE2_SHIFT_1.\n * (For 0x100000 supplementary code points U+10000..U+10ffff.)\n *\n * The part of the index-2 table for supplementary code points starts\n * after this index-1 table.\n *\n * Both the index-1 table and the following part of the index-2 table\n * are omitted completely if there is only BMP data.\n */\nexport const UTRIE2_INDEX_1_OFFSET = UTRIE2_UTF8_2B_INDEX_2_OFFSET + UTRIE2_UTF8_2B_INDEX_2_LENGTH;\n\n/**\n * Number of index-1 entries for the BMP. 32=0x20\n * This part of the index-1 table is omitted from the serialized form.\n */\nexport const UTRIE2_OMITTED_BMP_INDEX_1_LENGTH = 0x10000 >> UTRIE2_SHIFT_1;\n\n/** Number of entries in an index-2 block. 64=0x40 */\nexport const UTRIE2_INDEX_2_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_1_2;\n/** Mask for getting the lower bits for the in-index-2-block offset. */\nexport const UTRIE2_INDEX_2_MASK = UTRIE2_INDEX_2_BLOCK_LENGTH - 1;\n\nconst slice16 = (view: number[] | Uint16Array, start: number, end?: number) => {\n if (view.slice) {\n return view.slice(start, end);\n }\n\n return new Uint16Array(Array.prototype.slice.call(view, start, end));\n};\n\nconst slice32 = (view: number[] | Uint32Array, start: number, end?: number) => {\n if (view.slice) {\n return view.slice(start, end);\n }\n\n return new Uint32Array(Array.prototype.slice.call(view, start, end));\n};\n\nexport const createTrieFromBase64 = (base64: string, _byteLength: number): Trie => {\n const buffer = decode(base64);\n const view32 = Array.isArray(buffer) ? polyUint32Array(buffer) : new Uint32Array(buffer);\n const view16 = Array.isArray(buffer) ? polyUint16Array(buffer) : new Uint16Array(buffer);\n const headerLength = 24;\n\n const index = slice16(view16, headerLength / 2, view32[4] / 2);\n const data =\n view32[5] === 2\n ? slice16(view16, (headerLength + view32[4]) / 2)\n : slice32(view32, Math.ceil((headerLength + view32[4]) / 4));\n\n return new Trie(view32[0], view32[1], view32[2], view32[3], index, data);\n};\n\nexport class Trie {\n initialValue: int;\n errorValue: int;\n highStart: int;\n highValueIndex: int;\n index: Uint16Array | number[];\n data: Uint32Array | Uint16Array | number[];\n\n constructor(\n initialValue: int,\n errorValue: int,\n highStart: int,\n highValueIndex: int,\n index: Uint16Array | number[],\n data: Uint32Array | Uint16Array | number[]\n ) {\n this.initialValue = initialValue;\n this.errorValue = errorValue;\n this.highStart = highStart;\n this.highValueIndex = highValueIndex;\n this.index = index;\n this.data = data;\n }\n\n /**\n * Get the value for a code point as stored in the Trie.\n *\n * @param codePoint the code point\n * @return the value\n */\n get(codePoint: number): number {\n let ix;\n if (codePoint >= 0) {\n if (codePoint < 0x0d800 || (codePoint > 0x0dbff && codePoint <= 0x0ffff)) {\n // Ordinary BMP code point, excluding leading surrogates.\n // BMP uses a single level lookup. BMP index starts at offset 0 in the Trie2 index.\n // 16 bit data is stored in the index array itself.\n ix = this.index[codePoint >> UTRIE2_SHIFT_2];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n\n if (codePoint <= 0xffff) {\n // Lead Surrogate Code Point. A Separate index section is stored for\n // lead surrogate code units and code points.\n // The main index has the code unit data.\n // For this function, we need the code point data.\n // Note: this expression could be refactored for slightly improved efficiency, but\n // surrogate code points will be so rare in practice that it's not worth it.\n ix = this.index[UTRIE2_LSCP_INDEX_2_OFFSET + ((codePoint - 0xd800) >> UTRIE2_SHIFT_2)];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n\n if (codePoint < this.highStart) {\n // Supplemental code point, use two-level lookup.\n ix = UTRIE2_INDEX_1_OFFSET - UTRIE2_OMITTED_BMP_INDEX_1_LENGTH + (codePoint >> UTRIE2_SHIFT_1);\n ix = this.index[ix];\n ix += (codePoint >> UTRIE2_SHIFT_2) & UTRIE2_INDEX_2_MASK;\n ix = this.index[ix];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n if (codePoint <= 0x10ffff) {\n return this.data[this.highValueIndex];\n }\n }\n\n // Fall through. The code point is outside of the legal range of 0..0x10ffff.\n return this.errorValue;\n }\n}\n","export const base64 =\n 'KwAAAAAAAAAACA4AUD0AADAgAAACAAAAAAAIABAAGABAAEgAUABYAGAAaABgAGgAYgBqAF8AZwBgAGgAcQB5AHUAfQCFAI0AlQCdAKIAqgCyALoAYABoAGAAaABgAGgAwgDKAGAAaADGAM4A0wDbAOEA6QDxAPkAAQEJAQ8BFwF1AH0AHAEkASwBNAE6AUIBQQFJAVEBWQFhAWgBcAF4ATAAgAGGAY4BlQGXAZ8BpwGvAbUBvQHFAc0B0wHbAeMB6wHxAfkBAQIJAvEBEQIZAiECKQIxAjgCQAJGAk4CVgJeAmQCbAJ0AnwCgQKJApECmQKgAqgCsAK4ArwCxAIwAMwC0wLbAjAA4wLrAvMC+AIAAwcDDwMwABcDHQMlAy0DNQN1AD0DQQNJA0kDSQNRA1EDVwNZA1kDdQB1AGEDdQBpA20DdQN1AHsDdQCBA4kDkQN1AHUAmQOhA3UAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AKYDrgN1AHUAtgO+A8YDzgPWAxcD3gPjA+sD8wN1AHUA+wMDBAkEdQANBBUEHQQlBCoEFwMyBDgEYABABBcDSARQBFgEYARoBDAAcAQzAXgEgASIBJAEdQCXBHUAnwSnBK4EtgS6BMIEyAR1AHUAdQB1AHUAdQCVANAEYABgAGAAYABgAGAAYABgANgEYADcBOQEYADsBPQE/AQEBQwFFAUcBSQFLAU0BWQEPAVEBUsFUwVbBWAAYgVgAGoFcgV6BYIFigWRBWAAmQWfBaYFYABgAGAAYABgAKoFYACxBbAFuQW6BcEFwQXHBcEFwQXPBdMF2wXjBeoF8gX6BQIGCgYSBhoGIgYqBjIGOgZgAD4GRgZMBmAAUwZaBmAAYABgAGAAYABgAGAAYABgAGAAYABgAGIGYABpBnAGYABgAGAAYABgAGAAYABgAGAAYAB4Bn8GhQZgAGAAYAB1AHcDFQSLBmAAYABgAJMGdQA9A3UAmwajBqsGqwaVALMGuwbDBjAAywbSBtIG1QbSBtIG0gbSBtIG0gbdBuMG6wbzBvsGAwcLBxMHAwcbByMHJwcsBywHMQcsB9IGOAdAB0gHTgfSBkgHVgfSBtIG0gbSBtIG0gbSBtIG0gbSBiwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdgAGAALAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdbB2MHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB2kH0gZwB64EdQB1AHUAdQB1AHUAdQB1AHUHfQdgAIUHjQd1AHUAlQedB2AAYAClB6sHYACzB7YHvgfGB3UAzgfWBzMB3gfmB1EB7gf1B/0HlQENAQUIDQh1ABUIHQglCBcDLQg1CD0IRQhNCEEDUwh1AHUAdQBbCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIcAh3CHoIMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIgggwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAALAcsBywHLAcsBywHLAcsBywHLAcsB4oILAcsB44I0gaWCJ4Ipgh1AHUAqgiyCHUAdQB1AHUAdQB1AHUAdQB1AHUAtwh8AXUAvwh1AMUIyQjRCNkI4AjoCHUAdQB1AO4I9gj+CAYJDgkTCS0HGwkjCYIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiAAIAAAAFAAYABgAGIAXwBgAHEAdQBFAJUAogCyAKAAYABgAEIA4ABGANMA4QDxAMEBDwE1AFwBLAE6AQEBUQF4QkhCmEKoQrhCgAHIQsAB0MLAAcABwAHAAeDC6ABoAHDCwMMAAcABwAHAAdDDGMMAAcAB6MM4wwjDWMNow3jDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEjDqABWw6bDqABpg6gAaABoAHcDvwOPA+gAaABfA/8DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DpcPAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAB9cPKwkyCToJMAB1AHUAdQBCCUoJTQl1AFUJXAljCWcJawkwADAAMAAwAHMJdQB2CX4JdQCECYoJjgmWCXUAngkwAGAAYABxAHUApgn3A64JtAl1ALkJdQDACTAAMAAwADAAdQB1AHUAdQB1AHUAdQB1AHUAowYNBMUIMAAwADAAMADICcsJ0wnZCRUE4QkwAOkJ8An4CTAAMAB1AAAKvwh1AAgKDwoXCh8KdQAwACcKLgp1ADYKqAmICT4KRgowADAAdQB1AE4KMAB1AFYKdQBeCnUAZQowADAAMAAwADAAMAAwADAAMAAVBHUAbQowADAAdQC5CXUKMAAwAHwBxAijBogEMgF9CoQKiASMCpQKmgqIBKIKqgquCogEDQG2Cr4KxgrLCjAAMADTCtsKCgHjCusK8Qr5CgELMAAwADAAMAB1AIsECQsRC3UANAEZCzAAMAAwADAAMAB1ACELKQswAHUANAExCzkLdQBBC0kLMABRC1kLMAAwADAAMAAwADAAdQBhCzAAMAAwAGAAYABpC3ELdwt/CzAAMACHC4sLkwubC58Lpwt1AK4Ltgt1APsDMAAwADAAMAAwADAAMAAwAL4LwwvLC9IL1wvdCzAAMADlC+kL8Qv5C/8LSQswADAAMAAwADAAMAAwADAAMAAHDDAAMAAwADAAMAAODBYMHgx1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1ACYMMAAwADAAdQB1AHUALgx1AHUAdQB1AHUAdQA2DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AD4MdQBGDHUAdQB1AHUAdQB1AEkMdQB1AHUAdQB1AFAMMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQBYDHUAdQB1AF8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUA+wMVBGcMMAAwAHwBbwx1AHcMfwyHDI8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAYABgAJcMMAAwADAAdQB1AJ8MlQClDDAAMACtDCwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB7UMLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AA0EMAC9DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAsBywHLAcsBywHLAcsBywHLQcwAMEMyAwsBywHLAcsBywHLAcsBywHLAcsBywHzAwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1ANQM2QzhDDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMABgAGAAYABgAGAAYABgAOkMYADxDGAA+AwADQYNYABhCWAAYAAODTAAMAAwADAAFg1gAGAAHg37AzAAMAAwADAAYABgACYNYAAsDTQNPA1gAEMNPg1LDWAAYABgAGAAYABgAGAAYABgAGAAUg1aDYsGVglhDV0NcQBnDW0NdQ15DWAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAlQCBDZUAiA2PDZcNMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAnw2nDTAAMAAwADAAMAAwAHUArw23DTAAMAAwADAAMAAwADAAMAAwADAAMAB1AL8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQDHDTAAYABgAM8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA1w11ANwNMAAwAD0B5A0wADAAMAAwADAAMADsDfQN/A0EDgwOFA4wABsOMAAwADAAMAAwADAAMAAwANIG0gbSBtIG0gbSBtIG0gYjDigOwQUuDsEFMw7SBjoO0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGQg5KDlIOVg7SBtIGXg5lDm0OdQ7SBtIGfQ6EDooOjQ6UDtIGmg6hDtIG0gaoDqwO0ga0DrwO0gZgAGAAYADEDmAAYAAkBtIGzA5gANIOYADaDokO0gbSBt8O5w7SBu8O0gb1DvwO0gZgAGAAxA7SBtIG0gbSBtIGYABgAGAAYAAED2AAsAUMD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHJA8sBywHLAcsBywHLAccDywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywPLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAc0D9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHPA/SBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gYUD0QPlQCVAJUAMAAwADAAMACVAJUAlQCVAJUAlQCVAEwPMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA//8EAAQABAAEAAQABAAEAAQABAANAAMAAQABAAIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQACgATABcAHgAbABoAHgAXABYAEgAeABsAGAAPABgAHABLAEsASwBLAEsASwBLAEsASwBLABgAGAAeAB4AHgATAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYAGwASAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWAA0AEQAeAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAFAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJABYAGgAbABsAGwAeAB0AHQAeAE8AFwAeAA0AHgAeABoAGwBPAE8ADgBQAB0AHQAdAE8ATwAXAE8ATwBPABYAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAFAATwBAAE8ATwBPAEAATwBQAFAATwBQAB4AHgAeAB4AHgAeAB0AHQAdAB0AHgAdAB4ADgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgBQAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkACQAJAAkACQAJAAkABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAFAAHgAeAB4AKwArAFAAUABQAFAAGABQACsAKwArACsAHgAeAFAAHgBQAFAAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUAAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAYAA0AKwArAB4AHgAbACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAB4ABAAEAB4ABAAEABMABAArACsAKwArACsAKwArACsAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAKwArACsAKwBWAFYAVgBWAB4AHgArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AGgAaABoAGAAYAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQAEwAEACsAEwATAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABLAEsASwBLAEsASwBLAEsASwBLABoAGQAZAB4AUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABMAUAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABABQAFAABAAEAB4ABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUAAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAFAABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQAUABQAB4AHgAYABMAUAArACsABAAbABsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAFAABAAEAAQABAAEAFAABAAEAAQAUAAEAAQABAAEAAQAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArACsAHgArAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEAA0ADQBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUAArACsAKwBQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABABQACsAKwArACsAKwArACsAKwAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUAAaABoAUABQAFAAUABQAEwAHgAbAFAAHgAEACsAKwAEAAQABAArAFAAUABQAFAAUABQACsAKwArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQACsAUABQACsAKwAEACsABAAEAAQABAAEACsAKwArACsABAAEACsAKwAEAAQABAArACsAKwAEACsAKwArACsAKwArACsAUABQAFAAUAArAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLAAQABABQAFAAUAAEAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAArACsAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AGwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAKwArACsAKwArAAQABAAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAAQAUAArAFAAUABQAFAAUABQACsAKwArAFAAUABQACsAUABQAFAAUAArACsAKwBQAFAAKwBQACsAUABQACsAKwArAFAAUAArACsAKwBQAFAAUAArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAAQABAAEAAQABAArACsAKwAEAAQABAArAAQABAAEAAQAKwArAFAAKwArACsAKwArACsABAArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAHgAeAB4AHgAeAB4AGwAeACsAKwArACsAKwAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAUABQAFAAKwArACsAKwArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwAOAFAAUABQAFAAUABQAFAAHgBQAAQABAAEAA4AUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAKwArAAQAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAKwArACsAKwArACsAUAArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABABQAB4AKwArACsAKwBQAFAAUAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQABoAUABQAFAAUABQAFAAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQACsAUAArACsAUABQAFAAUABQAFAAUAArACsAKwAEACsAKwArACsABAAEAAQABAAEAAQAKwAEACsABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgAqACsAKwArACsAGwBcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAeAEsASwBLAEsASwBLAEsASwBLAEsADQANACsAKwArACsAKwBcAFwAKwBcACsAXABcAFwAXABcACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAXAArAFwAXABcAFwAXABcAFwAXABcAFwAKgBcAFwAKgAqACoAKgAqACoAKgAqACoAXAArACsAXABcAFwAXABcACsAXAArACoAKgAqACoAKgAqACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwBcAFwAXABcAFAADgAOAA4ADgAeAA4ADgAJAA4ADgANAAkAEwATABMAEwATAAkAHgATAB4AHgAeAAQABAAeAB4AHgAeAB4AHgBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQAFAADQAEAB4ABAAeAAQAFgARABYAEQAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAAQABAAEAAQADQAEAAQAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAA0ADQAeAB4AHgAeAB4AHgAEAB4AHgAeAB4AHgAeACsAHgAeAA4ADgANAA4AHgAeAB4AHgAeAAkACQArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgBcAEsASwBLAEsASwBLAEsASwBLAEsADQANAB4AHgAeAB4AXABcAFwAXABcAFwAKgAqACoAKgBcAFwAXABcACoAKgAqAFwAKgAqACoAXABcACoAKgAqACoAKgAqACoAXABcAFwAKgAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqAFwAKgBLAEsASwBLAEsASwBLAEsASwBLACoAKgAqACoAKgAqAFAAUABQAFAAUABQACsAUAArACsAKwArACsAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAKwBQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsABAAEAAQAHgANAB4AHgAeAB4AHgAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUAArACsADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWABEAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQANAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAANAA0AKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUAArAAQABAArACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqAA0ADQAVAFwADQAeAA0AGwBcACoAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwAeAB4AEwATAA0ADQAOAB4AEwATAB4ABAAEAAQACQArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAHgArACsAKwATABMASwBLAEsASwBLAEsASwBLAEsASwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAXABcAFwAXABcACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAXAArACsAKwAqACoAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsAHgAeAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKwAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKwArAAQASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACoAKgAqACoAKgAqACoAXAAqACoAKgAqACoAKgArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABABQAFAAUABQAFAAUABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwANAA0AHgANAA0ADQANAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwAeAB4AHgAeAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArAA0ADQANAA0ADQBLAEsASwBLAEsASwBLAEsASwBLACsAKwArAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUAAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAAQAUABQAFAAUABQAFAABABQAFAABAAEAAQAUAArACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQACsAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQACsAKwAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQACsAHgAeAB4AHgAeAB4AHgAOAB4AKwANAA0ADQANAA0ADQANAAkADQANAA0ACAAEAAsABAAEAA0ACQANAA0ADAAdAB0AHgAXABcAFgAXABcAFwAWABcAHQAdAB4AHgAUABQAFAANAAEAAQAEAAQABAAEAAQACQAaABoAGgAaABoAGgAaABoAHgAXABcAHQAVABUAHgAeAB4AHgAeAB4AGAAWABEAFQAVABUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ADQAeAA0ADQANAA0AHgANAA0ADQAHAB4AHgAeAB4AKwAEAAQABAAEAAQABAAEAAQABAAEAFAAUAArACsATwBQAFAAUABQAFAAHgAeAB4AFgARAE8AUABPAE8ATwBPAFAAUABQAFAAUAAeAB4AHgAWABEAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArABsAGwAbABsAGwAbABsAGgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGgAbABsAGwAbABoAGwAbABoAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAHgAeAFAAGgAeAB0AHgBQAB4AGgAeAB4AHgAeAB4AHgAeAB4AHgBPAB4AUAAbAB4AHgBQAFAAUABQAFAAHgAeAB4AHQAdAB4AUAAeAFAAHgBQAB4AUABPAFAAUAAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgBQAFAAUABQAE8ATwBQAFAAUABQAFAATwBQAFAATwBQAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAUABQAFAATwBPAE8ATwBPAE8ATwBPAE8ATwBQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABPAB4AHgArACsAKwArAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHQAdAB4AHgAeAB0AHQAeAB4AHQAeAB4AHgAdAB4AHQAbABsAHgAdAB4AHgAeAB4AHQAeAB4AHQAdAB0AHQAeAB4AHQAeAB0AHgAdAB0AHQAdAB0AHQAeAB0AHgAeAB4AHgAeAB0AHQAdAB0AHgAeAB4AHgAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB0AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAdAB0AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAWABEAHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AHQAdAB0AHgAeAB0AHgAeAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlAB4AHQAdAB4AHgAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AJQAlAB0AHQAlAB4AJQAlACUAIAAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAdAB0AHQAeAB0AJQAdAB0AHgAdAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAdAB0AHQAdACUAHgAlACUAJQAdACUAJQAdAB0AHQAlACUAHQAdACUAHQAdACUAJQAlAB4AHQAeAB4AHgAeAB0AHQAlAB0AHQAdAB0AHQAdACUAJQAlACUAJQAdACUAJQAgACUAHQAdACUAJQAlACUAJQAlACUAJQAeAB4AHgAlACUAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AFwAXABcAFwAXABcAHgATABMAJQAeAB4AHgAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARABYAEQAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAeAB4AKwArACsAKwArABMADQANAA0AUAATAA0AUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUAANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAA0ADQANAA0ADQANAA0ADQAeAA0AFgANAB4AHgAXABcAHgAeABcAFwAWABEAFgARABYAEQAWABEADQANAA0ADQATAFAADQANAB4ADQANAB4AHgAeAB4AHgAMAAwADQANAA0AHgANAA0AFgANAA0ADQANAA0ADQANAA0AHgANAB4ADQANAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArAA0AEQARACUAJQBHAFcAVwAWABEAFgARABYAEQAWABEAFgARACUAJQAWABEAFgARABYAEQAWABEAFQAWABEAEQAlAFcAVwBXAFcAVwBXAFcAVwBXAAQABAAEAAQABAAEACUAVwBXAFcAVwA2ACUAJQBXAFcAVwBHAEcAJQAlACUAKwBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBRAFcAUQBXAFEAVwBXAFcAVwBXAFcAUQBXAFcAVwBXAFcAVwBRAFEAKwArAAQABAAVABUARwBHAFcAFQBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBRAFcAVwBXAFcAVwBXAFEAUQBXAFcAVwBXABUAUQBHAEcAVwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwAlACUAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACsAKwArACsAKwArACsAKwArACsAKwArAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBPAE8ATwBPAE8ATwBPAE8AJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADQATAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQAHgBQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAeAA0ADQANAA0ADQArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAAQAUABQAFAABABQAFAAUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAeAB4AHgAeAAQAKwArACsAUABQAFAAUABQAFAAHgAeABoAHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADgAOABMAEwArACsAKwArACsAKwArACsABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUAAeAB4AHgBQAA4AUABQAAQAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAB4AWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYACsAKwArAAQAHgAeAB4AHgAeAB4ADQANAA0AHgAeAB4AHgArAFAASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArAB4AHgBcAFwAXABcAFwAKgBcAFwAXABcAFwAXABcAFwAXABcAEsASwBLAEsASwBLAEsASwBLAEsAXABcAFwAXABcACsAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAFAAUABQAAQAUABQAFAAUABQAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAHgANAA0ADQBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAKgAqACoAXABcACoAKgBcAFwAXABcAFwAKgAqAFwAKgBcACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAA0ADQBQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQADQAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAVABVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBUAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVACsAKwArACsAKwArACsAKwArACsAKwArAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAKwArACsAKwBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAKwArACsAKwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArACsAKwArAFYABABWAFYAVgBWAFYAVgBWAFYAVgBWAB4AVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgArAFYAVgBWAFYAVgArAFYAKwBWAFYAKwBWAFYAKwBWAFYAVgBWAFYAVgBWAFYAVgBWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEQAWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAaAB4AKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAARABEAGAAYABMAEwAWABEAFAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACUAJQAlACUAJQAWABEAFgARABYAEQAWABEAFgARABYAEQAlACUAFgARACUAJQAlACUAJQAlACUAEQAlABEAKwAVABUAEwATACUAFgARABYAEQAWABEAJQAlACUAJQAlACUAJQAlACsAJQAbABoAJQArACsAKwArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAcAKwATACUAJQAbABoAJQAlABYAEQAlACUAEQAlABEAJQBXAFcAVwBXAFcAVwBXAFcAVwBXABUAFQAlACUAJQATACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXABYAJQARACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAWACUAEQAlABYAEQARABYAEQARABUAVwBRAFEAUQBRAFEAUQBRAFEAUQBRAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcARwArACsAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXACsAKwBXAFcAVwBXAFcAVwArACsAVwBXAFcAKwArACsAGgAbACUAJQAlABsAGwArAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAAQAB0AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsADQANAA0AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAA0AUABQAFAAUAArACsAKwArAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwBQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAUABQAFAAUABQAAQABAAEACsABAAEACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAKwBQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAA0ADQANAA0ADQANAA0ADQAeACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAArACsAKwArAFAAUABQAFAAUAANAA0ADQANAA0ADQAUACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsADQANAA0ADQANAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArAAQABAANACsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAB4AHgAeAB4AHgArACsAKwArACsAKwAEAAQABAAEAAQABAAEAA0ADQAeAB4AHgAeAB4AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsASwBLAEsASwBLAEsASwBLAEsASwANAA0ADQANAFAABAAEAFAAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAeAA4AUAArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAADQANAB4ADQAEAAQABAAEAB4ABAAEAEsASwBLAEsASwBLAEsASwBLAEsAUAAOAFAADQANAA0AKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAA0AHgANAA0AHgAEACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAA0AKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsABAAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAUAArACsAKwArACsAKwAEACsAKwArACsAKwBQAFAAUABQAFAABAAEACsAKwAEAAQABAAEAAQABAAEACsAKwArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABABQAFAAUABQAA0ADQANAA0AHgBLAEsASwBLAEsASwBLAEsASwBLAA0ADQArAB4ABABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUAAeAFAAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABAAEAAQADgANAA0AEwATAB4AHgAeAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAFAAUABQAFAABAAEACsAKwAEAA0ADQAeAFAAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKwArACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBcAFwADQANAA0AKgBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQAKwAEAAQAKwArAAQABAAEAAQAUAAEAFAABAAEAA0ADQANACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABABQAA4AUAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAOAB4ADQANAA0ADQAOAB4ABAArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA0ADQANAFAADgAOAA4ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAFAADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAOABMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAArACsAKwAEACsABAAEACsABAAEAAQABAAEAAQABABQAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAaABoAGgAaAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABIAEgAQwBDAEMAUABQAFAAUABDAFAAUABQAEgAQwBIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABDAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAJAAkACQAJAAkACQAJABYAEQArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwANAA0AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAANACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQANAB4AHgAeAB4AHgAeAFAAUABQAFAADQAeACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAA0AHgAeACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAARwBHABUARwAJACsAKwArACsAKwArACsAKwArACsAKwAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUQBRAFEAKwArACsAKwArACsAKwArACsAKwArACsAKwBRAFEAUQBRACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAHgAEAAQADQAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQABAAEAAQABAAeAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQAHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAKwArAFAAKwArAFAAUAArACsAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUAArAFAAUABQAFAAUABQAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAHgAeAFAAUABQAFAAUAArAFAAKwArACsAUABQAFAAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeACsAKwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4ABAAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAHgAeAA0ADQANAA0AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArAAQABAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwBQAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArABsAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAB4AHgAeAB4ABAAEAAQABAAEAAQABABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArABYAFgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAGgBQAFAAUAAaAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUAArACsAKwArACsAKwBQACsAKwArACsAUAArAFAAKwBQACsAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUAArAFAAKwBQACsAUAArAFAAUAArAFAAKwArAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAKwBQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AJQAlACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeACUAJQAlAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAlACUAJQAlACUAHgAlACUAJQAlACUAIAAgACAAJQAlACAAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACEAIQAhACEAIQAlACUAIAAgACUAJQAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAIAAlACUAJQAlACAAIAAgACUAIAAgACAAJQAlACUAJQAlACUAJQAgACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAlAB4AJQAeACUAJQAlACUAJQAgACUAJQAlACUAHgAlAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACAAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABcAFwAXABUAFQAVAB4AHgAeAB4AJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAgACUAJQAgACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAIAAgACUAJQAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACAAIAAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACAAIAAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAA==';\nexport const byteLength = 39664;\n","'use strict';\n\nimport {createTrieFromBase64} from 'utrie';\nimport {base64, byteLength} from './linebreak-trie';\nimport {fromCodePoint, toCodePoints} from './Util';\n\nexport const LETTER_NUMBER_MODIFIER = 50;\n\n// Non-tailorable Line Breaking Classes\nconst BK = 1; // Cause a line break (after)\nconst CR = 2; // Cause a line break (after), except between CR and LF\nconst LF = 3; // Cause a line break (after)\nconst CM = 4; // Prohibit a line break between the character and the preceding character\nconst NL = 5; // Cause a line break (after)\nconst SG = 6; // Do not occur in well-formed text\nconst WJ = 7; // Prohibit line breaks before and after\nconst ZW = 8; // Provide a break opportunity\nconst GL = 9; // Prohibit line breaks before and after\nconst SP = 10; // Enable indirect line breaks\nconst ZWJ = 11; // Prohibit line breaks within joiner sequences\n// Break Opportunities\nconst B2 = 12; // Provide a line break opportunity before and after the character\nconst BA = 13; // Generally provide a line break opportunity after the character\nconst BB = 14; // Generally provide a line break opportunity before the character\nconst HY = 15; // Provide a line break opportunity after the character, except in numeric context\nconst CB = 16; // Provide a line break opportunity contingent on additional information\n// Characters Prohibiting Certain Breaks\nconst CL = 17; // Prohibit line breaks before\nconst CP = 18; // Prohibit line breaks before\nconst EX = 19; // Prohibit line breaks before\nconst IN = 20; // Allow only indirect line breaks between pairs\nconst NS = 21; // Allow only indirect line breaks before\nconst OP = 22; // Prohibit line breaks after\nconst QU = 23; // Act like they are both opening and closing\n// Numeric Context\nconst IS = 24; // Prevent breaks after any and before numeric\nconst NU = 25; // Form numeric expressions for line breaking purposes\nconst PO = 26; // Do not break following a numeric expression\nconst PR = 27; // Do not break in front of a numeric expression\nconst SY = 28; // Prevent a break before; and allow a break after\n// Other Characters\nconst AI = 29; // Act like AL when the resolvedEAW is N; otherwise; act as ID\nconst AL = 30; // Are alphabetic characters or symbols that are used with alphabetic characters\nconst CJ = 31; // Treat as NS or ID for strict or normal breaking.\nconst EB = 32; // Do not break from following Emoji Modifier\nconst EM = 33; // Do not break from preceding Emoji Base\nconst H2 = 34; // Form Korean syllable blocks\nconst H3 = 35; // Form Korean syllable blocks\nconst HL = 36; // Do not break around a following hyphen; otherwise act as Alphabetic\nconst ID = 37; // Break before or after; except in some numeric context\nconst JL = 38; // Form Korean syllable blocks\nconst JV = 39; // Form Korean syllable blocks\nconst JT = 40; // Form Korean syllable blocks\nconst RI = 41; // Keep pairs together. For pairs; break before and after other classes\nconst SA = 42; // Provide a line break opportunity contingent on additional, language-specific context analysis\nconst XX = 43; // Have as yet unknown line breaking behavior or unassigned code positions\n\nconst ea_OP = [0x2329, 0xff08];\n\nexport const classes: {[key: string]: number} = {\n BK,\n CR,\n LF,\n CM,\n NL,\n SG,\n WJ,\n ZW,\n GL,\n SP,\n ZWJ,\n B2,\n BA,\n BB,\n HY,\n CB,\n CL,\n CP,\n EX,\n IN,\n NS,\n OP,\n QU,\n IS,\n NU,\n PO,\n PR,\n SY,\n AI,\n AL,\n CJ,\n EB,\n EM,\n H2,\n H3,\n HL,\n ID,\n JL,\n JV,\n JT,\n RI,\n SA,\n XX,\n};\n\nexport const BREAK_MANDATORY = '!';\nexport const BREAK_NOT_ALLOWED = '×';\nexport const BREAK_ALLOWED = '÷';\nexport const UnicodeTrie = createTrieFromBase64(base64, byteLength);\n\nconst ALPHABETICS = [AL, HL];\nconst HARD_LINE_BREAKS = [BK, CR, LF, NL];\nconst SPACE = [SP, ZW];\nconst PREFIX_POSTFIX = [PR, PO];\nconst LINE_BREAKS = HARD_LINE_BREAKS.concat(SPACE);\nconst KOREAN_SYLLABLE_BLOCK = [JL, JV, JT, H2, H3];\nconst HYPHEN = [HY, BA];\n\nexport const codePointsToCharacterClasses = (\n codePoints: number[],\n lineBreak: string = 'strict'\n): [number[], number[], boolean[]] => {\n const types: number[] = [];\n const indices: number[] = [];\n const categories: boolean[] = [];\n codePoints.forEach((codePoint, index) => {\n let classType = UnicodeTrie.get(codePoint);\n if (classType > LETTER_NUMBER_MODIFIER) {\n categories.push(true);\n classType -= LETTER_NUMBER_MODIFIER;\n } else {\n categories.push(false);\n }\n\n if (['normal', 'auto', 'loose'].indexOf(lineBreak) !== -1) {\n // U+2010, – U+2013, 〜 U+301C, ゠ U+30A0\n if ([0x2010, 0x2013, 0x301c, 0x30a0].indexOf(codePoint) !== -1) {\n indices.push(index);\n return types.push(CB);\n }\n }\n\n if (classType === CM || classType === ZWJ) {\n // LB10 Treat any remaining combining mark or ZWJ as AL.\n if (index === 0) {\n indices.push(index);\n return types.push(AL);\n }\n\n // LB9 Do not break a combining character sequence; treat it as if it has the line breaking class of\n // the base character in all of the following rules. Treat ZWJ as if it were CM.\n const prev = types[index - 1];\n if (LINE_BREAKS.indexOf(prev) === -1) {\n indices.push(indices[index - 1]);\n return types.push(prev);\n }\n indices.push(index);\n return types.push(AL);\n }\n\n indices.push(index);\n\n if (classType === CJ) {\n return types.push(lineBreak === 'strict' ? NS : ID);\n }\n\n if (classType === SA) {\n return types.push(AL);\n }\n\n if (classType === AI) {\n return types.push(AL);\n }\n\n // For supplementary characters, a useful default is to treat characters in the range 10000..1FFFD as AL\n // and characters in the ranges 20000..2FFFD and 30000..3FFFD as ID, until the implementation can be revised\n // to take into account the actual line breaking properties for these characters.\n if (classType === XX) {\n if ((codePoint >= 0x20000 && codePoint <= 0x2fffd) || (codePoint >= 0x30000 && codePoint <= 0x3fffd)) {\n return types.push(ID);\n } else {\n return types.push(AL);\n }\n }\n\n types.push(classType);\n });\n\n return [indices, types, categories];\n};\n\nconst isAdjacentWithSpaceIgnored = (\n a: number[] | number,\n b: number,\n currentIndex: number,\n classTypes: number[]\n): boolean => {\n const current = classTypes[currentIndex];\n if (Array.isArray(a) ? a.indexOf(current) !== -1 : a === current) {\n let i = currentIndex;\n while (i <= classTypes.length) {\n i++;\n let next = classTypes[i];\n\n if (next === b) {\n return true;\n }\n\n if (next !== SP) {\n break;\n }\n }\n }\n\n if (current === SP) {\n let i = currentIndex;\n\n while (i > 0) {\n i--;\n const prev = classTypes[i];\n\n if (Array.isArray(a) ? a.indexOf(prev) !== -1 : a === prev) {\n let n = currentIndex;\n while (n <= classTypes.length) {\n n++;\n let next = classTypes[n];\n\n if (next === b) {\n return true;\n }\n\n if (next !== SP) {\n break;\n }\n }\n }\n\n if (prev !== SP) {\n break;\n }\n }\n }\n return false;\n};\n\nconst previousNonSpaceClassType = (currentIndex: number, classTypes: number[]): number => {\n let i = currentIndex;\n while (i >= 0) {\n let type = classTypes[i];\n if (type === SP) {\n i--;\n } else {\n return type;\n }\n }\n return 0;\n};\n\nexport type BREAK_OPPORTUNITIES = typeof BREAK_NOT_ALLOWED | typeof BREAK_ALLOWED | typeof BREAK_MANDATORY;\n\nconst _lineBreakAtIndex = (\n codePoints: number[],\n classTypes: number[],\n indicies: number[],\n index: number,\n forbiddenBreaks?: boolean[]\n): BREAK_OPPORTUNITIES => {\n if (indicies[index] === 0) {\n return BREAK_NOT_ALLOWED;\n }\n\n let currentIndex = index - 1;\n if (Array.isArray(forbiddenBreaks) && forbiddenBreaks[currentIndex] === true) {\n return BREAK_NOT_ALLOWED;\n }\n\n let beforeIndex = currentIndex - 1;\n let afterIndex = currentIndex + 1;\n let current = classTypes[currentIndex];\n\n // LB4 Always break after hard line breaks.\n // LB5 Treat CR followed by LF, as well as CR, LF, and NL as hard line breaks.\n let before = beforeIndex >= 0 ? classTypes[beforeIndex] : 0;\n let next = classTypes[afterIndex];\n\n if (current === CR && next === LF) {\n return BREAK_NOT_ALLOWED;\n }\n\n if (HARD_LINE_BREAKS.indexOf(current) !== -1) {\n return BREAK_MANDATORY;\n }\n\n // LB6 Do not break before hard line breaks.\n if (HARD_LINE_BREAKS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB7 Do not break before spaces or zero width space.\n if (SPACE.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB8 Break before any character following a zero-width space, even if one or more spaces intervene.\n if (previousNonSpaceClassType(currentIndex, classTypes) === ZW) {\n return BREAK_ALLOWED;\n }\n\n // LB8a Do not break after a zero width joiner.\n if (UnicodeTrie.get(codePoints[currentIndex]) === ZWJ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // zwj emojis\n if ((current === EB || current === EM) && UnicodeTrie.get(codePoints[afterIndex]) === ZWJ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB11 Do not break before or after Word joiner and related characters.\n if (current === WJ || next === WJ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB12 Do not break after NBSP and related characters.\n if (current === GL) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB12a Do not break before NBSP and related characters, except after spaces and hyphens.\n if ([SP, BA, HY].indexOf(current) === -1 && next === GL) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB13 Do not break before ‘]’ or ‘!’ or ‘;’ or ‘/’, even after spaces.\n if ([CL, CP, EX, IS, SY].indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB14 Do not break after ‘[’, even after spaces.\n if (previousNonSpaceClassType(currentIndex, classTypes) === OP) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB15 Do not break within ‘”[’, even with intervening spaces.\n if (isAdjacentWithSpaceIgnored(QU, OP, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB16 Do not break between closing punctuation and a nonstarter (lb=NS), even with intervening spaces.\n if (isAdjacentWithSpaceIgnored([CL, CP], NS, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB17 Do not break within ‘——’, even with intervening spaces.\n if (isAdjacentWithSpaceIgnored(B2, B2, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB18 Break after spaces.\n if (current === SP) {\n return BREAK_ALLOWED;\n }\n\n // LB19 Do not break before or after quotation marks, such as ‘ ” ’.\n if (current === QU || next === QU) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB20 Break before and after unresolved CB.\n if (next === CB || current === CB) {\n return BREAK_ALLOWED;\n }\n\n // LB21 Do not break before hyphen-minus, other hyphens, fixed-width spaces, small kana, and other non-starters, or after acute accents.\n if ([BA, HY, NS].indexOf(next) !== -1 || current === BB) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB21a Don't break after Hebrew + Hyphen.\n if (before === HL && HYPHEN.indexOf(current) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB21b Don’t break between Solidus and Hebrew letters.\n if (current === SY && next === HL) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB22 Do not break before ellipsis.\n if (next === IN) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB23 Do not break between digits and letters.\n if ((ALPHABETICS.indexOf(next) !== -1 && current === NU) || (ALPHABETICS.indexOf(current) !== -1 && next === NU)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB23a Do not break between numeric prefixes and ideographs, or between ideographs and numeric postfixes.\n if (\n (current === PR && [ID, EB, EM].indexOf(next) !== -1) ||\n ([ID, EB, EM].indexOf(current) !== -1 && next === PO)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB24 Do not break between numeric prefix/postfix and letters, or between letters and prefix/postfix.\n if (\n (ALPHABETICS.indexOf(current) !== -1 && PREFIX_POSTFIX.indexOf(next) !== -1) ||\n (PREFIX_POSTFIX.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB25 Do not break between the following pairs of classes relevant to numbers:\n if (\n // (PR | PO) × ( OP | HY )? NU\n ([PR, PO].indexOf(current) !== -1 &&\n (next === NU || ([OP, HY].indexOf(next) !== -1 && classTypes[afterIndex + 1] === NU))) ||\n // ( OP | HY ) × NU\n ([OP, HY].indexOf(current) !== -1 && next === NU) ||\n // NU ×\t(NU | SY | IS)\n (current === NU && [NU, SY, IS].indexOf(next) !== -1)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // NU (NU | SY | IS)* × (NU | SY | IS | CL | CP)\n if ([NU, SY, IS, CL, CP].indexOf(next) !== -1) {\n let prevIndex = currentIndex;\n while (prevIndex >= 0) {\n let type = classTypes[prevIndex];\n if (type === NU) {\n return BREAK_NOT_ALLOWED;\n } else if ([SY, IS].indexOf(type) !== -1) {\n prevIndex--;\n } else {\n break;\n }\n }\n }\n\n // NU (NU | SY | IS)* (CL | CP)? × (PO | PR))\n if ([PR, PO].indexOf(next) !== -1) {\n let prevIndex = [CL, CP].indexOf(current) !== -1 ? beforeIndex : currentIndex;\n while (prevIndex >= 0) {\n let type = classTypes[prevIndex];\n if (type === NU) {\n return BREAK_NOT_ALLOWED;\n } else if ([SY, IS].indexOf(type) !== -1) {\n prevIndex--;\n } else {\n break;\n }\n }\n }\n\n // LB26 Do not break a Korean syllable.\n if (\n (JL === current && [JL, JV, H2, H3].indexOf(next) !== -1) ||\n ([JV, H2].indexOf(current) !== -1 && [JV, JT].indexOf(next) !== -1) ||\n ([JT, H3].indexOf(current) !== -1 && next === JT)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB27 Treat a Korean Syllable Block the same as ID.\n if (\n (KOREAN_SYLLABLE_BLOCK.indexOf(current) !== -1 && [IN, PO].indexOf(next) !== -1) ||\n (KOREAN_SYLLABLE_BLOCK.indexOf(next) !== -1 && current === PR)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB28 Do not break between alphabetics (“at”).\n if (ALPHABETICS.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB29 Do not break between numeric punctuation and alphabetics (“e.g.”).\n if (current === IS && ALPHABETICS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB30 Do not break between letters, numbers, or ordinary symbols and opening or closing parentheses.\n if (\n (ALPHABETICS.concat(NU).indexOf(current) !== -1 &&\n next === OP &&\n ea_OP.indexOf(codePoints[afterIndex]) === -1) ||\n (ALPHABETICS.concat(NU).indexOf(next) !== -1 && current === CP)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB30a Break between two regional indicator symbols if and only if there are an even number of regional\n // indicators preceding the position of the break.\n if (current === RI && next === RI) {\n let i = indicies[currentIndex];\n let count = 1;\n while (i > 0) {\n i--;\n if (classTypes[i] === RI) {\n count++;\n } else {\n break;\n }\n }\n if (count % 2 !== 0) {\n return BREAK_NOT_ALLOWED;\n }\n }\n\n // LB30b Do not break between an emoji base and an emoji modifier.\n if (current === EB && next === EM) {\n return BREAK_NOT_ALLOWED;\n }\n\n return BREAK_ALLOWED;\n};\n\nexport const lineBreakAtIndex = (codePoints: number[], index: number): BREAK_OPPORTUNITIES => {\n // LB2 Never break at the start of text.\n if (index === 0) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB3 Always break at the end of text.\n if (index >= codePoints.length) {\n return BREAK_MANDATORY;\n }\n\n const [indices, classTypes] = codePointsToCharacterClasses(codePoints);\n\n return _lineBreakAtIndex(codePoints, classTypes, indices, index);\n};\n\nexport type LINE_BREAK = 'auto' | 'normal' | 'strict';\nexport type WORD_BREAK = 'normal' | 'break-all' | 'break-word' | 'keep-all';\n\ninterface IOptions {\n lineBreak?: LINE_BREAK;\n wordBreak?: WORD_BREAK;\n}\n\nconst cssFormattedClasses = (codePoints: number[], options?: IOptions): [number[], number[], boolean[] | undefined] => {\n if (!options) {\n options = {lineBreak: 'normal', wordBreak: 'normal'};\n }\n let [indicies, classTypes, isLetterNumber] = codePointsToCharacterClasses(codePoints, options.lineBreak);\n\n if (options.wordBreak === 'break-all' || options.wordBreak === 'break-word') {\n classTypes = classTypes.map((type) => ([NU, AL, SA].indexOf(type) !== -1 ? ID : type));\n }\n\n const forbiddenBreakpoints =\n options.wordBreak === 'keep-all'\n ? isLetterNumber.map((letterNumber, i) => {\n return letterNumber && codePoints[i] >= 0x4e00 && codePoints[i] <= 0x9fff;\n })\n : undefined;\n\n return [indicies, classTypes, forbiddenBreakpoints];\n};\n\nexport const inlineBreakOpportunities = (str: string, options?: IOptions): string => {\n const codePoints = toCodePoints(str);\n let output = BREAK_NOT_ALLOWED;\n const [indicies, classTypes, forbiddenBreakpoints] = cssFormattedClasses(codePoints, options);\n\n codePoints.forEach((codePoint, i) => {\n output +=\n fromCodePoint(codePoint) +\n (i >= codePoints.length - 1\n ? BREAK_MANDATORY\n : _lineBreakAtIndex(codePoints, classTypes, indicies, i + 1, forbiddenBreakpoints));\n });\n\n return output;\n};\n\nclass Break {\n private readonly codePoints: number[];\n readonly required: boolean;\n readonly start: number;\n readonly end: number;\n\n constructor(codePoints: number[], lineBreak: string, start: number, end: number) {\n this.codePoints = codePoints;\n this.required = lineBreak === BREAK_MANDATORY;\n this.start = start;\n this.end = end;\n }\n\n slice(): string {\n return fromCodePoint(...this.codePoints.slice(this.start, this.end));\n }\n}\n\nexport type LineBreak =\n | {\n done: true;\n value: null;\n }\n | {\n done: false;\n value: Break;\n };\n\ninterface ILineBreakIterator {\n next: () => LineBreak;\n}\n\nexport const LineBreaker = (str: string, options?: IOptions): ILineBreakIterator => {\n const codePoints = toCodePoints(str);\n const [indicies, classTypes, forbiddenBreakpoints] = cssFormattedClasses(codePoints, options);\n const length = codePoints.length;\n let lastEnd = 0;\n let nextIndex = 0;\n\n return {\n next: () => {\n if (nextIndex >= length) {\n return {done: true, value: null};\n }\n let lineBreak = BREAK_NOT_ALLOWED;\n while (\n nextIndex < length &&\n (lineBreak = _lineBreakAtIndex(codePoints, classTypes, indicies, ++nextIndex, forbiddenBreakpoints)) ===\n BREAK_NOT_ALLOWED\n ) {}\n\n if (lineBreak !== BREAK_NOT_ALLOWED || nextIndex === length) {\n const value = new Break(codePoints, lineBreak, lastEnd, nextIndex);\n lastEnd = nextIndex;\n return {value, done: false};\n }\n\n return {done: true, value: null};\n },\n };\n};\n","// https://www.w3.org/TR/css-syntax-3\n\nimport {fromCodePoint, toCodePoints} from 'css-line-break';\n\nexport const enum TokenType {\n STRING_TOKEN,\n BAD_STRING_TOKEN,\n LEFT_PARENTHESIS_TOKEN,\n RIGHT_PARENTHESIS_TOKEN,\n COMMA_TOKEN,\n HASH_TOKEN,\n DELIM_TOKEN,\n AT_KEYWORD_TOKEN,\n PREFIX_MATCH_TOKEN,\n DASH_MATCH_TOKEN,\n INCLUDE_MATCH_TOKEN,\n LEFT_CURLY_BRACKET_TOKEN,\n RIGHT_CURLY_BRACKET_TOKEN,\n SUFFIX_MATCH_TOKEN,\n SUBSTRING_MATCH_TOKEN,\n DIMENSION_TOKEN,\n PERCENTAGE_TOKEN,\n NUMBER_TOKEN,\n FUNCTION,\n FUNCTION_TOKEN,\n IDENT_TOKEN,\n COLUMN_TOKEN,\n URL_TOKEN,\n BAD_URL_TOKEN,\n CDC_TOKEN,\n CDO_TOKEN,\n COLON_TOKEN,\n SEMICOLON_TOKEN,\n LEFT_SQUARE_BRACKET_TOKEN,\n RIGHT_SQUARE_BRACKET_TOKEN,\n UNICODE_RANGE_TOKEN,\n WHITESPACE_TOKEN,\n EOF_TOKEN\n}\n\ninterface IToken {\n type: TokenType;\n}\n\nexport interface Token extends IToken {\n type:\n | TokenType.BAD_URL_TOKEN\n | TokenType.BAD_STRING_TOKEN\n | TokenType.LEFT_PARENTHESIS_TOKEN\n | TokenType.RIGHT_PARENTHESIS_TOKEN\n | TokenType.COMMA_TOKEN\n | TokenType.SUBSTRING_MATCH_TOKEN\n | TokenType.PREFIX_MATCH_TOKEN\n | TokenType.SUFFIX_MATCH_TOKEN\n | TokenType.COLON_TOKEN\n | TokenType.SEMICOLON_TOKEN\n | TokenType.LEFT_SQUARE_BRACKET_TOKEN\n | TokenType.RIGHT_SQUARE_BRACKET_TOKEN\n | TokenType.LEFT_CURLY_BRACKET_TOKEN\n | TokenType.RIGHT_CURLY_BRACKET_TOKEN\n | TokenType.DASH_MATCH_TOKEN\n | TokenType.INCLUDE_MATCH_TOKEN\n | TokenType.COLUMN_TOKEN\n | TokenType.WHITESPACE_TOKEN\n | TokenType.CDC_TOKEN\n | TokenType.CDO_TOKEN\n | TokenType.EOF_TOKEN;\n}\n\nexport interface StringValueToken extends IToken {\n type:\n | TokenType.STRING_TOKEN\n | TokenType.DELIM_TOKEN\n | TokenType.FUNCTION_TOKEN\n | TokenType.IDENT_TOKEN\n | TokenType.URL_TOKEN\n | TokenType.AT_KEYWORD_TOKEN;\n value: string;\n}\n\nexport interface HashToken extends IToken {\n type: TokenType.HASH_TOKEN;\n flags: number;\n value: string;\n}\n\nexport interface NumberValueToken extends IToken {\n type: TokenType.PERCENTAGE_TOKEN | TokenType.NUMBER_TOKEN;\n flags: number;\n number: number;\n}\n\nexport interface DimensionToken extends IToken {\n type: TokenType.DIMENSION_TOKEN;\n flags: number;\n unit: string;\n number: number;\n}\n\nexport interface UnicodeRangeToken extends IToken {\n type: TokenType.UNICODE_RANGE_TOKEN;\n start: number;\n end: number;\n}\n\nexport type CSSToken = Token | StringValueToken | NumberValueToken | DimensionToken | UnicodeRangeToken | HashToken;\n\nexport const FLAG_UNRESTRICTED = 1 << 0;\nexport const FLAG_ID = 1 << 1;\nexport const FLAG_INTEGER = 1 << 2;\nexport const FLAG_NUMBER = 1 << 3;\n\nconst LINE_FEED = 0x000a;\nconst SOLIDUS = 0x002f;\nconst REVERSE_SOLIDUS = 0x005c;\nconst CHARACTER_TABULATION = 0x0009;\nconst SPACE = 0x0020;\nconst QUOTATION_MARK = 0x0022;\nconst EQUALS_SIGN = 0x003d;\nconst NUMBER_SIGN = 0x0023;\nconst DOLLAR_SIGN = 0x0024;\nconst PERCENTAGE_SIGN = 0x0025;\nconst APOSTROPHE = 0x0027;\nconst LEFT_PARENTHESIS = 0x0028;\nconst RIGHT_PARENTHESIS = 0x0029;\nconst LOW_LINE = 0x005f;\nconst HYPHEN_MINUS = 0x002d;\nconst EXCLAMATION_MARK = 0x0021;\nconst LESS_THAN_SIGN = 0x003c;\nconst GREATER_THAN_SIGN = 0x003e;\nconst COMMERCIAL_AT = 0x0040;\nconst LEFT_SQUARE_BRACKET = 0x005b;\nconst RIGHT_SQUARE_BRACKET = 0x005d;\nconst CIRCUMFLEX_ACCENT = 0x003d;\nconst LEFT_CURLY_BRACKET = 0x007b;\nconst QUESTION_MARK = 0x003f;\nconst RIGHT_CURLY_BRACKET = 0x007d;\nconst VERTICAL_LINE = 0x007c;\nconst TILDE = 0x007e;\nconst CONTROL = 0x0080;\nconst REPLACEMENT_CHARACTER = 0xfffd;\nconst ASTERISK = 0x002a;\nconst PLUS_SIGN = 0x002b;\nconst COMMA = 0x002c;\nconst COLON = 0x003a;\nconst SEMICOLON = 0x003b;\nconst FULL_STOP = 0x002e;\nconst NULL = 0x0000;\nconst BACKSPACE = 0x0008;\nconst LINE_TABULATION = 0x000b;\nconst SHIFT_OUT = 0x000e;\nconst INFORMATION_SEPARATOR_ONE = 0x001f;\nconst DELETE = 0x007f;\nconst EOF = -1;\nconst ZERO = 0x0030;\nconst a = 0x0061;\nconst e = 0x0065;\nconst f = 0x0066;\nconst u = 0x0075;\nconst z = 0x007a;\nconst A = 0x0041;\nconst E = 0x0045;\nconst F = 0x0046;\nconst U = 0x0055;\nconst Z = 0x005a;\n\nconst isDigit = (codePoint: number) => codePoint >= ZERO && codePoint <= 0x0039;\nconst isSurrogateCodePoint = (codePoint: number) => codePoint >= 0xd800 && codePoint <= 0xdfff;\nconst isHex = (codePoint: number) =>\n isDigit(codePoint) || (codePoint >= A && codePoint <= F) || (codePoint >= a && codePoint <= f);\nconst isLowerCaseLetter = (codePoint: number) => codePoint >= a && codePoint <= z;\nconst isUpperCaseLetter = (codePoint: number) => codePoint >= A && codePoint <= Z;\nconst isLetter = (codePoint: number) => isLowerCaseLetter(codePoint) || isUpperCaseLetter(codePoint);\nconst isNonASCIICodePoint = (codePoint: number) => codePoint >= CONTROL;\nconst isWhiteSpace = (codePoint: number): boolean =>\n codePoint === LINE_FEED || codePoint === CHARACTER_TABULATION || codePoint === SPACE;\nconst isNameStartCodePoint = (codePoint: number): boolean =>\n isLetter(codePoint) || isNonASCIICodePoint(codePoint) || codePoint === LOW_LINE;\nconst isNameCodePoint = (codePoint: number): boolean =>\n isNameStartCodePoint(codePoint) || isDigit(codePoint) || codePoint === HYPHEN_MINUS;\nconst isNonPrintableCodePoint = (codePoint: number): boolean => {\n return (\n (codePoint >= NULL && codePoint <= BACKSPACE) ||\n codePoint === LINE_TABULATION ||\n (codePoint >= SHIFT_OUT && codePoint <= INFORMATION_SEPARATOR_ONE) ||\n codePoint === DELETE\n );\n};\nconst isValidEscape = (c1: number, c2: number): boolean => {\n if (c1 !== REVERSE_SOLIDUS) {\n return false;\n }\n\n return c2 !== LINE_FEED;\n};\nconst isIdentifierStart = (c1: number, c2: number, c3: number): boolean => {\n if (c1 === HYPHEN_MINUS) {\n return isNameStartCodePoint(c2) || isValidEscape(c2, c3);\n } else if (isNameStartCodePoint(c1)) {\n return true;\n } else if (c1 === REVERSE_SOLIDUS && isValidEscape(c1, c2)) {\n return true;\n }\n return false;\n};\n\nconst isNumberStart = (c1: number, c2: number, c3: number): boolean => {\n if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) {\n if (isDigit(c2)) {\n return true;\n }\n\n return c2 === FULL_STOP && isDigit(c3);\n }\n\n if (c1 === FULL_STOP) {\n return isDigit(c2);\n }\n\n return isDigit(c1);\n};\n\nconst stringToNumber = (codePoints: number[]): number => {\n let c = 0;\n let sign = 1;\n if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) {\n if (codePoints[c] === HYPHEN_MINUS) {\n sign = -1;\n }\n c++;\n }\n\n const integers = [];\n\n while (isDigit(codePoints[c])) {\n integers.push(codePoints[c++]);\n }\n\n const int = integers.length ? parseInt(fromCodePoint(...integers), 10) : 0;\n\n if (codePoints[c] === FULL_STOP) {\n c++;\n }\n\n const fraction = [];\n while (isDigit(codePoints[c])) {\n fraction.push(codePoints[c++]);\n }\n\n const fracd = fraction.length;\n const frac = fracd ? parseInt(fromCodePoint(...fraction), 10) : 0;\n\n if (codePoints[c] === E || codePoints[c] === e) {\n c++;\n }\n\n let expsign = 1;\n\n if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) {\n if (codePoints[c] === HYPHEN_MINUS) {\n expsign = -1;\n }\n c++;\n }\n\n const exponent = [];\n\n while (isDigit(codePoints[c])) {\n exponent.push(codePoints[c++]);\n }\n\n const exp = exponent.length ? parseInt(fromCodePoint(...exponent), 10) : 0;\n\n return sign * (int + frac * Math.pow(10, -fracd)) * Math.pow(10, expsign * exp);\n};\n\nconst LEFT_PARENTHESIS_TOKEN: Token = {\n type: TokenType.LEFT_PARENTHESIS_TOKEN\n};\nconst RIGHT_PARENTHESIS_TOKEN: Token = {\n type: TokenType.RIGHT_PARENTHESIS_TOKEN\n};\nconst COMMA_TOKEN: Token = {type: TokenType.COMMA_TOKEN};\nconst SUFFIX_MATCH_TOKEN: Token = {type: TokenType.SUFFIX_MATCH_TOKEN};\nconst PREFIX_MATCH_TOKEN: Token = {type: TokenType.PREFIX_MATCH_TOKEN};\nconst COLUMN_TOKEN: Token = {type: TokenType.COLUMN_TOKEN};\nconst DASH_MATCH_TOKEN: Token = {type: TokenType.DASH_MATCH_TOKEN};\nconst INCLUDE_MATCH_TOKEN: Token = {type: TokenType.INCLUDE_MATCH_TOKEN};\nconst LEFT_CURLY_BRACKET_TOKEN: Token = {\n type: TokenType.LEFT_CURLY_BRACKET_TOKEN\n};\nconst RIGHT_CURLY_BRACKET_TOKEN: Token = {\n type: TokenType.RIGHT_CURLY_BRACKET_TOKEN\n};\nconst SUBSTRING_MATCH_TOKEN: Token = {type: TokenType.SUBSTRING_MATCH_TOKEN};\nconst BAD_URL_TOKEN: Token = {type: TokenType.BAD_URL_TOKEN};\nconst BAD_STRING_TOKEN: Token = {type: TokenType.BAD_STRING_TOKEN};\nconst CDO_TOKEN: Token = {type: TokenType.CDO_TOKEN};\nconst CDC_TOKEN: Token = {type: TokenType.CDC_TOKEN};\nconst COLON_TOKEN: Token = {type: TokenType.COLON_TOKEN};\nconst SEMICOLON_TOKEN: Token = {type: TokenType.SEMICOLON_TOKEN};\nconst LEFT_SQUARE_BRACKET_TOKEN: Token = {\n type: TokenType.LEFT_SQUARE_BRACKET_TOKEN\n};\nconst RIGHT_SQUARE_BRACKET_TOKEN: Token = {\n type: TokenType.RIGHT_SQUARE_BRACKET_TOKEN\n};\nconst WHITESPACE_TOKEN: Token = {type: TokenType.WHITESPACE_TOKEN};\nexport const EOF_TOKEN: Token = {type: TokenType.EOF_TOKEN};\n\nexport class Tokenizer {\n private _value: number[];\n\n constructor() {\n this._value = [];\n }\n\n write(chunk: string): void {\n this._value = this._value.concat(toCodePoints(chunk));\n }\n\n read(): CSSToken[] {\n const tokens = [];\n let token = this.consumeToken();\n while (token !== EOF_TOKEN) {\n tokens.push(token);\n token = this.consumeToken();\n }\n return tokens;\n }\n\n private consumeToken(): CSSToken {\n const codePoint = this.consumeCodePoint();\n\n switch (codePoint) {\n case QUOTATION_MARK:\n return this.consumeStringToken(QUOTATION_MARK);\n case NUMBER_SIGN:\n const c1 = this.peekCodePoint(0);\n const c2 = this.peekCodePoint(1);\n const c3 = this.peekCodePoint(2);\n if (isNameCodePoint(c1) || isValidEscape(c2, c3)) {\n const flags = isIdentifierStart(c1, c2, c3) ? FLAG_ID : FLAG_UNRESTRICTED;\n const value = this.consumeName();\n\n return {type: TokenType.HASH_TOKEN, value, flags};\n }\n break;\n case DOLLAR_SIGN:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return SUFFIX_MATCH_TOKEN;\n }\n break;\n case APOSTROPHE:\n return this.consumeStringToken(APOSTROPHE);\n case LEFT_PARENTHESIS:\n return LEFT_PARENTHESIS_TOKEN;\n case RIGHT_PARENTHESIS:\n return RIGHT_PARENTHESIS_TOKEN;\n case ASTERISK:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return SUBSTRING_MATCH_TOKEN;\n }\n break;\n case PLUS_SIGN:\n if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n break;\n case COMMA:\n return COMMA_TOKEN;\n case HYPHEN_MINUS:\n const e1 = codePoint;\n const e2 = this.peekCodePoint(0);\n const e3 = this.peekCodePoint(1);\n\n if (isNumberStart(e1, e2, e3)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n\n if (isIdentifierStart(e1, e2, e3)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n\n if (e2 === HYPHEN_MINUS && e3 === GREATER_THAN_SIGN) {\n this.consumeCodePoint();\n this.consumeCodePoint();\n return CDC_TOKEN;\n }\n break;\n\n case FULL_STOP:\n if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n break;\n case SOLIDUS:\n if (this.peekCodePoint(0) === ASTERISK) {\n this.consumeCodePoint();\n while (true) {\n let c = this.consumeCodePoint();\n if (c === ASTERISK) {\n c = this.consumeCodePoint();\n if (c === SOLIDUS) {\n return this.consumeToken();\n }\n }\n if (c === EOF) {\n return this.consumeToken();\n }\n }\n }\n break;\n case COLON:\n return COLON_TOKEN;\n case SEMICOLON:\n return SEMICOLON_TOKEN;\n case LESS_THAN_SIGN:\n if (\n this.peekCodePoint(0) === EXCLAMATION_MARK &&\n this.peekCodePoint(1) === HYPHEN_MINUS &&\n this.peekCodePoint(2) === HYPHEN_MINUS\n ) {\n this.consumeCodePoint();\n this.consumeCodePoint();\n return CDO_TOKEN;\n }\n break;\n case COMMERCIAL_AT:\n const a1 = this.peekCodePoint(0);\n const a2 = this.peekCodePoint(1);\n const a3 = this.peekCodePoint(2);\n if (isIdentifierStart(a1, a2, a3)) {\n const value = this.consumeName();\n return {type: TokenType.AT_KEYWORD_TOKEN, value};\n }\n break;\n case LEFT_SQUARE_BRACKET:\n return LEFT_SQUARE_BRACKET_TOKEN;\n case REVERSE_SOLIDUS:\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n break;\n case RIGHT_SQUARE_BRACKET:\n return RIGHT_SQUARE_BRACKET_TOKEN;\n case CIRCUMFLEX_ACCENT:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return PREFIX_MATCH_TOKEN;\n }\n break;\n case LEFT_CURLY_BRACKET:\n return LEFT_CURLY_BRACKET_TOKEN;\n case RIGHT_CURLY_BRACKET:\n return RIGHT_CURLY_BRACKET_TOKEN;\n case u:\n case U:\n const u1 = this.peekCodePoint(0);\n const u2 = this.peekCodePoint(1);\n if (u1 === PLUS_SIGN && (isHex(u2) || u2 === QUESTION_MARK)) {\n this.consumeCodePoint();\n this.consumeUnicodeRangeToken();\n }\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n case VERTICAL_LINE:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return DASH_MATCH_TOKEN;\n }\n if (this.peekCodePoint(0) === VERTICAL_LINE) {\n this.consumeCodePoint();\n return COLUMN_TOKEN;\n }\n break;\n case TILDE:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return INCLUDE_MATCH_TOKEN;\n }\n break;\n case EOF:\n return EOF_TOKEN;\n }\n\n if (isWhiteSpace(codePoint)) {\n this.consumeWhiteSpace();\n return WHITESPACE_TOKEN;\n }\n\n if (isDigit(codePoint)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n\n if (isNameStartCodePoint(codePoint)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n\n return {type: TokenType.DELIM_TOKEN, value: fromCodePoint(codePoint)};\n }\n\n private consumeCodePoint(): number {\n const value = this._value.shift();\n\n return typeof value === 'undefined' ? -1 : value;\n }\n\n private reconsumeCodePoint(codePoint: number) {\n this._value.unshift(codePoint);\n }\n\n private peekCodePoint(delta: number): number {\n if (delta >= this._value.length) {\n return -1;\n }\n\n return this._value[delta];\n }\n\n private consumeUnicodeRangeToken(): UnicodeRangeToken {\n const digits = [];\n let codePoint = this.consumeCodePoint();\n while (isHex(codePoint) && digits.length < 6) {\n digits.push(codePoint);\n codePoint = this.consumeCodePoint();\n }\n let questionMarks = false;\n while (codePoint === QUESTION_MARK && digits.length < 6) {\n digits.push(codePoint);\n codePoint = this.consumeCodePoint();\n questionMarks = true;\n }\n\n if (questionMarks) {\n const start = parseInt(\n fromCodePoint(...digits.map((digit) => (digit === QUESTION_MARK ? ZERO : digit))),\n 16\n );\n const end = parseInt(fromCodePoint(...digits.map((digit) => (digit === QUESTION_MARK ? F : digit))), 16);\n return {type: TokenType.UNICODE_RANGE_TOKEN, start, end};\n }\n\n const start = parseInt(fromCodePoint(...digits), 16);\n if (this.peekCodePoint(0) === HYPHEN_MINUS && isHex(this.peekCodePoint(1))) {\n this.consumeCodePoint();\n codePoint = this.consumeCodePoint();\n const endDigits = [];\n while (isHex(codePoint) && endDigits.length < 6) {\n endDigits.push(codePoint);\n codePoint = this.consumeCodePoint();\n }\n const end = parseInt(fromCodePoint(...endDigits), 16);\n\n return {type: TokenType.UNICODE_RANGE_TOKEN, start, end};\n } else {\n return {type: TokenType.UNICODE_RANGE_TOKEN, start, end: start};\n }\n }\n\n private consumeIdentLikeToken(): StringValueToken | Token {\n const value = this.consumeName();\n if (value.toLowerCase() === 'url' && this.peekCodePoint(0) === LEFT_PARENTHESIS) {\n this.consumeCodePoint();\n return this.consumeUrlToken();\n } else if (this.peekCodePoint(0) === LEFT_PARENTHESIS) {\n this.consumeCodePoint();\n return {type: TokenType.FUNCTION_TOKEN, value};\n }\n\n return {type: TokenType.IDENT_TOKEN, value};\n }\n\n private consumeUrlToken(): StringValueToken | Token {\n const value = [];\n this.consumeWhiteSpace();\n\n if (this.peekCodePoint(0) === EOF) {\n return {type: TokenType.URL_TOKEN, value: ''};\n }\n\n const next = this.peekCodePoint(0);\n if (next === APOSTROPHE || next === QUOTATION_MARK) {\n const stringToken = this.consumeStringToken(this.consumeCodePoint());\n if (stringToken.type === TokenType.STRING_TOKEN) {\n this.consumeWhiteSpace();\n\n if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) {\n this.consumeCodePoint();\n return {type: TokenType.URL_TOKEN, value: stringToken.value};\n }\n }\n\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n\n while (true) {\n const codePoint = this.consumeCodePoint();\n if (codePoint === EOF || codePoint === RIGHT_PARENTHESIS) {\n return {type: TokenType.URL_TOKEN, value: fromCodePoint(...value)};\n } else if (isWhiteSpace(codePoint)) {\n this.consumeWhiteSpace();\n if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) {\n this.consumeCodePoint();\n return {type: TokenType.URL_TOKEN, value: fromCodePoint(...value)};\n }\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n } else if (\n codePoint === QUOTATION_MARK ||\n codePoint === APOSTROPHE ||\n codePoint === LEFT_PARENTHESIS ||\n isNonPrintableCodePoint(codePoint)\n ) {\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n } else if (codePoint === REVERSE_SOLIDUS) {\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n value.push(this.consumeEscapedCodePoint());\n } else {\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n } else {\n value.push(codePoint);\n }\n }\n }\n\n private consumeWhiteSpace(): void {\n while (isWhiteSpace(this.peekCodePoint(0))) {\n this.consumeCodePoint();\n }\n }\n\n private consumeBadUrlRemnants(): void {\n while (true) {\n const codePoint = this.consumeCodePoint();\n if (codePoint === RIGHT_PARENTHESIS || codePoint === EOF) {\n return;\n }\n\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n this.consumeEscapedCodePoint();\n }\n }\n }\n\n private consumeStringSlice(count: number): string {\n const SLICE_STACK_SIZE = 50000;\n let value = '';\n while (count > 0) {\n const amount = Math.min(SLICE_STACK_SIZE, count);\n value += fromCodePoint(...this._value.splice(0, amount));\n count -= amount;\n }\n this._value.shift();\n\n return value;\n }\n\n private consumeStringToken(endingCodePoint: number): StringValueToken | Token {\n let value = '';\n let i = 0;\n\n do {\n const codePoint = this._value[i];\n if (codePoint === EOF || codePoint === undefined || codePoint === endingCodePoint) {\n value += this.consumeStringSlice(i);\n return {type: TokenType.STRING_TOKEN, value};\n }\n\n if (codePoint === LINE_FEED) {\n this._value.splice(0, i);\n return BAD_STRING_TOKEN;\n }\n\n if (codePoint === REVERSE_SOLIDUS) {\n const next = this._value[i + 1];\n if (next !== EOF && next !== undefined) {\n if (next === LINE_FEED) {\n value += this.consumeStringSlice(i);\n i = -1;\n this._value.shift();\n } else if (isValidEscape(codePoint, next)) {\n value += this.consumeStringSlice(i);\n value += fromCodePoint(this.consumeEscapedCodePoint());\n i = -1;\n }\n }\n }\n\n i++;\n } while (true);\n }\n\n private consumeNumber() {\n const repr = [];\n let type = FLAG_INTEGER;\n let c1 = this.peekCodePoint(0);\n if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) {\n repr.push(this.consumeCodePoint());\n }\n\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n c1 = this.peekCodePoint(0);\n let c2 = this.peekCodePoint(1);\n if (c1 === FULL_STOP && isDigit(c2)) {\n repr.push(this.consumeCodePoint(), this.consumeCodePoint());\n type = FLAG_NUMBER;\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n }\n\n c1 = this.peekCodePoint(0);\n c2 = this.peekCodePoint(1);\n const c3 = this.peekCodePoint(2);\n if ((c1 === E || c1 === e) && (((c2 === PLUS_SIGN || c2 === HYPHEN_MINUS) && isDigit(c3)) || isDigit(c2))) {\n repr.push(this.consumeCodePoint(), this.consumeCodePoint());\n type = FLAG_NUMBER;\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n }\n\n return [stringToNumber(repr), type];\n }\n\n private consumeNumericToken(): NumberValueToken | DimensionToken {\n const [number, flags] = this.consumeNumber();\n const c1 = this.peekCodePoint(0);\n const c2 = this.peekCodePoint(1);\n const c3 = this.peekCodePoint(2);\n\n if (isIdentifierStart(c1, c2, c3)) {\n const unit = this.consumeName();\n return {type: TokenType.DIMENSION_TOKEN, number, flags, unit};\n }\n\n if (c1 === PERCENTAGE_SIGN) {\n this.consumeCodePoint();\n return {type: TokenType.PERCENTAGE_TOKEN, number, flags};\n }\n\n return {type: TokenType.NUMBER_TOKEN, number, flags};\n }\n\n private consumeEscapedCodePoint(): number {\n const codePoint = this.consumeCodePoint();\n\n if (isHex(codePoint)) {\n let hex = fromCodePoint(codePoint);\n while (isHex(this.peekCodePoint(0)) && hex.length < 6) {\n hex += fromCodePoint(this.consumeCodePoint());\n }\n\n if (isWhiteSpace(this.peekCodePoint(0))) {\n this.consumeCodePoint();\n }\n\n const hexCodePoint = parseInt(hex, 16);\n\n if (hexCodePoint === 0 || isSurrogateCodePoint(hexCodePoint) || hexCodePoint > 0x10ffff) {\n return REPLACEMENT_CHARACTER;\n }\n\n return hexCodePoint;\n }\n\n if (codePoint === EOF) {\n return REPLACEMENT_CHARACTER;\n }\n\n return codePoint;\n }\n\n private consumeName(): string {\n let result = '';\n while (true) {\n const codePoint = this.consumeCodePoint();\n if (isNameCodePoint(codePoint)) {\n result += fromCodePoint(codePoint);\n } else if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n result += fromCodePoint(this.consumeEscapedCodePoint());\n } else {\n this.reconsumeCodePoint(codePoint);\n return result;\n }\n }\n }\n}\n","import {\n CSSToken,\n DimensionToken,\n EOF_TOKEN,\n NumberValueToken,\n StringValueToken,\n Tokenizer,\n TokenType\n} from './tokenizer';\n\nexport type CSSBlockType =\n | TokenType.LEFT_PARENTHESIS_TOKEN\n | TokenType.LEFT_SQUARE_BRACKET_TOKEN\n | TokenType.LEFT_CURLY_BRACKET_TOKEN;\n\nexport interface CSSBlock {\n type: CSSBlockType;\n values: CSSValue[];\n}\n\nexport interface CSSFunction {\n type: TokenType.FUNCTION;\n name: string;\n values: CSSValue[];\n}\n\nexport type CSSValue = CSSFunction | CSSToken | CSSBlock;\n\nexport class Parser {\n private _tokens: CSSToken[];\n\n constructor(tokens: CSSToken[]) {\n this._tokens = tokens;\n }\n\n static create(value: string): Parser {\n const tokenizer = new Tokenizer();\n tokenizer.write(value);\n return new Parser(tokenizer.read());\n }\n\n static parseValue(value: string): CSSValue {\n return Parser.create(value).parseComponentValue();\n }\n\n static parseValues(value: string): CSSValue[] {\n return Parser.create(value).parseComponentValues();\n }\n\n parseComponentValue(): CSSValue {\n let token = this.consumeToken();\n while (token.type === TokenType.WHITESPACE_TOKEN) {\n token = this.consumeToken();\n }\n\n if (token.type === TokenType.EOF_TOKEN) {\n throw new SyntaxError(`Error parsing CSS component value, unexpected EOF`);\n }\n\n this.reconsumeToken(token);\n const value = this.consumeComponentValue();\n\n do {\n token = this.consumeToken();\n } while (token.type === TokenType.WHITESPACE_TOKEN);\n\n if (token.type === TokenType.EOF_TOKEN) {\n return value;\n }\n\n throw new SyntaxError(`Error parsing CSS component value, multiple values found when expecting only one`);\n }\n\n parseComponentValues(): CSSValue[] {\n const values = [];\n while (true) {\n const value = this.consumeComponentValue();\n if (value.type === TokenType.EOF_TOKEN) {\n return values;\n }\n values.push(value);\n values.push();\n }\n }\n\n private consumeComponentValue(): CSSValue {\n const token = this.consumeToken();\n\n switch (token.type) {\n case TokenType.LEFT_CURLY_BRACKET_TOKEN:\n case TokenType.LEFT_SQUARE_BRACKET_TOKEN:\n case TokenType.LEFT_PARENTHESIS_TOKEN:\n return this.consumeSimpleBlock(token.type);\n case TokenType.FUNCTION_TOKEN:\n return this.consumeFunction(token);\n }\n\n return token;\n }\n\n private consumeSimpleBlock(type: CSSBlockType): CSSBlock {\n const block: CSSBlock = {type, values: []};\n\n let token = this.consumeToken();\n while (true) {\n if (token.type === TokenType.EOF_TOKEN || isEndingTokenFor(token, type)) {\n return block;\n }\n\n this.reconsumeToken(token);\n block.values.push(this.consumeComponentValue());\n token = this.consumeToken();\n }\n }\n\n private consumeFunction(functionToken: StringValueToken): CSSFunction {\n const cssFunction: CSSFunction = {\n name: functionToken.value,\n values: [],\n type: TokenType.FUNCTION\n };\n\n while (true) {\n const token = this.consumeToken();\n if (token.type === TokenType.EOF_TOKEN || token.type === TokenType.RIGHT_PARENTHESIS_TOKEN) {\n return cssFunction;\n }\n\n this.reconsumeToken(token);\n cssFunction.values.push(this.consumeComponentValue());\n }\n }\n\n private consumeToken(): CSSToken {\n const token = this._tokens.shift();\n return typeof token === 'undefined' ? EOF_TOKEN : token;\n }\n\n private reconsumeToken(token: CSSToken): void {\n this._tokens.unshift(token);\n }\n}\n\nexport const isDimensionToken = (token: CSSValue): token is DimensionToken => token.type === TokenType.DIMENSION_TOKEN;\nexport const isNumberToken = (token: CSSValue): token is NumberValueToken => token.type === TokenType.NUMBER_TOKEN;\nexport const isIdentToken = (token: CSSValue): token is StringValueToken => token.type === TokenType.IDENT_TOKEN;\nexport const isStringToken = (token: CSSValue): token is StringValueToken => token.type === TokenType.STRING_TOKEN;\nexport const isIdentWithValue = (token: CSSValue, value: string): boolean =>\n isIdentToken(token) && token.value === value;\n\nexport const nonWhiteSpace = (token: CSSValue): boolean => token.type !== TokenType.WHITESPACE_TOKEN;\nexport const nonFunctionArgSeparator = (token: CSSValue): boolean =>\n token.type !== TokenType.WHITESPACE_TOKEN && token.type !== TokenType.COMMA_TOKEN;\n\nexport const parseFunctionArgs = (tokens: CSSValue[]): CSSValue[][] => {\n const args: CSSValue[][] = [];\n let arg: CSSValue[] = [];\n tokens.forEach((token) => {\n if (token.type === TokenType.COMMA_TOKEN) {\n if (arg.length === 0) {\n throw new Error(`Error parsing function args, zero tokens for arg`);\n }\n args.push(arg);\n arg = [];\n return;\n }\n\n if (token.type !== TokenType.WHITESPACE_TOKEN) {\n arg.push(token);\n }\n });\n if (arg.length) {\n args.push(arg);\n }\n\n return args;\n};\n\nconst isEndingTokenFor = (token: CSSToken, type: CSSBlockType): boolean => {\n if (type === TokenType.LEFT_CURLY_BRACKET_TOKEN && token.type === TokenType.RIGHT_CURLY_BRACKET_TOKEN) {\n return true;\n }\n if (type === TokenType.LEFT_SQUARE_BRACKET_TOKEN && token.type === TokenType.RIGHT_SQUARE_BRACKET_TOKEN) {\n return true;\n }\n\n return type === TokenType.LEFT_PARENTHESIS_TOKEN && token.type === TokenType.RIGHT_PARENTHESIS_TOKEN;\n};\n","import {CSSValue} from '../syntax/parser';\nimport {DimensionToken, NumberValueToken, TokenType} from '../syntax/tokenizer';\n\nexport type Length = DimensionToken | NumberValueToken;\n\nexport const isLength = (token: CSSValue): token is Length =>\n token.type === TokenType.NUMBER_TOKEN || token.type === TokenType.DIMENSION_TOKEN;\n","import {DimensionToken, FLAG_INTEGER, NumberValueToken, TokenType} from '../syntax/tokenizer';\nimport {CSSValue, isDimensionToken} from '../syntax/parser';\nimport {isLength} from './length';\nexport type LengthPercentage = DimensionToken | NumberValueToken;\nexport type LengthPercentageTuple = [LengthPercentage] | [LengthPercentage, LengthPercentage];\n\nexport const isLengthPercentage = (token: CSSValue): token is LengthPercentage =>\n token.type === TokenType.PERCENTAGE_TOKEN || isLength(token);\nexport const parseLengthPercentageTuple = (tokens: LengthPercentage[]): LengthPercentageTuple =>\n tokens.length > 1 ? [tokens[0], tokens[1]] : [tokens[0]];\nexport const ZERO_LENGTH: NumberValueToken = {\n type: TokenType.NUMBER_TOKEN,\n number: 0,\n flags: FLAG_INTEGER\n};\n\nexport const FIFTY_PERCENT: NumberValueToken = {\n type: TokenType.PERCENTAGE_TOKEN,\n number: 50,\n flags: FLAG_INTEGER\n};\n\nexport const HUNDRED_PERCENT: NumberValueToken = {\n type: TokenType.PERCENTAGE_TOKEN,\n number: 100,\n flags: FLAG_INTEGER\n};\n\nexport const getAbsoluteValueForTuple = (\n tuple: LengthPercentageTuple,\n width: number,\n height: number\n): [number, number] => {\n const [x, y] = tuple;\n return [getAbsoluteValue(x, width), getAbsoluteValue(typeof y !== 'undefined' ? y : x, height)];\n};\nexport const getAbsoluteValue = (token: LengthPercentage, parent: number): number => {\n if (token.type === TokenType.PERCENTAGE_TOKEN) {\n return (token.number / 100) * parent;\n }\n\n if (isDimensionToken(token)) {\n switch (token.unit) {\n case 'rem':\n case 'em':\n return 16 * token.number; // TODO use correct font-size\n case 'px':\n default:\n return token.number;\n }\n }\n\n return token.number;\n};\n","import {CSSValue, isIdentToken} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {ITypeDescriptor} from '../ITypeDescriptor';\nimport {HUNDRED_PERCENT, ZERO_LENGTH} from './length-percentage';\nimport {GradientCorner} from './image';\nimport {Context} from '../../core/context';\n\nconst DEG = 'deg';\nconst GRAD = 'grad';\nconst RAD = 'rad';\nconst TURN = 'turn';\n\nexport const angle: ITypeDescriptor = {\n name: 'angle',\n parse: (_context: Context, value: CSSValue): number => {\n if (value.type === TokenType.DIMENSION_TOKEN) {\n switch (value.unit) {\n case DEG:\n return (Math.PI * value.number) / 180;\n case GRAD:\n return (Math.PI / 200) * value.number;\n case RAD:\n return value.number;\n case TURN:\n return Math.PI * 2 * value.number;\n }\n }\n\n throw new Error(`Unsupported angle type`);\n }\n};\n\nexport const isAngle = (value: CSSValue): boolean => {\n if (value.type === TokenType.DIMENSION_TOKEN) {\n if (value.unit === DEG || value.unit === GRAD || value.unit === RAD || value.unit === TURN) {\n return true;\n }\n }\n return false;\n};\n\nexport const parseNamedSide = (tokens: CSSValue[]): number | GradientCorner => {\n const sideOrCorner = tokens\n .filter(isIdentToken)\n .map((ident) => ident.value)\n .join(' ');\n\n switch (sideOrCorner) {\n case 'to bottom right':\n case 'to right bottom':\n case 'left top':\n case 'top left':\n return [ZERO_LENGTH, ZERO_LENGTH];\n case 'to top':\n case 'bottom':\n return deg(0);\n case 'to bottom left':\n case 'to left bottom':\n case 'right top':\n case 'top right':\n return [ZERO_LENGTH, HUNDRED_PERCENT];\n case 'to right':\n case 'left':\n return deg(90);\n case 'to top left':\n case 'to left top':\n case 'right bottom':\n case 'bottom right':\n return [HUNDRED_PERCENT, HUNDRED_PERCENT];\n case 'to bottom':\n case 'top':\n return deg(180);\n case 'to top right':\n case 'to right top':\n case 'left bottom':\n case 'bottom left':\n return [HUNDRED_PERCENT, ZERO_LENGTH];\n case 'to left':\n case 'right':\n return deg(270);\n }\n\n return 0;\n};\n\nexport const deg = (deg: number): number => (Math.PI * deg) / 180;\n","import {CSSValue, nonFunctionArgSeparator, Parser} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {ITypeDescriptor} from '../ITypeDescriptor';\nimport {angle, deg} from './angle';\nimport {getAbsoluteValue, isLengthPercentage} from './length-percentage';\nimport {Context} from '../../core/context';\nexport type Color = number;\n\nexport const color: ITypeDescriptor = {\n name: 'color',\n parse: (context: Context, value: CSSValue): Color => {\n if (value.type === TokenType.FUNCTION) {\n const colorFunction = SUPPORTED_COLOR_FUNCTIONS[value.name];\n if (typeof colorFunction === 'undefined') {\n throw new Error(`Attempting to parse an unsupported color function \"${value.name}\"`);\n }\n return colorFunction(context, value.values);\n }\n\n if (value.type === TokenType.HASH_TOKEN) {\n if (value.value.length === 3) {\n const r = value.value.substring(0, 1);\n const g = value.value.substring(1, 2);\n const b = value.value.substring(2, 3);\n return pack(parseInt(r + r, 16), parseInt(g + g, 16), parseInt(b + b, 16), 1);\n }\n\n if (value.value.length === 4) {\n const r = value.value.substring(0, 1);\n const g = value.value.substring(1, 2);\n const b = value.value.substring(2, 3);\n const a = value.value.substring(3, 4);\n return pack(parseInt(r + r, 16), parseInt(g + g, 16), parseInt(b + b, 16), parseInt(a + a, 16) / 255);\n }\n\n if (value.value.length === 6) {\n const r = value.value.substring(0, 2);\n const g = value.value.substring(2, 4);\n const b = value.value.substring(4, 6);\n return pack(parseInt(r, 16), parseInt(g, 16), parseInt(b, 16), 1);\n }\n\n if (value.value.length === 8) {\n const r = value.value.substring(0, 2);\n const g = value.value.substring(2, 4);\n const b = value.value.substring(4, 6);\n const a = value.value.substring(6, 8);\n return pack(parseInt(r, 16), parseInt(g, 16), parseInt(b, 16), parseInt(a, 16) / 255);\n }\n }\n\n if (value.type === TokenType.IDENT_TOKEN) {\n const namedColor = COLORS[value.value.toUpperCase()];\n if (typeof namedColor !== 'undefined') {\n return namedColor;\n }\n }\n\n return COLORS.TRANSPARENT;\n }\n};\n\nexport const isTransparent = (color: Color): boolean => (0xff & color) === 0;\n\nexport const asString = (color: Color): string => {\n const alpha = 0xff & color;\n const blue = 0xff & (color >> 8);\n const green = 0xff & (color >> 16);\n const red = 0xff & (color >> 24);\n return alpha < 255 ? `rgba(${red},${green},${blue},${alpha / 255})` : `rgb(${red},${green},${blue})`;\n};\n\nexport const pack = (r: number, g: number, b: number, a: number): Color =>\n ((r << 24) | (g << 16) | (b << 8) | (Math.round(a * 255) << 0)) >>> 0;\n\nconst getTokenColorValue = (token: CSSValue, i: number): number => {\n if (token.type === TokenType.NUMBER_TOKEN) {\n return token.number;\n }\n\n if (token.type === TokenType.PERCENTAGE_TOKEN) {\n const max = i === 3 ? 1 : 255;\n return i === 3 ? (token.number / 100) * max : Math.round((token.number / 100) * max);\n }\n\n return 0;\n};\n\nconst rgb = (_context: Context, args: CSSValue[]): number => {\n const tokens = args.filter(nonFunctionArgSeparator);\n\n if (tokens.length === 3) {\n const [r, g, b] = tokens.map(getTokenColorValue);\n return pack(r, g, b, 1);\n }\n\n if (tokens.length === 4) {\n const [r, g, b, a] = tokens.map(getTokenColorValue);\n return pack(r, g, b, a);\n }\n\n return 0;\n};\n\nfunction hue2rgb(t1: number, t2: number, hue: number): number {\n if (hue < 0) {\n hue += 1;\n }\n if (hue >= 1) {\n hue -= 1;\n }\n\n if (hue < 1 / 6) {\n return (t2 - t1) * hue * 6 + t1;\n } else if (hue < 1 / 2) {\n return t2;\n } else if (hue < 2 / 3) {\n return (t2 - t1) * 6 * (2 / 3 - hue) + t1;\n } else {\n return t1;\n }\n}\n\nconst hsl = (context: Context, args: CSSValue[]): number => {\n const tokens = args.filter(nonFunctionArgSeparator);\n const [hue, saturation, lightness, alpha] = tokens;\n\n const h = (hue.type === TokenType.NUMBER_TOKEN ? deg(hue.number) : angle.parse(context, hue)) / (Math.PI * 2);\n const s = isLengthPercentage(saturation) ? saturation.number / 100 : 0;\n const l = isLengthPercentage(lightness) ? lightness.number / 100 : 0;\n const a = typeof alpha !== 'undefined' && isLengthPercentage(alpha) ? getAbsoluteValue(alpha, 1) : 1;\n\n if (s === 0) {\n return pack(l * 255, l * 255, l * 255, 1);\n }\n\n const t2 = l <= 0.5 ? l * (s + 1) : l + s - l * s;\n\n const t1 = l * 2 - t2;\n const r = hue2rgb(t1, t2, h + 1 / 3);\n const g = hue2rgb(t1, t2, h);\n const b = hue2rgb(t1, t2, h - 1 / 3);\n return pack(r * 255, g * 255, b * 255, a);\n};\n\nconst SUPPORTED_COLOR_FUNCTIONS: {\n [key: string]: (context: Context, args: CSSValue[]) => number;\n} = {\n hsl: hsl,\n hsla: hsl,\n rgb: rgb,\n rgba: rgb\n};\n\nexport const parseColor = (context: Context, value: string): Color =>\n color.parse(context, Parser.create(value).parseComponentValue());\n\nexport const COLORS: {[key: string]: Color} = {\n ALICEBLUE: 0xf0f8ffff,\n ANTIQUEWHITE: 0xfaebd7ff,\n AQUA: 0x00ffffff,\n AQUAMARINE: 0x7fffd4ff,\n AZURE: 0xf0ffffff,\n BEIGE: 0xf5f5dcff,\n BISQUE: 0xffe4c4ff,\n BLACK: 0x000000ff,\n BLANCHEDALMOND: 0xffebcdff,\n BLUE: 0x0000ffff,\n BLUEVIOLET: 0x8a2be2ff,\n BROWN: 0xa52a2aff,\n BURLYWOOD: 0xdeb887ff,\n CADETBLUE: 0x5f9ea0ff,\n CHARTREUSE: 0x7fff00ff,\n CHOCOLATE: 0xd2691eff,\n CORAL: 0xff7f50ff,\n CORNFLOWERBLUE: 0x6495edff,\n CORNSILK: 0xfff8dcff,\n CRIMSON: 0xdc143cff,\n CYAN: 0x00ffffff,\n DARKBLUE: 0x00008bff,\n DARKCYAN: 0x008b8bff,\n DARKGOLDENROD: 0xb886bbff,\n DARKGRAY: 0xa9a9a9ff,\n DARKGREEN: 0x006400ff,\n DARKGREY: 0xa9a9a9ff,\n DARKKHAKI: 0xbdb76bff,\n DARKMAGENTA: 0x8b008bff,\n DARKOLIVEGREEN: 0x556b2fff,\n DARKORANGE: 0xff8c00ff,\n DARKORCHID: 0x9932ccff,\n DARKRED: 0x8b0000ff,\n DARKSALMON: 0xe9967aff,\n DARKSEAGREEN: 0x8fbc8fff,\n DARKSLATEBLUE: 0x483d8bff,\n DARKSLATEGRAY: 0x2f4f4fff,\n DARKSLATEGREY: 0x2f4f4fff,\n DARKTURQUOISE: 0x00ced1ff,\n DARKVIOLET: 0x9400d3ff,\n DEEPPINK: 0xff1493ff,\n DEEPSKYBLUE: 0x00bfffff,\n DIMGRAY: 0x696969ff,\n DIMGREY: 0x696969ff,\n DODGERBLUE: 0x1e90ffff,\n FIREBRICK: 0xb22222ff,\n FLORALWHITE: 0xfffaf0ff,\n FORESTGREEN: 0x228b22ff,\n FUCHSIA: 0xff00ffff,\n GAINSBORO: 0xdcdcdcff,\n GHOSTWHITE: 0xf8f8ffff,\n GOLD: 0xffd700ff,\n GOLDENROD: 0xdaa520ff,\n GRAY: 0x808080ff,\n GREEN: 0x008000ff,\n GREENYELLOW: 0xadff2fff,\n GREY: 0x808080ff,\n HONEYDEW: 0xf0fff0ff,\n HOTPINK: 0xff69b4ff,\n INDIANRED: 0xcd5c5cff,\n INDIGO: 0x4b0082ff,\n IVORY: 0xfffff0ff,\n KHAKI: 0xf0e68cff,\n LAVENDER: 0xe6e6faff,\n LAVENDERBLUSH: 0xfff0f5ff,\n LAWNGREEN: 0x7cfc00ff,\n LEMONCHIFFON: 0xfffacdff,\n LIGHTBLUE: 0xadd8e6ff,\n LIGHTCORAL: 0xf08080ff,\n LIGHTCYAN: 0xe0ffffff,\n LIGHTGOLDENRODYELLOW: 0xfafad2ff,\n LIGHTGRAY: 0xd3d3d3ff,\n LIGHTGREEN: 0x90ee90ff,\n LIGHTGREY: 0xd3d3d3ff,\n LIGHTPINK: 0xffb6c1ff,\n LIGHTSALMON: 0xffa07aff,\n LIGHTSEAGREEN: 0x20b2aaff,\n LIGHTSKYBLUE: 0x87cefaff,\n LIGHTSLATEGRAY: 0x778899ff,\n LIGHTSLATEGREY: 0x778899ff,\n LIGHTSTEELBLUE: 0xb0c4deff,\n LIGHTYELLOW: 0xffffe0ff,\n LIME: 0x00ff00ff,\n LIMEGREEN: 0x32cd32ff,\n LINEN: 0xfaf0e6ff,\n MAGENTA: 0xff00ffff,\n MAROON: 0x800000ff,\n MEDIUMAQUAMARINE: 0x66cdaaff,\n MEDIUMBLUE: 0x0000cdff,\n MEDIUMORCHID: 0xba55d3ff,\n MEDIUMPURPLE: 0x9370dbff,\n MEDIUMSEAGREEN: 0x3cb371ff,\n MEDIUMSLATEBLUE: 0x7b68eeff,\n MEDIUMSPRINGGREEN: 0x00fa9aff,\n MEDIUMTURQUOISE: 0x48d1ccff,\n MEDIUMVIOLETRED: 0xc71585ff,\n MIDNIGHTBLUE: 0x191970ff,\n MINTCREAM: 0xf5fffaff,\n MISTYROSE: 0xffe4e1ff,\n MOCCASIN: 0xffe4b5ff,\n NAVAJOWHITE: 0xffdeadff,\n NAVY: 0x000080ff,\n OLDLACE: 0xfdf5e6ff,\n OLIVE: 0x808000ff,\n OLIVEDRAB: 0x6b8e23ff,\n ORANGE: 0xffa500ff,\n ORANGERED: 0xff4500ff,\n ORCHID: 0xda70d6ff,\n PALEGOLDENROD: 0xeee8aaff,\n PALEGREEN: 0x98fb98ff,\n PALETURQUOISE: 0xafeeeeff,\n PALEVIOLETRED: 0xdb7093ff,\n PAPAYAWHIP: 0xffefd5ff,\n PEACHPUFF: 0xffdab9ff,\n PERU: 0xcd853fff,\n PINK: 0xffc0cbff,\n PLUM: 0xdda0ddff,\n POWDERBLUE: 0xb0e0e6ff,\n PURPLE: 0x800080ff,\n REBECCAPURPLE: 0x663399ff,\n RED: 0xff0000ff,\n ROSYBROWN: 0xbc8f8fff,\n ROYALBLUE: 0x4169e1ff,\n SADDLEBROWN: 0x8b4513ff,\n SALMON: 0xfa8072ff,\n SANDYBROWN: 0xf4a460ff,\n SEAGREEN: 0x2e8b57ff,\n SEASHELL: 0xfff5eeff,\n SIENNA: 0xa0522dff,\n SILVER: 0xc0c0c0ff,\n SKYBLUE: 0x87ceebff,\n SLATEBLUE: 0x6a5acdff,\n SLATEGRAY: 0x708090ff,\n SLATEGREY: 0x708090ff,\n SNOW: 0xfffafaff,\n SPRINGGREEN: 0x00ff7fff,\n STEELBLUE: 0x4682b4ff,\n TAN: 0xd2b48cff,\n TEAL: 0x008080ff,\n THISTLE: 0xd8bfd8ff,\n TOMATO: 0xff6347ff,\n TRANSPARENT: 0x00000000,\n TURQUOISE: 0x40e0d0ff,\n VIOLET: 0xee82eeff,\n WHEAT: 0xf5deb3ff,\n WHITE: 0xffffffff,\n WHITESMOKE: 0xf5f5f5ff,\n YELLOW: 0xffff00ff,\n YELLOWGREEN: 0x9acd32ff\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const enum BACKGROUND_CLIP {\n BORDER_BOX = 0,\n PADDING_BOX = 1,\n CONTENT_BOX = 2\n}\n\nexport type BackgroundClip = BACKGROUND_CLIP[];\n\nexport const backgroundClip: IPropertyListDescriptor = {\n name: 'background-clip',\n initialValue: 'border-box',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundClip => {\n return tokens.map((token) => {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'padding-box':\n return BACKGROUND_CLIP.PADDING_BOX;\n case 'content-box':\n return BACKGROUND_CLIP.CONTENT_BOX;\n }\n }\n return BACKGROUND_CLIP.BORDER_BOX;\n });\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nexport const backgroundColor: IPropertyTypeValueDescriptor = {\n name: `background-color`,\n initialValue: 'transparent',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n};\n","import {CSSValue} from '../../syntax/parser';\nimport {\n CSSRadialExtent,\n CSSRadialGradientImage,\n CSSRadialShape,\n GradientColorStop,\n GradientCorner,\n UnprocessedGradientColorStop\n} from '../image';\nimport {color as colorType} from '../color';\nimport {getAbsoluteValue, HUNDRED_PERCENT, isLengthPercentage, ZERO_LENGTH} from '../length-percentage';\nimport {Context} from '../../../core/context';\n\nexport const parseColorStop = (context: Context, args: CSSValue[]): UnprocessedGradientColorStop => {\n const color = colorType.parse(context, args[0]);\n const stop = args[1];\n return stop && isLengthPercentage(stop) ? {color, stop} : {color, stop: null};\n};\n\nexport const processColorStops = (stops: UnprocessedGradientColorStop[], lineLength: number): GradientColorStop[] => {\n const first = stops[0];\n const last = stops[stops.length - 1];\n if (first.stop === null) {\n first.stop = ZERO_LENGTH;\n }\n\n if (last.stop === null) {\n last.stop = HUNDRED_PERCENT;\n }\n\n const processStops: (number | null)[] = [];\n let previous = 0;\n for (let i = 0; i < stops.length; i++) {\n const stop = stops[i].stop;\n if (stop !== null) {\n const absoluteValue = getAbsoluteValue(stop, lineLength);\n if (absoluteValue > previous) {\n processStops.push(absoluteValue);\n } else {\n processStops.push(previous);\n }\n previous = absoluteValue;\n } else {\n processStops.push(null);\n }\n }\n\n let gapBegin = null;\n for (let i = 0; i < processStops.length; i++) {\n const stop = processStops[i];\n if (stop === null) {\n if (gapBegin === null) {\n gapBegin = i;\n }\n } else if (gapBegin !== null) {\n const gapLength = i - gapBegin;\n const beforeGap = processStops[gapBegin - 1] as number;\n const gapValue = (stop - beforeGap) / (gapLength + 1);\n for (let g = 1; g <= gapLength; g++) {\n processStops[gapBegin + g - 1] = gapValue * g;\n }\n gapBegin = null;\n }\n }\n\n return stops.map(({color}, i) => {\n return {color, stop: Math.max(Math.min(1, (processStops[i] as number) / lineLength), 0)};\n });\n};\n\nconst getAngleFromCorner = (corner: GradientCorner, width: number, height: number): number => {\n const centerX = width / 2;\n const centerY = height / 2;\n const x = getAbsoluteValue(corner[0], width) - centerX;\n const y = centerY - getAbsoluteValue(corner[1], height);\n\n return (Math.atan2(y, x) + Math.PI * 2) % (Math.PI * 2);\n};\n\nexport const calculateGradientDirection = (\n angle: number | GradientCorner,\n width: number,\n height: number\n): [number, number, number, number, number] => {\n const radian = typeof angle === 'number' ? angle : getAngleFromCorner(angle, width, height);\n\n const lineLength = Math.abs(width * Math.sin(radian)) + Math.abs(height * Math.cos(radian));\n\n const halfWidth = width / 2;\n const halfHeight = height / 2;\n const halfLineLength = lineLength / 2;\n\n const yDiff = Math.sin(radian - Math.PI / 2) * halfLineLength;\n const xDiff = Math.cos(radian - Math.PI / 2) * halfLineLength;\n\n return [lineLength, halfWidth - xDiff, halfWidth + xDiff, halfHeight - yDiff, halfHeight + yDiff];\n};\n\nconst distance = (a: number, b: number): number => Math.sqrt(a * a + b * b);\n\nconst findCorner = (width: number, height: number, x: number, y: number, closest: boolean): [number, number] => {\n const corners = [\n [0, 0],\n [0, height],\n [width, 0],\n [width, height]\n ];\n\n return corners.reduce(\n (stat, corner) => {\n const [cx, cy] = corner;\n const d = distance(x - cx, y - cy);\n if (closest ? d < stat.optimumDistance : d > stat.optimumDistance) {\n return {\n optimumCorner: corner,\n optimumDistance: d\n };\n }\n\n return stat;\n },\n {\n optimumDistance: closest ? Infinity : -Infinity,\n optimumCorner: null\n }\n ).optimumCorner as [number, number];\n};\n\nexport const calculateRadius = (\n gradient: CSSRadialGradientImage,\n x: number,\n y: number,\n width: number,\n height: number\n): [number, number] => {\n let rx = 0;\n let ry = 0;\n\n switch (gradient.size) {\n case CSSRadialExtent.CLOSEST_SIDE:\n // The ending shape is sized so that that it exactly meets the side of the gradient box closest to the gradient’s center.\n // If the shape is an ellipse, it exactly meets the closest side in each dimension.\n if (gradient.shape === CSSRadialShape.CIRCLE) {\n rx = ry = Math.min(Math.abs(x), Math.abs(x - width), Math.abs(y), Math.abs(y - height));\n } else if (gradient.shape === CSSRadialShape.ELLIPSE) {\n rx = Math.min(Math.abs(x), Math.abs(x - width));\n ry = Math.min(Math.abs(y), Math.abs(y - height));\n }\n break;\n\n case CSSRadialExtent.CLOSEST_CORNER:\n // The ending shape is sized so that that it passes through the corner of the gradient box closest to the gradient’s center.\n // If the shape is an ellipse, the ending shape is given the same aspect-ratio it would have if closest-side were specified.\n if (gradient.shape === CSSRadialShape.CIRCLE) {\n rx = ry = Math.min(\n distance(x, y),\n distance(x, y - height),\n distance(x - width, y),\n distance(x - width, y - height)\n );\n } else if (gradient.shape === CSSRadialShape.ELLIPSE) {\n // Compute the ratio ry/rx (which is to be the same as for \"closest-side\")\n const c = Math.min(Math.abs(y), Math.abs(y - height)) / Math.min(Math.abs(x), Math.abs(x - width));\n const [cx, cy] = findCorner(width, height, x, y, true);\n rx = distance(cx - x, (cy - y) / c);\n ry = c * rx;\n }\n break;\n\n case CSSRadialExtent.FARTHEST_SIDE:\n // Same as closest-side, except the ending shape is sized based on the farthest side(s)\n if (gradient.shape === CSSRadialShape.CIRCLE) {\n rx = ry = Math.max(Math.abs(x), Math.abs(x - width), Math.abs(y), Math.abs(y - height));\n } else if (gradient.shape === CSSRadialShape.ELLIPSE) {\n rx = Math.max(Math.abs(x), Math.abs(x - width));\n ry = Math.max(Math.abs(y), Math.abs(y - height));\n }\n break;\n\n case CSSRadialExtent.FARTHEST_CORNER:\n // Same as closest-corner, except the ending shape is sized based on the farthest corner.\n // If the shape is an ellipse, the ending shape is given the same aspect ratio it would have if farthest-side were specified.\n if (gradient.shape === CSSRadialShape.CIRCLE) {\n rx = ry = Math.max(\n distance(x, y),\n distance(x, y - height),\n distance(x - width, y),\n distance(x - width, y - height)\n );\n } else if (gradient.shape === CSSRadialShape.ELLIPSE) {\n // Compute the ratio ry/rx (which is to be the same as for \"farthest-side\")\n const c = Math.max(Math.abs(y), Math.abs(y - height)) / Math.max(Math.abs(x), Math.abs(x - width));\n const [cx, cy] = findCorner(width, height, x, y, false);\n rx = distance(cx - x, (cy - y) / c);\n ry = c * rx;\n }\n break;\n }\n\n if (Array.isArray(gradient.size)) {\n rx = getAbsoluteValue(gradient.size[0], width);\n ry = gradient.size.length === 2 ? getAbsoluteValue(gradient.size[1], height) : rx;\n }\n\n return [rx, ry];\n};\n","import {CSSValue, parseFunctionArgs} from '../../syntax/parser';\nimport {CSSImageType, CSSLinearGradientImage, GradientCorner, UnprocessedGradientColorStop} from '../image';\nimport {TokenType} from '../../syntax/tokenizer';\nimport {isAngle, angle as angleType, parseNamedSide, deg} from '../angle';\nimport {parseColorStop} from './gradient';\nimport {Context} from '../../../core/context';\n\nexport const prefixLinearGradient = (context: Context, tokens: CSSValue[]): CSSLinearGradientImage => {\n let angle: number | GradientCorner = deg(180);\n const stops: UnprocessedGradientColorStop[] = [];\n\n parseFunctionArgs(tokens).forEach((arg, i) => {\n if (i === 0) {\n const firstToken = arg[0];\n if (\n firstToken.type === TokenType.IDENT_TOKEN &&\n ['top', 'left', 'right', 'bottom'].indexOf(firstToken.value) !== -1\n ) {\n angle = parseNamedSide(arg);\n return;\n } else if (isAngle(firstToken)) {\n angle = (angleType.parse(context, firstToken) + deg(270)) % deg(360);\n return;\n }\n }\n const colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n });\n\n return {\n angle,\n stops,\n type: CSSImageType.LINEAR_GRADIENT\n };\n};\n","import {CSSValue, isIdentToken, parseFunctionArgs} from '../../syntax/parser';\nimport {\n CSSImageType,\n CSSRadialExtent,\n CSSRadialGradientImage,\n CSSRadialShape,\n CSSRadialSize,\n UnprocessedGradientColorStop\n} from '../image';\nimport {parseColorStop} from './gradient';\nimport {FIFTY_PERCENT, HUNDRED_PERCENT, isLengthPercentage, LengthPercentage, ZERO_LENGTH} from '../length-percentage';\nimport {isLength} from '../length';\nimport {Context} from '../../../core/context';\nexport const CLOSEST_SIDE = 'closest-side';\nexport const FARTHEST_SIDE = 'farthest-side';\nexport const CLOSEST_CORNER = 'closest-corner';\nexport const FARTHEST_CORNER = 'farthest-corner';\nexport const CIRCLE = 'circle';\nexport const ELLIPSE = 'ellipse';\nexport const COVER = 'cover';\nexport const CONTAIN = 'contain';\n\nexport const radialGradient = (context: Context, tokens: CSSValue[]): CSSRadialGradientImage => {\n let shape: CSSRadialShape = CSSRadialShape.CIRCLE;\n let size: CSSRadialSize = CSSRadialExtent.FARTHEST_CORNER;\n const stops: UnprocessedGradientColorStop[] = [];\n const position: LengthPercentage[] = [];\n parseFunctionArgs(tokens).forEach((arg, i) => {\n let isColorStop = true;\n if (i === 0) {\n let isAtPosition = false;\n isColorStop = arg.reduce((acc, token) => {\n if (isAtPosition) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'center':\n position.push(FIFTY_PERCENT);\n return acc;\n case 'top':\n case 'left':\n position.push(ZERO_LENGTH);\n return acc;\n case 'right':\n case 'bottom':\n position.push(HUNDRED_PERCENT);\n return acc;\n }\n } else if (isLengthPercentage(token) || isLength(token)) {\n position.push(token);\n }\n } else if (isIdentToken(token)) {\n switch (token.value) {\n case CIRCLE:\n shape = CSSRadialShape.CIRCLE;\n return false;\n case ELLIPSE:\n shape = CSSRadialShape.ELLIPSE;\n return false;\n case 'at':\n isAtPosition = true;\n return false;\n case CLOSEST_SIDE:\n size = CSSRadialExtent.CLOSEST_SIDE;\n return false;\n case COVER:\n case FARTHEST_SIDE:\n size = CSSRadialExtent.FARTHEST_SIDE;\n return false;\n case CONTAIN:\n case CLOSEST_CORNER:\n size = CSSRadialExtent.CLOSEST_CORNER;\n return false;\n case FARTHEST_CORNER:\n size = CSSRadialExtent.FARTHEST_CORNER;\n return false;\n }\n } else if (isLength(token) || isLengthPercentage(token)) {\n if (!Array.isArray(size)) {\n size = [];\n }\n size.push(token);\n return false;\n }\n return acc;\n }, isColorStop);\n }\n\n if (isColorStop) {\n const colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n }\n });\n\n return {size, shape, stops, position, type: CSSImageType.RADIAL_GRADIENT};\n};\n","import {CSSValue, isIdentToken, parseFunctionArgs} from '../../syntax/parser';\nimport {\n CSSImageType,\n CSSRadialExtent,\n CSSRadialGradientImage,\n CSSRadialShape,\n CSSRadialSize,\n UnprocessedGradientColorStop\n} from '../image';\nimport {parseColorStop} from './gradient';\nimport {FIFTY_PERCENT, HUNDRED_PERCENT, isLengthPercentage, LengthPercentage, ZERO_LENGTH} from '../length-percentage';\nimport {isLength} from '../length';\nimport {\n CIRCLE,\n CLOSEST_CORNER,\n CLOSEST_SIDE,\n CONTAIN,\n COVER,\n ELLIPSE,\n FARTHEST_CORNER,\n FARTHEST_SIDE\n} from './radial-gradient';\nimport {Context} from '../../../core/context';\n\nexport const prefixRadialGradient = (context: Context, tokens: CSSValue[]): CSSRadialGradientImage => {\n let shape: CSSRadialShape = CSSRadialShape.CIRCLE;\n let size: CSSRadialSize = CSSRadialExtent.FARTHEST_CORNER;\n const stops: UnprocessedGradientColorStop[] = [];\n const position: LengthPercentage[] = [];\n\n parseFunctionArgs(tokens).forEach((arg, i) => {\n let isColorStop = true;\n if (i === 0) {\n isColorStop = arg.reduce((acc, token) => {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'center':\n position.push(FIFTY_PERCENT);\n return false;\n case 'top':\n case 'left':\n position.push(ZERO_LENGTH);\n return false;\n case 'right':\n case 'bottom':\n position.push(HUNDRED_PERCENT);\n return false;\n }\n } else if (isLengthPercentage(token) || isLength(token)) {\n position.push(token);\n return false;\n }\n\n return acc;\n }, isColorStop);\n } else if (i === 1) {\n isColorStop = arg.reduce((acc, token) => {\n if (isIdentToken(token)) {\n switch (token.value) {\n case CIRCLE:\n shape = CSSRadialShape.CIRCLE;\n return false;\n case ELLIPSE:\n shape = CSSRadialShape.ELLIPSE;\n return false;\n case CONTAIN:\n case CLOSEST_SIDE:\n size = CSSRadialExtent.CLOSEST_SIDE;\n return false;\n case FARTHEST_SIDE:\n size = CSSRadialExtent.FARTHEST_SIDE;\n return false;\n case CLOSEST_CORNER:\n size = CSSRadialExtent.CLOSEST_CORNER;\n return false;\n case COVER:\n case FARTHEST_CORNER:\n size = CSSRadialExtent.FARTHEST_CORNER;\n return false;\n }\n } else if (isLength(token) || isLengthPercentage(token)) {\n if (!Array.isArray(size)) {\n size = [];\n }\n size.push(token);\n return false;\n }\n\n return acc;\n }, isColorStop);\n }\n\n if (isColorStop) {\n const colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n }\n });\n\n return {size, shape, stops, position, type: CSSImageType.RADIAL_GRADIENT};\n};\n","import {CSSValue} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Color} from './color';\nimport {linearGradient} from './functions/linear-gradient';\nimport {prefixLinearGradient} from './functions/-prefix-linear-gradient';\nimport {ITypeDescriptor} from '../ITypeDescriptor';\nimport {LengthPercentage} from './length-percentage';\nimport {webkitGradient} from './functions/-webkit-gradient';\nimport {radialGradient} from './functions/radial-gradient';\nimport {prefixRadialGradient} from './functions/-prefix-radial-gradient';\nimport {Context} from '../../core/context';\n\nexport const enum CSSImageType {\n URL,\n LINEAR_GRADIENT,\n RADIAL_GRADIENT\n}\n\nexport const isLinearGradient = (background: ICSSImage): background is CSSLinearGradientImage => {\n return background.type === CSSImageType.LINEAR_GRADIENT;\n};\n\nexport const isRadialGradient = (background: ICSSImage): background is CSSRadialGradientImage => {\n return background.type === CSSImageType.RADIAL_GRADIENT;\n};\n\nexport interface UnprocessedGradientColorStop {\n color: Color;\n stop: LengthPercentage | null;\n}\n\nexport interface GradientColorStop {\n color: Color;\n stop: number;\n}\n\nexport interface ICSSImage {\n type: CSSImageType;\n}\n\nexport interface CSSURLImage extends ICSSImage {\n url: string;\n type: CSSImageType.URL;\n}\n\n// interface ICSSGeneratedImage extends ICSSImage {}\n\nexport type GradientCorner = [LengthPercentage, LengthPercentage];\n\ninterface ICSSGradientImage extends ICSSImage {\n stops: UnprocessedGradientColorStop[];\n}\n\nexport interface CSSLinearGradientImage extends ICSSGradientImage {\n angle: number | GradientCorner;\n type: CSSImageType.LINEAR_GRADIENT;\n}\n\nexport const enum CSSRadialShape {\n CIRCLE,\n ELLIPSE\n}\n\nexport const enum CSSRadialExtent {\n CLOSEST_SIDE,\n FARTHEST_SIDE,\n CLOSEST_CORNER,\n FARTHEST_CORNER\n}\n\nexport type CSSRadialSize = CSSRadialExtent | LengthPercentage[];\n\nexport interface CSSRadialGradientImage extends ICSSGradientImage {\n type: CSSImageType.RADIAL_GRADIENT;\n shape: CSSRadialShape;\n size: CSSRadialSize;\n position: LengthPercentage[];\n}\n\nexport const image: ITypeDescriptor = {\n name: 'image',\n parse: (context: Context, value: CSSValue): ICSSImage => {\n if (value.type === TokenType.URL_TOKEN) {\n const image: CSSURLImage = {url: value.value, type: CSSImageType.URL};\n context.cache.addImage(value.value);\n return image;\n }\n\n if (value.type === TokenType.FUNCTION) {\n const imageFunction = SUPPORTED_IMAGE_FUNCTIONS[value.name];\n if (typeof imageFunction === 'undefined') {\n throw new Error(`Attempting to parse an unsupported image function \"${value.name}\"`);\n }\n return imageFunction(context, value.values);\n }\n\n throw new Error(`Unsupported image type ${value.type}`);\n }\n};\n\nexport function isSupportedImage(value: CSSValue): boolean {\n return (\n !(value.type === TokenType.IDENT_TOKEN && value.value === 'none') &&\n (value.type !== TokenType.FUNCTION || !!SUPPORTED_IMAGE_FUNCTIONS[value.name])\n );\n}\n\nconst SUPPORTED_IMAGE_FUNCTIONS: Record ICSSImage> = {\n 'linear-gradient': linearGradient,\n '-moz-linear-gradient': prefixLinearGradient,\n '-ms-linear-gradient': prefixLinearGradient,\n '-o-linear-gradient': prefixLinearGradient,\n '-webkit-linear-gradient': prefixLinearGradient,\n 'radial-gradient': radialGradient,\n '-moz-radial-gradient': prefixRadialGradient,\n '-ms-radial-gradient': prefixRadialGradient,\n '-o-radial-gradient': prefixRadialGradient,\n '-webkit-radial-gradient': prefixRadialGradient,\n '-webkit-gradient': webkitGradient\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken, parseFunctionArgs} from '../syntax/parser';\nimport {isLengthPercentage, LengthPercentage} from '../types/length-percentage';\nimport {StringValueToken} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\nexport enum BACKGROUND_SIZE {\n AUTO = 'auto',\n CONTAIN = 'contain',\n COVER = 'cover'\n}\n\nexport type BackgroundSizeInfo = LengthPercentage | StringValueToken;\nexport type BackgroundSize = BackgroundSizeInfo[][];\n\nexport const backgroundSize: IPropertyListDescriptor = {\n name: 'background-size',\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundSize => {\n return parseFunctionArgs(tokens).map((values) => values.filter(isBackgroundSizeInfoToken));\n }\n};\n\nconst isBackgroundSizeInfoToken = (value: CSSValue): value is BackgroundSizeInfo =>\n isIdentToken(value) || isLengthPercentage(value);\n","import {CSSValue, parseFunctionArgs} from '../../syntax/parser';\nimport {TokenType} from '../../syntax/tokenizer';\nimport {isAngle, angle as angleType, parseNamedSide, deg} from '../angle';\nimport {CSSImageType, CSSLinearGradientImage, GradientCorner, UnprocessedGradientColorStop} from '../image';\nimport {parseColorStop} from './gradient';\nimport {Context} from '../../../core/context';\n\nexport const linearGradient = (context: Context, tokens: CSSValue[]): CSSLinearGradientImage => {\n let angle: number | GradientCorner = deg(180);\n const stops: UnprocessedGradientColorStop[] = [];\n\n parseFunctionArgs(tokens).forEach((arg, i) => {\n if (i === 0) {\n const firstToken = arg[0];\n if (firstToken.type === TokenType.IDENT_TOKEN && firstToken.value === 'to') {\n angle = parseNamedSide(arg);\n return;\n } else if (isAngle(firstToken)) {\n angle = angleType.parse(context, firstToken);\n return;\n }\n }\n const colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n });\n\n return {angle, stops, type: CSSImageType.LINEAR_GRADIENT};\n};\n","import {CSSValue, isIdentToken, isNumberToken, nonFunctionArgSeparator, parseFunctionArgs} from '../../syntax/parser';\nimport {\n CSSImageType,\n CSSLinearGradientImage,\n CSSRadialExtent,\n CSSRadialGradientImage,\n CSSRadialShape,\n CSSRadialSize,\n UnprocessedGradientColorStop\n} from '../image';\nimport {deg} from '../angle';\nimport {TokenType} from '../../syntax/tokenizer';\nimport {color as colorType} from '../color';\nimport {HUNDRED_PERCENT, LengthPercentage, ZERO_LENGTH} from '../length-percentage';\nimport {Context} from '../../../core/context';\n\nexport const webkitGradient = (\n context: Context,\n tokens: CSSValue[]\n): CSSLinearGradientImage | CSSRadialGradientImage => {\n const angle = deg(180);\n const stops: UnprocessedGradientColorStop[] = [];\n let type = CSSImageType.LINEAR_GRADIENT;\n const shape: CSSRadialShape = CSSRadialShape.CIRCLE;\n const size: CSSRadialSize = CSSRadialExtent.FARTHEST_CORNER;\n const position: LengthPercentage[] = [];\n parseFunctionArgs(tokens).forEach((arg, i) => {\n const firstToken = arg[0];\n if (i === 0) {\n if (isIdentToken(firstToken) && firstToken.value === 'linear') {\n type = CSSImageType.LINEAR_GRADIENT;\n return;\n } else if (isIdentToken(firstToken) && firstToken.value === 'radial') {\n type = CSSImageType.RADIAL_GRADIENT;\n return;\n }\n }\n\n if (firstToken.type === TokenType.FUNCTION) {\n if (firstToken.name === 'from') {\n const color = colorType.parse(context, firstToken.values[0]);\n stops.push({stop: ZERO_LENGTH, color});\n } else if (firstToken.name === 'to') {\n const color = colorType.parse(context, firstToken.values[0]);\n stops.push({stop: HUNDRED_PERCENT, color});\n } else if (firstToken.name === 'color-stop') {\n const values = firstToken.values.filter(nonFunctionArgSeparator);\n if (values.length === 2) {\n const color = colorType.parse(context, values[1]);\n const stop = values[0];\n if (isNumberToken(stop)) {\n stops.push({\n stop: {type: TokenType.PERCENTAGE_TOKEN, number: stop.number * 100, flags: stop.flags},\n color\n });\n }\n }\n }\n }\n });\n\n return type === CSSImageType.LINEAR_GRADIENT\n ? {\n angle: (angle + deg(180)) % deg(360),\n stops,\n type\n }\n : {size, shape, stops, position, type};\n};\n","import {TokenType} from '../syntax/tokenizer';\nimport {ICSSImage, image, isSupportedImage} from '../types/image';\nimport {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, nonFunctionArgSeparator} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport const backgroundImage: IPropertyListDescriptor = {\n name: 'background-image',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return [];\n }\n\n const first = tokens[0];\n\n if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') {\n return [];\n }\n\n return tokens\n .filter((value) => nonFunctionArgSeparator(value) && isSupportedImage(value))\n .map((value) => image.parse(context, value));\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport const enum BACKGROUND_ORIGIN {\n BORDER_BOX = 0,\n PADDING_BOX = 1,\n CONTENT_BOX = 2\n}\n\nexport type BackgroundOrigin = BACKGROUND_ORIGIN[];\n\nexport const backgroundOrigin: IPropertyListDescriptor = {\n name: 'background-origin',\n initialValue: 'border-box',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundOrigin => {\n return tokens.map((token) => {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'padding-box':\n return BACKGROUND_ORIGIN.PADDING_BOX;\n case 'content-box':\n return BACKGROUND_ORIGIN.CONTENT_BOX;\n }\n }\n return BACKGROUND_ORIGIN.BORDER_BOX;\n });\n }\n};\n","import {PropertyDescriptorParsingType, IPropertyListDescriptor} from '../IPropertyDescriptor';\nimport {CSSValue, parseFunctionArgs} from '../syntax/parser';\nimport {isLengthPercentage, LengthPercentageTuple, parseLengthPercentageTuple} from '../types/length-percentage';\nimport {Context} from '../../core/context';\nexport type BackgroundPosition = BackgroundImagePosition[];\n\nexport type BackgroundImagePosition = LengthPercentageTuple;\n\nexport const backgroundPosition: IPropertyListDescriptor = {\n name: 'background-position',\n initialValue: '0% 0%',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundPosition => {\n return parseFunctionArgs(tokens)\n .map((values: CSSValue[]) => values.filter(isLengthPercentage))\n .map(parseLengthPercentageTuple);\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken, parseFunctionArgs} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport type BackgroundRepeat = BACKGROUND_REPEAT[];\n\nexport const enum BACKGROUND_REPEAT {\n REPEAT = 0,\n NO_REPEAT = 1,\n REPEAT_X = 2,\n REPEAT_Y = 3\n}\n\nexport const backgroundRepeat: IPropertyListDescriptor = {\n name: 'background-repeat',\n initialValue: 'repeat',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundRepeat => {\n return parseFunctionArgs(tokens)\n .map((values) =>\n values\n .filter(isIdentToken)\n .map((token) => token.value)\n .join(' ')\n )\n .map(parseBackgroundRepeat);\n }\n};\n\nconst parseBackgroundRepeat = (value: string): BACKGROUND_REPEAT => {\n switch (value) {\n case 'no-repeat':\n return BACKGROUND_REPEAT.NO_REPEAT;\n case 'repeat-x':\n case 'repeat no-repeat':\n return BACKGROUND_REPEAT.REPEAT_X;\n case 'repeat-y':\n case 'no-repeat repeat':\n return BACKGROUND_REPEAT.REPEAT_Y;\n case 'repeat':\n default:\n return BACKGROUND_REPEAT.REPEAT;\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport enum LINE_BREAK {\n NORMAL = 'normal',\n STRICT = 'strict'\n}\n\nexport const lineBreak: IPropertyIdentValueDescriptor = {\n name: 'line-break',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, lineBreak: string): LINE_BREAK => {\n switch (lineBreak) {\n case 'strict':\n return LINE_BREAK.STRICT;\n case 'normal':\n default:\n return LINE_BREAK.NORMAL;\n }\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nconst borderColorForSide = (side: string): IPropertyTypeValueDescriptor => ({\n name: `border-${side}-color`,\n initialValue: 'transparent',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n});\n\nexport const borderTopColor: IPropertyTypeValueDescriptor = borderColorForSide('top');\nexport const borderRightColor: IPropertyTypeValueDescriptor = borderColorForSide('right');\nexport const borderBottomColor: IPropertyTypeValueDescriptor = borderColorForSide('bottom');\nexport const borderLeftColor: IPropertyTypeValueDescriptor = borderColorForSide('left');\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {isLengthPercentage, LengthPercentageTuple, parseLengthPercentageTuple} from '../types/length-percentage';\nimport {Context} from '../../core/context';\nexport type BorderRadius = LengthPercentageTuple;\n\nconst borderRadiusForSide = (side: string): IPropertyListDescriptor => ({\n name: `border-radius-${side}`,\n initialValue: '0 0',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BorderRadius =>\n parseLengthPercentageTuple(tokens.filter(isLengthPercentage))\n});\n\nexport const borderTopLeftRadius: IPropertyListDescriptor = borderRadiusForSide('top-left');\nexport const borderTopRightRadius: IPropertyListDescriptor = borderRadiusForSide('top-right');\nexport const borderBottomRightRadius: IPropertyListDescriptor = borderRadiusForSide('bottom-right');\nexport const borderBottomLeftRadius: IPropertyListDescriptor = borderRadiusForSide('bottom-left');\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum BORDER_STYLE {\n NONE = 0,\n SOLID = 1,\n DASHED = 2,\n DOTTED = 3,\n DOUBLE = 4\n}\n\nconst borderStyleForSide = (side: string): IPropertyIdentValueDescriptor => ({\n name: `border-${side}-style`,\n initialValue: 'solid',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, style: string): BORDER_STYLE => {\n switch (style) {\n case 'none':\n return BORDER_STYLE.NONE;\n case 'dashed':\n return BORDER_STYLE.DASHED;\n case 'dotted':\n return BORDER_STYLE.DOTTED;\n case 'double':\n return BORDER_STYLE.DOUBLE;\n }\n return BORDER_STYLE.SOLID;\n }\n});\n\nexport const borderTopStyle: IPropertyIdentValueDescriptor = borderStyleForSide('top');\nexport const borderRightStyle: IPropertyIdentValueDescriptor = borderStyleForSide('right');\nexport const borderBottomStyle: IPropertyIdentValueDescriptor = borderStyleForSide('bottom');\nexport const borderLeftStyle: IPropertyIdentValueDescriptor = borderStyleForSide('left');\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isDimensionToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nconst borderWidthForSide = (side: string): IPropertyValueDescriptor => ({\n name: `border-${side}-width`,\n initialValue: '0',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (_context: Context, token: CSSValue): number => {\n if (isDimensionToken(token)) {\n return token.number;\n }\n return 0;\n }\n});\n\nexport const borderTopWidth: IPropertyValueDescriptor = borderWidthForSide('top');\nexport const borderRightWidth: IPropertyValueDescriptor = borderWidthForSide('right');\nexport const borderBottomWidth: IPropertyValueDescriptor = borderWidthForSide('bottom');\nexport const borderLeftWidth: IPropertyValueDescriptor = borderWidthForSide('left');\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nexport const color: IPropertyTypeValueDescriptor = {\n name: `color`,\n initialValue: 'transparent',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\n\nexport const enum DIRECTION {\n LTR = 0,\n RTL = 1\n}\n\nexport const direction: IPropertyIdentValueDescriptor = {\n name: 'direction',\n initialValue: 'ltr',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, direction: string) => {\n switch (direction) {\n case 'rtl':\n return DIRECTION.RTL;\n case 'ltr':\n default:\n return DIRECTION.LTR;\n }\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const enum DISPLAY {\n NONE = 0,\n BLOCK = 1 << 1,\n INLINE = 1 << 2,\n RUN_IN = 1 << 3,\n FLOW = 1 << 4,\n FLOW_ROOT = 1 << 5,\n TABLE = 1 << 6,\n FLEX = 1 << 7,\n GRID = 1 << 8,\n RUBY = 1 << 9,\n SUBGRID = 1 << 10,\n LIST_ITEM = 1 << 11,\n TABLE_ROW_GROUP = 1 << 12,\n TABLE_HEADER_GROUP = 1 << 13,\n TABLE_FOOTER_GROUP = 1 << 14,\n TABLE_ROW = 1 << 15,\n TABLE_CELL = 1 << 16,\n TABLE_COLUMN_GROUP = 1 << 17,\n TABLE_COLUMN = 1 << 18,\n TABLE_CAPTION = 1 << 19,\n RUBY_BASE = 1 << 20,\n RUBY_TEXT = 1 << 21,\n RUBY_BASE_CONTAINER = 1 << 22,\n RUBY_TEXT_CONTAINER = 1 << 23,\n CONTENTS = 1 << 24,\n INLINE_BLOCK = 1 << 25,\n INLINE_LIST_ITEM = 1 << 26,\n INLINE_TABLE = 1 << 27,\n INLINE_FLEX = 1 << 28,\n INLINE_GRID = 1 << 29\n}\n\nexport type Display = number;\n\nexport const display: IPropertyListDescriptor = {\n name: 'display',\n initialValue: 'inline-block',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): Display => {\n return tokens.filter(isIdentToken).reduce((bit, token) => {\n return bit | parseDisplayValue(token.value);\n }, DISPLAY.NONE);\n }\n};\n\nconst parseDisplayValue = (display: string): Display => {\n switch (display) {\n case 'block':\n case '-webkit-box':\n return DISPLAY.BLOCK;\n case 'inline':\n return DISPLAY.INLINE;\n case 'run-in':\n return DISPLAY.RUN_IN;\n case 'flow':\n return DISPLAY.FLOW;\n case 'flow-root':\n return DISPLAY.FLOW_ROOT;\n case 'table':\n return DISPLAY.TABLE;\n case 'flex':\n case '-webkit-flex':\n return DISPLAY.FLEX;\n case 'grid':\n case '-ms-grid':\n return DISPLAY.GRID;\n case 'ruby':\n return DISPLAY.RUBY;\n case 'subgrid':\n return DISPLAY.SUBGRID;\n case 'list-item':\n return DISPLAY.LIST_ITEM;\n case 'table-row-group':\n return DISPLAY.TABLE_ROW_GROUP;\n case 'table-header-group':\n return DISPLAY.TABLE_HEADER_GROUP;\n case 'table-footer-group':\n return DISPLAY.TABLE_FOOTER_GROUP;\n case 'table-row':\n return DISPLAY.TABLE_ROW;\n case 'table-cell':\n return DISPLAY.TABLE_CELL;\n case 'table-column-group':\n return DISPLAY.TABLE_COLUMN_GROUP;\n case 'table-column':\n return DISPLAY.TABLE_COLUMN;\n case 'table-caption':\n return DISPLAY.TABLE_CAPTION;\n case 'ruby-base':\n return DISPLAY.RUBY_BASE;\n case 'ruby-text':\n return DISPLAY.RUBY_TEXT;\n case 'ruby-base-container':\n return DISPLAY.RUBY_BASE_CONTAINER;\n case 'ruby-text-container':\n return DISPLAY.RUBY_TEXT_CONTAINER;\n case 'contents':\n return DISPLAY.CONTENTS;\n case 'inline-block':\n return DISPLAY.INLINE_BLOCK;\n case 'inline-list-item':\n return DISPLAY.INLINE_LIST_ITEM;\n case 'inline-table':\n return DISPLAY.INLINE_TABLE;\n case 'inline-flex':\n return DISPLAY.INLINE_FLEX;\n case 'inline-grid':\n return DISPLAY.INLINE_GRID;\n }\n\n return DISPLAY.NONE;\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum FLOAT {\n NONE = 0,\n LEFT = 1,\n RIGHT = 2,\n INLINE_START = 3,\n INLINE_END = 4\n}\n\nexport const float: IPropertyIdentValueDescriptor = {\n name: 'float',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, float: string) => {\n switch (float) {\n case 'left':\n return FLOAT.LEFT;\n case 'right':\n return FLOAT.RIGHT;\n case 'inline-start':\n return FLOAT.INLINE_START;\n case 'inline-end':\n return FLOAT.INLINE_END;\n }\n return FLOAT.NONE;\n }\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\nexport const letterSpacing: IPropertyValueDescriptor = {\n name: 'letter-spacing',\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.VALUE,\n parse: (_context: Context, token: CSSValue) => {\n if (token.type === TokenType.IDENT_TOKEN && token.value === 'normal') {\n return 0;\n }\n\n if (token.type === TokenType.NUMBER_TOKEN) {\n return token.number;\n }\n\n if (token.type === TokenType.DIMENSION_TOKEN) {\n return token.number;\n }\n\n return 0;\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport enum WORD_BREAK {\n NORMAL = 'normal',\n BREAK_ALL = 'break-all',\n KEEP_ALL = 'keep-all'\n}\n\nexport const wordBreak: IPropertyIdentValueDescriptor = {\n name: 'word-break',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, wordBreak: string): WORD_BREAK => {\n switch (wordBreak) {\n case 'break-all':\n return WORD_BREAK.BREAK_ALL;\n case 'keep-all':\n return WORD_BREAK.KEEP_ALL;\n case 'normal':\n default:\n return WORD_BREAK.NORMAL;\n }\n }\n};\n","import {IPropertyTokenValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {getAbsoluteValue, isLengthPercentage} from '../types/length-percentage';\nexport const lineHeight: IPropertyTokenValueDescriptor = {\n name: 'line-height',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.TOKEN_VALUE\n};\n\nexport const computeLineHeight = (token: CSSValue, fontSize: number): number => {\n if (isIdentToken(token) && token.value === 'normal') {\n return 1.2 * fontSize;\n } else if (token.type === TokenType.NUMBER_TOKEN) {\n return fontSize * token.number;\n } else if (isLengthPercentage(token)) {\n return getAbsoluteValue(token, fontSize);\n }\n\n return fontSize;\n};\n","import {TokenType} from '../syntax/tokenizer';\nimport {ICSSImage, image} from '../types/image';\nimport {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport const listStyleImage: IPropertyValueDescriptor = {\n name: 'list-style-image',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (context: Context, token: CSSValue) => {\n if (token.type === TokenType.IDENT_TOKEN && token.value === 'none') {\n return null;\n }\n\n return image.parse(context, token);\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum LIST_STYLE_POSITION {\n INSIDE = 0,\n OUTSIDE = 1\n}\n\nexport const listStylePosition: IPropertyIdentValueDescriptor = {\n name: 'list-style-position',\n initialValue: 'outside',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, position: string) => {\n switch (position) {\n case 'inside':\n return LIST_STYLE_POSITION.INSIDE;\n case 'outside':\n default:\n return LIST_STYLE_POSITION.OUTSIDE;\n }\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum LIST_STYLE_TYPE {\n NONE = -1,\n DISC = 0,\n CIRCLE = 1,\n SQUARE = 2,\n DECIMAL = 3,\n CJK_DECIMAL = 4,\n DECIMAL_LEADING_ZERO = 5,\n LOWER_ROMAN = 6,\n UPPER_ROMAN = 7,\n LOWER_GREEK = 8,\n LOWER_ALPHA = 9,\n UPPER_ALPHA = 10,\n ARABIC_INDIC = 11,\n ARMENIAN = 12,\n BENGALI = 13,\n CAMBODIAN = 14,\n CJK_EARTHLY_BRANCH = 15,\n CJK_HEAVENLY_STEM = 16,\n CJK_IDEOGRAPHIC = 17,\n DEVANAGARI = 18,\n ETHIOPIC_NUMERIC = 19,\n GEORGIAN = 20,\n GUJARATI = 21,\n GURMUKHI = 22,\n HEBREW = 22,\n HIRAGANA = 23,\n HIRAGANA_IROHA = 24,\n JAPANESE_FORMAL = 25,\n JAPANESE_INFORMAL = 26,\n KANNADA = 27,\n KATAKANA = 28,\n KATAKANA_IROHA = 29,\n KHMER = 30,\n KOREAN_HANGUL_FORMAL = 31,\n KOREAN_HANJA_FORMAL = 32,\n KOREAN_HANJA_INFORMAL = 33,\n LAO = 34,\n LOWER_ARMENIAN = 35,\n MALAYALAM = 36,\n MONGOLIAN = 37,\n MYANMAR = 38,\n ORIYA = 39,\n PERSIAN = 40,\n SIMP_CHINESE_FORMAL = 41,\n SIMP_CHINESE_INFORMAL = 42,\n TAMIL = 43,\n TELUGU = 44,\n THAI = 45,\n TIBETAN = 46,\n TRAD_CHINESE_FORMAL = 47,\n TRAD_CHINESE_INFORMAL = 48,\n UPPER_ARMENIAN = 49,\n DISCLOSURE_OPEN = 50,\n DISCLOSURE_CLOSED = 51\n}\n\nexport const listStyleType: IPropertyIdentValueDescriptor = {\n name: 'list-style-type',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, type: string) => {\n switch (type) {\n case 'disc':\n return LIST_STYLE_TYPE.DISC;\n case 'circle':\n return LIST_STYLE_TYPE.CIRCLE;\n case 'square':\n return LIST_STYLE_TYPE.SQUARE;\n case 'decimal':\n return LIST_STYLE_TYPE.DECIMAL;\n case 'cjk-decimal':\n return LIST_STYLE_TYPE.CJK_DECIMAL;\n case 'decimal-leading-zero':\n return LIST_STYLE_TYPE.DECIMAL_LEADING_ZERO;\n case 'lower-roman':\n return LIST_STYLE_TYPE.LOWER_ROMAN;\n case 'upper-roman':\n return LIST_STYLE_TYPE.UPPER_ROMAN;\n case 'lower-greek':\n return LIST_STYLE_TYPE.LOWER_GREEK;\n case 'lower-alpha':\n return LIST_STYLE_TYPE.LOWER_ALPHA;\n case 'upper-alpha':\n return LIST_STYLE_TYPE.UPPER_ALPHA;\n case 'arabic-indic':\n return LIST_STYLE_TYPE.ARABIC_INDIC;\n case 'armenian':\n return LIST_STYLE_TYPE.ARMENIAN;\n case 'bengali':\n return LIST_STYLE_TYPE.BENGALI;\n case 'cambodian':\n return LIST_STYLE_TYPE.CAMBODIAN;\n case 'cjk-earthly-branch':\n return LIST_STYLE_TYPE.CJK_EARTHLY_BRANCH;\n case 'cjk-heavenly-stem':\n return LIST_STYLE_TYPE.CJK_HEAVENLY_STEM;\n case 'cjk-ideographic':\n return LIST_STYLE_TYPE.CJK_IDEOGRAPHIC;\n case 'devanagari':\n return LIST_STYLE_TYPE.DEVANAGARI;\n case 'ethiopic-numeric':\n return LIST_STYLE_TYPE.ETHIOPIC_NUMERIC;\n case 'georgian':\n return LIST_STYLE_TYPE.GEORGIAN;\n case 'gujarati':\n return LIST_STYLE_TYPE.GUJARATI;\n case 'gurmukhi':\n return LIST_STYLE_TYPE.GURMUKHI;\n case 'hebrew':\n return LIST_STYLE_TYPE.HEBREW;\n case 'hiragana':\n return LIST_STYLE_TYPE.HIRAGANA;\n case 'hiragana-iroha':\n return LIST_STYLE_TYPE.HIRAGANA_IROHA;\n case 'japanese-formal':\n return LIST_STYLE_TYPE.JAPANESE_FORMAL;\n case 'japanese-informal':\n return LIST_STYLE_TYPE.JAPANESE_INFORMAL;\n case 'kannada':\n return LIST_STYLE_TYPE.KANNADA;\n case 'katakana':\n return LIST_STYLE_TYPE.KATAKANA;\n case 'katakana-iroha':\n return LIST_STYLE_TYPE.KATAKANA_IROHA;\n case 'khmer':\n return LIST_STYLE_TYPE.KHMER;\n case 'korean-hangul-formal':\n return LIST_STYLE_TYPE.KOREAN_HANGUL_FORMAL;\n case 'korean-hanja-formal':\n return LIST_STYLE_TYPE.KOREAN_HANJA_FORMAL;\n case 'korean-hanja-informal':\n return LIST_STYLE_TYPE.KOREAN_HANJA_INFORMAL;\n case 'lao':\n return LIST_STYLE_TYPE.LAO;\n case 'lower-armenian':\n return LIST_STYLE_TYPE.LOWER_ARMENIAN;\n case 'malayalam':\n return LIST_STYLE_TYPE.MALAYALAM;\n case 'mongolian':\n return LIST_STYLE_TYPE.MONGOLIAN;\n case 'myanmar':\n return LIST_STYLE_TYPE.MYANMAR;\n case 'oriya':\n return LIST_STYLE_TYPE.ORIYA;\n case 'persian':\n return LIST_STYLE_TYPE.PERSIAN;\n case 'simp-chinese-formal':\n return LIST_STYLE_TYPE.SIMP_CHINESE_FORMAL;\n case 'simp-chinese-informal':\n return LIST_STYLE_TYPE.SIMP_CHINESE_INFORMAL;\n case 'tamil':\n return LIST_STYLE_TYPE.TAMIL;\n case 'telugu':\n return LIST_STYLE_TYPE.TELUGU;\n case 'thai':\n return LIST_STYLE_TYPE.THAI;\n case 'tibetan':\n return LIST_STYLE_TYPE.TIBETAN;\n case 'trad-chinese-formal':\n return LIST_STYLE_TYPE.TRAD_CHINESE_FORMAL;\n case 'trad-chinese-informal':\n return LIST_STYLE_TYPE.TRAD_CHINESE_INFORMAL;\n case 'upper-armenian':\n return LIST_STYLE_TYPE.UPPER_ARMENIAN;\n case 'disclosure-open':\n return LIST_STYLE_TYPE.DISCLOSURE_OPEN;\n case 'disclosure-closed':\n return LIST_STYLE_TYPE.DISCLOSURE_CLOSED;\n case 'none':\n default:\n return LIST_STYLE_TYPE.NONE;\n }\n }\n};\n","import {IPropertyTokenValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nconst marginForSide = (side: string): IPropertyTokenValueDescriptor => ({\n name: `margin-${side}`,\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.TOKEN_VALUE\n});\n\nexport const marginTop: IPropertyTokenValueDescriptor = marginForSide('top');\nexport const marginRight: IPropertyTokenValueDescriptor = marginForSide('right');\nexport const marginBottom: IPropertyTokenValueDescriptor = marginForSide('bottom');\nexport const marginLeft: IPropertyTokenValueDescriptor = marginForSide('left');\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const enum OVERFLOW {\n VISIBLE = 0,\n HIDDEN = 1,\n SCROLL = 2,\n CLIP = 3,\n AUTO = 4\n}\n\nexport const overflow: IPropertyListDescriptor = {\n name: 'overflow',\n initialValue: 'visible',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): OVERFLOW[] => {\n return tokens.filter(isIdentToken).map((overflow) => {\n switch (overflow.value) {\n case 'hidden':\n return OVERFLOW.HIDDEN;\n case 'scroll':\n return OVERFLOW.SCROLL;\n case 'clip':\n return OVERFLOW.CLIP;\n case 'auto':\n return OVERFLOW.AUTO;\n case 'visible':\n default:\n return OVERFLOW.VISIBLE;\n }\n });\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum OVERFLOW_WRAP {\n NORMAL = 'normal',\n BREAK_WORD = 'break-word'\n}\n\nexport const overflowWrap: IPropertyIdentValueDescriptor = {\n name: 'overflow-wrap',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, overflow: string) => {\n switch (overflow) {\n case 'break-word':\n return OVERFLOW_WRAP.BREAK_WORD;\n case 'normal':\n default:\n return OVERFLOW_WRAP.NORMAL;\n }\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nconst paddingForSide = (side: string): IPropertyTypeValueDescriptor => ({\n name: `padding-${side}`,\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'length-percentage'\n});\n\nexport const paddingTop: IPropertyTypeValueDescriptor = paddingForSide('top');\nexport const paddingRight: IPropertyTypeValueDescriptor = paddingForSide('right');\nexport const paddingBottom: IPropertyTypeValueDescriptor = paddingForSide('bottom');\nexport const paddingLeft: IPropertyTypeValueDescriptor = paddingForSide('left');\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum TEXT_ALIGN {\n LEFT = 0,\n CENTER = 1,\n RIGHT = 2\n}\n\nexport const textAlign: IPropertyIdentValueDescriptor = {\n name: 'text-align',\n initialValue: 'left',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, textAlign: string) => {\n switch (textAlign) {\n case 'right':\n return TEXT_ALIGN.RIGHT;\n case 'center':\n case 'justify':\n return TEXT_ALIGN.CENTER;\n case 'left':\n default:\n return TEXT_ALIGN.LEFT;\n }\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum POSITION {\n STATIC = 0,\n RELATIVE = 1,\n ABSOLUTE = 2,\n FIXED = 3,\n STICKY = 4\n}\n\nexport const position: IPropertyIdentValueDescriptor = {\n name: 'position',\n initialValue: 'static',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, position: string) => {\n switch (position) {\n case 'relative':\n return POSITION.RELATIVE;\n case 'absolute':\n return POSITION.ABSOLUTE;\n case 'fixed':\n return POSITION.FIXED;\n case 'sticky':\n return POSITION.STICKY;\n }\n\n return POSITION.STATIC;\n }\n};\n","import {PropertyDescriptorParsingType, IPropertyListDescriptor} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentWithValue, parseFunctionArgs} from '../syntax/parser';\nimport {ZERO_LENGTH} from '../types/length-percentage';\nimport {color, Color, COLORS} from '../types/color';\nimport {isLength, Length} from '../types/length';\nimport {Context} from '../../core/context';\n\nexport type TextShadow = TextShadowItem[];\ninterface TextShadowItem {\n color: Color;\n offsetX: Length;\n offsetY: Length;\n blur: Length;\n}\n\nexport const textShadow: IPropertyListDescriptor = {\n name: 'text-shadow',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (context: Context, tokens: CSSValue[]): TextShadow => {\n if (tokens.length === 1 && isIdentWithValue(tokens[0], 'none')) {\n return [];\n }\n\n return parseFunctionArgs(tokens).map((values: CSSValue[]) => {\n const shadow: TextShadowItem = {\n color: COLORS.TRANSPARENT,\n offsetX: ZERO_LENGTH,\n offsetY: ZERO_LENGTH,\n blur: ZERO_LENGTH\n };\n let c = 0;\n for (let i = 0; i < values.length; i++) {\n const token = values[i];\n if (isLength(token)) {\n if (c === 0) {\n shadow.offsetX = token;\n } else if (c === 1) {\n shadow.offsetY = token;\n } else {\n shadow.blur = token;\n }\n c++;\n } else {\n shadow.color = color.parse(context, token);\n }\n }\n return shadow;\n });\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum TEXT_TRANSFORM {\n NONE = 0,\n LOWERCASE = 1,\n UPPERCASE = 2,\n CAPITALIZE = 3\n}\n\nexport const textTransform: IPropertyIdentValueDescriptor = {\n name: 'text-transform',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, textTransform: string) => {\n switch (textTransform) {\n case 'uppercase':\n return TEXT_TRANSFORM.UPPERCASE;\n case 'lowercase':\n return TEXT_TRANSFORM.LOWERCASE;\n case 'capitalize':\n return TEXT_TRANSFORM.CAPITALIZE;\n }\n\n return TEXT_TRANSFORM.NONE;\n }\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {NumberValueToken, TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\nexport type Matrix = [number, number, number, number, number, number];\nexport type Transform = Matrix | null;\n\nexport const transform: IPropertyValueDescriptor = {\n name: 'transform',\n initialValue: 'none',\n prefix: true,\n type: PropertyDescriptorParsingType.VALUE,\n parse: (_context: Context, token: CSSValue) => {\n if (token.type === TokenType.IDENT_TOKEN && token.value === 'none') {\n return null;\n }\n\n if (token.type === TokenType.FUNCTION) {\n const transformFunction = SUPPORTED_TRANSFORM_FUNCTIONS[token.name];\n if (typeof transformFunction === 'undefined') {\n throw new Error(`Attempting to parse an unsupported transform function \"${token.name}\"`);\n }\n return transformFunction(token.values);\n }\n\n return null;\n }\n};\n\nconst matrix = (args: CSSValue[]): Transform => {\n const values = args.filter((arg) => arg.type === TokenType.NUMBER_TOKEN).map((arg: NumberValueToken) => arg.number);\n\n return values.length === 6 ? (values as Matrix) : null;\n};\n\n// doesn't support 3D transforms at the moment\nconst matrix3d = (args: CSSValue[]): Transform => {\n const values = args.filter((arg) => arg.type === TokenType.NUMBER_TOKEN).map((arg: NumberValueToken) => arg.number);\n\n const [a1, b1, {}, {}, a2, b2, {}, {}, {}, {}, {}, {}, a4, b4, {}, {}] = values;\n\n return values.length === 16 ? [a1, b1, a2, b2, a4, b4] : null;\n};\n\nconst SUPPORTED_TRANSFORM_FUNCTIONS: {\n [key: string]: (args: CSSValue[]) => Transform;\n} = {\n matrix: matrix,\n matrix3d: matrix3d\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {isLengthPercentage, LengthPercentage} from '../types/length-percentage';\nimport {FLAG_INTEGER, TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\nexport type TransformOrigin = [LengthPercentage, LengthPercentage];\n\nconst DEFAULT_VALUE: LengthPercentage = {\n type: TokenType.PERCENTAGE_TOKEN,\n number: 50,\n flags: FLAG_INTEGER\n};\nconst DEFAULT: TransformOrigin = [DEFAULT_VALUE, DEFAULT_VALUE];\n\nexport const transformOrigin: IPropertyListDescriptor = {\n name: 'transform-origin',\n initialValue: '50% 50%',\n prefix: true,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n const origins: LengthPercentage[] = tokens.filter(isLengthPercentage);\n\n if (origins.length !== 2) {\n return DEFAULT;\n }\n\n return [origins[0], origins[1]];\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum VISIBILITY {\n VISIBLE = 0,\n HIDDEN = 1,\n COLLAPSE = 2\n}\n\nexport const visibility: IPropertyIdentValueDescriptor = {\n name: 'visible',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, visibility: string) => {\n switch (visibility) {\n case 'hidden':\n return VISIBILITY.HIDDEN;\n case 'collapse':\n return VISIBILITY.COLLAPSE;\n case 'visible':\n default:\n return VISIBILITY.VISIBLE;\n }\n }\n};\n","const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const decode = (base64: string): ArrayBuffer | number[] => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const buffer =\n typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n typeof Uint8Array.prototype.slice !== 'undefined'\n ? new ArrayBuffer(bufferLength)\n : new Array(bufferLength);\n const bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return buffer;\n};\n\nexport const polyUint16Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 2) {\n bytes.push((buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n\nexport const polyUint32Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 4) {\n bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isNumberToken} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\ninterface zIndex {\n order: number;\n auto: boolean;\n}\n\nexport const zIndex: IPropertyValueDescriptor = {\n name: 'z-index',\n initialValue: 'auto',\n prefix: false,\n type: PropertyDescriptorParsingType.VALUE,\n parse: (_context: Context, token: CSSValue): zIndex => {\n if (token.type === TokenType.IDENT_TOKEN) {\n return {auto: true, order: 0};\n }\n\n if (isNumberToken(token)) {\n return {auto: false, order: token.number};\n }\n\n throw new Error(`Invalid z-index number parsed`);\n }\n};\n","import {CSSValue} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {ITypeDescriptor} from '../ITypeDescriptor';\nimport {Context} from '../../core/context';\n\nexport const time: ITypeDescriptor = {\n name: 'time',\n parse: (_context: Context, value: CSSValue): number => {\n if (value.type === TokenType.DIMENSION_TOKEN) {\n switch (value.unit.toLowerCase()) {\n case 's':\n return 1000 * value.number;\n case 'ms':\n return value.number;\n }\n }\n\n throw new Error(`Unsupported time type`);\n }\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isNumberToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const opacity: IPropertyValueDescriptor = {\n name: 'opacity',\n initialValue: '1',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (_context: Context, token: CSSValue): number => {\n if (isNumberToken(token)) {\n return token.number;\n }\n return 1;\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nexport const textDecorationColor: IPropertyTypeValueDescriptor = {\n name: `text-decoration-color`,\n initialValue: 'transparent',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport const enum TEXT_DECORATION_LINE {\n NONE = 0,\n UNDERLINE = 1,\n OVERLINE = 2,\n LINE_THROUGH = 3,\n BLINK = 4\n}\n\nexport type TextDecorationLine = TEXT_DECORATION_LINE[];\n\nexport const textDecorationLine: IPropertyListDescriptor = {\n name: 'text-decoration-line',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): TextDecorationLine => {\n return tokens\n .filter(isIdentToken)\n .map((token) => {\n switch (token.value) {\n case 'underline':\n return TEXT_DECORATION_LINE.UNDERLINE;\n case 'overline':\n return TEXT_DECORATION_LINE.OVERLINE;\n case 'line-through':\n return TEXT_DECORATION_LINE.LINE_THROUGH;\n case 'none':\n return TEXT_DECORATION_LINE.BLINK;\n }\n return TEXT_DECORATION_LINE.NONE;\n })\n .filter((line) => line !== TEXT_DECORATION_LINE.NONE);\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\nexport type FONT_FAMILY = string;\n\nexport type FontFamily = FONT_FAMILY[];\n\nexport const fontFamily: IPropertyListDescriptor = {\n name: `font-family`,\n initialValue: '',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n const accumulator: string[] = [];\n const results: string[] = [];\n tokens.forEach((token) => {\n switch (token.type) {\n case TokenType.IDENT_TOKEN:\n case TokenType.STRING_TOKEN:\n accumulator.push(token.value);\n break;\n case TokenType.NUMBER_TOKEN:\n accumulator.push(token.number.toString());\n break;\n case TokenType.COMMA_TOKEN:\n results.push(accumulator.join(' '));\n accumulator.length = 0;\n break;\n }\n });\n if (accumulator.length) {\n results.push(accumulator.join(' '));\n }\n return results.map((result) => (result.indexOf(' ') === -1 ? result : `'${result}'`));\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nexport const fontSize: IPropertyTypeValueDescriptor = {\n name: `font-size`,\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'length'\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken, isNumberToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const fontWeight: IPropertyValueDescriptor = {\n name: 'font-weight',\n initialValue: 'normal',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (_context: Context, token: CSSValue): number => {\n if (isNumberToken(token)) {\n return token.number;\n }\n\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'bold':\n return 700;\n case 'normal':\n default:\n return 400;\n }\n }\n\n return 400;\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const fontVariant: IPropertyListDescriptor = {\n name: 'font-variant',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (_context: Context, tokens: CSSValue[]): string[] => {\n return tokens.filter(isIdentToken).map((token) => token.value);\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum FONT_STYLE {\n NORMAL = 'normal',\n ITALIC = 'italic',\n OBLIQUE = 'oblique'\n}\n\nexport const fontStyle: IPropertyIdentValueDescriptor = {\n name: 'font-style',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, overflow: string) => {\n switch (overflow) {\n case 'oblique':\n return FONT_STYLE.OBLIQUE;\n case 'italic':\n return FONT_STYLE.ITALIC;\n case 'normal':\n default:\n return FONT_STYLE.NORMAL;\n }\n }\n};\n","export const contains = (bit: number, value: number): boolean => (bit & value) !== 0;\n","import {TokenType} from '../syntax/tokenizer';\nimport {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport type Content = CSSValue[];\n\nexport const content: IPropertyListDescriptor = {\n name: 'content',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (_context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return [];\n }\n\n const first = tokens[0];\n\n if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') {\n return [];\n }\n\n return tokens;\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isNumberToken, nonWhiteSpace} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\nexport interface COUNTER_INCREMENT {\n counter: string;\n increment: number;\n}\n\nexport type CounterIncrement = COUNTER_INCREMENT[] | null;\n\nexport const counterIncrement: IPropertyListDescriptor = {\n name: 'counter-increment',\n initialValue: 'none',\n prefix: true,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return null;\n }\n\n const first = tokens[0];\n\n if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') {\n return null;\n }\n\n const increments = [];\n const filtered = tokens.filter(nonWhiteSpace);\n\n for (let i = 0; i < filtered.length; i++) {\n const counter = filtered[i];\n const next = filtered[i + 1];\n if (counter.type === TokenType.IDENT_TOKEN) {\n const increment = next && isNumberToken(next) ? next.number : 1;\n increments.push({counter: counter.value, increment});\n }\n }\n\n return increments;\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken, isNumberToken, nonWhiteSpace} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport interface COUNTER_RESET {\n counter: string;\n reset: number;\n}\n\nexport type CounterReset = COUNTER_RESET[];\n\nexport const counterReset: IPropertyListDescriptor = {\n name: 'counter-reset',\n initialValue: 'none',\n prefix: true,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return [];\n }\n\n const resets = [];\n const filtered = tokens.filter(nonWhiteSpace);\n\n for (let i = 0; i < filtered.length; i++) {\n const counter = filtered[i];\n const next = filtered[i + 1];\n if (isIdentToken(counter) && counter.value !== 'none') {\n const reset = next && isNumberToken(next) ? next.number : 0;\n resets.push({counter: counter.value, reset});\n }\n }\n\n return resets;\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nimport {CSSValue, isDimensionToken} from '../syntax/parser';\nimport {time} from '../types/time';\n\nexport const duration: IPropertyListDescriptor = {\n name: 'duration',\n initialValue: '0s',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (context: Context, tokens: CSSValue[]) => {\n return tokens.filter(isDimensionToken).map((token) => time.parse(context, token));\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isStringToken} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\nexport interface QUOTE {\n open: string;\n close: string;\n}\n\nexport type Quotes = QUOTE[] | null;\n\nexport const quotes: IPropertyListDescriptor = {\n name: 'quotes',\n initialValue: 'none',\n prefix: true,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return null;\n }\n\n const first = tokens[0];\n\n if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') {\n return null;\n }\n\n const quotes = [];\n const filtered = tokens.filter(isStringToken);\n\n if (filtered.length % 2 !== 0) {\n return null;\n }\n\n for (let i = 0; i < filtered.length; i += 2) {\n const open = filtered[i].value;\n const close = filtered[i + 1].value;\n quotes.push({open, close});\n }\n\n return quotes;\n }\n};\n\nexport const getQuote = (quotes: Quotes, depth: number, open: boolean): string => {\n if (!quotes) {\n return '';\n }\n\n const quote = quotes[Math.min(depth, quotes.length - 1)];\n if (!quote) {\n return '';\n }\n\n return open ? quote.open : quote.close;\n};\n","import {PropertyDescriptorParsingType, IPropertyListDescriptor} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentWithValue, parseFunctionArgs} from '../syntax/parser';\nimport {ZERO_LENGTH} from '../types/length-percentage';\nimport {color, Color} from '../types/color';\nimport {isLength, Length} from '../types/length';\nimport {Context} from '../../core/context';\n\nexport type BoxShadow = BoxShadowItem[];\ninterface BoxShadowItem {\n inset: boolean;\n color: Color;\n offsetX: Length;\n offsetY: Length;\n blur: Length;\n spread: Length;\n}\n\nexport const boxShadow: IPropertyListDescriptor = {\n name: 'box-shadow',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (context: Context, tokens: CSSValue[]): BoxShadow => {\n if (tokens.length === 1 && isIdentWithValue(tokens[0], 'none')) {\n return [];\n }\n\n return parseFunctionArgs(tokens).map((values: CSSValue[]) => {\n const shadow: BoxShadowItem = {\n color: 0x000000ff,\n offsetX: ZERO_LENGTH,\n offsetY: ZERO_LENGTH,\n blur: ZERO_LENGTH,\n spread: ZERO_LENGTH,\n inset: false\n };\n let c = 0;\n for (let i = 0; i < values.length; i++) {\n const token = values[i];\n if (isIdentWithValue(token, 'inset')) {\n shadow.inset = true;\n } else if (isLength(token)) {\n if (c === 0) {\n shadow.offsetX = token;\n } else if (c === 1) {\n shadow.offsetY = token;\n } else if (c === 2) {\n shadow.blur = token;\n } else {\n shadow.spread = token;\n }\n c++;\n } else {\n shadow.color = color.parse(context, token);\n }\n }\n return shadow;\n });\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const enum PAINT_ORDER_LAYER {\n FILL,\n STROKE,\n MARKERS\n}\n\nexport type PaintOrder = PAINT_ORDER_LAYER[];\n\nexport const paintOrder: IPropertyListDescriptor = {\n name: 'paint-order',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): PaintOrder => {\n const DEFAULT_VALUE = [PAINT_ORDER_LAYER.FILL, PAINT_ORDER_LAYER.STROKE, PAINT_ORDER_LAYER.MARKERS];\n const layers: PaintOrder = [];\n\n tokens.filter(isIdentToken).forEach((token) => {\n switch (token.value) {\n case 'stroke':\n layers.push(PAINT_ORDER_LAYER.STROKE);\n break;\n case 'fill':\n layers.push(PAINT_ORDER_LAYER.FILL);\n break;\n case 'markers':\n layers.push(PAINT_ORDER_LAYER.MARKERS);\n break;\n }\n });\n DEFAULT_VALUE.forEach((value) => {\n if (layers.indexOf(value) === -1) {\n layers.push(value);\n }\n });\n\n return layers;\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nexport const webkitTextStrokeColor: IPropertyTypeValueDescriptor = {\n name: `-webkit-text-stroke-color`,\n initialValue: 'currentcolor',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n};\n","import {CSSValue, isDimensionToken} from '../syntax/parser';\nimport {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const webkitTextStrokeWidth: IPropertyValueDescriptor = {\n name: `-webkit-text-stroke-width`,\n initialValue: '0',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (_context: Context, token: CSSValue): number => {\n if (isDimensionToken(token)) {\n return token.number;\n }\n return 0;\n }\n};\n","import {CSSPropertyDescriptor, PropertyDescriptorParsingType} from './IPropertyDescriptor';\nimport {backgroundClip} from './property-descriptors/background-clip';\nimport {backgroundColor} from './property-descriptors/background-color';\nimport {backgroundImage} from './property-descriptors/background-image';\nimport {backgroundOrigin} from './property-descriptors/background-origin';\nimport {backgroundPosition} from './property-descriptors/background-position';\nimport {backgroundRepeat} from './property-descriptors/background-repeat';\nimport {backgroundSize} from './property-descriptors/background-size';\nimport {\n borderBottomColor,\n borderLeftColor,\n borderRightColor,\n borderTopColor\n} from './property-descriptors/border-color';\nimport {\n borderBottomLeftRadius,\n borderBottomRightRadius,\n borderTopLeftRadius,\n borderTopRightRadius\n} from './property-descriptors/border-radius';\nimport {\n borderBottomStyle,\n borderLeftStyle,\n borderRightStyle,\n borderTopStyle\n} from './property-descriptors/border-style';\nimport {\n borderBottomWidth,\n borderLeftWidth,\n borderRightWidth,\n borderTopWidth\n} from './property-descriptors/border-width';\nimport {color} from './property-descriptors/color';\nimport {direction} from './property-descriptors/direction';\nimport {display, DISPLAY} from './property-descriptors/display';\nimport {float, FLOAT} from './property-descriptors/float';\nimport {letterSpacing} from './property-descriptors/letter-spacing';\nimport {lineBreak} from './property-descriptors/line-break';\nimport {lineHeight} from './property-descriptors/line-height';\nimport {listStyleImage} from './property-descriptors/list-style-image';\nimport {listStylePosition} from './property-descriptors/list-style-position';\nimport {listStyleType} from './property-descriptors/list-style-type';\nimport {marginBottom, marginLeft, marginRight, marginTop} from './property-descriptors/margin';\nimport {overflow, OVERFLOW} from './property-descriptors/overflow';\nimport {overflowWrap} from './property-descriptors/overflow-wrap';\nimport {paddingBottom, paddingLeft, paddingRight, paddingTop} from './property-descriptors/padding';\nimport {textAlign} from './property-descriptors/text-align';\nimport {position, POSITION} from './property-descriptors/position';\nimport {textShadow} from './property-descriptors/text-shadow';\nimport {textTransform} from './property-descriptors/text-transform';\nimport {transform} from './property-descriptors/transform';\nimport {transformOrigin} from './property-descriptors/transform-origin';\nimport {visibility, VISIBILITY} from './property-descriptors/visibility';\nimport {wordBreak} from './property-descriptors/word-break';\nimport {zIndex} from './property-descriptors/z-index';\nimport {CSSValue, isIdentToken, Parser} from './syntax/parser';\nimport {Tokenizer} from './syntax/tokenizer';\nimport {Color, color as colorType, isTransparent} from './types/color';\nimport {angle} from './types/angle';\nimport {image} from './types/image';\nimport {time} from './types/time';\nimport {opacity} from './property-descriptors/opacity';\nimport {textDecorationColor} from './property-descriptors/text-decoration-color';\nimport {textDecorationLine} from './property-descriptors/text-decoration-line';\nimport {isLengthPercentage, LengthPercentage, ZERO_LENGTH} from './types/length-percentage';\nimport {fontFamily} from './property-descriptors/font-family';\nimport {fontSize} from './property-descriptors/font-size';\nimport {isLength} from './types/length';\nimport {fontWeight} from './property-descriptors/font-weight';\nimport {fontVariant} from './property-descriptors/font-variant';\nimport {fontStyle} from './property-descriptors/font-style';\nimport {contains} from '../core/bitwise';\nimport {content} from './property-descriptors/content';\nimport {counterIncrement} from './property-descriptors/counter-increment';\nimport {counterReset} from './property-descriptors/counter-reset';\nimport {duration} from './property-descriptors/duration';\nimport {quotes} from './property-descriptors/quotes';\nimport {boxShadow} from './property-descriptors/box-shadow';\nimport {paintOrder} from './property-descriptors/paint-order';\nimport {webkitTextStrokeColor} from './property-descriptors/webkit-text-stroke-color';\nimport {webkitTextStrokeWidth} from './property-descriptors/webkit-text-stroke-width';\nimport {Context} from '../core/context';\n\nexport class CSSParsedDeclaration {\n animationDuration: ReturnType;\n backgroundClip: ReturnType;\n backgroundColor: Color;\n backgroundImage: ReturnType;\n backgroundOrigin: ReturnType;\n backgroundPosition: ReturnType;\n backgroundRepeat: ReturnType;\n backgroundSize: ReturnType;\n borderTopColor: Color;\n borderRightColor: Color;\n borderBottomColor: Color;\n borderLeftColor: Color;\n borderTopLeftRadius: ReturnType;\n borderTopRightRadius: ReturnType;\n borderBottomRightRadius: ReturnType;\n borderBottomLeftRadius: ReturnType;\n borderTopStyle: ReturnType;\n borderRightStyle: ReturnType;\n borderBottomStyle: ReturnType;\n borderLeftStyle: ReturnType;\n borderTopWidth: ReturnType;\n borderRightWidth: ReturnType;\n borderBottomWidth: ReturnType;\n borderLeftWidth: ReturnType;\n boxShadow: ReturnType;\n color: Color;\n direction: ReturnType;\n display: ReturnType;\n float: ReturnType;\n fontFamily: ReturnType;\n fontSize: LengthPercentage;\n fontStyle: ReturnType;\n fontVariant: ReturnType;\n fontWeight: ReturnType;\n letterSpacing: ReturnType;\n lineBreak: ReturnType;\n lineHeight: CSSValue;\n listStyleImage: ReturnType;\n listStylePosition: ReturnType;\n listStyleType: ReturnType;\n marginTop: CSSValue;\n marginRight: CSSValue;\n marginBottom: CSSValue;\n marginLeft: CSSValue;\n opacity: ReturnType;\n overflowX: OVERFLOW;\n overflowY: OVERFLOW;\n overflowWrap: ReturnType;\n paddingTop: LengthPercentage;\n paddingRight: LengthPercentage;\n paddingBottom: LengthPercentage;\n paddingLeft: LengthPercentage;\n paintOrder: ReturnType;\n position: ReturnType;\n textAlign: ReturnType;\n textDecorationColor: Color;\n textDecorationLine: ReturnType;\n textShadow: ReturnType;\n textTransform: ReturnType;\n transform: ReturnType;\n transformOrigin: ReturnType;\n visibility: ReturnType;\n webkitTextStrokeColor: Color;\n webkitTextStrokeWidth: ReturnType;\n wordBreak: ReturnType;\n zIndex: ReturnType;\n\n constructor(context: Context, declaration: CSSStyleDeclaration) {\n this.animationDuration = parse(context, duration, declaration.animationDuration);\n this.backgroundClip = parse(context, backgroundClip, declaration.backgroundClip);\n this.backgroundColor = parse(context, backgroundColor, declaration.backgroundColor);\n this.backgroundImage = parse(context, backgroundImage, declaration.backgroundImage);\n this.backgroundOrigin = parse(context, backgroundOrigin, declaration.backgroundOrigin);\n this.backgroundPosition = parse(context, backgroundPosition, declaration.backgroundPosition);\n this.backgroundRepeat = parse(context, backgroundRepeat, declaration.backgroundRepeat);\n this.backgroundSize = parse(context, backgroundSize, declaration.backgroundSize);\n this.borderTopColor = parse(context, borderTopColor, declaration.borderTopColor);\n this.borderRightColor = parse(context, borderRightColor, declaration.borderRightColor);\n this.borderBottomColor = parse(context, borderBottomColor, declaration.borderBottomColor);\n this.borderLeftColor = parse(context, borderLeftColor, declaration.borderLeftColor);\n this.borderTopLeftRadius = parse(context, borderTopLeftRadius, declaration.borderTopLeftRadius);\n this.borderTopRightRadius = parse(context, borderTopRightRadius, declaration.borderTopRightRadius);\n this.borderBottomRightRadius = parse(context, borderBottomRightRadius, declaration.borderBottomRightRadius);\n this.borderBottomLeftRadius = parse(context, borderBottomLeftRadius, declaration.borderBottomLeftRadius);\n this.borderTopStyle = parse(context, borderTopStyle, declaration.borderTopStyle);\n this.borderRightStyle = parse(context, borderRightStyle, declaration.borderRightStyle);\n this.borderBottomStyle = parse(context, borderBottomStyle, declaration.borderBottomStyle);\n this.borderLeftStyle = parse(context, borderLeftStyle, declaration.borderLeftStyle);\n this.borderTopWidth = parse(context, borderTopWidth, declaration.borderTopWidth);\n this.borderRightWidth = parse(context, borderRightWidth, declaration.borderRightWidth);\n this.borderBottomWidth = parse(context, borderBottomWidth, declaration.borderBottomWidth);\n this.borderLeftWidth = parse(context, borderLeftWidth, declaration.borderLeftWidth);\n this.boxShadow = parse(context, boxShadow, declaration.boxShadow);\n this.color = parse(context, color, declaration.color);\n this.direction = parse(context, direction, declaration.direction);\n this.display = parse(context, display, declaration.display);\n this.float = parse(context, float, declaration.cssFloat);\n this.fontFamily = parse(context, fontFamily, declaration.fontFamily);\n this.fontSize = parse(context, fontSize, declaration.fontSize);\n this.fontStyle = parse(context, fontStyle, declaration.fontStyle);\n this.fontVariant = parse(context, fontVariant, declaration.fontVariant);\n this.fontWeight = parse(context, fontWeight, declaration.fontWeight);\n this.letterSpacing = parse(context, letterSpacing, declaration.letterSpacing);\n this.lineBreak = parse(context, lineBreak, declaration.lineBreak);\n this.lineHeight = parse(context, lineHeight, declaration.lineHeight);\n this.listStyleImage = parse(context, listStyleImage, declaration.listStyleImage);\n this.listStylePosition = parse(context, listStylePosition, declaration.listStylePosition);\n this.listStyleType = parse(context, listStyleType, declaration.listStyleType);\n this.marginTop = parse(context, marginTop, declaration.marginTop);\n this.marginRight = parse(context, marginRight, declaration.marginRight);\n this.marginBottom = parse(context, marginBottom, declaration.marginBottom);\n this.marginLeft = parse(context, marginLeft, declaration.marginLeft);\n this.opacity = parse(context, opacity, declaration.opacity);\n const overflowTuple = parse(context, overflow, declaration.overflow);\n this.overflowX = overflowTuple[0];\n this.overflowY = overflowTuple[overflowTuple.length > 1 ? 1 : 0];\n this.overflowWrap = parse(context, overflowWrap, declaration.overflowWrap);\n this.paddingTop = parse(context, paddingTop, declaration.paddingTop);\n this.paddingRight = parse(context, paddingRight, declaration.paddingRight);\n this.paddingBottom = parse(context, paddingBottom, declaration.paddingBottom);\n this.paddingLeft = parse(context, paddingLeft, declaration.paddingLeft);\n this.paintOrder = parse(context, paintOrder, declaration.paintOrder);\n this.position = parse(context, position, declaration.position);\n this.textAlign = parse(context, textAlign, declaration.textAlign);\n this.textDecorationColor = parse(\n context,\n textDecorationColor,\n declaration.textDecorationColor ?? declaration.color\n );\n this.textDecorationLine = parse(\n context,\n textDecorationLine,\n declaration.textDecorationLine ?? declaration.textDecoration\n );\n this.textShadow = parse(context, textShadow, declaration.textShadow);\n this.textTransform = parse(context, textTransform, declaration.textTransform);\n this.transform = parse(context, transform, declaration.transform);\n this.transformOrigin = parse(context, transformOrigin, declaration.transformOrigin);\n this.visibility = parse(context, visibility, declaration.visibility);\n this.webkitTextStrokeColor = parse(context, webkitTextStrokeColor, declaration.webkitTextStrokeColor);\n this.webkitTextStrokeWidth = parse(context, webkitTextStrokeWidth, declaration.webkitTextStrokeWidth);\n this.wordBreak = parse(context, wordBreak, declaration.wordBreak);\n this.zIndex = parse(context, zIndex, declaration.zIndex);\n }\n\n isVisible(): boolean {\n return this.display > 0 && this.opacity > 0 && this.visibility === VISIBILITY.VISIBLE;\n }\n\n isTransparent(): boolean {\n return isTransparent(this.backgroundColor);\n }\n\n isTransformed(): boolean {\n return this.transform !== null;\n }\n\n isPositioned(): boolean {\n return this.position !== POSITION.STATIC;\n }\n\n isPositionedWithZIndex(): boolean {\n return this.isPositioned() && !this.zIndex.auto;\n }\n\n isFloating(): boolean {\n return this.float !== FLOAT.NONE;\n }\n\n isInlineLevel(): boolean {\n return (\n contains(this.display, DISPLAY.INLINE) ||\n contains(this.display, DISPLAY.INLINE_BLOCK) ||\n contains(this.display, DISPLAY.INLINE_FLEX) ||\n contains(this.display, DISPLAY.INLINE_GRID) ||\n contains(this.display, DISPLAY.INLINE_LIST_ITEM) ||\n contains(this.display, DISPLAY.INLINE_TABLE)\n );\n }\n}\n\nexport class CSSParsedPseudoDeclaration {\n content: ReturnType;\n quotes: ReturnType;\n\n constructor(context: Context, declaration: CSSStyleDeclaration) {\n this.content = parse(context, content, declaration.content);\n this.quotes = parse(context, quotes, declaration.quotes);\n }\n}\n\nexport class CSSParsedCounterDeclaration {\n counterIncrement: ReturnType;\n counterReset: ReturnType;\n\n constructor(context: Context, declaration: CSSStyleDeclaration) {\n this.counterIncrement = parse(context, counterIncrement, declaration.counterIncrement);\n this.counterReset = parse(context, counterReset, declaration.counterReset);\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst parse = (context: Context, descriptor: CSSPropertyDescriptor, style?: string | null) => {\n const tokenizer = new Tokenizer();\n const value = style !== null && typeof style !== 'undefined' ? style.toString() : descriptor.initialValue;\n tokenizer.write(value);\n const parser = new Parser(tokenizer.read());\n switch (descriptor.type) {\n case PropertyDescriptorParsingType.IDENT_VALUE:\n const token = parser.parseComponentValue();\n return descriptor.parse(context, isIdentToken(token) ? token.value : descriptor.initialValue);\n case PropertyDescriptorParsingType.VALUE:\n return descriptor.parse(context, parser.parseComponentValue());\n case PropertyDescriptorParsingType.LIST:\n return descriptor.parse(context, parser.parseComponentValues());\n case PropertyDescriptorParsingType.TOKEN_VALUE:\n return parser.parseComponentValue();\n case PropertyDescriptorParsingType.TYPE_VALUE:\n switch (descriptor.format) {\n case 'angle':\n return angle.parse(context, parser.parseComponentValue());\n case 'color':\n return colorType.parse(context, parser.parseComponentValue());\n case 'image':\n return image.parse(context, parser.parseComponentValue());\n case 'length':\n const length = parser.parseComponentValue();\n return isLength(length) ? length : ZERO_LENGTH;\n case 'length-percentage':\n const value = parser.parseComponentValue();\n return isLengthPercentage(value) ? value : ZERO_LENGTH;\n case 'time':\n return time.parse(context, parser.parseComponentValue());\n }\n break;\n }\n};\n","const elementDebuggerAttribute = 'data-html2canvas-debug';\nexport const enum DebuggerType {\n NONE,\n ALL,\n CLONE,\n PARSE,\n RENDER\n}\n\nconst getElementDebugType = (element: Element): DebuggerType => {\n const attribute = element.getAttribute(elementDebuggerAttribute);\n switch (attribute) {\n case 'all':\n return DebuggerType.ALL;\n case 'clone':\n return DebuggerType.CLONE;\n case 'parse':\n return DebuggerType.PARSE;\n case 'render':\n return DebuggerType.RENDER;\n default:\n return DebuggerType.NONE;\n }\n};\n\nexport const isDebugging = (element: Element, type: Omit): boolean => {\n const elementType = getElementDebugType(element);\n return elementType === DebuggerType.ALL || type === elementType;\n};\n","import {CSSParsedDeclaration} from '../css/index';\nimport {TextContainer} from './text-container';\nimport {Bounds, parseBounds} from '../css/layout/bounds';\nimport {isHTMLElementNode} from './node-parser';\nimport {Context} from '../core/context';\nimport {DebuggerType, isDebugging} from '../core/debugger';\n\nexport const enum FLAGS {\n CREATES_STACKING_CONTEXT = 1 << 1,\n CREATES_REAL_STACKING_CONTEXT = 1 << 2,\n IS_LIST_OWNER = 1 << 3,\n DEBUG_RENDER = 1 << 4\n}\n\nexport class ElementContainer {\n readonly styles: CSSParsedDeclaration;\n readonly textNodes: TextContainer[] = [];\n readonly elements: ElementContainer[] = [];\n bounds: Bounds;\n flags = 0;\n\n constructor(protected readonly context: Context, element: Element) {\n if (isDebugging(element, DebuggerType.PARSE)) {\n debugger;\n }\n\n this.styles = new CSSParsedDeclaration(context, window.getComputedStyle(element, null));\n\n if (isHTMLElementNode(element)) {\n if (this.styles.animationDuration.some((duration) => duration > 0)) {\n element.style.animationDuration = '0s';\n }\n\n if (this.styles.transform !== null) {\n // getBoundingClientRect takes transforms into account\n element.style.transform = 'none';\n }\n }\n\n this.bounds = parseBounds(this.context, element);\n\n if (isDebugging(element, DebuggerType.RENDER)) {\n this.flags |= FLAGS.DEBUG_RENDER;\n }\n }\n}\n","export const base64 =\n 'AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=';\nexport const byteLength = 19616;\n","const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const encode = (arraybuffer: ArrayBuffer): string => {\n let bytes = new Uint8Array(arraybuffer),\n i,\n len = bytes.length,\n base64 = '';\n\n for (i = 0; i < len; i += 3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n\n if (len % 3 === 2) {\n base64 = base64.substring(0, base64.length - 1) + '=';\n } else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + '==';\n }\n\n return base64;\n};\n\nexport const decode = (base64: string): ArrayBuffer => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const arraybuffer = new ArrayBuffer(bufferLength),\n bytes = new Uint8Array(arraybuffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return arraybuffer;\n};\n","import {decode, polyUint16Array, polyUint32Array} from './Util';\n\nexport type int = number;\n\n/** Shift size for getting the index-2 table offset. */\nexport const UTRIE2_SHIFT_2 = 5;\n\n/** Shift size for getting the index-1 table offset. */\nexport const UTRIE2_SHIFT_1 = 6 + 5;\n\n/**\n * Shift size for shifting left the index array values.\n * Increases possible data size with 16-bit index values at the cost\n * of compactability.\n * This requires data blocks to be aligned by UTRIE2_DATA_GRANULARITY.\n */\nexport const UTRIE2_INDEX_SHIFT = 2;\n\n/**\n * Difference between the two shift sizes,\n * for getting an index-1 offset from an index-2 offset. 6=11-5\n */\nexport const UTRIE2_SHIFT_1_2 = UTRIE2_SHIFT_1 - UTRIE2_SHIFT_2;\n\n/**\n * The part of the index-2 table for U+D800..U+DBFF stores values for\n * lead surrogate code _units_ not code _points_.\n * Values for lead surrogate code _points_ are indexed with this portion of the table.\n * Length=32=0x20=0x400>>UTRIE2_SHIFT_2. (There are 1024=0x400 lead surrogates.)\n */\nexport const UTRIE2_LSCP_INDEX_2_OFFSET = 0x10000 >> UTRIE2_SHIFT_2;\n\n/** Number of entries in a data block. 32=0x20 */\nexport const UTRIE2_DATA_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_2;\n/** Mask for getting the lower bits for the in-data-block offset. */\nexport const UTRIE2_DATA_MASK = UTRIE2_DATA_BLOCK_LENGTH - 1;\n\nexport const UTRIE2_LSCP_INDEX_2_LENGTH = 0x400 >> UTRIE2_SHIFT_2;\n/** Count the lengths of both BMP pieces. 2080=0x820 */\nexport const UTRIE2_INDEX_2_BMP_LENGTH = UTRIE2_LSCP_INDEX_2_OFFSET + UTRIE2_LSCP_INDEX_2_LENGTH;\n/**\n * The 2-byte UTF-8 version of the index-2 table follows at offset 2080=0x820.\n * Length 32=0x20 for lead bytes C0..DF, regardless of UTRIE2_SHIFT_2.\n */\nexport const UTRIE2_UTF8_2B_INDEX_2_OFFSET = UTRIE2_INDEX_2_BMP_LENGTH;\nexport const UTRIE2_UTF8_2B_INDEX_2_LENGTH = 0x800 >> 6; /* U+0800 is the first code point after 2-byte UTF-8 */\n/**\n * The index-1 table, only used for supplementary code points, at offset 2112=0x840.\n * Variable length, for code points up to highStart, where the last single-value range starts.\n * Maximum length 512=0x200=0x100000>>UTRIE2_SHIFT_1.\n * (For 0x100000 supplementary code points U+10000..U+10ffff.)\n *\n * The part of the index-2 table for supplementary code points starts\n * after this index-1 table.\n *\n * Both the index-1 table and the following part of the index-2 table\n * are omitted completely if there is only BMP data.\n */\nexport const UTRIE2_INDEX_1_OFFSET = UTRIE2_UTF8_2B_INDEX_2_OFFSET + UTRIE2_UTF8_2B_INDEX_2_LENGTH;\n\n/**\n * Number of index-1 entries for the BMP. 32=0x20\n * This part of the index-1 table is omitted from the serialized form.\n */\nexport const UTRIE2_OMITTED_BMP_INDEX_1_LENGTH = 0x10000 >> UTRIE2_SHIFT_1;\n\n/** Number of entries in an index-2 block. 64=0x40 */\nexport const UTRIE2_INDEX_2_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_1_2;\n/** Mask for getting the lower bits for the in-index-2-block offset. */\nexport const UTRIE2_INDEX_2_MASK = UTRIE2_INDEX_2_BLOCK_LENGTH - 1;\n\nconst slice16 = (view: number[] | Uint16Array, start: number, end?: number) => {\n if (view.slice) {\n return view.slice(start, end);\n }\n\n return new Uint16Array(Array.prototype.slice.call(view, start, end));\n};\n\nconst slice32 = (view: number[] | Uint32Array, start: number, end?: number) => {\n if (view.slice) {\n return view.slice(start, end);\n }\n\n return new Uint32Array(Array.prototype.slice.call(view, start, end));\n};\n\nexport const createTrieFromBase64 = (base64: string, _byteLength: number): Trie => {\n const buffer = decode(base64);\n const view32 = Array.isArray(buffer) ? polyUint32Array(buffer) : new Uint32Array(buffer);\n const view16 = Array.isArray(buffer) ? polyUint16Array(buffer) : new Uint16Array(buffer);\n const headerLength = 24;\n\n const index = slice16(view16, headerLength / 2, view32[4] / 2);\n const data =\n view32[5] === 2\n ? slice16(view16, (headerLength + view32[4]) / 2)\n : slice32(view32, Math.ceil((headerLength + view32[4]) / 4));\n\n return new Trie(view32[0], view32[1], view32[2], view32[3], index, data);\n};\n\nexport class Trie {\n initialValue: int;\n errorValue: int;\n highStart: int;\n highValueIndex: int;\n index: Uint16Array | number[];\n data: Uint32Array | Uint16Array | number[];\n\n constructor(\n initialValue: int,\n errorValue: int,\n highStart: int,\n highValueIndex: int,\n index: Uint16Array | number[],\n data: Uint32Array | Uint16Array | number[]\n ) {\n this.initialValue = initialValue;\n this.errorValue = errorValue;\n this.highStart = highStart;\n this.highValueIndex = highValueIndex;\n this.index = index;\n this.data = data;\n }\n\n /**\n * Get the value for a code point as stored in the Trie.\n *\n * @param codePoint the code point\n * @return the value\n */\n get(codePoint: number): number {\n let ix;\n if (codePoint >= 0) {\n if (codePoint < 0x0d800 || (codePoint > 0x0dbff && codePoint <= 0x0ffff)) {\n // Ordinary BMP code point, excluding leading surrogates.\n // BMP uses a single level lookup. BMP index starts at offset 0 in the Trie2 index.\n // 16 bit data is stored in the index array itself.\n ix = this.index[codePoint >> UTRIE2_SHIFT_2];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n\n if (codePoint <= 0xffff) {\n // Lead Surrogate Code Point. A Separate index section is stored for\n // lead surrogate code units and code points.\n // The main index has the code unit data.\n // For this function, we need the code point data.\n // Note: this expression could be refactored for slightly improved efficiency, but\n // surrogate code points will be so rare in practice that it's not worth it.\n ix = this.index[UTRIE2_LSCP_INDEX_2_OFFSET + ((codePoint - 0xd800) >> UTRIE2_SHIFT_2)];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n\n if (codePoint < this.highStart) {\n // Supplemental code point, use two-level lookup.\n ix = UTRIE2_INDEX_1_OFFSET - UTRIE2_OMITTED_BMP_INDEX_1_LENGTH + (codePoint >> UTRIE2_SHIFT_1);\n ix = this.index[ix];\n ix += (codePoint >> UTRIE2_SHIFT_2) & UTRIE2_INDEX_2_MASK;\n ix = this.index[ix];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n if (codePoint <= 0x10ffff) {\n return this.data[this.highValueIndex];\n }\n }\n\n // Fall through. The code point is outside of the legal range of 0..0x10ffff.\n return this.errorValue;\n }\n}\n","import {base64, byteLength} from './grapheme-break-trie';\nimport {createTrieFromBase64} from 'utrie';\n\nconst Other = 0;\nconst Prepend = 1;\nconst CR = 2;\nconst LF = 3;\nconst Control = 4;\nconst Extend = 5;\nconst Regional_Indicator = 6;\nconst SpacingMark = 7;\nconst L = 8;\nconst V = 9;\nconst T = 10;\nconst LV = 11;\nconst LVT = 12;\nconst ZWJ = 13;\nconst Extended_Pictographic = 14;\nconst RI = 15;\n\nexport const classes: {[key: string]: number} = {\n Other,\n Prepend,\n CR,\n LF,\n Control,\n Extend,\n Regional_Indicator,\n SpacingMark,\n L,\n V,\n T,\n LV,\n LVT,\n ZWJ,\n Extended_Pictographic,\n RI,\n};\n\nexport const toCodePoints = (str: string): number[] => {\n const codePoints = [];\n let i = 0;\n const length = str.length;\n while (i < length) {\n const value = str.charCodeAt(i++);\n if (value >= 0xd800 && value <= 0xdbff && i < length) {\n const extra = str.charCodeAt(i++);\n if ((extra & 0xfc00) === 0xdc00) {\n codePoints.push(((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000);\n } else {\n codePoints.push(value);\n i--;\n }\n } else {\n codePoints.push(value);\n }\n }\n return codePoints;\n};\n\nexport const fromCodePoint = (...codePoints: number[]): string => {\n if (String.fromCodePoint) {\n return String.fromCodePoint(...codePoints);\n }\n\n const length = codePoints.length;\n if (!length) {\n return '';\n }\n\n const codeUnits = [];\n\n let index = -1;\n let result = '';\n while (++index < length) {\n let codePoint = codePoints[index];\n if (codePoint <= 0xffff) {\n codeUnits.push(codePoint);\n } else {\n codePoint -= 0x10000;\n codeUnits.push((codePoint >> 10) + 0xd800, (codePoint % 0x400) + 0xdc00);\n }\n if (index + 1 === length || codeUnits.length > 0x4000) {\n result += String.fromCharCode(...codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n};\n\nexport const UnicodeTrie = createTrieFromBase64(base64, byteLength);\n\nexport const BREAK_NOT_ALLOWED = '×';\nexport const BREAK_ALLOWED = '÷';\n\nexport type BREAK_OPPORTUNITIES = typeof BREAK_NOT_ALLOWED | typeof BREAK_ALLOWED;\n\nexport const codePointToClass = (codePoint: number): number => UnicodeTrie.get(codePoint);\n\nconst _graphemeBreakAtIndex = (_codePoints: number[], classTypes: number[], index: number): BREAK_OPPORTUNITIES => {\n let prevIndex = index - 2;\n let prev = classTypes[prevIndex];\n const current = classTypes[index - 1];\n const next = classTypes[index];\n // GB3 Do not break between a CR and LF\n if (current === CR && next === LF) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB4 Otherwise, break before and after controls.\n if (current === CR || current === LF || current === Control) {\n return BREAK_ALLOWED;\n }\n\n // GB5\n if (next === CR || next === LF || next === Control) {\n return BREAK_ALLOWED;\n }\n\n // Do not break Hangul syllable sequences.\n // GB6\n if (current === L && [L, V, LV, LVT].indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB7\n if ((current === LV || current === V) && (next === V || next === T)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB8\n if ((current === LVT || current === T) && next === T) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB9 Do not break before extending characters or ZWJ.\n if (next === ZWJ || next === Extend) {\n return BREAK_NOT_ALLOWED;\n }\n // Do not break before SpacingMarks, or after Prepend characters.\n // GB9a\n if (next === SpacingMark) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB9a\n if (current === Prepend) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB11 Do not break within emoji modifier sequences or emoji zwj sequences.\n if (current === ZWJ && next === Extended_Pictographic) {\n while (prev === Extend) {\n prev = classTypes[--prevIndex];\n }\n if (prev === Extended_Pictographic) {\n return BREAK_NOT_ALLOWED;\n }\n }\n\n // GB12 Do not break within emoji flag sequences.\n // That is, do not break between regional indicator (RI) symbols\n // if there is an odd number of RI characters before the break point.\n if (current === RI && next === RI) {\n let countRI = 0;\n while (prev === RI) {\n countRI++;\n prev = classTypes[--prevIndex];\n }\n if (countRI % 2 === 0) {\n return BREAK_NOT_ALLOWED;\n }\n }\n\n return BREAK_ALLOWED;\n};\n\nexport const graphemeBreakAtIndex = (codePoints: number[], index: number): BREAK_OPPORTUNITIES => {\n // GB1 Break at the start and end of text, unless the text is empty.\n if (index === 0) {\n return BREAK_ALLOWED;\n }\n\n // GB2\n if (index >= codePoints.length) {\n return BREAK_ALLOWED;\n }\n\n const classTypes = codePoints.map(codePointToClass);\n return _graphemeBreakAtIndex(codePoints, classTypes, index);\n};\n\nexport const GraphemeBreaker = (str: string) => {\n const codePoints = toCodePoints(str);\n const length = codePoints.length;\n let index = 0;\n let lastEnd = 0;\n const classTypes = codePoints.map(codePointToClass);\n\n return {\n next: () => {\n if (index >= length) {\n return {done: true, value: null};\n }\n\n let graphemeBreak = BREAK_NOT_ALLOWED;\n while (\n index < length &&\n (graphemeBreak = _graphemeBreakAtIndex(codePoints, classTypes, ++index)) === BREAK_NOT_ALLOWED\n ) {}\n\n if (graphemeBreak !== BREAK_NOT_ALLOWED || index === length) {\n const value = fromCodePoint.apply(null, codePoints.slice(lastEnd, index));\n lastEnd = index;\n return {value, done: false};\n }\n\n return {done: true, value: null};\n while (index < length) {}\n\n return {done: true, value: null};\n },\n };\n};\n\nexport const splitGraphemes = (str: string): string[] => {\n const breaker = GraphemeBreaker(str);\n\n const graphemes = [];\n let bk;\n\n while (!(bk = breaker.next()).done) {\n if (bk.value) {\n graphemes.push(bk.value.slice());\n }\n }\n\n return graphemes;\n};\n","import {Bounds} from '../css/layout/bounds';\nimport {\n isBodyElement,\n isCanvasElement,\n isCustomElement,\n isElementNode,\n isHTMLElementNode,\n isIFrameElement,\n isImageElement,\n isScriptElement,\n isSelectElement,\n isSlotElement,\n isStyleElement,\n isSVGElementNode,\n isTextareaElement,\n isTextNode,\n isVideoElement\n} from './node-parser';\nimport {isIdentToken, nonFunctionArgSeparator} from '../css/syntax/parser';\nimport {TokenType} from '../css/syntax/tokenizer';\nimport {CounterState, createCounterText} from '../css/types/functions/counter';\nimport {LIST_STYLE_TYPE, listStyleType} from '../css/property-descriptors/list-style-type';\nimport {CSSParsedCounterDeclaration, CSSParsedPseudoDeclaration} from '../css/index';\nimport {getQuote} from '../css/property-descriptors/quotes';\nimport {Context} from '../core/context';\nimport {DebuggerType, isDebugging} from '../core/debugger';\n\nexport interface CloneOptions {\n ignoreElements?: (element: Element) => boolean;\n onclone?: (document: Document, element: HTMLElement) => void;\n allowTaint?: boolean;\n}\n\nexport interface WindowOptions {\n scrollX: number;\n scrollY: number;\n windowWidth: number;\n windowHeight: number;\n}\n\nexport type CloneConfigurations = CloneOptions & {\n inlineImages: boolean;\n copyStyles: boolean;\n};\n\nconst IGNORE_ATTRIBUTE = 'data-html2canvas-ignore';\n\nexport class DocumentCloner {\n private readonly scrolledElements: [Element, number, number][];\n private readonly referenceElement: HTMLElement;\n clonedReferenceElement?: HTMLElement;\n private readonly documentElement: HTMLElement;\n private readonly counters: CounterState;\n private quoteDepth: number;\n\n constructor(\n private readonly context: Context,\n element: HTMLElement,\n private readonly options: CloneConfigurations\n ) {\n this.scrolledElements = [];\n this.referenceElement = element;\n this.counters = new CounterState();\n this.quoteDepth = 0;\n if (!element.ownerDocument) {\n throw new Error('Cloned element does not have an owner document');\n }\n\n this.documentElement = this.cloneNode(element.ownerDocument.documentElement, false) as HTMLElement;\n }\n\n toIFrame(ownerDocument: Document, windowSize: Bounds): Promise {\n const iframe: HTMLIFrameElement = createIFrameContainer(ownerDocument, windowSize);\n\n if (!iframe.contentWindow) {\n return Promise.reject(`Unable to find iframe window`);\n }\n\n const scrollX = (ownerDocument.defaultView as Window).pageXOffset;\n const scrollY = (ownerDocument.defaultView as Window).pageYOffset;\n\n const cloneWindow = iframe.contentWindow;\n const documentClone: Document = cloneWindow.document;\n\n /* Chrome doesn't detect relative background-images assigned in inline \";\r\n var nW = globalObject.open();\r\n\r\n if (nW !== null) {\r\n nW.document.write(htmlForNewWindow);\r\n }\r\n return nW;\r\n } else {\r\n throw new Error(\r\n \"The option pdfobjectnewwindow just works in a browser-environment.\"\r\n );\r\n }\r\n case \"pdfjsnewwindow\":\r\n if (\r\n Object.prototype.toString.call(globalObject) === \"[object Window]\"\r\n ) {\r\n var pdfJsUrl = options.pdfJsUrl || \"examples/PDF.js/web/viewer.html\";\r\n var htmlForPDFjsNewWindow =\r\n \"\" +\r\n \"\" +\r\n '' +\r\n \"\";\r\n var dataURLNewWindow = globalObject.open();\r\n if (dataURLNewWindow !== null) {\r\n dataURLNewWindow.document.write(htmlForDataURLNewWindow);\r\n dataURLNewWindow.document.title = options.filename;\r\n }\r\n if (dataURLNewWindow || typeof safari === \"undefined\")\r\n return dataURLNewWindow;\r\n } else {\r\n throw new Error(\r\n \"The option dataurlnewwindow just works in a browser-environment.\"\r\n );\r\n }\r\n break;\r\n case \"datauri\":\r\n case \"dataurl\":\r\n return (globalObject.document.location.href = this.output(\r\n \"datauristring\",\r\n options\r\n ));\r\n default:\r\n return null;\r\n }\r\n }));\r\n\r\n /**\r\n * Used to see if a supplied hotfix was requested when the pdf instance was created.\r\n * @param {string} hotfixName - The name of the hotfix to check.\r\n * @returns {boolean}\r\n */\r\n var hasHotfix = function(hotfixName) {\r\n return (\r\n Array.isArray(hotfixes) === true && hotfixes.indexOf(hotfixName) > -1\r\n );\r\n };\r\n\r\n switch (unit) {\r\n case \"pt\":\r\n scaleFactor = 1;\r\n break;\r\n case \"mm\":\r\n scaleFactor = 72 / 25.4;\r\n break;\r\n case \"cm\":\r\n scaleFactor = 72 / 2.54;\r\n break;\r\n case \"in\":\r\n scaleFactor = 72;\r\n break;\r\n case \"px\":\r\n if (hasHotfix(\"px_scaling\") == true) {\r\n scaleFactor = 72 / 96;\r\n } else {\r\n scaleFactor = 96 / 72;\r\n }\r\n break;\r\n case \"pc\":\r\n scaleFactor = 12;\r\n break;\r\n case \"em\":\r\n scaleFactor = 12;\r\n break;\r\n case \"ex\":\r\n scaleFactor = 6;\r\n break;\r\n default:\r\n if (typeof unit === \"number\") {\r\n scaleFactor = unit;\r\n } else {\r\n throw new Error(\"Invalid unit: \" + unit);\r\n }\r\n }\r\n\r\n var encryption = null;\r\n setCreationDate();\r\n setFileId();\r\n\r\n var getEncryptor = function(objectId) {\r\n if (encryptionOptions !== null) {\r\n return encryption.encryptor(objectId, 0);\r\n }\r\n return function(data) {\r\n return data;\r\n };\r\n };\r\n\r\n //---------------------------------------\r\n // Public API\r\n\r\n var getPageInfo = (API.__private__.getPageInfo = API.getPageInfo = function(\r\n pageNumberOneBased\r\n ) {\r\n if (isNaN(pageNumberOneBased) || pageNumberOneBased % 1 !== 0) {\r\n throw new Error(\"Invalid argument passed to jsPDF.getPageInfo\");\r\n }\r\n var objId = pagesContext[pageNumberOneBased].objId;\r\n return {\r\n objId: objId,\r\n pageNumber: pageNumberOneBased,\r\n pageContext: pagesContext[pageNumberOneBased]\r\n };\r\n });\r\n\r\n var getPageInfoByObjId = (API.__private__.getPageInfoByObjId = function(\r\n objId\r\n ) {\r\n if (isNaN(objId) || objId % 1 !== 0) {\r\n throw new Error(\"Invalid argument passed to jsPDF.getPageInfoByObjId\");\r\n }\r\n for (var pageNumber in pagesContext) {\r\n if (pagesContext[pageNumber].objId === objId) {\r\n break;\r\n }\r\n }\r\n return getPageInfo(pageNumber);\r\n });\r\n\r\n var getCurrentPageInfo = (API.__private__.getCurrentPageInfo = API.getCurrentPageInfo = function() {\r\n return {\r\n objId: pagesContext[currentPage].objId,\r\n pageNumber: currentPage,\r\n pageContext: pagesContext[currentPage]\r\n };\r\n });\r\n\r\n /**\r\n * Adds (and transfers the focus to) new page to the PDF document.\r\n * @param format {String/Array} The format of the new page. Can be:
  • a0 - a10
  • b0 - b10
  • c0 - c10
  • dl
  • letter
  • government-letter
  • legal
  • junior-legal
  • ledger
  • tabloid
  • credit-card

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

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

    \n *

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

    \n *

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

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

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

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

    \n * @name link\n * @function\n * @param {number} x\n * @param {number} y\n * @param {number} w\n * @param {number} h\n * @param {Object} options\n */\n jsPDFAPI.link = function(x, y, w, h, options) {\n var pageInfo = this.internal.getCurrentPageInfo();\n var getHorizontalCoordinateString = this.internal.getCoordinateString;\n var getVerticalCoordinateString = this.internal.getVerticalCoordinateString;\n\n pageInfo.pageContext.annotations.push({\n finalBounds: {\n x: getHorizontalCoordinateString(x),\n y: getVerticalCoordinateString(y),\n w: getHorizontalCoordinateString(x + w),\n h: getVerticalCoordinateString(y + h)\n },\n options: options,\n type: \"link\"\n });\n };\n\n /**\n * Currently only supports single line text.\n * Returns the width of the text/link\n *\n * @name textWithLink\n * @function\n * @param {string} text\n * @param {number} x\n * @param {number} y\n * @param {Object} options\n * @returns {number} width the width of the text/link\n */\n jsPDFAPI.textWithLink = function(text, x, y, options) {\n var totalLineWidth = this.getTextWidth(text);\n var lineHeight = this.internal.getLineHeight() / this.internal.scaleFactor;\n var linkHeight, linkWidth;\n\n // Checking if maxWidth option is passed to determine lineWidth and number of lines for each line\n if (options.maxWidth !== undefined) {\n var { maxWidth } = options;\n linkWidth = maxWidth;\n var numOfLines = this.splitTextToSize(text, linkWidth).length;\n linkHeight = Math.ceil(lineHeight * numOfLines);\n } else {\n linkWidth = totalLineWidth;\n linkHeight = lineHeight;\n }\n\n this.text(text, x, y, options);\n\n //TODO We really need the text baseline height to do this correctly.\n // Or ability to draw text on top, bottom, center, or baseline.\n y += lineHeight * 0.2;\n //handle x position based on the align option\n if (options.align === \"center\") {\n x = x - totalLineWidth / 2; //since starting from center move the x position by half of text width\n }\n if (options.align === \"right\") {\n x = x - totalLineWidth;\n }\n this.link(x, y - lineHeight, linkWidth, linkHeight, options);\n return totalLineWidth;\n };\n\n //TODO move into external library\n /**\n * @name getTextWidth\n * @function\n * @param {string} text\n * @returns {number} txtWidth\n */\n jsPDFAPI.getTextWidth = function(text) {\n var fontSize = this.internal.getFontSize();\n var txtWidth =\n (this.getStringUnitWidth(text) * fontSize) / this.internal.scaleFactor;\n return txtWidth;\n };\n\n return this;\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2017 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF arabic parser PlugIn\n *\n * @name arabic\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * Arabic shape substitutions: char code => (isolated, final, initial, medial).\n * Arabic Substition A\n */\n var arabicSubstitionA = {\n 0x0621: [0xfe80], // ARABIC LETTER HAMZA\n 0x0622: [0xfe81, 0xfe82], // ARABIC LETTER ALEF WITH MADDA ABOVE\n 0x0623: [0xfe83, 0xfe84], // ARABIC LETTER ALEF WITH HAMZA ABOVE\n 0x0624: [0xfe85, 0xfe86], // ARABIC LETTER WAW WITH HAMZA ABOVE\n 0x0625: [0xfe87, 0xfe88], // ARABIC LETTER ALEF WITH HAMZA BELOW\n 0x0626: [0xfe89, 0xfe8a, 0xfe8b, 0xfe8c], // ARABIC LETTER YEH WITH HAMZA ABOVE\n 0x0627: [0xfe8d, 0xfe8e], // ARABIC LETTER ALEF\n 0x0628: [0xfe8f, 0xfe90, 0xfe91, 0xfe92], // ARABIC LETTER BEH\n 0x0629: [0xfe93, 0xfe94], // ARABIC LETTER TEH MARBUTA\n 0x062a: [0xfe95, 0xfe96, 0xfe97, 0xfe98], // ARABIC LETTER TEH\n 0x062b: [0xfe99, 0xfe9a, 0xfe9b, 0xfe9c], // ARABIC LETTER THEH\n 0x062c: [0xfe9d, 0xfe9e, 0xfe9f, 0xfea0], // ARABIC LETTER JEEM\n 0x062d: [0xfea1, 0xfea2, 0xfea3, 0xfea4], // ARABIC LETTER HAH\n 0x062e: [0xfea5, 0xfea6, 0xfea7, 0xfea8], // ARABIC LETTER KHAH\n 0x062f: [0xfea9, 0xfeaa], // ARABIC LETTER DAL\n 0x0630: [0xfeab, 0xfeac], // ARABIC LETTER THAL\n 0x0631: [0xfead, 0xfeae], // ARABIC LETTER REH\n 0x0632: [0xfeaf, 0xfeb0], // ARABIC LETTER ZAIN\n 0x0633: [0xfeb1, 0xfeb2, 0xfeb3, 0xfeb4], // ARABIC LETTER SEEN\n 0x0634: [0xfeb5, 0xfeb6, 0xfeb7, 0xfeb8], // ARABIC LETTER SHEEN\n 0x0635: [0xfeb9, 0xfeba, 0xfebb, 0xfebc], // ARABIC LETTER SAD\n 0x0636: [0xfebd, 0xfebe, 0xfebf, 0xfec0], // ARABIC LETTER DAD\n 0x0637: [0xfec1, 0xfec2, 0xfec3, 0xfec4], // ARABIC LETTER TAH\n 0x0638: [0xfec5, 0xfec6, 0xfec7, 0xfec8], // ARABIC LETTER ZAH\n 0x0639: [0xfec9, 0xfeca, 0xfecb, 0xfecc], // ARABIC LETTER AIN\n 0x063a: [0xfecd, 0xfece, 0xfecf, 0xfed0], // ARABIC LETTER GHAIN\n 0x0641: [0xfed1, 0xfed2, 0xfed3, 0xfed4], // ARABIC LETTER FEH\n 0x0642: [0xfed5, 0xfed6, 0xfed7, 0xfed8], // ARABIC LETTER QAF\n 0x0643: [0xfed9, 0xfeda, 0xfedb, 0xfedc], // ARABIC LETTER KAF\n 0x0644: [0xfedd, 0xfede, 0xfedf, 0xfee0], // ARABIC LETTER LAM\n 0x0645: [0xfee1, 0xfee2, 0xfee3, 0xfee4], // ARABIC LETTER MEEM\n 0x0646: [0xfee5, 0xfee6, 0xfee7, 0xfee8], // ARABIC LETTER NOON\n 0x0647: [0xfee9, 0xfeea, 0xfeeb, 0xfeec], // ARABIC LETTER HEH\n 0x0648: [0xfeed, 0xfeee], // ARABIC LETTER WAW\n 0x0649: [0xfeef, 0xfef0, 64488, 64489], // ARABIC LETTER ALEF MAKSURA\n 0x064a: [0xfef1, 0xfef2, 0xfef3, 0xfef4], // ARABIC LETTER YEH\n 0x0671: [0xfb50, 0xfb51], // ARABIC LETTER ALEF WASLA\n 0x0677: [0xfbdd], // ARABIC LETTER U WITH HAMZA ABOVE\n 0x0679: [0xfb66, 0xfb67, 0xfb68, 0xfb69], // ARABIC LETTER TTEH\n 0x067a: [0xfb5e, 0xfb5f, 0xfb60, 0xfb61], // ARABIC LETTER TTEHEH\n 0x067b: [0xfb52, 0xfb53, 0xfb54, 0xfb55], // ARABIC LETTER BEEH\n 0x067e: [0xfb56, 0xfb57, 0xfb58, 0xfb59], // ARABIC LETTER PEH\n 0x067f: [0xfb62, 0xfb63, 0xfb64, 0xfb65], // ARABIC LETTER TEHEH\n 0x0680: [0xfb5a, 0xfb5b, 0xfb5c, 0xfb5d], // ARABIC LETTER BEHEH\n 0x0683: [0xfb76, 0xfb77, 0xfb78, 0xfb79], // ARABIC LETTER NYEH\n 0x0684: [0xfb72, 0xfb73, 0xfb74, 0xfb75], // ARABIC LETTER DYEH\n 0x0686: [0xfb7a, 0xfb7b, 0xfb7c, 0xfb7d], // ARABIC LETTER TCHEH\n 0x0687: [0xfb7e, 0xfb7f, 0xfb80, 0xfb81], // ARABIC LETTER TCHEHEH\n 0x0688: [0xfb88, 0xfb89], // ARABIC LETTER DDAL\n 0x068c: [0xfb84, 0xfb85], // ARABIC LETTER DAHAL\n 0x068d: [0xfb82, 0xfb83], // ARABIC LETTER DDAHAL\n 0x068e: [0xfb86, 0xfb87], // ARABIC LETTER DUL\n 0x0691: [0xfb8c, 0xfb8d], // ARABIC LETTER RREH\n 0x0698: [0xfb8a, 0xfb8b], // ARABIC LETTER JEH\n 0x06a4: [0xfb6a, 0xfb6b, 0xfb6c, 0xfb6d], // ARABIC LETTER VEH\n 0x06a6: [0xfb6e, 0xfb6f, 0xfb70, 0xfb71], // ARABIC LETTER PEHEH\n 0x06a9: [0xfb8e, 0xfb8f, 0xfb90, 0xfb91], // ARABIC LETTER KEHEH\n 0x06ad: [0xfbd3, 0xfbd4, 0xfbd5, 0xfbd6], // ARABIC LETTER NG\n 0x06af: [0xfb92, 0xfb93, 0xfb94, 0xfb95], // ARABIC LETTER GAF\n 0x06b1: [0xfb9a, 0xfb9b, 0xfb9c, 0xfb9d], // ARABIC LETTER NGOEH\n 0x06b3: [0xfb96, 0xfb97, 0xfb98, 0xfb99], // ARABIC LETTER GUEH\n 0x06ba: [0xfb9e, 0xfb9f], // ARABIC LETTER NOON GHUNNA\n 0x06bb: [0xfba0, 0xfba1, 0xfba2, 0xfba3], // ARABIC LETTER RNOON\n 0x06be: [0xfbaa, 0xfbab, 0xfbac, 0xfbad], // ARABIC LETTER HEH DOACHASHMEE\n 0x06c0: [0xfba4, 0xfba5], // ARABIC LETTER HEH WITH YEH ABOVE\n 0x06c1: [0xfba6, 0xfba7, 0xfba8, 0xfba9], // ARABIC LETTER HEH GOAL\n 0x06c5: [0xfbe0, 0xfbe1], // ARABIC LETTER KIRGHIZ OE\n 0x06c6: [0xfbd9, 0xfbda], // ARABIC LETTER OE\n 0x06c7: [0xfbd7, 0xfbd8], // ARABIC LETTER U\n 0x06c8: [0xfbdb, 0xfbdc], // ARABIC LETTER YU\n 0x06c9: [0xfbe2, 0xfbe3], // ARABIC LETTER KIRGHIZ YU\n 0x06cb: [0xfbde, 0xfbdf], // ARABIC LETTER VE\n 0x06cc: [0xfbfc, 0xfbfd, 0xfbfe, 0xfbff], // ARABIC LETTER FARSI YEH\n 0x06d0: [0xfbe4, 0xfbe5, 0xfbe6, 0xfbe7], //ARABIC LETTER E\n 0x06d2: [0xfbae, 0xfbaf], // ARABIC LETTER YEH BARREE\n 0x06d3: [0xfbb0, 0xfbb1] // ARABIC LETTER YEH BARREE WITH HAMZA ABOVE\n };\n\n /*\n var ligaturesSubstitutionA = {\n 0xFBEA: []// ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM\n };\n */\n\n var ligatures = {\n 0xfedf: {\n 0xfe82: 0xfef5, // ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM\n 0xfe84: 0xfef7, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM\n 0xfe88: 0xfef9, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM\n 0xfe8e: 0xfefb // ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM\n },\n 0xfee0: {\n 0xfe82: 0xfef6, // ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM\n 0xfe84: 0xfef8, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM\n 0xfe88: 0xfefa, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM\n 0xfe8e: 0xfefc // ARABIC LIGATURE LAM WITH ALEF FINAL FORM\n },\n 0xfe8d: { 0xfedf: { 0xfee0: { 0xfeea: 0xfdf2 } } }, // ALLAH\n 0x0651: {\n 0x064c: 0xfc5e, // Shadda + Dammatan\n 0x064d: 0xfc5f, // Shadda + Kasratan\n 0x064e: 0xfc60, // Shadda + Fatha\n 0x064f: 0xfc61, // Shadda + Damma\n 0x0650: 0xfc62 // Shadda + Kasra\n }\n };\n\n var arabic_diacritics = {\n 1612: 64606, // Shadda + Dammatan\n 1613: 64607, // Shadda + Kasratan\n 1614: 64608, // Shadda + Fatha\n 1615: 64609, // Shadda + Damma\n 1616: 64610 // Shadda + Kasra\n };\n\n var alfletter = [1570, 1571, 1573, 1575];\n\n var noChangeInForm = -1;\n var isolatedForm = 0;\n var finalForm = 1;\n var initialForm = 2;\n var medialForm = 3;\n\n jsPDFAPI.__arabicParser__ = {};\n\n //private\n var isInArabicSubstitutionA = (jsPDFAPI.__arabicParser__.isInArabicSubstitutionA = function(\n letter\n ) {\n return typeof arabicSubstitionA[letter.charCodeAt(0)] !== \"undefined\";\n });\n\n var isArabicLetter = (jsPDFAPI.__arabicParser__.isArabicLetter = function(\n letter\n ) {\n return (\n typeof letter === \"string\" &&\n /^[\\u0600-\\u06FF\\u0750-\\u077F\\u08A0-\\u08FF\\uFB50-\\uFDFF\\uFE70-\\uFEFF]+$/.test(\n letter\n )\n );\n });\n\n var isArabicEndLetter = (jsPDFAPI.__arabicParser__.isArabicEndLetter = function(\n letter\n ) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length <= 2\n );\n });\n\n var isArabicAlfLetter = (jsPDFAPI.__arabicParser__.isArabicAlfLetter = function(\n letter\n ) {\n return (\n isArabicLetter(letter) && alfletter.indexOf(letter.charCodeAt(0)) >= 0\n );\n });\n\n jsPDFAPI.__arabicParser__.arabicLetterHasIsolatedForm = function(letter) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length >= 1\n );\n };\n\n var arabicLetterHasFinalForm = (jsPDFAPI.__arabicParser__.arabicLetterHasFinalForm = function(\n letter\n ) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length >= 2\n );\n });\n\n jsPDFAPI.__arabicParser__.arabicLetterHasInitialForm = function(letter) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length >= 3\n );\n };\n\n var arabicLetterHasMedialForm = (jsPDFAPI.__arabicParser__.arabicLetterHasMedialForm = function(\n letter\n ) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length == 4\n );\n });\n\n var resolveLigatures = (jsPDFAPI.__arabicParser__.resolveLigatures = function(\n letters\n ) {\n var i = 0;\n var tmpLigatures = ligatures;\n var result = \"\";\n var effectedLetters = 0;\n\n for (i = 0; i < letters.length; i += 1) {\n if (typeof tmpLigatures[letters.charCodeAt(i)] !== \"undefined\") {\n effectedLetters++;\n tmpLigatures = tmpLigatures[letters.charCodeAt(i)];\n\n if (typeof tmpLigatures === \"number\") {\n result += String.fromCharCode(tmpLigatures);\n tmpLigatures = ligatures;\n effectedLetters = 0;\n }\n if (i === letters.length - 1) {\n tmpLigatures = ligatures;\n result += letters.charAt(i - (effectedLetters - 1));\n i = i - (effectedLetters - 1);\n effectedLetters = 0;\n }\n } else {\n tmpLigatures = ligatures;\n result += letters.charAt(i - effectedLetters);\n i = i - effectedLetters;\n effectedLetters = 0;\n }\n }\n\n return result;\n });\n\n jsPDFAPI.__arabicParser__.isArabicDiacritic = function(letter) {\n return (\n letter !== undefined &&\n arabic_diacritics[letter.charCodeAt(0)] !== undefined\n );\n };\n\n var getCorrectForm = (jsPDFAPI.__arabicParser__.getCorrectForm = function(\n currentChar,\n beforeChar,\n nextChar\n ) {\n if (!isArabicLetter(currentChar)) {\n return -1;\n }\n\n if (isInArabicSubstitutionA(currentChar) === false) {\n return noChangeInForm;\n }\n if (\n !arabicLetterHasFinalForm(currentChar) ||\n (!isArabicLetter(beforeChar) && !isArabicLetter(nextChar)) ||\n (!isArabicLetter(nextChar) && isArabicEndLetter(beforeChar)) ||\n (isArabicEndLetter(currentChar) && !isArabicLetter(beforeChar)) ||\n (isArabicEndLetter(currentChar) && isArabicAlfLetter(beforeChar)) ||\n (isArabicEndLetter(currentChar) && isArabicEndLetter(beforeChar))\n ) {\n return isolatedForm;\n }\n\n if (\n arabicLetterHasMedialForm(currentChar) &&\n isArabicLetter(beforeChar) &&\n !isArabicEndLetter(beforeChar) &&\n isArabicLetter(nextChar) &&\n arabicLetterHasFinalForm(nextChar)\n ) {\n return medialForm;\n }\n\n if (isArabicEndLetter(currentChar) || !isArabicLetter(nextChar)) {\n return finalForm;\n }\n return initialForm;\n });\n\n /**\n * @name processArabic\n * @function\n * @param {string} text\n * @returns {string}\n */\n var parseArabic = function(text) {\n text = text || \"\";\n\n var result = \"\";\n var i = 0;\n var j = 0;\n var position = 0;\n var currentLetter = \"\";\n var prevLetter = \"\";\n var nextLetter = \"\";\n\n var words = text.split(\"\\\\s+\");\n var newWords = [];\n for (i = 0; i < words.length; i += 1) {\n newWords.push(\"\");\n for (j = 0; j < words[i].length; j += 1) {\n currentLetter = words[i][j];\n prevLetter = words[i][j - 1];\n nextLetter = words[i][j + 1];\n if (isArabicLetter(currentLetter)) {\n position = getCorrectForm(currentLetter, prevLetter, nextLetter);\n if (position !== -1) {\n newWords[i] += String.fromCharCode(\n arabicSubstitionA[currentLetter.charCodeAt(0)][position]\n );\n } else {\n newWords[i] += currentLetter;\n }\n } else {\n newWords[i] += currentLetter;\n }\n }\n\n newWords[i] = resolveLigatures(newWords[i]);\n }\n result = newWords.join(\" \");\n\n return result;\n };\n\n var processArabic = (jsPDFAPI.__arabicParser__.processArabic = jsPDFAPI.processArabic = function() {\n var text =\n typeof arguments[0] === \"string\" ? arguments[0] : arguments[0].text;\n var tmpText = [];\n var result;\n\n if (Array.isArray(text)) {\n var i = 0;\n tmpText = [];\n for (i = 0; i < text.length; i += 1) {\n if (Array.isArray(text[i])) {\n tmpText.push([parseArabic(text[i][0]), text[i][1], text[i][2]]);\n } else {\n tmpText.push([parseArabic(text[i])]);\n }\n }\n result = tmpText;\n } else {\n result = parseArabic(text);\n }\n if (typeof arguments[0] === \"string\") {\n return result;\n } else {\n arguments[0].text = result;\n return arguments[0];\n }\n });\n\n jsPDFAPI.events.push([\"preProcessText\", processArabic]);\n})(jsPDF.API);\n","/** @license\n * jsPDF Autoprint Plugin\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name autoprint\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * Makes the PDF automatically open the print-Dialog when opened in a PDF-viewer.\n *\n * @name autoPrint\n * @function\n * @param {Object} options (optional) Set the attribute variant to 'non-conform' (default) or 'javascript' to activate different methods of automatic printing when opening in a PDF-viewer .\n * @returns {jsPDF}\n * @example\n * var doc = new jsPDF();\n * doc.text(10, 10, 'This is a test');\n * doc.autoPrint({variant: 'non-conform'});\n * doc.save('autoprint.pdf');\n */\n jsPDFAPI.autoPrint = function(options) {\n \"use strict\";\n var refAutoPrintTag;\n options = options || {};\n options.variant = options.variant || \"non-conform\";\n\n switch (options.variant) {\n case \"javascript\":\n //https://github.com/Rob--W/pdf.js/commit/c676ecb5a0f54677b9f3340c3ef2cf42225453bb\n this.addJS(\"print({});\");\n break;\n case \"non-conform\":\n default:\n this.internal.events.subscribe(\"postPutResources\", function() {\n refAutoPrintTag = this.internal.newObject();\n this.internal.out(\"<<\");\n this.internal.out(\"/S /Named\");\n this.internal.out(\"/Type /Action\");\n this.internal.out(\"/N /Print\");\n this.internal.out(\">>\");\n this.internal.out(\"endobj\");\n });\n\n this.internal.events.subscribe(\"putCatalog\", function() {\n this.internal.out(\"/OpenAction \" + refAutoPrintTag + \" 0 R\");\n });\n break;\n }\n return this;\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF Canvas PlugIn\n * This plugin mimics the HTML5 Canvas\n *\n * The goal is to provide a way for current canvas users to print directly to a PDF.\n * @name canvas\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * @class Canvas\n * @classdesc A Canvas Wrapper for jsPDF\n */\n var Canvas = function() {\n var jsPdfInstance = undefined;\n Object.defineProperty(this, \"pdf\", {\n get: function() {\n return jsPdfInstance;\n },\n set: function(value) {\n jsPdfInstance = value;\n }\n });\n\n var _width = 150;\n /**\n * The height property is a positive integer reflecting the height HTML attribute of the element interpreted in CSS pixels. When the attribute is not specified, or if it is set to an invalid value, like a negative, the default value of 150 is used.\n * This is one of the two properties, the other being width, that controls the size of the canvas.\n *\n * @name width\n */\n Object.defineProperty(this, \"width\", {\n get: function() {\n return _width;\n },\n set: function(value) {\n if (isNaN(value) || Number.isInteger(value) === false || value < 0) {\n _width = 150;\n } else {\n _width = value;\n }\n if (this.getContext(\"2d\").pageWrapXEnabled) {\n this.getContext(\"2d\").pageWrapX = _width + 1;\n }\n }\n });\n\n var _height = 300;\n /**\n * The width property is a positive integer reflecting the width HTML attribute of the element interpreted in CSS pixels. When the attribute is not specified, or if it is set to an invalid value, like a negative, the default value of 300 is used.\n * This is one of the two properties, the other being height, that controls the size of the canvas.\n *\n * @name height\n */\n Object.defineProperty(this, \"height\", {\n get: function() {\n return _height;\n },\n set: function(value) {\n if (isNaN(value) || Number.isInteger(value) === false || value < 0) {\n _height = 300;\n } else {\n _height = value;\n }\n if (this.getContext(\"2d\").pageWrapYEnabled) {\n this.getContext(\"2d\").pageWrapY = _height + 1;\n }\n }\n });\n\n var _childNodes = [];\n Object.defineProperty(this, \"childNodes\", {\n get: function() {\n return _childNodes;\n },\n set: function(value) {\n _childNodes = value;\n }\n });\n\n var _style = {};\n Object.defineProperty(this, \"style\", {\n get: function() {\n return _style;\n },\n set: function(value) {\n _style = value;\n }\n });\n\n Object.defineProperty(this, \"parentNode\", {});\n };\n\n /**\n * The getContext() method returns a drawing context on the canvas, or null if the context identifier is not supported.\n *\n * @name getContext\n * @function\n * @param {string} contextType Is a String containing the context identifier defining the drawing context associated to the canvas. Possible value is \"2d\", leading to the creation of a Context2D object representing a two-dimensional rendering context.\n * @param {object} contextAttributes\n */\n Canvas.prototype.getContext = function(contextType, contextAttributes) {\n contextType = contextType || \"2d\";\n var key;\n\n if (contextType !== \"2d\") {\n return null;\n }\n for (key in contextAttributes) {\n if (this.pdf.context2d.hasOwnProperty(key)) {\n this.pdf.context2d[key] = contextAttributes[key];\n }\n }\n this.pdf.context2d._canvas = this;\n return this.pdf.context2d;\n };\n\n /**\n * The toDataURL() method is just a stub to throw an error if accidently called.\n *\n * @name toDataURL\n * @function\n */\n Canvas.prototype.toDataURL = function() {\n throw new Error(\"toDataURL is not implemented.\");\n };\n\n jsPDFAPI.events.push([\n \"initialized\",\n function() {\n this.canvas = new Canvas();\n this.canvas.pdf = this;\n }\n ]);\n\n return this;\n})(jsPDF.API);\n","/**\n * @license\n * ====================================================================\n * Copyright (c) 2013 Youssef Beddad, youssef.beddad@gmail.com\n * 2013 Eduardo Menezes de Morais, eduardo.morais@usp.br\n * 2013 Lee Driscoll, https://github.com/lsdriscoll\n * 2014 Juan Pablo Gaviria, https://github.com/juanpgaviria\n * 2014 James Hall, james@parall.ax\n * 2014 Diego Casorran, https://github.com/diegocr\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name cell\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var NO_MARGINS = { left: 0, top: 0, bottom: 0, right: 0 };\n\n var px2pt = (0.264583 * 72) / 25.4;\n var printingHeaderRow = false;\n\n var _initialize = function() {\n if (typeof this.internal.__cell__ === \"undefined\") {\n this.internal.__cell__ = {};\n this.internal.__cell__.padding = 3;\n this.internal.__cell__.headerFunction = undefined;\n this.internal.__cell__.margins = Object.assign({}, NO_MARGINS);\n this.internal.__cell__.margins.width = this.getPageWidth();\n _reset.call(this);\n }\n };\n\n var _reset = function() {\n this.internal.__cell__.lastCell = new Cell();\n this.internal.__cell__.pages = 1;\n };\n\n var Cell = function() {\n var _x = arguments[0];\n Object.defineProperty(this, \"x\", {\n enumerable: true,\n get: function() {\n return _x;\n },\n set: function(value) {\n _x = value;\n }\n });\n var _y = arguments[1];\n Object.defineProperty(this, \"y\", {\n enumerable: true,\n get: function() {\n return _y;\n },\n set: function(value) {\n _y = value;\n }\n });\n var _width = arguments[2];\n Object.defineProperty(this, \"width\", {\n enumerable: true,\n get: function() {\n return _width;\n },\n set: function(value) {\n _width = value;\n }\n });\n var _height = arguments[3];\n Object.defineProperty(this, \"height\", {\n enumerable: true,\n get: function() {\n return _height;\n },\n set: function(value) {\n _height = value;\n }\n });\n var _text = arguments[4];\n Object.defineProperty(this, \"text\", {\n enumerable: true,\n get: function() {\n return _text;\n },\n set: function(value) {\n _text = value;\n }\n });\n var _lineNumber = arguments[5];\n Object.defineProperty(this, \"lineNumber\", {\n enumerable: true,\n get: function() {\n return _lineNumber;\n },\n set: function(value) {\n _lineNumber = value;\n }\n });\n var _align = arguments[6];\n Object.defineProperty(this, \"align\", {\n enumerable: true,\n get: function() {\n return _align;\n },\n set: function(value) {\n _align = value;\n }\n });\n\n return this;\n };\n\n Cell.prototype.clone = function() {\n return new Cell(\n this.x,\n this.y,\n this.width,\n this.height,\n this.text,\n this.lineNumber,\n this.align\n );\n };\n\n Cell.prototype.toArray = function() {\n return [\n this.x,\n this.y,\n this.width,\n this.height,\n this.text,\n this.lineNumber,\n this.align\n ];\n };\n\n /**\n * @name setHeaderFunction\n * @function\n * @param {function} func\n */\n jsPDFAPI.setHeaderFunction = function(func) {\n _initialize.call(this);\n this.internal.__cell__.headerFunction =\n typeof func === \"function\" ? func : undefined;\n return this;\n };\n\n /**\n * @name getTextDimensions\n * @function\n * @param {string} txt\n * @returns {Object} dimensions\n */\n jsPDFAPI.getTextDimensions = function(text, options) {\n _initialize.call(this);\n options = options || {};\n var fontSize = options.fontSize || this.getFontSize();\n var font = options.font || this.getFont();\n var scaleFactor = options.scaleFactor || this.internal.scaleFactor;\n var width = 0;\n var amountOfLines = 0;\n var height = 0;\n var tempWidth = 0;\n var scope = this;\n\n if (!Array.isArray(text) && typeof text !== \"string\") {\n if (typeof text === \"number\") {\n text = String(text);\n } else {\n throw new Error(\n \"getTextDimensions expects text-parameter to be of type String or type Number or an Array of Strings.\"\n );\n }\n }\n\n const maxWidth = options.maxWidth;\n if (maxWidth > 0) {\n if (typeof text === \"string\") {\n text = this.splitTextToSize(text, maxWidth);\n } else if (Object.prototype.toString.call(text) === \"[object Array]\") {\n text = text.reduce(function(acc, textLine) {\n return acc.concat(scope.splitTextToSize(textLine, maxWidth));\n }, []);\n }\n } else {\n // Without the else clause, it will not work if you do not pass along maxWidth\n text = Array.isArray(text) ? text : [text];\n }\n\n for (var i = 0; i < text.length; i++) {\n tempWidth = this.getStringUnitWidth(text[i], { font: font }) * fontSize;\n if (width < tempWidth) {\n width = tempWidth;\n }\n }\n\n if (width !== 0) {\n amountOfLines = text.length;\n }\n\n width = width / scaleFactor;\n height = Math.max(\n (amountOfLines * fontSize * this.getLineHeightFactor() -\n fontSize * (this.getLineHeightFactor() - 1)) /\n scaleFactor,\n 0\n );\n return { w: width, h: height };\n };\n\n /**\n * @name cellAddPage\n * @function\n */\n jsPDFAPI.cellAddPage = function() {\n _initialize.call(this);\n\n this.addPage();\n\n var margins = this.internal.__cell__.margins || NO_MARGINS;\n this.internal.__cell__.lastCell = new Cell(\n margins.left,\n margins.top,\n undefined,\n undefined\n );\n this.internal.__cell__.pages += 1;\n\n return this;\n };\n\n /**\n * @name cell\n * @function\n * @param {number} x\n * @param {number} y\n * @param {number} width\n * @param {number} height\n * @param {string} text\n * @param {number} lineNumber lineNumber\n * @param {string} align\n * @return {jsPDF} jsPDF-instance\n */\n var cell = (jsPDFAPI.cell = function() {\n var currentCell;\n\n if (arguments[0] instanceof Cell) {\n currentCell = arguments[0];\n } else {\n currentCell = new Cell(\n arguments[0],\n arguments[1],\n arguments[2],\n arguments[3],\n arguments[4],\n arguments[5]\n );\n }\n _initialize.call(this);\n var lastCell = this.internal.__cell__.lastCell;\n var padding = this.internal.__cell__.padding;\n var margins = this.internal.__cell__.margins || NO_MARGINS;\n var tableHeaderRow = this.internal.__cell__.tableHeaderRow;\n var printHeaders = this.internal.__cell__.printHeaders;\n // If this is not the first cell, we must change its position\n if (typeof lastCell.lineNumber !== \"undefined\") {\n if (lastCell.lineNumber === currentCell.lineNumber) {\n //Same line\n currentCell.x = (lastCell.x || 0) + (lastCell.width || 0);\n currentCell.y = lastCell.y || 0;\n } else {\n //New line\n if (\n lastCell.y + lastCell.height + currentCell.height + margins.bottom >\n this.getPageHeight()\n ) {\n this.cellAddPage();\n currentCell.y = margins.top;\n if (printHeaders && tableHeaderRow) {\n this.printHeaderRow(currentCell.lineNumber, true);\n currentCell.y += tableHeaderRow[0].height;\n }\n } else {\n currentCell.y = lastCell.y + lastCell.height || currentCell.y;\n }\n }\n }\n\n if (typeof currentCell.text[0] !== \"undefined\") {\n this.rect(\n currentCell.x,\n currentCell.y,\n currentCell.width,\n currentCell.height,\n printingHeaderRow === true ? \"FD\" : undefined\n );\n if (currentCell.align === \"right\") {\n this.text(\n currentCell.text,\n currentCell.x + currentCell.width - padding,\n currentCell.y + padding,\n { align: \"right\", baseline: \"top\" }\n );\n } else if (currentCell.align === \"center\") {\n this.text(\n currentCell.text,\n currentCell.x + currentCell.width / 2,\n currentCell.y + padding,\n {\n align: \"center\",\n baseline: \"top\",\n maxWidth: currentCell.width - padding - padding\n }\n );\n } else {\n this.text(\n currentCell.text,\n currentCell.x + padding,\n currentCell.y + padding,\n {\n align: \"left\",\n baseline: \"top\",\n maxWidth: currentCell.width - padding - padding\n }\n );\n }\n }\n this.internal.__cell__.lastCell = currentCell;\n return this;\n });\n\n /**\n * Create a table from a set of data.\n * @name table\n * @function\n * @param {Integer} [x] : left-position for top-left corner of table\n * @param {Integer} [y] top-position for top-left corner of table\n * @param {Object[]} [data] An array of objects containing key-value pairs corresponding to a row of data.\n * @param {String[]} [headers] Omit or null to auto-generate headers at a performance cost\n\n * @param {Object} [config.printHeaders] True to print column headers at the top of every page\n * @param {Object} [config.autoSize] True to dynamically set the column widths to match the widest cell value\n * @param {Object} [config.margins] margin values for left, top, bottom, and width\n * @param {Object} [config.fontSize] Integer fontSize to use (optional)\n * @param {Object} [config.padding] cell-padding in pt to use (optional)\n * @param {Object} [config.headerBackgroundColor] default is #c8c8c8 (optional)\n * @param {Object} [config.headerTextColor] default is #000 (optional)\n * @param {Object} [config.rowStart] callback to handle before print each row (optional)\n * @param {Object} [config.cellStart] callback to handle before print each cell (optional)\n * @returns {jsPDF} jsPDF-instance\n */\n\n jsPDFAPI.table = function(x, y, data, headers, config) {\n _initialize.call(this);\n if (!data) {\n throw new Error(\"No data for PDF table.\");\n }\n\n config = config || {};\n\n var headerNames = [],\n headerLabels = [],\n headerAligns = [],\n i,\n columnMatrix = {},\n columnWidths = {},\n column,\n columnMinWidths = [],\n j,\n tableHeaderConfigs = [],\n //set up defaults. If a value is provided in config, defaults will be overwritten:\n autoSize = config.autoSize || false,\n printHeaders = config.printHeaders === false ? false : true,\n fontSize =\n config.css && typeof config.css[\"font-size\"] !== \"undefined\"\n ? config.css[\"font-size\"] * 16\n : config.fontSize || 12,\n margins =\n config.margins ||\n Object.assign({ width: this.getPageWidth() }, NO_MARGINS),\n padding = typeof config.padding === \"number\" ? config.padding : 3,\n headerBackgroundColor = config.headerBackgroundColor || \"#c8c8c8\",\n headerTextColor = config.headerTextColor || \"#000\";\n\n _reset.call(this);\n\n this.internal.__cell__.printHeaders = printHeaders;\n this.internal.__cell__.margins = margins;\n this.internal.__cell__.table_font_size = fontSize;\n this.internal.__cell__.padding = padding;\n this.internal.__cell__.headerBackgroundColor = headerBackgroundColor;\n this.internal.__cell__.headerTextColor = headerTextColor;\n this.setFontSize(fontSize);\n\n // Set header values\n if (headers === undefined || headers === null) {\n // No headers defined so we derive from data\n headerNames = Object.keys(data[0]);\n headerLabels = headerNames;\n headerAligns = headerNames.map(function() {\n return \"left\";\n });\n } else if (Array.isArray(headers) && typeof headers[0] === \"object\") {\n headerNames = headers.map(function(header) {\n return header.name;\n });\n headerLabels = headers.map(function(header) {\n return header.prompt || header.name || \"\";\n });\n headerAligns = headers.map(function(header) {\n return header.align || \"left\";\n });\n // Split header configs into names and prompts\n for (i = 0; i < headers.length; i += 1) {\n columnWidths[headers[i].name] = headers[i].width * px2pt;\n }\n } else if (Array.isArray(headers) && typeof headers[0] === \"string\") {\n headerNames = headers;\n headerLabels = headerNames;\n headerAligns = headerNames.map(function() {\n return \"left\";\n });\n }\n\n if (\n autoSize ||\n (Array.isArray(headers) && typeof headers[0] === \"string\")\n ) {\n var headerName;\n for (i = 0; i < headerNames.length; i += 1) {\n headerName = headerNames[i];\n\n // Create a matrix of columns e.g., {column_title: [row1_Record, row2_Record]}\n\n columnMatrix[headerName] = data.map(function(rec) {\n return rec[headerName];\n });\n\n // get header width\n this.setFont(undefined, \"bold\");\n columnMinWidths.push(\n this.getTextDimensions(headerLabels[i], {\n fontSize: this.internal.__cell__.table_font_size,\n scaleFactor: this.internal.scaleFactor\n }).w\n );\n column = columnMatrix[headerName];\n\n // get cell widths\n this.setFont(undefined, \"normal\");\n for (j = 0; j < column.length; j += 1) {\n columnMinWidths.push(\n this.getTextDimensions(column[j], {\n fontSize: this.internal.__cell__.table_font_size,\n scaleFactor: this.internal.scaleFactor\n }).w\n );\n }\n\n // get final column width\n columnWidths[headerName] =\n Math.max.apply(null, columnMinWidths) + padding + padding;\n\n //have to reset\n columnMinWidths = [];\n }\n }\n\n // -- Construct the table\n\n if (printHeaders) {\n var row = {};\n for (i = 0; i < headerNames.length; i += 1) {\n row[headerNames[i]] = {};\n row[headerNames[i]].text = headerLabels[i];\n row[headerNames[i]].align = headerAligns[i];\n }\n\n var rowHeight = calculateLineHeight.call(this, row, columnWidths);\n\n // Construct the header row\n tableHeaderConfigs = headerNames.map(function(value) {\n return new Cell(\n x,\n y,\n columnWidths[value],\n rowHeight,\n row[value].text,\n undefined,\n row[value].align\n );\n });\n\n // Store the table header config\n this.setTableHeaderRow(tableHeaderConfigs);\n\n // Print the header for the start of the table\n this.printHeaderRow(1, false);\n }\n\n // Construct the data rows\n\n var align = headers.reduce(function(pv, cv) {\n pv[cv.name] = cv.align;\n return pv;\n }, {});\n for (i = 0; i < data.length; i += 1) {\n if (\"rowStart\" in config && config.rowStart instanceof Function) {\n config.rowStart(\n {\n row: i,\n data: data[i]\n },\n this\n );\n }\n var lineHeight = calculateLineHeight.call(this, data[i], columnWidths);\n\n for (j = 0; j < headerNames.length; j += 1) {\n var cellData = data[i][headerNames[j]];\n if (\"cellStart\" in config && config.cellStart instanceof Function) {\n config.cellStart(\n {\n row: i,\n col: j,\n data: cellData\n },\n this\n );\n }\n cell.call(\n this,\n new Cell(\n x,\n y,\n columnWidths[headerNames[j]],\n lineHeight,\n cellData,\n i + 2,\n align[headerNames[j]]\n )\n );\n }\n }\n this.internal.__cell__.table_x = x;\n this.internal.__cell__.table_y = y;\n return this;\n };\n\n /**\n * Calculate the height for containing the highest column\n *\n * @name calculateLineHeight\n * @function\n * @param {Object[]} model is the line of data we want to calculate the height of\n * @param {Integer[]} columnWidths is size of each column\n * @returns {number} lineHeight\n * @private\n */\n var calculateLineHeight = function calculateLineHeight(model, columnWidths) {\n var padding = this.internal.__cell__.padding;\n var fontSize = this.internal.__cell__.table_font_size;\n var scaleFactor = this.internal.scaleFactor;\n\n return Object.keys(model)\n .map(function(key) {\n var value = model[key];\n return this.splitTextToSize(\n value.hasOwnProperty(\"text\") ? value.text : value,\n columnWidths[key] - padding - padding\n );\n }, this)\n .map(function(value) {\n return (\n (this.getLineHeightFactor() * value.length * fontSize) / scaleFactor +\n padding +\n padding\n );\n }, this)\n .reduce(function(pv, cv) {\n return Math.max(pv, cv);\n }, 0);\n };\n\n /**\n * Store the config for outputting a table header\n *\n * @name setTableHeaderRow\n * @function\n * @param {Object[]} config\n * An array of cell configs that would define a header row: Each config matches the config used by jsPDFAPI.cell\n * except the lineNumber parameter is excluded\n */\n jsPDFAPI.setTableHeaderRow = function(config) {\n _initialize.call(this);\n this.internal.__cell__.tableHeaderRow = config;\n };\n\n /**\n * Output the store header row\n *\n * @name printHeaderRow\n * @function\n * @param {number} lineNumber The line number to output the header at\n * @param {boolean} new_page\n */\n jsPDFAPI.printHeaderRow = function(lineNumber, new_page) {\n _initialize.call(this);\n if (!this.internal.__cell__.tableHeaderRow) {\n throw new Error(\"Property tableHeaderRow does not exist.\");\n }\n\n var tableHeaderCell;\n\n printingHeaderRow = true;\n if (typeof this.internal.__cell__.headerFunction === \"function\") {\n var position = this.internal.__cell__.headerFunction(\n this,\n this.internal.__cell__.pages\n );\n this.internal.__cell__.lastCell = new Cell(\n position[0],\n position[1],\n position[2],\n position[3],\n undefined,\n -1\n );\n }\n this.setFont(undefined, \"bold\");\n\n var tempHeaderConf = [];\n for (var i = 0; i < this.internal.__cell__.tableHeaderRow.length; i += 1) {\n tableHeaderCell = this.internal.__cell__.tableHeaderRow[i].clone();\n if (new_page) {\n tableHeaderCell.y = this.internal.__cell__.margins.top || 0;\n tempHeaderConf.push(tableHeaderCell);\n }\n tableHeaderCell.lineNumber = lineNumber;\n var currentTextColor = this.getTextColor();\n this.setTextColor(this.internal.__cell__.headerTextColor);\n this.setFillColor(this.internal.__cell__.headerBackgroundColor);\n cell.call(this, tableHeaderCell);\n this.setTextColor(currentTextColor);\n }\n if (tempHeaderConf.length > 0) {\n this.setTableHeaderRow(tempHeaderConf);\n }\n this.setFont(undefined, \"normal\");\n printingHeaderRow = false;\n };\n})(jsPDF.API);\n","/**\n * @license\n * ====================================================================\n * Copyright (c) 2013 Youssef Beddad, youssef.beddad@gmail.com\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF JavaScript plugin\n *\n * @name javascript\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n var jsNamesObj, jsJsObj, text;\n /**\n * @name addJS\n * @function\n * @param {string} javascript The javascript to be embedded into the PDF-file.\n * @returns {jsPDF}\n */\n jsPDFAPI.addJS = function(javascript) {\n text = javascript;\n this.internal.events.subscribe(\"postPutResources\", function() {\n jsNamesObj = this.internal.newObject();\n this.internal.out(\"<<\");\n this.internal.out(\"/Names [(EmbeddedJS) \" + (jsNamesObj + 1) + \" 0 R]\");\n this.internal.out(\">>\");\n this.internal.out(\"endobj\");\n\n jsJsObj = this.internal.newObject();\n this.internal.out(\"<<\");\n this.internal.out(\"/S /JavaScript\");\n this.internal.out(\"/JS (\" + text + \")\");\n this.internal.out(\">>\");\n this.internal.out(\"endobj\");\n });\n this.internal.events.subscribe(\"putCatalog\", function() {\n if (jsNamesObj !== undefined && jsJsObj !== undefined) {\n this.internal.out(\"/Names <>\");\n }\n });\n return this;\n };\n})(jsPDF.API);\n","/* 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 * 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","/**\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 React, {useContext, useState, useEffect, useReducer} from 'react';\r\nimport { useNavigate, useParams } from 'react-router-dom'; \r\nimport jspdf from 'jspdf'\r\nimport html2canvas from 'html2canvas'\r\nimport useApi from '../Hooks/useApi'\r\nimport Loader from './../Components/Loader'\r\nimport utilities from '../utilities'\r\nimport useSignalR from '../Hooks/useSignalR'\r\n\r\n\r\nconst Payment = (props) => {\r\n\r\n let { challanNo } = useParams();\r\n var cNo = utilities.decryptData(challanNo);\r\n const navigate = useNavigate();\r\n\r\n const goToStudentsList = () => {\r\n navigate('/registration/students');\r\n }\r\n\r\nconst printChallan = () => {\r\n\r\n const input = document.getElementById('challan');\r\n html2canvas(input, { scale: 1 })\r\n .then((canvas) => {\r\n const imgData = canvas.toDataURL('image/png');\r\n const pdf = new jspdf('l', 'mm', [297, 210]);\r\n pdf.addImage(imgData, 'JPEG', 15, 20, 260, 100);\r\n // pdf.output('dataurlnewwindow');\r\n pdf.save(\"Challan.pdf\");\r\n }) \r\n }\r\n\r\nconst {connection} = useSignalR();\r\n\r\n if (connection)\r\n {\r\n connection.on(\"TransactionAcknowledgement\", (res) => {\r\n var currentUrl = window.location.pathname;\r\n if (currentUrl.indexOf(\"registration/payment/\") !== -1)\r\n {\r\n var transaction = utilities.encrypObject(res);\r\n navigate('/registration/payment/confirmation/' + transaction);\r\n }\r\n\r\n\r\n }); \r\n }\r\n\r\nconst {data} = useApi( {url: '/Exam/GetChallan?challanNo=' + cNo, method: 'get' });\r\n\r\n\r\n \r\n\r\n\r\n return (\r\n <>\r\n {!data ? () : (\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 Waiting for payment to be complete...\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n\r\n
    \r\n

    Punjab Medical Faculty (PMF Easy Collection)

    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    Invoice No. {data.oneBillInvoiceNo}

    \r\n

    For online payment (1 Bill) through Jazz Cash/Easy Paisa/Internet Banking/ Mobile Banking/ ATM.

    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    Challan No. {data.formattedChallanNo}

    \r\n

    For Payment in any branch of Bank of Punjab.

    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n\r\n\r\n {/*
    \r\n
    \r\n Challan No. \r\n
    \r\n \r\n
    \r\n {data.formattedChallanNo} \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n PMF Collection \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 \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
    Candidate{data.applicantName} S/D/O {data.fatherName}
    CNIC{data.cnic}
    Exam\r\n {data.exam} \r\n
    Session\r\n {data.session} \r\n
    Category\r\n {data.category} \r\n
    Fee {utilities.currencyFormat(data.normalFee)}
    Bank Charges{utilities.currencyFormat(20)}
    Total Amount {utilities.currencyFormat( (data.normalFee + 20))}
    Due Date: {data.normalDueDate}
    \r\n\r\n\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n

    Note:- Challan cannot be paid after {data.normalDueDate}. Unpaid fee will not be consider for registration.

    \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 {/*

    Important Instructions regarding Fee Payment

    \r\n \r\n

    Fee can b paid using:

    \r\n\r\n
    \r\n \r\n
    \r\n
    Internet, Mobile Banking Apps, Jazz Cash, Easy Paisa, etc.:
    \r\n
    \r\n
      \r\n
    1. Log in to Internet / Mobile Banking
    2. \r\n
    3. Select the option of GoPb in Bill Payment Options
    4. \r\n
    5. Enter 17 digits of PSID number and press Ok
    6. \r\n
    7. Payable Fee Amount along with Applicant Details will be automatically fetch and display on the screen
    8. \r\n
    9. Press Pay / Submit / Finish button
    10. \r\n
    11. Message of successful transaction appears on the screen
    12. \r\n
    13. Click Here to see the demo video
    14. \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    ATM:
    \r\n
    \r\n
      \r\n
    1. Please visit your nearest ATM of 1 Link member bank along with ATM Card
    2. \r\n
    3. After PIN verification, select the option of GoPb under option of Bill Payment in Main Menu
    4. \r\n
    5. Enter 17 digits of PSID number and press Ok
    6. \r\n
    7. Payable Amount will be automatically fetch and display on the ATM screen
    8. \r\n
    9. Press Pay / Submit / Finish button
    10. \r\n
    11. Message of successful transaction appears on the screen
    12. \r\n
    13. Click Here to see the demo video
    14. \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    Any Branch of Bank of Punjab all over the Pakistan:
    \r\n
    \r\n
      \r\n
    1. Download the Challan Form from Here
    2. \r\n
    3. Visit any branch of Bank of Punjab
    4. \r\n
    5. Present the Challan From to Customer Service Representative along with Fee
    6. \r\n
    7. Fee can also be paid on the 1-Link Member Bank brnahces. Click here to check the List of 1-Link Member Banks
    8. \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\nexport default Payment;","import { useNavigate, useParams } from 'react-router-dom'; \r\nimport useApi from '../Hooks/useApi'\r\nimport Loader from './../Components/Loader'\r\nimport utilities from '../utilities'\r\nimport useSignalR from '../Hooks/useSignalR'\r\n\r\n\r\nconst Confirmation = (props) => {\r\n\r\n let { transaction } = useParams();\r\n var data = utilities.decryptObject(transaction)\r\n const navigate = useNavigate();\r\n\r\n\r\n const goToStudentsList = () => {\r\n navigate('/registration/students');\r\n }\r\n\r\nreturn (\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n Fee Paid Successfully.. \r\n
    \r\n\r\n
    \r\n Transaction ID: {data.transactionID} \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 Student Name: {data.applicantName} \r\n
    \r\n\r\n
    \r\n Exam: {data.exam} \r\n
    \r\n\r\n
    \r\n Category: {data.category} \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\nexport default Confirmation;","import React, {useContext, useState, useEffect} from 'react';\r\nimport { useNavigate, useParams, useLocation, useSearchParams } from 'react-router-dom'; \r\nimport * as Yup from 'yup';\r\nimport axios from 'axios';\r\nimport {BASE_URL} from '../config'\r\nimport swal from 'sweetalert'\r\nimport FileUploadProgress from '../Components/FileUploadProgress'\r\nimport {AuthContext} from '../context/AuthContext'\r\nimport utilities from '../utilities'\r\nimport useApi from '../Hooks/useApi'\r\nimport Loader from '../Components/Loader'\r\n\r\nconst UploadVerification = (props) => {\r\n\r\n let { registrationID} = useParams();\r\n const navigate = useNavigate();\r\n const [verificationProgress, setVerificationProgress] = useState(0);\r\n const [verificationRememainingTime, setVerificationRemainingTime] = useState(0);\r\n const[matricVerificationPath, setMatricVerificationPath] = useState('');\r\n const {userInfo} = useContext(AuthContext);\r\n\r\n const validFileExtensions = { image: ['jpg', 'png', 'jpeg'] };\r\n \r\n var rID = utilities.decryptData(registrationID);\r\n const {data} = useApi( {url: '/Registration/GetAppliationByID?RegistrationID=' + rID, method: 'get' });\r\n\r\n\r\n\r\n function isValidFileType(fileName, fileType) {\r\n return fileName && validFileExtensions[fileType].indexOf(fileName.split('.').pop()) > -1;\r\n }\r\n \r\n function getAllowedExt(type) {\r\n return validFileExtensions[type].map((e) => `.${e}`).toString()\r\n } \r\n \r\n let allowedExts = getAllowedExt('image');\r\n const MAX_FILE_SIZE = 512000;\r\n\r\n const myUploadProgress = (myFileId, startAt) => (progressEvent) => {\r\n\r\n const { loaded, total } = progressEvent;\r\n const percentage = (loaded * 100) / total;\r\n const timeElapsed = Date.now() - startAt;\r\n const uploadSpeed = loaded / timeElapsed;\r\n const duration = (total - loaded) / uploadSpeed;\r\n\r\n if (myFileId == \"verification\")\r\n {\r\n setVerificationProgress(+percentage.toFixed(2));\r\n setVerificationRemainingTime(duration); \r\n }\r\n\r\n }\r\n\r\n\r\n const sleep = async (milliseconds) => {\r\n await new Promise(resolve => {\r\n return setTimeout(resolve, milliseconds)\r\n });\r\n };\r\n \r\n\r\n const handleFileUpload = (event) => {\r\n let startAt = Date.now();\r\n const file = event.target.files[0];\r\n var size = file.size;\r\n //if (size > MAX_FILE_SIZE)\r\n //{\r\n // alert('only allowed 100 kb file size');\r\n // return;\r\n //}\r\n const fd = new FormData();\r\n fd.append(\"file\", file);\r\n axios\r\n .post(BASE_URL + \"/Registration/UploadVerification?RegistrationID=\" + rID, fd, {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n },\r\n onUploadProgress : myUploadProgress(event.target.name, startAt)\r\n\r\n })\r\n .then(async(response) => {\r\n setMatricVerificationPath(response.data);\r\n await sleep(5000);\r\n navigate('/registration/students');\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n };\r\n\r\n\r\n\r\n useEffect(() => {\r\n\r\n \r\n}, []);\r\n\r\n\r\n\r\n\r\n return (\r\n \r\n <>\r\n {!data ? () : (\r\n
    \r\n\r\n
    \r\n

    Upload Verification

    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Candidate Name\r\n
    \r\n
    \r\n {data.studentName}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Father Name\r\n
    \r\n
    \r\n {data.fatherName}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n CNIC\r\n
    \r\n
    \r\n {data.cnic}\r\n
    \r\n
    \r\n\r\n\r\n
    \r\n \r\n\r\n {handleFileUpload(e)}}/>\r\n \r\n {matricVerificationPath ? (<>\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\nexport default UploadVerification;\r\n","import React, {useContext, useState, useEffect} from 'react';\r\nimport { useNavigate, useParams, useLocation, useSearchParams } from 'react-router-dom'; \r\nimport * as Yup from 'yup';\r\nimport axios from 'axios';\r\nimport {BASE_URL} from '../config'\r\nimport swal from 'sweetalert'\r\nimport FileUploadProgress from '../Components/FileUploadProgress'\r\nimport {AuthContext} from '../context/AuthContext'\r\nimport utilities from '../utilities'\r\nimport useApi from '../Hooks/useApi'\r\nimport Loader from '../Components/Loader'\r\n\r\nconst UploadDocument = (props) => {\r\n\r\n let { registrationID, document} = useParams();\r\n const navigate = useNavigate();\r\n const [uploadProgress, setUploadProgress] = useState(0);\r\n const [rememainingTime, setRemainingTime] = useState(0);\r\n const[documentPath, setDocumentPath] = useState('');\r\n const {userInfo} = useContext(AuthContext);\r\n\r\n const validFileExtensions = { image: ['jpg', 'png', 'jpeg'] };\r\n \r\n var rID = utilities.decryptData(registrationID);\r\n var doc = utilities.decryptData(document);\r\n\r\n const {data} = useApi( {url: '/Registration/GetAppliationByID?RegistrationID=' + rID, method: 'get' });\r\n\r\n\r\n\r\n function isValidFileType(fileName, fileType) {\r\n return fileName && validFileExtensions[fileType].indexOf(fileName.split('.').pop()) > -1;\r\n }\r\n \r\n function getAllowedExt(type) {\r\n return validFileExtensions[type].map((e) => `.${e}`).toString()\r\n } \r\n \r\n let allowedExts = getAllowedExt('image');\r\n const MAX_FILE_SIZE = 512000;\r\n\r\n const myUploadProgress = (myFileId, startAt) => (progressEvent) => {\r\n\r\n const { loaded, total } = progressEvent;\r\n const percentage = (loaded * 100) / total;\r\n const timeElapsed = Date.now() - startAt;\r\n const uploadSpeed = loaded / timeElapsed;\r\n const duration = (total - loaded) / uploadSpeed;\r\n\r\n if (myFileId == \"document\")\r\n {\r\n setUploadProgress(+percentage.toFixed(2));\r\n setRemainingTime(duration); \r\n }\r\n\r\n }\r\n\r\n\r\n const sleep = async (milliseconds) => {\r\n await new Promise(resolve => {\r\n return setTimeout(resolve, milliseconds)\r\n });\r\n };\r\n \r\n\r\n const handleFileUpload = (event) => {\r\n let startAt = Date.now();\r\n const file = event.target.files[0];\r\n\r\n var size = file.size;\r\n\r\n var fileName = file.name;\r\n var idxDot = fileName.lastIndexOf(\".\") + 1;\r\n var extFile = fileName.substr(idxDot, fileName.length).toLowerCase();\r\n if (extFile==\"jpg\" || extFile==\"jpeg\" || extFile==\"png\"){\r\n //TO DO\r\n }else{\r\n swal({\r\n title: \"Attention!\",\r\n text: 'Only jpg/jpeg and png files are allowed!',\r\n icon: \"info\",\r\n });\r\n return; \r\n } \r\n\r\n if (size > MAX_FILE_SIZE)\r\n {\r\n swal({\r\n title: \"Attention!\",\r\n text: 'only allowed 500 KB file size.',\r\n icon: \"info\",\r\n });\r\n\r\n //alert('only allowed 100 kb file size');\r\n return;\r\n }\r\n\r\n const fd = new FormData();\r\n fd.append(\"file\", file);\r\n axios\r\n .post(BASE_URL + \"/Registration/ClearScrutinyObjection?RegistrationID=\" + rID + \"&Document=\" + doc + \"&ScrutinyStatus=\" + data.scrutinyStatus + \"&isPendingCNIC=\" + data.isPendingCorrectionCNIC + \"&isPendingMatric=\" + data.isPendingCorrectionMatric + \"&isPendingPPCResultCard=\" + data.isPendingCorrectionPPCResultCard + \"&isPendingPhoto=\" + data.isPendingCorrectionPhoto, fd, {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n Authorization: `Bearer ${userInfo.jwt}`\r\n },\r\n onUploadProgress : myUploadProgress(event.target.name, startAt)\r\n\r\n })\r\n .then(async(response) => {\r\n setDocumentPath(response.data);\r\n await sleep(5000);\r\n navigate('/exam/supply/objections/students');\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n };\r\n\r\n\r\n\r\n useEffect(() => {\r\n\r\n \r\n}, []);\r\n\r\n\r\n\r\n\r\n return (\r\n \r\n <>\r\n {!data ? () : (\r\n
    \r\n\r\n
    \r\n

    Upload {doc} Document

    \r\n
    \r\n\r\n {doc === 'cnic'? (\r\n

    {data.cnicObjection}

    \r\n ):(doc === 'matric' ? (\r\n

    {data.matricObjection}

    \r\n ) : (doc === 'photo' ? (\r\n

    {data.photoObjection}

    \r\n ) : (

    {data.ppcResultCardObjection}

    ))\r\n )\r\n }\r\n\r\n
    \r\n\r\n
    \r\n
    \r\n Candidate Name\r\n
    \r\n
    \r\n {data.studentName}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Father Name\r\n
    \r\n
    \r\n {data.fatherName}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n CNIC\r\n
    \r\n
    \r\n {data.cnic}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Year Type\r\n
    \r\n
    \r\n {data.examYear}\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n\r\n {handleFileUpload(e)}}/>\r\n \r\n\r\n\r\n {documentPath ? (<>\r\n
    \r\n \r\n ) : (doc === 'cnic'? (\r\n <>\r\n
    \r\n \r\n ): (\r\n doc === 'photo' ? (\r\n <>\r\n
    \r\n \r\n \r\n ) : (doc === 'matric' ? (\r\n <>\r\n
    \r\n \r\n \r\n ) : (!data.ppcResultCardPath ? (<>\r\n
    \r\n PPC Result Card was not uploaded \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\nexport default UploadDocument;\r\n","import React, {useContext, useState, useEffect} from 'react';\r\nimport useApi from '../Hooks/useApi'\r\nimport Loader from '../Components/Loader'\r\nimport utilities from '../utilities'\r\nimport useSignalR from '../Hooks/useSignalR'\r\nimport {AuthContext} from '../context/AuthContext'\r\nimport {BASE_URL} from '../config'\r\nimport swal from 'sweetalert'\r\n\r\nconst PrintSupplyStudents = (props) => {\r\n\r\n const {userInfo} = useContext(AuthContext);\r\n const [submitting, setSubmitting] = useState(false);\r\n\r\n\r\n function handleError(err) {\r\n console.log(err);\r\n swal({\r\n title: \"Attention!\",\r\n text: 'An error occured while printing the student list.',\r\n icon: \"info\",\r\n });\r\n setSubmitting(false);\r\n }\r\n\r\n const PrintStudentList = async() => {\r\n setSubmitting(true);\r\n const file = await utilities.downloadFile( {url: '/Registration/PrintListOfAppliedStudents', jwt: userInfo.jwt }).catch(handleError);\r\n if (file != undefined)\r\n { \r\n //const downloadUrl = window.URL.createObjectURL(file);\r\n //window.open(downloadUrl, '__blank');\r\n //window.URL.revokeObjectURL(downloadUrl);\r\n\r\n // Create a Blob from the response data\r\n //const pdfBlob = new Blob([response.data], { type: \"application/pdf\" });\r\n\r\n // Create a temporary URL for the Blob\r\n const url = window.URL.createObjectURL(file);\r\n\r\n // Create a temporary element to trigger the download\r\n const tempLink = document.createElement(\"a\");\r\n tempLink.href = url;\r\n tempLink.setAttribute(\r\n \"download\",\r\n \"StudentList.pdf\"\r\n ); // Set the desired filename for the downloaded file\r\n\r\n // Append the element to the body and click it to trigger the download\r\n document.body.appendChild(tempLink);\r\n tempLink.click();\r\n\r\n // Clean up the temporary elements and URL\r\n document.body.removeChild(tempLink);\r\n window.URL.revokeObjectURL(url);\r\n\r\n\r\n setSubmitting(false);\r\n }\r\n \r\n\r\n }\r\n \r\n\r\n\r\nreturn (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
      \r\n
    • \r\n Print option will be available after {userInfo.supplyLateFeeDueDateExpired} \r\n
    • \r\n\r\n
    • \r\n You need to signed and stamped it from the head of institute \r\n
    • \r\n
    • \r\n And dispatch the signed list with covering letter to the office of Punjab Pharmacy Council till {userInfo.supplyCoveringLetterDate}.\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\nexport default PrintSupplyStudents;","import React, {useContext, useState, useEffect} from 'react';\r\nimport useApi from '../Hooks/useApi'\r\nimport Loader from '../Components/Loader'\r\nimport utilities from '../utilities'\r\nimport useSignalR from '../Hooks/useSignalR'\r\nimport {AuthContext} from '../context/AuthContext'\r\nimport {BASE_URL} from '../config'\r\nimport { date } from 'yup';\r\nimport swal from 'sweetalert'\r\nimport axios from 'axios';\r\nimport FileUploadProgress from '../Components/FileUploadProgress'\r\n\r\n\r\nconst SupplyExamFeeChallan = (props) => {\r\n\r\n const {userInfo} = useContext(AuthContext);\r\n const [submittingSingleFeeFirstYear, setSubmittingSingleFeeFirstYear] = useState(false);\r\n const [submittingSingleFeeSecondYear, setSubmittingSingleFeeSecondYear] = useState(false);\r\n const [submittingDoubleFeeFirstYear, setSubmittingDoubleFeeFirstYear] = useState(false);\r\n const [submittingDoubleFeeSecondYear, setSubmittingDoubleFeeSecondYear] = useState(false);\r\n\r\n\r\n const [data, setData]= useState({firstYearSingleFeeChallanPath: null, firstYearDoubleFeeChallanPath: null, secondYearSingleFeeChallanPath: null, secondYearDoubleFeeChallanPath: null})\r\n const [firstYearSingleFeeProgress, setFirstYearSingleFeeProgress] = useState(0);\r\n const [firstYearDoubleFeeProgress, setFirstYearDoubleFeeProgress] = useState(0);\r\n const [secondYearSingleFeeProgress, setSecondYearSingleFeeProgress] = useState(0);\r\n const [secondYearDoubleFeeProgress, setSecondYearDoubleFeeProgress] = useState(0);\r\n \r\n const [firstYearSingleFeeRememainingTime, setFirstYearSingleFeeRemainingTime] = useState(0);\r\n const [firstYearDoubleFeeRememainingTime, setFirstYearDoubleFeeRemainingTime] = useState(0);\r\n const [secondYearSingleFeeRememainingTime, setSecondYearSingleFeeRemainingTime] = useState(0);\r\n const [secondYearDoubleFeeRememainingTime, setSecondYearDoubleFeeRemainingTime] = useState(0);\r\n \r\n \r\n //const {data} = useApi( {url: '/Exam/GetInstituteExamUploadedChallans', method: 'get' });\r\n \r\n function handleError(err) {\r\n console.log(err);\r\n swal({\r\n title: \"Attention!\",\r\n text: 'No Students Found to Generate Challan.',\r\n icon: \"info\",\r\n });\r\n setSubmittingSingleFeeFirstYear(false);\r\n setSubmittingSingleFeeSecondYear(false);\r\n setSubmittingDoubleFeeFirstYear(false);\r\n setSubmittingDoubleFeeSecondYear(false);\r\n }\r\n\r\n useEffect( () => {\r\n\r\n const getChallansData = async () => {\r\n const challansInfo = await utilities.getAsyncData( {url: '/Exam/GetInstituteExamUploadedChallans', jwt: userInfo.jwt} );\r\n const obj = { ...data, ...challansInfo };\r\n setData(obj); \r\n }\r\n getChallansData();\r\n }, []);\r\n\r\n \r\n \r\n\r\n const myUploadProgress = (myFileId, startAt) => (progressEvent) => {\r\n\r\n const { loaded, total } = progressEvent;\r\n const percentage = (loaded * 100) / total;\r\n const timeElapsed = Date.now() - startAt;\r\n const uploadSpeed = loaded / timeElapsed;\r\n const duration = (total - loaded) / uploadSpeed;\r\n if (myFileId == \"singleFeeFirstYear\")\r\n {\r\n setFirstYearSingleFeeProgress(+percentage.toFixed(2));\r\n setFirstYearSingleFeeRemainingTime(duration); \r\n }\r\n\r\n if (myFileId == \"doubleFeeFirstYear\")\r\n {\r\n setFirstYearDoubleFeeProgress(+percentage.toFixed(2));\r\n setFirstYearDoubleFeeRemainingTime(duration); \r\n }\r\n \r\n if (myFileId == \"singleFeeSecondYear\")\r\n {\r\n setSecondYearSingleFeeProgress(+percentage.toFixed(2));\r\n setSecondYearSingleFeeRemainingTime(duration); \r\n }\r\n\r\n if (myFileId == \"doubleFeeSecondYear\")\r\n {\r\n setSecondYearDoubleFeeProgress(+percentage.toFixed(2));\r\n setSecondYearDoubleFeeRemainingTime(duration); \r\n }\r\n \r\n }\r\n\r\n const validFileExtensions = { image: ['jpg', 'png', 'jpeg'] };\r\n\r\n function isValidFileType(fileName, fileType) {\r\n return fileName && validFileExtensions[fileType].indexOf(fileName.split('.').pop()) > -1;\r\n }\r\n \r\n function getAllowedExt(type) {\r\n return validFileExtensions[type].map((e) => `.${e}`).toString()\r\n } \r\n \r\n let allowedExts = getAllowedExt('image');\r\n const MAX_FILE_SIZE = 512000;\r\n\r\n \r\n const handleFileUpload = (event) => {\r\n let startAt = Date.now();\r\n const file = event.target.files[0];\r\n var size = file.size;\r\n \r\n var fileName = file.name;\r\n var idxDot = fileName.lastIndexOf(\".\") + 1;\r\n var extFile = fileName.substr(idxDot, fileName.length).toLowerCase();\r\n if (extFile==\"jpg\" || extFile==\"jpeg\" || extFile==\"png\"){\r\n //TO DO\r\n }else{\r\n swal({\r\n title: \"Attention!\",\r\n text: 'Only jpg/jpeg and png files are allowed!',\r\n icon: \"info\",\r\n });\r\n return; \r\n } \r\n \r\n if (size > MAX_FILE_SIZE)\r\n {\r\n swal({\r\n title: \"Attention!\",\r\n text: 'only allowed 500 KB file size.',\r\n icon: \"info\",\r\n });\r\n \r\n //alert('only allowed 100 kb file size');\r\n return;\r\n }\r\n const fd = new FormData();\r\n fd.append(\"file\", file);\r\n axios\r\n .post(BASE_URL + \"/Exam/UploadExamPaidChallan?docType=\" + event.target.name, fd, {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n \"Authorization\": `Bearer ${userInfo.jwt}`\r\n },\r\n onUploadProgress : myUploadProgress(event.target.name, startAt)\r\n \r\n })\r\n .then((response) => {\r\n if (event.target.name == 'singleFeeFirstYear')\r\n {\r\n var obj = {...data, firstYearSingleFeeChallanPath: response.data }\r\n setData(obj);\r\n }\r\n \r\n if (event.target.name == 'doubleFeeFirstYear')\r\n {\r\n var obj = {...data, firstYearDoubleFeeChallanPath: response.data }\r\n setData(obj);\r\n }\r\n\r\n if (event.target.name == 'singleFeeSecondYear')\r\n {\r\n var obj = {...data, secondYearSingleFeeChallanPath: response.data }\r\n setData(obj);\r\n }\r\n\r\n if (event.target.name == 'doubleFeeSecondYear')\r\n {\r\n var obj = {...data, secondYearDoubleFeeChallanPath: response.data }\r\n setData(obj);\r\n }\r\n \r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n };\r\n \r\n const GenerateFeeChallan = async(feeType, examYear) => {\r\n\r\n if (feeType == 'single' && examYear == '1st Year')\r\n {\r\n setSubmittingSingleFeeFirstYear(true);\r\n }\r\n \r\n if (feeType == 'double' && examYear == '1st Year')\r\n {\r\n setSubmittingDoubleFeeFirstYear(true);\r\n\r\n }\r\n \r\n if (feeType == 'single' && examYear == '2nd Year')\r\n {\r\n setSubmittingSingleFeeSecondYear(true);\r\n\r\n }\r\n \r\n if (feeType == 'double' && examYear == '2nd Year')\r\n {\r\n setSubmittingDoubleFeeSecondYear(true);\r\n\r\n }\r\n \r\n \r\n const file = await utilities.downloadFile( {url: '/Exam/GenerateExamFeeChallan?feeType=' + feeType + \"&examYear=\" + examYear, jwt: userInfo.jwt }).catch(handleError);\r\n if (file != undefined)\r\n {\r\n //const downloadUrl = window.URL.createObjectURL(file);\r\n //window.open(downloadUrl, '__blank');\r\n //window.URL.revokeObjectURL(downloadUrl);\r\n\r\n\r\n // Create a Blob from the response data\r\n //const pdfBlob = new Blob([response.data], { type: \"application/pdf\" });\r\n\r\n // Create a temporary URL for the Blob\r\n const url = window.URL.createObjectURL(file);\r\n\r\n // Create a temporary
    element to trigger the download\r\n const tempLink = document.createElement(\"a\");\r\n tempLink.href = url;\r\n tempLink.setAttribute(\r\n \"download\",\r\n `FeeChallan_${feeType}_${examYear}_${new Date()}.pdf`\r\n ); // Set the desired filename for the downloaded file\r\n\r\n // Append the element to the body and click it to trigger the download\r\n document.body.appendChild(tempLink);\r\n tempLink.click();\r\n\r\n // Clean up the temporary elements and URL\r\n document.body.removeChild(tempLink);\r\n window.URL.revokeObjectURL(url);\r\n\r\n\r\n\r\n if (feeType == 'single' && examYear == '1st Year')\r\n {\r\n var obj = { ...data, firstYearSingleFeeChallanPath: data.firstYearSingleFeeChallanPath == null ? '' : data.firstYearSingleFeeChallanPath}\r\n setData(obj);\r\n }\r\n \r\n if (feeType == 'double' && examYear == '1st Year')\r\n {\r\n var obj = { ...data, firstYearDoubleFeeChallanPath: data.firstYearDoubleFeeChallanPath == null ? '' : data.firstYearDoubleFeeChallanPath}\r\n setData(obj);\r\n }\r\n \r\n if (feeType == 'single' && examYear == '2nd Year')\r\n {\r\n var obj = { ...data, secondYearSingleFeeChallanPath: data.secondYearSingleFeeChallanPath == null ? '' : data.secondYearSingleFeeChallanPath}\r\n setData(obj);\r\n }\r\n \r\n if (feeType == 'double' && examYear == '2nd Year')\r\n {\r\n var obj = { ...data, secondYearDoubleFeeChallanPath: data.secondYearDoubleFeeChallanPath == null ? '' : data.secondYearDoubleFeeChallanPath}\r\n setData(obj);\r\n }\r\n\r\n setSubmittingSingleFeeFirstYear(false);\r\n setSubmittingSingleFeeSecondYear(false);\r\n setSubmittingDoubleFeeFirstYear(false);\r\n setSubmittingDoubleFeeSecondYear(false);\r\n \r\n }\r\n }\r\n \r\n\r\n\r\nreturn (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
      \r\n
    • single Fee Challan will be generated, paid and uploaded from {userInfo.supplyNormalFeeDueDateStart} to {userInfo.supplyNormalFeeDueDateExpired}.
    • \r\n
    • Double fee challan will generated,paid and uploaded from {userInfo.supplyLateFeeDueDateStart} to {userInfo.supplyLateFeeDueDateExpired} .
    • \r\n
    \r\n\r\n {userInfo.isSupplyNormalFeePeriodStarted ? (\r\n <>\r\n
    \r\n\r\n
    \r\n
    Single Fee Challan (1st Year)
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    Single Fee Challan (2nd Year)
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n {handleFileUpload(e)}}/> \r\n\r\n \r\n
    \r\n {data && data.secondYearSingleFeeChallanPath ? (<>\r\n
    \r\n \r\n ) : null}\r\n
    \r\n
    \r\n \r\n ): (null)} \r\n\r\n {userInfo.isSupplyLateFeePeriodStarted ? (\r\n <>\r\n
    \r\n\r\n
    \r\n
    Double Fee Challan (1st Year)
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n {handleFileUpload(e)}}/> \r\n\r\n \r\n
    \r\n {data && data.firstYearDoubleFeeChallanPath ? (<>\r\n
    \r\n \r\n ) : null}\r\n
    \r\n
    \r\n\r\n
    \r\n
    Double Fee Challan (2nd Year)
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n {handleFileUpload(e)}}/> \r\n\r\n \r\n
    \r\n {data && data.secondYearDoubleFeeChallanPath ? (<>\r\n
    \r\n \r\n ) : null}\r\n
    \r\n
    \r\n \r\n ): (null)} \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n) \r\n\r\n};\r\n\r\nexport default SupplyExamFeeChallan;","import React, {useContext, useState, useEffect, useReducer} from 'react';\r\nimport { useNavigate } from 'react-router-dom'; \r\nimport useApi from '../Hooks/useApi'\r\nimport Loader from '../Components/Loader'\r\nimport utilities from '../utilities'\r\nimport SelectControl from '../Components/SelectControl';\r\nimport {AuthContext} from '../context/AuthContext'\r\nimport swal from 'sweetalert'\r\n\r\n\r\nconst SupplyExamFeeObjections = (props) => {\r\n\r\n const {userInfo} = useContext(AuthContext);\r\n const navigate = useNavigate();\r\n \r\n const {data} = useApi( {url: '/Registration/FeeObjections', method: 'get' });\r\n //const {data: scrutinyOfficers} = useApi( {url: '/Registration/GetScrutinyOfficers', method: 'get' });\r\n\r\n\r\n const UploadDocument = (cID, doc) => {\r\n var challanID = utilities.encryptData(cID.toString());\r\n var document = utilities.encryptData(doc);\r\n navigate('/exam/feeObjection/clear/' + challanID ); \r\n }\r\n\r\n\r\n return (\r\n <>\r\n\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n {/*

    ***These challan(s) are found deficient. Please upload the correct challan(s) to remove deficiences as early as possible. Please note that only valid applications will all respect will be issued roll number and will be eligible to appear in examination.

    */}\r\n\r\n {/*

    ***Documents of your institutes are checked by following Scrutiny Officers. Contact them for clearance of objections (if any) and issuance of registration numbers:

    \r\n
      \r\n {!scrutinyOfficers ? (<>) : (scrutinyOfficers.map((officer, idx) => {\r\n return (\r\n <> \r\n
    • {officer.fullName} ({officer.mobileNo})
    • \r\n \r\n )\r\n }))}\r\n
    */}\r\n\r\n\r\n {!data ? () : (\r\n\r\n \r\n
    \r\n
    \r\n\r\n {data.length ==0 ?

    Currently No Objection(s)

    : ( \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 {data.map((challan, i) => {\r\n return (\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
    Challan No.Year TypeFee TypeTotal StudentsTotal FeeObjection
    {challan.formattedChallanNo}{challan.examYear}{challan.feeType}{challan.totalStudents}{challan.amount}\r\n \r\n {challan.objection}\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\nexport default SupplyExamFeeObjections;","import React, {useContext, useState, useEffect, useReducer} from 'react';\r\nimport { useNavigate } from 'react-router-dom'; \r\nimport useApi from '../Hooks/useApi'\r\nimport Loader from '../Components/Loader'\r\nimport utilities from '../utilities'\r\nimport SelectControl from '../Components/SelectControl';\r\nimport {AuthContext} from '../context/AuthContext'\r\nimport swal from 'sweetalert'\r\n\r\n\r\nconst SupplyStudentsObjections = (props) => {\r\n\r\n const {userInfo} = useContext(AuthContext);\r\n const navigate = useNavigate();\r\n \r\n const {data} = useApi( {url: '/Registration/ApplicationsObjections', method: 'get' });\r\n //const {data: scrutinyOfficers} = useApi( {url: '/Registration/GetScrutinyOfficers', method: 'get' });\r\n\r\n\r\n const UploadDocument = (regID, document) => {\r\n var registrationID = utilities.encryptData(regID.toString());\r\n var document = utilities.encryptData(document);\r\n navigate('/registration/scrutiny/objection/' + registrationID + \"/\" + document ); \r\n }\r\n\r\n\r\n return (\r\n <>\r\n\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n {/*

    ***These application(s) are found deficient. Please upload the correct document(s) to remove deficiences as early as possible. Please note that only valid applications will all respect will be issued registration number and will be eligible to appear in examination.

    */}\r\n\r\n {/*

    ***Documents of your institutes are checked by following Scrutiny Officers. Contact them for clearance of objections (if any) and issuance of registration numbers:

    \r\n
      \r\n {!scrutinyOfficers ? (<>) : (scrutinyOfficers.map((officer, idx) => {\r\n return (\r\n <> \r\n
    • {officer.fullName} ({officer.mobileNo})
    • \r\n \r\n )\r\n }))}\r\n
    */}\r\n\r\n\r\n\r\n\r\n\r\n{!data ? () : (\r\n \r\n\r\n \r\n
    \r\n
    \r\n {data.length ==0 ?

    Currently No Objection(s)

    : (null)} \r\n\r\n {data.map((examYear, index) => {\r\n return (\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 {examYear.students.map((student, i) => {\r\n return (\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 {examYear.name} \r\n
    Student NameFather NameCNICYearObjection(s)Action
    {student.studentName}{student.fatherName}{student.cnic}{student.examYear}\r\n \r\n {student.isValidPhoto == false ? [student.photoObjection, student.isPendingCorrectionPhoto == false ? : null,
    ,
    ] : null} \r\n {student.isValidCNIC == false ? [student.cnicObjection, student.isPendingCorrectionCNIC == false ? : null,
    ,
    ] : null}\r\n {student.isValidMatricDMC == false ? [student.matricObjection, student.isPendingCorrectionMatric == false ? : null,
    , ,
    ] : null}\r\n {student.isValidPPCResultCard == false ? [student.ppcResultCardObjection, student.isPendingCorrectionPPCResultCard == false ? : null]: null}\r\n
    \r\n
    \r\n {student.isPendingCorrectionPhoto == true ? [,
    ] : null} \r\n {student.isPendingCorrectionCNIC == true ? [,
    ] : null}\r\n {student.isPendingCorrectionMatric == true ? [,
    ] : null}\r\n {student.isPendingCorrectionPPCResultCard == true ? [,
    ] : null}\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\nexport default SupplyStudentsObjections;","import React, {useContext, useState, useEffect} from 'react';\r\nimport { useNavigate, useParams, useLocation, useSearchParams } from 'react-router-dom'; \r\nimport * as Yup from 'yup';\r\nimport axios from 'axios';\r\nimport {BASE_URL} from '../config'\r\nimport swal from 'sweetalert'\r\nimport FileUploadProgress from '../Components/FileUploadProgress'\r\nimport {AuthContext} from '../context/AuthContext'\r\nimport utilities from '../utilities'\r\nimport useApi from '../Hooks/useApi'\r\nimport Loader from '../Components/Loader'\r\n\r\nconst ClearExamFeeObjection = (props) => {\r\n\r\n let {challanID} = useParams();\r\n const navigate = useNavigate();\r\n const [uploadProgress, setUploadProgress] = useState(0);\r\n const [rememainingTime, setRemainingTime] = useState(0);\r\n const[documentPath, setDocumentPath] = useState('');\r\n const {userInfo} = useContext(AuthContext);\r\n\r\n const validFileExtensions = { image: ['jpg', 'png', 'jpeg'] };\r\n \r\n var cID = utilities.decryptData(challanID);\r\n\r\n const {data} = useApi( {url: '/Registration/GetExamFeeChallanByID?ChallanID=' + cID, method: 'get' });\r\n\r\n\r\n\r\n function isValidFileType(fileName, fileType) {\r\n return fileName && validFileExtensions[fileType].indexOf(fileName.split('.').pop()) > -1;\r\n }\r\n \r\n function getAllowedExt(type) {\r\n return validFileExtensions[type].map((e) => `.${e}`).toString()\r\n } \r\n \r\n let allowedExts = getAllowedExt('image');\r\n const MAX_FILE_SIZE = 512000;\r\n\r\n const myUploadProgress = (myFileId, startAt) => (progressEvent) => {\r\n\r\n const { loaded, total } = progressEvent;\r\n const percentage = (loaded * 100) / total;\r\n const timeElapsed = Date.now() - startAt;\r\n const uploadSpeed = loaded / timeElapsed;\r\n const duration = (total - loaded) / uploadSpeed;\r\n\r\n if (myFileId == \"document\")\r\n {\r\n setUploadProgress(+percentage.toFixed(2));\r\n setRemainingTime(duration); \r\n }\r\n\r\n }\r\n\r\n\r\n const sleep = async (milliseconds) => {\r\n await new Promise(resolve => {\r\n return setTimeout(resolve, milliseconds)\r\n });\r\n };\r\n \r\n\r\n const handleFileUpload = (event) => {\r\n let startAt = Date.now();\r\n const file = event.target.files[0];\r\n var size = file.size;\r\n\r\n var fileName = file.name;\r\n var idxDot = fileName.lastIndexOf(\".\") + 1;\r\n var extFile = fileName.substr(idxDot, fileName.length).toLowerCase();\r\n if (extFile==\"jpg\" || extFile==\"jpeg\" || extFile==\"png\"){\r\n //TO DO\r\n }else{\r\n swal({\r\n title: \"Attention!\",\r\n text: 'Only jpg/jpeg and png files are allowed!',\r\n icon: \"info\",\r\n });\r\n return; \r\n } \r\n\r\n if (size > MAX_FILE_SIZE)\r\n {\r\n swal({\r\n title: \"Attention!\",\r\n text: 'only allowed 500 KB file size.',\r\n icon: \"info\",\r\n });\r\n\r\n //alert('only allowed 100 kb file size');\r\n return;\r\n }\r\n\r\n const fd = new FormData();\r\n fd.append(\"file\", file);\r\n axios\r\n .post(BASE_URL + \"/Registration/ClearExamFeeObjection?ChallanID=\" + cID, fd, {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n Authorization: `Bearer ${userInfo.jwt}`\r\n },\r\n onUploadProgress : myUploadProgress(event.target.name, startAt)\r\n\r\n })\r\n .then(async(response) => {\r\n setDocumentPath(response.data);\r\n await sleep(5000);\r\n navigate('/exam/supply/Fee/objections');\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n };\r\n\r\n\r\n\r\n useEffect(() => {\r\n\r\n \r\n}, []);\r\n\r\n\r\n\r\n\r\n return (\r\n \r\n <>\r\n {!data ? () : (\r\n
    \r\n\r\n
    \r\n

    Upload Fee Challan

    \r\n
    \r\n\r\n

    {data.objection}

    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n Challan No. \r\n
    \r\n
    \r\n {data.formattedChallanNo}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Fee Type\r\n
    \r\n
    \r\n {data.feeType}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Year Type\r\n
    \r\n
    \r\n {data.examYear}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Total Students\r\n
    \r\n
    \r\n {data.totalStudents}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Total Fee\r\n
    \r\n
    \r\n {data.amount}\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n\r\n {handleFileUpload(e)}}/>\r\n \r\n {documentPath ? (<>\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\nexport default ClearExamFeeObjection;\r\n","import {useContext} from 'react';\nimport { BrowserRouter as Router, Routes, Route } from \"react-router-dom\";\nimport AppLayout from './Components/AppLayout'\n\nimport Login from './Pages/Login'\nimport Guidelines from './Pages/Guidelines'\nimport Dashboard from './Pages/Dashboard'\nimport ApplySupply from './Pages/ApplySupply'\nimport ApplyEnrolment from './Pages/ApplyEnrolment'\nimport ExamApplications from './Pages/ExamApplications'\nimport EnrolmentApplications from './Pages/EnrolmentApplications'\nimport Accepted from './Pages/Accepted'\nimport Rejected from './Pages/Rejected'\nimport Corrected from './Pages/Corrected'\nimport Payment from './Pages/Payment'\nimport Confirmation from './Pages/Confirmation'\nimport UploadVerification from './Pages/UploadVerification';\nimport UploadDocument from './Pages/UploadDocument';\nimport PrintSupplyStudents from './Pages/PrintSupplyStudents'\nimport SupplyExamFeeChallan from './Pages/SupplyExamFeeChallan'\nimport SupplyExamFeeObjections from './Pages/SupplyExamFeeObjections'\nimport SupplyStudentsObjections from './Pages/SupplyStudentsObjections'\nimport ClearExamFeeObjection from './Pages/ClearExamFeeObjection'\n\n// import Payment from './Pages/Payment'\n// import Confirmation from './Pages/Confirmation'\n// import UnpaidFee from './Pages/UnpaidFee'\n\n\n\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport 'font-awesome/css/font-awesome.min.css';\nimport '../src/index.css'\nimport '../src/Style.css'\n\n\nimport {AuthContext} from './context/AuthContext';\n\nfunction App() {\n const {userInfo, splashLoading} = useContext(AuthContext);\n const isProduction = process.env.NODE_ENV === 'production';\n \n return (\n\n \n \n }> \n } />\n } />\n } />\n } />\n\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n\n } />\n } />\n\n } />\n } />\n\n } />\n } />\n } />\n } />\n } />\n \n } />\n } /> \n \n \n\n\n );\n}\n\nexport default App;\n","const reportWebVitals = onPerfEntry => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from 'react';\nimport ReactDOM from 'react-dom/client';\nimport {AuthProvider} from './context/AuthContext';\nimport './index.css';\nimport App from './App';\nimport reportWebVitals from './reportWebVitals';\n\n\nconst root = ReactDOM.createRoot(document.getElementById('root'));\n\n\nroot.render(\n //\n \n \n \n //\n\n );\n\n \n\n\n\n\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"names":["root","factory","undef","CryptoJS","module","exports","require","C","BlockCipher","lib","C_algo","algo","SBOX","INV_SBOX","SUB_MIX_0","SUB_MIX_1","SUB_MIX_2","SUB_MIX_3","INV_SUB_MIX_0","INV_SUB_MIX_1","INV_SUB_MIX_2","INV_SUB_MIX_3","d","i","x","xi","sx","x2","x4","x8","t","RCON","AES","extend","_doReset","this","_nRounds","_keyPriorReset","_key","key","keyWords","words","keySize","sigBytes","ksRows","keySchedule","_keySchedule","ksRow","invKeySchedule","_invKeySchedule","invKsRow","encryptBlock","M","offset","_doCryptBlock","decryptBlock","nRounds","s0","s1","s2","s3","round","t0","t1","t2","t3","_createHelper","Cipher","undefined","C_lib","Base","WordArray","BufferedBlockAlgorithm","C_enc","enc","Base64","Utf8","EvpKDF","cfg","createEncryptor","create","_ENC_XFORM_MODE","createDecryptor","_DEC_XFORM_MODE","init","xformMode","_xformMode","reset","call","process","dataUpdate","_append","_process","finalize","_doFinalize","ivSize","selectCipherStrategy","PasswordBasedCipher","SerializableCipher","cipher","encrypt","message","decrypt","ciphertext","C_mode","StreamCipher","blockSize","mode","BlockCipherMode","iv","Encryptor","Decryptor","_cipher","_iv","CBC","xorBlock","block","_prevBlock","processBlock","slice","thisBlock","Pkcs7","pad","data","blockSizeBytes","nPaddingBytes","paddingWord","paddingWords","push","padding","concat","unpad","CipherParams","modeCreator","_minBufferSize","_mode","__creator","_doProcessBlock","finalProcessedBlocks","_data","cipherParams","mixIn","toString","formatter","stringify","OpenSSLFormatter","format","OpenSSL","salt","parse","openSSLStr","ciphertextWords","splice","encryptor","cipherCfg","algorithm","_parse","OpenSSLKdf","kdf","execute","password","random","compute","derivedParams","Math","crypto","window","self","globalThis","msCrypto","global","err","cryptoSecureRandomInt","getRandomValues","Uint32Array","randomBytes","readInt32LE","Error","Object","F","obj","subtype","prototype","overrides","hasOwnProperty","$super","apply","arguments","instance","properties","propertyName","clone","length","encoder","Hex","wordArray","thisWords","thatWords","thisSigBytes","thatSigBytes","clamp","thatByte","j","ceil","nBytes","hexChars","bite","join","hexStr","hexStrLength","parseInt","substr","Latin1","latin1Chars","String","fromCharCode","latin1Str","latin1StrLength","charCodeAt","decodeURIComponent","escape","e","utf8Str","unescape","encodeURIComponent","_nDataBytes","doFlush","processedWords","dataWords","dataSigBytes","nBlocksReady","nWordsReady","max","nBytesReady","min","Hasher","update","messageUpdate","hasher","_createHmacHelper","HMAC","parseLoop","base64Str","base64StrLength","reverseMap","bitsCombined","map","_map","base64Chars","triplet","charAt","paddingChar","_reverseMap","paddingIndex","indexOf","Base64url","urlSafe","_safe_map","swapEndian","word","Utf16","Utf16BE","utf16Chars","codePoint","utf16Str","utf16StrLength","Utf16LE","MD5","iterations","derivedKey","derivedKeyWords","input","_hasher","hasherBlockSize","hasherBlockSizeBytes","oKey","_oKey","iKey","_iKey","oKeyWords","iKeyWords","innerHash","ArrayBuffer","superInit","subInit","typedArray","Uint8Array","Int8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Float32Array","Float64Array","buffer","byteOffset","byteLength","typedArrayByteLength","T","abs","sin","_hash","offset_i","M_offset_i","H","M_offset_0","M_offset_1","M_offset_2","M_offset_3","M_offset_4","M_offset_5","M_offset_6","M_offset_7","M_offset_8","M_offset_9","M_offset_10","M_offset_11","M_offset_12","M_offset_13","M_offset_14","M_offset_15","a","b","c","FF","GG","HH","II","nBitsTotal","nBitsLeft","nBitsTotalH","floor","nBitsTotalL","hash","H_i","s","n","HmacMD5","CFB","generateKeystreamAndEncrypt","keystream","CTRGladman","incWord","b1","b2","b3","incCounter","counter","_counter","CTR","ECB","OFB","_keystream","AnsiX923","lastBytePos","Ansix923","Iso10126","Iso97971","ZeroPadding","NoPadding","SHA1","PBKDF2","hmac","blockIndex","blockIndexWords","blockWords","blockWordsLength","intermediate","intermediateWords","S","C_","G","RabbitLegacy","K","X","_X","_C","_b","nextState","IV","IV_0","IV_1","i0","i2","i1","i3","gx","ga","gb","gh","gl","Rabbit","RC4","keySigBytes","_S","keyByteIndex","keyByte","_i","_j","generateKeystreamWord","keystreamWord","RC4Drop","drop","_zl","_zr","_sl","_sr","_hl","_hr","RIPEMD160","al","bl","cl","dl","el","ar","br","cr","dr","er","hl","hr","zl","zr","sl","sr","f1","f2","f3","f4","f5","rotl","y","z","HmacRIPEMD160","W","HmacSHA1","SHA256","SHA224","HmacSHA224","isPrime","sqrtN","sqrt","factor","getFractionalBits","nPrime","pow","f","g","h","gamma0x","gamma0","gamma1x","gamma1","maj","sigma0","HmacSHA256","X64Word","x64","Word","RHO_OFFSETS","PI_INDEXES","ROUND_CONSTANTS","newY","LFSR","roundConstantMsw","roundConstantLsw","bitPosition","SHA3","outputLength","state","_state","nBlockSizeLanes","M2i","M2i1","lane","high","low","tMsw","tLsw","Tx","Tx4","Tx1","Tx1Msw","Tx1Lsw","laneIndex","laneMsw","laneLsw","rhoOffset","TPiLane","T0","state0","TLane","Tx1Lane","Tx2Lane","roundConstant","blockSizeBits","outputLengthBytes","outputLengthLanes","hashWords","HmacSHA3","C_x64","X64WordArray","SHA512","SHA384","HmacSHA384","X64Word_create","H0","H1","H2","H3","H4","H5","H6","H7","H0h","H0l","H1h","H1l","H2h","H2l","H3h","H3l","H4h","H4l","H5h","H5l","H6h","H6l","H7h","H7l","ah","bh","ch","dh","eh","fh","fl","hh","Wil","Wih","Wi","gamma0xh","gamma0xl","gamma0h","gamma0l","gamma1xh","gamma1xl","gamma1h","gamma1l","Wi7","Wi7h","Wi7l","Wi16","Wi16h","Wi16l","t1l","chh","chl","majh","majl","sigma0h","sigma0l","sigma1h","sigma1l","Ki","Kih","Kil","t1h","t2l","toX32","HmacSHA512","PC1","PC2","BIT_SHIFTS","SBOX_P","SBOX_MASK","DES","keyBits","keyBitPos","subKeys","_subKeys","nSubKey","subKey","bitShift","invSubKeys","_invSubKeys","_lBlock","_rBlock","exchangeLR","exchangeRL","lBlock","rBlock","mask","TripleDES","key1","key2","key3","_des1","_des2","_des3","X32WordArray","x64Words","x64WordsLength","x32Words","x64Word","wordsLength","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","type","KNOWN_STATICS","name","caller","callee","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","render","Memo","defineProperty","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","getPrototypeOf","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","keys","targetStatics","sourceStatics","descriptor","extendStatics","setPrototypeOf","__proto__","Array","p","__extends","TypeError","__","constructor","__assign","assign","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","rejected","result","done","then","__generator","body","_","label","sent","trys","ops","verb","Symbol","iterator","v","op","pop","__spreadArray","to","from","pack","l","Bounds","left","top","width","height","add","w","fromClientRect","context","clientRect","windowBounds","fromDOMRectList","domRectList","domRect","find","rect","EMPTY","parseBounds","node","getBoundingClientRect","parseDocumentSize","document","documentElement","scrollWidth","offsetWidth","clientWidth","scrollHeight","offsetHeight","clientHeight","toCodePoints$1","str","codePoints","extra","fromCodePoint$1","fromCodePoint","codeUnits","index","chars$2","lookup$2","i$2","chars$1$1","lookup$1$1","i$1$1","decode$1","base64","encoded1","encoded2","encoded3","encoded4","bufferLength","len","bytes","isArray","polyUint16Array$1","polyUint32Array$1","UTRIE2_SHIFT_2$1","UTRIE2_SHIFT_1$1","UTRIE2_INDEX_SHIFT$1","UTRIE2_LSCP_INDEX_2_OFFSET$1","UTRIE2_DATA_MASK$1","UTRIE2_INDEX_1_OFFSET$1","UTRIE2_OMITTED_BMP_INDEX_1_LENGTH$1","UTRIE2_INDEX_2_MASK$1","slice16$1","view","start","end","slice32$1","createTrieFromBase64$1","_byteLength","view32","view16","headerLength","Trie$1","Trie","initialValue","errorValue","highStart","highValueIndex","get","ix","chars$3","lookup$3","i$3","LETTER_NUMBER_MODIFIER","BK","CR$1","LF$1","CM","NL","WJ","ZW","GL","SP","ZWJ$1","B2","BA","BB","HY","CB","CL","CP","EX","IN","NS","OP","QU","IS","NU","PO","PR","SY","AI","AL","CJ","EB","EM","HL","ID","JL","JV","JT","RI$1","SA","XX","ea_OP","BREAK_MANDATORY","BREAK_NOT_ALLOWED$1","BREAK_ALLOWED$1","UnicodeTrie$1","ALPHABETICS","HARD_LINE_BREAKS","SPACE$1","PREFIX_POSTFIX","LINE_BREAKS","KOREAN_SYLLABLE_BLOCK","HYPHEN","codePointsToCharacterClasses","lineBreak","types","indices","categories","forEach","classType","prev","isAdjacentWithSpaceIgnored","currentIndex","classTypes","current","previousNonSpaceClassType","_lineBreakAtIndex","indicies","forbiddenBreaks","beforeIndex","afterIndex","before","prevIndex","count","cssFormattedClasses","options","wordBreak","_a","isLetterNumber","forbiddenBreakpoints","letterNumber","Break","required","LineBreaker","lastEnd","nextIndex","FLAG_UNRESTRICTED","FLAG_ID","FLAG_INTEGER","FLAG_NUMBER","LINE_FEED","SOLIDUS","REVERSE_SOLIDUS","CHARACTER_TABULATION","SPACE","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","A","E","U","Z","isDigit","isSurrogateCodePoint","isHex","isLowerCaseLetter","isUpperCaseLetter","isLetter","isNonASCIICodePoint","isWhiteSpace","isNameStartCodePoint","isNameCodePoint","isNonPrintableCodePoint","isValidEscape","c1","c2","isIdentifierStart","c3","isNumberStart","stringToNumber","sign","integers","int","fraction","fracd","frac","expsign","exponent","exp","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","Tokenizer","_value","write","chunk","read","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","consumeStringSlice","SLICE_STACK_SIZE","amount","endingCodePoint","consumeNumber","repr","number","unit","hex","hexCodePoint","Parser","_tokens","tokenizer","parseValue","parseComponentValue","parseValues","parseComponentValues","SyntaxError","reconsumeToken","consumeComponentValue","values","consumeSimpleBlock","consumeFunction","isEndingTokenFor","functionToken","cssFunction","isDimensionToken","isNumberToken","isIdentToken","isStringToken","isIdentWithValue","nonWhiteSpace","nonFunctionArgSeparator","parseFunctionArgs","args","arg","isLength","isLengthPercentage","parseLengthPercentageTuple","ZERO_LENGTH","FIFTY_PERCENT","HUNDRED_PERCENT","getAbsoluteValueForTuple","tuple","getAbsoluteValue","parent","DEG","GRAD","RAD","TURN","angle","_context","PI","isAngle","parseNamedSide","filter","ident","deg","color$1","colorFunction","SUPPORTED_COLOR_FUNCTIONS","r","substring","namedColor","COLORS","toUpperCase","TRANSPARENT","isTransparent","color","asString","alpha","blue","green","red","getTokenColorValue","rgb","hue2rgb","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","parseColorStop","stop","processColorStops","stops","lineLength","first","last","processStops","previous","stop_1","absoluteValue","gapBegin","stop_2","gapLength","gapValue","getAngleFromCorner","corner","centerX","centerY","atan2","calculateGradientDirection","radian","cos","halfWidth","halfHeight","halfLineLength","yDiff","xDiff","distance","findCorner","closest","reduce","stat","cx","cy","optimumDistance","optimumCorner","Infinity","calculateRadius","gradient","rx","ry","size","shape","prefixLinearGradient","angle$1","firstToken","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$1","transformFunction","SUPPORTED_TRANSFORM_FUNCTIONS","matrix","matrix3d","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","increment","counterReset","resets","duration","quotes","open_1","close_1","open","close","getQuote","depth","quote","boxShadow","spread","inset","paintOrder","layers","webkitTextStrokeColor","webkitTextStrokeWidth","CSSParsedDeclaration","declaration","animationDuration","cssFloat","overflowTuple","overflowX","overflowY","textDecoration","transform","isVisible","isTransformed","isPositioned","isPositionedWithZIndex","isFloating","isInlineLevel","CSSParsedPseudoDeclaration","CSSParsedCounterDeclaration","parser","length_1","value_1","elementDebuggerAttribute","getElementDebugType","element","getAttribute","isDebugging","elementType","ElementContainer","textNodes","elements","styles","getComputedStyle","isHTMLElementNode","some","bounds","chars$1","lookup$1","i$1","decode","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","slice32","createTrieFromBase64","chars","lookup","PseudoElementType","Prepend","CR","LF","Control","Extend","SpacingMark","L","V","LV","LVT","ZWJ","Extended_Pictographic","RI","toCodePoints","UnicodeTrie","BREAK_NOT_ALLOWED","BREAK_ALLOWED","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","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$1","getImageData","catch","xmlns","createElementNS","foreignObject","setAttributeNS","onload","onerror","XMLSerializer","serializeToString","FEATURES","SUPPORT_RANGE_BOUNDS","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","TextBounds","parseTextBounds","breakText","textBounds","trim","clientRects","getClientRects","subSegments","segmentGraphemes","subOffset_1","subSegment","replacementNode","splitText","getWrapperBounds","ownerDocument","wrapper","cloneNode","parentNode","replaceChild","segmenter","granularity","segment","segmentWords","breakWords","wordSeparators","word_1","TextContainer","replace","CAPITALIZE","capitalize","m","p1","p2","ImageElementContainer","_super","_this","currentSrc","intrinsicWidth","naturalWidth","intrinsicHeight","naturalHeight","CanvasElementContainer","SVGElementContainer","setAttribute","baseVal","LIElementContainer","OLElementContainer","reversed","CHECKBOX_BORDER_RADIUS","RADIO_BORDER_RADIUS","reformatInputBounds","getInputValue","PASSWORD","placeholder","CHECKBOX","RADIO","INPUT_COLOR","InputElementContainer","checked","SelectElementContainer","option","selectedIndex","TextareaElementContainer","IFrameElementContainer","iframe","contentWindow","tree","parseTree","documentBackgroundColor","bodyBackgroundColor","LIST_OWNERS","parseNodeTree","childNode","nextNode","nextSibling","isTextNode","isElementNode","isSlotElement","assignedNodes","container","createContainer","createsRealStackingContext","createsStackingContext","tagName","slot","shadowRoot","isTextareaElement","isSVGElement","isSelectElement","isImageElement","isCanvasElement","isLIElement","isOLElement","isInputElement","isIFrameElement","isBodyElement","nodeType","Node","TEXT_NODE","ELEMENT_NODE","isSVGElementNode","className","isHTMLElement","isVideoElement","isStyleElement","isScriptElement","isCustomElement","CounterState","counters","getCounterValue","getCounterValues","canReset","entry","counterNames","ROMAN_UPPER","ARMENIAN","HEBREW","GEORGIAN","createAdditiveCounter","symbols","fallback","suffix","createCounterText","string","integer","createCounterStyleWithSymbolResolver","codePointRangeLength","isNumeric","resolver","createCounterStyleFromRange","codePointRangeStart","codePointRangeEnd","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","DocumentCloner","scrolledElements","referenceElement","quoteDepth","toIFrame","windowSize","createIFrameContainer","scrollX","defaultView","pageXOffset","scrollY","pageYOffset","cloneWindow","documentClone","iframeLoad","iframeLoader","restoreNodeScroll","scrollTo","test","navigator","userAgent","logger","warn","onclone","clonedReferenceElement","nodeName","fonts","ready","imagesReady","serializeDoctype","doctype","restoreOwnerScroll","adoptNode","createElementClone","createCanvasClone","createVideoClone","createStyleClone","srcset","loading","createCustomElementClone","copyCSSStyles","sheet","cssRules","css","rule","cssText","textContent","error","inlineImages","info","clonedCanvas","clonedCtx","allowTaint","putImageData","attribs","getContextAttributes","preserveDrawingBuffer","video","blankCanvas","appendChildNode","child","copyStyles","hasAttribute","ignoreElements","cloneChildNodes","assignedNode","createTextNode","transitionProperty","styleBefore","styleAfter","createPseudoHideStyles","resolvePseudoContent","BEFORE","insertBefore","after","AFTER","scrollTop","scrollLeft","pseudoElt","anonymousReplacedElement","attr","counterStyle","counterState","counterType","delim","counterStates","counterType_1","separator","PSEUDO_HIDE_ELEMENT_CLASS_BEFORE","PSEUDO_HIDE_ELEMENT_CLASS_AFTER","newClassName","baseValue","destroy","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","getOrigin","link","_link","href","protocol","hostname","port","isSameOrigin","_origin","setContext","location","Cache","_options","_cache","has","isBlobImage","isRenderable","loadImage","match","useCORS","isInlineImage","useProxy","proxy","debug","isInlineBase64Image","setTimeout","imageTimeout","xhr","status","response","reader_1","FileReader","addEventListener","readAsDataURL","queryString","timeout_1","timeout","ontimeout","send","INLINE_SVG","INLINE_BASE64","INLINE_IMG","isSVG","Vector","deltaX","deltaY","lerp","BezierCurve","startControl","endControl","subdivide","firstHalf","ab","bc","cd","abbc","bccd","dest","reverse","isBezierCurve","path","BoundCurves","tlh","tlv","trh","trv","_c","brh","brv","_d","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","TransformEffect","ClipEffect","OpacityEffect","isTransformEffect","effect","isClipEffect","isOpacityEffect","equalPath","transformPath","deltaW","deltaH","point","StackingContext","inlineLevel","nonInlineLevel","negativeZIndex","zeroOrAutoZIndexOrTransformedOrOpacity","positiveZIndex","nonPositionedFloats","nonPositionedInlineLevel","ElementPaint","effects","borderBox","paddingBox","getEffects","inFlow","croplessEffects","parseStackTree","stackingContext","realStackingContext","listItems","treatAsRealStackingContext","paintContainer","listOwnerItems","parentStack","stack","order_1","index_1","index_2","processListItems","owner","numbering","listValue","parseStackingContexts","parsePathForBorder","borderSide","createPathFromCurves","parsePathForBorderDoubleOuter","parsePathForBorderDoubleInner","parsePathForBorderStroke","createStrokePathFromCurves","outer1","outer2","inner1","inner2","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","SMALL_IMAGE","SAMPLE_TEXT","FontMetrics","_document","parseMetrics","span","margin","whiteSpace","verticalAlign","baseline","offsetTop","middle","getMetrics","Renderer","MASK_OFFSET","CanvasRenderer","_activeEffects","scale","fontMetrics","translate","textBaseline","applyEffects","popEffect","applyEffect","save","globalAlpha","clip","restore","renderStack","renderStackContent","renderNode","paint","renderNodeBackgroundAndBorders","renderNodeContent","renderTextWithLetterSpacing","fillText","letter","measureText","createFontStyle","variant","fixIOSSystemFonts","renderTextNode","font","paintOrderLayer","textShadows","shadowColor","shadowOffsetX","shadowOffsetY","shadowBlur","strokeStyle","lineWidth","lineJoin","chrome","strokeText","renderReplacedElement","box","fill","beginPath","arc","isTextInputElement","canvasTextAlign","_p","_e","_g","_f","_h","_l","_k","_o","_m","paths","moveTo","lineTo","formatPath","closePath","bezierCurveTo","renderRepeat","pattern","resizeImage","renderBackgroundImage","this_1","createPattern","x0","x1","y0","y1","gradient_1","createLinearGradient","addColorStop","top_1","radialGradient_1","createRadialGradient","midX","midY","invF","renderSolidBorder","curvePoints","renderDoubleBorder","outerPaths","innerPaths","hasBackground","borders","calculateBackgroundCurvedPaintingArea","borderBoxArea","maskOffset","shadowPaintingArea","borders_1","renderDashedDottedBorder","strokePaths","boxPaths","startX","startY","endX","endY","dashLength","spaceLength","useLineDash","multiplier","numberOfDashes","minSpace","maxSpace","setLineDash","lineCap","stroke","path1","path2","iOSBrokenFonts","fontFamilies","ForeignObjectRenderer","loadSerializedSVG","Logger","id","enabled","Date","now","console","getTime","instances","Context","instanceName","instanceCount","logging","html2canvas","renderElement","opts","resourceOptions","contextOptions","windowOptions","windowWidth","innerWidth","windowHeight","innerHeight","foreignObjectRendering","cloneOptions","documentCloner","clonedElement","_u","parseBackgroundColor","renderOptions","devicePixelRatio","_q","_r","_s","_t","removeContainer","backgroundColorOverride","defaultBackgroundColor","maxSize","_maxSize","clear","_size","_values","set","SPLIT_REGEX","DIGIT_REGEX","LEAD_DIGIT_REGEX","SPEC_CHAR_REGEX","CLEAN_QUOTES_REGEX","pathCache","setCache","getCache","normalizePath","split","part","isQuoted","shouldBeQuoted","hasLeadingNumber","hasSpecialChars","setter","parts","getter","safe","segments","cb","iter","idx","isBracket","aa","ca","da","Set","ea","fa","ha","ia","ja","ka","la","ma","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","sanitizeURL","removeEmptyString","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","Reflect","construct","k","includes","Pa","tag","Qa","$$typeof","_payload","_init","Ra","Sa","Ta","Va","_valueTracker","configurable","enumerable","getValue","setValue","stopTracking","Ua","Wa","Xa","activeElement","Ya","defaultChecked","defaultValue","_wrapperState","initialChecked","Za","controlled","bb","db","eb","fb","selected","defaultSelected","disabled","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","tb","menuitem","area","base","col","embed","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","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","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","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","listener","D","of","pf","qf","rf","sf","bind","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","Vf","Wf","Xf","Yf","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","$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","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","Mg","Ng","Og","Pg","Qg","Rg","_currentValue","Sg","childLanes","Tg","dependencies","firstContext","lanes","Ug","Vg","memoizedValue","Wg","Xg","Yg","interleaved","Zg","$g","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","eventTime","payload","callback","q","ih","jh","Component","refs","kh","nh","isMounted","_reactInternals","enqueueSetState","lh","mh","enqueueReplaceState","enqueueForceUpdate","oh","shouldComponentUpdate","isPureReactComponent","ph","updater","qh","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","rh","props","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","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","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","digest","Li","Mi","Ni","WeakMap","Oi","Pi","Qi","Ri","componentDidCatch","Si","componentStack","Ti","pingCache","Ui","Vi","Xi","ReactCurrentOwner","Yi","Zi","$i","aj","bj","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","Fj","Gj","wasMultiple","multiple","suppressHydrationWarning","onClick","onclick","autoFocus","Hj","Ij","Jj","Kj","Lj","WeakSet","Mj","Nj","Oj","Qj","Rj","Sj","Tj","Uj","Vj","Wj","_reactRootContainer","Xj","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","isReactComponent","pendingChildren","mutableSourceEagerHydrationData","pendingSuspenseBoundaries","il","jl","zj","$k","ll","reportError","ml","_internalRoot","nl","ol","pl","ql","rl","unmount","unstable_scheduleHydration","querySelectorAll","JSON","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","createRoot","unstable_strictMode","findDOMNode","flushSync","hydrate","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","keyList","hasProp","hasElementType","Element","equal","arrA","arrB","dateA","dateB","regexpA","RegExp","regexpB","React","reactDom","_extends","_inheritsLoose","_defaults2","_assertThisInitialized","ReferenceError","invariant_1","o","framesToPop","setInputSelection","createTextRange","collapse","moveStart","moveEnd","select","defaultFormatChars","parseMask","maskChar","formatChars","lastEditablePosition","permanents","isPermanentCharacter","isAllowedCharacter","isEmpty","getFilledLength","isFilled","formatValue","insertString","getRightEditablePosition","getStringValue","processChange","getInsertStringLength","getLeftEditablePosition","clearRange","enteredString","selection","isFunction","getCancelAnimationFrame","cancelAnimationFrame","webkitCancelRequestAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","defer","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","cancelDefer","InputElement","focused","mounted","previousSelection","selectionDeferId","saveSelectionLoopDeferId","saveSelectionLoop","runSaveSelectionLoop","stopSaveSelectionLoop","getInputDOMNode","querySelector","setInputValue","setCursorToEnd","maskOptions","setCursorPosition","setSelection","isFocused","deferred","parentElement","getInputSelection","getCursorPosition","getBeforeMaskedValueChangeConfig","alwaysShowMask","isInputAutofilled","matches","onChange","beforePasteState","beforeMaskedValueChange","isWindowsPhoneBrowser","onFocus","onBlur","onMouseDown","mouseDownX","mouseDownY","mouseDownTime","onPaste","handleRef","inputRef","forceUpdate","_objectWithoutPropertiesLoose","readOnly","cloneElement","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Fragment","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","__self","__source","jsx","jsxs","setState","_status","_result","default","Children","toArray","only","PureComponent","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","__esModule","CLASS_NAMES","MODAL","OVERLAY","SHOW_MODAL","MODAL_TITLE","MODAL_TEXT","ICON","ICON_CUSTOM","CONTENT","FOOTER","BUTTON_CONTAINER","BUTTON","CONFIRM_BUTTON","CANCEL_BUTTON","DANGER_BUTTON","BUTTON_LOADING","BUTTON_LOADER","getNode","stringToNode","insertAfter","removeNode","throwErr","isPlainObject","ordinalSuffixOf","overlayMarkup","iconMarkup","titleMarkup","textMarkup","footerMarkup","CONFIRM_KEY","CANCEL_KEY","visible","closeModal","defaultButtonList","cancel","confirm","getButtonListOpts","injectElIntoModal","classList","initModalContent","icon","initTitle","title","initText","dangerMode","modalMarkup","isOpen","promise","actions","timer","resetState","setActionValue","setActionOptionsFor","openModal","remove","onAction","getState","stopLoading","Function","eval","sweetAlert","swal","insertAt","locals","btoa","sources","sourceRoot","media","sourceMap","insertInto","attrs","rel","singleton","URL","createObjectURL","revokeObjectURL","Blob","styleSheet","convertToAbsoluteUrls","atob","DEBUG","Boolean","host","pathname","CharacterData","DocumentType","writable","_handled","_deferreds","_immediateFn","onFulfilled","onRejected","_unhandledRejectionFn","race","_setImmediateFn","_setUnhandledRejectionFn","_id","_clearFn","unref","enroll","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","clearImmediate","nextTick","importScripts","onreadystatechange","run","fun","array","browser","env","argv","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","binding","cwd","chdir","umask","polyfill","getOpts","setDefaults","errorIconMarkup","warningIconMarkup","successIconMarkup","contentMarkup","buttonMarkup","warning","success","createDocumentFragment","attributes","tabIndex","closeOnEsc","closeOnClickOutside","getContentOpts","DEPRECATED_OPTS","logDeprecation","onlyRename","replacement","subOption","imageUrl","customClass","imageSize","showCancelButton","showConfirmButton","confirmButtonText","confirmButtonColor","cancelButtonText","closeOnConfirm","closeOnCancel","showLoaderOnConfirm","inputType","inputValue","inputPlaceholder","html","allowEscapeKey","allowClickOutside","reWords","upperFirst","camelCase","pascalCase","snakeCase","kebabCase","sentenceCase","titleCase","toposort","nodes","edges","cursor","sorted","visited","outgoingEdges","arr","edge","makeOutgoingEdges","nodesHash","res","makeNodesHash","visit","predecessors","nodeRep","outgoing","uniqueNodes","_arrayLikeToArray","arr2","_arrayWithHoles","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","fn","_classCallCheck","Constructor","_defineProperties","_createClass","protoProps","staticProps","_createForOfIteratorHelper","allowArrayLike","it","normalCompletion","didErr","_e2","_createSuper","Derived","hasNativeReflectConstruct","Super","NewTarget","_defineProperty","_get","receiver","object","desc","_getPrototypeOf","_inherits","subClass","superClass","_isNativeReflectConstruct","sham","Proxy","_iterableToArray","_nonIterableRest","_possibleConstructorReturn","_regeneratorRuntime","Op","hasOwn","$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","_x","_arr","_n","unsupportedIterableToArray","nonIterableRest","_toConsumableArray","arrayLikeToArray","iterableToArray","_toPropertyKey","hint","prim","toPrimitive","Number","_typeof","_unsupportedIterableToArray","minLen","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","leafPrototypes","ns","def","definition","chunkId","promises","miniCssF","prop","inProgress","dataWebpackPrefix","script","needAttach","scripts","getElementsByTagName","charset","nc","onScriptComplete","doneFns","head","installedChunks","installedChunkData","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","chunkIds","moreModules","runtime","chunkLoadingGlobal","kindOf","thing","kindOfTest","typeOfTest","isUndefined","isArrayBuffer","isString","isNumber","isObject","isDate","isFile","isBlob","isFileList","isURLSearchParams","_ref$allOwnKeys","allOwnKeys","findKey","_global","isContextDefined","TypedArray","isTypedArray","isHTMLForm","_ref4","isRegExp","reduceDescriptors","reducer","descriptors","getOwnPropertyDescriptors","reducedDescriptors","defineProperties","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","isBuffer","isFormData","FormData","isArrayBufferView","isView","isBoolean","isStream","pipe","merge","caseless","assignValue","targetKey","stripBOM","inherits","superConstructor","toFlatObject","sourceObj","destObj","propFilter","merged","endsWith","searchString","lastIndex","forEachEntry","pair","matchAll","regExp","exec","hasOwnProp","freezeMethods","toObjectSet","arrayOrString","delimiter","toCamelCase","noop","toFiniteNumber","isFinite","generateString","alphabet","isSpecCompliantForm","append","toJSONObject","reducedValue","AxiosError","config","captureStackTrace","utils","toJSON","description","fileName","lineNumber","columnNumber","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","dots","predicates","formData","PlatformFormData","metaTokens","indexes","visitor","defaultVisitor","useBlob","convertValue","toISOString","Buffer","isFlatArray","exposedHelpers","build","encode","charMap","AxiosURLSearchParams","params","_pairs","toFormData","_encode","buildURL","serializedParams","serializeFn","serialize","hashmarkIndex","InterceptorManager","handlers","synchronous","runWhen","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","isBrowser","classes","URLSearchParams","isStandardBrowserEnv","product","isStandardBrowserWebWorkerEnv","WorkerGlobalScope","protocols","buildPath","isNumericKey","isLast","arrayToObject","entries","parsePropPath","DEFAULT_CONTENT_TYPE","defaults","transitional","transitionalDefaults","adapter","transformRequest","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","formDataToJSON","setContentType","platform","helpers","toURLEncodedForm","formSerializer","_FormData","rawValue","stringifySafely","transformResponse","JSONRequested","strictJSONParsing","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","ignoreDuplicateOf","$internals","normalizeHeader","header","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders","_Symbol$iterator","_Symbol$toStringTag","valueOrRewrite","rewrite","setHeader","_header","_rewrite","lHeader","setHeaders","rawHeaders","parsed","parseHeaders","tokensRE","parseTokens","matcher","deleted","deleteHeader","normalized","formatHeader","_this$constructor","_len","targets","asStrings","_ref","_ref2","computed","_len2","_key2","accessors","defineAccessor","accessorName","arg1","arg2","arg3","buildAccessors","accessor","transformData","fns","normalize","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","total","lengthComputable","progressBytes","rate","progress","estimated","onCanceled","requestData","requestHeaders","cancelToken","unsubscribe","signal","auth","username","fullPath","onloadend","responseHeaders","getAllResponseHeaders","settle","responseText","statusText","paramsSerializer","responseURL","onabort","timeoutErrorMessage","xsrfValue","withCredentials","isURLSameOrigin","cookies","setRequestHeader","onDownloadProgress","onUploadProgress","upload","abort","subscribe","aborted","parseProtocol","knownAdapters","http","httpAdapter","xhrAdapter","adapters","nameOrAdapter","throwIfCancellationRequested","throwIfRequested","dispatchRequest","reason","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","decompress","beforeRedirect","transport","httpAgent","httpsAgent","socketPath","responseEncoding","configValue","VERSION","validators","deprecatedWarnings","validator","formatMessage","opt","assertOptions","schema","allowUnknown","Axios","instanceConfig","interceptors","configOrUrl","contextHeaders","_config","boolean","function","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","chain","newConfig","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","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","BASE_URL","AuthContext","AuthProvider","_useState","_useState2","userInfo","setUserInfo","_useState3","_useState4","isLoading","setIsLoading","_useState5","_useState6","splashLoading","setSplashLoading","_useState7","_useState8","userValidated","setUserValidated","_useState9","_useState10","setError","ms","login","_callee","user","_x2","isLoggedIn","_ref3","_callee2","_context2","_jsx","register","smsAuthentication","userName","alert","logout","_construct","Parent","Class","isNativeReflectConstruct","_wrapNativeSuper","Wrapper","Action","ResultType","PopStateEventType","invariant","cond","getHistoryState","usr","createLocation","parsePath","createPath","_ref$pathname","_ref$search","_ref$hash","parsedPath","hashIndex","searchIndex","getUrlBasedHistory","getLocation","createHref","validateLocation","_options2","_options2$window","_options2$v5Compat","v5Compat","globalHistory","history","Pop","getIndex","handlePop","createURL","origin","replaceState","listen","encodeLocation","Push","historyState","pushState","Replace","go","matchRoutes","routes","locationArg","basename","stripBasename","branches","flattenRoutes","sort","score","siblings","compareIndexes","routesMeta","childrenIndex","rankRouteBranches","matchRouteBranch","safelyDecodeURI","parentsMeta","parentPath","flattenRoute","route","relativePath","caseSensitive","startsWith","joinPaths","computeScore","_route$path","_step","_iterator","explodeOptionalSegments","exploded","_segments","rest","isOptional","restExploded","subpath","paramRe","dynamicSegmentValue","indexRouteValue","emptySegmentValue","staticSegmentValue","splatPenalty","isSplat","initialScore","branch","matchedParams","matchedPathname","remainingPathname","matchPath","pathnameBase","normalizePathname","_compilePath","paramNames","regexpSource","paramName","compilePath","_compilePath2","captureGroups","splatValue","safelyDecodeURIComponent","decodeURI","startIndex","nextChar","getInvalidPathError","field","getPathContributingMatches","resolveTo","toArg","routePathnames","locationPathname","isPathRelative","isEmptyPath","toPathname","routePathnameIndex","toSegments","fromPathname","_ref3$search","_ref3$hash","resolvePathname","normalizeSearch","normalizeHash","resolvePath","hasExplicitTrailingSlash","hasCurrentTrailingSlash","AbortedDeferredError","_Error","isRouteErrorResponse","internal","validMutationMethodsArr","validRequestMethodsArr","checkIfSnapshotChanged","inst","latestGetSnapshot","prevValue","nextValue","DataRouterContext","DataRouterStateContext","AwaitContext","NavigationContext","LocationContext","RouteContext","outlet","RouteErrorContext","useInRouterContext","useLocation","UNSAFE_invariant","useNavigate","_React$useContext2","routePathnamesJson","UNSAFE_getPathContributingMatches","activeRef","navigate","relative","OutletContext","useParams","routeMatch","useResolvedPath","_temp2","DefaultErrorComponent","_state$errors","useDataRouterState","DataRouterStateHook","UseRouteError","routeId","useCurrentRouteId","errors","useRouteError","lightgrey","preStyles","DataRouterHook","RenderErrorBoundary","_React$Component","errorInfo","routeContext","RenderedRoute","dataRouterContext","static","staticContext","errorElement","ErrorBoundary","_deepestRenderedBoundaryId","_renderMatches","parentMatches","dataRouterState","renderedMatches","errorIndex","findIndex","reduceRight","getChildren","hookName","useRouteContext","thisRoute","AwaitRenderStatus","Outlet","useOutlet","Route","_props","Router","_ref4$basename","basenameProp","_ref4$children","locationProp","_ref4$navigationType","navigationType","_ref4$static","staticProp","navigationContext","_locationProp","_locationProp$pathnam","_locationProp$search","_locationProp$hash","_locationProp$state","_locationProp$key","locationContext","trailingPathname","Routes","_ref5","dataRouterStateContext","parentParams","parentPathnameBase","locationFromContext","_parsedLocationArg$pa","parsedLocationArg","useRoutes","router","createRoutesFromChildren","neverSettledPromise","treePath","loader","hasErrorBoundary","shouldRevalidate","BrowserRouter","historyRef","_window$location","createBrowserHistory","_React$useState","_React$useState2","ABSOLUTE_URL_REGEX","Link","absoluteHref","reloadDocument","preventScrollReset","_excluded","UNSAFE_NavigationContext","isExternal","currentUrl","targetUrl","_temp","_React$useContext","_useResolvedPath","joinedPathname","useHref","internalOnClick","_ref9","replaceProp","isModifiedEvent","shouldProcessLinkClick","useLinkClickHandler","NavLink","_ref5$ariaCurrent","ariaCurrentProp","_ref5$caseSensitive","_ref5$className","classNameProp","_ref5$end","styleProp","_excluded2","routerState","UNSAFE_DataRouterStateContext","nextLocationPathname","navigation","isActive","isPending","ariaCurrent","_jsxs","isSupplyLateFeePeriodExpired","_Fragment","ownKeys","enumerableOnly","sym","_objectSpread2","DEFAULT_RETRY_DELAYS_IN_MILLISECONDS","DefaultReconnectPolicy","retryDelays","_retryDelays","retryContext","previousRetryCount","HeaderNames","Authorization","Cookie","LogLevel","HttpResponse","statusCode","HttpClient","_objectSpread","AccessTokenHttpClient","_HttpClient","innerClient","accessTokenFactory","_innerClient","_accessTokenFactory","_send","allowRetry","_accessToken","_setAuthorizationHeader","getCookieString","HttpError","errorMessage","trueProto","TimeoutError","_Error2","_super2","_this2","AbortError","_Error3","_super3","_this3","UnsupportedTransportError","_Error4","_super4","_this4","DisabledTransportError","_Error5","_super5","_this5","FailedToStartTransportError","_Error6","_super6","_this6","FailedToNegotiateWithServerError","_Error7","_super7","_this7","AggregateErrors","_Error8","_super8","innerErrors","_this8","NullLogger","_logLevel","_message","Arg","Platform","isWebWorker","isReactNative","getDataDetail","includeContent","num","formatArrayBuffer","sendMessage","_x3","_x4","_x5","_x6","_sendMessage","transportName","httpClient","_getUserAgentHeader","_getUserAgentHeader2","getUserAgentHeader","Trace","logMessageContent","post","SubjectSubscription","subject","observer","_subject","_observer","observers","cancelCallback","ConsoleLogger","minimumLogLevel","_minLevel","out","logLevel","msg","Critical","Warning","Information","userAgentHeaderName","isNode","constructUserAgent","getOsName","getRuntime","getRuntimeVersion","os","runtimeVersion","majorAndMinor","getErrorString","FetchHttpClient","_logger","requireFunc","__non_webpack_require__","_jar","_fetchType","getGlobalThis","AbortController","_abortControllerType","abortController","timeoutId","msTimeout","abortSignal","credentials","redirect","deserializeContent","getCookies","arrayBuffer","HttpTransportType","TransferFormat","XhrHttpClient","DefaultHttpClient","_httpClient","_isAborted","LongPollingTransport","_pollAbort","_running","onreceive","onclose","_connect","transferFormat","pollOptions","pollUrl","isRequired","isIn","_url","Binary","_closeError","_receiving","_poll","_poll2","pollAborted","_raiseOnClose","_callee3","_context3","_stop","_callee4","_getUserAgentHeader3","_getUserAgentHeader4","deleteOptions","_context4","logMessage","ServerSentEventsTransport","accessToken","opened","Text","eventSource","EventSource","_close","onopen","_eventSource","WebSocketTransport","webSocketConstructor","_logMessageContent","_webSocketConstructor","_headers","webSocket","binaryType","_event","_webSocket","ErrorEvent","OPEN","_isCloseEvent","wasClean","HttpConnection","_stopPromiseResolver","features","_negotiateVersion","baseUrl","_resolveUrl","webSocketModule","eventSourceModule","WebSocket","_connectionState","_connectionStarted","_start","Debug","_startInternalPromise","_startInternal","_stopPromise","_sendQueue","TransportSendQueue","_stopInternal","_stopInternal2","_stopError","_stopConnection","_startInternal2","negotiateResponse","redirects","_loop","_context5","skipNegotiation","WebSockets","_constructTransport","_startTransport","_getNegotiationResponse","ProtocolVersion","_createTransport","inherentKeepAlive","_getNegotiationResponse2","_callee5","negotiateUrl","_context6","_resolveNegotiateUrl","negotiateVersion","connectionToken","connectionId","_createTransport2","_callee6","requestedTransport","requestedTransferFormat","connectUrl","transportExceptions","transports","negotiate","endpoint","transportOrError","_context7","_createConnectUrl","_isITransport","availableTransports","_resolveTransportOrError","_x7","_x8","_x9","ServerSentEvents","LongPolling","connect","actualTransport","transportMatches","transferFormats","ex","lastIndexOf","aTag","_transport","_buffer","_executing","_sendBufferedData","PromiseSource","_transportResult","_sendLoopPromise","_sendLoop","_bufferData","_sendLoop2","_callee7","transportResult","_context8","_concatBuffers","arrayBuffers","_step2","totalLength","_iterator2","_resolver","_rejecter","TextMessageFormat","output","RecordSeparator","messages","RecordSeparatorCode","MessageType","HandshakeProtocol","handshakeRequest","messageData","remainingData","binaryData","separatorIndex","responseLength","textData","HubConnectionState","Subject","_step3","_iterator3","HubConnection","connection","reconnectPolicy","_nextKeepAlive","_freezeEventListener","serverTimeoutInMilliseconds","keepAliveIntervalInMilliseconds","_protocol","_reconnectPolicy","_handshakeProtocol","_processIncomingData","_connectionClosed","_callbacks","_methods","_closedCallbacks","_reconnectingCallbacks","_reconnectedCallbacks","_invocationId","_receivedHandshakeResponse","Disconnected","_cachedPingMessage","writeMessage","Ping","Reconnecting","_startPromise","_startWithStateTransitions","_startWithStateTransitions2","Connecting","Connected","handshakePromise","_stopDuringStartError","_handshakeResolver","_handshakeRejecter","writeHandshakeRequest","_cleanupTimeout","_resetTimeoutPeriod","_resetKeepAliveInterval","_cleanupPingTimer","startPromise","Disconnecting","_reconnectDelayHandle","_completeClose","promiseQueue","_this$_replaceStreami","_replaceStreamingParams","_this$_replaceStreami2","streams","streamIds","invocationDescriptor","_createStreamInvocation","cancelInvocation","_createCancelInvocation","invocationId","_sendWithProtocol","invocationEvent","Completion","_launchStreams","_this$_replaceStreami3","_this$_replaceStreami4","sendPromise","_createInvocation","_len3","_key3","_this$_replaceStreami5","_this$_replaceStreami6","newMethod","removeIdx","_processHandshakeResponse","parseMessages","Invocation","_invokeClientMethod","StreamItem","Close","allowReconnect","responseMessage","_this$_handshakeProto","parseHandshakeResponse","_this$_handshakeProto2","_timeoutHandle","serverTimeout","_pingServerHandle","nextPing","_invokeClientMethod2","invocationMessage","methods","methodsCopy","expectsResponse","completionMessage","prevRes","_createCompletionMessage","_cancelCallbacksWithError","_reconnect","_reconnect2","reconnectStartTime","previousReconnectAttempts","retryError","nextRetryDelay","_getNextRetryDelay","elapsedMilliseconds","retryReason","nextRetryDelayInMilliseconds","callbacks","nonblocking","_this9","streamId","_createStreamItemMessage","argument","_isObservable","StreamInvocation","CancelInvocation","JsonHubProtocol","hubMessages","parsedMessage","_isInvocationMessage","_isStreamItemMessage","_isCompletionMessage","_assertNotEmptyString","LogLevelNameMapping","trace","information","critical","none","None","HubConnectionBuilder","mapping","parseLogLevel","transportTypeOrOptions","isNotEmpty","httpConnectionOptions","retryDelaysOrReconnectPolicy","setConnection","jwt","conn","signalR","withUrl","configureLogging","withAutomaticReconnect","connectSignalR","useSignalR","Sidebar","Topbar","errorToString","regExpToString","symbolToString","SYMBOL_REGEXP","printSimpleValue","quoteStrings","printNumber","printValue","strReg","ValidationError","errorOrErrors","inner","_this$errors","isError","mixed","defined","notNull","oneOf","notOneOf","notType","originalValue","castMsg","uuid","lowercase","uppercase","lessThan","moreThan","positive","negative","isValue","noUnknown","typeLen","spec","formatError","isSchema","__isYupSchema__","Condition","builder","otherwise","check","_branch","prefixes","Reference","isContext","isSibling","__isYupRef","isAbsent","createValidation","validate","panic","_ref2$path","skipAbsent","_options$abortEarly2","abortEarly","isRef","createError","nextParams","_Object$keys","invalid","handleResult","validOrError","handleError","shouldSkip","sync","OPTIONS","getIn","lastPart","lastPartDebug","_part","isTuple","innerType","fields","ReferenceSet","_Set","describe","newItems","removeItems","copy","seen","_step3$value","_step4","_iterator4","_i2","_Object$entries","_Object$entries$_i","Schema","tests","transforms","conditions","_mutate","internalTests","_whitelist","_blacklist","exclusiveTests","_typeCheck","withMutation","typeError","strip","strict","recursive","nullable","optional","coerce","nonNullable","combined","mergedSpec","prevSchema","condition","_options$strict","_options$abortEarly","_options$recursive","resolvedSchema","allowOptionality","assert","_cast","isType","formattedValue","formattedResult","getDefault","_options$originalValu3","_options$strict2","initialTests","_i3","_Object$values","runTests","initialErrors","runOptions","fired","panicOnce","nextOnce","nestedErrors","_Object$assign","originalParent","isIndex","testOptions","_validate","validated","validateSync","_getDefault","isStrict","optionality","nullability","isExclusive","exclusive","dep","fromOptions","enums","whiteList","valids","resolved","resolveAll","invalids","_next$spec","list","_i4","_getIn","_i5","_arr2","alias","_i6","_arr3","returnsTrue","MixedSchema","_Schema","create$7","BooleanSchema","_Schema2","_raw","rEmail","rUrl","rUUID","isTrimmed","objStringTag","create$6","StringSchema","_Schema3","strValue","regex","excludeEmptyString","_options$excludeEmpty","create$5","NumberSchema","_Schema4","isNaN$1","NaN","parseFloat","less","more","isInteger","_method","avail","truncate","isoReg","invalidDate","create$4","DateSchema","_Schema5","timestamp","struct","numericKeys","minutesOffset","UTC","parseIsoDate","INVALID_DATE","cast","limit","prepareParam","_err$path","sortByKeyOrder","parseJson","deepPartial","partial","_i8","_Object$entries2","_Object$entries2$_i","fieldSchema","setFields","nextArray","defaultSort","create$3","ObjectSchema","_Schema6","_this10","_sortErrors","_nodes","_excludedEdges","_options$stripUnknown","_this11","_step5","stripUnknown","intermediateValue","innerOptions","__validating","isChanged","_iterator5","exists","fieldValue","fieldSpec","_this12","_options$from","_options$originalValu4","_options$recursive2","objectErrors","_step6","_iterator6","asNestedTest","fieldErrors","_this13","nextFields","_i9","_Object$entries3","_Object$entries3$_i","schemaOrRef","_this14","dft","excludedEdges","excludes","addNode","depPath","_loop2","_Object$keys2","_i7","sortFields","additions","_i10","_Object$entries4","_Object$entries4$_i","_step7","picked","_iterator7","_step8","_iterator8","fromGetter","newObj","deepHas","noAllow","unknownKeys","known","unknown","allow","_i11","_Object$keys3","transformKeys","_i12","_Object$entries5","_innerOptions","_Object$entries5$_i","ArraySchema","_Schema7","_super9","_this15","_opts","_this16","castArray","castElement","_this17","arrayErrors","_options$originalValu2","_options$originalValu","innerTypeErrors","_this18","original","rejector","TupleSchema","_Schema8","_super10","schemas","_this19","_this20","itemTypes","tupleErrors","_step9","_iterator9","_step9$value","itemSchema","isMergeableObject","isNonNullObject","stringValue","REACT_ELEMENT_TYPE","isReactElement","isSpecial","cloneUnlessOtherwiseSpecified","deepmerge","defaultArrayMerge","arrayMerge","sourceIsArray","destination","mergeObject","freeSelf","freeGlobal","objectProto","nativeObjectToString","symToStringTag","isOwn","unmasked","getRawTag","objectToString","func","overArg","funcProto","funcToString","objectCtorString","isObjectLike","baseGetTag","proto","getPrototype","Ctor","__data__","other","eq","assocIndexOf","ListCache","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","maskSrcKey","uid","coreJsData","reIsHostCtor","reIsNative","isMasked","toSource","baseIsNative","getNative","nativeCreate","Hash","hashClear","hashDelete","hashGet","hashHas","hashSet","isKeyable","getMapData","MapCache","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","pairs","LARGE_ARRAY_SIZE","Stack","stackClear","stackDelete","stackGet","stackHas","stackSet","iteratee","objValue","baseAssignValue","customizer","isNew","newValue","propertyIsEnumerable","isArguments","baseIsArguments","freeExports","freeModule","stubFalse","reIsUint","typedArrayTags","freeProcess","nodeIsTypedArray","nodeUtil","baseUnary","baseIsTypedArray","inherited","isArr","isArg","isBuff","skipIndexes","baseTimes","isPrototype","nativeKeys","isArrayLike","arrayLikeKeys","baseKeys","copyObject","nativeKeysIn","isProto","baseKeysIn","keysIn","allocUnsafe","isDeep","predicate","resIndex","nativeGetSymbols","getSymbols","arrayFilter","symbol","stubArray","getSymbolsIn","arrayPush","keysFunc","symbolsFunc","baseGetAllKeys","mapTag","promiseTag","setTag","weakMapTag","dataViewTag","dataViewCtorString","DataView","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","getTag","ctorString","dataView","cloneArrayBuffer","reFlags","regexp","symbolProto","symbolValueOf","cloneDataView","cloneTypedArray","cloneRegExp","cloneSymbol","objectCreate","baseCreate","nodeIsMap","baseIsMap","nodeIsSet","baseIsSet","argsTag","funcTag","objectTag","cloneableTags","baseClone","bitmask","isFlat","isFull","initCloneArray","copyArray","isFunc","cloneBuffer","initCloneObject","copySymbolsIn","baseAssignIn","copySymbols","baseAssign","initCloneByTag","stacked","isSet","subValue","isMap","getAllKeysIn","getAllKeys","arrayEach","memoize","memoized","rePropName","reEscapeChar","stringToPath","memoizeCapped","subString","isSymbol","baseToString","arrayMap","toKey","CLONE_DEEP_FLAG","isEmptyArray","isEmptyChildren","isPromise","toPath","setIn","resVal","pathArray","currentPath","currentObj","nextPath","setNestedObjectValues","FormikContext","FormikProvider","useFormikContext","formik","formikReducer","touched","isEqual","isSubmitting","isValidating","submitCount","emptyErrors","emptyTouched","useFormik","validateOnChange","_ref$validateOnChange","validateOnBlur","_ref$validateOnBlur","validateOnMount","_ref$validateOnMount","isInitialValid","enableReinitialize","_ref$enableReinitiali","onSubmit","initialValues","initialTouched","initialStatus","fieldRegistry","_React$useReducer","runValidateHandler","maybePromisedErrors","actualException","runValidationSchema","validationSchema","validateAt","validateData","prepareDataForValidation","validateYupSchema","yupError","_isArray","yupToFormErrors","runSingleFieldLevelValidation","runFieldLevelValidations","fieldKeysWithValidation","fieldValidations","fieldErrorsList","curr","runAllValidations","schemaErrors","validateErrors","validateFormWithHighPriority","useEventCallback","combinedErrors","resetForm","dispatchFn","onReset","maybePromisedOnReset","imperativeMethods","validateField","maybePromise","registerField","unregisterField","setTouched","shouldValidate","setErrors","setValues","resolvedValues","setFieldError","setFieldValue","executeChange","eventOrTextValue","maybePath","outerHTML","currentValue","valueProp","currentArrayOfValues","isValueInArray","getValueForCheckbox","getSelectedValues","handleChange","eventOrPath","setFieldTouched","executeBlur","_e$target","handleBlur","eventOrString","setFormikState","stateOrCb","setStatus","setSubmitting","submitForm","isInstanceOfError","promiseOrUndefined","executeSubmit","_errors","handleSubmit","validateForm","handleReset","getFieldMeta","initialError","getFieldHelpers","getFieldProps","nameOrOptions","isAnObject","valueState","as","dirty","isValid","Formik","formikbag","innerRef","shouldClone","useIsomorphicLayoutEffect","useField","propsOrFieldName","fieldName","validateFn","Field","legacyBag","asElement","_innerRef","_rest","Form","_action","_useFormikContext","insert","arrayLike","copyArrayLike","maxIndex","FieldArrayInner","updateArrayField","alterTouched","alterErrors","_this$props","prevState","updateErrors","updateTouched","fieldError","fieldTouched","cloneDeep","handlePush","swap","indexA","indexB","handleSwap","move","handleMove","handleInsert","handleReplace","handleUnshift","handleRemove","prevProps","arrayHelpers","_this$props2","_objectWithoutProperties","excluded","sourceKeys","sourceSymbolKeys","_useField","_useField2","class","htmlFor","_useContext","validationScheme","Yup","Username","Password","submit","maxWidth","minHeight","borderRadius","alt","TextboxControl","role","setData","Loader","enrolmentExamSingleFeeLockDate","enrolmentExamNormalFee","enrolmentExamNormalFeeDueDateStart","enrolmentExamNormalFeeDueDateExpired","enrolmentExamLateFee","enrolmentExamPortalLockDate","enrolmentExamLateFeeDueDateStart","enrolmentExamLateFeeDueDateExpired","enrolmentExamCoveringLetterDate","isSupplyPortalLocked","isEnrolmentExamPortalLocked","enrolmentSession","InputMask","requiredArgs","formatDistanceLocale","lessThanXSeconds","one","xSeconds","halfAMinute","lessThanXMinutes","xMinutes","aboutXHours","xHours","xDays","aboutXWeeks","xWeeks","aboutXMonths","xMonths","aboutXYears","xYears","overXYears","almostXYears","tokenValue","addSuffix","comparison","buildFormatLongFn","defaultWidth","formats","full","long","medium","short","dateTime","formatRelativeLocale","lastWeek","yesterday","today","tomorrow","nextWeek","_date","_baseDate","buildLocalizeFn","dirtyIndex","valuesArray","formattingValues","defaultFormattingWidth","_defaultWidth","_width","argumentCallback","localize","ordinalNumber","dirtyNumber","rem100","era","narrow","abbreviated","wide","quarter","day","dayPeriod","am","pm","midnight","noon","morning","afternoon","evening","night","buildMatchFn","matchPattern","matchPatterns","defaultMatchWidth","matchResult","matchedString","parsePatterns","defaultParseWidth","valueCallback","parsePattern","parseResult","any","formatDistance","formatLong","formatRelative","weekStartsOn","firstWeekContainsDate","toInteger","toDate","argStr","subMilliseconds","dirtyDate","dirtyAmount","addMilliseconds","dateLongFormatter","timeLongFormatter","longFormatters","dateTimeFormat","datePattern","timePattern","protectedDayOfYearTokens","protectedWeekYearTokens","throwProtectedError","RangeError","Setter","_utcDate","ValueSetter","_Setter","validateValue","subPriority","utcDate","DateToSystemTimezoneSetter","_Setter2","timestampIsSet","convertedDate","setFullYear","getUTCFullYear","getUTCMonth","getUTCDate","setHours","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","dateString","EraParser","_Parser","setUTCFullYear","setUTCHours","numericPatterns","dayOfYear","hour23h","hour24h","hour11h","hour12h","minute","singleDigit","twoDigits","threeDigits","fourDigits","anyDigitsSigned","singleDigitSigned","twoDigitsSigned","threeDigitsSigned","fourDigitsSigned","timezonePatterns","mapValue","parseFnResult","mapFn","parseNumericPattern","parseTimezonePattern","parseAnyDigitsSigned","parseNDigits","parseNDigitsSigned","dayPeriodEnumToHours","normalizeTwoDigitYear","twoDigitYear","currentYear","isCommonEra","absCurrentYear","rangeEnd","isLeapYearIndex","year","YearParser","isTwoDigitYear","normalizedTwoDigitYear","defaultOptions","getDefaultOptions","startOfUTCWeek","_options$weekStartsOn","_options$locale","_options$locale$optio","_defaultOptions$local","_defaultOptions$local2","getUTCDay","diff","setUTCDate","getUTCWeekYear","_options$firstWeekCon","firstWeekOfNextYear","startOfNextYear","firstWeekOfThisYear","startOfThisYear","LocalWeekYearParser","startOfUTCISOWeek","ISOWeekYearParser","_flags","firstWeekOfYear","ExtendedYearParser","QuarterParser","setUTCMonth","StandAloneQuarterParser","MonthParser","StandAloneMonthParser","MILLISECONDS_IN_WEEK","getUTCWeek","firstWeek","startOfUTCWeekYear","LocalWeekParser","dirtyWeek","setUTCWeek","startOfUTCISOWeekYear","fourthOfJanuaryOfNextYear","fourthOfJanuaryOfThisYear","getUTCISOWeekYear","fourthOfJanuary","setUTCISOWeek","dirtyISOWeek","isoWeek","getUTCISOWeek","ISOWeekParser","DAYS_IN_MONTH","DAYS_IN_MONTH_LEAP_YEAR","DateParser","isLeapYear","DayOfYearParser","setUTCDay","dirtyDay","DayParser","LocalDayParser","wholeWeekDays","StandAloneLocalDayParser","ISODayParser","setUTCISODay","AMPMParser","AMPMMidnightParser","DayPeriodParser","Hour1to12Parser","isPM","Hour0to23Parser","Hour0To11Parser","Hour1To24Parser","hours","MinuteParser","setUTCMinutes","SecondParser","setUTCSeconds","FractionOfSecondParser","setUTCMilliseconds","ISOTimezoneWithZParser","ISOTimezoneParser","TimestampSecondsParser","TimestampMillisecondsParser","parsers","formattingTokensRegExp","longFormattingTokensRegExp","escapedStringRegExp","doubleQuoteRegExp","notWhitespaceRegExp","unescapedLatinCharacterRegExp","dirtyDateString","dirtyFormatString","dirtyReferenceDate","_options$locale2","_options$locale2$opti","_ref6","_ref7","_options$locale3","_options$locale3$opti","_defaultOptions$local3","_defaultOptions$local4","formatString","defaultLocale","subFnOptions","setters","firstCharacter","longFormatter","usedTokens","useAdditionalWeekYearTokens","isProtectedWeekYearToken","useAdditionalDayOfYearTokens","isProtectedDayOfYearToken","incompatibleTokens","incompatibleToken","usedToken","fullToken","_ret","uniquePrioritySetters","setterArray","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getMilliseconds","getTimezoneOffsetInMilliseconds","utilities","currencyFormat","toFixed","percentFormat","encryptData","decryptData","encrypObject","decryptObject","parsedWordArray","getData","postData","_postData","getAsyncData","_getAsyncData","downloadFile","setProgress","setRemaining","registrationID","categoryID","registrationNo","studentName","fatherName","photo","cnic","mobileNo","dob","address","category","stepData","setStepData","sessions","useApi","_useContext2","FormContext","activeStepIndex","setActiveStepIndex","setFormData","validFileExtensions","enrolmentSessionID","session","isNonPakistani","integerValidation","pic","when","checkIfDuplicateApplication","examYear","isDuplicate","_data2","candidateID","isPortalLocked","accept","startAt","file","files","idxDot","extFile","progressEvent","timeElapsed","handleFileUpload","SelectControl","sessionID","sessionName","InputMaskControl","CheckboxControl","selectedPapers","failExamSession","failRollNo","passingYear","totalMarks","obtainedMarks","matricPercent","physicsTotal","physicsObtained","chemistryTotal","chemistryObtained","biologyTotal","biologyObtained","scienceSubjectsTotal","scienceSubjectsObtained","scienceSubjectsPercent","goToPreviousStep","prettyMilliseconds","milliseconds","colonNotation","compact","formatSubMilliseconds","separateMilliseconds","verbose","secondsDecimalDigits","millisecondsDecimalDigits","valueString","wholeDigits","minLength","roundTowardsZero","days","minutes","seconds","microseconds","nanoseconds","parseMilliseconds","trunc","millisecondsAndBelow","roundedMiliseconds","millisecondsString","secondsFixed","decimalDigits","flooredInterimValue","floorDecimals","secondsString","keepDecimalsOnWholeSeconds","unitCount","_ref$progress","_ref$remaining","remaining","prettyMS","cnicProgress","setCNICProgress","matricProgress","setMatricProgress","ppcResultCardProgress","setPPCResultCardProgress","cnicRememainingTime","setCNICRemainingTime","matricRememainingTime","setMatricRemainingTime","_useState11","_useState12","ppcResultCardRememainingTime","setPPCResultCardRemainingTime","_useState13","matricDMCPath","ppcResultCardPath","cnicPath","_useState14","myUploadProgress","myFileId","percentage","regid","FileUploadProgress","maxHeight","viewBox","stepContent","ApplicantProfile","PaperSelection","UploadDocuments","Success","_useParams","getApplicationData","rID","application","_application","Stepper","Step","toPropertyKey","StyleSheet","_insertTag","tags","insertionPoint","prepend","isSpeedy","speedy","ctr","nonce","_proto","createStyleElement","styleSheets","ownerNode","sheetForTag","insertRule","flush","_tag$parentNode","indexof","charat","begin","strlen","sizeof","column","character","characters","peek","caret","alloc","dealloc","delimit","whitespace","escaping","commenter","identifier","MS","MOZ","WEBKIT","COMMENT","RULESET","DECLARATION","KEYFRAMES","compile","rules","rulesets","pseudo","points","declarations","atrule","variable","scanning","ampersand","reference","comment","ruleset","identifierWithPointTracking","getRules","toRules","fixedElements","compat","isImplicitRule","parentRules","removeLabel","defaultStylisPlugins","combine","createCache","ssrStyles","_insert","stylisPlugins","inserted","nodesToHydrate","attrib","currentSheet","finalizingPlugins","serializer","collection","middleware","selector","serialized","shouldCache","registered","registerStyles","isStringTag","unitlessKeys","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","WebkitLineClamp","isDevelopment","hyphenateRegex","animationRegex","isCustomProperty","isProcessableValue","processStyleName","styleName","processStyleValue","unitless","noComponentSelectorMessage","handleInterpolation","mergedProps","interpolation","componentSelector","__emotion_styles","keyframes","anim","serializedStyles","interpolated","createStringFromObject","previousCursor","cached","labelPattern","serializeStyles","stringMode","strings","raw","identifierName","hashString","useInsertionEffectAlwaysWithSyncFallback","EmotionCacheContext","HTMLElement","withEmotionCache","ThemeContext","typePropName","Insertion","insertStyles","Emotion","cssProp","WrappedComponent","registeredStyles","classNames","rawClassName","getRegisteredStyles","newProps","Emotion$1","argsLength","createElementArgArray","createEmotionProps","JSX","createCoords","rectToClientRect","right","bottom","hasWindow","getNodeName","getWindow","_node$ownerDocument","getDocumentElement","isShadowRoot","ShadowRoot","isOverflowElement","_getComputedStyle","isWebKit","CSS","isLastTraversableNode","getParentNode","assignedSlot","getNearestOverflowAncestor","getOverflowAncestors","traverseIframes","_node$ownerDocument2","scrollableAncestor","isBody","win","frameElement","getFrameElement","visualViewport","getCssDimensions","hasOffset","shouldFallback","$","unwrapElement","contextElement","getScale","domElement","_getCssDimensions","noOffsets","getVisualOffsets","offsetLeft","includeScale","isFixedStrategy","offsetParent","visualOffsets","isFixed","floatingOffsetParent","shouldAddVisualOffsets","offsetWin","currentWin","currentIFrame","iframeScale","iframeRect","clientLeft","clientTop","rectsAreEqual","autoUpdate","floating","_options$ancestorScro","ancestorScroll","_options$ancestorResi","ancestorResize","_options$elementResiz","elementResize","ResizeObserver","_options$layoutShift","layoutShift","IntersectionObserver","_options$animationFra","animationFrame","referenceEl","ancestors","ancestor","frameId","cleanupIo","onMove","io","cleanup","_io","disconnect","refresh","skip","threshold","elementRectForRootMargin","rootMargin","isFirstUpdate","handleObserve","observe","ratio","intersectionRatio","observeMove","reobserveFrame","resizeObserver","firstEntry","unobserve","_resizeObserver","prevRefRect","frameLoop","nextRefRect","_resizeObserver2","insertable","freeze","safeIsNaN","areInputsEqual","newInputs","lastInputs","resultFn","newArgs","lastThis","lastArgs","lastResult","StateManagedSelect","baseSelectProps","_ref$defaultInputValu","defaultInputValue","_ref$defaultMenuIsOpe","defaultMenuIsOpen","_ref$defaultValue","propsInputValue","propsMenuIsOpen","menuIsOpen","propsOnChange","propsOnInputChange","onInputChange","propsOnMenuClose","onMenuClose","propsOnMenuOpen","onMenuOpen","propsValue","restSelectProps","stateInputValue","setStateInputValue","stateMenuIsOpen","setStateMenuIsOpen","stateValue","setStateValue","actionMeta","useStateManager","Select","StateManagedSelect$1","_ref$isMulti","isMulti","_ref$placeholder","afterChange","isClearable","setDistricts","dropdownDistricts","setDropdownDistricts","tehsils","setTehsils","_useState15","_useState16","dropdownTehsils","setDropdownTehsils","getDistricts","dists","dropdownDists","districtID","districtName","getTehsils","teh","tehsilID","tehsilName","handleDistrictChange","district","errorStyle","religion","qualification","gender","identificationType","checkIfAllSeatsFilled","isFiled","MultiSelectControl","boards","matricYear","physicsMarks","chemistryMarks","thirdScienceSubject","thirdScienceSubjectMarks","matricCertificateNo","boardID","matricRollNo","board","boardName","cnicBackSidePath","EligibilityCheck","_useReducer","EditApplication","DeleteApplication","regID","feeType","willDelete","_feeType","_category","_student","exam","students","student","entryDate","dtSupplySingleFeeLockDate","isSupplySingleFeePortalLocked","dtSupplyPortalLockDate","dtEnrolmentExamSingleFeeLockDate","isEnrolmentExamSingleFeePortalLocked","dtEnrolmentExamPortalLockDate","scrutinyOfficers","officer","fullName","studentID","UploadDocument","isValidCNIC","cnicObjection","isPendingCorrectionCNIC","isValidMatricDMC","matricObjection","isPendingCorrectionMatric","isValidMatricVerification","verificationObjection","isPendingCorrectionVerification","u8","u16","u32","fleb","fdeb","clim","freb","revfl","revfd","rev","hMap","co","rvb","sv","r_1","flt","fdt","flm","flrm","fdm","fdrm","bits","bits16","shft","slc","subarray","inflt","dat","buf","st","noBuf","noSt","cbuf","nbuf","final","pos","bt","lm","dm","lbt","dbt","tbts","hLit","hcLen","ldt","clt","clb","clbmsk","clm","lt","dt","lms","dms","mxa","dsym","wbits","wbits16","hTree","maxSym","tr","mbt","ln","lft","cst","i2_1","i2_2","i2_3","cli","cln","cls","clen","wfblk","wblk","syms","bs","dlt","mlb","ddt","mdb","lclt","nlc","lcdt","ndc","lcfreq","lct","mlcb","nlcc","flen","ftlen","dtlen","llm","lcts","clct","dst","deo","et","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","level","mem","wbytes","zlh","lv","zlv","zlibSync","unzlibSync","MouseEvent","createEvent","initMouseEvent","saveAs","HTMLAnchorElement","webkitURL","download","msSaveOrOpenBlob","autoBom","innerText","safari","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","example","toRGB","toHex","print","modify","perm","processOwnerPassword","encryptionKey","lsbFirstWord","hexToBytes","publish","getTopics","objectNumber","gState","coords","colors","boundingBox","xStep","yStep","stream","cloneIndex","orientation","compress","compressPdf","encryption","userPassword","ownerPassword","userPermissions","userUnit","precision","floatPrecision","defaultPathOperation","filters","putOnlyUsedFonts","__private__","PubSub","getPdfVersion","setPdfVersion","a0","a5","a6","a7","a8","a9","a10","b0","b5","b6","b7","b8","b9","b10","c0","c4","c5","c6","c7","c8","c9","c10","legal","ledger","tabloid","getPageFormats","getPageFormat","COMPAT","ADVANCED","saveGraphicsState","Vt","Rr","setFontSize","getFontSize","restoreGraphicsState","combineFontStyleAndFontWeight","advancedAPI","compatAPI","isAdvancedAPI","roundToPrecision","hpf","setPrecision","getFileId","setFileId","convertDateToPDFDate","getTimezoneOffset","convertPDFDateToDate","setCreationDate","getCreationDate","padd2","tt","padd2Hex","rt","nt","at","ot","ct","setCustomOutputDestination","ht","resetCustomOutputDestination","ft","getArrayBuffer","pt","getStandardFonts","gt","mt","vt","R2L","setR2L","getR2L","yt","wt","setZoomMode","getZoomMode","Nt","Lt","setPageMode","getPageMode","At","setLayoutMode","getLayoutMode","setDisplayMode","xt","author","keywords","creator","getDocumentProperty","getDocumentProperties","setDocumentProperties","setProperties","setDocumentProperty","St","Pt","kt","It","Ft","Ct","jt","Ot","Bt","Mt","Et","qt","Dt","Rt","Tt","Ut","hotfixes","zt","Ht","Wt","_matrix","shx","decompose","sy","shy","tx","ty","multiply","rotate","skew","inversed","applyToPoint","Cr","applyToRectangle","jr","Matrix","Gt","matrixMult","Yt","unitMatrix","identityMatrix","Jt","ShadingPattern","TilingPattern","addShadingPattern","beginTilingPattern","Br","endTilingPattern","Xt","newObject","Kt","Zt","newObjectDeferred","$t","newAdditionalObject","objId","Qt","decodeColorString","encodeColorString","ch1","ch2","ch3","ch4","pdfColorType","getFilters","putStream","alreadyAppliedFilters","addLength1","objectId","additionalKeyValues","API","processDataByFilters","reverseChain","putPage","contentsObjId","rootDictionaryObjId","resourceDictionaryObjId","mediaBox","bottomLeftX","bottomLeftY","topRightX","topRightY","cropBox","bleedBox","trimBox","artBox","pageContext","pageNumber","page","putPages","isAlreadyPutted","postScriptName","encoding","pages","resourcesOid","objectOid","MAX_SAFE_INTEGER","fontName","isStandardFont","metadata","pdfEscape","sourceEncoding","outputEncoding","autoencode","codePages","noBOM","beginPage","pr","fr","Lr","kr","Ir","setPage","getNumberOfPages","disableWarning","noFallback","times","normal","putInfo","putCatalog","putTrailer","oid","putHeader","putXRef","buildDocument","toHexString","getBlob","foo","bar","filename","pdfObjectUrl","pdfJsUrl","PDFViewerApplication","Ge","getPageInfo","getPageInfoByObjId","getCurrentPageInfo","addPage","insertPage","movePage","deletePage","scope","align","lineHeightFactor","lr","scaleFactor","TabLen","splitTextToSize","mutex","activeFontKey","activeFontSize","rotationDirection","charSpace","setCharSpace","getCharSpace","horizontalScale","lang","renderingMode","usedRenderingMode","pageSize","getWidth","getStringUnitWidth","doKerning","yr","ut","xr","clipEvenOdd","discardPath","isValidStyle","setDefaultPathOperation","getStyle","rr","fillEvenOdd","fillStroke","fillStrokeEvenOdd","nr","ir","or","setGState","ur","curveTo","lines","triangle","roundedRect","SQRT2","ellipse","circle","setFont","getFont","getFontList","addFont","getLineWidth","setLineWidth","setLineDashPattern","gr","getLineHeight","mr","setLineHeightFactor","vr","getLineHeightFactor","getHorizontalCoordinate","getVerticalCoordinate","wr","getHorizontalCoordinateString","Nr","getVerticalCoordinateString","strokeColor","getStrokeColor","getDrawColor","setStrokeColor","setDrawColor","Ar","fillColor","getFillColor","setFillColor","textColor","Sr","getTextColor","setTextColor","Pr","CapJoinStyles","butt","but","miter","rounded","projecting","project","square","bevel","setLineCap","setLineJoin","setLineMiterLimit","setMiterLimit","GState","Fr","equals","addGState","setCurrentTransformationMatrix","Or","currentPage","pagesContext","qr","outputDestination","Dr","Tr","Er","beginFormObject","endFormObject","Mr","doFormObject","getFormObject","returnPromise","unload","events","getPageWidth","setPageWidth","getPageHeight","setPageHeight","getCoordinateString","collections","newObjectDeferredBegin","setWidth","getHeight","setHeight","encryptionOptions","getEncryptor","getPDFVersion","Point","Rectangle","hasHotfix","dictionary","__acroform__","BBox","setBit","clearBit","getBit","getBitForPdf","setBitForPdf","clearBitForPdf","calculateCoordinates","lowerLeft_X","lowerLeft_Y","upperRight_X","upperRight_Y","appearanceStreamContent","DV","_V","maxFontSize","multiline","xForms","acroFormDictionaryRoot","printedOut","isInitialized","annotations","acroformPlugin","FieldNum","_eventID","Fields","hasAnnotation","Kids","Rect","DA","createDefaultAppearanceStream","getKeyValueListForStream","hasAppearanceStream","arrayToPdfArray","_objId","_scope","FT","getOptions","setOptions","addOption","removeOption","combo","edit","CA","pushButton","radio","caption","appearanceState","_AppearanceType","RadioButton","Circle","createAppearanceStream","optionName","setAppearance","getCA","createOption","CheckBox","On","YesNormal","YesPushDown","Off","OffPushDown","Bezier_C","Cross","calculateCross","x3","addField","AcroFormChoiceField","AcroFormListBox","AcroFormComboBox","AcroFormEditBox","AcroFormButton","AcroFormPushButton","AcroFormRadioButton","AcroFormCheckBox","AcroFormTextField","AcroFormPasswordField","AcroFormAppearance","AcroForm","ChoiceField","ListBox","ComboBox","EditBox","Button","PushButton","TextField","PasswordField","Appearance","__addimage__","PNG","TIFF","JPEG","JPEG2000","GIF87a","GIF89a","WEBP","BMP","getImageFileTypeByImageData","colorSpace","INDEXED","palette","sMask","DEVICE_CMYK","bitsPerComponent","decodeParameters","transparency","predictor","addImage_images","loadFile","color_spaces","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","validateStringAsBase64","extractImageFromDataUrl","mimeType","supportsArrayBuffer","binaryStringToUint8Array","arrayBufferToBinaryString","imageData","compression","rotation","convertBase64ToBinaryString","getImageProperties","fileType","contents","_nameMap","finalBounds","magFactor","createAnnotation","textWithLink","getTextWidth","__arabicParser__","isInArabicSubstitutionA","isArabicLetter","isArabicEndLetter","isArabicAlfLetter","arabicLetterHasIsolatedForm","arabicLetterHasFinalForm","arabicLetterHasInitialForm","arabicLetterHasMedialForm","resolveLigatures","isArabicDiacritic","getCorrectForm","processArabic","autoPrint","addJS","pageWrapXEnabled","pageWrapX","pageWrapYEnabled","pageWrapY","pdf","context2d","_canvas","__cell__","headerFunction","margins","lastCell","setHeaderFunction","getTextDimensions","cellAddPage","cell","tableHeaderRow","printHeaders","printHeaderRow","table","autoSize","headerBackgroundColor","headerTextColor","table_font_size","prompt","setTableHeaderRow","rowStart","row","cellStart","table_x","table_y","italic","oblique","family","weight","stretch","fixed","monospace","terminal","cursive","fantasy","serif","menu","trimLeft","isStrokeTransparent","isFillTransparent","globalCompositeOperation","clip_path","currentPoint","miterLimit","lastPoint","lineDashOffset","lineDash","prevPageLastElemOffset","ignoreClearRect","fontFaces","defaultFontFamily","genericFontFamilies","arial","Arial","verdana","Verdana","helvetica","Helvetica","getLineDash","quadraticCurveTo","y2","isIdentity","radius","startAngle","endAngle","counterclockwise","arcTo","strokeRect","clearRect","ctxStack","isCanvasGradient","getColor","scaleX","setTransform","autoPaging","posY","posX","deltas","colorStops","y3","y4","prevLineDash","overrideMimeType","loadImageFile","DOMPurify","dompurify","sanitize","convert","template","overlay","enableLinks","jsPDF","toContainer","toCanvas","toImg","toPdf","thenList","setPageSize","javascriptEnabled","onrendered","toContext2d","quality","outputImg","outputPdf","doCallback","setMargin","getPageSize","px","updateProgress","thenCore","thenExternal","catchExternal","using","export","worker","outline","createNamedDestinations","makeRef","genIds_r","renderRoot","renderItems","objStart","count_r","objEnd","makeString","processJPEG","numcomponents","imgData","readUInt32","colorType","compressionMethod","filterMethod","interlaceMethod","numFrames","numPlays","frames","xOffset","yOffset","readUInt16","disposeOp","blendOp","indexed","grayscale","hasAlphaChannel","pixelBitlength","decodePixels","decodePalette","copyToImageData","_decodedPalette","decodeFrames","createImageData","renderFrame","animate","_timeout","stopAnimation","_png","has_local_palette","palette_offset","palette_size","data_offset","data_length","transparent_index","interlaced","disposal","loopCount","frameInfo","decodeAndBlitFrameBGRA","decodeAndBlitFrameRGBA","datav","is_with_alpha","bottom_up","flag","parseHeader","parseBGR","Ur","Hr","Hn","Wn","Vn","Gn","Ed","Cd","RGBA","Sd","Tn","Sn","An","qn","Rn","Un","memory","$n","Gr","Wr","Vr","Zr","$r","Yr","En","Qr","tn","Dn","nn","en","xn","zn","rn","Xr","VP8LMapColor32b","Jr","VP8LMapColor8b","Kr","Qn","Xn","Zn","Jn","Yn","Kn","Kd","Ud","Gd","put","Cn","Pn","kn","In","Fn","an","cn","un","hn","sn","dn","pn","gn","mn","vn","bn","yn","wn","Nn","Ln","Bn","jn","Mn","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","src_off","src_size","feature_flags","canvas_width","canvas_height","bgcolor","loop_count","offset_x","offset_y","dispose","blend","rgbaoutput","dataurl","loop_counter","imgwidth","imgheight","processPNG","processGIF89A","processGIF87A","fileSize","getUint32","reserved","headerSize","getInt32","planes","getUint16","bitPP","rawSize","importantColors","getUint8","quad","bit1","bit4","bit8","bit15","bit16","bit24","bit32","processBMP","processWEBP","processRGBA","setLanguage","languageSettings","isSubscribed","sq","hy","ast","az","eu","my","cv","cs","eo","fo","fy","fur","gu","hu","iu","ks","km","ky","ko","mo","nv","no","om","qu","rm","ro","ru","sz","so","es","sw","tig","ts","hsb","vo","zu","languageCode","getCharWidthsArray","widths","Unicode","fof","kerning","widthOfString","widthOfGlyph","characterToGlyph","textIndent","lineIndent","__fontmetrics__","uncompress","WinAnsiEncoding","Courier","ZapfDingbats","existsFileInVFS","getFileFromVFS","TTFFont","glyIdsUsed","canvg","addSvgAsImage","ignoreMouse","ignoreAnimation","ignoreDimensions","fromString","putTotalPages","pdfEscape16","viewerPreferences","HideToolbar","explicitSet","valueSet","pdfVersion","HideMenubar","HideWindowUI","FitWindow","CenterWindow","DisplayDocTitle","NonFullScreenPageMode","Direction","ViewArea","ViewClip","PrintArea","PrintClip","PrintScaling","Duplex","PickTrayByPDFSize","PrintPageRange","NumCopies","viewerpreferences","configuration","__metadata__","namespaceuri","metadata_object_number","addMetadata","toUnicode","subset","PDFObject","bbox","stemV","italicAngle","ascender","decender","capHeight","rawData","hmtx","unitsPerEm","cmap","unicode","codeMap","vFS","addFileToVFS","__bidiEngine__","EN","AN","hiLevel","doBidiReorder","isInputVisual","isOutputVisual","isInputRtl","isOutputRtl","isSymmetricSwapping","readString","registerTTF","directory","hhea","maxp","os2","loca","glyf","lineGap","xMin","yMin","xMax","yMax","italic_angle","xHeight","familyClass","isSerif","isScript","isFixedPitch","forGlyph","advance","readByte","writeByte","writeUInt32","readInt32","writeInt32","writeUInt16","readInt16","writeInt16","writeString","readShort","writeShort","readLongLong","writeLongLong","readInt","writeInt","scalarType","tableCount","searchRange","entrySelector","rangeShift","tables","checksum","__super__","revision","checkSumAdjustment","magicNumber","created","modified","macStyle","lowestRecPPEM","fontDirectionHint","indexToLocFormat","glyphDataFormat","platformID","encodingID","language","isUnicode","old","new","subtable","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","firstCharIndex","lastCharIndex","ascent","descent","winAscent","winDescent","codePageRange","defaultChar","breakChar","maxContext","underlinePosition","underlineThickness","minMemType42","maxMemType42","minMemType1","maxMemType1","glyphNameIndex","names","offsets","numGlyphs","languageID","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","metrics","lsb","leftSideBearings","glyphFor","lengthOf","numberOfContours","compound","glyphIDs","glyphOffsets","unicodes","generateCmap","glyphsFor","challanNo","cNo","transaction","borderRight","oneBillInvoiceNo","formattedChallanNo","applicantName","normalFee","colSpan","normalDueDate","getElementById","jspdf","transactionID","verificationProgress","setVerificationProgress","verificationRememainingTime","setVerificationRemainingTime","matricVerificationPath","setMatricVerificationPath","allowedExts","sleep","uploadProgress","setUploadProgress","rememainingTime","setRemainingTime","documentPath","setDocumentPath","doc","photoObjection","ppcResultCardObjection","scrutinyStatus","isPendingCorrectionPPCResultCard","isPendingCorrectionPhoto","submitting","PrintStudentList","tempLink","click","supplyLateFeeDueDateExpired","supplyCoveringLetterDate","submittingSingleFeeFirstYear","setSubmittingSingleFeeFirstYear","submittingSingleFeeSecondYear","setSubmittingSingleFeeSecondYear","submittingDoubleFeeFirstYear","setSubmittingDoubleFeeFirstYear","submittingDoubleFeeSecondYear","setSubmittingDoubleFeeSecondYear","firstYearSingleFeeChallanPath","firstYearDoubleFeeChallanPath","secondYearSingleFeeChallanPath","secondYearDoubleFeeChallanPath","firstYearSingleFeeProgress","setFirstYearSingleFeeProgress","firstYearDoubleFeeProgress","setFirstYearDoubleFeeProgress","secondYearSingleFeeProgress","setSecondYearSingleFeeProgress","_useState17","_useState18","secondYearDoubleFeeProgress","setSecondYearDoubleFeeProgress","_useState19","_useState20","firstYearSingleFeeRememainingTime","setFirstYearSingleFeeRemainingTime","_useState21","_useState22","firstYearDoubleFeeRememainingTime","setFirstYearDoubleFeeRemainingTime","_useState23","_useState24","secondYearSingleFeeRememainingTime","setSecondYearSingleFeeRemainingTime","_useState25","_useState26","secondYearDoubleFeeRememainingTime","setSecondYearDoubleFeeRemainingTime","getChallansData","challansInfo","GenerateFeeChallan","supplyNormalFeeDueDateStart","supplyNormalFeeDueDateExpired","supplyLateFeeDueDateStart","isSupplyNormalFeePeriodStarted","isSupplyNormalFeePeriod","isSupplyLateFeePeriodStarted","isSupplyLateFeePeriod","challan","totalStudents","objection","cID","challanID","isValidPhoto","isValidPPCResultCard","paidChallanPath","AppLayout","Dashboard","Guidelines","ExamApplications","EnrolmentApplications","Rejected","Corrected","PrintSupplyStudents","SupplyExamFeeChallan","SupplyExamFeeObjections","SupplyStudentsObjections","ApplySupply","ApplyEnrolment","UploadVerification","ClearExamFeeObjection","Payment","Confirmation","exact","Login","onPerfEntry","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","App","reportWebVitals"],"sourceRoot":""}