{"version":3,"file":"component---src-templates-articles-tsx-c2cdf3e89aea033de8b8.js","mappings":"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AAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,IAAK,EAAG,IAAK,GAAI,EAAG,GAAI,EAAG,GAAI,IAAK,EAAG,GAAI,GAAI,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,EAAG,GAAI,IAAK,EAAG,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,GAAI,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,IAAK,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,IAAK,GAAI,GAAI,IAAK,GAAI,EAAG,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,IAAK,EAAG,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,IAAK,EAAG,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,IAAK,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,GAAI,EAAG,IAAK,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,GAAI,GAAI,EAAG,IAAK,EAAG,GAAI,IAAK,EAAG,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,EAAG,KAAM,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,IAAK,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,IAAK,IAAK,GAAI,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,EAAG,KAAM,GAAI,EAAG,MAAO,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,GAAI,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,EAAG,EAAG,GAAI,GAAI,IAAK,IAAK,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,KAAM,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,EAAG,KAAM,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,EAAG,MAAO,GAAI,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,EAAG,KAAM,GAAI,GAAI,EAAG,IAAK,IAAK,GAAI,EAAG,MAAO,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,GAAI,EAAG,MAAO,MAAO,EAAG,EAAG,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,GAAI,EAAG,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,GAAI,EAAG,IAAK,GAAI,EAAG,IAAK,EAAG,GAAI,KAAM,EAAG,IAAK,GAAI,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,KAAM,EAAG,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,GAAI,EAAG,IAAK,EAAG,GAAI,KAAM,EAAG,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,GAAI,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,KAAM,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,GAAI,IAAK,GAAI,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,EAAG,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,GAAI,GAAI,EAAG,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,KAAM,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,GAAI,EAAG,MAAO,MAAO,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,KAAM,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,IAAK,GAAI,EAAG,KAAM,EAAG,GAAI,EAAG,GAAI,KAAM,EAAG,GAAI,IAAK,IAAK,GAAI,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,IAAK,GAAI,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,GAAI,EAAG,MAAO,MAAO,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,GAAI,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,MAAO,MAAO,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,GAAI,GAAI,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,GAAI,EAAG,IAAK,GAAI,EAAG,GAAI,IAAK,IAAK,GAAI,GAAI,EAAG,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,KAAM,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,GAAI,EAAG,IAAK,EAAG,GAAI,KAAM,EAAG,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,KAAM,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,IAAK,KAAM,KAAM,KAAM,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,EAAG,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,GAAI,EAAG,MAAO,MAAO,GAAI,GAAI,EAAG,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,EAAG,IAAK,EAAG,GAAI,KAAM,EAAG,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,GAAI,GAAI,EAAG,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,MAAO,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,GAAI,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,MAAO,GAAI,IAAK,GAAI,EAAG,MAAO,MAAO,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,IAAK,GAAI,EAAG,KAAM,EAAG,GAAI,EAAG,GAAI,KAAM,EAAG,GAAI,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,GAAI,IAAK,GAAI,GAAI,EAAG,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,EAAG,EAAG,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,MAAO,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,KAAM,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,EAAG,EAAG,GAAI,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,MAAO,MAAO,GAAI,IAAK,GAAI,EAAG,KAAM,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,GAAI,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,IAAK,GAAI,EAAG,MAAO,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,EAAG,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,EAAG,MAAO,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,EAAG,KAAM,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,EAAG,KAAM,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,EAAG,KAAM,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,IAAK,KAAM,IAAM,KAAM,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,EAAG,KAAM,KAAM,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,KAAM,EAAG,KAAM,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,EAAG,KAAM,KAAM,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,KAAM,EAAG,KAAM,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,KAAM,EAAG,IAAK,GAAI,EAAG,IAAK,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,GAAI,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,KAAM,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,GAAI,EAAG,IAAK,EAAG,GAAI,KAAM,EAAG,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,GAAI,GAAI,GAAI,EAAG,IAAK,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,GAAI,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,KAAM,EAAG,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,GAAI,IAAK,GAAI,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,EAAG,MAAO,MAAO,GAAI,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,KAAM,EAAG,IAAK,IAAK,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,KAAM,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,KAAM,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,EAAG,KAAM,GAAI,GAAI,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,GAAI,EAAG,IAAK,GAAI,EAAG,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,EAAG,MAAO,GAAI,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,KAAM,EAAG,KAAM,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,EAAG,MAAO,MAAO,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,KAAM,EAAG,GAAI,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,MAAO,MAAO,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,IAAK,IAAK,GAAI,EAAG,MAAO,GAAI,EAAG,IAAK,EAAG,GAAI,KAAM,EAAG,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,EAAG,EAAG,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,GAAI,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,GAAI,GAAI,GAAI,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,EAAG,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,GAAI,EAAG,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,MAAO,MAAO,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,KAAM,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,EAAG,KAAM,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,EAAG,KAAM,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,MAAO,MAAO,GAAI,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,KAAM,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,EAAG,KAAM,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,KAAM,EAAG,KAAM,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,EAAG,KAAM,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,GAAI,GAAI,EAAG,IAAK,EAAG,GAAI,KAAM,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,GAAI,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,MAAO,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,EAAG,KAAM,KAAM,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,KAAM,EAAG,KAAM,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,KAAM,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,KAAM,GAAI,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,GAAI,EAAG,IAAK,EAAG,GAAI,KAAM,EAAG,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,GAAI,GAAI,GAAI,EAAG,IAAK,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,GAAI,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,KAAM,EAAG,IAAK,GAAI,GAAI,IAAK,GAAI,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,GAAI,EAAG,MAAO,MAAO,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,GAAI,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,KAAM,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,KAAM,GAAI,EAAG,MAAO,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,GAAI,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,KAAM,GAAI,GAAI,IAAK,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,KAAM,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,MAAO,GAAI,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,GAAI,GAAI,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,MAAO,GAAI,IAAK,GAAI,EAAG,MAAO,MAAO,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,GAAI,EAAG,MAAO,MAAO,GAAI,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,MAAO,GAAI,IAAK,GAAI,EAAG,MAAO,MAAO,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,KAAM,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,GAAI,GAAI,EAAG,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,MAAO,GAAI,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,EAAG,KAAM,GAAI,GAAI,EAAG,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,MAAO,MAAO,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,KAAM,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,EAAG,KAAM,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,IAAK,EAAG,GAAI,KAAM,EAAG,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,KAAM,EAAG,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,KAAM,EAAG,IAAK,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,KAAM,GAAI,EAAG,MAAO,MAAO,IAAK,GAAI,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,KAAM,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,EAAG,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,GAAI,EAAG,GAAI,KAAM,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,EAAG,EAAG,GAAI,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,MAAO,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,EAAG,KAAM,GAAI,EAAG,MAAO,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,EAAG,MAAO,GAAI,EAAG,MAAO,GAAI,EAAG,MAAO,GAAI,EAAG,MAAO,GAAI,EAAG,MAAO,GAAI,EAAG,MAAO,GAAI,EAAG,MAAO,GAAI,EAAG,MAAO,IAAK,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,KAAM,GAAI,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,KAAM,GAAI,EAAG,MAAO,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,GAAI,EAAG,KAAM,GAAI,EAAG,IAAK,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,GAAI,EAAG,MAAO,MAAO,EAAG,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,EAAG,KAAM,GAAI,EAAG,MAAO,GAAI,IAAK,IAAK,GAAI,EAAG,MAAO,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,GAAI,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,KAAM,EAAG,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,GAAI,EAAG,MAAO,MAAO,GAAI,EAAG,GAAI,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,KAAM,EAAG,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,KAAM,EAAG,IAAK,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,KAAM,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,KAAM,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,GAAI,EAAG,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,GAAI,IAAK,IAAK,GAAI,EAAG,MAAO,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,IAAK,EAAG,EAAG,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,GAAI,GAAI,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,GAAI,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,KAAM,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,GAAI,EAAG,MAAO,MAAO,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,EAAG,EAAG,GAAI,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,EAAG,KAAM,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,EAAG,KAAM,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,EAAG,KAAM,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,EAAG,KAAM,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,GAAI,EAAG,IAAK,GAAI,GAAI,IAAK,EAAG,IAAK,EAAG,GAAI,KAAM,EAAG,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,KAAM,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,GAAI,GAAI,IAAK,KAAM,KAAM,KAAM,EAAG,GAAI,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,GAAI,EAAG,MAAO,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,GAAI,GAAI,IAAK,KAAM,KAAM,KAAM,EAAG,KAAM,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,KAAM,GAAI,EAAG,KAAM,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,GAAI,EAAG,KAAM,MAAO,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,KAAM,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,MAAO,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,KAAM,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,EAAG,IAAK,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,GAAI,EAAG,MAAO,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,MAAO,GAAI,IAAK,IAAK,GAAI,EAAG,MAAO,GAAI,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,EAAG,KAAM,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,EAAG,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,EAAG,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,GAAI,EAAG,KAAM,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,GAAI,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,IAAK,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,GAAI,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,KAAM,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,GAAI,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,GAAI,EAAG,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,IAAK,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,EAAG,MAAO,MAAO,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,MAAO,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,MAAO,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,GAAI,IAAK,IAAK,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,GAAI,EAAG,MAAO,GAAI,EAAG,MAAO,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,GAAI,EAAG,KAAM,GAAI,GAAI,EAAG,KAAM,GAAI,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,KAAM,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,EAAG,KAAM,IAAK,GAAI,GAAI,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,GAAI,EAAG,KAAM,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,KAAM,GAAI,EAAG,MAAO,IAAK,EAAG,EAAG,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,GAAI,GAAI,EAAG,KAAM,IAAK,GAAI,GAAI,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,KAAM,EAAG,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,KAAM,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,GAAI,GAAI,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,IAAK,KAAM,KAAM,KAAM,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,EAAG,IAAK,EAAG,GAAI,KAAM,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,GAAI,EAAG,MAAO,MAAO,GAAI,IAAK,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,EAAG,KAAM,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,GAAI,EAAG,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,EAAG,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,KAAM,GAAI,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,GAAI,IAAK,GAAI,EAAG,GAAI,IAAK,GAAI,EAAG,MAAO,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,GAAI,EAAG,MAAO,MAAO,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,KAAM,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,MAAO,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,KAAM,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,EAAG,KAAM,EAAG,IAAK,EAAG,GAAI,KAAM,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,EAAG,MAAO,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,EAAG,MAAO,GAAI,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,KAAM,EAAG,IAAK,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,EAAG,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,GAAI,IAAK,GAAI,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,GAAI,EAAG,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,GAAI,EAAG,MAAO,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,GAAI,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,IAAK,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,GAAI,EAAG,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,EAAG,KAAM,GAAI,GAAI,EAAG,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,GAAI,KAAM,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,KAAM,KAAM,GAAI,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,KAAM,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,EAAG,IAAK,EAAG,GAAI,KAAM,EAAG,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,GAAI,EAAG,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,IAAK,IAAK,KAAM,KAAM,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,GAAI,EAAG,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,IAAO,MAAO,IAAK,GAAI,EAAG,MAAO,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,MAAO,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,EAAG,IAAK,EAAG,GAAI,MAAO,EAAG,IAAK,GAAI,EAAG,KAAM,EAAG,IAAK,EAAG,GAAI,MAAO,EAAG,IAAK,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,MAAO,MAAO,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,GAAI,MAAO,MAAO,MAAO,EAAG,IAAK,EAAG,GAAI,MAAO,EAAG,IAAK,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,GAAI,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,MAAO,MAAO,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,GAAI,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,MAAO,MAAO,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,GAAI,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,IAAK,GAAI,EAAG,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,GAAI,GAAI,EAAG,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,KAAM,IAAK,GAAI,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,EAAG,MAAO,GAAI,GAAI,EAAG,MAAO,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,MAAO,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,MAAO,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,EAAG,MAAO,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,GAAI,IAAK,MAAO,MAAO,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,MAAO,GAAI,EAAG,MAAO,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,MAAO,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,MAAO,MAAO,GAAI,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,IAAK,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,MAAO,GAAI,EAAG,MAAO,EAAG,GAAI,EAAG,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,EAAG,GAAI,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,GAAI,EAAG,MAAO,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,GAAI,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,MAAO,GAAI,GAAI,EAAG,KAAM,MAAO,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,GAAI,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,IAAK,MAAO,MAAO,MAAO,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,MAAO,GAAI,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,MAAO,GAAI,GAAI,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,GAAI,EAAG,MAAO,MAAO,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,GAAI,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,MAAO,EAAG,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,EAAG,KAAM,IAAK,GAAI,EAAG,IAAK,EAAG,GAAI,MAAO,EAAG,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,EAAG,IAAK,EAAG,GAAI,MAAO,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,GAAI,EAAG,KAAM,GAAI,EAAG,MAAO,MAAO,IAAK,GAAI,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,MAAO,EAAG,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,GAAI,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,EAAG,KAAM,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,GAAI,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,GAAI,EAAG,MAAO,MAAO,GAAI,GAAI,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,MAAO,EAAG,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,EAAG,EAAG,GAAI,GAAI,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,EAAG,IAAK,EAAG,GAAI,MAAO,EAAG,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,GAAI,GAAI,EAAG,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,MAAO,GAAI,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,MAAO,MAAO,GAAI,IAAK,GAAI,EAAG,MAAO,MAAO,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,IAAK,GAAI,EAAG,MAAO,GAAI,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,MAAO,GAAI,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,GAAI,GAAI,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,EAAG,MAAO,GAAI,EAAG,MAAO,IAAK,GAAI,EAAG,MAAO,GAAI,EAAG,MAAO,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,MAAO,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,IAAK,MAAO,MAAO,MAAO,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,MAAO,GAAI,EAAG,MAAO,MAAO,EAAG,EAAG,GAAI,GAAI,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,GAAI,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,GAAI,EAAG,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,GAAI,EAAG,MAAO,IAAK,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,GAAI,EAAG,MAAO,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,GAAI,EAAG,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,GAAI,GAAI,EAAG,MAAO,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,GAAI,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,EAAG,KAAM,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,KAAM,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,KAAM,IAAK,GAAI,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,GAAI,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,EAAG,MAAO,GAAI,GAAI,EAAG,MAAO,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,MAAO,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,MAAO,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,EAAG,MAAO,MAAO,EAAG,EAAG,GAAI,GAAI,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,GAAI,MAAO,MAAO,IAAK,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,MAAO,MAAO,EAAG,KAAM,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,MAAO,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,EAAG,EAAG,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,GAAI,EAAG,MAAO,GAAI,EAAG,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,GAAI,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,EAAG,MAAO,GAAI,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,GAAI,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,GAAI,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,MAAO,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,MAAO,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,MAAO,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,GAAI,EAAG,GAAI,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,EAAG,GAAI,EAAG,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,EAAG,GAAI,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,GAAI,EAAG,MAAO,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,GAAI,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,MAAO,GAAI,GAAI,EAAG,KAAM,MAAO,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,IAAK,EAAG,IAAK,EAAG,GAAI,MAAO,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,GAAI,GAAI,EAAG,MAAO,GAAI,EAAG,KAAM,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,MAAO,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,GAAI,IAAK,MAAO,MAAO,MAAO,MAAO,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,GAAI,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,MAAO,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,IAAK,MAAO,MAAO,KAAO,EAAG,KAAM,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,MAAO,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,KAAM,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,KAAM,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,KAAM,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,GAAI,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,GAAI,EAAG,KAAM,KAAM,EAAG,EAAG,GAAI,GAAI,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,MAAO,MAAO,EAAG,KAAM,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,EAAG,IAAK,EAAG,GAAI,MAAO,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,GAAI,EAAG,KAAM,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,GAAI,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,EAAG,KAAM,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,MAAO,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,GAAI,EAAG,MAAO,MAAO,EAAG,IAAK,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,GAAI,GAAI,GAAI,MAAO,MAAO,MAAO,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,GAAI,MAAO,MAAO,MAAO,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,EAAG,EAAG,GAAI,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,KAAM,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,GAAI,IAAK,MAAO,MAAO,MAAO,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,MAAO,MAAO,EAAG,MAAO,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,IAAK,EAAG,EAAG,GAAI,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,IAAK,MAAO,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,MAAO,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,EAAG,EAAG,GAAI,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,EAAG,MAAO,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,IAAK,IAAK,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,IAAK,MAAO,MAAO,MAAO,EAAG,EAAG,GAAI,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,MAAO,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,KAAM,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,MAAO,IAAK,GAAI,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,IAAK,EAAG,EAAG,GAAI,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,MAAO,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,KAAM,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,MAAO,IAAK,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,MAAO,EAAG,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,EAAG,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,EAAG,KAAM,KAAM,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,GAAI,EAAG,KAAM,KAAM,GAAI,EAAG,GAAI,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,GAAI,EAAG,KAAM,KAAM,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,GAAI,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,KAAM,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,KAAM,EAAG,EAAG,GAAI,GAAI,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,IAAK,GAAI,EAAG,MAAO,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,MAAO,EAAG,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,EAAG,EAAG,GAAI,GAAI,MAAO,MAAO,EAAG,KAAM,EAAG,IAAK,EAAG,GAAI,MAAO,EAAG,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,GAAI,GAAI,EAAG,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,GAAI,EAAG,MAAO,MAAO,EAAG,EAAG,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,GAAI,EAAG,IAAK,GAAI,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,MAAO,EAAG,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,GAAI,IAAK,GAAI,EAAG,MAAO,GAAI,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,GAAI,IAAK,GAAI,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,MAAO,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,EAAG,MAAO,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,EAAG,IAAK,EAAG,GAAI,MAAO,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,MAAO,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,MAAO,EAAG,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,MAAO,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,MAAO,MAAO,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,MAAO,EAAG,IAAK,GAAI,GAAI,IAAK,GAAI,EAAG,KAAM,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,EAAG,EAAG,GAAI,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,EAAG,KAAM,EAAG,IAAK,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,GAAI,EAAG,MAAO,GAAI,EAAG,MAAO,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,GAAI,IAAK,IAAK,GAAI,EAAG,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,MAAO,EAAG,EAAG,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,IAAK,GAAI,EAAG,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,EAAG,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,EAAG,GAAI,GAAI,IAAK,IAAK,GAAI,EAAG,MAAO,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,GAAI,EAAG,KAAM,GAAI,EAAG,MAAO,GAAI,EAAG,MAAO,IAAK,EAAG,IAAK,EAAG,GAAI,MAAO,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,GAAI,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,MAAO,EAAG,IAAK,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,MAAO,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,MAAO,MAAO,EAAG,MAAO,EAAG,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,IAAK,MAAO,MAAO,MAAO,GAAI,EAAG,MAAO,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,IAAK,GAAI,EAAG,MAAO,MAAO,GAAI,EAAG,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,MAAO,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,EAAG,GAAI,EAAG,GAAI,MAAO,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,IAAK,GAAI,EAAG,MAAO,GAAI,IAAK,IAAK,GAAI,EAAG,MAAO,GAAI,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,EAAG,MAAO,GAAI,EAAG,MAAO,GAAI,EAAG,MAAO,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,MAAO,EAAG,IAAK,IAAK,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,GAAI,EAAG,MAAO,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,GAAI,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,GAAI,EAAG,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,GAAI,EAAG,MAAO,IAAK,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,GAAI,EAAG,MAAO,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,GAAI,EAAG,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,GAAI,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,IAAK,MAAO,MAAO,MAAO,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,EAAG,IAAK,EAAG,GAAI,MAAO,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,EAAG,MAAO,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,IAAK,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,MAAO,MAAO,EAAG,KAAM,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,GAAI,EAAG,MAAO,GAAI,EAAG,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,GAAI,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,MAAO,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,GAAI,EAAG,GAAI,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,MAAO,GAAI,EAAG,KAAM,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,MAAO,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,IAAK,MAAO,MAAO,MAAO,GAAI,EAAG,MAAO,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,IAAK,MAAO,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,KAAM,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,EAAG,IAAK,EAAG,GAAI,MAAO,EAAG,IAAK,IAAK,GAAI,EAAG,GAAI,IAAK,GAAI,IAAK,GAAI,EAAG,MAAO,IAAK,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,GAAI,IAAK,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,IAAK,IAAK,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,IAAK,EAAG,GAAI,MAAO,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,GAAI,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,EAAG,IAAK,GAAI,EAAG,IAAK,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,MAAO,MAAO,EAAG,MAAO,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,GAAI,MAAO,MAAO,EAAG,MAAO,GAAI,EAAG,MAAO,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,GAAI,IAAK,IAAK,GAAI,EAAG,MAAO,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,MAAO,GAAI,EAAG,MAAO,MAAO,EAAG,EAAG,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,GAAI,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,MAAO,MAAO,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,MAAO,MAAO,EAAG,MAAO,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,MAAO,GAAI,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,KAAM,MAAO,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,KAAM,MAAO,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,KAAM,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,KAAM,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,IAAK,MAAO,MAAO,MAAO,EAAG,KAAM,IAAK,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,EAAG,EAAG,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,GAAI,EAAG,MAAO,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,GAAI,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,EAAG,KAAM,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,MAAO,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,MAAO,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,GAAI,EAAG,MAAO,GAAI,EAAG,MAAO,GAAI,EAAG,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,EAAG,IAAK,EAAG,GAAI,MAAO,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,MAAO,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,MAAO,EAAG,IAAK,EAAG,KAAM,GAAI,EAAG,MAAO,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,GAAI,EAAG,MAAO,IAAK,GAAI,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,GAAI,EAAG,MAAO,GAAI,GAAI,EAAG,MAAO,GAAI,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,GAAI,EAAG,MAAO,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,EAAG,KAAM,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,MAAO,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,MAAO,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,GAAI,EAAG,MAAO,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,GAAI,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,MAAO,EAAG,IAAK,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,MAAO,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,MAAO,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,GAAI,IAAK,MAAO,MAAO,MAAO,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,MAAO,MAAO,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,GAAI,EAAG,MAAO,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,GAAI,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,GAAI,GAAI,IAAK,MAAO,MAAO,MAAO,MAAO,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,GAAI,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,GAAI,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,GAAI,EAAG,MAAO,MAAO,GAAI,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,IAAK,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,MAAO,EAAG,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,GAAI,EAAG,IAAK,EAAG,GAAI,MAAO,EAAG,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,GAAI,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,GAAI,GAAI,EAAG,IAAK,GAAI,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,GAAI,EAAG,MAAO,MAAO,IAAK,GAAI,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,MAAO,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,MAAO,MAAO,IAAK,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,GAAI,EAAG,KAAM,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,GAAI,IAAK,GAAI,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,MAAO,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,GAAI,EAAG,MAAO,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,EAAG,IAAK,GAAI,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,MAAO,MAAO,EAAG,EAAG,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,EAAG,IAAK,EAAG,GAAI,MAAO,EAAG,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,MAAO,GAAI,EAAG,MAAO,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,IAAK,GAAI,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,GAAI,EAAG,IAAK,GAAI,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,GAAI,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,MAAO,GAAI,EAAG,MAAO,MAAO,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,MAAO,GAAI,EAAG,MAAO,MAAO,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,GAAI,GAAI,EAAG,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,EAAG,EAAG,GAAI,GAAI,IAAK,MAAO,MAAO,MAAO,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,GAAI,IAAK,GAAI,EAAG,IAAK,GAAI,EAAG,IAAK,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,GAAI,EAAG,KAAM,KAAM,GAAI,EAAG,KAAM,KAAM,IAAK,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,IAAK,GAAI,EAAG,MAAO,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,GAAI,EAAG,MAAO,MAAO,GAAI,EAAG,KAAM,MAAO,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,GAAI,EAAG,MAAO,MAAO,GAAI,EAAG,KAAM,MAAO,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,GAAI,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,GAAI,IAAK,GAAI,EAAG,MAAO,IAAK,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,MAAO,GAAI,EAAG,KAAM,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,EAAG,KAAM,GAAI,IAAK,IAAK,GAAI,EAAG,KAAM,GAAI,IAAK,GAAI,EAAG,MAAO,MAAO,EAAG,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,EAAG,EAAG,GAAI,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,GAAI,EAAG,MAAO,MAAO,EAAG,EAAG,GAAI,GAAI,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,GAAI,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,GAAI,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,EAAG,EAAG,IAAK,IAAK,IAAK,MAAO,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,GAAI,EAAG,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,GAAI,MAAO,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,GAAI,IAAK,MAAO,MAAO,IAAK,GAAI,EAAG,MAAO,MAAO,GAAI,IAAK,IAAK,GAAI,EAAG,MAAO,EAAG,EAAG,IAAK,IAAK,MAAO,MAAO,IAAK,IAAK,IAAK,GAAI,EAAG,MAAO,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,GAAI,EAAG,KAAM,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,K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","sources":["webpack://beaver-help/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://beaver-help/./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack://beaver-help/./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack://beaver-help/./node_modules/@babel/runtime/helpers/createClass.js","webpack://beaver-help/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://beaver-help/./node_modules/@babel/runtime/helpers/get.js","webpack://beaver-help/./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack://beaver-help/./node_modules/@babel/runtime/helpers/inherits.js","webpack://beaver-help/./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://beaver-help/./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack://beaver-help/./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack://beaver-help/./node_modules/@babel/runtime/helpers/superPropBase.js","webpack://beaver-help/./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack://beaver-help/./node_modules/@babel/runtime/helpers/typeof.js","webpack://beaver-help/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://beaver-help/./node_modules/bail/index.js","webpack://beaver-help/./node_modules/comma-separated-tokens/index.js","webpack://beaver-help/./node_modules/exenv/index.js","webpack://beaver-help/./node_modules/extend/index.js","webpack://beaver-help/./node_modules/hast-to-hyperscript/index.js","webpack://beaver-help/./node_modules/hast-util-from-parse5/index.js","webpack://beaver-help/./node_modules/hast-util-parse-selector/index.js","webpack://beaver-help/./node_modules/hast-util-raw/index.js","webpack://beaver-help/./node_modules/hast-util-sanitize/index.js","webpack://beaver-help/./node_modules/hast-util-sanitize/lib/index.js","webpack://beaver-help/./node_modules/hast-util-to-parse5/index.js","webpack://beaver-help/./node_modules/hastscript/factory.js","webpack://beaver-help/./node_modules/hastscript/html.js","webpack://beaver-help/./node_modules/hastscript/index.js","webpack://beaver-help/./node_modules/hastscript/svg.js","webpack://beaver-help/./node_modules/inline-style-parser/index.js","webpack://beaver-help/./node_modules/mdast-util-definitions/index.js","webpack://beaver-help/./node_modules/mdast-util-from-markdown/dist/index.js","webpack://beaver-help/./node_modules/mdast-util-from-markdown/index.js","webpack://beaver-help/./node_modules/mdast-util-to-hast/index.js","webpack://beaver-help/./node_modules/mdast-util-to-hast/lib/all.js","webpack://beaver-help/./node_modules/mdast-util-to-hast/lib/footer.js","webpack://beaver-help/./node_modules/mdast-util-to-hast/lib/handlers/blockquote.js","webpack://beaver-help/./node_modules/mdast-util-to-hast/lib/handlers/break.js","webpack://beaver-help/./node_modules/mdast-util-to-hast/lib/handlers/code.js","webpack://beaver-help/./node_modules/mdast-util-to-hast/lib/handlers/delete.js","webpack://beaver-help/./node_modules/mdast-util-to-hast/lib/handlers/emphasis.js","webpack://beaver-help/./node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.js","webpack://beaver-help/./node_modules/mdast-util-to-hast/lib/handlers/footnote.js","webpack://beaver-help/./node_modules/mdast-util-to-hast/lib/handlers/heading.js","webpack://beaver-help/./node_modules/mdast-util-to-hast/lib/handlers/html.js","webpack://beaver-help/./node_modules/mdast-util-to-hast/lib/handlers/image-reference.js","webpack://beaver-help/./node_modules/mdast-util-to-hast/lib/handlers/image.js","webpack://beaver-help/./node_modules/mdast-util-to-hast/lib/handlers/index.js","webpack://beaver-help/./node_modules/mdast-util-to-hast/lib/handlers/inline-code.js","webpack://beaver-help/./node_modules/mdast-util-to-hast/lib/handlers/link-reference.js","webpack://beaver-help/./node_modules/mdast-util-to-hast/lib/handlers/link.js","webpack://beaver-help/./node_modules/mdast-util-to-hast/lib/handlers/list-item.js","webpack://beaver-help/./node_modules/mdast-util-to-hast/lib/handlers/list.js","webpack://beaver-help/./node_modules/mdast-util-to-hast/lib/handlers/paragraph.js","webpack://beaver-help/./node_modules/mdast-util-to-hast/lib/handlers/root.js","webpack://beaver-help/./node_modules/mdast-util-to-hast/lib/handlers/strong.js","webpack://beaver-help/./node_modules/mdast-util-to-hast/lib/handlers/table.js","webpack://beaver-help/./node_modules/mdast-util-to-hast/lib/handlers/text.js","webpack://beaver-help/./node_modules/mdast-util-to-hast/lib/handlers/thematic-break.js","webpack://beaver-help/./node_modules/mdast-util-to-hast/lib/index.js","webpack://beaver-help/./node_modules/mdast-util-to-hast/lib/one.js","webpack://beaver-help/./node_modules/mdast-util-to-hast/lib/revert.js","webpack://beaver-help/./node_modules/mdast-util-to-hast/lib/wrap.js","webpack://beaver-help/./node_modules/mdast-util-to-string/index.js","webpack://beaver-help/./node_modules/mdurl/encode.js","webpack://beaver-help/./node_modules/micromark/dist/character/ascii-alpha.js","webpack://beaver-help/./node_modules/micromark/dist/character/ascii-alphanumeric.js","webpack://beaver-help/./node_modules/micromark/dist/character/ascii-atext.js","webpack://beaver-help/./node_modules/micromark/dist/character/ascii-control.js","webpack://beaver-help/./node_modules/micromark/dist/character/ascii-digit.js","webpack://beaver-help/./node_modules/micromark/dist/character/ascii-hex-digit.js","webpack://beaver-help/./node_modules/micromark/dist/character/ascii-punctuation.js","webpack://beaver-help/./node_modules/micromark/dist/character/markdown-line-ending-or-space.js","webpack://beaver-help/./node_modules/micromark/dist/character/markdown-line-ending.js","webpack://beaver-help/./node_modules/micromark/dist/character/markdown-space.js","webpack://beaver-help/./node_modules/micromark/dist/character/unicode-punctuation.js","webpack://beaver-help/./node_modules/micromark/dist/character/unicode-whitespace.js","webpack://beaver-help/./node_modules/micromark/dist/constant/assign.js","webpack://beaver-help/./node_modules/micromark/dist/constant/from-char-code.js","webpack://beaver-help/./node_modules/micromark/dist/constant/has-own-property.js","webpack://beaver-help/./node_modules/micromark/dist/constant/html-block-names.js","webpack://beaver-help/./node_modules/micromark/dist/constant/html-raw-names.js","webpack://beaver-help/./node_modules/micromark/dist/constant/splice.js","webpack://beaver-help/./node_modules/micromark/dist/constant/unicode-punctuation-regex.js","webpack://beaver-help/./node_modules/micromark/dist/constructs.js","webpack://beaver-help/./node_modules/micromark/dist/initialize/content.js","webpack://beaver-help/./node_modules/micromark/dist/initialize/document.js","webpack://beaver-help/./node_modules/micromark/dist/initialize/flow.js","webpack://beaver-help/./node_modules/micromark/dist/initialize/text.js","webpack://beaver-help/./node_modules/micromark/dist/parse.js","webpack://beaver-help/./node_modules/micromark/dist/postprocess.js","webpack://beaver-help/./node_modules/micromark/dist/preprocess.js","webpack://beaver-help/./node_modules/micromark/dist/tokenize/attention.js","webpack://beaver-help/./node_modules/micromark/dist/tokenize/autolink.js","webpack://beaver-help/./node_modules/micromark/dist/tokenize/block-quote.js","webpack://beaver-help/./node_modules/micromark/dist/tokenize/character-escape.js","webpack://beaver-help/./node_modules/micromark/dist/tokenize/character-reference.js","webpack://beaver-help/./node_modules/micromark/dist/tokenize/code-fenced.js","webpack://beaver-help/./node_modules/micromark/dist/tokenize/code-indented.js","webpack://beaver-help/./node_modules/micromark/dist/tokenize/code-text.js","webpack://beaver-help/./node_modules/micromark/dist/tokenize/content.js","webpack://beaver-help/./node_modules/micromark/dist/tokenize/definition.js","webpack://beaver-help/./node_modules/micromark/dist/tokenize/factory-destination.js","webpack://beaver-help/./node_modules/micromark/dist/tokenize/factory-label.js","webpack://beaver-help/./node_modules/micromark/dist/tokenize/factory-space.js","webpack://beaver-help/./node_modules/micromark/dist/tokenize/factory-title.js","webpack://beaver-help/./node_modules/micromark/dist/tokenize/factory-whitespace.js","webpack://beaver-help/./node_modules/micromark/dist/tokenize/hard-break-escape.js","webpack://beaver-help/./node_modules/micromark/dist/tokenize/heading-atx.js","webpack://beaver-help/./node_modules/micromark/dist/tokenize/html-flow.js","webpack://beaver-help/./node_modules/micromark/dist/tokenize/html-text.js","webpack://beaver-help/./node_modules/micromark/dist/tokenize/label-end.js","webpack://beaver-help/./node_modules/micromark/dist/tokenize/label-start-image.js","webpack://beaver-help/./node_modules/micromark/dist/tokenize/label-start-link.js","webpack://beaver-help/./node_modules/micromark/dist/tokenize/line-ending.js","webpack://beaver-help/./node_modules/micromark/dist/tokenize/list.js","webpack://beaver-help/./node_modules/micromark/dist/tokenize/partial-blank-line.js","webpack://beaver-help/./node_modules/micromark/dist/tokenize/setext-underline.js","webpack://beaver-help/./node_modules/micromark/dist/tokenize/thematic-break.js","webpack://beaver-help/./node_modules/micromark/dist/util/chunked-push.js","webpack://beaver-help/./node_modules/micromark/dist/util/chunked-splice.js","webpack://beaver-help/./node_modules/micromark/dist/util/classify-character.js","webpack://beaver-help/./node_modules/micromark/dist/util/combine-extensions.js","webpack://beaver-help/./node_modules/micromark/dist/util/create-tokenizer.js","webpack://beaver-help/./node_modules/micromark/dist/util/miniflat.js","webpack://beaver-help/./node_modules/micromark/dist/util/move-point.js","webpack://beaver-help/./node_modules/micromark/dist/util/normalize-identifier.js","webpack://beaver-help/./node_modules/micromark/dist/util/prefix-size.js","webpack://beaver-help/./node_modules/micromark/dist/util/regex-check.js","webpack://beaver-help/./node_modules/micromark/dist/util/resolve-all.js","webpack://beaver-help/./node_modules/micromark/dist/util/safe-from-int.js","webpack://beaver-help/./node_modules/micromark/dist/util/serialize-chunks.js","webpack://beaver-help/./node_modules/micromark/dist/util/shallow.js","webpack://beaver-help/./node_modules/micromark/dist/util/size-chunks.js","webpack://beaver-help/./node_modules/micromark/dist/util/slice-chunks.js","webpack://beaver-help/./node_modules/micromark/dist/util/subtokenize.js","webpack://beaver-help/./node_modules/moment/locale/af.js","webpack://beaver-help/./node_modules/moment/locale/ar-dz.js","webpack://beaver-help/./node_modules/moment/locale/ar-kw.js","webpack://beaver-help/./node_modules/moment/locale/ar-ly.js","webpack://beaver-help/./node_modules/moment/locale/ar-ma.js","webpack://beaver-help/./node_modules/moment/locale/ar-sa.js","webpack://beaver-help/./node_modules/moment/locale/ar-tn.js","webpack://beaver-help/./node_modules/moment/locale/ar.js","webpack://beaver-help/./node_modules/moment/locale/az.js","webpack://beaver-help/./node_modules/moment/locale/be.js","webpack://beaver-help/./node_modules/moment/locale/bg.js","webpack://beaver-help/./node_modules/moment/locale/bm.js","webpack://beaver-help/./node_modules/moment/locale/bn-bd.js","webpack://beaver-help/./node_modules/moment/locale/bn.js","webpack://beaver-help/./node_modules/moment/locale/bo.js","webpack://beaver-help/./node_modules/moment/locale/br.js","webpack://beaver-help/./node_modules/moment/locale/bs.js","webpack://beaver-help/./node_modules/moment/locale/ca.js","webpack://beaver-help/./node_modules/moment/locale/cs.js","webpack://beaver-help/./node_modules/moment/locale/cv.js","webpack://beaver-help/./node_modules/moment/locale/cy.js","webpack://beaver-help/./node_modules/moment/locale/da.js","webpack://beaver-help/./node_modules/moment/locale/de-at.js","webpack://beaver-help/./node_modules/moment/locale/de-ch.js","webpack://beaver-help/./node_modules/moment/locale/de.js","webpack://beaver-help/./node_modules/moment/locale/dv.js","webpack://beaver-help/./node_modules/moment/locale/el.js","webpack://beaver-help/./node_modules/moment/locale/en-au.js","webpack://beaver-help/./node_modules/moment/locale/en-ca.js","webpack://beaver-help/./node_modules/moment/locale/en-gb.js","webpack://beaver-help/./node_modules/moment/locale/en-ie.js","webpack://beaver-help/./node_modules/moment/locale/en-il.js","webpack://beaver-help/./node_modules/moment/locale/en-in.js","webpack://beaver-help/./node_modules/moment/locale/en-nz.js","webpack://beaver-help/./node_modules/moment/locale/en-sg.js","webpack://beaver-help/./node_modules/moment/locale/eo.js","webpack://beaver-help/./node_modules/moment/locale/es-do.js","webpack://beaver-help/./node_modules/moment/locale/es-mx.js","webpack://beaver-help/./node_modules/moment/locale/es-us.js","webpack://beaver-help/./node_modules/moment/locale/es.js","webpack://beaver-help/./node_modules/moment/locale/et.js","webpack://beaver-help/./node_modules/moment/locale/eu.js","webpack://beaver-help/./node_modules/moment/locale/fa.js","webpack://beaver-help/./node_modules/moment/locale/fi.js","webpack://beaver-help/./node_modules/moment/locale/fil.js","webpack://beaver-help/./node_modules/moment/locale/fo.js","webpack://beaver-help/./node_modules/moment/locale/fr-ca.js","webpack://beaver-help/./node_modules/moment/locale/fr-ch.js","webpack://beaver-help/./node_modules/moment/locale/fr.js","webpack://beaver-help/./node_modules/moment/locale/fy.js","webpack://beaver-help/./node_modules/moment/locale/ga.js","webpack://beaver-help/./node_modules/moment/locale/gd.js","webpack://beaver-help/./node_modules/moment/locale/gl.js","webpack://beaver-help/./node_modules/moment/locale/gom-deva.js","webpack://beaver-help/./node_modules/moment/locale/gom-latn.js","webpack://beaver-help/./node_modules/moment/locale/gu.js","webpack://beaver-help/./node_modules/moment/locale/he.js","webpack://beaver-help/./node_modules/moment/locale/hi.js","webpack://beaver-help/./node_modules/moment/locale/hr.js","webpack://beaver-help/./node_modules/moment/locale/hu.js","webpack://beaver-help/./node_modules/moment/locale/hy-am.js","webpack://beaver-help/./node_modules/moment/locale/id.js","webpack://beaver-help/./node_modules/moment/locale/is.js","webpack://beaver-help/./node_modules/moment/locale/it-ch.js","webpack://beaver-help/./node_modules/moment/locale/it.js","webpack://beaver-help/./node_modules/moment/locale/ja.js","webpack://beaver-help/./node_modules/moment/locale/jv.js","webpack://beaver-help/./node_modules/moment/locale/ka.js","webpack://beaver-help/./node_modules/moment/locale/kk.js","webpack://beaver-help/./node_modules/moment/locale/km.js","webpack://beaver-help/./node_modules/moment/locale/kn.js","webpack://beaver-help/./node_modules/moment/locale/ko.js","webpack://beaver-help/./node_modules/moment/locale/ku.js","webpack://beaver-help/./node_modules/moment/locale/ky.js","webpack://beaver-help/./node_modules/moment/locale/lb.js","webpack://beaver-help/./node_modules/moment/locale/lo.js","webpack://beaver-help/./node_modules/moment/locale/lt.js","webpack://beaver-help/./node_modules/moment/locale/lv.js","webpack://beaver-help/./node_modules/moment/locale/me.js","webpack://beaver-help/./node_modules/moment/locale/mi.js","webpack://beaver-help/./node_modules/moment/locale/mk.js","webpack://beaver-help/./node_modules/moment/locale/ml.js","webpack://beaver-help/./node_modules/moment/locale/mn.js","webpack://beaver-help/./node_modules/moment/locale/mr.js","webpack://beaver-help/./node_modules/moment/locale/ms-my.js","webpack://beaver-help/./node_modules/moment/locale/ms.js","webpack://beaver-help/./node_modules/moment/locale/mt.js","webpack://beaver-help/./node_modules/moment/locale/my.js","webpack://beaver-help/./node_modules/moment/locale/nb.js","webpack://beaver-help/./node_modules/moment/locale/ne.js","webpack://beaver-help/./node_modules/moment/locale/nl-be.js","webpack://beaver-help/./node_modules/moment/locale/nl.js","webpack://beaver-help/./node_modules/moment/locale/nn.js","webpack://beaver-help/./node_modules/moment/locale/oc-lnc.js","webpack://beaver-help/./node_modules/moment/locale/pa-in.js","webpack://beaver-help/./node_modules/moment/locale/pl.js","webpack://beaver-help/./node_modules/moment/locale/pt-br.js","webpack://beaver-help/./node_modules/moment/locale/pt.js","webpack://beaver-help/./node_modules/moment/locale/ro.js","webpack://beaver-help/./node_modules/moment/locale/ru.js","webpack://beaver-help/./node_modules/moment/locale/sd.js","webpack://beaver-help/./node_modules/moment/locale/se.js","webpack://beaver-help/./node_modules/moment/locale/si.js","webpack://beaver-help/./node_modules/moment/locale/sk.js","webpack://beaver-help/./node_modules/moment/locale/sl.js","webpack://beaver-help/./node_modules/moment/locale/sq.js","webpack://beaver-help/./node_modules/moment/locale/sr-cyrl.js","webpack://beaver-help/./node_modules/moment/locale/sr.js","webpack://beaver-help/./node_modules/moment/locale/ss.js","webpack://beaver-help/./node_modules/moment/locale/sv.js","webpack://beaver-help/./node_modules/moment/locale/sw.js","webpack://beaver-help/./node_modules/moment/locale/ta.js","webpack://beaver-help/./node_modules/moment/locale/te.js","webpack://beaver-help/./node_modules/moment/locale/tet.js","webpack://beaver-help/./node_modules/moment/locale/tg.js","webpack://beaver-help/./node_modules/moment/locale/th.js","webpack://beaver-help/./node_modules/moment/locale/tk.js","webpack://beaver-help/./node_modules/moment/locale/tl-ph.js","webpack://beaver-help/./node_modules/moment/locale/tlh.js","webpack://beaver-help/./node_modules/moment/locale/tr.js","webpack://beaver-help/./node_modules/moment/locale/tzl.js","webpack://beaver-help/./node_modules/moment/locale/tzm-latn.js","webpack://beaver-help/./node_modules/moment/locale/tzm.js","webpack://beaver-help/./node_modules/moment/locale/ug-cn.js","webpack://beaver-help/./node_modules/moment/locale/uk.js","webpack://beaver-help/./node_modules/moment/locale/ur.js","webpack://beaver-help/./node_modules/moment/locale/uz-latn.js","webpack://beaver-help/./node_modules/moment/locale/uz.js","webpack://beaver-help/./node_modules/moment/locale/vi.js","webpack://beaver-help/./node_modules/moment/locale/x-pseudo.js","webpack://beaver-help/./node_modules/moment/locale/yo.js","webpack://beaver-help/./node_modules/moment/locale/zh-cn.js","webpack://beaver-help/./node_modules/moment/locale/zh-hk.js","webpack://beaver-help/./node_modules/moment/locale/zh-mo.js","webpack://beaver-help/./node_modules/moment/locale/zh-tw.js","webpack://beaver-help/./node_modules/moment/moment.js","webpack://beaver-help/./node_modules/parse-entities/decode-entity.browser.js","webpack://beaver-help/./node_modules/parse5/lib/common/doctype.js","webpack://beaver-help/./node_modules/parse5/lib/common/error-codes.js","webpack://beaver-help/./node_modules/parse5/lib/common/foreign-content.js","webpack://beaver-help/./node_modules/parse5/lib/common/html.js","webpack://beaver-help/./node_modules/parse5/lib/common/unicode.js","webpack://beaver-help/./node_modules/parse5/lib/extensions/error-reporting/mixin-base.js","webpack://beaver-help/./node_modules/parse5/lib/extensions/error-reporting/parser-mixin.js","webpack://beaver-help/./node_modules/parse5/lib/extensions/error-reporting/preprocessor-mixin.js","webpack://beaver-help/./node_modules/parse5/lib/extensions/error-reporting/tokenizer-mixin.js","webpack://beaver-help/./node_modules/parse5/lib/extensions/location-info/open-element-stack-mixin.js","webpack://beaver-help/./node_modules/parse5/lib/extensions/location-info/parser-mixin.js","webpack://beaver-help/./node_modules/parse5/lib/extensions/location-info/tokenizer-mixin.js","webpack://beaver-help/./node_modules/parse5/lib/extensions/position-tracking/preprocessor-mixin.js","webpack://beaver-help/./node_modules/parse5/lib/parser/formatting-element-list.js","webpack://beaver-help/./node_modules/parse5/lib/parser/index.js","webpack://beaver-help/./node_modules/parse5/lib/parser/open-element-stack.js","webpack://beaver-help/./node_modules/parse5/lib/tokenizer/index.js","webpack://beaver-help/./node_modules/parse5/lib/tokenizer/named-entity-data.js","webpack://beaver-help/./node_modules/parse5/lib/tokenizer/preprocessor.js","webpack://beaver-help/./node_modules/parse5/lib/tree-adapters/default.js","webpack://beaver-help/./node_modules/parse5/lib/utils/merge-options.js","webpack://beaver-help/./node_modules/parse5/lib/utils/mixin.js","webpack://beaver-help/./node_modules/property-information/find.js","webpack://beaver-help/./node_modules/property-information/html.js","webpack://beaver-help/./node_modules/property-information/lib/aria.js","webpack://beaver-help/./node_modules/property-information/lib/html.js","webpack://beaver-help/./node_modules/property-information/lib/svg.js","webpack://beaver-help/./node_modules/property-information/lib/util/case-insensitive-transform.js","webpack://beaver-help/./node_modules/property-information/lib/util/case-sensitive-transform.js","webpack://beaver-help/./node_modules/property-information/lib/util/create.js","webpack://beaver-help/./node_modules/property-information/lib/util/defined-info.js","webpack://beaver-help/./node_modules/property-information/lib/util/info.js","webpack://beaver-help/./node_modules/property-information/lib/util/merge.js","webpack://beaver-help/./node_modules/property-information/lib/util/schema.js","webpack://beaver-help/./node_modules/property-information/lib/util/types.js","webpack://beaver-help/./node_modules/property-information/lib/xlink.js","webpack://beaver-help/./node_modules/property-information/lib/xml.js","webpack://beaver-help/./node_modules/property-information/lib/xmlns.js","webpack://beaver-help/./node_modules/property-information/normalize.js","webpack://beaver-help/./node_modules/property-information/svg.js","webpack://beaver-help/./node_modules/react-markdown/node_modules/react-is/cjs/react-is.production.min.js","webpack://beaver-help/./node_modules/react-markdown/node_modules/react-is/index.js","webpack://beaver-help/./node_modules/react-markdown/src/ast-to-react.js","webpack://beaver-help/./node_modules/react-markdown/src/react-markdown.js","webpack://beaver-help/./node_modules/react-markdown/src/rehype-filter.js","webpack://beaver-help/./node_modules/react-markdown/src/uri-transformer.js","webpack://beaver-help/./node_modules/react-modal/lib/components/Modal.js","webpack://beaver-help/./node_modules/react-modal/lib/components/ModalPortal.js","webpack://beaver-help/./node_modules/react-modal/lib/helpers/ariaAppHider.js","webpack://beaver-help/./node_modules/react-modal/lib/helpers/bodyTrap.js","webpack://beaver-help/./node_modules/react-modal/lib/helpers/classList.js","webpack://beaver-help/./node_modules/react-modal/lib/helpers/focusManager.js","webpack://beaver-help/./node_modules/react-modal/lib/helpers/portalOpenInstances.js","webpack://beaver-help/./node_modules/react-modal/lib/helpers/safeHTMLElement.js","webpack://beaver-help/./node_modules/react-modal/lib/helpers/scopeTab.js","webpack://beaver-help/./node_modules/react-modal/lib/helpers/tabbable.js","webpack://beaver-help/./node_modules/react-modal/lib/index.js","webpack://beaver-help/./node_modules/rehype-raw/index.js","webpack://beaver-help/./node_modules/rehype-sanitize/index.js","webpack://beaver-help/./node_modules/remark-parse/index.js","webpack://beaver-help/./node_modules/remark-rehype/index.js","webpack://beaver-help/./node_modules/space-separated-tokens/index.js","webpack://beaver-help/./node_modules/style-to-object/index.js","webpack://beaver-help/./node_modules/trough/index.js","webpack://beaver-help/./node_modules/trough/wrap.js","webpack://beaver-help/./node_modules/unified/index.js","webpack://beaver-help/./node_modules/unified/node_modules/is-buffer/index.js","webpack://beaver-help/./node_modules/unified/node_modules/is-plain-obj/index.js","webpack://beaver-help/./node_modules/unist-builder/index.js","webpack://beaver-help/./node_modules/unist-util-generated/index.js","webpack://beaver-help/./node_modules/unist-util-is/convert.js","webpack://beaver-help/./node_modules/unist-util-position/index.js","webpack://beaver-help/./node_modules/unist-util-stringify-position/index.js","webpack://beaver-help/./node_modules/unist-util-visit-parents/color.browser.js","webpack://beaver-help/./node_modules/unist-util-visit-parents/index.js","webpack://beaver-help/./node_modules/unist-util-visit/index.js","webpack://beaver-help/./node_modules/vfile-location/index.js","webpack://beaver-help/./node_modules/vfile-message/index.js","webpack://beaver-help/./node_modules/vfile/index.js","webpack://beaver-help/./node_modules/vfile/lib/core.js","webpack://beaver-help/./node_modules/vfile/lib/index.js","webpack://beaver-help/./node_modules/vfile/lib/minpath.browser.js","webpack://beaver-help/./node_modules/vfile/lib/minproc.browser.js","webpack://beaver-help/./node_modules/vfile/node_modules/is-buffer/index.js","webpack://beaver-help/./node_modules/xtend/immutable.js","webpack://beaver-help/./node_modules/zwitch/index.js","webpack://beaver-help/./src/components/atoms/commonH2.tsx","webpack://beaver-help/./src/components/atoms/commonH3.tsx","webpack://beaver-help/./src/hooks/useHelpData.ts","webpack://beaver-help/./src/components/atoms/customMarkdown.tsx","webpack://beaver-help/./src/hooks/useVote.ts","webpack://beaver-help/./src/graphql/queries.ts","webpack://beaver-help/./src/graphql/mutations.ts","webpack://beaver-help/./src/components/organisms/confirmPopup.tsx","webpack://beaver-help/./src/components/molecules/articleVote.tsx","webpack://beaver-help/./src/components/molecules/articleSection.tsx","webpack://beaver-help/./src/templates/articles.tsx","webpack://beaver-help//codebuild/output/src2232997588/src/beaver_help/node_modules/moment/locale|sync|/^\\.\\/.*$/","webpack://beaver-help/./node_modules/warning/warning.js"],"sourcesContent":["function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var superPropBase = require(\"./superPropBase.js\");\n\nfunction _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n module.exports = _get = Reflect.get;\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _get(target, property, receiver || target);\n}\n\nmodule.exports = _get;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var _typeof = require(\"@babel/runtime/helpers/typeof\")[\"default\"];\n\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\n\nfunction _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}\n\nmodule.exports = _superPropBase;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\n\nvar iterableToArray = require(\"./iterableToArray.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","'use strict';\n\nmodule.exports = bail;\n\nfunction bail(err) {\n if (err) {\n throw err;\n }\n}","'use strict';\n\nexports.parse = parse;\nexports.stringify = stringify;\nvar comma = ',';\nvar space = ' ';\nvar empty = ''; // Parse comma-separated tokens to an array.\n\nfunction parse(value) {\n var values = [];\n var input = String(value || empty);\n var index = input.indexOf(comma);\n var lastIndex = 0;\n var end = false;\n var val;\n\n while (!end) {\n if (index === -1) {\n index = input.length;\n end = true;\n }\n\n val = input.slice(lastIndex, index).trim();\n\n if (val || !end) {\n values.push(val);\n }\n\n lastIndex = index + 1;\n index = input.indexOf(comma, lastIndex);\n }\n\n return values;\n} // Compile an array to comma-separated tokens.\n// `options.padLeft` (default: `true`) pads a space left of each token, and\n// `options.padRight` (default: `false`) pads a space to the right of each token.\n\n\nfunction stringify(values, options) {\n var settings = options || {};\n var left = settings.padLeft === false ? empty : space;\n var right = settings.padRight ? space : empty; // Ensure the last empty entry is seen.\n\n if (values[values.length - 1] === empty) {\n values = values.concat(empty);\n }\n\n return values.join(right + comma + left).trim();\n}","/*!\n Copyright (c) 2015 Jed Watson.\n Based on code that is Copyright 2013-2015, Facebook, Inc.\n All rights reserved.\n*/\n\n/* global define */\n(function () {\n 'use strict';\n\n var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n var ExecutionEnvironment = {\n canUseDOM: canUseDOM,\n canUseWorkers: typeof Worker !== 'undefined',\n canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent),\n canUseViewport: canUseDOM && !!window.screen\n };\n\n if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n define(function () {\n return ExecutionEnvironment;\n });\n } else if (typeof module !== 'undefined' && module.exports) {\n module.exports = ExecutionEnvironment;\n } else {\n window.ExecutionEnvironment = ExecutionEnvironment;\n }\n})();","'use strict';\n\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar defineProperty = Object.defineProperty;\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nvar isArray = function isArray(arr) {\n if (typeof Array.isArray === 'function') {\n return Array.isArray(arr);\n }\n\n return toStr.call(arr) === '[object Array]';\n};\n\nvar isPlainObject = function isPlainObject(obj) {\n if (!obj || toStr.call(obj) !== '[object Object]') {\n return false;\n }\n\n var hasOwnConstructor = hasOwn.call(obj, 'constructor');\n var hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf'); // Not own constructor property must be Object\n\n if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n return false;\n } // Own properties are enumerated firstly, so to speed up,\n // if last one is own, then all properties are own.\n\n\n var key;\n\n for (key in obj) {\n /**/\n }\n\n return typeof key === 'undefined' || hasOwn.call(obj, key);\n}; // If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target\n\n\nvar setProperty = function setProperty(target, options) {\n if (defineProperty && options.name === '__proto__') {\n defineProperty(target, options.name, {\n enumerable: true,\n configurable: true,\n value: options.newValue,\n writable: true\n });\n } else {\n target[options.name] = options.newValue;\n }\n}; // Return undefined instead of __proto__ if '__proto__' is not an own property\n\n\nvar getProperty = function getProperty(obj, name) {\n if (name === '__proto__') {\n if (!hasOwn.call(obj, name)) {\n return void 0;\n } else if (gOPD) {\n // In early versions of node, obj['__proto__'] is buggy when obj has\n // __proto__ as an own property. Object.getOwnPropertyDescriptor() works.\n return gOPD(obj, name).value;\n }\n }\n\n return obj[name];\n};\n\nmodule.exports = function extend() {\n var options, name, src, copy, copyIsArray, clone;\n var target = arguments[0];\n var i = 1;\n var length = arguments.length;\n var deep = false; // Handle a deep copy situation\n\n if (typeof target === 'boolean') {\n deep = target;\n target = arguments[1] || {}; // skip the boolean and the target\n\n i = 2;\n }\n\n if (target == null || typeof target !== 'object' && typeof target !== 'function') {\n target = {};\n }\n\n for (; i < length; ++i) {\n options = arguments[i]; // Only deal with non-null/undefined values\n\n if (options != null) {\n // Extend the base object\n for (name in options) {\n src = getProperty(target, name);\n copy = getProperty(options, name); // Prevent never-ending loop\n\n if (target !== copy) {\n // Recurse if we're merging plain objects or arrays\n if (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {\n if (copyIsArray) {\n copyIsArray = false;\n clone = src && isArray(src) ? src : [];\n } else {\n clone = src && isPlainObject(src) ? src : {};\n } // Never move original objects, clone them\n\n\n setProperty(target, {\n name: name,\n newValue: extend(deep, clone, copy)\n }); // Don't bring in undefined values\n } else if (typeof copy !== 'undefined') {\n setProperty(target, {\n name: name,\n newValue: copy\n });\n }\n }\n }\n }\n } // Return the modified object\n\n\n return target;\n};","'use strict';\n\nvar html = require('property-information/html');\n\nvar svg = require('property-information/svg');\n\nvar find = require('property-information/find');\n\nvar hastToReact = require('property-information/hast-to-react.json');\n\nvar spaces = require('space-separated-tokens');\n\nvar commas = require('comma-separated-tokens');\n\nvar style = require('style-to-object');\n\nvar ns = require('web-namespaces');\n\nvar convert = require('unist-util-is/convert');\n\nvar root = convert('root');\nvar element = convert('element');\nvar text = convert('text');\nmodule.exports = wrapper;\n\nfunction wrapper(h, node, options) {\n var settings = options || {};\n var r = react(h);\n var v = vue(h);\n var vd = vdom(h);\n var prefix;\n\n if (typeof h !== 'function') {\n throw new Error('h is not a function');\n }\n\n if (typeof settings === 'string' || typeof settings === 'boolean') {\n prefix = settings;\n settings = {};\n } else {\n prefix = settings.prefix;\n }\n\n if (root(node)) {\n node = node.children.length === 1 && element(node.children[0]) ? node.children[0] : {\n type: 'element',\n tagName: 'div',\n properties: {},\n children: node.children\n };\n } else if (!element(node)) {\n throw new Error('Expected root or element, not `' + (node && node.type || node) + '`');\n }\n\n return toH(h, node, {\n schema: settings.space === 'svg' ? svg : html,\n prefix: prefix == null ? r || v || vd ? 'h-' : null : prefix,\n key: 0,\n react: r,\n vue: v,\n vdom: vd,\n hyperscript: hyperscript(h)\n });\n} // Transform a hast node through a hyperscript interface to *anything*!\n\n\nfunction toH(h, node, ctx) {\n var parentSchema = ctx.schema;\n var schema = parentSchema;\n var name = node.tagName;\n var attributes = {};\n var nodes = [];\n var index = -1;\n var key;\n var value;\n\n if (parentSchema.space === 'html' && name.toLowerCase() === 'svg') {\n schema = svg;\n ctx.schema = schema;\n }\n\n for (key in node.properties) {\n addAttribute(attributes, key, node.properties[key], ctx, name);\n }\n\n if (ctx.vdom) {\n if (schema.space === 'html') {\n name = name.toUpperCase();\n } else {\n attributes.namespace = ns[schema.space];\n }\n }\n\n if (ctx.prefix) {\n ctx.key++;\n attributes.key = ctx.prefix + ctx.key;\n }\n\n if (node.children) {\n while (++index < node.children.length) {\n value = node.children[index];\n\n if (element(value)) {\n nodes.push(toH(h, value, ctx));\n } else if (text(value)) {\n nodes.push(value.value);\n }\n }\n } // Restore parent schema.\n\n\n ctx.schema = parentSchema; // Ensure no React warnings are triggered for void elements having children\n // passed in.\n\n return nodes.length ? h.call(node, name, attributes, nodes) : h.call(node, name, attributes);\n}\n\nfunction addAttribute(props, prop, value, ctx, name) {\n var info = find(ctx.schema, prop);\n var subprop; // Ignore nullish and `NaN` values.\n // Ignore `false` and falsey known booleans for hyperlike DSLs.\n\n if (value == null || value !== value || value === false && (ctx.vue || ctx.vdom || ctx.hyperscript) || !value && info.boolean && (ctx.vue || ctx.vdom || ctx.hyperscript)) {\n return;\n }\n\n if (value && typeof value === 'object' && 'length' in value) {\n // Accept `array`.\n // Most props are space-separated.\n value = (info.commaSeparated ? commas : spaces).stringify(value);\n } // Treat `true` and truthy known booleans.\n\n\n if (info.boolean && ctx.hyperscript) {\n value = '';\n } // VDOM, Vue, and React accept `style` as object.\n\n\n if (info.property === 'style' && typeof value === 'string' && (ctx.react || ctx.vue || ctx.vdom)) {\n value = parseStyle(value, name);\n }\n\n if (ctx.vue) {\n if (info.property !== 'style') subprop = 'attrs';\n } else if (!info.mustUseProperty) {\n if (ctx.vdom) {\n if (info.property !== 'style') subprop = 'attributes';\n } else if (ctx.hyperscript) {\n subprop = 'attrs';\n }\n }\n\n if (subprop) {\n if (!props[subprop]) props[subprop] = {};\n props[subprop][info.attribute] = value;\n } else if (info.space && ctx.react) {\n props[hastToReact[info.property] || info.property] = value;\n } else {\n props[info.attribute] = value;\n }\n} // Check if `h` is `react.createElement`.\n\n\nfunction react(h) {\n var node = h && h('div');\n return Boolean(node && ('_owner' in node || '_store' in node) && node.key == null);\n} // Check if `h` is `hyperscript`.\n\n\nfunction hyperscript(h) {\n return Boolean(h && h.context && h.cleanup);\n} // Check if `h` is `virtual-dom/h`.\n\n\nfunction vdom(h) {\n return h && h('div').type === 'VirtualNode';\n}\n\nfunction vue(h) {\n var node = h && h('div');\n return Boolean(node && node.context && node.context._isVue);\n}\n\nfunction parseStyle(value, tagName) {\n var result = {};\n\n try {\n style(value, iterator);\n } catch (error) {\n error.message = tagName + '[style]' + error.message.slice('undefined'.length);\n throw error;\n }\n\n return result;\n\n function iterator(name, value) {\n if (name.slice(0, 4) === '-ms-') name = 'ms-' + name.slice(4);\n result[name.replace(/-([a-z])/g, styleReplacer)] = value;\n }\n}\n\nfunction styleReplacer($0, $1) {\n return $1.toUpperCase();\n}","'use strict';\n\nvar s = require('hastscript/svg');\n\nvar h = require('hastscript');\n\nvar find = require('property-information/find');\n\nvar html = require('property-information/html');\n\nvar svg = require('property-information/svg');\n\nvar vfileLocation = require('vfile-location');\n\nvar ns = require('web-namespaces');\n\nmodule.exports = wrapper;\nvar own = {}.hasOwnProperty; // Handlers.\n\nvar map = {\n '#document': root,\n '#document-fragment': root,\n '#text': text,\n '#comment': comment,\n '#documentType': doctype\n}; // Wrapper to normalise options.\n\nfunction wrapper(ast, options) {\n var settings = options || {};\n var file;\n\n if (settings.messages) {\n file = settings;\n settings = {};\n } else {\n file = settings.file;\n }\n\n return transform(ast, {\n schema: settings.space === 'svg' ? svg : html,\n file: file,\n verbose: settings.verbose\n });\n} // Transform a node.\n\n\nfunction transform(ast, config) {\n var schema = config.schema;\n var fn = own.call(map, ast.nodeName) ? map[ast.nodeName] : element;\n var children;\n var result;\n var position;\n\n if (fn === element) {\n config.schema = ast.namespaceURI === ns.svg ? svg : html;\n }\n\n if (ast.childNodes) {\n children = nodes(ast.childNodes, config);\n }\n\n result = fn(ast, children, config);\n\n if (ast.sourceCodeLocation && config.file) {\n position = location(result, ast.sourceCodeLocation, config);\n\n if (position) {\n config.location = true;\n result.position = position;\n }\n }\n\n config.schema = schema;\n return result;\n} // Transform children.\n\n\nfunction nodes(children, config) {\n var index = -1;\n var result = [];\n\n while (++index < children.length) {\n result[index] = transform(children[index], config);\n }\n\n return result;\n} // Transform a document.\n// Stores `ast.quirksMode` in `node.data.quirksMode`.\n\n\nfunction root(ast, children, config) {\n var result = {\n type: 'root',\n children: children,\n data: {\n quirksMode: ast.mode === 'quirks' || ast.mode === 'limited-quirks'\n }\n };\n var doc;\n var location;\n\n if (config.file && config.location) {\n doc = String(config.file);\n location = vfileLocation(doc);\n result.position = {\n start: location.toPoint(0),\n end: location.toPoint(doc.length)\n };\n }\n\n return result;\n} // Transform a doctype.\n\n\nfunction doctype(ast) {\n return {\n type: 'doctype',\n name: ast.name || '',\n public: ast.publicId || null,\n system: ast.systemId || null\n };\n} // Transform a text.\n\n\nfunction text(ast) {\n return {\n type: 'text',\n value: ast.value\n };\n} // Transform a comment.\n\n\nfunction comment(ast) {\n return {\n type: 'comment',\n value: ast.data\n };\n} // Transform an element.\n\n\nfunction element(ast, children, config) {\n var fn = config.schema.space === 'svg' ? s : h;\n var props = {};\n var index = -1;\n var result;\n var attribute;\n var pos;\n var start;\n var end;\n\n while (++index < ast.attrs.length) {\n attribute = ast.attrs[index];\n props[(attribute.prefix ? attribute.prefix + ':' : '') + attribute.name] = attribute.value;\n }\n\n result = fn(ast.tagName, props, children);\n\n if (result.tagName === 'template' && 'content' in ast) {\n pos = ast.sourceCodeLocation;\n start = pos && pos.startTag && position(pos.startTag).end;\n end = pos && pos.endTag && position(pos.endTag).start;\n result.content = transform(ast.content, config);\n\n if ((start || end) && config.file) {\n result.content.position = {\n start: start,\n end: end\n };\n }\n }\n\n return result;\n} // Create clean positional information.\n\n\nfunction location(node, location, config) {\n var result = position(location);\n var tail;\n var key;\n var props;\n\n if (node.type === 'element') {\n tail = node.children[node.children.length - 1]; // Bug for unclosed with children.\n // See: .\n\n if (!location.endTag && tail && tail.position && tail.position.end) {\n result.end = Object.assign({}, tail.position.end);\n }\n\n if (config.verbose) {\n props = {};\n\n for (key in location.attrs) {\n props[find(config.schema, key).property] = position(location.attrs[key]);\n }\n\n node.data = {\n position: {\n opening: position(location.startTag),\n closing: location.endTag ? position(location.endTag) : null,\n properties: props\n }\n };\n }\n }\n\n return result;\n}\n\nfunction position(loc) {\n var start = point({\n line: loc.startLine,\n column: loc.startCol,\n offset: loc.startOffset\n });\n var end = point({\n line: loc.endLine,\n column: loc.endCol,\n offset: loc.endOffset\n });\n return start || end ? {\n start: start,\n end: end\n } : null;\n}\n\nfunction point(point) {\n return point.line && point.column ? point : null;\n}","'use strict';\n\nmodule.exports = parse;\nvar search = /[#.]/g; // Create a hast element from a simple CSS selector.\n\nfunction parse(selector, defaultTagName) {\n var value = selector || '';\n var name = defaultTagName || 'div';\n var props = {};\n var start = 0;\n var subvalue;\n var previous;\n var match;\n\n while (start < value.length) {\n search.lastIndex = start;\n match = search.exec(value);\n subvalue = value.slice(start, match ? match.index : value.length);\n\n if (subvalue) {\n if (!previous) {\n name = subvalue;\n } else if (previous === '#') {\n props.id = subvalue;\n } else if (props.className) {\n props.className.push(subvalue);\n } else {\n props.className = [subvalue];\n }\n\n start += subvalue.length;\n }\n\n if (match) {\n previous = match[0];\n start++;\n }\n }\n\n return {\n type: 'element',\n tagName: name,\n properties: props,\n children: []\n };\n}","'use strict';\n\nvar Parser = require('parse5/lib/parser');\n\nvar pos = require('unist-util-position');\n\nvar visit = require('unist-util-visit');\n\nvar fromParse5 = require('hast-util-from-parse5');\n\nvar toParse5 = require('hast-util-to-parse5');\n\nvar voids = require('html-void-elements');\n\nvar ns = require('web-namespaces');\n\nvar zwitch = require('zwitch');\n\nvar xtend = require('xtend');\n\nmodule.exports = wrap;\nvar inTemplateMode = 'IN_TEMPLATE_MODE';\nvar dataState = 'DATA_STATE';\nvar characterToken = 'CHARACTER_TOKEN';\nvar startTagToken = 'START_TAG_TOKEN';\nvar endTagToken = 'END_TAG_TOKEN';\nvar commentToken = 'COMMENT_TOKEN';\nvar doctypeToken = 'DOCTYPE_TOKEN';\nvar parseOptions = {\n sourceCodeLocationInfo: true,\n scriptingEnabled: false\n};\n\nfunction wrap(tree, file, options) {\n var parser = new Parser(parseOptions);\n var one = zwitch('type', {\n handlers: {\n root: root,\n element: element,\n text: text,\n comment: comment,\n doctype: doctype,\n raw: raw\n },\n unknown: unknown\n });\n var stitches;\n var tokenizer;\n var preprocessor;\n var posTracker;\n var locationTracker;\n var result;\n var index;\n\n if (file && !('contents' in file)) {\n options = file;\n file = undefined;\n }\n\n if (options && options.passThrough) {\n index = -1;\n\n while (++index < options.passThrough.length) {\n one.handlers[options.passThrough[index]] = stitch;\n }\n }\n\n result = fromParse5(documentMode(tree) ? document() : fragment(), file);\n\n if (stitches) {\n visit(result, 'comment', mend);\n } // Unpack if possible and when not given a `root`.\n\n\n if (tree.type !== 'root' && result.children.length === 1) {\n return result.children[0];\n }\n\n return result;\n\n function mend(node, index, parent) {\n if (node.value.stitch) {\n parent.children[index] = node.value.stitch;\n return index;\n }\n }\n\n function fragment() {\n var context = {\n nodeName: 'template',\n tagName: 'template',\n attrs: [],\n namespaceURI: ns.html,\n childNodes: []\n };\n var mock = {\n nodeName: 'documentmock',\n tagName: 'documentmock',\n attrs: [],\n namespaceURI: ns.html,\n childNodes: []\n };\n var doc = {\n nodeName: '#document-fragment',\n childNodes: []\n };\n\n parser._bootstrap(mock, context);\n\n parser._pushTmplInsertionMode(inTemplateMode);\n\n parser._initTokenizerForFragmentParsing();\n\n parser._insertFakeRootElement();\n\n parser._resetInsertionMode();\n\n parser._findFormInFragmentContext();\n\n tokenizer = parser.tokenizer;\n preprocessor = tokenizer.preprocessor;\n locationTracker = tokenizer.__mixins[0];\n posTracker = locationTracker.posTracker;\n one(tree);\n\n parser._adoptNodes(mock.childNodes[0], doc);\n\n return doc;\n }\n\n function document() {\n var doc = parser.treeAdapter.createDocument();\n\n parser._bootstrap(doc, null);\n\n tokenizer = parser.tokenizer;\n preprocessor = tokenizer.preprocessor;\n locationTracker = tokenizer.__mixins[0];\n posTracker = locationTracker.posTracker;\n one(tree);\n return doc;\n }\n\n function all(nodes) {\n var index = -1;\n /* istanbul ignore else - invalid nodes, see rehypejs/rehype-raw#7. */\n\n if (nodes) {\n while (++index < nodes.length) {\n one(nodes[index]);\n }\n }\n }\n\n function root(node) {\n all(node.children);\n }\n\n function element(node) {\n resetTokenizer();\n\n parser._processToken(startTag(node), ns.html);\n\n all(node.children);\n\n if (voids.indexOf(node.tagName) < 0) {\n resetTokenizer();\n\n parser._processToken(endTag(node));\n }\n }\n\n function text(node) {\n resetTokenizer();\n\n parser._processToken({\n type: characterToken,\n chars: node.value,\n location: createParse5Location(node)\n });\n }\n\n function doctype(node) {\n var p5 = toParse5(node);\n resetTokenizer();\n\n parser._processToken({\n type: doctypeToken,\n name: p5.name,\n forceQuirks: false,\n publicId: p5.publicId,\n systemId: p5.systemId,\n location: createParse5Location(node)\n });\n }\n\n function comment(node) {\n resetTokenizer();\n\n parser._processToken({\n type: commentToken,\n data: node.value,\n location: createParse5Location(node)\n });\n }\n\n function raw(node) {\n var start = pos.start(node);\n var line = start.line || 1;\n var column = start.column || 1;\n var offset = start.offset || 0;\n var token; // Reset preprocessor:\n // See: .\n\n preprocessor.html = null;\n preprocessor.pos = -1;\n preprocessor.lastGapPos = -1;\n preprocessor.lastCharPos = -1;\n preprocessor.gapStack = [];\n preprocessor.skipNextNewLine = false;\n preprocessor.lastChunkWritten = false;\n preprocessor.endOfChunkHit = false; // Reset preprocessor mixin:\n // See: .\n\n posTracker.isEol = false;\n posTracker.lineStartPos = -column + 1; // Looks weird, but ensures we get correct positional info.\n\n posTracker.droppedBufferSize = offset;\n posTracker.offset = 0;\n posTracker.col = 1;\n posTracker.line = line; // Reset location tracker:\n // See: .\n\n locationTracker.currentAttrLocation = null;\n locationTracker.ctLoc = createParse5Location(node); // See the code for `parse` and `parseFragment`:\n // See: .\n\n tokenizer.write(node.value);\n\n parser._runParsingLoop(null); // Process final characters if they’re still there after hibernating.\n // Similar to:\n // See: .\n\n\n token = tokenizer.currentCharacterToken;\n\n if (token) {\n token.location.endLine = posTracker.line;\n token.location.endCol = posTracker.col + 1;\n token.location.endOffset = posTracker.offset + 1;\n\n parser._processToken(token);\n }\n }\n\n function stitch(node) {\n var clone = Object.assign({}, node);\n stitches = true; // Recurse, because to somewhat handle `[]` (where `[]` denotes the\n // passed through node).\n\n if (node.children) {\n clone.children = wrap({\n type: 'root',\n children: node.children\n }, file, options).children;\n } // Hack: `value` is supposed to be a string, but as none of the tools\n // (`parse5` or `hast-util-from-parse5`) looks at it, we can pass nodes\n // through.\n\n\n comment({\n value: {\n stitch: clone\n }\n });\n }\n\n function resetTokenizer() {\n // Reset tokenizer:\n // See: .\n // Especially putting it back in the `data` state is useful: some elements,\n // like textareas and iframes, change the state.\n // See GH-7.\n // But also if broken HTML is in `raw`, and then a correct element is given.\n // See GH-11.\n tokenizer.tokenQueue = [];\n tokenizer.state = dataState;\n tokenizer.returnState = '';\n tokenizer.charRefCode = -1;\n tokenizer.tempBuff = [];\n tokenizer.lastStartTagName = '';\n tokenizer.consumedAfterSnapshot = -1;\n tokenizer.active = false;\n tokenizer.currentCharacterToken = null;\n tokenizer.currentToken = null;\n tokenizer.currentAttr = null;\n }\n}\n\nfunction startTag(node) {\n var location = createParse5Location(node);\n location.startTag = xtend(location);\n return {\n type: startTagToken,\n tagName: node.tagName,\n selfClosing: false,\n attrs: attributes(node),\n location: location\n };\n}\n\nfunction attributes(node) {\n return toParse5({\n tagName: node.tagName,\n type: 'element',\n properties: node.properties\n }).attrs;\n}\n\nfunction endTag(node) {\n var location = createParse5Location(node);\n location.endTag = xtend(location);\n return {\n type: endTagToken,\n tagName: node.tagName,\n attrs: [],\n location: location\n };\n}\n\nfunction unknown(node) {\n throw new Error('Cannot compile `' + node.type + '` node');\n}\n\nfunction documentMode(node) {\n var head = node.type === 'root' ? node.children[0] : node;\n return head && (head.type === 'doctype' || head.tagName === 'html');\n}\n\nfunction createParse5Location(node) {\n var start = pos.start(node);\n var end = pos.end(node);\n return {\n startLine: start.line,\n startCol: start.column,\n startOffset: start.offset,\n endLine: end.line,\n endCol: end.column,\n endOffset: end.offset\n };\n}","'use strict';\n\nmodule.exports = require('./lib');","'use strict';\n\nvar xtend = require('xtend');\n\nvar defaults = require('./github.json');\n\nmodule.exports = wrapper;\nvar own = {}.hasOwnProperty;\nvar push = [].push;\nvar nodeSchema = {\n root: {\n children: all\n },\n doctype: handleDoctype,\n comment: handleComment,\n element: {\n tagName: handleTagName,\n properties: handleProperties,\n children: all\n },\n text: {\n value: handleValue\n },\n '*': {\n data: allow,\n position: allow\n }\n}; // Sanitize `node`, according to `schema`.\n\nfunction wrapper(node, schema) {\n var ctx = {\n type: 'root',\n children: []\n };\n var replace;\n\n if (node && typeof node === 'object' && node.type) {\n replace = one(xtend(defaults, schema || {}), node, []);\n\n if (replace) {\n if ('length' in replace) {\n if (replace.length === 1) {\n ctx = replace[0];\n } else {\n ctx.children = replace;\n }\n } else {\n ctx = replace;\n }\n }\n }\n\n return ctx;\n} // Sanitize `node`.\n\n\nfunction one(schema, node, stack) {\n var type = node && node.type;\n var replacement = {\n type: node.type\n };\n var replace;\n var definition;\n var allowed;\n var result;\n var key;\n\n if (own.call(nodeSchema, type)) {\n definition = nodeSchema[type];\n\n if (typeof definition === 'function') {\n definition = definition(schema, node);\n }\n\n if (definition) {\n replace = true;\n allowed = xtend(definition, nodeSchema['*']);\n\n for (key in allowed) {\n result = allowed[key](schema, node[key], node, stack);\n\n if (result === false) {\n replace = null; // Set the non-safe value.\n\n replacement[key] = node[key];\n } else if (result != null) {\n replacement[key] = result;\n }\n }\n }\n }\n\n if (replace) {\n return replacement;\n }\n\n return replacement.children && replacement.children.length && schema.strip.indexOf(replacement.tagName) < 0 ? replacement.children : null;\n} // Sanitize `children`.\n\n\nfunction all(schema, children, node, stack) {\n var results = [];\n var index = -1;\n var value;\n\n if (children) {\n stack.push(node.tagName);\n\n while (++index < children.length) {\n value = one(schema, children[index], stack);\n\n if (value) {\n if ('length' in value) {\n push.apply(results, value);\n } else {\n results.push(value);\n }\n }\n }\n\n stack.pop();\n }\n\n return results;\n} // Sanitize `properties`.\n\n\nfunction handleProperties(schema, properties, node, stack) {\n var name = handleTagName(schema, node.tagName, node, stack);\n var reqs = schema.required ||\n /* istanbul ignore next */\n {};\n var props = properties || {};\n var allowed = xtend(toPropertyValueMap(schema.attributes['*']), toPropertyValueMap(own.call(schema.attributes, name) ? schema.attributes[name] : []));\n var result = {};\n var definition;\n var key;\n var value;\n\n for (key in props) {\n if (own.call(allowed, key)) {\n definition = allowed[key];\n } else if (data(key) && own.call(allowed, 'data*')) {\n definition = allowed['data*'];\n } else {\n continue;\n }\n\n value = props[key];\n value = value && typeof value === 'object' && 'length' in value ? handlePropertyValues(schema, value, key, definition) : handlePropertyValue(schema, value, key, definition);\n\n if (value != null) {\n result[key] = value;\n }\n }\n\n if (own.call(reqs, name)) {\n for (key in reqs[name]) {\n if (!own.call(result, key)) {\n result[key] = reqs[name][key];\n }\n }\n }\n\n return result;\n} // Sanitize a property value which is a list.\n\n\nfunction handlePropertyValues(schema, values, prop, definition) {\n var result = [];\n var index = -1;\n var value;\n\n while (++index < values.length) {\n value = handlePropertyValue(schema, values[index], prop, definition);\n\n if (value != null) {\n result.push(value);\n }\n }\n\n return result;\n} // Sanitize a property value.\n\n\nfunction handlePropertyValue(schema, value, prop, definition) {\n if ((typeof value === 'boolean' || typeof value === 'number' || typeof value === 'string') && handleProtocol(schema, value, prop) && (!definition.length || definition.indexOf(value) > -1)) {\n return schema.clobber.indexOf(prop) < 0 ? value : schema.clobberPrefix + value;\n }\n} // Check whether `value` is a safe URL.\n\n\nfunction handleProtocol(schema, value, prop) {\n var url = String(value);\n var colon = url.indexOf(':');\n var questionMark = url.indexOf('?');\n var numberSign = url.indexOf('#');\n var slash = url.indexOf('/');\n var protocols = own.call(schema.protocols, prop) ? schema.protocols[prop].concat() : [];\n var index = -1;\n\n if (!protocols.length || colon < 0 || slash > -1 && colon > slash || questionMark > -1 && colon > questionMark || numberSign > -1 && colon > numberSign) {\n return true;\n }\n\n while (++index < protocols.length) {\n if (colon === protocols[index].length && url.slice(0, protocols[index].length) === protocols[index]) {\n return true;\n }\n }\n\n return false;\n} // Always return a valid HTML5 doctype.\n\n\nfunction handleDoctypeName() {\n return 'html';\n} // Sanitize `tagName`.\n\n\nfunction handleTagName(schema, tagName, node, stack) {\n var name = typeof tagName === 'string' && tagName;\n var index = -1;\n\n if (!name || name === '*' || schema.tagNames.indexOf(name) < 0) {\n return false;\n } // Some nodes can break out of their context if they don’t have a certain\n // ancestor.\n\n\n if (own.call(schema.ancestors, name)) {\n while (++index < schema.ancestors[name].length) {\n if (stack.indexOf(schema.ancestors[name][index]) > -1) {\n return name;\n }\n }\n\n return false;\n }\n\n return name;\n}\n\nfunction handleDoctype(schema) {\n return schema.allowDoctypes ? {\n name: handleDoctypeName\n } : null;\n}\n\nfunction handleComment(schema) {\n return schema.allowComments ? {\n value: handleCommentValue\n } : null;\n} // See \n\n\nfunction handleCommentValue(schema, value) {\n var result = typeof value === 'string' ? value : '';\n var index = result.indexOf('-->');\n return index < 0 ? result : result.slice(0, index);\n} // Sanitize `value`.\n\n\nfunction handleValue(schema, value) {\n return typeof value === 'string' ? value : '';\n} // Create a map from a list of props or a list of properties and values.\n\n\nfunction toPropertyValueMap(values) {\n var result = {};\n var index = -1;\n var value;\n\n while (++index < values.length) {\n value = values[index];\n\n if (value && typeof value === 'object' && 'length' in value) {\n result[value[0]] = value.slice(1);\n } else {\n result[value] = [];\n }\n }\n\n return result;\n} // Allow `value`.\n\n\nfunction allow(schema, value) {\n return value;\n} // Check if `prop` is a data property.\n\n\nfunction data(prop) {\n return prop.length > 4 && prop.slice(0, 4).toLowerCase() === 'data';\n}","'use strict';\n\nvar xtend = require('xtend');\n\nvar html = require('property-information/html');\n\nvar svg = require('property-information/svg');\n\nvar find = require('property-information/find');\n\nvar toH = require('hast-to-hyperscript');\n\nvar ns = require('web-namespaces');\n\nvar zwitch = require('zwitch');\n\nmodule.exports = transform;\nvar ignoredSpaces = ['svg', 'html'];\nvar one = zwitch('type');\none.handlers.root = root;\none.handlers.element = element;\none.handlers.text = text;\none.handlers.comment = comment;\none.handlers.doctype = doctype; // Transform a tree from hast to Parse5’s AST.\n\nfunction transform(tree, space) {\n return one(tree, space === 'svg' ? svg : html);\n}\n\nfunction root(node, schema) {\n var data = node.data || {};\n var mode = data.quirksMode ? 'quirks' : 'no-quirks';\n return patch(node, {\n nodeName: '#document',\n mode: mode\n }, schema);\n}\n\nfunction fragment(node, schema) {\n return patch(node, {\n nodeName: '#document-fragment'\n }, schema);\n}\n\nfunction doctype(node, schema) {\n return patch(node, {\n nodeName: '#documentType',\n name: node.name,\n publicId: node.public || '',\n systemId: node.system || ''\n }, schema);\n}\n\nfunction text(node, schema) {\n return patch(node, {\n nodeName: '#text',\n value: node.value\n }, schema);\n}\n\nfunction comment(node, schema) {\n return patch(node, {\n nodeName: '#comment',\n data: node.value\n }, schema);\n}\n\nfunction element(node, schema) {\n var space = schema.space;\n var shallow = xtend(node, {\n children: []\n });\n return toH(h, shallow, {\n space: space\n });\n\n function h(name, attrs) {\n var values = [];\n var p5;\n var attr;\n var value;\n var key;\n var info;\n var pos;\n\n for (key in attrs) {\n info = find(schema, key);\n attr = attrs[key];\n\n if (attr === false || info.boolean && !attr) {\n continue;\n }\n\n value = {\n name: key,\n value: attr === true ? '' : String(attr)\n };\n\n if (info.space && ignoredSpaces.indexOf(info.space) === -1) {\n pos = key.indexOf(':');\n\n if (pos === -1) {\n value.prefix = '';\n } else {\n value.name = key.slice(pos + 1);\n value.prefix = key.slice(0, pos);\n }\n\n value.namespace = ns[info.space];\n }\n\n values.push(value);\n }\n\n p5 = patch(node, {\n nodeName: name,\n tagName: name,\n attrs: values\n }, schema);\n\n if (name === 'template') {\n p5.content = fragment(shallow.content, schema);\n }\n\n return p5;\n }\n} // Patch specific properties.\n\n\nfunction patch(node, p5, parentSchema) {\n var schema = parentSchema;\n var position = node.position;\n var children = node.children;\n var childNodes = [];\n var length = children ? children.length : 0;\n var index = -1;\n var child;\n\n if (node.type === 'element') {\n if (schema.space === 'html' && node.tagName === 'svg') {\n schema = svg;\n }\n\n p5.namespaceURI = ns[schema.space];\n }\n\n while (++index < length) {\n child = one(children[index], schema);\n child.parentNode = p5;\n childNodes[index] = child;\n }\n\n if (node.type === 'element' || node.type === 'root') {\n p5.childNodes = childNodes;\n }\n\n if (position && position.start && position.end) {\n p5.sourceCodeLocation = {\n startLine: position.start.line,\n startCol: position.start.column,\n startOffset: position.start.offset,\n endLine: position.end.line,\n endCol: position.end.column,\n endOffset: position.end.offset\n };\n }\n\n return p5;\n}","'use strict';\n\nvar find = require('property-information/find');\n\nvar normalize = require('property-information/normalize');\n\nvar parseSelector = require('hast-util-parse-selector');\n\nvar spaces = require('space-separated-tokens').parse;\n\nvar commas = require('comma-separated-tokens').parse;\n\nmodule.exports = factory;\nvar own = {}.hasOwnProperty;\n\nfunction factory(schema, defaultTagName, caseSensitive) {\n var adjust = caseSensitive ? createAdjustMap(caseSensitive) : null;\n return h; // Hyperscript compatible DSL for creating virtual hast trees.\n\n function h(selector, properties) {\n var node = parseSelector(selector, defaultTagName);\n var children = Array.prototype.slice.call(arguments, 2);\n var name = node.tagName.toLowerCase();\n var property;\n node.tagName = adjust && own.call(adjust, name) ? adjust[name] : name;\n\n if (properties && isChildren(properties, node)) {\n children.unshift(properties);\n properties = null;\n }\n\n if (properties) {\n for (property in properties) {\n addProperty(node.properties, property, properties[property]);\n }\n }\n\n addChild(node.children, children);\n\n if (node.tagName === 'template') {\n node.content = {\n type: 'root',\n children: node.children\n };\n node.children = [];\n }\n\n return node;\n }\n\n function addProperty(properties, key, value) {\n var info;\n var property;\n var result; // Ignore nullish and NaN values.\n\n if (value === null || value === undefined || value !== value) {\n return;\n }\n\n info = find(schema, key);\n property = info.property;\n result = value; // Handle list values.\n\n if (typeof result === 'string') {\n if (info.spaceSeparated) {\n result = spaces(result);\n } else if (info.commaSeparated) {\n result = commas(result);\n } else if (info.commaOrSpaceSeparated) {\n result = spaces(commas(result).join(' '));\n }\n } // Accept `object` on style.\n\n\n if (property === 'style' && typeof value !== 'string') {\n result = style(result);\n } // Class-names (which can be added both on the `selector` and here).\n\n\n if (property === 'className' && properties.className) {\n result = properties.className.concat(result);\n }\n\n properties[property] = parsePrimitives(info, property, result);\n }\n}\n\nfunction isChildren(value, node) {\n return typeof value === 'string' || 'length' in value || isNode(node.tagName, value);\n}\n\nfunction isNode(tagName, value) {\n var type = value.type;\n\n if (tagName === 'input' || !type || typeof type !== 'string') {\n return false;\n }\n\n if (typeof value.children === 'object' && 'length' in value.children) {\n return true;\n }\n\n type = type.toLowerCase();\n\n if (tagName === 'button') {\n return type !== 'menu' && type !== 'submit' && type !== 'reset' && type !== 'button';\n }\n\n return 'value' in value;\n}\n\nfunction addChild(nodes, value) {\n var index;\n var length;\n\n if (typeof value === 'string' || typeof value === 'number') {\n nodes.push({\n type: 'text',\n value: String(value)\n });\n return;\n }\n\n if (typeof value === 'object' && 'length' in value) {\n index = -1;\n length = value.length;\n\n while (++index < length) {\n addChild(nodes, value[index]);\n }\n\n return;\n }\n\n if (typeof value !== 'object' || !('type' in value)) {\n throw new Error('Expected node, nodes, or string, got `' + value + '`');\n }\n\n nodes.push(value);\n} // Parse a (list of) primitives.\n\n\nfunction parsePrimitives(info, name, value) {\n var index;\n var length;\n var result;\n\n if (typeof value !== 'object' || !('length' in value)) {\n return parsePrimitive(info, name, value);\n }\n\n length = value.length;\n index = -1;\n result = [];\n\n while (++index < length) {\n result[index] = parsePrimitive(info, name, value[index]);\n }\n\n return result;\n} // Parse a single primitives.\n\n\nfunction parsePrimitive(info, name, value) {\n var result = value;\n\n if (info.number || info.positiveNumber) {\n if (!isNaN(result) && result !== '') {\n result = Number(result);\n }\n } else if (info.boolean || info.overloadedBoolean) {\n // Accept `boolean` and `string`.\n if (typeof result === 'string' && (result === '' || normalize(value) === normalize(name))) {\n result = true;\n }\n }\n\n return result;\n}\n\nfunction style(value) {\n var result = [];\n var key;\n\n for (key in value) {\n result.push([key, value[key]].join(': '));\n }\n\n return result.join('; ');\n}\n\nfunction createAdjustMap(values) {\n var length = values.length;\n var index = -1;\n var result = {};\n var value;\n\n while (++index < length) {\n value = values[index];\n result[value.toLowerCase()] = value;\n }\n\n return result;\n}","'use strict';\n\nvar schema = require('property-information/html');\n\nvar factory = require('./factory');\n\nvar html = factory(schema, 'div');\nhtml.displayName = 'html';\nmodule.exports = html;","'use strict';\n\nmodule.exports = require('./html');","'use strict';\n\nvar schema = require('property-information/svg');\n\nvar caseSensitive = require('./svg-case-sensitive-tag-names.json');\n\nvar factory = require('./factory');\n\nvar svg = factory(schema, 'g', caseSensitive);\nsvg.displayName = 'svg';\nmodule.exports = svg;","// http://www.w3.org/TR/CSS21/grammar.html\n// https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027\nvar COMMENT_REGEX = /\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g;\nvar NEWLINE_REGEX = /\\n/g;\nvar WHITESPACE_REGEX = /^\\s*/; // declaration\n\nvar PROPERTY_REGEX = /^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/;\nvar COLON_REGEX = /^:\\s*/;\nvar VALUE_REGEX = /^((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^)]*?\\)|[^};])+)/;\nvar SEMICOLON_REGEX = /^[;\\s]*/; // https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim#Polyfill\n\nvar TRIM_REGEX = /^\\s+|\\s+$/g; // strings\n\nvar NEWLINE = '\\n';\nvar FORWARD_SLASH = '/';\nvar ASTERISK = '*';\nvar EMPTY_STRING = ''; // types\n\nvar TYPE_COMMENT = 'comment';\nvar TYPE_DECLARATION = 'declaration';\n/**\n * @param {String} style\n * @param {Object} [options]\n * @return {Object[]}\n * @throws {TypeError}\n * @throws {Error}\n */\n\nmodule.exports = function (style, options) {\n if (typeof style !== 'string') {\n throw new TypeError('First argument must be a string');\n }\n\n if (!style) return [];\n options = options || {};\n /**\n * Positional.\n */\n\n var lineno = 1;\n var column = 1;\n /**\n * Update lineno and column based on `str`.\n *\n * @param {String} str\n */\n\n function updatePosition(str) {\n var lines = str.match(NEWLINE_REGEX);\n if (lines) lineno += lines.length;\n var i = str.lastIndexOf(NEWLINE);\n column = ~i ? str.length - i : column + str.length;\n }\n /**\n * Mark position and patch `node.position`.\n *\n * @return {Function}\n */\n\n\n function position() {\n var start = {\n line: lineno,\n column: column\n };\n return function (node) {\n node.position = new Position(start);\n whitespace();\n return node;\n };\n }\n /**\n * Store position information for a node.\n *\n * @constructor\n * @property {Object} start\n * @property {Object} end\n * @property {undefined|String} source\n */\n\n\n function Position(start) {\n this.start = start;\n this.end = {\n line: lineno,\n column: column\n };\n this.source = options.source;\n }\n /**\n * Non-enumerable source string.\n */\n\n\n Position.prototype.content = style;\n var errorsList = [];\n /**\n * Error `msg`.\n *\n * @param {String} msg\n * @throws {Error}\n */\n\n function error(msg) {\n var err = new Error(options.source + ':' + lineno + ':' + column + ': ' + msg);\n err.reason = msg;\n err.filename = options.source;\n err.line = lineno;\n err.column = column;\n err.source = style;\n\n if (options.silent) {\n errorsList.push(err);\n } else {\n throw err;\n }\n }\n /**\n * Match `re` and return captures.\n *\n * @param {RegExp} re\n * @return {undefined|Array}\n */\n\n\n function match(re) {\n var m = re.exec(style);\n if (!m) return;\n var str = m[0];\n updatePosition(str);\n style = style.slice(str.length);\n return m;\n }\n /**\n * Parse whitespace.\n */\n\n\n function whitespace() {\n match(WHITESPACE_REGEX);\n }\n /**\n * Parse comments.\n *\n * @param {Object[]} [rules]\n * @return {Object[]}\n */\n\n\n function comments(rules) {\n var c;\n rules = rules || [];\n\n while (c = comment()) {\n if (c !== false) {\n rules.push(c);\n }\n }\n\n return rules;\n }\n /**\n * Parse comment.\n *\n * @return {Object}\n * @throws {Error}\n */\n\n\n function comment() {\n var pos = position();\n if (FORWARD_SLASH != style.charAt(0) || ASTERISK != style.charAt(1)) return;\n var i = 2;\n\n while (EMPTY_STRING != style.charAt(i) && (ASTERISK != style.charAt(i) || FORWARD_SLASH != style.charAt(i + 1))) {\n ++i;\n }\n\n i += 2;\n\n if (EMPTY_STRING === style.charAt(i - 1)) {\n return error('End of comment missing');\n }\n\n var str = style.slice(2, i - 2);\n column += 2;\n updatePosition(str);\n style = style.slice(i);\n column += 2;\n return pos({\n type: TYPE_COMMENT,\n comment: str\n });\n }\n /**\n * Parse declaration.\n *\n * @return {Object}\n * @throws {Error}\n */\n\n\n function declaration() {\n var pos = position(); // prop\n\n var prop = match(PROPERTY_REGEX);\n if (!prop) return;\n comment(); // :\n\n if (!match(COLON_REGEX)) return error(\"property missing ':'\"); // val\n\n var val = match(VALUE_REGEX);\n var ret = pos({\n type: TYPE_DECLARATION,\n property: trim(prop[0].replace(COMMENT_REGEX, EMPTY_STRING)),\n value: val ? trim(val[0].replace(COMMENT_REGEX, EMPTY_STRING)) : EMPTY_STRING\n }); // ;\n\n match(SEMICOLON_REGEX);\n return ret;\n }\n /**\n * Parse declarations.\n *\n * @return {Object[]}\n */\n\n\n function declarations() {\n var decls = [];\n comments(decls); // declarations\n\n var decl;\n\n while (decl = declaration()) {\n if (decl !== false) {\n decls.push(decl);\n comments(decls);\n }\n }\n\n return decls;\n }\n\n whitespace();\n return declarations();\n};\n/**\n * Trim `str`.\n *\n * @param {String} str\n * @return {String}\n */\n\n\nfunction trim(str) {\n return str ? str.replace(TRIM_REGEX, EMPTY_STRING) : EMPTY_STRING;\n}","'use strict';\n\nvar visit = require('unist-util-visit');\n\nmodule.exports = getDefinitionFactory;\nvar own = {}.hasOwnProperty; // Get a definition in `node` by `identifier`.\n\nfunction getDefinitionFactory(node, options) {\n return getterFactory(gather(node, options));\n} // Gather all definitions in `node`\n\n\nfunction gather(node) {\n var cache = {};\n\n if (!node || !node.type) {\n throw new Error('mdast-util-definitions expected node');\n }\n\n visit(node, 'definition', ondefinition);\n return cache;\n\n function ondefinition(definition) {\n var id = normalise(definition.identifier);\n\n if (!own.call(cache, id)) {\n cache[id] = definition;\n }\n }\n} // Factory to get a node from the given definition-cache.\n\n\nfunction getterFactory(cache) {\n return getter; // Get a node from the bound definition-cache.\n\n function getter(identifier) {\n var id = identifier && normalise(identifier);\n return id && own.call(cache, id) ? cache[id] : null;\n }\n}\n\nfunction normalise(identifier) {\n return identifier.toUpperCase();\n}","'use strict';\n\nmodule.exports = fromMarkdown; // These three are compiled away in the `dist/`\n\nvar toString = require('mdast-util-to-string');\n\nvar assign = require('micromark/dist/constant/assign');\n\nvar own = require('micromark/dist/constant/has-own-property');\n\nvar normalizeIdentifier = require('micromark/dist/util/normalize-identifier');\n\nvar safeFromInt = require('micromark/dist/util/safe-from-int');\n\nvar parser = require('micromark/dist/parse');\n\nvar preprocessor = require('micromark/dist/preprocess');\n\nvar postprocess = require('micromark/dist/postprocess');\n\nvar decode = require('parse-entities/decode-entity');\n\nvar stringifyPosition = require('unist-util-stringify-position');\n\nfunction fromMarkdown(value, encoding, options) {\n if (typeof encoding !== 'string') {\n options = encoding;\n encoding = undefined;\n }\n\n return compiler(options)(postprocess(parser(options).document().write(preprocessor()(value, encoding, true))));\n} // Note this compiler only understand complete buffering, not streaming.\n\n\nfunction compiler(options) {\n var settings = options || {};\n var config = configure({\n transforms: [],\n canContainEols: ['emphasis', 'fragment', 'heading', 'paragraph', 'strong'],\n enter: {\n autolink: opener(link),\n autolinkProtocol: onenterdata,\n autolinkEmail: onenterdata,\n atxHeading: opener(heading),\n blockQuote: opener(blockQuote),\n characterEscape: onenterdata,\n characterReference: onenterdata,\n codeFenced: opener(codeFlow),\n codeFencedFenceInfo: buffer,\n codeFencedFenceMeta: buffer,\n codeIndented: opener(codeFlow, buffer),\n codeText: opener(codeText, buffer),\n codeTextData: onenterdata,\n data: onenterdata,\n codeFlowValue: onenterdata,\n definition: opener(definition),\n definitionDestinationString: buffer,\n definitionLabelString: buffer,\n definitionTitleString: buffer,\n emphasis: opener(emphasis),\n hardBreakEscape: opener(hardBreak),\n hardBreakTrailing: opener(hardBreak),\n htmlFlow: opener(html, buffer),\n htmlFlowData: onenterdata,\n htmlText: opener(html, buffer),\n htmlTextData: onenterdata,\n image: opener(image),\n label: buffer,\n link: opener(link),\n listItem: opener(listItem),\n listItemValue: onenterlistitemvalue,\n listOrdered: opener(list, onenterlistordered),\n listUnordered: opener(list),\n paragraph: opener(paragraph),\n reference: onenterreference,\n referenceString: buffer,\n resourceDestinationString: buffer,\n resourceTitleString: buffer,\n setextHeading: opener(heading),\n strong: opener(strong),\n thematicBreak: opener(thematicBreak)\n },\n exit: {\n atxHeading: closer(),\n atxHeadingSequence: onexitatxheadingsequence,\n autolink: closer(),\n autolinkEmail: onexitautolinkemail,\n autolinkProtocol: onexitautolinkprotocol,\n blockQuote: closer(),\n characterEscapeValue: onexitdata,\n characterReferenceMarkerHexadecimal: onexitcharacterreferencemarker,\n characterReferenceMarkerNumeric: onexitcharacterreferencemarker,\n characterReferenceValue: onexitcharacterreferencevalue,\n codeFenced: closer(onexitcodefenced),\n codeFencedFence: onexitcodefencedfence,\n codeFencedFenceInfo: onexitcodefencedfenceinfo,\n codeFencedFenceMeta: onexitcodefencedfencemeta,\n codeFlowValue: onexitdata,\n codeIndented: closer(onexitcodeindented),\n codeText: closer(onexitcodetext),\n codeTextData: onexitdata,\n data: onexitdata,\n definition: closer(),\n definitionDestinationString: onexitdefinitiondestinationstring,\n definitionLabelString: onexitdefinitionlabelstring,\n definitionTitleString: onexitdefinitiontitlestring,\n emphasis: closer(),\n hardBreakEscape: closer(onexithardbreak),\n hardBreakTrailing: closer(onexithardbreak),\n htmlFlow: closer(onexithtmlflow),\n htmlFlowData: onexitdata,\n htmlText: closer(onexithtmltext),\n htmlTextData: onexitdata,\n image: closer(onexitimage),\n label: onexitlabel,\n labelText: onexitlabeltext,\n lineEnding: onexitlineending,\n link: closer(onexitlink),\n listItem: closer(),\n listOrdered: closer(),\n listUnordered: closer(),\n paragraph: closer(),\n referenceString: onexitreferencestring,\n resourceDestinationString: onexitresourcedestinationstring,\n resourceTitleString: onexitresourcetitlestring,\n resource: onexitresource,\n setextHeading: closer(onexitsetextheading),\n setextHeadingLineSequence: onexitsetextheadinglinesequence,\n setextHeadingText: onexitsetextheadingtext,\n strong: closer(),\n thematicBreak: closer()\n }\n }, settings.mdastExtensions || []);\n var data = {};\n return compile;\n\n function compile(events) {\n var tree = {\n type: 'root',\n children: []\n };\n var stack = [tree];\n var tokenStack = [];\n var listStack = [];\n var index = -1;\n var handler;\n var listStart;\n var context = {\n stack: stack,\n tokenStack: tokenStack,\n config: config,\n enter: enter,\n exit: exit,\n buffer: buffer,\n resume: resume,\n setData: setData,\n getData: getData\n };\n\n while (++index < events.length) {\n // We preprocess lists to add `listItem` tokens, and to infer whether\n // items the list itself are spread out.\n if (events[index][1].type === 'listOrdered' || events[index][1].type === 'listUnordered') {\n if (events[index][0] === 'enter') {\n listStack.push(index);\n } else {\n listStart = listStack.pop(index);\n index = prepareList(events, listStart, index);\n }\n }\n }\n\n index = -1;\n\n while (++index < events.length) {\n handler = config[events[index][0]];\n\n if (own.call(handler, events[index][1].type)) {\n handler[events[index][1].type].call(assign({\n sliceSerialize: events[index][2].sliceSerialize\n }, context), events[index][1]);\n }\n }\n\n if (tokenStack.length) {\n throw new Error('Cannot close document, a token (`' + tokenStack[tokenStack.length - 1].type + '`, ' + stringifyPosition({\n start: tokenStack[tokenStack.length - 1].start,\n end: tokenStack[tokenStack.length - 1].end\n }) + ') is still open');\n } // Figure out `root` position.\n\n\n tree.position = {\n start: point(events.length ? events[0][1].start : {\n line: 1,\n column: 1,\n offset: 0\n }),\n end: point(events.length ? events[events.length - 2][1].end : {\n line: 1,\n column: 1,\n offset: 0\n })\n };\n index = -1;\n\n while (++index < config.transforms.length) {\n tree = config.transforms[index](tree) || tree;\n }\n\n return tree;\n }\n\n function prepareList(events, start, length) {\n var index = start - 1;\n var containerBalance = -1;\n var listSpread = false;\n var listItem;\n var tailIndex;\n var lineIndex;\n var tailEvent;\n var event;\n var firstBlankLineIndex;\n var atMarker;\n\n while (++index <= length) {\n event = events[index];\n\n if (event[1].type === 'listUnordered' || event[1].type === 'listOrdered' || event[1].type === 'blockQuote') {\n if (event[0] === 'enter') {\n containerBalance++;\n } else {\n containerBalance--;\n }\n\n atMarker = undefined;\n } else if (event[1].type === 'lineEndingBlank') {\n if (event[0] === 'enter') {\n if (listItem && !atMarker && !containerBalance && !firstBlankLineIndex) {\n firstBlankLineIndex = index;\n }\n\n atMarker = undefined;\n }\n } else if (event[1].type === 'linePrefix' || event[1].type === 'listItemValue' || event[1].type === 'listItemMarker' || event[1].type === 'listItemPrefix' || event[1].type === 'listItemPrefixWhitespace') {// Empty.\n } else {\n atMarker = undefined;\n }\n\n if (!containerBalance && event[0] === 'enter' && event[1].type === 'listItemPrefix' || containerBalance === -1 && event[0] === 'exit' && (event[1].type === 'listUnordered' || event[1].type === 'listOrdered')) {\n if (listItem) {\n tailIndex = index;\n lineIndex = undefined;\n\n while (tailIndex--) {\n tailEvent = events[tailIndex];\n\n if (tailEvent[1].type === 'lineEnding' || tailEvent[1].type === 'lineEndingBlank') {\n if (tailEvent[0] === 'exit') continue;\n\n if (lineIndex) {\n events[lineIndex][1].type = 'lineEndingBlank';\n listSpread = true;\n }\n\n tailEvent[1].type = 'lineEnding';\n lineIndex = tailIndex;\n } else if (tailEvent[1].type === 'linePrefix' || tailEvent[1].type === 'blockQuotePrefix' || tailEvent[1].type === 'blockQuotePrefixWhitespace' || tailEvent[1].type === 'blockQuoteMarker' || tailEvent[1].type === 'listItemIndent') {// Empty\n } else {\n break;\n }\n }\n\n if (firstBlankLineIndex && (!lineIndex || firstBlankLineIndex < lineIndex)) {\n listItem._spread = true;\n } // Fix position.\n\n\n listItem.end = point(lineIndex ? events[lineIndex][1].start : event[1].end);\n events.splice(lineIndex || index, 0, ['exit', listItem, event[2]]);\n index++;\n length++;\n } // Create a new list item.\n\n\n if (event[1].type === 'listItemPrefix') {\n listItem = {\n type: 'listItem',\n _spread: false,\n start: point(event[1].start)\n };\n events.splice(index, 0, ['enter', listItem, event[2]]);\n index++;\n length++;\n firstBlankLineIndex = undefined;\n atMarker = true;\n }\n }\n }\n\n events[start][1]._spread = listSpread;\n return length;\n }\n\n function setData(key, value) {\n data[key] = value;\n }\n\n function getData(key) {\n return data[key];\n }\n\n function point(d) {\n return {\n line: d.line,\n column: d.column,\n offset: d.offset\n };\n }\n\n function opener(create, and) {\n return open;\n\n function open(token) {\n enter.call(this, create(token), token);\n if (and) and.call(this, token);\n }\n }\n\n function buffer() {\n this.stack.push({\n type: 'fragment',\n children: []\n });\n }\n\n function enter(node, token) {\n this.stack[this.stack.length - 1].children.push(node);\n this.stack.push(node);\n this.tokenStack.push(token);\n node.position = {\n start: point(token.start)\n };\n return node;\n }\n\n function closer(and) {\n return close;\n\n function close(token) {\n if (and) and.call(this, token);\n exit.call(this, token);\n }\n }\n\n function exit(token) {\n var node = this.stack.pop();\n var open = this.tokenStack.pop();\n\n if (!open) {\n throw new Error('Cannot close `' + token.type + '` (' + stringifyPosition({\n start: token.start,\n end: token.end\n }) + '): it’s not open');\n } else if (open.type !== token.type) {\n throw new Error('Cannot close `' + token.type + '` (' + stringifyPosition({\n start: token.start,\n end: token.end\n }) + '): a different token (`' + open.type + '`, ' + stringifyPosition({\n start: open.start,\n end: open.end\n }) + ') is open');\n }\n\n node.position.end = point(token.end);\n return node;\n }\n\n function resume() {\n return toString(this.stack.pop());\n } //\n // Handlers.\n //\n\n\n function onenterlistordered() {\n setData('expectingFirstListItemValue', true);\n }\n\n function onenterlistitemvalue(token) {\n if (getData('expectingFirstListItemValue')) {\n this.stack[this.stack.length - 2].start = parseInt(this.sliceSerialize(token), 10);\n setData('expectingFirstListItemValue');\n }\n }\n\n function onexitcodefencedfenceinfo() {\n var data = this.resume();\n this.stack[this.stack.length - 1].lang = data;\n }\n\n function onexitcodefencedfencemeta() {\n var data = this.resume();\n this.stack[this.stack.length - 1].meta = data;\n }\n\n function onexitcodefencedfence() {\n // Exit if this is the closing fence.\n if (getData('flowCodeInside')) return;\n this.buffer();\n setData('flowCodeInside', true);\n }\n\n function onexitcodefenced() {\n var data = this.resume();\n this.stack[this.stack.length - 1].value = data.replace(/^(\\r?\\n|\\r)|(\\r?\\n|\\r)$/g, '');\n setData('flowCodeInside');\n }\n\n function onexitcodeindented() {\n var data = this.resume();\n this.stack[this.stack.length - 1].value = data;\n }\n\n function onexitdefinitionlabelstring(token) {\n // Discard label, use the source content instead.\n var label = this.resume();\n this.stack[this.stack.length - 1].label = label;\n this.stack[this.stack.length - 1].identifier = normalizeIdentifier(this.sliceSerialize(token)).toLowerCase();\n }\n\n function onexitdefinitiontitlestring() {\n var data = this.resume();\n this.stack[this.stack.length - 1].title = data;\n }\n\n function onexitdefinitiondestinationstring() {\n var data = this.resume();\n this.stack[this.stack.length - 1].url = data;\n }\n\n function onexitatxheadingsequence(token) {\n if (!this.stack[this.stack.length - 1].depth) {\n this.stack[this.stack.length - 1].depth = this.sliceSerialize(token).length;\n }\n }\n\n function onexitsetextheadingtext() {\n setData('setextHeadingSlurpLineEnding', true);\n }\n\n function onexitsetextheadinglinesequence(token) {\n this.stack[this.stack.length - 1].depth = this.sliceSerialize(token).charCodeAt(0) === 61 ? 1 : 2;\n }\n\n function onexitsetextheading() {\n setData('setextHeadingSlurpLineEnding');\n }\n\n function onenterdata(token) {\n var siblings = this.stack[this.stack.length - 1].children;\n var tail = siblings[siblings.length - 1];\n\n if (!tail || tail.type !== 'text') {\n // Add a new text node.\n tail = text();\n tail.position = {\n start: point(token.start)\n };\n this.stack[this.stack.length - 1].children.push(tail);\n }\n\n this.stack.push(tail);\n }\n\n function onexitdata(token) {\n var tail = this.stack.pop();\n tail.value += this.sliceSerialize(token);\n tail.position.end = point(token.end);\n }\n\n function onexitlineending(token) {\n var context = this.stack[this.stack.length - 1]; // If we’re at a hard break, include the line ending in there.\n\n if (getData('atHardBreak')) {\n context.children[context.children.length - 1].position.end = point(token.end);\n setData('atHardBreak');\n return;\n }\n\n if (!getData('setextHeadingSlurpLineEnding') && config.canContainEols.indexOf(context.type) > -1) {\n onenterdata.call(this, token);\n onexitdata.call(this, token);\n }\n }\n\n function onexithardbreak() {\n setData('atHardBreak', true);\n }\n\n function onexithtmlflow() {\n var data = this.resume();\n this.stack[this.stack.length - 1].value = data;\n }\n\n function onexithtmltext() {\n var data = this.resume();\n this.stack[this.stack.length - 1].value = data;\n }\n\n function onexitcodetext() {\n var data = this.resume();\n this.stack[this.stack.length - 1].value = data;\n }\n\n function onexitlink() {\n var context = this.stack[this.stack.length - 1]; // To do: clean.\n\n if (getData('inReference')) {\n context.type += 'Reference';\n context.referenceType = getData('referenceType') || 'shortcut';\n delete context.url;\n delete context.title;\n } else {\n delete context.identifier;\n delete context.label;\n delete context.referenceType;\n }\n\n setData('referenceType');\n }\n\n function onexitimage() {\n var context = this.stack[this.stack.length - 1]; // To do: clean.\n\n if (getData('inReference')) {\n context.type += 'Reference';\n context.referenceType = getData('referenceType') || 'shortcut';\n delete context.url;\n delete context.title;\n } else {\n delete context.identifier;\n delete context.label;\n delete context.referenceType;\n }\n\n setData('referenceType');\n }\n\n function onexitlabeltext(token) {\n this.stack[this.stack.length - 2].identifier = normalizeIdentifier(this.sliceSerialize(token)).toLowerCase();\n }\n\n function onexitlabel() {\n var fragment = this.stack[this.stack.length - 1];\n var value = this.resume();\n this.stack[this.stack.length - 1].label = value; // Assume a reference.\n\n setData('inReference', true);\n\n if (this.stack[this.stack.length - 1].type === 'link') {\n this.stack[this.stack.length - 1].children = fragment.children;\n } else {\n this.stack[this.stack.length - 1].alt = value;\n }\n }\n\n function onexitresourcedestinationstring() {\n var data = this.resume();\n this.stack[this.stack.length - 1].url = data;\n }\n\n function onexitresourcetitlestring() {\n var data = this.resume();\n this.stack[this.stack.length - 1].title = data;\n }\n\n function onexitresource() {\n setData('inReference');\n }\n\n function onenterreference() {\n setData('referenceType', 'collapsed');\n }\n\n function onexitreferencestring(token) {\n var label = this.resume();\n this.stack[this.stack.length - 1].label = label;\n this.stack[this.stack.length - 1].identifier = normalizeIdentifier(this.sliceSerialize(token)).toLowerCase();\n setData('referenceType', 'full');\n }\n\n function onexitcharacterreferencemarker(token) {\n setData('characterReferenceType', token.type);\n }\n\n function onexitcharacterreferencevalue(token) {\n var data = this.sliceSerialize(token);\n var type = getData('characterReferenceType');\n var value;\n var tail;\n\n if (type) {\n value = safeFromInt(data, type === 'characterReferenceMarkerNumeric' ? 10 : 16);\n setData('characterReferenceType');\n } else {\n value = decode(data);\n }\n\n tail = this.stack.pop();\n tail.value += value;\n tail.position.end = point(token.end);\n }\n\n function onexitautolinkprotocol(token) {\n onexitdata.call(this, token);\n this.stack[this.stack.length - 1].url = this.sliceSerialize(token);\n }\n\n function onexitautolinkemail(token) {\n onexitdata.call(this, token);\n this.stack[this.stack.length - 1].url = 'mailto:' + this.sliceSerialize(token);\n } //\n // Creaters.\n //\n\n\n function blockQuote() {\n return {\n type: 'blockquote',\n children: []\n };\n }\n\n function codeFlow() {\n return {\n type: 'code',\n lang: null,\n meta: null,\n value: ''\n };\n }\n\n function codeText() {\n return {\n type: 'inlineCode',\n value: ''\n };\n }\n\n function definition() {\n return {\n type: 'definition',\n identifier: '',\n label: null,\n title: null,\n url: ''\n };\n }\n\n function emphasis() {\n return {\n type: 'emphasis',\n children: []\n };\n }\n\n function heading() {\n return {\n type: 'heading',\n depth: undefined,\n children: []\n };\n }\n\n function hardBreak() {\n return {\n type: 'break'\n };\n }\n\n function html() {\n return {\n type: 'html',\n value: ''\n };\n }\n\n function image() {\n return {\n type: 'image',\n title: null,\n url: '',\n alt: null\n };\n }\n\n function link() {\n return {\n type: 'link',\n title: null,\n url: '',\n children: []\n };\n }\n\n function list(token) {\n return {\n type: 'list',\n ordered: token.type === 'listOrdered',\n start: null,\n spread: token._spread,\n children: []\n };\n }\n\n function listItem(token) {\n return {\n type: 'listItem',\n spread: token._spread,\n checked: null,\n children: []\n };\n }\n\n function paragraph() {\n return {\n type: 'paragraph',\n children: []\n };\n }\n\n function strong() {\n return {\n type: 'strong',\n children: []\n };\n }\n\n function text() {\n return {\n type: 'text',\n value: ''\n };\n }\n\n function thematicBreak() {\n return {\n type: 'thematicBreak'\n };\n }\n}\n\nfunction configure(config, extensions) {\n var index = -1;\n\n while (++index < extensions.length) {\n extension(config, extensions[index]);\n }\n\n return config;\n}\n\nfunction extension(config, extension) {\n var key;\n var left;\n\n for (key in extension) {\n left = own.call(config, key) ? config[key] : config[key] = {};\n\n if (key === 'canContainEols' || key === 'transforms') {\n config[key] = [].concat(left, extension[key]);\n } else {\n Object.assign(left, extension[key]);\n }\n }\n}","'use strict';\n\nmodule.exports = require('./dist');","'use strict';\n\nmodule.exports = require('./lib');","'use strict';\n\nmodule.exports = all;\n\nvar one = require('./one');\n\nfunction all(h, parent) {\n var nodes = parent.children || [];\n var length = nodes.length;\n var values = [];\n var index = -1;\n var result;\n var head;\n\n while (++index < length) {\n result = one(h, nodes[index], parent);\n\n if (result) {\n if (index && nodes[index - 1].type === 'break') {\n if (result.value) {\n result.value = result.value.replace(/^\\s+/, '');\n }\n\n head = result.children && result.children[0];\n\n if (head && head.value) {\n head.value = head.value.replace(/^\\s+/, '');\n }\n }\n\n values = values.concat(result);\n }\n }\n\n return values;\n}","'use strict';\n\nmodule.exports = generateFootnotes;\n\nvar thematicBreak = require('./handlers/thematic-break');\n\nvar list = require('./handlers/list');\n\nvar wrap = require('./wrap');\n\nfunction generateFootnotes(h) {\n var footnoteById = h.footnoteById;\n var footnoteOrder = h.footnoteOrder;\n var length = footnoteOrder.length;\n var index = -1;\n var listItems = [];\n var def;\n var backReference;\n var content;\n var tail;\n\n while (++index < length) {\n def = footnoteById[footnoteOrder[index].toUpperCase()];\n\n if (!def) {\n continue;\n }\n\n content = def.children.concat();\n tail = content[content.length - 1];\n backReference = {\n type: 'link',\n url: '#fnref-' + def.identifier,\n data: {\n hProperties: {\n className: ['footnote-backref']\n }\n },\n children: [{\n type: 'text',\n value: '↩'\n }]\n };\n\n if (!tail || tail.type !== 'paragraph') {\n tail = {\n type: 'paragraph',\n children: []\n };\n content.push(tail);\n }\n\n tail.children.push(backReference);\n listItems.push({\n type: 'listItem',\n data: {\n hProperties: {\n id: 'fn-' + def.identifier\n }\n },\n children: content,\n position: def.position\n });\n }\n\n if (listItems.length === 0) {\n return null;\n }\n\n return h(null, 'div', {\n className: ['footnotes']\n }, wrap([thematicBreak(h), list(h, {\n type: 'list',\n ordered: true,\n children: listItems\n })], true));\n}","'use strict';\n\nmodule.exports = blockquote;\n\nvar wrap = require('../wrap');\n\nvar all = require('../all');\n\nfunction blockquote(h, node) {\n return h(node, 'blockquote', wrap(all(h, node), true));\n}","'use strict';\n\nmodule.exports = hardBreak;\n\nvar u = require('unist-builder');\n\nfunction hardBreak(h, node) {\n return [h(node, 'br'), u('text', '\\n')];\n}","'use strict';\n\nmodule.exports = code;\n\nvar u = require('unist-builder');\n\nfunction code(h, node) {\n var value = node.value ? node.value + '\\n' : ''; // To do: next major, use `node.lang` w/o regex, the splitting’s been going\n // on for years in remark now.\n\n var lang = node.lang && node.lang.match(/^[^ \\t]+(?=[ \\t]|$)/);\n var props = {};\n var code;\n\n if (lang) {\n props.className = ['language-' + lang];\n }\n\n code = h(node, 'code', props, [u('text', value)]);\n\n if (node.meta) {\n code.data = {\n meta: node.meta\n };\n }\n\n return h(node.position, 'pre', [code]);\n}","'use strict';\n\nmodule.exports = strikethrough;\n\nvar all = require('../all');\n\nfunction strikethrough(h, node) {\n return h(node, 'del', all(h, node));\n}","'use strict';\n\nmodule.exports = emphasis;\n\nvar all = require('../all');\n\nfunction emphasis(h, node) {\n return h(node, 'em', all(h, node));\n}","'use strict';\n\nmodule.exports = footnoteReference;\n\nvar u = require('unist-builder');\n\nfunction footnoteReference(h, node) {\n var footnoteOrder = h.footnoteOrder;\n var identifier = String(node.identifier);\n\n if (footnoteOrder.indexOf(identifier) === -1) {\n footnoteOrder.push(identifier);\n }\n\n return h(node.position, 'sup', {\n id: 'fnref-' + identifier\n }, [h(node, 'a', {\n href: '#fn-' + identifier,\n className: ['footnote-ref']\n }, [u('text', node.label || identifier)])]);\n}","'use strict';\n\nmodule.exports = footnote;\n\nvar footnoteReference = require('./footnote-reference');\n\nfunction footnote(h, node) {\n var footnoteById = h.footnoteById;\n var footnoteOrder = h.footnoteOrder;\n var identifier = 1;\n\n while (identifier in footnoteById) {\n identifier++;\n }\n\n identifier = String(identifier); // No need to check if `identifier` exists in `footnoteOrder`, it’s guaranteed\n // to not exist because we just generated it.\n\n footnoteOrder.push(identifier);\n footnoteById[identifier] = {\n type: 'footnoteDefinition',\n identifier: identifier,\n children: [{\n type: 'paragraph',\n children: node.children\n }],\n position: node.position\n };\n return footnoteReference(h, {\n type: 'footnoteReference',\n identifier: identifier,\n position: node.position\n });\n}","'use strict';\n\nmodule.exports = heading;\n\nvar all = require('../all');\n\nfunction heading(h, node) {\n return h(node, 'h' + node.depth, all(h, node));\n}","'use strict';\n\nmodule.exports = html;\n\nvar u = require('unist-builder'); // Return either a `raw` node in dangerous mode, otherwise nothing.\n\n\nfunction html(h, node) {\n return h.dangerous ? h.augment(node, u('raw', node.value)) : null;\n}","'use strict';\n\nmodule.exports = imageReference;\n\nvar normalize = require('mdurl/encode');\n\nvar revert = require('../revert');\n\nfunction imageReference(h, node) {\n var def = h.definition(node.identifier);\n var props;\n\n if (!def) {\n return revert(h, node);\n }\n\n props = {\n src: normalize(def.url || ''),\n alt: node.alt\n };\n\n if (def.title !== null && def.title !== undefined) {\n props.title = def.title;\n }\n\n return h(node, 'img', props);\n}","'use strict';\n\nvar normalize = require('mdurl/encode');\n\nmodule.exports = image;\n\nfunction image(h, node) {\n var props = {\n src: normalize(node.url),\n alt: node.alt\n };\n\n if (node.title !== null && node.title !== undefined) {\n props.title = node.title;\n }\n\n return h(node, 'img', props);\n}","'use strict';\n\nmodule.exports = {\n blockquote: require('./blockquote'),\n break: require('./break'),\n code: require('./code'),\n delete: require('./delete'),\n emphasis: require('./emphasis'),\n footnoteReference: require('./footnote-reference'),\n footnote: require('./footnote'),\n heading: require('./heading'),\n html: require('./html'),\n imageReference: require('./image-reference'),\n image: require('./image'),\n inlineCode: require('./inline-code'),\n linkReference: require('./link-reference'),\n link: require('./link'),\n listItem: require('./list-item'),\n list: require('./list'),\n paragraph: require('./paragraph'),\n root: require('./root'),\n strong: require('./strong'),\n table: require('./table'),\n text: require('./text'),\n thematicBreak: require('./thematic-break'),\n toml: ignore,\n yaml: ignore,\n definition: ignore,\n footnoteDefinition: ignore\n}; // Return nothing for nodes that are ignored.\n\nfunction ignore() {\n return null;\n}","'use strict';\n\nmodule.exports = inlineCode;\n\nvar u = require('unist-builder');\n\nfunction inlineCode(h, node) {\n var value = node.value.replace(/\\r?\\n|\\r/g, ' ');\n return h(node, 'code', [u('text', value)]);\n}","'use strict';\n\nmodule.exports = linkReference;\n\nvar normalize = require('mdurl/encode');\n\nvar revert = require('../revert');\n\nvar all = require('../all');\n\nfunction linkReference(h, node) {\n var def = h.definition(node.identifier);\n var props;\n\n if (!def) {\n return revert(h, node);\n }\n\n props = {\n href: normalize(def.url || '')\n };\n\n if (def.title !== null && def.title !== undefined) {\n props.title = def.title;\n }\n\n return h(node, 'a', props, all(h, node));\n}","'use strict';\n\nvar normalize = require('mdurl/encode');\n\nvar all = require('../all');\n\nmodule.exports = link;\n\nfunction link(h, node) {\n var props = {\n href: normalize(node.url)\n };\n\n if (node.title !== null && node.title !== undefined) {\n props.title = node.title;\n }\n\n return h(node, 'a', props, all(h, node));\n}","'use strict';\n\nmodule.exports = listItem;\n\nvar u = require('unist-builder');\n\nvar all = require('../all');\n\nfunction listItem(h, node, parent) {\n var result = all(h, node);\n var head = result[0];\n var loose = parent ? listLoose(parent) : listItemLoose(node);\n var props = {};\n var wrapped = [];\n var length;\n var index;\n var child;\n\n if (typeof node.checked === 'boolean') {\n if (!head || head.tagName !== 'p') {\n head = h(null, 'p', []);\n result.unshift(head);\n }\n\n if (head.children.length > 0) {\n head.children.unshift(u('text', ' '));\n }\n\n head.children.unshift(h(null, 'input', {\n type: 'checkbox',\n checked: node.checked,\n disabled: true\n })); // According to github-markdown-css, this class hides bullet.\n // See: .\n\n props.className = ['task-list-item'];\n }\n\n length = result.length;\n index = -1;\n\n while (++index < length) {\n child = result[index]; // Add eols before nodes, except if this is a loose, first paragraph.\n\n if (loose || index !== 0 || child.tagName !== 'p') {\n wrapped.push(u('text', '\\n'));\n }\n\n if (child.tagName === 'p' && !loose) {\n wrapped = wrapped.concat(child.children);\n } else {\n wrapped.push(child);\n }\n } // Add a final eol.\n\n\n if (length && (loose || child.tagName !== 'p')) {\n wrapped.push(u('text', '\\n'));\n }\n\n return h(node, 'li', props, wrapped);\n}\n\nfunction listLoose(node) {\n var loose = node.spread;\n var children = node.children;\n var length = children.length;\n var index = -1;\n\n while (!loose && ++index < length) {\n loose = listItemLoose(children[index]);\n }\n\n return loose;\n}\n\nfunction listItemLoose(node) {\n var spread = node.spread;\n return spread === undefined || spread === null ? node.children.length > 1 : spread;\n}","'use strict';\n\nmodule.exports = list;\n\nvar wrap = require('../wrap');\n\nvar all = require('../all');\n\nfunction list(h, node) {\n var props = {};\n var name = node.ordered ? 'ol' : 'ul';\n var items;\n var index = -1;\n var length;\n\n if (typeof node.start === 'number' && node.start !== 1) {\n props.start = node.start;\n }\n\n items = all(h, node);\n length = items.length; // Like GitHub, add a class for custom styling.\n\n while (++index < length) {\n if (items[index].properties.className && items[index].properties.className.indexOf('task-list-item') !== -1) {\n props.className = ['contains-task-list'];\n break;\n }\n }\n\n return h(node, name, props, wrap(items, true));\n}","'use strict';\n\nmodule.exports = paragraph;\n\nvar all = require('../all');\n\nfunction paragraph(h, node) {\n return h(node, 'p', all(h, node));\n}","'use strict';\n\nmodule.exports = root;\n\nvar u = require('unist-builder');\n\nvar wrap = require('../wrap');\n\nvar all = require('../all');\n\nfunction root(h, node) {\n return h.augment(node, u('root', wrap(all(h, node))));\n}","'use strict';\n\nmodule.exports = strong;\n\nvar all = require('../all');\n\nfunction strong(h, node) {\n return h(node, 'strong', all(h, node));\n}","'use strict';\n\nmodule.exports = table;\n\nvar position = require('unist-util-position');\n\nvar wrap = require('../wrap');\n\nvar all = require('../all');\n\nfunction table(h, node) {\n var rows = node.children;\n var index = rows.length;\n var align = node.align || [];\n var alignLength = align.length;\n var result = [];\n var pos;\n var row;\n var out;\n var name;\n var cell;\n\n while (index--) {\n row = rows[index].children;\n name = index === 0 ? 'th' : 'td';\n pos = alignLength || row.length;\n out = [];\n\n while (pos--) {\n cell = row[pos];\n out[pos] = h(cell, name, {\n align: align[pos]\n }, cell ? all(h, cell) : []);\n }\n\n result[index] = h(rows[index], 'tr', wrap(out, true));\n }\n\n return h(node, 'table', wrap([h(result[0].position, 'thead', wrap([result[0]], true))].concat(result[1] ? h({\n start: position.start(result[1]),\n end: position.end(result[result.length - 1])\n }, 'tbody', wrap(result.slice(1), true)) : []), true));\n}","'use strict';\n\nmodule.exports = text;\n\nvar u = require('unist-builder');\n\nfunction text(h, node) {\n return h.augment(node, u('text', String(node.value).replace(/[ \\t]*(\\r?\\n|\\r)[ \\t]*/g, '$1')));\n}","'use strict';\n\nmodule.exports = thematicBreak;\n\nfunction thematicBreak(h, node) {\n return h(node, 'hr');\n}","'use strict';\n\nmodule.exports = toHast;\n\nvar u = require('unist-builder');\n\nvar visit = require('unist-util-visit');\n\nvar position = require('unist-util-position');\n\nvar generated = require('unist-util-generated');\n\nvar definitions = require('mdast-util-definitions');\n\nvar one = require('./one');\n\nvar footer = require('./footer');\n\nvar handlers = require('./handlers');\n\nvar own = {}.hasOwnProperty;\nvar deprecationWarningIssued = false; // Factory to transform.\n\nfunction factory(tree, options) {\n var settings = options || {}; // Issue a warning if the deprecated tag 'allowDangerousHTML' is used\n\n if (settings.allowDangerousHTML !== undefined && !deprecationWarningIssued) {\n deprecationWarningIssued = true;\n console.warn('mdast-util-to-hast: deprecation: `allowDangerousHTML` is nonstandard, use `allowDangerousHtml` instead');\n }\n\n var dangerous = settings.allowDangerousHtml || settings.allowDangerousHTML;\n var footnoteById = {};\n h.dangerous = dangerous;\n h.definition = definitions(tree);\n h.footnoteById = footnoteById;\n h.footnoteOrder = [];\n h.augment = augment;\n h.handlers = Object.assign({}, handlers, settings.handlers);\n h.unknownHandler = settings.unknownHandler;\n h.passThrough = settings.passThrough;\n visit(tree, 'footnoteDefinition', onfootnotedefinition);\n return h; // Finalise the created `right`, a hast node, from `left`, an mdast node.\n\n function augment(left, right) {\n var data;\n var ctx; // Handle `data.hName`, `data.hProperties, `data.hChildren`.\n\n if (left && left.data) {\n data = left.data;\n\n if (data.hName) {\n if (right.type !== 'element') {\n right = {\n type: 'element',\n tagName: '',\n properties: {},\n children: []\n };\n }\n\n right.tagName = data.hName;\n }\n\n if (right.type === 'element' && data.hProperties) {\n right.properties = Object.assign({}, right.properties, data.hProperties);\n }\n\n if (right.children && data.hChildren) {\n right.children = data.hChildren;\n }\n }\n\n ctx = left && left.position ? left : {\n position: left\n };\n\n if (!generated(ctx)) {\n right.position = {\n start: position.start(ctx),\n end: position.end(ctx)\n };\n }\n\n return right;\n } // Create an element for `node`.\n\n\n function h(node, tagName, props, children) {\n if ((children === undefined || children === null) && typeof props === 'object' && 'length' in props) {\n children = props;\n props = {};\n }\n\n return augment(node, {\n type: 'element',\n tagName: tagName,\n properties: props || {},\n children: children || []\n });\n }\n\n function onfootnotedefinition(definition) {\n var id = String(definition.identifier).toUpperCase(); // Mimick CM behavior of link definitions.\n // See: .\n\n if (!own.call(footnoteById, id)) {\n footnoteById[id] = definition;\n }\n }\n} // Transform `tree`, which is an mdast node, to a hast node.\n\n\nfunction toHast(tree, options) {\n var h = factory(tree, options);\n var node = one(h, tree);\n var foot = footer(h);\n\n if (foot) {\n node.children = node.children.concat(u('text', '\\n'), foot);\n }\n\n return node;\n}","'use strict';\n\nmodule.exports = one;\n\nvar u = require('unist-builder');\n\nvar all = require('./all');\n\nvar own = {}.hasOwnProperty; // Transform an unknown node.\n\nfunction unknown(h, node) {\n if (text(node)) {\n return h.augment(node, u('text', node.value));\n }\n\n return h(node, 'div', all(h, node));\n} // Visit a node.\n\n\nfunction one(h, node, parent) {\n var type = node && node.type;\n var fn; // Fail on non-nodes.\n\n if (!type) {\n throw new Error('Expected node, got `' + node + '`');\n }\n\n if (own.call(h.handlers, type)) {\n fn = h.handlers[type];\n } else if (h.passThrough && h.passThrough.indexOf(type) > -1) {\n fn = returnNode;\n } else {\n fn = h.unknownHandler;\n }\n\n return (typeof fn === 'function' ? fn : unknown)(h, node, parent);\n} // Check if the node should be renderered as a text node.\n\n\nfunction text(node) {\n var data = node.data || {};\n\n if (own.call(data, 'hName') || own.call(data, 'hProperties') || own.call(data, 'hChildren')) {\n return false;\n }\n\n return 'value' in node;\n}\n\nfunction returnNode(h, node) {\n var clone;\n\n if (node.children) {\n clone = Object.assign({}, node);\n clone.children = all(h, node);\n return clone;\n }\n\n return node;\n}","'use strict';\n\nmodule.exports = revert;\n\nvar u = require('unist-builder');\n\nvar all = require('./all'); // Return the content of a reference without definition as Markdown.\n\n\nfunction revert(h, node) {\n var subtype = node.referenceType;\n var suffix = ']';\n var contents;\n var head;\n var tail;\n\n if (subtype === 'collapsed') {\n suffix += '[]';\n } else if (subtype === 'full') {\n suffix += '[' + (node.label || node.identifier) + ']';\n }\n\n if (node.type === 'imageReference') {\n return u('text', '![' + node.alt + suffix);\n }\n\n contents = all(h, node);\n head = contents[0];\n\n if (head && head.type === 'text') {\n head.value = '[' + head.value;\n } else {\n contents.unshift(u('text', '['));\n }\n\n tail = contents[contents.length - 1];\n\n if (tail && tail.type === 'text') {\n tail.value += suffix;\n } else {\n contents.push(u('text', suffix));\n }\n\n return contents;\n}","'use strict';\n\nmodule.exports = wrap;\n\nvar u = require('unist-builder'); // Wrap `nodes` with line feeds between each entry.\n// Optionally adds line feeds at the start and end.\n\n\nfunction wrap(nodes, loose) {\n var result = [];\n var index = -1;\n var length = nodes.length;\n\n if (loose) {\n result.push(u('text', '\\n'));\n }\n\n while (++index < length) {\n if (index) {\n result.push(u('text', '\\n'));\n }\n\n result.push(nodes[index]);\n }\n\n if (loose && nodes.length > 0) {\n result.push(u('text', '\\n'));\n }\n\n return result;\n}","'use strict';\n\nmodule.exports = toString; // Get the text content of a node.\n// Prefer the node’s plain-text fields, otherwise serialize its children,\n// and if the given value is an array, serialize the nodes in it.\n\nfunction toString(node) {\n return node && (node.value || node.alt || node.title || 'children' in node && all(node.children) || 'length' in node && all(node)) || '';\n}\n\nfunction all(values) {\n var result = [];\n var index = -1;\n\n while (++index < values.length) {\n result[index] = toString(values[index]);\n }\n\n return result.join('');\n}","'use strict';\n\nvar encodeCache = {}; // Create a lookup array where anything but characters in `chars` string\n// and alphanumeric chars is percent-encoded.\n//\n\nfunction getEncodeCache(exclude) {\n var i,\n ch,\n cache = encodeCache[exclude];\n\n if (cache) {\n return cache;\n }\n\n cache = encodeCache[exclude] = [];\n\n for (i = 0; i < 128; i++) {\n ch = String.fromCharCode(i);\n\n if (/^[0-9a-z]$/i.test(ch)) {\n // always allow unencoded alphanumeric characters\n cache.push(ch);\n } else {\n cache.push('%' + ('0' + i.toString(16).toUpperCase()).slice(-2));\n }\n }\n\n for (i = 0; i < exclude.length; i++) {\n cache[exclude.charCodeAt(i)] = exclude[i];\n }\n\n return cache;\n} // Encode unsafe characters with percent-encoding, skipping already\n// encoded sequences.\n//\n// - string - string to encode\n// - exclude - list of characters to ignore (in addition to a-zA-Z0-9)\n// - keepEscaped - don't encode '%' in a correct escape sequence (default: true)\n//\n\n\nfunction encode(string, exclude, keepEscaped) {\n var i,\n l,\n code,\n nextCode,\n cache,\n result = '';\n\n if (typeof exclude !== 'string') {\n // encode(string, keepEscaped)\n keepEscaped = exclude;\n exclude = encode.defaultChars;\n }\n\n if (typeof keepEscaped === 'undefined') {\n keepEscaped = true;\n }\n\n cache = getEncodeCache(exclude);\n\n for (i = 0, l = string.length; i < l; i++) {\n code = string.charCodeAt(i);\n\n if (keepEscaped && code === 0x25\n /* % */\n && i + 2 < l) {\n if (/^[0-9a-f]{2}$/i.test(string.slice(i + 1, i + 3))) {\n result += string.slice(i, i + 3);\n i += 2;\n continue;\n }\n }\n\n if (code < 128) {\n result += cache[code];\n continue;\n }\n\n if (code >= 0xD800 && code <= 0xDFFF) {\n if (code >= 0xD800 && code <= 0xDBFF && i + 1 < l) {\n nextCode = string.charCodeAt(i + 1);\n\n if (nextCode >= 0xDC00 && nextCode <= 0xDFFF) {\n result += encodeURIComponent(string[i] + string[i + 1]);\n i++;\n continue;\n }\n }\n\n result += '%EF%BF%BD';\n continue;\n }\n\n result += encodeURIComponent(string[i]);\n }\n\n return result;\n}\n\nencode.defaultChars = \";/?:@&=+$,-_.!~*'()#\";\nencode.componentChars = \"-_.!~*'()\";\nmodule.exports = encode;","'use strict';\n\nvar regexCheck = require('../util/regex-check.js');\n\nvar asciiAlpha = regexCheck(/[A-Za-z]/);\nmodule.exports = asciiAlpha;","'use strict';\n\nvar regexCheck = require('../util/regex-check.js');\n\nvar asciiAlphanumeric = regexCheck(/[\\dA-Za-z]/);\nmodule.exports = asciiAlphanumeric;","'use strict';\n\nvar regexCheck = require('../util/regex-check.js');\n\nvar asciiAtext = regexCheck(/[#-'*+\\--9=?A-Z^-~]/);\nmodule.exports = asciiAtext;","'use strict'; // Note: EOF is seen as ASCII control here, because `null < 32 == true`.\n\nfunction asciiControl(code) {\n return (// Special whitespace codes (which have negative values), C0 and Control\n // character DEL\n code < 32 || code === 127\n );\n}\n\nmodule.exports = asciiControl;","'use strict';\n\nvar regexCheck = require('../util/regex-check.js');\n\nvar asciiDigit = regexCheck(/\\d/);\nmodule.exports = asciiDigit;","'use strict';\n\nvar regexCheck = require('../util/regex-check.js');\n\nvar asciiHexDigit = regexCheck(/[\\dA-Fa-f]/);\nmodule.exports = asciiHexDigit;","'use strict';\n\nvar regexCheck = require('../util/regex-check.js');\n\nvar asciiPunctuation = regexCheck(/[!-/:-@[-`{-~]/);\nmodule.exports = asciiPunctuation;","'use strict';\n\nfunction markdownLineEndingOrSpace(code) {\n return code < 0 || code === 32;\n}\n\nmodule.exports = markdownLineEndingOrSpace;","'use strict';\n\nfunction markdownLineEnding(code) {\n return code < -2;\n}\n\nmodule.exports = markdownLineEnding;","'use strict';\n\nfunction markdownSpace(code) {\n return code === -2 || code === -1 || code === 32;\n}\n\nmodule.exports = markdownSpace;","'use strict';\n\nvar unicodePunctuationRegex = require('../constant/unicode-punctuation-regex.js');\n\nvar regexCheck = require('../util/regex-check.js'); // In fact adds to the bundle size.\n\n\nvar unicodePunctuation = regexCheck(unicodePunctuationRegex);\nmodule.exports = unicodePunctuation;","'use strict';\n\nvar regexCheck = require('../util/regex-check.js');\n\nvar unicodeWhitespace = regexCheck(/\\s/);\nmodule.exports = unicodeWhitespace;","'use strict';\n\nvar assign = Object.assign;\nmodule.exports = assign;","'use strict';\n\nvar fromCharCode = String.fromCharCode;\nmodule.exports = fromCharCode;","'use strict';\n\nvar own = {}.hasOwnProperty;\nmodule.exports = own;","'use strict'; // This module is copied from .\n\nvar basics = ['address', 'article', 'aside', 'base', 'basefont', 'blockquote', 'body', 'caption', 'center', 'col', 'colgroup', 'dd', 'details', 'dialog', 'dir', 'div', 'dl', 'dt', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'frame', 'frameset', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hr', 'html', 'iframe', 'legend', 'li', 'link', 'main', 'menu', 'menuitem', 'nav', 'noframes', 'ol', 'optgroup', 'option', 'p', 'param', 'section', 'source', 'summary', 'table', 'tbody', 'td', 'tfoot', 'th', 'thead', 'title', 'tr', 'track', 'ul'];\nmodule.exports = basics;","'use strict'; // This module is copied from .\n\nvar raws = ['pre', 'script', 'style', 'textarea'];\nmodule.exports = raws;","'use strict';\n\nvar splice = [].splice;\nmodule.exports = splice;","'use strict'; // This module is generated by `script/`.\n//\n// CommonMark handles attention (emphasis, strong) markers based on what comes\n// before or after them.\n// One such difference is if those characters are Unicode punctuation.\n// This script is generated from the Unicode data.\n\nvar unicodePunctuation = /[!-\\/:-@\\[-`\\{-~\\xA1\\xA7\\xAB\\xB6\\xB7\\xBB\\xBF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u09FD\\u0A76\\u0AF0\\u0C77\\u0C84\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u1400\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u2308-\\u230B\\u2329\\u232A\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30-\\u2E4F\\u2E52\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]/;\nmodule.exports = unicodePunctuation;","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nvar text$1 = require('./initialize/text.js');\n\nvar attention = require('./tokenize/attention.js');\n\nvar autolink = require('./tokenize/autolink.js');\n\nvar blockQuote = require('./tokenize/block-quote.js');\n\nvar characterEscape = require('./tokenize/character-escape.js');\n\nvar characterReference = require('./tokenize/character-reference.js');\n\nvar codeFenced = require('./tokenize/code-fenced.js');\n\nvar codeIndented = require('./tokenize/code-indented.js');\n\nvar codeText = require('./tokenize/code-text.js');\n\nvar definition = require('./tokenize/definition.js');\n\nvar hardBreakEscape = require('./tokenize/hard-break-escape.js');\n\nvar headingAtx = require('./tokenize/heading-atx.js');\n\nvar htmlFlow = require('./tokenize/html-flow.js');\n\nvar htmlText = require('./tokenize/html-text.js');\n\nvar labelEnd = require('./tokenize/label-end.js');\n\nvar labelStartImage = require('./tokenize/label-start-image.js');\n\nvar labelStartLink = require('./tokenize/label-start-link.js');\n\nvar lineEnding = require('./tokenize/line-ending.js');\n\nvar list = require('./tokenize/list.js');\n\nvar setextUnderline = require('./tokenize/setext-underline.js');\n\nvar thematicBreak = require('./tokenize/thematic-break.js');\n\nvar document = {\n 42: list,\n // Asterisk\n 43: list,\n // Plus sign\n 45: list,\n // Dash\n 48: list,\n // 0\n 49: list,\n // 1\n 50: list,\n // 2\n 51: list,\n // 3\n 52: list,\n // 4\n 53: list,\n // 5\n 54: list,\n // 6\n 55: list,\n // 7\n 56: list,\n // 8\n 57: list,\n // 9\n 62: blockQuote // Greater than\n\n};\nvar contentInitial = {\n 91: definition // Left square bracket\n\n};\nvar flowInitial = {\n '-2': codeIndented,\n // Horizontal tab\n '-1': codeIndented,\n // Virtual space\n 32: codeIndented // Space\n\n};\nvar flow = {\n 35: headingAtx,\n // Number sign\n 42: thematicBreak,\n // Asterisk\n 45: [setextUnderline, thematicBreak],\n // Dash\n 60: htmlFlow,\n // Less than\n 61: setextUnderline,\n // Equals to\n 95: thematicBreak,\n // Underscore\n 96: codeFenced,\n // Grave accent\n 126: codeFenced // Tilde\n\n};\nvar string = {\n 38: characterReference,\n // Ampersand\n 92: characterEscape // Backslash\n\n};\nvar text = {\n '-5': lineEnding,\n // Carriage return\n '-4': lineEnding,\n // Line feed\n '-3': lineEnding,\n // Carriage return + line feed\n 33: labelStartImage,\n // Exclamation mark\n 38: characterReference,\n // Ampersand\n 42: attention,\n // Asterisk\n 60: [autolink, htmlText],\n // Less than\n 91: labelStartLink,\n // Left square bracket\n 92: [hardBreakEscape, characterEscape],\n // Backslash\n 93: labelEnd,\n // Right square bracket\n 95: attention,\n // Underscore\n 96: codeText // Grave accent\n\n};\nvar insideSpan = {\n null: [attention, text$1.resolver]\n};\nvar disable = {\n null: []\n};\nexports.contentInitial = contentInitial;\nexports.disable = disable;\nexports.document = document;\nexports.flow = flow;\nexports.flowInitial = flowInitial;\nexports.insideSpan = insideSpan;\nexports.string = string;\nexports.text = text;","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js');\n\nvar factorySpace = require('../tokenize/factory-space.js');\n\nvar tokenize = initializeContent;\n\nfunction initializeContent(effects) {\n var contentStart = effects.attempt(this.parser.constructs.contentInitial, afterContentStartConstruct, paragraphInitial);\n var previous;\n return contentStart;\n\n function afterContentStartConstruct(code) {\n if (code === null) {\n effects.consume(code);\n return;\n }\n\n effects.enter('lineEnding');\n effects.consume(code);\n effects.exit('lineEnding');\n return factorySpace(effects, contentStart, 'linePrefix');\n }\n\n function paragraphInitial(code) {\n effects.enter('paragraph');\n return lineStart(code);\n }\n\n function lineStart(code) {\n var token = effects.enter('chunkText', {\n contentType: 'text',\n previous: previous\n });\n\n if (previous) {\n previous.next = token;\n }\n\n previous = token;\n return data(code);\n }\n\n function data(code) {\n if (code === null) {\n effects.exit('chunkText');\n effects.exit('paragraph');\n effects.consume(code);\n return;\n }\n\n if (markdownLineEnding(code)) {\n effects.consume(code);\n effects.exit('chunkText');\n return lineStart;\n } // Data.\n\n\n effects.consume(code);\n return data;\n }\n}\n\nexports.tokenize = tokenize;","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js');\n\nvar factorySpace = require('../tokenize/factory-space.js');\n\nvar partialBlankLine = require('../tokenize/partial-blank-line.js');\n\nvar tokenize = initializeDocument;\nvar containerConstruct = {\n tokenize: tokenizeContainer\n};\nvar lazyFlowConstruct = {\n tokenize: tokenizeLazyFlow\n};\n\nfunction initializeDocument(effects) {\n var self = this;\n var stack = [];\n var continued = 0;\n var inspectConstruct = {\n tokenize: tokenizeInspect,\n partial: true\n };\n var inspectResult;\n var childFlow;\n var childToken;\n return start;\n\n function start(code) {\n if (continued < stack.length) {\n self.containerState = stack[continued][1];\n return effects.attempt(stack[continued][0].continuation, documentContinue, documentContinued)(code);\n }\n\n return documentContinued(code);\n }\n\n function documentContinue(code) {\n continued++;\n return start(code);\n }\n\n function documentContinued(code) {\n // If we’re in a concrete construct (such as when expecting another line of\n // HTML, or we resulted in lazy content), we can immediately start flow.\n if (inspectResult && inspectResult.flowContinue) {\n return flowStart(code);\n }\n\n self.interrupt = childFlow && childFlow.currentConstruct && childFlow.currentConstruct.interruptible;\n self.containerState = {};\n return effects.attempt(containerConstruct, containerContinue, flowStart)(code);\n }\n\n function containerContinue(code) {\n stack.push([self.currentConstruct, self.containerState]);\n self.containerState = undefined;\n return documentContinued(code);\n }\n\n function flowStart(code) {\n if (code === null) {\n exitContainers(0, true);\n effects.consume(code);\n return;\n }\n\n childFlow = childFlow || self.parser.flow(self.now());\n effects.enter('chunkFlow', {\n contentType: 'flow',\n previous: childToken,\n _tokenizer: childFlow\n });\n return flowContinue(code);\n }\n\n function flowContinue(code) {\n if (code === null) {\n continueFlow(effects.exit('chunkFlow'));\n return flowStart(code);\n }\n\n if (markdownLineEnding(code)) {\n effects.consume(code);\n continueFlow(effects.exit('chunkFlow'));\n return effects.check(inspectConstruct, documentAfterPeek);\n }\n\n effects.consume(code);\n return flowContinue;\n }\n\n function documentAfterPeek(code) {\n exitContainers(inspectResult.continued, inspectResult && inspectResult.flowEnd);\n continued = 0;\n return start(code);\n }\n\n function continueFlow(token) {\n if (childToken) childToken.next = token;\n childToken = token;\n childFlow.lazy = inspectResult && inspectResult.lazy;\n childFlow.defineSkip(token.start);\n childFlow.write(self.sliceStream(token));\n }\n\n function exitContainers(size, end) {\n var index = stack.length; // Close the flow.\n\n if (childFlow && end) {\n childFlow.write([null]);\n childToken = childFlow = undefined;\n } // Exit open containers.\n\n\n while (index-- > size) {\n self.containerState = stack[index][1];\n stack[index][0].exit.call(self, effects);\n }\n\n stack.length = size;\n }\n\n function tokenizeInspect(effects, ok) {\n var subcontinued = 0;\n inspectResult = {};\n return inspectStart;\n\n function inspectStart(code) {\n if (subcontinued < stack.length) {\n self.containerState = stack[subcontinued][1];\n return effects.attempt(stack[subcontinued][0].continuation, inspectContinue, inspectLess)(code);\n } // If we’re continued but in a concrete flow, we can’t have more\n // containers.\n\n\n if (childFlow.currentConstruct && childFlow.currentConstruct.concrete) {\n inspectResult.flowContinue = true;\n return inspectDone(code);\n }\n\n self.interrupt = childFlow.currentConstruct && childFlow.currentConstruct.interruptible;\n self.containerState = {};\n return effects.attempt(containerConstruct, inspectFlowEnd, inspectDone)(code);\n }\n\n function inspectContinue(code) {\n subcontinued++;\n return self.containerState._closeFlow ? inspectFlowEnd(code) : inspectStart(code);\n }\n\n function inspectLess(code) {\n if (childFlow.currentConstruct && childFlow.currentConstruct.lazy) {\n // Maybe another container?\n self.containerState = {};\n return effects.attempt(containerConstruct, inspectFlowEnd, // Maybe flow, or a blank line?\n effects.attempt(lazyFlowConstruct, inspectFlowEnd, effects.check(partialBlankLine, inspectFlowEnd, inspectLazy)))(code);\n } // Otherwise we’re interrupting.\n\n\n return inspectFlowEnd(code);\n }\n\n function inspectLazy(code) {\n // Act as if all containers are continued.\n subcontinued = stack.length;\n inspectResult.lazy = true;\n inspectResult.flowContinue = true;\n return inspectDone(code);\n } // We’re done with flow if we have more containers, or an interruption.\n\n\n function inspectFlowEnd(code) {\n inspectResult.flowEnd = true;\n return inspectDone(code);\n }\n\n function inspectDone(code) {\n inspectResult.continued = subcontinued;\n self.interrupt = self.containerState = undefined;\n return ok(code);\n }\n }\n}\n\nfunction tokenizeContainer(effects, ok, nok) {\n return factorySpace(effects, effects.attempt(this.parser.constructs.document, ok, nok), 'linePrefix', this.parser.constructs.disable.null.indexOf('codeIndented') > -1 ? undefined : 4);\n}\n\nfunction tokenizeLazyFlow(effects, ok, nok) {\n return factorySpace(effects, effects.lazy(this.parser.constructs.flow, ok, nok), 'linePrefix', this.parser.constructs.disable.null.indexOf('codeIndented') > -1 ? undefined : 4);\n}\n\nexports.tokenize = tokenize;","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nvar content = require('../tokenize/content.js');\n\nvar factorySpace = require('../tokenize/factory-space.js');\n\nvar partialBlankLine = require('../tokenize/partial-blank-line.js');\n\nvar tokenize = initializeFlow;\n\nfunction initializeFlow(effects) {\n var self = this;\n var initial = effects.attempt( // Try to parse a blank line.\n partialBlankLine, atBlankEnding, // Try to parse initial flow (essentially, only code).\n effects.attempt(this.parser.constructs.flowInitial, afterConstruct, factorySpace(effects, effects.attempt(this.parser.constructs.flow, afterConstruct, effects.attempt(content, afterConstruct)), 'linePrefix')));\n return initial;\n\n function atBlankEnding(code) {\n if (code === null) {\n effects.consume(code);\n return;\n }\n\n effects.enter('lineEndingBlank');\n effects.consume(code);\n effects.exit('lineEndingBlank');\n self.currentConstruct = undefined;\n return initial;\n }\n\n function afterConstruct(code) {\n if (code === null) {\n effects.consume(code);\n return;\n }\n\n effects.enter('lineEnding');\n effects.consume(code);\n effects.exit('lineEnding');\n self.currentConstruct = undefined;\n return initial;\n }\n}\n\nexports.tokenize = tokenize;","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nvar assign = require('../constant/assign.js');\n\nvar shallow = require('../util/shallow.js');\n\nvar text = initializeFactory('text');\nvar string = initializeFactory('string');\nvar resolver = {\n resolveAll: createResolver()\n};\n\nfunction initializeFactory(field) {\n return {\n tokenize: initializeText,\n resolveAll: createResolver(field === 'text' ? resolveAllLineSuffixes : undefined)\n };\n\n function initializeText(effects) {\n var self = this;\n var constructs = this.parser.constructs[field];\n var text = effects.attempt(constructs, start, notText);\n return start;\n\n function start(code) {\n return atBreak(code) ? text(code) : notText(code);\n }\n\n function notText(code) {\n if (code === null) {\n effects.consume(code);\n return;\n }\n\n effects.enter('data');\n effects.consume(code);\n return data;\n }\n\n function data(code) {\n if (atBreak(code)) {\n effects.exit('data');\n return text(code);\n } // Data.\n\n\n effects.consume(code);\n return data;\n }\n\n function atBreak(code) {\n var list = constructs[code];\n var index = -1;\n\n if (code === null) {\n return true;\n }\n\n if (list) {\n while (++index < list.length) {\n if (!list[index].previous || list[index].previous.call(self, self.previous)) {\n return true;\n }\n }\n }\n }\n }\n}\n\nfunction createResolver(extraResolver) {\n return resolveAllText;\n\n function resolveAllText(events, context) {\n var index = -1;\n var enter; // A rather boring computation (to merge adjacent `data` events) which\n // improves mm performance by 29%.\n\n while (++index <= events.length) {\n if (enter === undefined) {\n if (events[index] && events[index][1].type === 'data') {\n enter = index;\n index++;\n }\n } else if (!events[index] || events[index][1].type !== 'data') {\n // Don’t do anything if there is one data token.\n if (index !== enter + 2) {\n events[enter][1].end = events[index - 1][1].end;\n events.splice(enter + 2, index - enter - 2);\n index = enter + 2;\n }\n\n enter = undefined;\n }\n }\n\n return extraResolver ? extraResolver(events, context) : events;\n }\n} // A rather ugly set of instructions which again looks at chunks in the input\n// stream.\n// The reason to do this here is that it is *much* faster to parse in reverse.\n// And that we can’t hook into `null` to split the line suffix before an EOF.\n// To do: figure out if we can make this into a clean utility, or even in core.\n// As it will be useful for GFMs literal autolink extension (and maybe even\n// tables?)\n\n\nfunction resolveAllLineSuffixes(events, context) {\n var eventIndex = -1;\n var chunks;\n var data;\n var chunk;\n var index;\n var bufferIndex;\n var size;\n var tabs;\n var token;\n\n while (++eventIndex <= events.length) {\n if ((eventIndex === events.length || events[eventIndex][1].type === 'lineEnding') && events[eventIndex - 1][1].type === 'data') {\n data = events[eventIndex - 1][1];\n chunks = context.sliceStream(data);\n index = chunks.length;\n bufferIndex = -1;\n size = 0;\n tabs = undefined;\n\n while (index--) {\n chunk = chunks[index];\n\n if (typeof chunk === 'string') {\n bufferIndex = chunk.length;\n\n while (chunk.charCodeAt(bufferIndex - 1) === 32) {\n size++;\n bufferIndex--;\n }\n\n if (bufferIndex) break;\n bufferIndex = -1;\n } // Number\n else if (chunk === -2) {\n tabs = true;\n size++;\n } else if (chunk === -1) ;else {\n // Replacement character, exit.\n index++;\n break;\n }\n }\n\n if (size) {\n token = {\n type: eventIndex === events.length || tabs || size < 2 ? 'lineSuffix' : 'hardBreakTrailing',\n start: {\n line: data.end.line,\n column: data.end.column - size,\n offset: data.end.offset - size,\n _index: data.start._index + index,\n _bufferIndex: index ? bufferIndex : data.start._bufferIndex + bufferIndex\n },\n end: shallow(data.end)\n };\n data.end = shallow(token.start);\n\n if (data.start.offset === data.end.offset) {\n assign(data, token);\n } else {\n events.splice(eventIndex, 0, ['enter', token, context], ['exit', token, context]);\n eventIndex += 2;\n }\n }\n\n eventIndex++;\n }\n }\n\n return events;\n}\n\nexports.resolver = resolver;\nexports.string = string;\nexports.text = text;","'use strict';\n\nvar content = require('./initialize/content.js');\n\nvar document = require('./initialize/document.js');\n\nvar flow = require('./initialize/flow.js');\n\nvar text = require('./initialize/text.js');\n\nvar combineExtensions = require('./util/combine-extensions.js');\n\nvar createTokenizer = require('./util/create-tokenizer.js');\n\nvar miniflat = require('./util/miniflat.js');\n\nvar constructs = require('./constructs.js');\n\nfunction parse(options) {\n var settings = options || {};\n var parser = {\n defined: [],\n constructs: combineExtensions([constructs].concat(miniflat(settings.extensions))),\n content: create(content),\n document: create(document),\n flow: create(flow),\n string: create(text.string),\n text: create(text.text)\n };\n return parser;\n\n function create(initializer) {\n return creator;\n\n function creator(from) {\n return createTokenizer(parser, initializer, from);\n }\n }\n}\n\nmodule.exports = parse;","'use strict';\n\nvar subtokenize = require('./util/subtokenize.js');\n\nfunction postprocess(events) {\n while (!subtokenize(events)) {// Empty\n }\n\n return events;\n}\n\nmodule.exports = postprocess;","'use strict';\n\nvar search = /[\\0\\t\\n\\r]/g;\n\nfunction preprocess() {\n var start = true;\n var column = 1;\n var buffer = '';\n var atCarriageReturn;\n return preprocessor;\n\n function preprocessor(value, encoding, end) {\n var chunks = [];\n var match;\n var next;\n var startPosition;\n var endPosition;\n var code;\n value = buffer + value.toString(encoding);\n startPosition = 0;\n buffer = '';\n\n if (start) {\n if (value.charCodeAt(0) === 65279) {\n startPosition++;\n }\n\n start = undefined;\n }\n\n while (startPosition < value.length) {\n search.lastIndex = startPosition;\n match = search.exec(value);\n endPosition = match ? match.index : value.length;\n code = value.charCodeAt(endPosition);\n\n if (!match) {\n buffer = value.slice(startPosition);\n break;\n }\n\n if (code === 10 && startPosition === endPosition && atCarriageReturn) {\n chunks.push(-3);\n atCarriageReturn = undefined;\n } else {\n if (atCarriageReturn) {\n chunks.push(-5);\n atCarriageReturn = undefined;\n }\n\n if (startPosition < endPosition) {\n chunks.push(value.slice(startPosition, endPosition));\n column += endPosition - startPosition;\n }\n\n if (code === 0) {\n chunks.push(65533);\n column++;\n } else if (code === 9) {\n next = Math.ceil(column / 4) * 4;\n chunks.push(-2);\n\n while (column++ < next) {\n chunks.push(-1);\n }\n } else if (code === 10) {\n chunks.push(-4);\n column = 1;\n } // Must be carriage return.\n else {\n atCarriageReturn = true;\n column = 1;\n }\n }\n\n startPosition = endPosition + 1;\n }\n\n if (end) {\n if (atCarriageReturn) chunks.push(-5);\n if (buffer) chunks.push(buffer);\n chunks.push(null);\n }\n\n return chunks;\n }\n}\n\nmodule.exports = preprocess;","'use strict';\n\nvar chunkedPush = require('../util/chunked-push.js');\n\nvar chunkedSplice = require('../util/chunked-splice.js');\n\nvar classifyCharacter = require('../util/classify-character.js');\n\nvar movePoint = require('../util/move-point.js');\n\nvar resolveAll = require('../util/resolve-all.js');\n\nvar shallow = require('../util/shallow.js');\n\nvar attention = {\n name: 'attention',\n tokenize: tokenizeAttention,\n resolveAll: resolveAllAttention\n};\n\nfunction resolveAllAttention(events, context) {\n var index = -1;\n var open;\n var group;\n var text;\n var openingSequence;\n var closingSequence;\n var use;\n var nextEvents;\n var offset; // Walk through all events.\n //\n // Note: performance of this is fine on an mb of normal markdown, but it’s\n // a bottleneck for malicious stuff.\n\n while (++index < events.length) {\n // Find a token that can close.\n if (events[index][0] === 'enter' && events[index][1].type === 'attentionSequence' && events[index][1]._close) {\n open = index; // Now walk back to find an opener.\n\n while (open--) {\n // Find a token that can open the closer.\n if (events[open][0] === 'exit' && events[open][1].type === 'attentionSequence' && events[open][1]._open && // If the markers are the same:\n context.sliceSerialize(events[open][1]).charCodeAt(0) === context.sliceSerialize(events[index][1]).charCodeAt(0)) {\n // If the opening can close or the closing can open,\n // and the close size *is not* a multiple of three,\n // but the sum of the opening and closing size *is* multiple of three,\n // then don’t match.\n if ((events[open][1]._close || events[index][1]._open) && (events[index][1].end.offset - events[index][1].start.offset) % 3 && !((events[open][1].end.offset - events[open][1].start.offset + events[index][1].end.offset - events[index][1].start.offset) % 3)) {\n continue;\n } // Number of markers to use from the sequence.\n\n\n use = events[open][1].end.offset - events[open][1].start.offset > 1 && events[index][1].end.offset - events[index][1].start.offset > 1 ? 2 : 1;\n openingSequence = {\n type: use > 1 ? 'strongSequence' : 'emphasisSequence',\n start: movePoint(shallow(events[open][1].end), -use),\n end: shallow(events[open][1].end)\n };\n closingSequence = {\n type: use > 1 ? 'strongSequence' : 'emphasisSequence',\n start: shallow(events[index][1].start),\n end: movePoint(shallow(events[index][1].start), use)\n };\n text = {\n type: use > 1 ? 'strongText' : 'emphasisText',\n start: shallow(events[open][1].end),\n end: shallow(events[index][1].start)\n };\n group = {\n type: use > 1 ? 'strong' : 'emphasis',\n start: shallow(openingSequence.start),\n end: shallow(closingSequence.end)\n };\n events[open][1].end = shallow(openingSequence.start);\n events[index][1].start = shallow(closingSequence.end);\n nextEvents = []; // If there are more markers in the opening, add them before.\n\n if (events[open][1].end.offset - events[open][1].start.offset) {\n nextEvents = chunkedPush(nextEvents, [['enter', events[open][1], context], ['exit', events[open][1], context]]);\n } // Opening.\n\n\n nextEvents = chunkedPush(nextEvents, [['enter', group, context], ['enter', openingSequence, context], ['exit', openingSequence, context], ['enter', text, context]]); // Between.\n\n nextEvents = chunkedPush(nextEvents, resolveAll(context.parser.constructs.insideSpan.null, events.slice(open + 1, index), context)); // Closing.\n\n nextEvents = chunkedPush(nextEvents, [['exit', text, context], ['enter', closingSequence, context], ['exit', closingSequence, context], ['exit', group, context]]); // If there are more markers in the closing, add them after.\n\n if (events[index][1].end.offset - events[index][1].start.offset) {\n offset = 2;\n nextEvents = chunkedPush(nextEvents, [['enter', events[index][1], context], ['exit', events[index][1], context]]);\n } else {\n offset = 0;\n }\n\n chunkedSplice(events, open - 1, index - open + 3, nextEvents);\n index = open + nextEvents.length - offset - 2;\n break;\n }\n }\n }\n } // Remove remaining sequences.\n\n\n index = -1;\n\n while (++index < events.length) {\n if (events[index][1].type === 'attentionSequence') {\n events[index][1].type = 'data';\n }\n }\n\n return events;\n}\n\nfunction tokenizeAttention(effects, ok) {\n var before = classifyCharacter(this.previous);\n var marker;\n return start;\n\n function start(code) {\n effects.enter('attentionSequence');\n marker = code;\n return sequence(code);\n }\n\n function sequence(code) {\n var token;\n var after;\n var open;\n var close;\n\n if (code === marker) {\n effects.consume(code);\n return sequence;\n }\n\n token = effects.exit('attentionSequence');\n after = classifyCharacter(code);\n open = !after || after === 2 && before;\n close = !before || before === 2 && after;\n token._open = marker === 42 ? open : open && (before || !close);\n token._close = marker === 42 ? close : close && (after || !open);\n return ok(code);\n }\n}\n\nmodule.exports = attention;","'use strict';\n\nvar asciiAlpha = require('../character/ascii-alpha.js');\n\nvar asciiAlphanumeric = require('../character/ascii-alphanumeric.js');\n\nvar asciiAtext = require('../character/ascii-atext.js');\n\nvar asciiControl = require('../character/ascii-control.js');\n\nvar autolink = {\n name: 'autolink',\n tokenize: tokenizeAutolink\n};\n\nfunction tokenizeAutolink(effects, ok, nok) {\n var size = 1;\n return start;\n\n function start(code) {\n effects.enter('autolink');\n effects.enter('autolinkMarker');\n effects.consume(code);\n effects.exit('autolinkMarker');\n effects.enter('autolinkProtocol');\n return open;\n }\n\n function open(code) {\n if (asciiAlpha(code)) {\n effects.consume(code);\n return schemeOrEmailAtext;\n }\n\n return asciiAtext(code) ? emailAtext(code) : nok(code);\n }\n\n function schemeOrEmailAtext(code) {\n return code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code) ? schemeInsideOrEmailAtext(code) : emailAtext(code);\n }\n\n function schemeInsideOrEmailAtext(code) {\n if (code === 58) {\n effects.consume(code);\n return urlInside;\n }\n\n if ((code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)) && size++ < 32) {\n effects.consume(code);\n return schemeInsideOrEmailAtext;\n }\n\n return emailAtext(code);\n }\n\n function urlInside(code) {\n if (code === 62) {\n effects.exit('autolinkProtocol');\n return end(code);\n }\n\n if (code === 32 || code === 60 || asciiControl(code)) {\n return nok(code);\n }\n\n effects.consume(code);\n return urlInside;\n }\n\n function emailAtext(code) {\n if (code === 64) {\n effects.consume(code);\n size = 0;\n return emailAtSignOrDot;\n }\n\n if (asciiAtext(code)) {\n effects.consume(code);\n return emailAtext;\n }\n\n return nok(code);\n }\n\n function emailAtSignOrDot(code) {\n return asciiAlphanumeric(code) ? emailLabel(code) : nok(code);\n }\n\n function emailLabel(code) {\n if (code === 46) {\n effects.consume(code);\n size = 0;\n return emailAtSignOrDot;\n }\n\n if (code === 62) {\n // Exit, then change the type.\n effects.exit('autolinkProtocol').type = 'autolinkEmail';\n return end(code);\n }\n\n return emailValue(code);\n }\n\n function emailValue(code) {\n if ((code === 45 || asciiAlphanumeric(code)) && size++ < 63) {\n effects.consume(code);\n return code === 45 ? emailValue : emailLabel;\n }\n\n return nok(code);\n }\n\n function end(code) {\n effects.enter('autolinkMarker');\n effects.consume(code);\n effects.exit('autolinkMarker');\n effects.exit('autolink');\n return ok;\n }\n}\n\nmodule.exports = autolink;","'use strict';\n\nvar markdownSpace = require('../character/markdown-space.js');\n\nvar factorySpace = require('./factory-space.js');\n\nvar blockQuote = {\n name: 'blockQuote',\n tokenize: tokenizeBlockQuoteStart,\n continuation: {\n tokenize: tokenizeBlockQuoteContinuation\n },\n exit: exit\n};\n\nfunction tokenizeBlockQuoteStart(effects, ok, nok) {\n var self = this;\n return start;\n\n function start(code) {\n if (code === 62) {\n if (!self.containerState.open) {\n effects.enter('blockQuote', {\n _container: true\n });\n self.containerState.open = true;\n }\n\n effects.enter('blockQuotePrefix');\n effects.enter('blockQuoteMarker');\n effects.consume(code);\n effects.exit('blockQuoteMarker');\n return after;\n }\n\n return nok(code);\n }\n\n function after(code) {\n if (markdownSpace(code)) {\n effects.enter('blockQuotePrefixWhitespace');\n effects.consume(code);\n effects.exit('blockQuotePrefixWhitespace');\n effects.exit('blockQuotePrefix');\n return ok;\n }\n\n effects.exit('blockQuotePrefix');\n return ok(code);\n }\n}\n\nfunction tokenizeBlockQuoteContinuation(effects, ok, nok) {\n return factorySpace(effects, effects.attempt(blockQuote, ok, nok), 'linePrefix', this.parser.constructs.disable.null.indexOf('codeIndented') > -1 ? undefined : 4);\n}\n\nfunction exit(effects) {\n effects.exit('blockQuote');\n}\n\nmodule.exports = blockQuote;","'use strict';\n\nvar asciiPunctuation = require('../character/ascii-punctuation.js');\n\nvar characterEscape = {\n name: 'characterEscape',\n tokenize: tokenizeCharacterEscape\n};\n\nfunction tokenizeCharacterEscape(effects, ok, nok) {\n return start;\n\n function start(code) {\n effects.enter('characterEscape');\n effects.enter('escapeMarker');\n effects.consume(code);\n effects.exit('escapeMarker');\n return open;\n }\n\n function open(code) {\n if (asciiPunctuation(code)) {\n effects.enter('characterEscapeValue');\n effects.consume(code);\n effects.exit('characterEscapeValue');\n effects.exit('characterEscape');\n return ok;\n }\n\n return nok(code);\n }\n}\n\nmodule.exports = characterEscape;","'use strict';\n\nvar decodeEntity = require('parse-entities/decode-entity.js');\n\nvar asciiAlphanumeric = require('../character/ascii-alphanumeric.js');\n\nvar asciiDigit = require('../character/ascii-digit.js');\n\nvar asciiHexDigit = require('../character/ascii-hex-digit.js');\n\nfunction _interopDefaultLegacy(e) {\n return e && typeof e === 'object' && 'default' in e ? e : {\n default: e\n };\n}\n\nvar decodeEntity__default = /*#__PURE__*/_interopDefaultLegacy(decodeEntity);\n\nvar characterReference = {\n name: 'characterReference',\n tokenize: tokenizeCharacterReference\n};\n\nfunction tokenizeCharacterReference(effects, ok, nok) {\n var self = this;\n var size = 0;\n var max;\n var test;\n return start;\n\n function start(code) {\n effects.enter('characterReference');\n effects.enter('characterReferenceMarker');\n effects.consume(code);\n effects.exit('characterReferenceMarker');\n return open;\n }\n\n function open(code) {\n if (code === 35) {\n effects.enter('characterReferenceMarkerNumeric');\n effects.consume(code);\n effects.exit('characterReferenceMarkerNumeric');\n return numeric;\n }\n\n effects.enter('characterReferenceValue');\n max = 31;\n test = asciiAlphanumeric;\n return value(code);\n }\n\n function numeric(code) {\n if (code === 88 || code === 120) {\n effects.enter('characterReferenceMarkerHexadecimal');\n effects.consume(code);\n effects.exit('characterReferenceMarkerHexadecimal');\n effects.enter('characterReferenceValue');\n max = 6;\n test = asciiHexDigit;\n return value;\n }\n\n effects.enter('characterReferenceValue');\n max = 7;\n test = asciiDigit;\n return value(code);\n }\n\n function value(code) {\n var token;\n\n if (code === 59 && size) {\n token = effects.exit('characterReferenceValue');\n\n if (test === asciiAlphanumeric && !decodeEntity__default['default'](self.sliceSerialize(token))) {\n return nok(code);\n }\n\n effects.enter('characterReferenceMarker');\n effects.consume(code);\n effects.exit('characterReferenceMarker');\n effects.exit('characterReference');\n return ok;\n }\n\n if (test(code) && size++ < max) {\n effects.consume(code);\n return value;\n }\n\n return nok(code);\n }\n}\n\nmodule.exports = characterReference;","'use strict';\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js');\n\nvar markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js');\n\nvar prefixSize = require('../util/prefix-size.js');\n\nvar factorySpace = require('./factory-space.js');\n\nvar codeFenced = {\n name: 'codeFenced',\n tokenize: tokenizeCodeFenced,\n concrete: true\n};\n\nfunction tokenizeCodeFenced(effects, ok, nok) {\n var self = this;\n var closingFenceConstruct = {\n tokenize: tokenizeClosingFence,\n partial: true\n };\n var initialPrefix = prefixSize(this.events, 'linePrefix');\n var sizeOpen = 0;\n var marker;\n return start;\n\n function start(code) {\n effects.enter('codeFenced');\n effects.enter('codeFencedFence');\n effects.enter('codeFencedFenceSequence');\n marker = code;\n return sequenceOpen(code);\n }\n\n function sequenceOpen(code) {\n if (code === marker) {\n effects.consume(code);\n sizeOpen++;\n return sequenceOpen;\n }\n\n effects.exit('codeFencedFenceSequence');\n return sizeOpen < 3 ? nok(code) : factorySpace(effects, infoOpen, 'whitespace')(code);\n }\n\n function infoOpen(code) {\n if (code === null || markdownLineEnding(code)) {\n return openAfter(code);\n }\n\n effects.enter('codeFencedFenceInfo');\n effects.enter('chunkString', {\n contentType: 'string'\n });\n return info(code);\n }\n\n function info(code) {\n if (code === null || markdownLineEndingOrSpace(code)) {\n effects.exit('chunkString');\n effects.exit('codeFencedFenceInfo');\n return factorySpace(effects, infoAfter, 'whitespace')(code);\n }\n\n if (code === 96 && code === marker) return nok(code);\n effects.consume(code);\n return info;\n }\n\n function infoAfter(code) {\n if (code === null || markdownLineEnding(code)) {\n return openAfter(code);\n }\n\n effects.enter('codeFencedFenceMeta');\n effects.enter('chunkString', {\n contentType: 'string'\n });\n return meta(code);\n }\n\n function meta(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('chunkString');\n effects.exit('codeFencedFenceMeta');\n return openAfter(code);\n }\n\n if (code === 96 && code === marker) return nok(code);\n effects.consume(code);\n return meta;\n }\n\n function openAfter(code) {\n effects.exit('codeFencedFence');\n return self.interrupt ? ok(code) : content(code);\n }\n\n function content(code) {\n if (code === null) {\n return after(code);\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding');\n effects.consume(code);\n effects.exit('lineEnding');\n return effects.attempt(closingFenceConstruct, after, initialPrefix ? factorySpace(effects, content, 'linePrefix', initialPrefix + 1) : content);\n }\n\n effects.enter('codeFlowValue');\n return contentContinue(code);\n }\n\n function contentContinue(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFlowValue');\n return content(code);\n }\n\n effects.consume(code);\n return contentContinue;\n }\n\n function after(code) {\n effects.exit('codeFenced');\n return ok(code);\n }\n\n function tokenizeClosingFence(effects, ok, nok) {\n var size = 0;\n return factorySpace(effects, closingSequenceStart, 'linePrefix', this.parser.constructs.disable.null.indexOf('codeIndented') > -1 ? undefined : 4);\n\n function closingSequenceStart(code) {\n effects.enter('codeFencedFence');\n effects.enter('codeFencedFenceSequence');\n return closingSequence(code);\n }\n\n function closingSequence(code) {\n if (code === marker) {\n effects.consume(code);\n size++;\n return closingSequence;\n }\n\n if (size < sizeOpen) return nok(code);\n effects.exit('codeFencedFenceSequence');\n return factorySpace(effects, closingSequenceEnd, 'whitespace')(code);\n }\n\n function closingSequenceEnd(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFencedFence');\n return ok(code);\n }\n\n return nok(code);\n }\n }\n}\n\nmodule.exports = codeFenced;","'use strict';\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js');\n\nvar chunkedSplice = require('../util/chunked-splice.js');\n\nvar prefixSize = require('../util/prefix-size.js');\n\nvar factorySpace = require('./factory-space.js');\n\nvar codeIndented = {\n name: 'codeIndented',\n tokenize: tokenizeCodeIndented,\n resolve: resolveCodeIndented\n};\nvar indentedContentConstruct = {\n tokenize: tokenizeIndentedContent,\n partial: true\n};\n\nfunction resolveCodeIndented(events, context) {\n var code = {\n type: 'codeIndented',\n start: events[0][1].start,\n end: events[events.length - 1][1].end\n };\n chunkedSplice(events, 0, 0, [['enter', code, context]]);\n chunkedSplice(events, events.length, 0, [['exit', code, context]]);\n return events;\n}\n\nfunction tokenizeCodeIndented(effects, ok, nok) {\n return effects.attempt(indentedContentConstruct, afterPrefix, nok);\n\n function afterPrefix(code) {\n if (code === null) {\n return ok(code);\n }\n\n if (markdownLineEnding(code)) {\n return effects.attempt(indentedContentConstruct, afterPrefix, ok)(code);\n }\n\n effects.enter('codeFlowValue');\n return content(code);\n }\n\n function content(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFlowValue');\n return afterPrefix(code);\n }\n\n effects.consume(code);\n return content;\n }\n}\n\nfunction tokenizeIndentedContent(effects, ok, nok) {\n var self = this;\n return factorySpace(effects, afterPrefix, 'linePrefix', 4 + 1);\n\n function afterPrefix(code) {\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding');\n effects.consume(code);\n effects.exit('lineEnding');\n return factorySpace(effects, afterPrefix, 'linePrefix', 4 + 1);\n }\n\n return prefixSize(self.events, 'linePrefix') < 4 ? nok(code) : ok(code);\n }\n}\n\nmodule.exports = codeIndented;","'use strict';\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js');\n\nvar codeText = {\n name: 'codeText',\n tokenize: tokenizeCodeText,\n resolve: resolveCodeText,\n previous: previous\n};\n\nfunction resolveCodeText(events) {\n var tailExitIndex = events.length - 4;\n var headEnterIndex = 3;\n var index;\n var enter; // If we start and end with an EOL or a space.\n\n if ((events[headEnterIndex][1].type === 'lineEnding' || events[headEnterIndex][1].type === 'space') && (events[tailExitIndex][1].type === 'lineEnding' || events[tailExitIndex][1].type === 'space')) {\n index = headEnterIndex; // And we have data.\n\n while (++index < tailExitIndex) {\n if (events[index][1].type === 'codeTextData') {\n // Then we have padding.\n events[tailExitIndex][1].type = events[headEnterIndex][1].type = 'codeTextPadding';\n headEnterIndex += 2;\n tailExitIndex -= 2;\n break;\n }\n }\n } // Merge adjacent spaces and data.\n\n\n index = headEnterIndex - 1;\n tailExitIndex++;\n\n while (++index <= tailExitIndex) {\n if (enter === undefined) {\n if (index !== tailExitIndex && events[index][1].type !== 'lineEnding') {\n enter = index;\n }\n } else if (index === tailExitIndex || events[index][1].type === 'lineEnding') {\n events[enter][1].type = 'codeTextData';\n\n if (index !== enter + 2) {\n events[enter][1].end = events[index - 1][1].end;\n events.splice(enter + 2, index - enter - 2);\n tailExitIndex -= index - enter - 2;\n index = enter + 2;\n }\n\n enter = undefined;\n }\n }\n\n return events;\n}\n\nfunction previous(code) {\n // If there is a previous code, there will always be a tail.\n return code !== 96 || this.events[this.events.length - 1][1].type === 'characterEscape';\n}\n\nfunction tokenizeCodeText(effects, ok, nok) {\n var sizeOpen = 0;\n var size;\n var token;\n return start;\n\n function start(code) {\n effects.enter('codeText');\n effects.enter('codeTextSequence');\n return openingSequence(code);\n }\n\n function openingSequence(code) {\n if (code === 96) {\n effects.consume(code);\n sizeOpen++;\n return openingSequence;\n }\n\n effects.exit('codeTextSequence');\n return gap(code);\n }\n\n function gap(code) {\n // EOF.\n if (code === null) {\n return nok(code);\n } // Closing fence?\n // Could also be data.\n\n\n if (code === 96) {\n token = effects.enter('codeTextSequence');\n size = 0;\n return closingSequence(code);\n } // Tabs don’t work, and virtual spaces don’t make sense.\n\n\n if (code === 32) {\n effects.enter('space');\n effects.consume(code);\n effects.exit('space');\n return gap;\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding');\n effects.consume(code);\n effects.exit('lineEnding');\n return gap;\n } // Data.\n\n\n effects.enter('codeTextData');\n return data(code);\n } // In code.\n\n\n function data(code) {\n if (code === null || code === 32 || code === 96 || markdownLineEnding(code)) {\n effects.exit('codeTextData');\n return gap(code);\n }\n\n effects.consume(code);\n return data;\n } // Closing fence.\n\n\n function closingSequence(code) {\n // More.\n if (code === 96) {\n effects.consume(code);\n size++;\n return closingSequence;\n } // Done!\n\n\n if (size === sizeOpen) {\n effects.exit('codeTextSequence');\n effects.exit('codeText');\n return ok(code);\n } // More or less accents: mark as data.\n\n\n token.type = 'codeTextData';\n return data(code);\n }\n}\n\nmodule.exports = codeText;","'use strict';\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js');\n\nvar prefixSize = require('../util/prefix-size.js');\n\nvar subtokenize = require('../util/subtokenize.js');\n\nvar factorySpace = require('./factory-space.js'); // No name because it must not be turned off.\n\n\nvar content = {\n tokenize: tokenizeContent,\n resolve: resolveContent,\n interruptible: true,\n lazy: true\n};\nvar continuationConstruct = {\n tokenize: tokenizeContinuation,\n partial: true\n}; // Content is transparent: it’s parsed right now. That way, definitions are also\n// parsed right now: before text in paragraphs (specifically, media) are parsed.\n\nfunction resolveContent(events) {\n subtokenize(events);\n return events;\n}\n\nfunction tokenizeContent(effects, ok) {\n var previous;\n return start;\n\n function start(code) {\n effects.enter('content');\n previous = effects.enter('chunkContent', {\n contentType: 'content'\n });\n return data(code);\n }\n\n function data(code) {\n if (code === null) {\n return contentEnd(code);\n }\n\n if (markdownLineEnding(code)) {\n return effects.check(continuationConstruct, contentContinue, contentEnd)(code);\n } // Data.\n\n\n effects.consume(code);\n return data;\n }\n\n function contentEnd(code) {\n effects.exit('chunkContent');\n effects.exit('content');\n return ok(code);\n }\n\n function contentContinue(code) {\n effects.consume(code);\n effects.exit('chunkContent');\n previous = previous.next = effects.enter('chunkContent', {\n contentType: 'content',\n previous: previous\n });\n return data;\n }\n}\n\nfunction tokenizeContinuation(effects, ok, nok) {\n var self = this;\n return startLookahead;\n\n function startLookahead(code) {\n effects.enter('lineEnding');\n effects.consume(code);\n effects.exit('lineEnding');\n return factorySpace(effects, prefixed, 'linePrefix');\n }\n\n function prefixed(code) {\n if (code === null || markdownLineEnding(code)) {\n return nok(code);\n }\n\n if (self.parser.constructs.disable.null.indexOf('codeIndented') > -1 || prefixSize(self.events, 'linePrefix') < 4) {\n return effects.interrupt(self.parser.constructs.flow, nok, ok)(code);\n }\n\n return ok(code);\n }\n}\n\nmodule.exports = content;","'use strict';\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js');\n\nvar markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js');\n\nvar normalizeIdentifier = require('../util/normalize-identifier.js');\n\nvar factoryDestination = require('./factory-destination.js');\n\nvar factoryLabel = require('./factory-label.js');\n\nvar factorySpace = require('./factory-space.js');\n\nvar factoryWhitespace = require('./factory-whitespace.js');\n\nvar factoryTitle = require('./factory-title.js');\n\nvar definition = {\n name: 'definition',\n tokenize: tokenizeDefinition\n};\nvar titleConstruct = {\n tokenize: tokenizeTitle,\n partial: true\n};\n\nfunction tokenizeDefinition(effects, ok, nok) {\n var self = this;\n var identifier;\n return start;\n\n function start(code) {\n effects.enter('definition');\n return factoryLabel.call(self, effects, labelAfter, nok, 'definitionLabel', 'definitionLabelMarker', 'definitionLabelString')(code);\n }\n\n function labelAfter(code) {\n identifier = normalizeIdentifier(self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1));\n\n if (code === 58) {\n effects.enter('definitionMarker');\n effects.consume(code);\n effects.exit('definitionMarker'); // Note: blank lines can’t exist in content.\n\n return factoryWhitespace(effects, factoryDestination(effects, effects.attempt(titleConstruct, factorySpace(effects, after, 'whitespace'), factorySpace(effects, after, 'whitespace')), nok, 'definitionDestination', 'definitionDestinationLiteral', 'definitionDestinationLiteralMarker', 'definitionDestinationRaw', 'definitionDestinationString'));\n }\n\n return nok(code);\n }\n\n function after(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('definition');\n\n if (self.parser.defined.indexOf(identifier) < 0) {\n self.parser.defined.push(identifier);\n }\n\n return ok(code);\n }\n\n return nok(code);\n }\n}\n\nfunction tokenizeTitle(effects, ok, nok) {\n return start;\n\n function start(code) {\n return markdownLineEndingOrSpace(code) ? factoryWhitespace(effects, before)(code) : nok(code);\n }\n\n function before(code) {\n if (code === 34 || code === 39 || code === 40) {\n return factoryTitle(effects, factorySpace(effects, after, 'whitespace'), nok, 'definitionTitle', 'definitionTitleMarker', 'definitionTitleString')(code);\n }\n\n return nok(code);\n }\n\n function after(code) {\n return code === null || markdownLineEnding(code) ? ok(code) : nok(code);\n }\n}\n\nmodule.exports = definition;","'use strict';\n\nvar asciiControl = require('../character/ascii-control.js');\n\nvar markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js');\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js'); // eslint-disable-next-line max-params\n\n\nfunction destinationFactory(effects, ok, nok, type, literalType, literalMarkerType, rawType, stringType, max) {\n var limit = max || Infinity;\n var balance = 0;\n return start;\n\n function start(code) {\n if (code === 60) {\n effects.enter(type);\n effects.enter(literalType);\n effects.enter(literalMarkerType);\n effects.consume(code);\n effects.exit(literalMarkerType);\n return destinationEnclosedBefore;\n }\n\n if (asciiControl(code) || code === 41) {\n return nok(code);\n }\n\n effects.enter(type);\n effects.enter(rawType);\n effects.enter(stringType);\n effects.enter('chunkString', {\n contentType: 'string'\n });\n return destinationRaw(code);\n }\n\n function destinationEnclosedBefore(code) {\n if (code === 62) {\n effects.enter(literalMarkerType);\n effects.consume(code);\n effects.exit(literalMarkerType);\n effects.exit(literalType);\n effects.exit(type);\n return ok;\n }\n\n effects.enter(stringType);\n effects.enter('chunkString', {\n contentType: 'string'\n });\n return destinationEnclosed(code);\n }\n\n function destinationEnclosed(code) {\n if (code === 62) {\n effects.exit('chunkString');\n effects.exit(stringType);\n return destinationEnclosedBefore(code);\n }\n\n if (code === null || code === 60 || markdownLineEnding(code)) {\n return nok(code);\n }\n\n effects.consume(code);\n return code === 92 ? destinationEnclosedEscape : destinationEnclosed;\n }\n\n function destinationEnclosedEscape(code) {\n if (code === 60 || code === 62 || code === 92) {\n effects.consume(code);\n return destinationEnclosed;\n }\n\n return destinationEnclosed(code);\n }\n\n function destinationRaw(code) {\n if (code === 40) {\n if (++balance > limit) return nok(code);\n effects.consume(code);\n return destinationRaw;\n }\n\n if (code === 41) {\n if (!balance--) {\n effects.exit('chunkString');\n effects.exit(stringType);\n effects.exit(rawType);\n effects.exit(type);\n return ok(code);\n }\n\n effects.consume(code);\n return destinationRaw;\n }\n\n if (code === null || markdownLineEndingOrSpace(code)) {\n if (balance) return nok(code);\n effects.exit('chunkString');\n effects.exit(stringType);\n effects.exit(rawType);\n effects.exit(type);\n return ok(code);\n }\n\n if (asciiControl(code)) return nok(code);\n effects.consume(code);\n return code === 92 ? destinationRawEscape : destinationRaw;\n }\n\n function destinationRawEscape(code) {\n if (code === 40 || code === 41 || code === 92) {\n effects.consume(code);\n return destinationRaw;\n }\n\n return destinationRaw(code);\n }\n}\n\nmodule.exports = destinationFactory;","'use strict';\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js');\n\nvar markdownSpace = require('../character/markdown-space.js'); // eslint-disable-next-line max-params\n\n\nfunction labelFactory(effects, ok, nok, type, markerType, stringType) {\n var self = this;\n var size = 0;\n var data;\n return start;\n\n function start(code) {\n effects.enter(type);\n effects.enter(markerType);\n effects.consume(code);\n effects.exit(markerType);\n effects.enter(stringType);\n return atBreak;\n }\n\n function atBreak(code) {\n if (code === null || code === 91 || code === 93 && !data || code === 94 &&\n /* c8 ignore next */\n !size &&\n /* c8 ignore next */\n '_hiddenFootnoteSupport' in self.parser.constructs || size > 999) {\n return nok(code);\n }\n\n if (code === 93) {\n effects.exit(stringType);\n effects.enter(markerType);\n effects.consume(code);\n effects.exit(markerType);\n effects.exit(type);\n return ok;\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding');\n effects.consume(code);\n effects.exit('lineEnding');\n return atBreak;\n }\n\n effects.enter('chunkString', {\n contentType: 'string'\n });\n return label(code);\n }\n\n function label(code) {\n if (code === null || code === 91 || code === 93 || markdownLineEnding(code) || size++ > 999) {\n effects.exit('chunkString');\n return atBreak(code);\n }\n\n effects.consume(code);\n data = data || !markdownSpace(code);\n return code === 92 ? labelEscape : label;\n }\n\n function labelEscape(code) {\n if (code === 91 || code === 92 || code === 93) {\n effects.consume(code);\n size++;\n return label;\n }\n\n return label(code);\n }\n}\n\nmodule.exports = labelFactory;","'use strict';\n\nvar markdownSpace = require('../character/markdown-space.js');\n\nfunction spaceFactory(effects, ok, type, max) {\n var limit = max ? max - 1 : Infinity;\n var size = 0;\n return start;\n\n function start(code) {\n if (markdownSpace(code)) {\n effects.enter(type);\n return prefix(code);\n }\n\n return ok(code);\n }\n\n function prefix(code) {\n if (markdownSpace(code) && size++ < limit) {\n effects.consume(code);\n return prefix;\n }\n\n effects.exit(type);\n return ok(code);\n }\n}\n\nmodule.exports = spaceFactory;","'use strict';\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js');\n\nvar factorySpace = require('./factory-space.js');\n\nfunction titleFactory(effects, ok, nok, type, markerType, stringType) {\n var marker;\n return start;\n\n function start(code) {\n effects.enter(type);\n effects.enter(markerType);\n effects.consume(code);\n effects.exit(markerType);\n marker = code === 40 ? 41 : code;\n return atFirstTitleBreak;\n }\n\n function atFirstTitleBreak(code) {\n if (code === marker) {\n effects.enter(markerType);\n effects.consume(code);\n effects.exit(markerType);\n effects.exit(type);\n return ok;\n }\n\n effects.enter(stringType);\n return atTitleBreak(code);\n }\n\n function atTitleBreak(code) {\n if (code === marker) {\n effects.exit(stringType);\n return atFirstTitleBreak(marker);\n }\n\n if (code === null) {\n return nok(code);\n } // Note: blank lines can’t exist in content.\n\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding');\n effects.consume(code);\n effects.exit('lineEnding');\n return factorySpace(effects, atTitleBreak, 'linePrefix');\n }\n\n effects.enter('chunkString', {\n contentType: 'string'\n });\n return title(code);\n }\n\n function title(code) {\n if (code === marker || code === null || markdownLineEnding(code)) {\n effects.exit('chunkString');\n return atTitleBreak(code);\n }\n\n effects.consume(code);\n return code === 92 ? titleEscape : title;\n }\n\n function titleEscape(code) {\n if (code === marker || code === 92) {\n effects.consume(code);\n return title;\n }\n\n return title(code);\n }\n}\n\nmodule.exports = titleFactory;","'use strict';\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js');\n\nvar markdownSpace = require('../character/markdown-space.js');\n\nvar factorySpace = require('./factory-space.js');\n\nfunction whitespaceFactory(effects, ok) {\n var seen;\n return start;\n\n function start(code) {\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding');\n effects.consume(code);\n effects.exit('lineEnding');\n seen = true;\n return start;\n }\n\n if (markdownSpace(code)) {\n return factorySpace(effects, start, seen ? 'linePrefix' : 'lineSuffix')(code);\n }\n\n return ok(code);\n }\n}\n\nmodule.exports = whitespaceFactory;","'use strict';\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js');\n\nvar hardBreakEscape = {\n name: 'hardBreakEscape',\n tokenize: tokenizeHardBreakEscape\n};\n\nfunction tokenizeHardBreakEscape(effects, ok, nok) {\n return start;\n\n function start(code) {\n effects.enter('hardBreakEscape');\n effects.enter('escapeMarker');\n effects.consume(code);\n return open;\n }\n\n function open(code) {\n if (markdownLineEnding(code)) {\n effects.exit('escapeMarker');\n effects.exit('hardBreakEscape');\n return ok(code);\n }\n\n return nok(code);\n }\n}\n\nmodule.exports = hardBreakEscape;","'use strict';\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js');\n\nvar markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js');\n\nvar markdownSpace = require('../character/markdown-space.js');\n\nvar chunkedSplice = require('../util/chunked-splice.js');\n\nvar factorySpace = require('./factory-space.js');\n\nvar headingAtx = {\n name: 'headingAtx',\n tokenize: tokenizeHeadingAtx,\n resolve: resolveHeadingAtx\n};\n\nfunction resolveHeadingAtx(events, context) {\n var contentEnd = events.length - 2;\n var contentStart = 3;\n var content;\n var text; // Prefix whitespace, part of the opening.\n\n if (events[contentStart][1].type === 'whitespace') {\n contentStart += 2;\n } // Suffix whitespace, part of the closing.\n\n\n if (contentEnd - 2 > contentStart && events[contentEnd][1].type === 'whitespace') {\n contentEnd -= 2;\n }\n\n if (events[contentEnd][1].type === 'atxHeadingSequence' && (contentStart === contentEnd - 1 || contentEnd - 4 > contentStart && events[contentEnd - 2][1].type === 'whitespace')) {\n contentEnd -= contentStart + 1 === contentEnd ? 2 : 4;\n }\n\n if (contentEnd > contentStart) {\n content = {\n type: 'atxHeadingText',\n start: events[contentStart][1].start,\n end: events[contentEnd][1].end\n };\n text = {\n type: 'chunkText',\n start: events[contentStart][1].start,\n end: events[contentEnd][1].end,\n contentType: 'text'\n };\n chunkedSplice(events, contentStart, contentEnd - contentStart + 1, [['enter', content, context], ['enter', text, context], ['exit', text, context], ['exit', content, context]]);\n }\n\n return events;\n}\n\nfunction tokenizeHeadingAtx(effects, ok, nok) {\n var self = this;\n var size = 0;\n return start;\n\n function start(code) {\n effects.enter('atxHeading');\n effects.enter('atxHeadingSequence');\n return fenceOpenInside(code);\n }\n\n function fenceOpenInside(code) {\n if (code === 35 && size++ < 6) {\n effects.consume(code);\n return fenceOpenInside;\n }\n\n if (code === null || markdownLineEndingOrSpace(code)) {\n effects.exit('atxHeadingSequence');\n return self.interrupt ? ok(code) : headingBreak(code);\n }\n\n return nok(code);\n }\n\n function headingBreak(code) {\n if (code === 35) {\n effects.enter('atxHeadingSequence');\n return sequence(code);\n }\n\n if (code === null || markdownLineEnding(code)) {\n effects.exit('atxHeading');\n return ok(code);\n }\n\n if (markdownSpace(code)) {\n return factorySpace(effects, headingBreak, 'whitespace')(code);\n }\n\n effects.enter('atxHeadingText');\n return data(code);\n }\n\n function sequence(code) {\n if (code === 35) {\n effects.consume(code);\n return sequence;\n }\n\n effects.exit('atxHeadingSequence');\n return headingBreak(code);\n }\n\n function data(code) {\n if (code === null || code === 35 || markdownLineEndingOrSpace(code)) {\n effects.exit('atxHeadingText');\n return headingBreak(code);\n }\n\n effects.consume(code);\n return data;\n }\n}\n\nmodule.exports = headingAtx;","'use strict';\n\nvar asciiAlpha = require('../character/ascii-alpha.js');\n\nvar asciiAlphanumeric = require('../character/ascii-alphanumeric.js');\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js');\n\nvar markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js');\n\nvar markdownSpace = require('../character/markdown-space.js');\n\nvar fromCharCode = require('../constant/from-char-code.js');\n\nvar htmlBlockNames = require('../constant/html-block-names.js');\n\nvar htmlRawNames = require('../constant/html-raw-names.js');\n\nvar partialBlankLine = require('./partial-blank-line.js');\n\nvar htmlFlow = {\n name: 'htmlFlow',\n tokenize: tokenizeHtmlFlow,\n resolveTo: resolveToHtmlFlow,\n concrete: true\n};\nvar nextBlankConstruct = {\n tokenize: tokenizeNextBlank,\n partial: true\n};\n\nfunction resolveToHtmlFlow(events) {\n var index = events.length;\n\n while (index--) {\n if (events[index][0] === 'enter' && events[index][1].type === 'htmlFlow') {\n break;\n }\n }\n\n if (index > 1 && events[index - 2][1].type === 'linePrefix') {\n // Add the prefix start to the HTML token.\n events[index][1].start = events[index - 2][1].start; // Add the prefix start to the HTML line token.\n\n events[index + 1][1].start = events[index - 2][1].start; // Remove the line prefix.\n\n events.splice(index - 2, 2);\n }\n\n return events;\n}\n\nfunction tokenizeHtmlFlow(effects, ok, nok) {\n var self = this;\n var kind;\n var startTag;\n var buffer;\n var index;\n var marker;\n return start;\n\n function start(code) {\n effects.enter('htmlFlow');\n effects.enter('htmlFlowData');\n effects.consume(code);\n return open;\n }\n\n function open(code) {\n if (code === 33) {\n effects.consume(code);\n return declarationStart;\n }\n\n if (code === 47) {\n effects.consume(code);\n return tagCloseStart;\n }\n\n if (code === 63) {\n effects.consume(code);\n kind = 3; // While we’re in an instruction instead of a declaration, we’re on a `?`\n // right now, so we do need to search for `>`, similar to declarations.\n\n return self.interrupt ? ok : continuationDeclarationInside;\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code);\n buffer = fromCharCode(code);\n startTag = true;\n return tagName;\n }\n\n return nok(code);\n }\n\n function declarationStart(code) {\n if (code === 45) {\n effects.consume(code);\n kind = 2;\n return commentOpenInside;\n }\n\n if (code === 91) {\n effects.consume(code);\n kind = 5;\n buffer = 'CDATA[';\n index = 0;\n return cdataOpenInside;\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code);\n kind = 4;\n return self.interrupt ? ok : continuationDeclarationInside;\n }\n\n return nok(code);\n }\n\n function commentOpenInside(code) {\n if (code === 45) {\n effects.consume(code);\n return self.interrupt ? ok : continuationDeclarationInside;\n }\n\n return nok(code);\n }\n\n function cdataOpenInside(code) {\n if (code === buffer.charCodeAt(index++)) {\n effects.consume(code);\n return index === buffer.length ? self.interrupt ? ok : continuation : cdataOpenInside;\n }\n\n return nok(code);\n }\n\n function tagCloseStart(code) {\n if (asciiAlpha(code)) {\n effects.consume(code);\n buffer = fromCharCode(code);\n return tagName;\n }\n\n return nok(code);\n }\n\n function tagName(code) {\n if (code === null || code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n if (code !== 47 && startTag && htmlRawNames.indexOf(buffer.toLowerCase()) > -1) {\n kind = 1;\n return self.interrupt ? ok(code) : continuation(code);\n }\n\n if (htmlBlockNames.indexOf(buffer.toLowerCase()) > -1) {\n kind = 6;\n\n if (code === 47) {\n effects.consume(code);\n return basicSelfClosing;\n }\n\n return self.interrupt ? ok(code) : continuation(code);\n }\n\n kind = 7; // Do not support complete HTML when interrupting.\n\n return self.interrupt ? nok(code) : startTag ? completeAttributeNameBefore(code) : completeClosingTagAfter(code);\n }\n\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code);\n buffer += fromCharCode(code);\n return tagName;\n }\n\n return nok(code);\n }\n\n function basicSelfClosing(code) {\n if (code === 62) {\n effects.consume(code);\n return self.interrupt ? ok : continuation;\n }\n\n return nok(code);\n }\n\n function completeClosingTagAfter(code) {\n if (markdownSpace(code)) {\n effects.consume(code);\n return completeClosingTagAfter;\n }\n\n return completeEnd(code);\n }\n\n function completeAttributeNameBefore(code) {\n if (code === 47) {\n effects.consume(code);\n return completeEnd;\n }\n\n if (code === 58 || code === 95 || asciiAlpha(code)) {\n effects.consume(code);\n return completeAttributeName;\n }\n\n if (markdownSpace(code)) {\n effects.consume(code);\n return completeAttributeNameBefore;\n }\n\n return completeEnd(code);\n }\n\n function completeAttributeName(code) {\n if (code === 45 || code === 46 || code === 58 || code === 95 || asciiAlphanumeric(code)) {\n effects.consume(code);\n return completeAttributeName;\n }\n\n return completeAttributeNameAfter(code);\n }\n\n function completeAttributeNameAfter(code) {\n if (code === 61) {\n effects.consume(code);\n return completeAttributeValueBefore;\n }\n\n if (markdownSpace(code)) {\n effects.consume(code);\n return completeAttributeNameAfter;\n }\n\n return completeAttributeNameBefore(code);\n }\n\n function completeAttributeValueBefore(code) {\n if (code === null || code === 60 || code === 61 || code === 62 || code === 96) {\n return nok(code);\n }\n\n if (code === 34 || code === 39) {\n effects.consume(code);\n marker = code;\n return completeAttributeValueQuoted;\n }\n\n if (markdownSpace(code)) {\n effects.consume(code);\n return completeAttributeValueBefore;\n }\n\n marker = undefined;\n return completeAttributeValueUnquoted(code);\n }\n\n function completeAttributeValueQuoted(code) {\n if (code === marker) {\n effects.consume(code);\n return completeAttributeValueQuotedAfter;\n }\n\n if (code === null || markdownLineEnding(code)) {\n return nok(code);\n }\n\n effects.consume(code);\n return completeAttributeValueQuoted;\n }\n\n function completeAttributeValueUnquoted(code) {\n if (code === null || code === 34 || code === 39 || code === 60 || code === 61 || code === 62 || code === 96 || markdownLineEndingOrSpace(code)) {\n return completeAttributeNameAfter(code);\n }\n\n effects.consume(code);\n return completeAttributeValueUnquoted;\n }\n\n function completeAttributeValueQuotedAfter(code) {\n if (code === 47 || code === 62 || markdownSpace(code)) {\n return completeAttributeNameBefore(code);\n }\n\n return nok(code);\n }\n\n function completeEnd(code) {\n if (code === 62) {\n effects.consume(code);\n return completeAfter;\n }\n\n return nok(code);\n }\n\n function completeAfter(code) {\n if (markdownSpace(code)) {\n effects.consume(code);\n return completeAfter;\n }\n\n return code === null || markdownLineEnding(code) ? continuation(code) : nok(code);\n }\n\n function continuation(code) {\n if (code === 45 && kind === 2) {\n effects.consume(code);\n return continuationCommentInside;\n }\n\n if (code === 60 && kind === 1) {\n effects.consume(code);\n return continuationRawTagOpen;\n }\n\n if (code === 62 && kind === 4) {\n effects.consume(code);\n return continuationClose;\n }\n\n if (code === 63 && kind === 3) {\n effects.consume(code);\n return continuationDeclarationInside;\n }\n\n if (code === 93 && kind === 5) {\n effects.consume(code);\n return continuationCharacterDataInside;\n }\n\n if (markdownLineEnding(code) && (kind === 6 || kind === 7)) {\n return effects.check(nextBlankConstruct, continuationClose, continuationAtLineEnding)(code);\n }\n\n if (code === null || markdownLineEnding(code)) {\n return continuationAtLineEnding(code);\n }\n\n effects.consume(code);\n return continuation;\n }\n\n function continuationAtLineEnding(code) {\n effects.exit('htmlFlowData');\n return htmlContinueStart(code);\n }\n\n function htmlContinueStart(code) {\n if (code === null) {\n return done(code);\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding');\n effects.consume(code);\n effects.exit('lineEnding');\n return htmlContinueStart;\n }\n\n effects.enter('htmlFlowData');\n return continuation(code);\n }\n\n function continuationCommentInside(code) {\n if (code === 45) {\n effects.consume(code);\n return continuationDeclarationInside;\n }\n\n return continuation(code);\n }\n\n function continuationRawTagOpen(code) {\n if (code === 47) {\n effects.consume(code);\n buffer = '';\n return continuationRawEndTag;\n }\n\n return continuation(code);\n }\n\n function continuationRawEndTag(code) {\n if (code === 62 && htmlRawNames.indexOf(buffer.toLowerCase()) > -1) {\n effects.consume(code);\n return continuationClose;\n }\n\n if (asciiAlpha(code) && buffer.length < 8) {\n effects.consume(code);\n buffer += fromCharCode(code);\n return continuationRawEndTag;\n }\n\n return continuation(code);\n }\n\n function continuationCharacterDataInside(code) {\n if (code === 93) {\n effects.consume(code);\n return continuationDeclarationInside;\n }\n\n return continuation(code);\n }\n\n function continuationDeclarationInside(code) {\n if (code === 62) {\n effects.consume(code);\n return continuationClose;\n }\n\n return continuation(code);\n }\n\n function continuationClose(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('htmlFlowData');\n return done(code);\n }\n\n effects.consume(code);\n return continuationClose;\n }\n\n function done(code) {\n effects.exit('htmlFlow');\n return ok(code);\n }\n}\n\nfunction tokenizeNextBlank(effects, ok, nok) {\n return start;\n\n function start(code) {\n effects.exit('htmlFlowData');\n effects.enter('lineEndingBlank');\n effects.consume(code);\n effects.exit('lineEndingBlank');\n return effects.attempt(partialBlankLine, ok, nok);\n }\n}\n\nmodule.exports = htmlFlow;","'use strict';\n\nvar asciiAlpha = require('../character/ascii-alpha.js');\n\nvar asciiAlphanumeric = require('../character/ascii-alphanumeric.js');\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js');\n\nvar markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js');\n\nvar markdownSpace = require('../character/markdown-space.js');\n\nvar factorySpace = require('./factory-space.js');\n\nvar htmlText = {\n name: 'htmlText',\n tokenize: tokenizeHtmlText\n};\n\nfunction tokenizeHtmlText(effects, ok, nok) {\n var self = this;\n var marker;\n var buffer;\n var index;\n var returnState;\n return start;\n\n function start(code) {\n effects.enter('htmlText');\n effects.enter('htmlTextData');\n effects.consume(code);\n return open;\n }\n\n function open(code) {\n if (code === 33) {\n effects.consume(code);\n return declarationOpen;\n }\n\n if (code === 47) {\n effects.consume(code);\n return tagCloseStart;\n }\n\n if (code === 63) {\n effects.consume(code);\n return instruction;\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code);\n return tagOpen;\n }\n\n return nok(code);\n }\n\n function declarationOpen(code) {\n if (code === 45) {\n effects.consume(code);\n return commentOpen;\n }\n\n if (code === 91) {\n effects.consume(code);\n buffer = 'CDATA[';\n index = 0;\n return cdataOpen;\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code);\n return declaration;\n }\n\n return nok(code);\n }\n\n function commentOpen(code) {\n if (code === 45) {\n effects.consume(code);\n return commentStart;\n }\n\n return nok(code);\n }\n\n function commentStart(code) {\n if (code === null || code === 62) {\n return nok(code);\n }\n\n if (code === 45) {\n effects.consume(code);\n return commentStartDash;\n }\n\n return comment(code);\n }\n\n function commentStartDash(code) {\n if (code === null || code === 62) {\n return nok(code);\n }\n\n return comment(code);\n }\n\n function comment(code) {\n if (code === null) {\n return nok(code);\n }\n\n if (code === 45) {\n effects.consume(code);\n return commentClose;\n }\n\n if (markdownLineEnding(code)) {\n returnState = comment;\n return atLineEnding(code);\n }\n\n effects.consume(code);\n return comment;\n }\n\n function commentClose(code) {\n if (code === 45) {\n effects.consume(code);\n return end;\n }\n\n return comment(code);\n }\n\n function cdataOpen(code) {\n if (code === buffer.charCodeAt(index++)) {\n effects.consume(code);\n return index === buffer.length ? cdata : cdataOpen;\n }\n\n return nok(code);\n }\n\n function cdata(code) {\n if (code === null) {\n return nok(code);\n }\n\n if (code === 93) {\n effects.consume(code);\n return cdataClose;\n }\n\n if (markdownLineEnding(code)) {\n returnState = cdata;\n return atLineEnding(code);\n }\n\n effects.consume(code);\n return cdata;\n }\n\n function cdataClose(code) {\n if (code === 93) {\n effects.consume(code);\n return cdataEnd;\n }\n\n return cdata(code);\n }\n\n function cdataEnd(code) {\n if (code === 62) {\n return end(code);\n }\n\n if (code === 93) {\n effects.consume(code);\n return cdataEnd;\n }\n\n return cdata(code);\n }\n\n function declaration(code) {\n if (code === null || code === 62) {\n return end(code);\n }\n\n if (markdownLineEnding(code)) {\n returnState = declaration;\n return atLineEnding(code);\n }\n\n effects.consume(code);\n return declaration;\n }\n\n function instruction(code) {\n if (code === null) {\n return nok(code);\n }\n\n if (code === 63) {\n effects.consume(code);\n return instructionClose;\n }\n\n if (markdownLineEnding(code)) {\n returnState = instruction;\n return atLineEnding(code);\n }\n\n effects.consume(code);\n return instruction;\n }\n\n function instructionClose(code) {\n return code === 62 ? end(code) : instruction(code);\n }\n\n function tagCloseStart(code) {\n if (asciiAlpha(code)) {\n effects.consume(code);\n return tagClose;\n }\n\n return nok(code);\n }\n\n function tagClose(code) {\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code);\n return tagClose;\n }\n\n return tagCloseBetween(code);\n }\n\n function tagCloseBetween(code) {\n if (markdownLineEnding(code)) {\n returnState = tagCloseBetween;\n return atLineEnding(code);\n }\n\n if (markdownSpace(code)) {\n effects.consume(code);\n return tagCloseBetween;\n }\n\n return end(code);\n }\n\n function tagOpen(code) {\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code);\n return tagOpen;\n }\n\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code);\n }\n\n return nok(code);\n }\n\n function tagOpenBetween(code) {\n if (code === 47) {\n effects.consume(code);\n return end;\n }\n\n if (code === 58 || code === 95 || asciiAlpha(code)) {\n effects.consume(code);\n return tagOpenAttributeName;\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenBetween;\n return atLineEnding(code);\n }\n\n if (markdownSpace(code)) {\n effects.consume(code);\n return tagOpenBetween;\n }\n\n return end(code);\n }\n\n function tagOpenAttributeName(code) {\n if (code === 45 || code === 46 || code === 58 || code === 95 || asciiAlphanumeric(code)) {\n effects.consume(code);\n return tagOpenAttributeName;\n }\n\n return tagOpenAttributeNameAfter(code);\n }\n\n function tagOpenAttributeNameAfter(code) {\n if (code === 61) {\n effects.consume(code);\n return tagOpenAttributeValueBefore;\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeNameAfter;\n return atLineEnding(code);\n }\n\n if (markdownSpace(code)) {\n effects.consume(code);\n return tagOpenAttributeNameAfter;\n }\n\n return tagOpenBetween(code);\n }\n\n function tagOpenAttributeValueBefore(code) {\n if (code === null || code === 60 || code === 61 || code === 62 || code === 96) {\n return nok(code);\n }\n\n if (code === 34 || code === 39) {\n effects.consume(code);\n marker = code;\n return tagOpenAttributeValueQuoted;\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueBefore;\n return atLineEnding(code);\n }\n\n if (markdownSpace(code)) {\n effects.consume(code);\n return tagOpenAttributeValueBefore;\n }\n\n effects.consume(code);\n marker = undefined;\n return tagOpenAttributeValueUnquoted;\n }\n\n function tagOpenAttributeValueQuoted(code) {\n if (code === marker) {\n effects.consume(code);\n return tagOpenAttributeValueQuotedAfter;\n }\n\n if (code === null) {\n return nok(code);\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueQuoted;\n return atLineEnding(code);\n }\n\n effects.consume(code);\n return tagOpenAttributeValueQuoted;\n }\n\n function tagOpenAttributeValueQuotedAfter(code) {\n if (code === 62 || code === 47 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code);\n }\n\n return nok(code);\n }\n\n function tagOpenAttributeValueUnquoted(code) {\n if (code === null || code === 34 || code === 39 || code === 60 || code === 61 || code === 96) {\n return nok(code);\n }\n\n if (code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code);\n }\n\n effects.consume(code);\n return tagOpenAttributeValueUnquoted;\n } // We can’t have blank lines in content, so no need to worry about empty\n // tokens.\n\n\n function atLineEnding(code) {\n effects.exit('htmlTextData');\n effects.enter('lineEnding');\n effects.consume(code);\n effects.exit('lineEnding');\n return factorySpace(effects, afterPrefix, 'linePrefix', self.parser.constructs.disable.null.indexOf('codeIndented') > -1 ? undefined : 4);\n }\n\n function afterPrefix(code) {\n effects.enter('htmlTextData');\n return returnState(code);\n }\n\n function end(code) {\n if (code === 62) {\n effects.consume(code);\n effects.exit('htmlTextData');\n effects.exit('htmlText');\n return ok;\n }\n\n return nok(code);\n }\n}\n\nmodule.exports = htmlText;","'use strict';\n\nvar markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js');\n\nvar chunkedPush = require('../util/chunked-push.js');\n\nvar chunkedSplice = require('../util/chunked-splice.js');\n\nvar normalizeIdentifier = require('../util/normalize-identifier.js');\n\nvar resolveAll = require('../util/resolve-all.js');\n\nvar shallow = require('../util/shallow.js');\n\nvar factoryDestination = require('./factory-destination.js');\n\nvar factoryLabel = require('./factory-label.js');\n\nvar factoryTitle = require('./factory-title.js');\n\nvar factoryWhitespace = require('./factory-whitespace.js');\n\nvar labelEnd = {\n name: 'labelEnd',\n tokenize: tokenizeLabelEnd,\n resolveTo: resolveToLabelEnd,\n resolveAll: resolveAllLabelEnd\n};\nvar resourceConstruct = {\n tokenize: tokenizeResource\n};\nvar fullReferenceConstruct = {\n tokenize: tokenizeFullReference\n};\nvar collapsedReferenceConstruct = {\n tokenize: tokenizeCollapsedReference\n};\n\nfunction resolveAllLabelEnd(events) {\n var index = -1;\n var token;\n\n while (++index < events.length) {\n token = events[index][1];\n\n if (!token._used && (token.type === 'labelImage' || token.type === 'labelLink' || token.type === 'labelEnd')) {\n // Remove the marker.\n events.splice(index + 1, token.type === 'labelImage' ? 4 : 2);\n token.type = 'data';\n index++;\n }\n }\n\n return events;\n}\n\nfunction resolveToLabelEnd(events, context) {\n var index = events.length;\n var offset = 0;\n var group;\n var label;\n var text;\n var token;\n var open;\n var close;\n var media; // Find an opening.\n\n while (index--) {\n token = events[index][1];\n\n if (open) {\n // If we see another link, or inactive link label, we’ve been here before.\n if (token.type === 'link' || token.type === 'labelLink' && token._inactive) {\n break;\n } // Mark other link openings as inactive, as we can’t have links in\n // links.\n\n\n if (events[index][0] === 'enter' && token.type === 'labelLink') {\n token._inactive = true;\n }\n } else if (close) {\n if (events[index][0] === 'enter' && (token.type === 'labelImage' || token.type === 'labelLink') && !token._balanced) {\n open = index;\n\n if (token.type !== 'labelLink') {\n offset = 2;\n break;\n }\n }\n } else if (token.type === 'labelEnd') {\n close = index;\n }\n }\n\n group = {\n type: events[open][1].type === 'labelLink' ? 'link' : 'image',\n start: shallow(events[open][1].start),\n end: shallow(events[events.length - 1][1].end)\n };\n label = {\n type: 'label',\n start: shallow(events[open][1].start),\n end: shallow(events[close][1].end)\n };\n text = {\n type: 'labelText',\n start: shallow(events[open + offset + 2][1].end),\n end: shallow(events[close - 2][1].start)\n };\n media = [['enter', group, context], ['enter', label, context]]; // Opening marker.\n\n media = chunkedPush(media, events.slice(open + 1, open + offset + 3)); // Text open.\n\n media = chunkedPush(media, [['enter', text, context]]); // Between.\n\n media = chunkedPush(media, resolveAll(context.parser.constructs.insideSpan.null, events.slice(open + offset + 4, close - 3), context)); // Text close, marker close, label close.\n\n media = chunkedPush(media, [['exit', text, context], events[close - 2], events[close - 1], ['exit', label, context]]); // Reference, resource, or so.\n\n media = chunkedPush(media, events.slice(close + 1)); // Media close.\n\n media = chunkedPush(media, [['exit', group, context]]);\n chunkedSplice(events, open, events.length, media);\n return events;\n}\n\nfunction tokenizeLabelEnd(effects, ok, nok) {\n var self = this;\n var index = self.events.length;\n var labelStart;\n var defined; // Find an opening.\n\n while (index--) {\n if ((self.events[index][1].type === 'labelImage' || self.events[index][1].type === 'labelLink') && !self.events[index][1]._balanced) {\n labelStart = self.events[index][1];\n break;\n }\n }\n\n return start;\n\n function start(code) {\n if (!labelStart) {\n return nok(code);\n } // It’s a balanced bracket, but contains a link.\n\n\n if (labelStart._inactive) return balanced(code);\n defined = self.parser.defined.indexOf(normalizeIdentifier(self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n }))) > -1;\n effects.enter('labelEnd');\n effects.enter('labelMarker');\n effects.consume(code);\n effects.exit('labelMarker');\n effects.exit('labelEnd');\n return afterLabelEnd;\n }\n\n function afterLabelEnd(code) {\n // Resource: `[asd](fgh)`.\n if (code === 40) {\n return effects.attempt(resourceConstruct, ok, defined ? ok : balanced)(code);\n } // Collapsed (`[asd][]`) or full (`[asd][fgh]`) reference?\n\n\n if (code === 91) {\n return effects.attempt(fullReferenceConstruct, ok, defined ? effects.attempt(collapsedReferenceConstruct, ok, balanced) : balanced)(code);\n } // Shortcut reference: `[asd]`?\n\n\n return defined ? ok(code) : balanced(code);\n }\n\n function balanced(code) {\n labelStart._balanced = true;\n return nok(code);\n }\n}\n\nfunction tokenizeResource(effects, ok, nok) {\n return start;\n\n function start(code) {\n effects.enter('resource');\n effects.enter('resourceMarker');\n effects.consume(code);\n effects.exit('resourceMarker');\n return factoryWhitespace(effects, open);\n }\n\n function open(code) {\n if (code === 41) {\n return end(code);\n }\n\n return factoryDestination(effects, destinationAfter, nok, 'resourceDestination', 'resourceDestinationLiteral', 'resourceDestinationLiteralMarker', 'resourceDestinationRaw', 'resourceDestinationString', 3)(code);\n }\n\n function destinationAfter(code) {\n return markdownLineEndingOrSpace(code) ? factoryWhitespace(effects, between)(code) : end(code);\n }\n\n function between(code) {\n if (code === 34 || code === 39 || code === 40) {\n return factoryTitle(effects, factoryWhitespace(effects, end), nok, 'resourceTitle', 'resourceTitleMarker', 'resourceTitleString')(code);\n }\n\n return end(code);\n }\n\n function end(code) {\n if (code === 41) {\n effects.enter('resourceMarker');\n effects.consume(code);\n effects.exit('resourceMarker');\n effects.exit('resource');\n return ok;\n }\n\n return nok(code);\n }\n}\n\nfunction tokenizeFullReference(effects, ok, nok) {\n var self = this;\n return start;\n\n function start(code) {\n return factoryLabel.call(self, effects, afterLabel, nok, 'reference', 'referenceMarker', 'referenceString')(code);\n }\n\n function afterLabel(code) {\n return self.parser.defined.indexOf(normalizeIdentifier(self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1))) < 0 ? nok(code) : ok(code);\n }\n}\n\nfunction tokenizeCollapsedReference(effects, ok, nok) {\n return start;\n\n function start(code) {\n effects.enter('reference');\n effects.enter('referenceMarker');\n effects.consume(code);\n effects.exit('referenceMarker');\n return open;\n }\n\n function open(code) {\n if (code === 93) {\n effects.enter('referenceMarker');\n effects.consume(code);\n effects.exit('referenceMarker');\n effects.exit('reference');\n return ok;\n }\n\n return nok(code);\n }\n}\n\nmodule.exports = labelEnd;","'use strict';\n\nvar labelEnd = require('./label-end.js');\n\nvar labelStartImage = {\n name: 'labelStartImage',\n tokenize: tokenizeLabelStartImage,\n resolveAll: labelEnd.resolveAll\n};\n\nfunction tokenizeLabelStartImage(effects, ok, nok) {\n var self = this;\n return start;\n\n function start(code) {\n effects.enter('labelImage');\n effects.enter('labelImageMarker');\n effects.consume(code);\n effects.exit('labelImageMarker');\n return open;\n }\n\n function open(code) {\n if (code === 91) {\n effects.enter('labelMarker');\n effects.consume(code);\n effects.exit('labelMarker');\n effects.exit('labelImage');\n return after;\n }\n\n return nok(code);\n }\n\n function after(code) {\n /* c8 ignore next */\n return code === 94 &&\n /* c8 ignore next */\n '_hiddenFootnoteSupport' in self.parser.constructs ?\n /* c8 ignore next */\n nok(code) : ok(code);\n }\n}\n\nmodule.exports = labelStartImage;","'use strict';\n\nvar labelEnd = require('./label-end.js');\n\nvar labelStartLink = {\n name: 'labelStartLink',\n tokenize: tokenizeLabelStartLink,\n resolveAll: labelEnd.resolveAll\n};\n\nfunction tokenizeLabelStartLink(effects, ok, nok) {\n var self = this;\n return start;\n\n function start(code) {\n effects.enter('labelLink');\n effects.enter('labelMarker');\n effects.consume(code);\n effects.exit('labelMarker');\n effects.exit('labelLink');\n return after;\n }\n\n function after(code) {\n /* c8 ignore next */\n return code === 94 &&\n /* c8 ignore next */\n '_hiddenFootnoteSupport' in self.parser.constructs ?\n /* c8 ignore next */\n nok(code) : ok(code);\n }\n}\n\nmodule.exports = labelStartLink;","'use strict';\n\nvar factorySpace = require('./factory-space.js');\n\nvar lineEnding = {\n name: 'lineEnding',\n tokenize: tokenizeLineEnding\n};\n\nfunction tokenizeLineEnding(effects, ok) {\n return start;\n\n function start(code) {\n effects.enter('lineEnding');\n effects.consume(code);\n effects.exit('lineEnding');\n return factorySpace(effects, ok, 'linePrefix');\n }\n}\n\nmodule.exports = lineEnding;","'use strict';\n\nvar asciiDigit = require('../character/ascii-digit.js');\n\nvar markdownSpace = require('../character/markdown-space.js');\n\nvar prefixSize = require('../util/prefix-size.js');\n\nvar sizeChunks = require('../util/size-chunks.js');\n\nvar factorySpace = require('./factory-space.js');\n\nvar partialBlankLine = require('./partial-blank-line.js');\n\nvar thematicBreak = require('./thematic-break.js');\n\nvar list = {\n name: 'list',\n tokenize: tokenizeListStart,\n continuation: {\n tokenize: tokenizeListContinuation\n },\n exit: tokenizeListEnd\n};\nvar listItemPrefixWhitespaceConstruct = {\n tokenize: tokenizeListItemPrefixWhitespace,\n partial: true\n};\nvar indentConstruct = {\n tokenize: tokenizeIndent,\n partial: true\n};\n\nfunction tokenizeListStart(effects, ok, nok) {\n var self = this;\n var initialSize = prefixSize(self.events, 'linePrefix');\n var size = 0;\n return start;\n\n function start(code) {\n var kind = self.containerState.type || (code === 42 || code === 43 || code === 45 ? 'listUnordered' : 'listOrdered');\n\n if (kind === 'listUnordered' ? !self.containerState.marker || code === self.containerState.marker : asciiDigit(code)) {\n if (!self.containerState.type) {\n self.containerState.type = kind;\n effects.enter(kind, {\n _container: true\n });\n }\n\n if (kind === 'listUnordered') {\n effects.enter('listItemPrefix');\n return code === 42 || code === 45 ? effects.check(thematicBreak, nok, atMarker)(code) : atMarker(code);\n }\n\n if (!self.interrupt || code === 49) {\n effects.enter('listItemPrefix');\n effects.enter('listItemValue');\n return inside(code);\n }\n }\n\n return nok(code);\n }\n\n function inside(code) {\n if (asciiDigit(code) && ++size < 10) {\n effects.consume(code);\n return inside;\n }\n\n if ((!self.interrupt || size < 2) && (self.containerState.marker ? code === self.containerState.marker : code === 41 || code === 46)) {\n effects.exit('listItemValue');\n return atMarker(code);\n }\n\n return nok(code);\n }\n\n function atMarker(code) {\n effects.enter('listItemMarker');\n effects.consume(code);\n effects.exit('listItemMarker');\n self.containerState.marker = self.containerState.marker || code;\n return effects.check(partialBlankLine, // Can’t be empty when interrupting.\n self.interrupt ? nok : onBlank, effects.attempt(listItemPrefixWhitespaceConstruct, endOfPrefix, otherPrefix));\n }\n\n function onBlank(code) {\n self.containerState.initialBlankLine = true;\n initialSize++;\n return endOfPrefix(code);\n }\n\n function otherPrefix(code) {\n if (markdownSpace(code)) {\n effects.enter('listItemPrefixWhitespace');\n effects.consume(code);\n effects.exit('listItemPrefixWhitespace');\n return endOfPrefix;\n }\n\n return nok(code);\n }\n\n function endOfPrefix(code) {\n self.containerState.size = initialSize + sizeChunks(self.sliceStream(effects.exit('listItemPrefix')));\n return ok(code);\n }\n}\n\nfunction tokenizeListContinuation(effects, ok, nok) {\n var self = this;\n self.containerState._closeFlow = undefined;\n return effects.check(partialBlankLine, onBlank, notBlank);\n\n function onBlank(code) {\n self.containerState.furtherBlankLines = self.containerState.furtherBlankLines || self.containerState.initialBlankLine; // We have a blank line.\n // Still, try to consume at most the items size.\n\n return factorySpace(effects, ok, 'listItemIndent', self.containerState.size + 1)(code);\n }\n\n function notBlank(code) {\n if (self.containerState.furtherBlankLines || !markdownSpace(code)) {\n self.containerState.furtherBlankLines = self.containerState.initialBlankLine = undefined;\n return notInCurrentItem(code);\n }\n\n self.containerState.furtherBlankLines = self.containerState.initialBlankLine = undefined;\n return effects.attempt(indentConstruct, ok, notInCurrentItem)(code);\n }\n\n function notInCurrentItem(code) {\n // While we do continue, we signal that the flow should be closed.\n self.containerState._closeFlow = true; // As we’re closing flow, we’re no longer interrupting.\n\n self.interrupt = undefined;\n return factorySpace(effects, effects.attempt(list, ok, nok), 'linePrefix', self.parser.constructs.disable.null.indexOf('codeIndented') > -1 ? undefined : 4)(code);\n }\n}\n\nfunction tokenizeIndent(effects, ok, nok) {\n var self = this;\n return factorySpace(effects, afterPrefix, 'listItemIndent', self.containerState.size + 1);\n\n function afterPrefix(code) {\n return prefixSize(self.events, 'listItemIndent') === self.containerState.size ? ok(code) : nok(code);\n }\n}\n\nfunction tokenizeListEnd(effects) {\n effects.exit(this.containerState.type);\n}\n\nfunction tokenizeListItemPrefixWhitespace(effects, ok, nok) {\n var self = this;\n return factorySpace(effects, afterPrefix, 'listItemPrefixWhitespace', self.parser.constructs.disable.null.indexOf('codeIndented') > -1 ? undefined : 4 + 1);\n\n function afterPrefix(code) {\n return markdownSpace(code) || !prefixSize(self.events, 'listItemPrefixWhitespace') ? nok(code) : ok(code);\n }\n}\n\nmodule.exports = list;","'use strict';\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js');\n\nvar factorySpace = require('./factory-space.js');\n\nvar partialBlankLine = {\n tokenize: tokenizePartialBlankLine,\n partial: true\n};\n\nfunction tokenizePartialBlankLine(effects, ok, nok) {\n return factorySpace(effects, afterWhitespace, 'linePrefix');\n\n function afterWhitespace(code) {\n return code === null || markdownLineEnding(code) ? ok(code) : nok(code);\n }\n}\n\nmodule.exports = partialBlankLine;","'use strict';\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js');\n\nvar shallow = require('../util/shallow.js');\n\nvar factorySpace = require('./factory-space.js');\n\nvar setextUnderline = {\n name: 'setextUnderline',\n tokenize: tokenizeSetextUnderline,\n resolveTo: resolveToSetextUnderline\n};\n\nfunction resolveToSetextUnderline(events, context) {\n var index = events.length;\n var content;\n var text;\n var definition;\n var heading; // Find the opening of the content.\n // It’ll always exist: we don’t tokenize if it isn’t there.\n\n while (index--) {\n if (events[index][0] === 'enter') {\n if (events[index][1].type === 'content') {\n content = index;\n break;\n }\n\n if (events[index][1].type === 'paragraph') {\n text = index;\n }\n } // Exit\n else {\n if (events[index][1].type === 'content') {\n // Remove the content end (if needed we’ll add it later)\n events.splice(index, 1);\n }\n\n if (!definition && events[index][1].type === 'definition') {\n definition = index;\n }\n }\n }\n\n heading = {\n type: 'setextHeading',\n start: shallow(events[text][1].start),\n end: shallow(events[events.length - 1][1].end)\n }; // Change the paragraph to setext heading text.\n\n events[text][1].type = 'setextHeadingText'; // If we have definitions in the content, we’ll keep on having content,\n // but we need move it.\n\n if (definition) {\n events.splice(text, 0, ['enter', heading, context]);\n events.splice(definition + 1, 0, ['exit', events[content][1], context]);\n events[content][1].end = shallow(events[definition][1].end);\n } else {\n events[content][1] = heading;\n } // Add the heading exit at the end.\n\n\n events.push(['exit', heading, context]);\n return events;\n}\n\nfunction tokenizeSetextUnderline(effects, ok, nok) {\n var self = this;\n var index = self.events.length;\n var marker;\n var paragraph; // Find an opening.\n\n while (index--) {\n // Skip enter/exit of line ending, line prefix, and content.\n // We can now either have a definition or a paragraph.\n if (self.events[index][1].type !== 'lineEnding' && self.events[index][1].type !== 'linePrefix' && self.events[index][1].type !== 'content') {\n paragraph = self.events[index][1].type === 'paragraph';\n break;\n }\n }\n\n return start;\n\n function start(code) {\n if (!self.lazy && (self.interrupt || paragraph)) {\n effects.enter('setextHeadingLine');\n effects.enter('setextHeadingLineSequence');\n marker = code;\n return closingSequence(code);\n }\n\n return nok(code);\n }\n\n function closingSequence(code) {\n if (code === marker) {\n effects.consume(code);\n return closingSequence;\n }\n\n effects.exit('setextHeadingLineSequence');\n return factorySpace(effects, closingSequenceEnd, 'lineSuffix')(code);\n }\n\n function closingSequenceEnd(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('setextHeadingLine');\n return ok(code);\n }\n\n return nok(code);\n }\n}\n\nmodule.exports = setextUnderline;","'use strict';\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js');\n\nvar markdownSpace = require('../character/markdown-space.js');\n\nvar factorySpace = require('./factory-space.js');\n\nvar thematicBreak = {\n name: 'thematicBreak',\n tokenize: tokenizeThematicBreak\n};\n\nfunction tokenizeThematicBreak(effects, ok, nok) {\n var size = 0;\n var marker;\n return start;\n\n function start(code) {\n effects.enter('thematicBreak');\n marker = code;\n return atBreak(code);\n }\n\n function atBreak(code) {\n if (code === marker) {\n effects.enter('thematicBreakSequence');\n return sequence(code);\n }\n\n if (markdownSpace(code)) {\n return factorySpace(effects, atBreak, 'whitespace')(code);\n }\n\n if (size < 3 || code !== null && !markdownLineEnding(code)) {\n return nok(code);\n }\n\n effects.exit('thematicBreak');\n return ok(code);\n }\n\n function sequence(code) {\n if (code === marker) {\n effects.consume(code);\n size++;\n return sequence;\n }\n\n effects.exit('thematicBreakSequence');\n return atBreak(code);\n }\n}\n\nmodule.exports = thematicBreak;","'use strict';\n\nvar chunkedSplice = require('./chunked-splice.js');\n\nfunction chunkedPush(list, items) {\n if (list.length) {\n chunkedSplice(list, list.length, 0, items);\n return list;\n }\n\n return items;\n}\n\nmodule.exports = chunkedPush;","'use strict';\n\nvar splice = require('../constant/splice.js'); // causes a stack overflow in V8 when trying to insert 100k items for instance.\n\n\nfunction chunkedSplice(list, start, remove, items) {\n var end = list.length;\n var chunkStart = 0;\n var parameters; // Make start between zero and `end` (included).\n\n if (start < 0) {\n start = -start > end ? 0 : end + start;\n } else {\n start = start > end ? end : start;\n }\n\n remove = remove > 0 ? remove : 0; // No need to chunk the items if there’s only a couple (10k) items.\n\n if (items.length < 10000) {\n parameters = Array.from(items);\n parameters.unshift(start, remove);\n splice.apply(list, parameters);\n } else {\n // Delete `remove` items starting from `start`\n if (remove) splice.apply(list, [start, remove]); // Insert the items in chunks to not cause stack overflows.\n\n while (chunkStart < items.length) {\n parameters = items.slice(chunkStart, chunkStart + 10000);\n parameters.unshift(start, 0);\n splice.apply(list, parameters);\n chunkStart += 10000;\n start += 10000;\n }\n }\n}\n\nmodule.exports = chunkedSplice;","'use strict';\n\nvar markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js');\n\nvar unicodePunctuation = require('../character/unicode-punctuation.js');\n\nvar unicodeWhitespace = require('../character/unicode-whitespace.js'); // Classify whether a character is unicode whitespace, unicode punctuation, or\n// anything else.\n// Used for attention (emphasis, strong), whose sequences can open or close\n// based on the class of surrounding characters.\n\n\nfunction classifyCharacter(code) {\n if (code === null || markdownLineEndingOrSpace(code) || unicodeWhitespace(code)) {\n return 1;\n }\n\n if (unicodePunctuation(code)) {\n return 2;\n }\n}\n\nmodule.exports = classifyCharacter;","'use strict';\n\nvar hasOwnProperty = require('../constant/has-own-property.js');\n\nvar chunkedSplice = require('./chunked-splice.js');\n\nvar miniflat = require('./miniflat.js');\n\nfunction combineExtensions(extensions) {\n var all = {};\n var index = -1;\n\n while (++index < extensions.length) {\n extension(all, extensions[index]);\n }\n\n return all;\n}\n\nfunction extension(all, extension) {\n var hook;\n var left;\n var right;\n var code;\n\n for (hook in extension) {\n left = hasOwnProperty.call(all, hook) ? all[hook] : all[hook] = {};\n right = extension[hook];\n\n for (code in right) {\n left[code] = constructs(miniflat(right[code]), hasOwnProperty.call(left, code) ? left[code] : []);\n }\n }\n}\n\nfunction constructs(list, existing) {\n var index = -1;\n var before = [];\n\n while (++index < list.length) {\n ;\n (list[index].add === 'after' ? existing : before).push(list[index]);\n }\n\n chunkedSplice(existing, 0, 0, before);\n return existing;\n}\n\nmodule.exports = combineExtensions;","'use strict';\n\nvar assign = require('../constant/assign.js');\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js');\n\nvar chunkedPush = require('./chunked-push.js');\n\nvar chunkedSplice = require('./chunked-splice.js');\n\nvar miniflat = require('./miniflat.js');\n\nvar resolveAll = require('./resolve-all.js');\n\nvar serializeChunks = require('./serialize-chunks.js');\n\nvar shallow = require('./shallow.js');\n\nvar sliceChunks = require('./slice-chunks.js'); // Create a tokenizer.\n// Tokenizers deal with one type of data (e.g., containers, flow, text).\n// The parser is the object dealing with it all.\n// `initialize` works like other constructs, except that only its `tokenize`\n// function is used, in which case it doesn’t receive an `ok` or `nok`.\n// `from` can be given to set the point before the first character, although\n// when further lines are indented, they must be set with `defineSkip`.\n\n\nfunction createTokenizer(parser, initialize, from) {\n var point = from ? shallow(from) : {\n line: 1,\n column: 1,\n offset: 0\n };\n var columnStart = {};\n var resolveAllConstructs = [];\n var chunks = [];\n var stack = [];\n var effects = {\n consume: consume,\n enter: enter,\n exit: exit,\n attempt: constructFactory(onsuccessfulconstruct),\n check: constructFactory(onsuccessfulcheck),\n interrupt: constructFactory(onsuccessfulcheck, {\n interrupt: true\n }),\n lazy: constructFactory(onsuccessfulcheck, {\n lazy: true\n })\n }; // State and tools for resolving and serializing.\n\n var context = {\n previous: null,\n events: [],\n parser: parser,\n sliceStream: sliceStream,\n sliceSerialize: sliceSerialize,\n now: now,\n defineSkip: skip,\n write: write\n }; // The state function.\n\n var state = initialize.tokenize.call(context, effects); // Track which character we expect to be consumed, to catch bugs.\n\n if (initialize.resolveAll) {\n resolveAllConstructs.push(initialize);\n } // Store where we are in the input stream.\n\n\n point._index = 0;\n point._bufferIndex = -1;\n return context;\n\n function write(slice) {\n chunks = chunkedPush(chunks, slice);\n main(); // Exit if we’re not done, resolve might change stuff.\n\n if (chunks[chunks.length - 1] !== null) {\n return [];\n }\n\n addResult(initialize, 0); // Otherwise, resolve, and exit.\n\n context.events = resolveAll(resolveAllConstructs, context.events, context);\n return context.events;\n } //\n // Tools.\n //\n\n\n function sliceSerialize(token) {\n return serializeChunks(sliceStream(token));\n }\n\n function sliceStream(token) {\n return sliceChunks(chunks, token);\n }\n\n function now() {\n return shallow(point);\n }\n\n function skip(value) {\n columnStart[value.line] = value.column;\n accountForPotentialSkip();\n } //\n // State management.\n //\n // Main loop (note that `_index` and `_bufferIndex` in `point` are modified by\n // `consume`).\n // Here is where we walk through the chunks, which either include strings of\n // several characters, or numerical character codes.\n // The reason to do this in a loop instead of a call is so the stack can\n // drain.\n\n\n function main() {\n var chunkIndex;\n var chunk;\n\n while (point._index < chunks.length) {\n chunk = chunks[point._index]; // If we’re in a buffer chunk, loop through it.\n\n if (typeof chunk === 'string') {\n chunkIndex = point._index;\n\n if (point._bufferIndex < 0) {\n point._bufferIndex = 0;\n }\n\n while (point._index === chunkIndex && point._bufferIndex < chunk.length) {\n go(chunk.charCodeAt(point._bufferIndex));\n }\n } else {\n go(chunk);\n }\n }\n } // Deal with one code.\n\n\n function go(code) {\n state = state(code);\n } // Move a character forward.\n\n\n function consume(code) {\n if (markdownLineEnding(code)) {\n point.line++;\n point.column = 1;\n point.offset += code === -3 ? 2 : 1;\n accountForPotentialSkip();\n } else if (code !== -1) {\n point.column++;\n point.offset++;\n } // Not in a string chunk.\n\n\n if (point._bufferIndex < 0) {\n point._index++;\n } else {\n point._bufferIndex++; // At end of string chunk.\n\n if (point._bufferIndex === chunks[point._index].length) {\n point._bufferIndex = -1;\n point._index++;\n }\n } // Expose the previous character.\n\n\n context.previous = code; // Mark as consumed.\n } // Start a token.\n\n\n function enter(type, fields) {\n var token = fields || {};\n token.type = type;\n token.start = now();\n context.events.push(['enter', token, context]);\n stack.push(token);\n return token;\n } // Stop a token.\n\n\n function exit(type) {\n var token = stack.pop();\n token.end = now();\n context.events.push(['exit', token, context]);\n return token;\n } // Use results.\n\n\n function onsuccessfulconstruct(construct, info) {\n addResult(construct, info.from);\n } // Discard results.\n\n\n function onsuccessfulcheck(construct, info) {\n info.restore();\n } // Factory to attempt/check/interrupt.\n\n\n function constructFactory(onreturn, fields) {\n return hook; // Handle either an object mapping codes to constructs, a list of\n // constructs, or a single construct.\n\n function hook(constructs, returnState, bogusState) {\n var listOfConstructs;\n var constructIndex;\n var currentConstruct;\n var info;\n return constructs.tokenize || 'length' in constructs ? handleListOfConstructs(miniflat(constructs)) : handleMapOfConstructs;\n\n function handleMapOfConstructs(code) {\n if (code in constructs || null in constructs) {\n return handleListOfConstructs(constructs.null ?\n /* c8 ignore next */\n miniflat(constructs[code]).concat(miniflat(constructs.null)) : constructs[code])(code);\n }\n\n return bogusState(code);\n }\n\n function handleListOfConstructs(list) {\n listOfConstructs = list;\n constructIndex = 0;\n return handleConstruct(list[constructIndex]);\n }\n\n function handleConstruct(construct) {\n return start;\n\n function start(code) {\n // To do: not nede to store if there is no bogus state, probably?\n // Currently doesn’t work because `inspect` in document does a check\n // w/o a bogus, which doesn’t make sense. But it does seem to help perf\n // by not storing.\n info = store();\n currentConstruct = construct;\n\n if (!construct.partial) {\n context.currentConstruct = construct;\n }\n\n if (construct.name && context.parser.constructs.disable.null.indexOf(construct.name) > -1) {\n return nok();\n }\n\n return construct.tokenize.call(fields ? assign({}, context, fields) : context, effects, ok, nok)(code);\n }\n }\n\n function ok(code) {\n onreturn(currentConstruct, info);\n return returnState;\n }\n\n function nok(code) {\n info.restore();\n\n if (++constructIndex < listOfConstructs.length) {\n return handleConstruct(listOfConstructs[constructIndex]);\n }\n\n return bogusState;\n }\n }\n }\n\n function addResult(construct, from) {\n if (construct.resolveAll && resolveAllConstructs.indexOf(construct) < 0) {\n resolveAllConstructs.push(construct);\n }\n\n if (construct.resolve) {\n chunkedSplice(context.events, from, context.events.length - from, construct.resolve(context.events.slice(from), context));\n }\n\n if (construct.resolveTo) {\n context.events = construct.resolveTo(context.events, context);\n }\n }\n\n function store() {\n var startPoint = now();\n var startPrevious = context.previous;\n var startCurrentConstruct = context.currentConstruct;\n var startEventsIndex = context.events.length;\n var startStack = Array.from(stack);\n return {\n restore: restore,\n from: startEventsIndex\n };\n\n function restore() {\n point = startPoint;\n context.previous = startPrevious;\n context.currentConstruct = startCurrentConstruct;\n context.events.length = startEventsIndex;\n stack = startStack;\n accountForPotentialSkip();\n }\n }\n\n function accountForPotentialSkip() {\n if (point.line in columnStart && point.column < 2) {\n point.column = columnStart[point.line];\n point.offset += columnStart[point.line] - 1;\n }\n }\n}\n\nmodule.exports = createTokenizer;","'use strict';\n\nfunction miniflat(value) {\n return value === null || value === undefined ? [] : 'length' in value ? value : [value];\n}\n\nmodule.exports = miniflat;","'use strict'; // chunks (replacement characters, tabs, or line endings).\n\nfunction movePoint(point, offset) {\n point.column += offset;\n point.offset += offset;\n point._bufferIndex += offset;\n return point;\n}\n\nmodule.exports = movePoint;","'use strict';\n\nfunction normalizeIdentifier(value) {\n return value // Collapse Markdown whitespace.\n .replace(/[\\t\\n\\r ]+/g, ' ') // Trim.\n .replace(/^ | $/g, '') // Some characters are considered “uppercase”, but if their lowercase\n // counterpart is uppercased will result in a different uppercase\n // character.\n // Hence, to get that form, we perform both lower- and uppercase.\n // Upper case makes sure keys will not interact with default prototypal\n // methods: no object method is uppercase.\n .toLowerCase().toUpperCase();\n}\n\nmodule.exports = normalizeIdentifier;","'use strict';\n\nvar sizeChunks = require('./size-chunks.js');\n\nfunction prefixSize(events, type) {\n var tail = events[events.length - 1];\n if (!tail || tail[1].type !== type) return 0;\n return sizeChunks(tail[2].sliceStream(tail[1]));\n}\n\nmodule.exports = prefixSize;","'use strict';\n\nvar fromCharCode = require('../constant/from-char-code.js');\n\nfunction regexCheck(regex) {\n return check;\n\n function check(code) {\n return regex.test(fromCharCode(code));\n }\n}\n\nmodule.exports = regexCheck;","'use strict';\n\nfunction resolveAll(constructs, events, context) {\n var called = [];\n var index = -1;\n var resolve;\n\n while (++index < constructs.length) {\n resolve = constructs[index].resolveAll;\n\n if (resolve && called.indexOf(resolve) < 0) {\n events = resolve(events, context);\n called.push(resolve);\n }\n }\n\n return events;\n}\n\nmodule.exports = resolveAll;","'use strict';\n\nvar fromCharCode = require('../constant/from-char-code.js');\n\nfunction safeFromInt(value, base) {\n var code = parseInt(value, base);\n\n if ( // C0 except for HT, LF, FF, CR, space\n code < 9 || code === 11 || code > 13 && code < 32 || code > 126 && code < 160 || code > 55295 && code < 57344 || code > 64975 && code < 65008 || (code & 65535) === 65535 || (code & 65535) === 65534 || // Out of range\n code > 1114111) {\n return \"\\uFFFD\";\n }\n\n return fromCharCode(code);\n}\n\nmodule.exports = safeFromInt;","'use strict';\n\nvar fromCharCode = require('../constant/from-char-code.js');\n\nfunction serializeChunks(chunks) {\n var index = -1;\n var result = [];\n var chunk;\n var value;\n var atTab;\n\n while (++index < chunks.length) {\n chunk = chunks[index];\n\n if (typeof chunk === 'string') {\n value = chunk;\n } else if (chunk === -5) {\n value = '\\r';\n } else if (chunk === -4) {\n value = '\\n';\n } else if (chunk === -3) {\n value = '\\r' + '\\n';\n } else if (chunk === -2) {\n value = '\\t';\n } else if (chunk === -1) {\n if (atTab) continue;\n value = ' ';\n } else {\n // Currently only replacement character.\n value = fromCharCode(chunk);\n }\n\n atTab = chunk === -2;\n result.push(value);\n }\n\n return result.join('');\n}\n\nmodule.exports = serializeChunks;","'use strict';\n\nvar assign = require('../constant/assign.js');\n\nfunction shallow(object) {\n return assign({}, object);\n}\n\nmodule.exports = shallow;","'use strict'; // Counts tabs based on their expanded size, and CR+LF as one character.\n\nfunction sizeChunks(chunks) {\n var index = -1;\n var size = 0;\n\n while (++index < chunks.length) {\n size += typeof chunks[index] === 'string' ? chunks[index].length : 1;\n }\n\n return size;\n}\n\nmodule.exports = sizeChunks;","'use strict';\n\nfunction sliceChunks(chunks, token) {\n var startIndex = token.start._index;\n var startBufferIndex = token.start._bufferIndex;\n var endIndex = token.end._index;\n var endBufferIndex = token.end._bufferIndex;\n var view;\n\n if (startIndex === endIndex) {\n view = [chunks[startIndex].slice(startBufferIndex, endBufferIndex)];\n } else {\n view = chunks.slice(startIndex, endIndex);\n\n if (startBufferIndex > -1) {\n view[0] = view[0].slice(startBufferIndex);\n }\n\n if (endBufferIndex > 0) {\n view.push(chunks[endIndex].slice(0, endBufferIndex));\n }\n }\n\n return view;\n}\n\nmodule.exports = sliceChunks;","'use strict';\n\nvar assign = require('../constant/assign.js');\n\nvar chunkedSplice = require('./chunked-splice.js');\n\nvar shallow = require('./shallow.js');\n\nfunction subtokenize(events) {\n var jumps = {};\n var index = -1;\n var event;\n var lineIndex;\n var otherIndex;\n var otherEvent;\n var parameters;\n var subevents;\n var more;\n\n while (++index < events.length) {\n while (index in jumps) {\n index = jumps[index];\n }\n\n event = events[index]; // Add a hook for the GFM tasklist extension, which needs to know if text\n // is in the first content of a list item.\n\n if (index && event[1].type === 'chunkFlow' && events[index - 1][1].type === 'listItemPrefix') {\n subevents = event[1]._tokenizer.events;\n otherIndex = 0;\n\n if (otherIndex < subevents.length && subevents[otherIndex][1].type === 'lineEndingBlank') {\n otherIndex += 2;\n }\n\n if (otherIndex < subevents.length && subevents[otherIndex][1].type === 'content') {\n while (++otherIndex < subevents.length) {\n if (subevents[otherIndex][1].type === 'content') {\n break;\n }\n\n if (subevents[otherIndex][1].type === 'chunkText') {\n subevents[otherIndex][1].isInFirstContentOfListItem = true;\n otherIndex++;\n }\n }\n }\n } // Enter.\n\n\n if (event[0] === 'enter') {\n if (event[1].contentType) {\n assign(jumps, subcontent(events, index));\n index = jumps[index];\n more = true;\n }\n } // Exit.\n else if (event[1]._container || event[1]._movePreviousLineEndings) {\n otherIndex = index;\n lineIndex = undefined;\n\n while (otherIndex--) {\n otherEvent = events[otherIndex];\n\n if (otherEvent[1].type === 'lineEnding' || otherEvent[1].type === 'lineEndingBlank') {\n if (otherEvent[0] === 'enter') {\n if (lineIndex) {\n events[lineIndex][1].type = 'lineEndingBlank';\n }\n\n otherEvent[1].type = 'lineEnding';\n lineIndex = otherIndex;\n }\n } else {\n break;\n }\n }\n\n if (lineIndex) {\n // Fix position.\n event[1].end = shallow(events[lineIndex][1].start); // Switch container exit w/ line endings.\n\n parameters = events.slice(lineIndex, index);\n parameters.unshift(event);\n chunkedSplice(events, lineIndex, index - lineIndex + 1, parameters);\n }\n }\n }\n\n return !more;\n}\n\nfunction subcontent(events, eventIndex) {\n var token = events[eventIndex][1];\n var context = events[eventIndex][2];\n var startPosition = eventIndex - 1;\n var startPositions = [];\n var tokenizer = token._tokenizer || context.parser[token.contentType](token.start);\n var childEvents = tokenizer.events;\n var jumps = [];\n var gaps = {};\n var stream;\n var previous;\n var index;\n var entered;\n var end;\n var adjust; // Loop forward through the linked tokens to pass them in order to the\n // subtokenizer.\n\n while (token) {\n // Find the position of the event for this token.\n while (events[++startPosition][1] !== token) {// Empty.\n }\n\n startPositions.push(startPosition);\n\n if (!token._tokenizer) {\n stream = context.sliceStream(token);\n\n if (!token.next) {\n stream.push(null);\n }\n\n if (previous) {\n tokenizer.defineSkip(token.start);\n }\n\n if (token.isInFirstContentOfListItem) {\n tokenizer._gfmTasklistFirstContentOfListItem = true;\n }\n\n tokenizer.write(stream);\n\n if (token.isInFirstContentOfListItem) {\n tokenizer._gfmTasklistFirstContentOfListItem = undefined;\n }\n } // Unravel the next token.\n\n\n previous = token;\n token = token.next;\n } // Now, loop back through all events (and linked tokens), to figure out which\n // parts belong where.\n\n\n token = previous;\n index = childEvents.length;\n\n while (index--) {\n // Make sure we’ve at least seen something (final eol is part of the last\n // token).\n if (childEvents[index][0] === 'enter') {\n entered = true;\n } else if ( // Find a void token that includes a break.\n entered && childEvents[index][1].type === childEvents[index - 1][1].type && childEvents[index][1].start.line !== childEvents[index][1].end.line) {\n add(childEvents.slice(index + 1, end)); // Help GC.\n\n token._tokenizer = token.next = undefined;\n token = token.previous;\n end = index + 1;\n }\n } // Help GC.\n\n\n tokenizer.events = token._tokenizer = token.next = undefined; // Do head:\n\n add(childEvents.slice(0, end));\n index = -1;\n adjust = 0;\n\n while (++index < jumps.length) {\n gaps[adjust + jumps[index][0]] = adjust + jumps[index][1];\n adjust += jumps[index][1] - jumps[index][0] - 1;\n }\n\n return gaps;\n\n function add(slice) {\n var start = startPositions.pop();\n jumps.unshift([start, start + slice.length - 1]);\n chunkedSplice(events, start, 2, slice);\n }\n}\n\nmodule.exports = subtokenize;","//! moment.js locale configuration\n//! locale : Afrikaans [af]\n//! author : Werner Mollentze : https://github.com/wernerm\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var af = moment.defineLocale('af', {\n months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'),\n monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'),\n weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\n weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\n meridiemParse: /vm|nm/i,\n isPM: function isPM(input) {\n return /^nm$/i.test(input);\n },\n meridiem: function meridiem(hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'vm' : 'VM';\n } else {\n return isLower ? 'nm' : 'NM';\n }\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Vandag om] LT',\n nextDay: '[Môre om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[Gister om] LT',\n lastWeek: '[Laas] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'oor %s',\n past: '%s gelede',\n s: \"'n paar sekondes\",\n ss: '%d sekondes',\n m: \"'n minuut\",\n mm: '%d minute',\n h: \"'n uur\",\n hh: '%d ure',\n d: \"'n dag\",\n dd: '%d dae',\n M: \"'n maand\",\n MM: '%d maande',\n y: \"'n jaar\",\n yy: '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function ordinal(number) {\n return number + (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter\n },\n week: {\n dow: 1,\n // Maandag is die eerste dag van die week.\n doy: 4 // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n\n }\n });\n return af;\n});","//! moment.js locale configuration\n//! locale : Arabic (Algeria) [ar-dz]\n//! author : Amine Roukh: https://github.com/Amine27\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n//! author : Noureddine LOUAHEDJ : https://github.com/noureddinem\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var pluralForm = function pluralForm(n) {\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n },\n plurals = {\n s: ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m: ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h: ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d: ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M: ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y: ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n },\n pluralize = function pluralize(u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n\n return str.replace(/%d/i, number);\n };\n },\n months = ['جانفي', 'فيفري', 'مارس', 'أفريل', 'ماي', 'جوان', 'جويلية', 'أوت', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'];\n\n var arDz = moment.defineLocale('ar-dz', {\n months: months,\n monthsShort: months,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: \"D/\\u200FM/\\u200FYYYY\",\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM: function isPM(input) {\n return 'م' === input;\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y')\n },\n postformat: function postformat(string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return arDz;\n});","//! moment.js locale configuration\n//! locale : Arabic (Kuwait) [ar-kw]\n//! author : Nusret Parlak: https://github.com/nusretparlak\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var arKw = moment.defineLocale('ar-kw', {\n months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات'\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 12 // The week that contains Jan 12th is the first week of the year.\n\n }\n });\n return arKw;\n});","//! moment.js locale configuration\n//! locale : Arabic (Lybia) [ar-ly]\n//! author : Ali Hmer: https://github.com/kikoanis\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 0: '0'\n },\n pluralForm = function pluralForm(n) {\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n },\n plurals = {\n s: ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m: ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h: ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d: ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M: ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y: ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n },\n pluralize = function pluralize(u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n\n return str.replace(/%d/i, number);\n };\n },\n months = ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'];\n\n var arLy = moment.defineLocale('ar-ly', {\n months: months,\n monthsShort: months,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: \"D/\\u200FM/\\u200FYYYY\",\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM: function isPM(input) {\n return 'م' === input;\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y')\n },\n preparse: function preparse(string) {\n return string.replace(/،/g, ',');\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week: {\n dow: 6,\n // Saturday is the first day of the week.\n doy: 12 // The week that contains Jan 12th is the first week of the year.\n\n }\n });\n return arLy;\n});","//! moment.js locale configuration\n//! locale : Arabic (Morocco) [ar-ma]\n//! author : ElFadili Yassine : https://github.com/ElFadiliY\n//! author : Abdel Said : https://github.com/abdelsaid\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var arMa = moment.defineLocale('ar-ma', {\n months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات'\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return arMa;\n});","//! moment.js locale configuration\n//! locale : Arabic (Saudi Arabia) [ar-sa]\n//! author : Suhail Alkowaileet : https://github.com/xsoh\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠'\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n };\n var arSa = moment.defineLocale('ar-sa', {\n months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM: function isPM(input) {\n return 'م' === input;\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات'\n },\n preparse: function preparse(string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return arSa;\n});","//! moment.js locale configuration\n//! locale : Arabic (Tunisia) [ar-tn]\n//! author : Nader Toukabri : https://github.com/naderio\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var arTn = moment.defineLocale('ar-tn', {\n months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات'\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return arTn;\n});","//! moment.js locale configuration\n//! locale : Arabic [ar]\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠'\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n },\n pluralForm = function pluralForm(n) {\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n },\n plurals = {\n s: ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m: ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h: ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d: ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M: ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y: ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n },\n pluralize = function pluralize(u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n\n return str.replace(/%d/i, number);\n };\n },\n months = ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'];\n\n var ar = moment.defineLocale('ar', {\n months: months,\n monthsShort: months,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: \"D/\\u200FM/\\u200FYYYY\",\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM: function isPM(input) {\n return 'م' === input;\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y')\n },\n preparse: function preparse(string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week: {\n dow: 6,\n // Saturday is the first day of the week.\n doy: 12 // The week that contains Jan 12th is the first week of the year.\n\n }\n });\n return ar;\n});","//! moment.js locale configuration\n//! locale : Azerbaijani [az]\n//! author : topchiyev : https://github.com/topchiyev\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var suffixes = {\n 1: '-inci',\n 5: '-inci',\n 8: '-inci',\n 70: '-inci',\n 80: '-inci',\n 2: '-nci',\n 7: '-nci',\n 20: '-nci',\n 50: '-nci',\n 3: '-üncü',\n 4: '-üncü',\n 100: '-üncü',\n 6: '-ncı',\n 9: '-uncu',\n 10: '-uncu',\n 30: '-uncu',\n 60: '-ıncı',\n 90: '-ıncı'\n };\n var az = moment.defineLocale('az', {\n months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'),\n monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\n weekdays: 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split('_'),\n weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\n weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[bugün saat] LT',\n nextDay: '[sabah saat] LT',\n nextWeek: '[gələn həftə] dddd [saat] LT',\n lastDay: '[dünən] LT',\n lastWeek: '[keçən həftə] dddd [saat] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s sonra',\n past: '%s əvvəl',\n s: 'bir neçə saniyə',\n ss: '%d saniyə',\n m: 'bir dəqiqə',\n mm: '%d dəqiqə',\n h: 'bir saat',\n hh: '%d saat',\n d: 'bir gün',\n dd: '%d gün',\n M: 'bir ay',\n MM: '%d ay',\n y: 'bir il',\n yy: '%d il'\n },\n meridiemParse: /gecə|səhər|gündüz|axşam/,\n isPM: function isPM(input) {\n return /^(gündüz|axşam)$/.test(input);\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'gecə';\n } else if (hour < 12) {\n return 'səhər';\n } else if (hour < 17) {\n return 'gündüz';\n } else {\n return 'axşam';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\n ordinal: function ordinal(number) {\n if (number === 0) {\n // special case for zero\n return number + '-ıncı';\n }\n\n var a = number % 10,\n b = number % 100 - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return az;\n});","//! moment.js locale configuration\n//! locale : Belarusian [be]\n//! author : Dmitry Demidov : https://github.com/demidov91\n//! author: Praleska: http://praleska.pro/\n//! Author : Menelion Elensúle : https://github.com/Oire\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2];\n }\n\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n mm: withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n hh: withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n dd: 'дзень_дні_дзён',\n MM: 'месяц_месяцы_месяцаў',\n yy: 'год_гады_гадоў'\n };\n\n if (key === 'm') {\n return withoutSuffix ? 'хвіліна' : 'хвіліну';\n } else if (key === 'h') {\n return withoutSuffix ? 'гадзіна' : 'гадзіну';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n\n var be = moment.defineLocale('be', {\n months: {\n format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split('_'),\n standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split('_')\n },\n monthsShort: 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),\n weekdays: {\n format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split('_'),\n standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split('_'),\n isFormat: /\\[ ?[Ууў] ?(?:мінулую|наступную)? ?\\] ?dddd/\n },\n weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY г.',\n LLL: 'D MMMM YYYY г., HH:mm',\n LLLL: 'dddd, D MMMM YYYY г., HH:mm'\n },\n calendar: {\n sameDay: '[Сёння ў] LT',\n nextDay: '[Заўтра ў] LT',\n lastDay: '[Учора ў] LT',\n nextWeek: function nextWeek() {\n return '[У] dddd [ў] LT';\n },\n lastWeek: function lastWeek() {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return '[У мінулую] dddd [ў] LT';\n\n case 1:\n case 2:\n case 4:\n return '[У мінулы] dddd [ў] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'праз %s',\n past: '%s таму',\n s: 'некалькі секунд',\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: relativeTimeWithPlural,\n hh: relativeTimeWithPlural,\n d: 'дзень',\n dd: relativeTimeWithPlural,\n M: 'месяц',\n MM: relativeTimeWithPlural,\n y: 'год',\n yy: relativeTimeWithPlural\n },\n meridiemParse: /ночы|раніцы|дня|вечара/,\n isPM: function isPM(input) {\n return /^(дня|вечара)$/.test(input);\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'ночы';\n } else if (hour < 12) {\n return 'раніцы';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечара';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(і|ы|га)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return (number % 10 === 2 || number % 10 === 3) && number % 100 !== 12 && number % 100 !== 13 ? number + '-і' : number + '-ы';\n\n case 'D':\n return number + '-га';\n\n default:\n return number;\n }\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return be;\n});","//! moment.js locale configuration\n//! locale : Bulgarian [bg]\n//! author : Krasen Borisov : https://github.com/kraz\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var bg = moment.defineLocale('bg', {\n months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split('_'),\n monthsShort: 'яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\n weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split('_'),\n weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'),\n weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[Днес в] LT',\n nextDay: '[Утре в] LT',\n nextWeek: 'dddd [в] LT',\n lastDay: '[Вчера в] LT',\n lastWeek: function lastWeek() {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Миналата] dddd [в] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Миналия] dddd [в] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'след %s',\n past: 'преди %s',\n s: 'няколко секунди',\n ss: '%d секунди',\n m: 'минута',\n mm: '%d минути',\n h: 'час',\n hh: '%d часа',\n d: 'ден',\n dd: '%d дена',\n w: 'седмица',\n ww: '%d седмици',\n M: 'месец',\n MM: '%d месеца',\n y: 'година',\n yy: '%d години'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal: function ordinal(number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return bg;\n});","//! moment.js locale configuration\n//! locale : Bambara [bm]\n//! author : Estelle Comment : https://github.com/estellecomment\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var bm = moment.defineLocale('bm', {\n months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split('_'),\n monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),\n weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),\n weekdaysShort: 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),\n weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'MMMM [tile] D [san] YYYY',\n LLL: 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm'\n },\n calendar: {\n sameDay: '[Bi lɛrɛ] LT',\n nextDay: '[Sini lɛrɛ] LT',\n nextWeek: 'dddd [don lɛrɛ] LT',\n lastDay: '[Kunu lɛrɛ] LT',\n lastWeek: 'dddd [tɛmɛnen lɛrɛ] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s kɔnɔ',\n past: 'a bɛ %s bɔ',\n s: 'sanga dama dama',\n ss: 'sekondi %d',\n m: 'miniti kelen',\n mm: 'miniti %d',\n h: 'lɛrɛ kelen',\n hh: 'lɛrɛ %d',\n d: 'tile kelen',\n dd: 'tile %d',\n M: 'kalo kelen',\n MM: 'kalo %d',\n y: 'san kelen',\n yy: 'san %d'\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return bm;\n});","//! moment.js locale configuration\n//! locale : Bengali (Bangladesh) [bn-bd]\n//! author : Asraf Hossain Patoary : https://github.com/ashwoolford\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '১',\n 2: '২',\n 3: '৩',\n 4: '৪',\n 5: '৫',\n 6: '৬',\n 7: '৭',\n 8: '৮',\n 9: '৯',\n 0: '০'\n },\n numberMap = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0'\n };\n var bnBd = moment.defineLocale('bn-bd', {\n months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split('_'),\n monthsShort: 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split('_'),\n weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split('_'),\n weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n longDateFormat: {\n LT: 'A h:mm সময়',\n LTS: 'A h:mm:ss সময়',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm সময়',\n LLLL: 'dddd, D MMMM YYYY, A h:mm সময়'\n },\n calendar: {\n sameDay: '[আজ] LT',\n nextDay: '[আগামীকাল] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[গতকাল] LT',\n lastWeek: '[গত] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s পরে',\n past: '%s আগে',\n s: 'কয়েক সেকেন্ড',\n ss: '%d সেকেন্ড',\n m: 'এক মিনিট',\n mm: '%d মিনিট',\n h: 'এক ঘন্টা',\n hh: '%d ঘন্টা',\n d: 'এক দিন',\n dd: '%d দিন',\n M: 'এক মাস',\n MM: '%d মাস',\n y: 'এক বছর',\n yy: '%d বছর'\n },\n preparse: function preparse(string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /রাত|ভোর|সকাল|দুপুর|বিকাল|সন্ধ্যা|রাত/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'রাত') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ভোর') {\n return hour;\n } else if (meridiem === 'সকাল') {\n return hour;\n } else if (meridiem === 'দুপুর') {\n return hour >= 3 ? hour : hour + 12;\n } else if (meridiem === 'বিকাল') {\n return hour + 12;\n } else if (meridiem === 'সন্ধ্যা') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 6) {\n return 'ভোর';\n } else if (hour < 12) {\n return 'সকাল';\n } else if (hour < 15) {\n return 'দুপুর';\n } else if (hour < 18) {\n return 'বিকাল';\n } else if (hour < 20) {\n return 'সন্ধ্যা';\n } else {\n return 'রাত';\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return bnBd;\n});","//! moment.js locale configuration\n//! locale : Bengali [bn]\n//! author : Kaushik Gandhi : https://github.com/kaushikgandhi\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '১',\n 2: '২',\n 3: '৩',\n 4: '৪',\n 5: '৫',\n 6: '৬',\n 7: '৭',\n 8: '৮',\n 9: '৯',\n 0: '০'\n },\n numberMap = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0'\n };\n var bn = moment.defineLocale('bn', {\n months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split('_'),\n monthsShort: 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split('_'),\n weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split('_'),\n weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n longDateFormat: {\n LT: 'A h:mm সময়',\n LTS: 'A h:mm:ss সময়',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm সময়',\n LLLL: 'dddd, D MMMM YYYY, A h:mm সময়'\n },\n calendar: {\n sameDay: '[আজ] LT',\n nextDay: '[আগামীকাল] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[গতকাল] LT',\n lastWeek: '[গত] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s পরে',\n past: '%s আগে',\n s: 'কয়েক সেকেন্ড',\n ss: '%d সেকেন্ড',\n m: 'এক মিনিট',\n mm: '%d মিনিট',\n h: 'এক ঘন্টা',\n hh: '%d ঘন্টা',\n d: 'এক দিন',\n dd: '%d দিন',\n M: 'এক মাস',\n MM: '%d মাস',\n y: 'এক বছর',\n yy: '%d বছর'\n },\n preparse: function preparse(string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'রাত' && hour >= 4 || meridiem === 'দুপুর' && hour < 5 || meridiem === 'বিকাল') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 10) {\n return 'সকাল';\n } else if (hour < 17) {\n return 'দুপুর';\n } else if (hour < 20) {\n return 'বিকাল';\n } else {\n return 'রাত';\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return bn;\n});","//! moment.js locale configuration\n//! locale : Tibetan [bo]\n//! author : Thupten N. Chakrishar : https://github.com/vajradog\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '༡',\n 2: '༢',\n 3: '༣',\n 4: '༤',\n 5: '༥',\n 6: '༦',\n 7: '༧',\n 8: '༨',\n 9: '༩',\n 0: '༠'\n },\n numberMap = {\n '༡': '1',\n '༢': '2',\n '༣': '3',\n '༤': '4',\n '༥': '5',\n '༦': '6',\n '༧': '7',\n '༨': '8',\n '༩': '9',\n '༠': '0'\n };\n var bo = moment.defineLocale('bo', {\n months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),\n monthsShort: 'ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12'.split('_'),\n monthsShortRegex: /^(ཟླ་\\d{1,2})/,\n monthsParseExact: true,\n weekdays: 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split('_'),\n weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),\n weekdaysMin: 'ཉི_ཟླ_མིག_ལྷག_ཕུར_སངས_སྤེན'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar: {\n sameDay: '[དི་རིང] LT',\n nextDay: '[སང་ཉིན] LT',\n nextWeek: '[བདུན་ཕྲག་རྗེས་མ], LT',\n lastDay: '[ཁ་སང] LT',\n lastWeek: '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s ལ་',\n past: '%s སྔན་ལ',\n s: 'ལམ་སང',\n ss: '%d སྐར་ཆ།',\n m: 'སྐར་མ་གཅིག',\n mm: '%d སྐར་མ',\n h: 'ཆུ་ཚོད་གཅིག',\n hh: '%d ཆུ་ཚོད',\n d: 'ཉིན་གཅིག',\n dd: '%d ཉིན་',\n M: 'ཟླ་བ་གཅིག',\n MM: '%d ཟླ་བ',\n y: 'ལོ་གཅིག',\n yy: '%d ལོ'\n },\n preparse: function preparse(string) {\n return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'མཚན་མོ' && hour >= 4 || meridiem === 'ཉིན་གུང' && hour < 5 || meridiem === 'དགོང་དག') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'མཚན་མོ';\n } else if (hour < 10) {\n return 'ཞོགས་ཀས';\n } else if (hour < 17) {\n return 'ཉིན་གུང';\n } else if (hour < 20) {\n return 'དགོང་དག';\n } else {\n return 'མཚན་མོ';\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return bo;\n});","//! moment.js locale configuration\n//! locale : Breton [br]\n//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function relativeTimeWithMutation(number, withoutSuffix, key) {\n var format = {\n mm: 'munutenn',\n MM: 'miz',\n dd: 'devezh'\n };\n return number + ' ' + mutation(format[key], number);\n }\n\n function specialMutationForYears(number) {\n switch (lastNumber(number)) {\n case 1:\n case 3:\n case 4:\n case 5:\n case 9:\n return number + ' bloaz';\n\n default:\n return number + ' vloaz';\n }\n }\n\n function lastNumber(number) {\n if (number > 9) {\n return lastNumber(number % 10);\n }\n\n return number;\n }\n\n function mutation(text, number) {\n if (number === 2) {\n return softMutation(text);\n }\n\n return text;\n }\n\n function softMutation(text) {\n var mutationTable = {\n m: 'v',\n b: 'v',\n d: 'z'\n };\n\n if (mutationTable[text.charAt(0)] === undefined) {\n return text;\n }\n\n return mutationTable[text.charAt(0)] + text.substring(1);\n }\n\n var monthsParse = [/^gen/i, /^c[ʼ\\']hwe/i, /^meu/i, /^ebr/i, /^mae/i, /^(mez|eve)/i, /^gou/i, /^eos/i, /^gwe/i, /^her/i, /^du/i, /^ker/i],\n monthsRegex = /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n monthsStrictRegex = /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,\n monthsShortStrictRegex = /^(gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n fullWeekdaysParse = [/^sul/i, /^lun/i, /^meurzh/i, /^merc[ʼ\\']her/i, /^yaou/i, /^gwener/i, /^sadorn/i],\n shortWeekdaysParse = [/^Sul/i, /^Lun/i, /^Meu/i, /^Mer/i, /^Yao/i, /^Gwe/i, /^Sad/i],\n minWeekdaysParse = [/^Su/i, /^Lu/i, /^Me([^r]|$)/i, /^Mer/i, /^Ya/i, /^Gw/i, /^Sa/i];\n var br = moment.defineLocale('br', {\n months: 'Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'),\n monthsShort: 'Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),\n weekdays: 'Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn'.split('_'),\n weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),\n weekdaysParse: minWeekdaysParse,\n fullWeekdaysParse: fullWeekdaysParse,\n shortWeekdaysParse: shortWeekdaysParse,\n minWeekdaysParse: minWeekdaysParse,\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: monthsStrictRegex,\n monthsShortStrictRegex: monthsShortStrictRegex,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [a viz] MMMM YYYY',\n LLL: 'D [a viz] MMMM YYYY HH:mm',\n LLLL: 'dddd, D [a viz] MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Hiziv da] LT',\n nextDay: '[Warcʼhoazh da] LT',\n nextWeek: 'dddd [da] LT',\n lastDay: '[Decʼh da] LT',\n lastWeek: 'dddd [paset da] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'a-benn %s',\n past: '%s ʼzo',\n s: 'un nebeud segondennoù',\n ss: '%d eilenn',\n m: 'ur vunutenn',\n mm: relativeTimeWithMutation,\n h: 'un eur',\n hh: '%d eur',\n d: 'un devezh',\n dd: relativeTimeWithMutation,\n M: 'ur miz',\n MM: relativeTimeWithMutation,\n y: 'ur bloaz',\n yy: specialMutationForYears\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(añ|vet)/,\n ordinal: function ordinal(number) {\n var output = number === 1 ? 'añ' : 'vet';\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n },\n meridiemParse: /a.m.|g.m./,\n // goude merenn | a-raok merenn\n isPM: function isPM(token) {\n return token === 'g.m.';\n },\n meridiem: function meridiem(hour, minute, isLower) {\n return hour < 12 ? 'a.m.' : 'g.m.';\n }\n });\n return br;\n});","//! moment.js locale configuration\n//! locale : Bosnian [bs]\n//! author : Nedim Cholich : https://github.com/frontyard\n//! based on (hr) translation by Bojan Marković\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n\n return result;\n\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n\n return result;\n\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n\n return result;\n\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n\n return result;\n\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n\n return result;\n\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n\n return result;\n }\n }\n\n var bs = moment.defineLocale('bs', {\n months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function nextWeek() {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n\n case 3:\n return '[u] [srijedu] [u] LT';\n\n case 6:\n return '[u] [subotu] [u] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[jučer u] LT',\n lastWeek: function lastWeek() {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n\n case 6:\n return '[prošle] [subote] [u] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'par sekundi',\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: 'dan',\n dd: translate,\n M: 'mjesec',\n MM: translate,\n y: 'godinu',\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return bs;\n});","//! moment.js locale configuration\n//! locale : Catalan [ca]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var ca = moment.defineLocale('ca', {\n months: {\n standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'),\n format: \"de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre\".split('_'),\n isFormat: /D[oD]?(\\s)+MMMM/\n },\n monthsShort: 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split('_'),\n monthsParseExact: true,\n weekdays: 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'),\n weekdaysShort: 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),\n weekdaysMin: 'dg_dl_dt_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [de] YYYY',\n ll: 'D MMM YYYY',\n LLL: 'D MMMM [de] YYYY [a les] H:mm',\n lll: 'D MMM YYYY, H:mm',\n LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm',\n llll: 'ddd D MMM YYYY, H:mm'\n },\n calendar: {\n sameDay: function sameDay() {\n return '[avui a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n nextDay: function nextDay() {\n return '[demà a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n nextWeek: function nextWeek() {\n return 'dddd [a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n lastDay: function lastDay() {\n return '[ahir a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n lastWeek: function lastWeek() {\n return '[el] dddd [passat a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: \"d'aquí %s\",\n past: 'fa %s',\n s: 'uns segons',\n ss: '%d segons',\n m: 'un minut',\n mm: '%d minuts',\n h: 'una hora',\n hh: '%d hores',\n d: 'un dia',\n dd: '%d dies',\n M: 'un mes',\n MM: '%d mesos',\n y: 'un any',\n yy: '%d anys'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal: function ordinal(number, period) {\n var output = number === 1 ? 'r' : number === 2 ? 'n' : number === 3 ? 'r' : number === 4 ? 't' : 'è';\n\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return ca;\n});","//! moment.js locale configuration\n//! locale : Czech [cs]\n//! author : petrbela : https://github.com/petrbela\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var months = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split('_'),\n monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'),\n monthsParse = [/^led/i, /^úno/i, /^bře/i, /^dub/i, /^kvě/i, /^(čvn|červen$|června)/i, /^(čvc|červenec|července)/i, /^srp/i, /^zář/i, /^říj/i, /^lis/i, /^pro/i],\n // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n monthsRegex = /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;\n\n function plural(n) {\n return n > 1 && n < 5 && ~~(n / 10) !== 1;\n }\n\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n\n switch (key) {\n case 's':\n // a few seconds / in a few seconds / a few seconds ago\n return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami';\n\n case 'ss':\n // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekund');\n } else {\n return result + 'sekundami';\n }\n\n case 'm':\n // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou';\n\n case 'mm':\n // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minuty' : 'minut');\n } else {\n return result + 'minutami';\n }\n\n case 'h':\n // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n\n case 'hh':\n // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodin');\n } else {\n return result + 'hodinami';\n }\n\n case 'd':\n // a day / in a day / a day ago\n return withoutSuffix || isFuture ? 'den' : 'dnem';\n\n case 'dd':\n // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dny' : 'dní');\n } else {\n return result + 'dny';\n }\n\n case 'M':\n // a month / in a month / a month ago\n return withoutSuffix || isFuture ? 'měsíc' : 'měsícem';\n\n case 'MM':\n // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'měsíce' : 'měsíců');\n } else {\n return result + 'měsíci';\n }\n\n case 'y':\n // a year / in a year / a year ago\n return withoutSuffix || isFuture ? 'rok' : 'rokem';\n\n case 'yy':\n // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'let');\n } else {\n return result + 'lety';\n }\n\n }\n }\n\n var cs = moment.defineLocale('cs', {\n months: months,\n monthsShort: monthsShort,\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n monthsStrictRegex: /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,\n monthsShortStrictRegex: /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\n weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'),\n weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd D. MMMM YYYY H:mm',\n l: 'D. M. YYYY'\n },\n calendar: {\n sameDay: '[dnes v] LT',\n nextDay: '[zítra v] LT',\n nextWeek: function nextWeek() {\n switch (this.day()) {\n case 0:\n return '[v neděli v] LT';\n\n case 1:\n case 2:\n return '[v] dddd [v] LT';\n\n case 3:\n return '[ve středu v] LT';\n\n case 4:\n return '[ve čtvrtek v] LT';\n\n case 5:\n return '[v pátek v] LT';\n\n case 6:\n return '[v sobotu v] LT';\n }\n },\n lastDay: '[včera v] LT',\n lastWeek: function lastWeek() {\n switch (this.day()) {\n case 0:\n return '[minulou neděli v] LT';\n\n case 1:\n case 2:\n return '[minulé] dddd [v] LT';\n\n case 3:\n return '[minulou středu v] LT';\n\n case 4:\n case 5:\n return '[minulý] dddd [v] LT';\n\n case 6:\n return '[minulou sobotu v] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'za %s',\n past: 'před %s',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return cs;\n});","//! moment.js locale configuration\n//! locale : Chuvash [cv]\n//! author : Anatoly Mironov : https://github.com/mirontoli\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var cv = moment.defineLocale('cv', {\n months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'),\n monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n weekdays: 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split('_'),\n weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm'\n },\n calendar: {\n sameDay: '[Паян] LT [сехетре]',\n nextDay: '[Ыран] LT [сехетре]',\n lastDay: '[Ӗнер] LT [сехетре]',\n nextWeek: '[Ҫитес] dddd LT [сехетре]',\n lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n sameElse: 'L'\n },\n relativeTime: {\n future: function future(output) {\n var affix = /сехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран';\n return output + affix;\n },\n past: '%s каялла',\n s: 'пӗр-ик ҫеккунт',\n ss: '%d ҫеккунт',\n m: 'пӗр минут',\n mm: '%d минут',\n h: 'пӗр сехет',\n hh: '%d сехет',\n d: 'пӗр кун',\n dd: '%d кун',\n M: 'пӗр уйӑх',\n MM: '%d уйӑх',\n y: 'пӗр ҫул',\n yy: '%d ҫул'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-мӗш/,\n ordinal: '%d-мӗш',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return cv;\n});","//! moment.js locale configuration\n//! locale : Welsh [cy]\n//! author : Robert Allen : https://github.com/robgallen\n//! author : https://github.com/ryangreaves\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var cy = moment.defineLocale('cy', {\n months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'),\n monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'),\n weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'),\n weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),\n weekdaysParseExact: true,\n // time formats are the same as en-gb\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Heddiw am] LT',\n nextDay: '[Yfory am] LT',\n nextWeek: 'dddd [am] LT',\n lastDay: '[Ddoe am] LT',\n lastWeek: 'dddd [diwethaf am] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'mewn %s',\n past: '%s yn ôl',\n s: 'ychydig eiliadau',\n ss: '%d eiliad',\n m: 'munud',\n mm: '%d munud',\n h: 'awr',\n hh: '%d awr',\n d: 'diwrnod',\n dd: '%d diwrnod',\n M: 'mis',\n MM: '%d mis',\n y: 'blwyddyn',\n yy: '%d flynedd'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,\n // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh\n ordinal: function ordinal(number) {\n var b = number,\n output = '',\n lookup = ['', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed\n 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed\n ];\n\n if (b > 20) {\n if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {\n output = 'fed'; // not 30ain, 70ain or 90ain\n } else {\n output = 'ain';\n }\n } else if (b > 0) {\n output = lookup[b];\n }\n\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return cy;\n});","//! moment.js locale configuration\n//! locale : Danish [da]\n//! author : Ulrik Nielsen : https://github.com/mrbase\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var da = moment.defineLocale('da', {\n months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'),\n monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm'\n },\n calendar: {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'på dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[i] dddd[s kl.] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'om %s',\n past: '%s siden',\n s: 'få sekunder',\n ss: '%d sekunder',\n m: 'et minut',\n mm: '%d minutter',\n h: 'en time',\n hh: '%d timer',\n d: 'en dag',\n dd: '%d dage',\n M: 'en måned',\n MM: '%d måneder',\n y: 'et år',\n yy: '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return da;\n});","//! moment.js locale configuration\n//! locale : German (Austria) [de-at]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Martin Groller : https://github.com/MadMG\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deAt = moment.defineLocale('de-at', {\n months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort: 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime,\n mm: '%d Minuten',\n h: processRelativeTime,\n hh: '%d Stunden',\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: '%d Wochen',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return deAt;\n});","//! moment.js locale configuration\n//! locale : German (Switzerland) [de-ch]\n//! author : sschueller : https://github.com/sschueller\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deCh = moment.defineLocale('de-ch', {\n months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime,\n mm: '%d Minuten',\n h: processRelativeTime,\n hh: '%d Stunden',\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: '%d Wochen',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return deCh;\n});","//! moment.js locale configuration\n//! locale : German [de]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var de = moment.defineLocale('de', {\n months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime,\n mm: '%d Minuten',\n h: processRelativeTime,\n hh: '%d Stunden',\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: '%d Wochen',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return de;\n});","//! moment.js locale configuration\n//! locale : Maldivian [dv]\n//! author : Jawish Hameed : https://github.com/jawish\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var months = ['ޖެނުއަރީ', 'ފެބްރުއަރީ', 'މާރިޗު', 'އޭޕްރީލު', 'މޭ', 'ޖޫން', 'ޖުލައި', 'އޯގަސްޓު', 'ސެޕްޓެމްބަރު', 'އޮކްޓޯބަރު', 'ނޮވެމްބަރު', 'ޑިސެމްބަރު'],\n weekdays = ['އާދިއްތަ', 'ހޯމަ', 'އަންގާރަ', 'ބުދަ', 'ބުރާސްފަތި', 'ހުކުރު', 'ހޮނިހިރު'];\n var dv = moment.defineLocale('dv', {\n months: months,\n monthsShort: months,\n weekdays: weekdays,\n weekdaysShort: weekdays,\n weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/M/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /މކ|މފ/,\n isPM: function isPM(input) {\n return 'މފ' === input;\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return 'މކ';\n } else {\n return 'މފ';\n }\n },\n calendar: {\n sameDay: '[މިއަދު] LT',\n nextDay: '[މާދަމާ] LT',\n nextWeek: 'dddd LT',\n lastDay: '[އިއްޔެ] LT',\n lastWeek: '[ފާއިތުވި] dddd LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'ތެރޭގައި %s',\n past: 'ކުރިން %s',\n s: 'ސިކުންތުކޮޅެއް',\n ss: 'd% ސިކުންތު',\n m: 'މިނިޓެއް',\n mm: 'މިނިޓު %d',\n h: 'ގަޑިއިރެއް',\n hh: 'ގަޑިއިރު %d',\n d: 'ދުވަހެއް',\n dd: 'ދުވަސް %d',\n M: 'މަހެއް',\n MM: 'މަސް %d',\n y: 'އަހަރެއް',\n yy: 'އަހަރު %d'\n },\n preparse: function preparse(string) {\n return string.replace(/،/g, ',');\n },\n postformat: function postformat(string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 7,\n // Sunday is the first day of the week.\n doy: 12 // The week that contains Jan 12th is the first week of the year.\n\n }\n });\n return dv;\n});","//! moment.js locale configuration\n//! locale : Greek [el]\n//! author : Aggelos Karalias : https://github.com/mehiel\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function isFunction(input) {\n return typeof Function !== 'undefined' && input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n }\n\n var el = moment.defineLocale('el', {\n monthsNominativeEl: 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split('_'),\n monthsGenitiveEl: 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split('_'),\n months: function months(momentToFormat, format) {\n if (!momentToFormat) {\n return this._monthsNominativeEl;\n } else if (typeof format === 'string' && /D/.test(format.substring(0, format.indexOf('MMMM')))) {\n // if there is a day number before 'MMMM'\n return this._monthsGenitiveEl[momentToFormat.month()];\n } else {\n return this._monthsNominativeEl[momentToFormat.month()];\n }\n },\n monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),\n weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split('_'),\n weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),\n weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),\n meridiem: function meridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'μμ' : 'ΜΜ';\n } else {\n return isLower ? 'πμ' : 'ΠΜ';\n }\n },\n isPM: function isPM(input) {\n return (input + '').toLowerCase()[0] === 'μ';\n },\n meridiemParse: /[ΠΜ]\\.?Μ?\\.?/i,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A'\n },\n calendarEl: {\n sameDay: '[Σήμερα {}] LT',\n nextDay: '[Αύριο {}] LT',\n nextWeek: 'dddd [{}] LT',\n lastDay: '[Χθες {}] LT',\n lastWeek: function lastWeek() {\n switch (this.day()) {\n case 6:\n return '[το προηγούμενο] dddd [{}] LT';\n\n default:\n return '[την προηγούμενη] dddd [{}] LT';\n }\n },\n sameElse: 'L'\n },\n calendar: function calendar(key, mom) {\n var output = this._calendarEl[key],\n hours = mom && mom.hours();\n\n if (isFunction(output)) {\n output = output.apply(mom);\n }\n\n return output.replace('{}', hours % 12 === 1 ? 'στη' : 'στις');\n },\n relativeTime: {\n future: 'σε %s',\n past: '%s πριν',\n s: 'λίγα δευτερόλεπτα',\n ss: '%d δευτερόλεπτα',\n m: 'ένα λεπτό',\n mm: '%d λεπτά',\n h: 'μία ώρα',\n hh: '%d ώρες',\n d: 'μία μέρα',\n dd: '%d μέρες',\n M: 'ένας μήνας',\n MM: '%d μήνες',\n y: 'ένας χρόνος',\n yy: '%d χρόνια'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}η/,\n ordinal: '%dη',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4st is the first week of the year.\n\n }\n });\n return el;\n});","//! moment.js locale configuration\n//! locale : English (Australia) [en-au]\n//! author : Jared Morse : https://github.com/jarcoal\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var enAu = moment.defineLocale('en-au', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A'\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function ordinal(number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return enAu;\n});","//! moment.js locale configuration\n//! locale : English (Canada) [en-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var enCa = moment.defineLocale('en-ca', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'YYYY-MM-DD',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A'\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function ordinal(number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n }\n });\n return enCa;\n});","//! moment.js locale configuration\n//! locale : English (United Kingdom) [en-gb]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var enGb = moment.defineLocale('en-gb', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function ordinal(number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return enGb;\n});","//! moment.js locale configuration\n//! locale : English (Ireland) [en-ie]\n//! author : Chris Cartlidge : https://github.com/chriscartlidge\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var enIe = moment.defineLocale('en-ie', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function ordinal(number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return enIe;\n});","//! moment.js locale configuration\n//! locale : English (Israel) [en-il]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var enIl = moment.defineLocale('en-il', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function ordinal(number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n }\n });\n return enIl;\n});","//! moment.js locale configuration\n//! locale : English (India) [en-in]\n//! author : Jatin Agrawal : https://github.com/jatinag22\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var enIn = moment.defineLocale('en-in', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A'\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function ordinal(number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 1st is the first week of the year.\n\n }\n });\n return enIn;\n});","//! moment.js locale configuration\n//! locale : English (New Zealand) [en-nz]\n//! author : Luke McGregor : https://github.com/lukemcgregor\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var enNz = moment.defineLocale('en-nz', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A'\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function ordinal(number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return enNz;\n});","//! moment.js locale configuration\n//! locale : English (Singapore) [en-sg]\n//! author : Matthew Castrillon-Madrigal : https://github.com/techdimension\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var enSg = moment.defineLocale('en-sg', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function ordinal(number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return enSg;\n});","//! moment.js locale configuration\n//! locale : Esperanto [eo]\n//! author : Colin Dean : https://github.com/colindean\n//! author : Mia Nordentoft Imperatori : https://github.com/miestasmia\n//! comment : miestasmia corrected the translation by colindean\n//! comment : Vivakvo corrected the translation by colindean and miestasmia\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var eo = moment.defineLocale('eo', {\n months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split('_'),\n monthsShort: 'jan_feb_mart_apr_maj_jun_jul_aŭg_sept_okt_nov_dec'.split('_'),\n weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),\n weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),\n weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: '[la] D[-an de] MMMM, YYYY',\n LLL: '[la] D[-an de] MMMM, YYYY HH:mm',\n LLLL: 'dddd[n], [la] D[-an de] MMMM, YYYY HH:mm',\n llll: 'ddd, [la] D[-an de] MMM, YYYY HH:mm'\n },\n meridiemParse: /[ap]\\.t\\.m/i,\n isPM: function isPM(input) {\n return input.charAt(0).toLowerCase() === 'p';\n },\n meridiem: function meridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'p.t.m.' : 'P.T.M.';\n } else {\n return isLower ? 'a.t.m.' : 'A.T.M.';\n }\n },\n calendar: {\n sameDay: '[Hodiaŭ je] LT',\n nextDay: '[Morgaŭ je] LT',\n nextWeek: 'dddd[n je] LT',\n lastDay: '[Hieraŭ je] LT',\n lastWeek: '[pasintan] dddd[n je] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'post %s',\n past: 'antaŭ %s',\n s: 'kelkaj sekundoj',\n ss: '%d sekundoj',\n m: 'unu minuto',\n mm: '%d minutoj',\n h: 'unu horo',\n hh: '%d horoj',\n d: 'unu tago',\n //ne 'diurno', ĉar estas uzita por proksimumo\n dd: '%d tagoj',\n M: 'unu monato',\n MM: '%d monatoj',\n y: 'unu jaro',\n yy: '%d jaroj'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}a/,\n ordinal: '%da',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return eo;\n});","//! moment.js locale configuration\n//! locale : Spanish (Dominican Republic) [es-do]\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n _monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i],\n monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esDo = moment.defineLocale('es-do', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort: function monthsShort(m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return _monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY h:mm A',\n LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A'\n },\n calendar: {\n sameDay: function sameDay() {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function nextDay() {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function nextWeek() {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function lastDay() {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function lastWeek() {\n return '[el] dddd [pasado a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return esDo;\n});","//! moment.js locale configuration\n//! locale : Spanish (Mexico) [es-mx]\n//! author : JC Franco : https://github.com/jcfranco\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n _monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i],\n monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esMx = moment.defineLocale('es-mx', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort: function monthsShort(m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return _monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm'\n },\n calendar: {\n sameDay: function sameDay() {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function nextDay() {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function nextWeek() {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function lastDay() {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function lastWeek() {\n return '[el] dddd [pasado a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n },\n invalidDate: 'Fecha inválida'\n });\n return esMx;\n});","//! moment.js locale configuration\n//! locale : Spanish (United States) [es-us]\n//! author : bustta : https://github.com/bustta\n//! author : chrisrodz : https://github.com/chrisrodz\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n _monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i],\n monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esUs = moment.defineLocale('es-us', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort: function monthsShort(m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return _monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'MM/DD/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY h:mm A',\n LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A'\n },\n calendar: {\n sameDay: function sameDay() {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function nextDay() {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function nextWeek() {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function lastDay() {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function lastWeek() {\n return '[el] dddd [pasado a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return esUs;\n});","//! moment.js locale configuration\n//! locale : Spanish [es]\n//! author : Julio Napurí : https://github.com/julionc\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n _monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i],\n monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var es = moment.defineLocale('es', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort: function monthsShort(m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return _monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm'\n },\n calendar: {\n sameDay: function sameDay() {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function nextDay() {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function nextWeek() {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function lastDay() {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function lastWeek() {\n return '[el] dddd [pasado a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n },\n invalidDate: 'Fecha inválida'\n });\n return es;\n});","//! moment.js locale configuration\n//! locale : Estonian [et]\n//! author : Henry Kehlmann : https://github.com/madhenry\n//! improvements : Illimar Tambek : https://github.com/ragulka\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n ss: [number + 'sekundi', number + 'sekundit'],\n m: ['ühe minuti', 'üks minut'],\n mm: [number + ' minuti', number + ' minutit'],\n h: ['ühe tunni', 'tund aega', 'üks tund'],\n hh: [number + ' tunni', number + ' tundi'],\n d: ['ühe päeva', 'üks päev'],\n M: ['kuu aja', 'kuu aega', 'üks kuu'],\n MM: [number + ' kuu', number + ' kuud'],\n y: ['ühe aasta', 'aasta', 'üks aasta'],\n yy: [number + ' aasta', number + ' aastat']\n };\n\n if (withoutSuffix) {\n return format[key][2] ? format[key][2] : format[key][1];\n }\n\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var et = moment.defineLocale('et', {\n months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'),\n monthsShort: 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),\n weekdays: 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'),\n weekdaysShort: 'P_E_T_K_N_R_L'.split('_'),\n weekdaysMin: 'P_E_T_K_N_R_L'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[Täna,] LT',\n nextDay: '[Homme,] LT',\n nextWeek: '[Järgmine] dddd LT',\n lastDay: '[Eile,] LT',\n lastWeek: '[Eelmine] dddd LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s pärast',\n past: '%s tagasi',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: '%d päeva',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return et;\n});","//! moment.js locale configuration\n//! locale : Basque [eu]\n//! author : Eneko Illarramendi : https://github.com/eillarra\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var eu = moment.defineLocale('eu', {\n months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'),\n monthsShort: 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'),\n monthsParseExact: true,\n weekdays: 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'),\n weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'),\n weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY[ko] MMMM[ren] D[a]',\n LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n l: 'YYYY-M-D',\n ll: 'YYYY[ko] MMM D[a]',\n lll: 'YYYY[ko] MMM D[a] HH:mm',\n llll: 'ddd, YYYY[ko] MMM D[a] HH:mm'\n },\n calendar: {\n sameDay: '[gaur] LT[etan]',\n nextDay: '[bihar] LT[etan]',\n nextWeek: 'dddd LT[etan]',\n lastDay: '[atzo] LT[etan]',\n lastWeek: '[aurreko] dddd LT[etan]',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s barru',\n past: 'duela %s',\n s: 'segundo batzuk',\n ss: '%d segundo',\n m: 'minutu bat',\n mm: '%d minutu',\n h: 'ordu bat',\n hh: '%d ordu',\n d: 'egun bat',\n dd: '%d egun',\n M: 'hilabete bat',\n MM: '%d hilabete',\n y: 'urte bat',\n yy: '%d urte'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return eu;\n});","//! moment.js locale configuration\n//! locale : Persian [fa]\n//! author : Ebrahim Byagowi : https://github.com/ebraminio\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '۱',\n 2: '۲',\n 3: '۳',\n 4: '۴',\n 5: '۵',\n 6: '۶',\n 7: '۷',\n 8: '۸',\n 9: '۹',\n 0: '۰'\n },\n numberMap = {\n '۱': '1',\n '۲': '2',\n '۳': '3',\n '۴': '4',\n '۵': '5',\n '۶': '6',\n '۷': '7',\n '۸': '8',\n '۹': '9',\n '۰': '0'\n };\n var fa = moment.defineLocale('fa', {\n months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\n monthsShort: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\n weekdays: \"\\u06CC\\u06A9\\u200C\\u0634\\u0646\\u0628\\u0647_\\u062F\\u0648\\u0634\\u0646\\u0628\\u0647_\\u0633\\u0647\\u200C\\u0634\\u0646\\u0628\\u0647_\\u0686\\u0647\\u0627\\u0631\\u0634\\u0646\\u0628\\u0647_\\u067E\\u0646\\u062C\\u200C\\u0634\\u0646\\u0628\\u0647_\\u062C\\u0645\\u0639\\u0647_\\u0634\\u0646\\u0628\\u0647\".split('_'),\n weekdaysShort: \"\\u06CC\\u06A9\\u200C\\u0634\\u0646\\u0628\\u0647_\\u062F\\u0648\\u0634\\u0646\\u0628\\u0647_\\u0633\\u0647\\u200C\\u0634\\u0646\\u0628\\u0647_\\u0686\\u0647\\u0627\\u0631\\u0634\\u0646\\u0628\\u0647_\\u067E\\u0646\\u062C\\u200C\\u0634\\u0646\\u0628\\u0647_\\u062C\\u0645\\u0639\\u0647_\\u0634\\u0646\\u0628\\u0647\".split('_'),\n weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n meridiemParse: /قبل از ظهر|بعد از ظهر/,\n isPM: function isPM(input) {\n return /بعد از ظهر/.test(input);\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return 'قبل از ظهر';\n } else {\n return 'بعد از ظهر';\n }\n },\n calendar: {\n sameDay: '[امروز ساعت] LT',\n nextDay: '[فردا ساعت] LT',\n nextWeek: 'dddd [ساعت] LT',\n lastDay: '[دیروز ساعت] LT',\n lastWeek: 'dddd [پیش] [ساعت] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'در %s',\n past: '%s پیش',\n s: 'چند ثانیه',\n ss: '%d ثانیه',\n m: 'یک دقیقه',\n mm: '%d دقیقه',\n h: 'یک ساعت',\n hh: '%d ساعت',\n d: 'یک روز',\n dd: '%d روز',\n M: 'یک ماه',\n MM: '%d ماه',\n y: 'یک سال',\n yy: '%d سال'\n },\n preparse: function preparse(string) {\n return string.replace(/[۰-۹]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n dayOfMonthOrdinalParse: /\\d{1,2}م/,\n ordinal: '%dم',\n week: {\n dow: 6,\n // Saturday is the first day of the week.\n doy: 12 // The week that contains Jan 12th is the first week of the year.\n\n }\n });\n return fa;\n});","//! moment.js locale configuration\n//! locale : Finnish [fi]\n//! author : Tarmo Aidantausta : https://github.com/bleadof\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '),\n numbersFuture = ['nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden', numbersPast[7], numbersPast[8], numbersPast[9]];\n\n function translate(number, withoutSuffix, key, isFuture) {\n var result = '';\n\n switch (key) {\n case 's':\n return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n\n case 'ss':\n result = isFuture ? 'sekunnin' : 'sekuntia';\n break;\n\n case 'm':\n return isFuture ? 'minuutin' : 'minuutti';\n\n case 'mm':\n result = isFuture ? 'minuutin' : 'minuuttia';\n break;\n\n case 'h':\n return isFuture ? 'tunnin' : 'tunti';\n\n case 'hh':\n result = isFuture ? 'tunnin' : 'tuntia';\n break;\n\n case 'd':\n return isFuture ? 'päivän' : 'päivä';\n\n case 'dd':\n result = isFuture ? 'päivän' : 'päivää';\n break;\n\n case 'M':\n return isFuture ? 'kuukauden' : 'kuukausi';\n\n case 'MM':\n result = isFuture ? 'kuukauden' : 'kuukautta';\n break;\n\n case 'y':\n return isFuture ? 'vuoden' : 'vuosi';\n\n case 'yy':\n result = isFuture ? 'vuoden' : 'vuotta';\n break;\n }\n\n result = verbalNumber(number, isFuture) + ' ' + result;\n return result;\n }\n\n function verbalNumber(number, isFuture) {\n return number < 10 ? isFuture ? numbersFuture[number] : numbersPast[number] : number;\n }\n\n var fi = moment.defineLocale('fi', {\n months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'),\n monthsShort: 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'),\n weekdays: 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'),\n weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'),\n weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD.MM.YYYY',\n LL: 'Do MMMM[ta] YYYY',\n LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm',\n LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',\n l: 'D.M.YYYY',\n ll: 'Do MMM YYYY',\n lll: 'Do MMM YYYY, [klo] HH.mm',\n llll: 'ddd, Do MMM YYYY, [klo] HH.mm'\n },\n calendar: {\n sameDay: '[tänään] [klo] LT',\n nextDay: '[huomenna] [klo] LT',\n nextWeek: 'dddd [klo] LT',\n lastDay: '[eilen] [klo] LT',\n lastWeek: '[viime] dddd[na] [klo] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s päästä',\n past: '%s sitten',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return fi;\n});","//! moment.js locale configuration\n//! locale : Filipino [fil]\n//! author : Dan Hagman : https://github.com/hagmandan\n//! author : Matthew Co : https://github.com/matthewdeeco\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var fil = moment.defineLocale('fil', {\n months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'),\n monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'),\n weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'MM/D/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY HH:mm',\n LLLL: 'dddd, MMMM DD, YYYY HH:mm'\n },\n calendar: {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'sa loob ng %s',\n past: '%s ang nakalipas',\n s: 'ilang segundo',\n ss: '%d segundo',\n m: 'isang minuto',\n mm: '%d minuto',\n h: 'isang oras',\n hh: '%d oras',\n d: 'isang araw',\n dd: '%d araw',\n M: 'isang buwan',\n MM: '%d buwan',\n y: 'isang taon',\n yy: '%d taon'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function ordinal(number) {\n return number;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return fil;\n});","//! moment.js locale configuration\n//! locale : Faroese [fo]\n//! author : Ragnar Johannesen : https://github.com/ragnar123\n//! author : Kristian Sakarisson : https://github.com/sakarisson\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var fo = moment.defineLocale('fo', {\n months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays: 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split('_'),\n weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D. MMMM, YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Í dag kl.] LT',\n nextDay: '[Í morgin kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[Í gjár kl.] LT',\n lastWeek: '[síðstu] dddd [kl] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'um %s',\n past: '%s síðani',\n s: 'fá sekund',\n ss: '%d sekundir',\n m: 'ein minuttur',\n mm: '%d minuttir',\n h: 'ein tími',\n hh: '%d tímar',\n d: 'ein dagur',\n dd: '%d dagar',\n M: 'ein mánaður',\n MM: '%d mánaðir',\n y: 'eitt ár',\n yy: '%d ár'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return fo;\n});","//! moment.js locale configuration\n//! locale : French (Canada) [fr-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var frCa = moment.defineLocale('fr-ca', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact: true,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n // Words with feminine grammatical gender: semaine\n\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n }\n });\n return frCa;\n});","//! moment.js locale configuration\n//! locale : French (Switzerland) [fr-ch]\n//! author : Gaspard Bucher : https://github.com/gaspard\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var frCh = moment.defineLocale('fr-ch', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact: true,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n // Words with feminine grammatical gender: semaine\n\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return frCh;\n});","//! moment.js locale configuration\n//! locale : French [fr]\n//! author : John Fischer : https://github.com/jfroffice\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var monthsStrictRegex = /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n monthsShortStrictRegex = /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?)/i,\n monthsRegex = /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n monthsParse = [/^janv/i, /^févr/i, /^mars/i, /^avr/i, /^mai/i, /^juin/i, /^juil/i, /^août/i, /^sept/i, /^oct/i, /^nov/i, /^déc/i];\n var fr = moment.defineLocale('fr', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: monthsStrictRegex,\n monthsShortStrictRegex: monthsShortStrictRegex,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n w: 'une semaine',\n ww: '%d semaines',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n // TODO: Return 'e' when day of month > 1. Move this case inside\n // block for masculine words below.\n // See https://github.com/moment/moment/issues/3375\n case 'D':\n return number + (number === 1 ? 'er' : '');\n // Words with masculine grammatical gender: mois, trimestre, jour\n\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n // Words with feminine grammatical gender: semaine\n\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return fr;\n});","//! moment.js locale configuration\n//! locale : Frisian [fy]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');\n var fy = moment.defineLocale('fy', {\n months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'),\n monthsShort: function monthsShort(m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n monthsParseExact: true,\n weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'),\n weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'),\n weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[hjoed om] LT',\n nextDay: '[moarn om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[juster om] LT',\n lastWeek: '[ôfrûne] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'oer %s',\n past: '%s lyn',\n s: 'in pear sekonden',\n ss: '%d sekonden',\n m: 'ien minút',\n mm: '%d minuten',\n h: 'ien oere',\n hh: '%d oeren',\n d: 'ien dei',\n dd: '%d dagen',\n M: 'ien moanne',\n MM: '%d moannen',\n y: 'ien jier',\n yy: '%d jierren'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function ordinal(number) {\n return number + (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de');\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return fy;\n});","//! moment.js locale configuration\n//! locale : Irish or Irish Gaelic [ga]\n//! author : André Silva : https://github.com/askpt\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var months = ['Eanáir', 'Feabhra', 'Márta', 'Aibreán', 'Bealtaine', 'Meitheamh', 'Iúil', 'Lúnasa', 'Meán Fómhair', 'Deireadh Fómhair', 'Samhain', 'Nollaig'],\n monthsShort = ['Ean', 'Feabh', 'Márt', 'Aib', 'Beal', 'Meith', 'Iúil', 'Lún', 'M.F.', 'D.F.', 'Samh', 'Noll'],\n weekdays = ['Dé Domhnaigh', 'Dé Luain', 'Dé Máirt', 'Dé Céadaoin', 'Déardaoin', 'Dé hAoine', 'Dé Sathairn'],\n weekdaysShort = ['Domh', 'Luan', 'Máirt', 'Céad', 'Déar', 'Aoine', 'Sath'],\n weekdaysMin = ['Do', 'Lu', 'Má', 'Cé', 'Dé', 'A', 'Sa'];\n var ga = moment.defineLocale('ga', {\n months: months,\n monthsShort: monthsShort,\n monthsParseExact: true,\n weekdays: weekdays,\n weekdaysShort: weekdaysShort,\n weekdaysMin: weekdaysMin,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Inniu ag] LT',\n nextDay: '[Amárach ag] LT',\n nextWeek: 'dddd [ag] LT',\n lastDay: '[Inné ag] LT',\n lastWeek: 'dddd [seo caite] [ag] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'i %s',\n past: '%s ó shin',\n s: 'cúpla soicind',\n ss: '%d soicind',\n m: 'nóiméad',\n mm: '%d nóiméad',\n h: 'uair an chloig',\n hh: '%d uair an chloig',\n d: 'lá',\n dd: '%d lá',\n M: 'mí',\n MM: '%d míonna',\n y: 'bliain',\n yy: '%d bliain'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n ordinal: function ordinal(number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return ga;\n});","//! moment.js locale configuration\n//! locale : Scottish Gaelic [gd]\n//! author : Jon Ashdown : https://github.com/jonashdown\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var months = ['Am Faoilleach', 'An Gearran', 'Am Màrt', 'An Giblean', 'An Cèitean', 'An t-Ògmhios', 'An t-Iuchar', 'An Lùnastal', 'An t-Sultain', 'An Dàmhair', 'An t-Samhain', 'An Dùbhlachd'],\n monthsShort = ['Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh'],\n weekdays = ['Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne'],\n weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'],\n weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n var gd = moment.defineLocale('gd', {\n months: months,\n monthsShort: monthsShort,\n monthsParseExact: true,\n weekdays: weekdays,\n weekdaysShort: weekdaysShort,\n weekdaysMin: weekdaysMin,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[An-diugh aig] LT',\n nextDay: '[A-màireach aig] LT',\n nextWeek: 'dddd [aig] LT',\n lastDay: '[An-dè aig] LT',\n lastWeek: 'dddd [seo chaidh] [aig] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'ann an %s',\n past: 'bho chionn %s',\n s: 'beagan diogan',\n ss: '%d diogan',\n m: 'mionaid',\n mm: '%d mionaidean',\n h: 'uair',\n hh: '%d uairean',\n d: 'latha',\n dd: '%d latha',\n M: 'mìos',\n MM: '%d mìosan',\n y: 'bliadhna',\n yy: '%d bliadhna'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n ordinal: function ordinal(number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return gd;\n});","//! moment.js locale configuration\n//! locale : Galician [gl]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var gl = moment.defineLocale('gl', {\n months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'),\n monthsShort: 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm'\n },\n calendar: {\n sameDay: function sameDay() {\n return '[hoxe ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n },\n nextDay: function nextDay() {\n return '[mañá ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n },\n nextWeek: function nextWeek() {\n return 'dddd [' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT';\n },\n lastDay: function lastDay() {\n return '[onte ' + (this.hours() !== 1 ? 'á' : 'a') + '] LT';\n },\n lastWeek: function lastWeek() {\n return '[o] dddd [pasado ' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT';\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: function future(str) {\n if (str.indexOf('un') === 0) {\n return 'n' + str;\n }\n\n return 'en ' + str;\n },\n past: 'hai %s',\n s: 'uns segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'unha hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n M: 'un mes',\n MM: '%d meses',\n y: 'un ano',\n yy: '%d anos'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return gl;\n});","//! moment.js locale configuration\n//! locale : Konkani Devanagari script [gom-deva]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['थोडया सॅकंडांनी', 'थोडे सॅकंड'],\n ss: [number + ' सॅकंडांनी', number + ' सॅकंड'],\n m: ['एका मिणटान', 'एक मिनूट'],\n mm: [number + ' मिणटांनी', number + ' मिणटां'],\n h: ['एका वरान', 'एक वर'],\n hh: [number + ' वरांनी', number + ' वरां'],\n d: ['एका दिसान', 'एक दीस'],\n dd: [number + ' दिसांनी', number + ' दीस'],\n M: ['एका म्हयन्यान', 'एक म्हयनो'],\n MM: [number + ' म्हयन्यानी', number + ' म्हयने'],\n y: ['एका वर्सान', 'एक वर्स'],\n yy: [number + ' वर्सांनी', number + ' वर्सां']\n };\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var gomDeva = moment.defineLocale('gom-deva', {\n months: {\n standalone: 'जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split('_'),\n format: 'जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या'.split('_'),\n isFormat: /MMMM(\\s)+D[oD]?/\n },\n monthsShort: 'जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split('_'),\n monthsParseExact: true,\n weekdays: 'आयतार_सोमार_मंगळार_बुधवार_बिरेस्तार_सुक्रार_शेनवार'.split('_'),\n weekdaysShort: 'आयत._सोम._मंगळ._बुध._ब्रेस्त._सुक्र._शेन.'.split('_'),\n weekdaysMin: 'आ_सो_मं_बु_ब्रे_सु_शे'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'A h:mm [वाजतां]',\n LTS: 'A h:mm:ss [वाजतां]',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY A h:mm [वाजतां]',\n LLLL: 'dddd, MMMM Do, YYYY, A h:mm [वाजतां]',\n llll: 'ddd, D MMM YYYY, A h:mm [वाजतां]'\n },\n calendar: {\n sameDay: '[आयज] LT',\n nextDay: '[फाल्यां] LT',\n nextWeek: '[फुडलो] dddd[,] LT',\n lastDay: '[काल] LT',\n lastWeek: '[फाटलो] dddd[,] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s',\n past: '%s आदीं',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(वेर)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n // the ordinal 'वेर' only applies to day of the month\n case 'D':\n return number + 'वेर';\n\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week\n doy: 3 // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n\n },\n meridiemParse: /राती|सकाळीं|दनपारां|सांजे/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'राती') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सकाळीं') {\n return hour;\n } else if (meridiem === 'दनपारां') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'सांजे') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'राती';\n } else if (hour < 12) {\n return 'सकाळीं';\n } else if (hour < 16) {\n return 'दनपारां';\n } else if (hour < 20) {\n return 'सांजे';\n } else {\n return 'राती';\n }\n }\n });\n return gomDeva;\n});","//! moment.js locale configuration\n//! locale : Konkani Latin script [gom-latn]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['thoddea sekondamni', 'thodde sekond'],\n ss: [number + ' sekondamni', number + ' sekond'],\n m: ['eka mintan', 'ek minut'],\n mm: [number + ' mintamni', number + ' mintam'],\n h: ['eka voran', 'ek vor'],\n hh: [number + ' voramni', number + ' voram'],\n d: ['eka disan', 'ek dis'],\n dd: [number + ' disamni', number + ' dis'],\n M: ['eka mhoinean', 'ek mhoino'],\n MM: [number + ' mhoineamni', number + ' mhoine'],\n y: ['eka vorsan', 'ek voros'],\n yy: [number + ' vorsamni', number + ' vorsam']\n };\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var gomLatn = moment.defineLocale('gom-latn', {\n months: {\n standalone: 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split('_'),\n format: 'Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea'.split('_'),\n isFormat: /MMMM(\\s)+D[oD]?/\n },\n monthsShort: 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays: \"Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var\".split('_'),\n weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\n weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'A h:mm [vazta]',\n LTS: 'A h:mm:ss [vazta]',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY A h:mm [vazta]',\n LLLL: 'dddd, MMMM Do, YYYY, A h:mm [vazta]',\n llll: 'ddd, D MMM YYYY, A h:mm [vazta]'\n },\n calendar: {\n sameDay: '[Aiz] LT',\n nextDay: '[Faleam] LT',\n nextWeek: '[Fuddlo] dddd[,] LT',\n lastDay: '[Kal] LT',\n lastWeek: '[Fattlo] dddd[,] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s',\n past: '%s adim',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n // the ordinal 'er' only applies to day of the month\n case 'D':\n return number + 'er';\n\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week\n doy: 3 // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n\n },\n meridiemParse: /rati|sokallim|donparam|sanje/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'rati') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'sokallim') {\n return hour;\n } else if (meridiem === 'donparam') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'sanje') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'rati';\n } else if (hour < 12) {\n return 'sokallim';\n } else if (hour < 16) {\n return 'donparam';\n } else if (hour < 20) {\n return 'sanje';\n } else {\n return 'rati';\n }\n }\n });\n return gomLatn;\n});","//! moment.js locale configuration\n//! locale : Gujarati [gu]\n//! author : Kaushik Thanki : https://github.com/Kaushik1987\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '૧',\n 2: '૨',\n 3: '૩',\n 4: '૪',\n 5: '૫',\n 6: '૬',\n 7: '૭',\n 8: '૮',\n 9: '૯',\n 0: '૦'\n },\n numberMap = {\n '૧': '1',\n '૨': '2',\n '૩': '3',\n '૪': '4',\n '૫': '5',\n '૬': '6',\n '૭': '7',\n '૮': '8',\n '૯': '9',\n '૦': '0'\n };\n var gu = moment.defineLocale('gu', {\n months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split('_'),\n monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split('_'),\n monthsParseExact: true,\n weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split('_'),\n weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),\n weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm વાગ્યે',\n LTS: 'A h:mm:ss વાગ્યે',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm વાગ્યે',\n LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે'\n },\n calendar: {\n sameDay: '[આજ] LT',\n nextDay: '[કાલે] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ગઇકાલે] LT',\n lastWeek: '[પાછલા] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s મા',\n past: '%s પહેલા',\n s: 'અમુક પળો',\n ss: '%d સેકંડ',\n m: 'એક મિનિટ',\n mm: '%d મિનિટ',\n h: 'એક કલાક',\n hh: '%d કલાક',\n d: 'એક દિવસ',\n dd: '%d દિવસ',\n M: 'એક મહિનો',\n MM: '%d મહિનો',\n y: 'એક વર્ષ',\n yy: '%d વર્ષ'\n },\n preparse: function preparse(string) {\n return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Gujarati notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.\n meridiemParse: /રાત|બપોર|સવાર|સાંજ/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'રાત') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'સવાર') {\n return hour;\n } else if (meridiem === 'બપોર') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'સાંજ') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'રાત';\n } else if (hour < 10) {\n return 'સવાર';\n } else if (hour < 17) {\n return 'બપોર';\n } else if (hour < 20) {\n return 'સાંજ';\n } else {\n return 'રાત';\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return gu;\n});","//! moment.js locale configuration\n//! locale : Hebrew [he]\n//! author : Tomer Cohen : https://github.com/tomer\n//! author : Moshe Simantov : https://github.com/DevelopmentIL\n//! author : Tal Ater : https://github.com/TalAter\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var he = moment.defineLocale('he', {\n months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split('_'),\n monthsShort: 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),\n weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),\n weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),\n weekdaysMin: 'א_ב_ג_ד_ה_ו_ש'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [ב]MMMM YYYY',\n LLL: 'D [ב]MMMM YYYY HH:mm',\n LLLL: 'dddd, D [ב]MMMM YYYY HH:mm',\n l: 'D/M/YYYY',\n ll: 'D MMM YYYY',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd, D MMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[היום ב־]LT',\n nextDay: '[מחר ב־]LT',\n nextWeek: 'dddd [בשעה] LT',\n lastDay: '[אתמול ב־]LT',\n lastWeek: '[ביום] dddd [האחרון בשעה] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'בעוד %s',\n past: 'לפני %s',\n s: 'מספר שניות',\n ss: '%d שניות',\n m: 'דקה',\n mm: '%d דקות',\n h: 'שעה',\n hh: function hh(number) {\n if (number === 2) {\n return 'שעתיים';\n }\n\n return number + ' שעות';\n },\n d: 'יום',\n dd: function dd(number) {\n if (number === 2) {\n return 'יומיים';\n }\n\n return number + ' ימים';\n },\n M: 'חודש',\n MM: function MM(number) {\n if (number === 2) {\n return 'חודשיים';\n }\n\n return number + ' חודשים';\n },\n y: 'שנה',\n yy: function yy(number) {\n if (number === 2) {\n return 'שנתיים';\n } else if (number % 10 === 0 && number !== 10) {\n return number + ' שנה';\n }\n\n return number + ' שנים';\n }\n },\n meridiemParse: /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n isPM: function isPM(input) {\n return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 5) {\n return 'לפנות בוקר';\n } else if (hour < 10) {\n return 'בבוקר';\n } else if (hour < 12) {\n return isLower ? 'לפנה\"צ' : 'לפני הצהריים';\n } else if (hour < 18) {\n return isLower ? 'אחה\"צ' : 'אחרי הצהריים';\n } else {\n return 'בערב';\n }\n }\n });\n return he;\n});","//! moment.js locale configuration\n//! locale : Hindi [hi]\n//! author : Mayank Singhal : https://github.com/mayanksinghal\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०'\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n },\n monthsParse = [/^जन/i, /^फ़र|फर/i, /^मार्च/i, /^अप्रै/i, /^मई/i, /^जून/i, /^जुल/i, /^अग/i, /^सितं|सित/i, /^अक्टू/i, /^नव|नवं/i, /^दिसं|दिस/i],\n shortMonthsParse = [/^जन/i, /^फ़र/i, /^मार्च/i, /^अप्रै/i, /^मई/i, /^जून/i, /^जुल/i, /^अग/i, /^सित/i, /^अक्टू/i, /^नव/i, /^दिस/i];\n var hi = moment.defineLocale('hi', {\n months: {\n format: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split('_'),\n standalone: 'जनवरी_फरवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितंबर_अक्टूबर_नवंबर_दिसंबर'.split('_')\n },\n monthsShort: 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),\n weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat: {\n LT: 'A h:mm बजे',\n LTS: 'A h:mm:ss बजे',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm बजे',\n LLLL: 'dddd, D MMMM YYYY, A h:mm बजे'\n },\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: shortMonthsParse,\n monthsRegex: /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n monthsShortRegex: /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n monthsStrictRegex: /^(जनवरी?|फ़रवरी|फरवरी?|मार्च?|अप्रैल?|मई?|जून?|जुलाई?|अगस्त?|सितम्बर|सितंबर|सित?\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर?|दिसम्बर|दिसंबर?)/i,\n monthsShortStrictRegex: /^(जन\\.?|फ़र\\.?|मार्च?|अप्रै\\.?|मई?|जून?|जुल\\.?|अग\\.?|सित\\.?|अक्टू\\.?|नव\\.?|दिस\\.?)/i,\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[कल] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[कल] LT',\n lastWeek: '[पिछले] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s में',\n past: '%s पहले',\n s: 'कुछ ही क्षण',\n ss: '%d सेकंड',\n m: 'एक मिनट',\n mm: '%d मिनट',\n h: 'एक घंटा',\n hh: '%d घंटे',\n d: 'एक दिन',\n dd: '%d दिन',\n M: 'एक महीने',\n MM: '%d महीने',\n y: 'एक वर्ष',\n yy: '%d वर्ष'\n },\n preparse: function preparse(string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Hindi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n meridiemParse: /रात|सुबह|दोपहर|शाम/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'रात') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सुबह') {\n return hour;\n } else if (meridiem === 'दोपहर') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'शाम') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'रात';\n } else if (hour < 10) {\n return 'सुबह';\n } else if (hour < 17) {\n return 'दोपहर';\n } else if (hour < 20) {\n return 'शाम';\n } else {\n return 'रात';\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return hi;\n});","//! moment.js locale configuration\n//! locale : Croatian [hr]\n//! author : Bojan Marković : https://github.com/bmarkovic\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n\n return result;\n\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n\n return result;\n\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n\n return result;\n\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n\n return result;\n\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n\n return result;\n\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n\n return result;\n }\n }\n\n var hr = moment.defineLocale('hr', {\n months: {\n format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'),\n standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_')\n },\n monthsShort: 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'Do MMMM YYYY',\n LLL: 'Do MMMM YYYY H:mm',\n LLLL: 'dddd, Do MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function nextWeek() {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n\n case 3:\n return '[u] [srijedu] [u] LT';\n\n case 6:\n return '[u] [subotu] [u] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[jučer u] LT',\n lastWeek: function lastWeek() {\n switch (this.day()) {\n case 0:\n return '[prošlu] [nedjelju] [u] LT';\n\n case 3:\n return '[prošlu] [srijedu] [u] LT';\n\n case 6:\n return '[prošle] [subote] [u] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'par sekundi',\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: 'dan',\n dd: translate,\n M: 'mjesec',\n MM: translate,\n y: 'godinu',\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return hr;\n});","//! moment.js locale configuration\n//! locale : Hungarian [hu]\n//! author : Adam Brunner : https://github.com/adambrunner\n//! author : Peter Viszt : https://github.com/passatgt\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\n\n function translate(number, withoutSuffix, key, isFuture) {\n var num = number;\n\n switch (key) {\n case 's':\n return isFuture || withoutSuffix ? 'néhány másodperc' : 'néhány másodperce';\n\n case 'ss':\n return num + (isFuture || withoutSuffix) ? ' másodperc' : ' másodperce';\n\n case 'm':\n return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');\n\n case 'mm':\n return num + (isFuture || withoutSuffix ? ' perc' : ' perce');\n\n case 'h':\n return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');\n\n case 'hh':\n return num + (isFuture || withoutSuffix ? ' óra' : ' órája');\n\n case 'd':\n return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');\n\n case 'dd':\n return num + (isFuture || withoutSuffix ? ' nap' : ' napja');\n\n case 'M':\n return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n\n case 'MM':\n return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n\n case 'y':\n return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');\n\n case 'yy':\n return num + (isFuture || withoutSuffix ? ' év' : ' éve');\n }\n\n return '';\n }\n\n function week(isFuture) {\n return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]';\n }\n\n var hu = moment.defineLocale('hu', {\n months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'),\n monthsShort: 'jan._feb._márc._ápr._máj._jún._júl._aug._szept._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),\n weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),\n weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'YYYY.MM.DD.',\n LL: 'YYYY. MMMM D.',\n LLL: 'YYYY. MMMM D. H:mm',\n LLLL: 'YYYY. MMMM D., dddd H:mm'\n },\n meridiemParse: /de|du/i,\n isPM: function isPM(input) {\n return input.charAt(1).toLowerCase() === 'u';\n },\n meridiem: function meridiem(hours, minutes, isLower) {\n if (hours < 12) {\n return isLower === true ? 'de' : 'DE';\n } else {\n return isLower === true ? 'du' : 'DU';\n }\n },\n calendar: {\n sameDay: '[ma] LT[-kor]',\n nextDay: '[holnap] LT[-kor]',\n nextWeek: function nextWeek() {\n return week.call(this, true);\n },\n lastDay: '[tegnap] LT[-kor]',\n lastWeek: function lastWeek() {\n return week.call(this, false);\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s múlva',\n past: '%s',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return hu;\n});","//! moment.js locale configuration\n//! locale : Armenian [hy-am]\n//! author : Armendarabyan : https://github.com/armendarabyan\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var hyAm = moment.defineLocale('hy-am', {\n months: {\n format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split('_'),\n standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split('_')\n },\n monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\n weekdays: 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split('_'),\n weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY թ.',\n LLL: 'D MMMM YYYY թ., HH:mm',\n LLLL: 'dddd, D MMMM YYYY թ., HH:mm'\n },\n calendar: {\n sameDay: '[այսօր] LT',\n nextDay: '[վաղը] LT',\n lastDay: '[երեկ] LT',\n nextWeek: function nextWeek() {\n return 'dddd [օրը ժամը] LT';\n },\n lastWeek: function lastWeek() {\n return '[անցած] dddd [օրը ժամը] LT';\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s հետո',\n past: '%s առաջ',\n s: 'մի քանի վայրկյան',\n ss: '%d վայրկյան',\n m: 'րոպե',\n mm: '%d րոպե',\n h: 'ժամ',\n hh: '%d ժամ',\n d: 'օր',\n dd: '%d օր',\n M: 'ամիս',\n MM: '%d ամիս',\n y: 'տարի',\n yy: '%d տարի'\n },\n meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\n isPM: function isPM(input) {\n return /^(ցերեկվա|երեկոյան)$/.test(input);\n },\n meridiem: function meridiem(hour) {\n if (hour < 4) {\n return 'գիշերվա';\n } else if (hour < 12) {\n return 'առավոտվա';\n } else if (hour < 17) {\n return 'ցերեկվա';\n } else {\n return 'երեկոյան';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}|\\d{1,2}-(ին|րդ)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n case 'DDD':\n case 'w':\n case 'W':\n case 'DDDo':\n if (number === 1) {\n return number + '-ին';\n }\n\n return number + '-րդ';\n\n default:\n return number;\n }\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return hyAm;\n});","//! moment.js locale configuration\n//! locale : Indonesian [id]\n//! author : Mohammad Satrio Utomo : https://github.com/tyok\n//! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var id = moment.defineLocale('id', {\n months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),\n weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),\n weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|siang|sore|malam/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'siang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sore' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'siang';\n } else if (hours < 19) {\n return 'sore';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Besok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kemarin pukul] LT',\n lastWeek: 'dddd [lalu pukul] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lalu',\n s: 'beberapa detik',\n ss: '%d detik',\n m: 'semenit',\n mm: '%d menit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun'\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return id;\n});","//! moment.js locale configuration\n//! locale : Icelandic [is]\n//! author : Hinrik Örn Sigurðsson : https://github.com/hinrik\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function plural(n) {\n if (n % 100 === 11) {\n return true;\n } else if (n % 10 === 1) {\n return false;\n }\n\n return true;\n }\n\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n\n switch (key) {\n case 's':\n return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum';\n\n case 'ss':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum');\n }\n\n return result + 'sekúnda';\n\n case 'm':\n return withoutSuffix ? 'mínúta' : 'mínútu';\n\n case 'mm':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum');\n } else if (withoutSuffix) {\n return result + 'mínúta';\n }\n\n return result + 'mínútu';\n\n case 'hh':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum');\n }\n\n return result + 'klukkustund';\n\n case 'd':\n if (withoutSuffix) {\n return 'dagur';\n }\n\n return isFuture ? 'dag' : 'degi';\n\n case 'dd':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'dagar';\n }\n\n return result + (isFuture ? 'daga' : 'dögum');\n } else if (withoutSuffix) {\n return result + 'dagur';\n }\n\n return result + (isFuture ? 'dag' : 'degi');\n\n case 'M':\n if (withoutSuffix) {\n return 'mánuður';\n }\n\n return isFuture ? 'mánuð' : 'mánuði';\n\n case 'MM':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'mánuðir';\n }\n\n return result + (isFuture ? 'mánuði' : 'mánuðum');\n } else if (withoutSuffix) {\n return result + 'mánuður';\n }\n\n return result + (isFuture ? 'mánuð' : 'mánuði');\n\n case 'y':\n return withoutSuffix || isFuture ? 'ár' : 'ári';\n\n case 'yy':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n }\n\n return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n }\n }\n\n var is = moment.defineLocale('is', {\n months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split('_'),\n monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n weekdays: 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'),\n weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] H:mm',\n LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm'\n },\n calendar: {\n sameDay: '[í dag kl.] LT',\n nextDay: '[á morgun kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[í gær kl.] LT',\n lastWeek: '[síðasta] dddd [kl.] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'eftir %s',\n past: 'fyrir %s síðan',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: 'klukkustund',\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return is;\n});","//! moment.js locale configuration\n//! locale : Italian (Switzerland) [it-ch]\n//! author : xfh : https://github.com/xfh\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var itCh = moment.defineLocale('it-ch', {\n months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),\n monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),\n weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Oggi alle] LT',\n nextDay: '[Domani alle] LT',\n nextWeek: 'dddd [alle] LT',\n lastDay: '[Ieri alle] LT',\n lastWeek: function lastWeek() {\n switch (this.day()) {\n case 0:\n return '[la scorsa] dddd [alle] LT';\n\n default:\n return '[lo scorso] dddd [alle] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: function future(s) {\n return (/^[0-9].+$/.test(s) ? 'tra' : 'in') + ' ' + s;\n },\n past: '%s fa',\n s: 'alcuni secondi',\n ss: '%d secondi',\n m: 'un minuto',\n mm: '%d minuti',\n h: \"un'ora\",\n hh: '%d ore',\n d: 'un giorno',\n dd: '%d giorni',\n M: 'un mese',\n MM: '%d mesi',\n y: 'un anno',\n yy: '%d anni'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return itCh;\n});","//! moment.js locale configuration\n//! locale : Italian [it]\n//! author : Lorenzo : https://github.com/aliem\n//! author: Mattia Larentis: https://github.com/nostalgiaz\n//! author: Marco : https://github.com/Manfre98\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var it = moment.defineLocale('it', {\n months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),\n monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),\n weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: function sameDay() {\n return '[Oggi a' + (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") + ']LT';\n },\n nextDay: function nextDay() {\n return '[Domani a' + (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") + ']LT';\n },\n nextWeek: function nextWeek() {\n return 'dddd [a' + (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") + ']LT';\n },\n lastDay: function lastDay() {\n return '[Ieri a' + (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") + ']LT';\n },\n lastWeek: function lastWeek() {\n switch (this.day()) {\n case 0:\n return '[La scorsa] dddd [a' + (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") + ']LT';\n\n default:\n return '[Lo scorso] dddd [a' + (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") + ']LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'tra %s',\n past: '%s fa',\n s: 'alcuni secondi',\n ss: '%d secondi',\n m: 'un minuto',\n mm: '%d minuti',\n h: \"un'ora\",\n hh: '%d ore',\n d: 'un giorno',\n dd: '%d giorni',\n w: 'una settimana',\n ww: '%d settimane',\n M: 'un mese',\n MM: '%d mesi',\n y: 'un anno',\n yy: '%d anni'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return it;\n});","//! moment.js locale configuration\n//! locale : Japanese [ja]\n//! author : LI Long : https://github.com/baryon\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var ja = moment.defineLocale('ja', {\n eras: [{\n since: '2019-05-01',\n offset: 1,\n name: '令和',\n narrow: '㋿',\n abbr: 'R'\n }, {\n since: '1989-01-08',\n until: '2019-04-30',\n offset: 1,\n name: '平成',\n narrow: '㍻',\n abbr: 'H'\n }, {\n since: '1926-12-25',\n until: '1989-01-07',\n offset: 1,\n name: '昭和',\n narrow: '㍼',\n abbr: 'S'\n }, {\n since: '1912-07-30',\n until: '1926-12-24',\n offset: 1,\n name: '大正',\n narrow: '㍽',\n abbr: 'T'\n }, {\n since: '1873-01-01',\n until: '1912-07-29',\n offset: 6,\n name: '明治',\n narrow: '㍾',\n abbr: 'M'\n }, {\n since: '0001-01-01',\n until: '1873-12-31',\n offset: 1,\n name: '西暦',\n narrow: 'AD',\n abbr: 'AD'\n }, {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: '紀元前',\n narrow: 'BC',\n abbr: 'BC'\n }],\n eraYearOrdinalRegex: /(元|\\d+)年/,\n eraYearOrdinalParse: function eraYearOrdinalParse(input, match) {\n return match[1] === '元' ? 1 : parseInt(match[1] || input, 10);\n },\n months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n weekdaysShort: '日_月_火_水_木_金_土'.split('_'),\n weekdaysMin: '日_月_火_水_木_金_土'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日 dddd HH:mm',\n l: 'YYYY/MM/DD',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日(ddd) HH:mm'\n },\n meridiemParse: /午前|午後/i,\n isPM: function isPM(input) {\n return input === '午後';\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return '午前';\n } else {\n return '午後';\n }\n },\n calendar: {\n sameDay: '[今日] LT',\n nextDay: '[明日] LT',\n nextWeek: function nextWeek(now) {\n if (now.week() !== this.week()) {\n return '[来週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n lastDay: '[昨日] LT',\n lastWeek: function lastWeek(now) {\n if (this.week() !== now.week()) {\n return '[先週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n sameElse: 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}日/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n case 'y':\n return number === 1 ? '元年' : number + '年';\n\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '数秒',\n ss: '%d秒',\n m: '1分',\n mm: '%d分',\n h: '1時間',\n hh: '%d時間',\n d: '1日',\n dd: '%d日',\n M: '1ヶ月',\n MM: '%dヶ月',\n y: '1年',\n yy: '%d年'\n }\n });\n return ja;\n});","//! moment.js locale configuration\n//! locale : Javanese [jv]\n//! author : Rony Lantip : https://github.com/lantip\n//! reference: http://jv.wikipedia.org/wiki/Basa_Jawa\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var jv = moment.defineLocale('jv', {\n months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\n weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\n weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\n weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /enjing|siyang|sonten|ndalu/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'enjing') {\n return hour;\n } else if (meridiem === 'siyang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sonten' || meridiem === 'ndalu') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hours, minutes, isLower) {\n if (hours < 11) {\n return 'enjing';\n } else if (hours < 15) {\n return 'siyang';\n } else if (hours < 19) {\n return 'sonten';\n } else {\n return 'ndalu';\n }\n },\n calendar: {\n sameDay: '[Dinten puniko pukul] LT',\n nextDay: '[Mbenjang pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kala wingi pukul] LT',\n lastWeek: 'dddd [kepengker pukul] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'wonten ing %s',\n past: '%s ingkang kepengker',\n s: 'sawetawis detik',\n ss: '%d detik',\n m: 'setunggal menit',\n mm: '%d menit',\n h: 'setunggal jam',\n hh: '%d jam',\n d: 'sedinten',\n dd: '%d dinten',\n M: 'sewulan',\n MM: '%d wulan',\n y: 'setaun',\n yy: '%d taun'\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return jv;\n});","//! moment.js locale configuration\n//! locale : Georgian [ka]\n//! author : Irakli Janiashvili : https://github.com/IrakliJani\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var ka = moment.defineLocale('ka', {\n months: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_'),\n monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n weekdays: {\n standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'),\n format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split('_'),\n isFormat: /(წინა|შემდეგ)/\n },\n weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[დღეს] LT[-ზე]',\n nextDay: '[ხვალ] LT[-ზე]',\n lastDay: '[გუშინ] LT[-ზე]',\n nextWeek: '[შემდეგ] dddd LT[-ზე]',\n lastWeek: '[წინა] dddd LT-ზე',\n sameElse: 'L'\n },\n relativeTime: {\n future: function future(s) {\n return s.replace(/(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/, function ($0, $1, $2) {\n return $2 === 'ი' ? $1 + 'ში' : $1 + $2 + 'ში';\n });\n },\n past: function past(s) {\n if (/(წამი|წუთი|საათი|დღე|თვე)/.test(s)) {\n return s.replace(/(ი|ე)$/, 'ის წინ');\n }\n\n if (/წელი/.test(s)) {\n return s.replace(/წელი$/, 'წლის წინ');\n }\n\n return s;\n },\n s: 'რამდენიმე წამი',\n ss: '%d წამი',\n m: 'წუთი',\n mm: '%d წუთი',\n h: 'საათი',\n hh: '%d საათი',\n d: 'დღე',\n dd: '%d დღე',\n M: 'თვე',\n MM: '%d თვე',\n y: 'წელი',\n yy: '%d წელი'\n },\n dayOfMonthOrdinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n ordinal: function ordinal(number) {\n if (number === 0) {\n return number;\n }\n\n if (number === 1) {\n return number + '-ლი';\n }\n\n if (number < 20 || number <= 100 && number % 20 === 0 || number % 100 === 0) {\n return 'მე-' + number;\n }\n\n return number + '-ე';\n },\n week: {\n dow: 1,\n doy: 7\n }\n });\n return ka;\n});","//! moment.js locale configuration\n//! locale : Kazakh [kk]\n//! authors : Nurlan Rakhimzhanov : https://github.com/nurlan\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var suffixes = {\n 0: '-ші',\n 1: '-ші',\n 2: '-ші',\n 3: '-ші',\n 4: '-ші',\n 5: '-ші',\n 6: '-шы',\n 7: '-ші',\n 8: '-ші',\n 9: '-шы',\n 10: '-шы',\n 20: '-шы',\n 30: '-шы',\n 40: '-шы',\n 50: '-ші',\n 60: '-шы',\n 70: '-ші',\n 80: '-ші',\n 90: '-шы',\n 100: '-ші'\n };\n var kk = moment.defineLocale('kk', {\n months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split('_'),\n monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\n weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split('_'),\n weekdaysShort: 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),\n weekdaysMin: 'жк_дй_сй_ср_бй_жм_сн'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Бүгін сағат] LT',\n nextDay: '[Ертең сағат] LT',\n nextWeek: 'dddd [сағат] LT',\n lastDay: '[Кеше сағат] LT',\n lastWeek: '[Өткен аптаның] dddd [сағат] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s ішінде',\n past: '%s бұрын',\n s: 'бірнеше секунд',\n ss: '%d секунд',\n m: 'бір минут',\n mm: '%d минут',\n h: 'бір сағат',\n hh: '%d сағат',\n d: 'бір күн',\n dd: '%d күн',\n M: 'бір ай',\n MM: '%d ай',\n y: 'бір жыл',\n yy: '%d жыл'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ші|шы)/,\n ordinal: function ordinal(number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return kk;\n});","//! moment.js locale configuration\n//! locale : Cambodian [km]\n//! author : Kruy Vanna : https://github.com/kruyvanna\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '១',\n 2: '២',\n 3: '៣',\n 4: '៤',\n 5: '៥',\n 6: '៦',\n 7: '៧',\n 8: '៨',\n 9: '៩',\n 0: '០'\n },\n numberMap = {\n '១': '1',\n '២': '2',\n '៣': '3',\n '៤': '4',\n '៥': '5',\n '៦': '6',\n '៧': '7',\n '៨': '8',\n '៩': '9',\n '០': '0'\n };\n var km = moment.defineLocale('km', {\n months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split('_'),\n monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split('_'),\n weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n meridiemParse: /ព្រឹក|ល្ងាច/,\n isPM: function isPM(input) {\n return input === 'ល្ងាច';\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return 'ព្រឹក';\n } else {\n return 'ល្ងាច';\n }\n },\n calendar: {\n sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',\n nextDay: '[ស្អែក ម៉ោង] LT',\n nextWeek: 'dddd [ម៉ោង] LT',\n lastDay: '[ម្សិលមិញ ម៉ោង] LT',\n lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%sទៀត',\n past: '%sមុន',\n s: 'ប៉ុន្មានវិនាទី',\n ss: '%d វិនាទី',\n m: 'មួយនាទី',\n mm: '%d នាទី',\n h: 'មួយម៉ោង',\n hh: '%d ម៉ោង',\n d: 'មួយថ្ងៃ',\n dd: '%d ថ្ងៃ',\n M: 'មួយខែ',\n MM: '%d ខែ',\n y: 'មួយឆ្នាំ',\n yy: '%d ឆ្នាំ'\n },\n dayOfMonthOrdinalParse: /ទី\\d{1,2}/,\n ordinal: 'ទី%d',\n preparse: function preparse(string) {\n return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return km;\n});","//! moment.js locale configuration\n//! locale : Kannada [kn]\n//! author : Rajeev Naik : https://github.com/rajeevnaikte\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '೧',\n 2: '೨',\n 3: '೩',\n 4: '೪',\n 5: '೫',\n 6: '೬',\n 7: '೭',\n 8: '೮',\n 9: '೯',\n 0: '೦'\n },\n numberMap = {\n '೧': '1',\n '೨': '2',\n '೩': '3',\n '೪': '4',\n '೫': '5',\n '೬': '6',\n '೭': '7',\n '೮': '8',\n '೯': '9',\n '೦': '0'\n };\n var kn = moment.defineLocale('kn', {\n months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split('_'),\n monthsShort: 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split('_'),\n monthsParseExact: true,\n weekdays: 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split('_'),\n weekdaysShort: 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),\n weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar: {\n sameDay: '[ಇಂದು] LT',\n nextDay: '[ನಾಳೆ] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ನಿನ್ನೆ] LT',\n lastWeek: '[ಕೊನೆಯ] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s ನಂತರ',\n past: '%s ಹಿಂದೆ',\n s: 'ಕೆಲವು ಕ್ಷಣಗಳು',\n ss: '%d ಸೆಕೆಂಡುಗಳು',\n m: 'ಒಂದು ನಿಮಿಷ',\n mm: '%d ನಿಮಿಷ',\n h: 'ಒಂದು ಗಂಟೆ',\n hh: '%d ಗಂಟೆ',\n d: 'ಒಂದು ದಿನ',\n dd: '%d ದಿನ',\n M: 'ಒಂದು ತಿಂಗಳು',\n MM: '%d ತಿಂಗಳು',\n y: 'ಒಂದು ವರ್ಷ',\n yy: '%d ವರ್ಷ'\n },\n preparse: function preparse(string) {\n return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'ರಾತ್ರಿ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {\n return hour;\n } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ಸಂಜೆ') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'ರಾತ್ರಿ';\n } else if (hour < 10) {\n return 'ಬೆಳಿಗ್ಗೆ';\n } else if (hour < 17) {\n return 'ಮಧ್ಯಾಹ್ನ';\n } else if (hour < 20) {\n return 'ಸಂಜೆ';\n } else {\n return 'ರಾತ್ರಿ';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ನೇ)/,\n ordinal: function ordinal(number) {\n return number + 'ನೇ';\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return kn;\n});","//! moment.js locale configuration\n//! locale : Korean [ko]\n//! author : Kyungwook, Park : https://github.com/kyungw00k\n//! author : Jeeeyul Lee \n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var ko = moment.defineLocale('ko', {\n months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\n weekdaysShort: '일_월_화_수_목_금_토'.split('_'),\n weekdaysMin: '일_월_화_수_목_금_토'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'YYYY.MM.DD.',\n LL: 'YYYY년 MMMM D일',\n LLL: 'YYYY년 MMMM D일 A h:mm',\n LLLL: 'YYYY년 MMMM D일 dddd A h:mm',\n l: 'YYYY.MM.DD.',\n ll: 'YYYY년 MMMM D일',\n lll: 'YYYY년 MMMM D일 A h:mm',\n llll: 'YYYY년 MMMM D일 dddd A h:mm'\n },\n calendar: {\n sameDay: '오늘 LT',\n nextDay: '내일 LT',\n nextWeek: 'dddd LT',\n lastDay: '어제 LT',\n lastWeek: '지난주 dddd LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s 후',\n past: '%s 전',\n s: '몇 초',\n ss: '%d초',\n m: '1분',\n mm: '%d분',\n h: '한 시간',\n hh: '%d시간',\n d: '하루',\n dd: '%d일',\n M: '한 달',\n MM: '%d달',\n y: '일 년',\n yy: '%d년'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(일|월|주)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '일';\n\n case 'M':\n return number + '월';\n\n case 'w':\n case 'W':\n return number + '주';\n\n default:\n return number;\n }\n },\n meridiemParse: /오전|오후/,\n isPM: function isPM(token) {\n return token === '오후';\n },\n meridiem: function meridiem(hour, minute, isUpper) {\n return hour < 12 ? '오전' : '오후';\n }\n });\n return ko;\n});","//! moment.js locale configuration\n//! locale : Kurdish [ku]\n//! author : Shahram Mebashar : https://github.com/ShahramMebashar\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠'\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n },\n months = ['کانونی دووەم', 'شوبات', 'ئازار', 'نیسان', 'ئایار', 'حوزەیران', 'تەمموز', 'ئاب', 'ئەیلوول', 'تشرینی یەكەم', 'تشرینی دووەم', 'كانونی یەکەم'];\n var ku = moment.defineLocale('ku', {\n months: months,\n monthsShort: months,\n weekdays: 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split('_'),\n weekdaysShort: 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split('_'),\n weekdaysMin: 'ی_د_س_چ_پ_ه_ش'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n meridiemParse: /ئێواره‌|به‌یانی/,\n isPM: function isPM(input) {\n return /ئێواره‌/.test(input);\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return 'به‌یانی';\n } else {\n return 'ئێواره‌';\n }\n },\n calendar: {\n sameDay: '[ئه‌مرۆ كاتژمێر] LT',\n nextDay: '[به‌یانی كاتژمێر] LT',\n nextWeek: 'dddd [كاتژمێر] LT',\n lastDay: '[دوێنێ كاتژمێر] LT',\n lastWeek: 'dddd [كاتژمێر] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'له‌ %s',\n past: '%s',\n s: 'چه‌ند چركه‌یه‌ك',\n ss: 'چركه‌ %d',\n m: 'یه‌ك خوله‌ك',\n mm: '%d خوله‌ك',\n h: 'یه‌ك كاتژمێر',\n hh: '%d كاتژمێر',\n d: 'یه‌ك ڕۆژ',\n dd: '%d ڕۆژ',\n M: 'یه‌ك مانگ',\n MM: '%d مانگ',\n y: 'یه‌ك ساڵ',\n yy: '%d ساڵ'\n },\n preparse: function preparse(string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week: {\n dow: 6,\n // Saturday is the first day of the week.\n doy: 12 // The week that contains Jan 12th is the first week of the year.\n\n }\n });\n return ku;\n});","//! moment.js locale configuration\n//! locale : Kyrgyz [ky]\n//! author : Chyngyz Arystan uulu : https://github.com/chyngyz\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var suffixes = {\n 0: '-чү',\n 1: '-чи',\n 2: '-чи',\n 3: '-чү',\n 4: '-чү',\n 5: '-чи',\n 6: '-чы',\n 7: '-чи',\n 8: '-чи',\n 9: '-чу',\n 10: '-чу',\n 20: '-чы',\n 30: '-чу',\n 40: '-чы',\n 50: '-чү',\n 60: '-чы',\n 70: '-чи',\n 80: '-чи',\n 90: '-чу',\n 100: '-чү'\n };\n var ky = moment.defineLocale('ky', {\n months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'),\n monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split('_'),\n weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split('_'),\n weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),\n weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Бүгүн саат] LT',\n nextDay: '[Эртең саат] LT',\n nextWeek: 'dddd [саат] LT',\n lastDay: '[Кечээ саат] LT',\n lastWeek: '[Өткөн аптанын] dddd [күнү] [саат] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s ичинде',\n past: '%s мурун',\n s: 'бирнече секунд',\n ss: '%d секунд',\n m: 'бир мүнөт',\n mm: '%d мүнөт',\n h: 'бир саат',\n hh: '%d саат',\n d: 'бир күн',\n dd: '%d күн',\n M: 'бир ай',\n MM: '%d ай',\n y: 'бир жыл',\n yy: '%d жыл'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(чи|чы|чү|чу)/,\n ordinal: function ordinal(number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return ky;\n});","//! moment.js locale configuration\n//! locale : Luxembourgish [lb]\n//! author : mweimerskirch : https://github.com/mweimerskirch\n//! author : David Raison : https://github.com/kwisatz\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eng Minutt', 'enger Minutt'],\n h: ['eng Stonn', 'enger Stonn'],\n d: ['een Dag', 'engem Dag'],\n M: ['ee Mount', 'engem Mount'],\n y: ['ee Joer', 'engem Joer']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n function processFutureTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n\n if (eifelerRegelAppliesToNumber(number)) {\n return 'a ' + string;\n }\n\n return 'an ' + string;\n }\n\n function processPastTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n\n if (eifelerRegelAppliesToNumber(number)) {\n return 'viru ' + string;\n }\n\n return 'virun ' + string;\n }\n /**\n * Returns true if the word before the given number loses the '-n' ending.\n * e.g. 'an 10 Deeg' but 'a 5 Deeg'\n *\n * @param number {integer}\n * @returns {boolean}\n */\n\n\n function eifelerRegelAppliesToNumber(number) {\n number = parseInt(number, 10);\n\n if (isNaN(number)) {\n return false;\n }\n\n if (number < 0) {\n // Negative Number --> always true\n return true;\n } else if (number < 10) {\n // Only 1 digit\n if (4 <= number && number <= 7) {\n return true;\n }\n\n return false;\n } else if (number < 100) {\n // 2 digits\n var lastDigit = number % 10,\n firstDigit = number / 10;\n\n if (lastDigit === 0) {\n return eifelerRegelAppliesToNumber(firstDigit);\n }\n\n return eifelerRegelAppliesToNumber(lastDigit);\n } else if (number < 10000) {\n // 3 or 4 digits --> recursively check first digit\n while (number >= 10) {\n number = number / 10;\n }\n\n return eifelerRegelAppliesToNumber(number);\n } else {\n // Anything larger than 4 digits: recursively check first n-3 digits\n number = number / 1000;\n return eifelerRegelAppliesToNumber(number);\n }\n }\n\n var lb = moment.defineLocale('lb', {\n months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'),\n weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm [Auer]',\n LTS: 'H:mm:ss [Auer]',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm [Auer]',\n LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]'\n },\n calendar: {\n sameDay: '[Haut um] LT',\n sameElse: 'L',\n nextDay: '[Muer um] LT',\n nextWeek: 'dddd [um] LT',\n lastDay: '[Gëschter um] LT',\n lastWeek: function lastWeek() {\n // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule\n switch (this.day()) {\n case 2:\n case 4:\n return '[Leschten] dddd [um] LT';\n\n default:\n return '[Leschte] dddd [um] LT';\n }\n }\n },\n relativeTime: {\n future: processFutureTime,\n past: processPastTime,\n s: 'e puer Sekonnen',\n ss: '%d Sekonnen',\n m: processRelativeTime,\n mm: '%d Minutten',\n h: processRelativeTime,\n hh: '%d Stonnen',\n d: processRelativeTime,\n dd: '%d Deeg',\n M: processRelativeTime,\n MM: '%d Méint',\n y: processRelativeTime,\n yy: '%d Joer'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return lb;\n});","//! moment.js locale configuration\n//! locale : Lao [lo]\n//! author : Ryan Hart : https://github.com/ryanhart2\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var lo = moment.defineLocale('lo', {\n months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\n monthsShort: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\n weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'ວັນdddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,\n isPM: function isPM(input) {\n return input === 'ຕອນແລງ';\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return 'ຕອນເຊົ້າ';\n } else {\n return 'ຕອນແລງ';\n }\n },\n calendar: {\n sameDay: '[ມື້ນີ້ເວລາ] LT',\n nextDay: '[ມື້ອື່ນເວລາ] LT',\n nextWeek: '[ວັນ]dddd[ໜ້າເວລາ] LT',\n lastDay: '[ມື້ວານນີ້ເວລາ] LT',\n lastWeek: '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'ອີກ %s',\n past: '%sຜ່ານມາ',\n s: 'ບໍ່ເທົ່າໃດວິນາທີ',\n ss: '%d ວິນາທີ',\n m: '1 ນາທີ',\n mm: '%d ນາທີ',\n h: '1 ຊົ່ວໂມງ',\n hh: '%d ຊົ່ວໂມງ',\n d: '1 ມື້',\n dd: '%d ມື້',\n M: '1 ເດືອນ',\n MM: '%d ເດືອນ',\n y: '1 ປີ',\n yy: '%d ປີ'\n },\n dayOfMonthOrdinalParse: /(ທີ່)\\d{1,2}/,\n ordinal: function ordinal(number) {\n return 'ທີ່' + number;\n }\n });\n return lo;\n});","//! moment.js locale configuration\n//! locale : Lithuanian [lt]\n//! author : Mindaugas Mozūras : https://github.com/mmozuras\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var units = {\n ss: 'sekundė_sekundžių_sekundes',\n m: 'minutė_minutės_minutę',\n mm: 'minutės_minučių_minutes',\n h: 'valanda_valandos_valandą',\n hh: 'valandos_valandų_valandas',\n d: 'diena_dienos_dieną',\n dd: 'dienos_dienų_dienas',\n M: 'mėnuo_mėnesio_mėnesį',\n MM: 'mėnesiai_mėnesių_mėnesius',\n y: 'metai_metų_metus',\n yy: 'metai_metų_metus'\n };\n\n function translateSeconds(number, withoutSuffix, key, isFuture) {\n if (withoutSuffix) {\n return 'kelios sekundės';\n } else {\n return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n }\n }\n\n function translateSingular(number, withoutSuffix, key, isFuture) {\n return withoutSuffix ? forms(key)[0] : isFuture ? forms(key)[1] : forms(key)[2];\n }\n\n function special(number) {\n return number % 10 === 0 || number > 10 && number < 20;\n }\n\n function forms(key) {\n return units[key].split('_');\n }\n\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n\n if (number === 1) {\n return result + translateSingular(number, withoutSuffix, key[0], isFuture);\n } else if (withoutSuffix) {\n return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n } else {\n if (isFuture) {\n return result + forms(key)[1];\n } else {\n return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n }\n }\n }\n\n var lt = moment.defineLocale('lt', {\n months: {\n format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split('_'),\n standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split('_'),\n isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/\n },\n monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n weekdays: {\n format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split('_'),\n standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split('_'),\n isFormat: /dddd HH:mm/\n },\n weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY [m.] MMMM D [d.]',\n LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n l: 'YYYY-MM-DD',\n ll: 'YYYY [m.] MMMM D [d.]',\n lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]'\n },\n calendar: {\n sameDay: '[Šiandien] LT',\n nextDay: '[Rytoj] LT',\n nextWeek: 'dddd LT',\n lastDay: '[Vakar] LT',\n lastWeek: '[Praėjusį] dddd LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'po %s',\n past: 'prieš %s',\n s: translateSeconds,\n ss: translate,\n m: translateSingular,\n mm: translate,\n h: translateSingular,\n hh: translate,\n d: translateSingular,\n dd: translate,\n M: translateSingular,\n MM: translate,\n y: translateSingular,\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-oji/,\n ordinal: function ordinal(number) {\n return number + '-oji';\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return lt;\n});","//! moment.js locale configuration\n//! locale : Latvian [lv]\n//! author : Kristaps Karlsons : https://github.com/skakri\n//! author : Jānis Elmeris : https://github.com/JanisE\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var units = {\n ss: 'sekundes_sekundēm_sekunde_sekundes'.split('_'),\n m: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n mm: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n h: 'stundas_stundām_stunda_stundas'.split('_'),\n hh: 'stundas_stundām_stunda_stundas'.split('_'),\n d: 'dienas_dienām_diena_dienas'.split('_'),\n dd: 'dienas_dienām_diena_dienas'.split('_'),\n M: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n MM: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n y: 'gada_gadiem_gads_gadi'.split('_'),\n yy: 'gada_gadiem_gads_gadi'.split('_')\n };\n /**\n * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.\n */\n\n function format(forms, number, withoutSuffix) {\n if (withoutSuffix) {\n // E.g. \"21 minūte\", \"3 minūtes\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];\n } else {\n // E.g. \"21 minūtes\" as in \"pēc 21 minūtes\".\n // E.g. \"3 minūtēm\" as in \"pēc 3 minūtēm\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];\n }\n }\n\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n return number + ' ' + format(units[key], number, withoutSuffix);\n }\n\n function relativeTimeWithSingular(number, withoutSuffix, key) {\n return format(units[key], number, withoutSuffix);\n }\n\n function relativeSeconds(number, withoutSuffix) {\n return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n }\n\n var lv = moment.defineLocale('lv', {\n months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split('_'),\n monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split('_'),\n weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY.',\n LL: 'YYYY. [gada] D. MMMM',\n LLL: 'YYYY. [gada] D. MMMM, HH:mm',\n LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm'\n },\n calendar: {\n sameDay: '[Šodien pulksten] LT',\n nextDay: '[Rīt pulksten] LT',\n nextWeek: 'dddd [pulksten] LT',\n lastDay: '[Vakar pulksten] LT',\n lastWeek: '[Pagājušā] dddd [pulksten] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'pēc %s',\n past: 'pirms %s',\n s: relativeSeconds,\n ss: relativeTimeWithPlural,\n m: relativeTimeWithSingular,\n mm: relativeTimeWithPlural,\n h: relativeTimeWithSingular,\n hh: relativeTimeWithPlural,\n d: relativeTimeWithSingular,\n dd: relativeTimeWithPlural,\n M: relativeTimeWithSingular,\n MM: relativeTimeWithPlural,\n y: relativeTimeWithSingular,\n yy: relativeTimeWithPlural\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return lv;\n});","//! moment.js locale configuration\n//! locale : Montenegrin [me]\n//! author : Miodrag Nikač : https://github.com/miodragnikac\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['sekund', 'sekunda', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mjesec', 'mjeseca', 'mjeseci'],\n yy: ['godina', 'godine', 'godina']\n },\n correctGrammaticalCase: function correctGrammaticalCase(number, wordKey) {\n return number === 1 ? wordKey[0] : number >= 2 && number <= 4 ? wordKey[1] : wordKey[2];\n },\n translate: function translate(number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n var me = moment.defineLocale('me', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sjutra u] LT',\n nextWeek: function nextWeek() {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n\n case 3:\n return '[u] [srijedu] [u] LT';\n\n case 6:\n return '[u] [subotu] [u] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[juče u] LT',\n lastWeek: function lastWeek() {\n var lastWeekDays = ['[prošle] [nedjelje] [u] LT', '[prošlog] [ponedjeljka] [u] LT', '[prošlog] [utorka] [u] LT', '[prošle] [srijede] [u] LT', '[prošlog] [četvrtka] [u] LT', '[prošlog] [petka] [u] LT', '[prošle] [subote] [u] LT'];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'nekoliko sekundi',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: 'dan',\n dd: translator.translate,\n M: 'mjesec',\n MM: translator.translate,\n y: 'godinu',\n yy: translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return me;\n});","//! moment.js locale configuration\n//! locale : Maori [mi]\n//! author : John Corrigan : https://github.com/johnideal\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var mi = moment.defineLocale('mi', {\n months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split('_'),\n monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split('_'),\n monthsRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,\n weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),\n weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [i] HH:mm',\n LLLL: 'dddd, D MMMM YYYY [i] HH:mm'\n },\n calendar: {\n sameDay: '[i teie mahana, i] LT',\n nextDay: '[apopo i] LT',\n nextWeek: 'dddd [i] LT',\n lastDay: '[inanahi i] LT',\n lastWeek: 'dddd [whakamutunga i] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'i roto i %s',\n past: '%s i mua',\n s: 'te hēkona ruarua',\n ss: '%d hēkona',\n m: 'he meneti',\n mm: '%d meneti',\n h: 'te haora',\n hh: '%d haora',\n d: 'he ra',\n dd: '%d ra',\n M: 'he marama',\n MM: '%d marama',\n y: 'he tau',\n yy: '%d tau'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return mi;\n});","//! moment.js locale configuration\n//! locale : Macedonian [mk]\n//! author : Borislav Mickov : https://github.com/B0k0\n//! author : Sashko Todorov : https://github.com/bkyceh\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var mk = moment.defineLocale('mk', {\n months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split('_'),\n monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),\n weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split('_'),\n weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'),\n weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[Денес во] LT',\n nextDay: '[Утре во] LT',\n nextWeek: '[Во] dddd [во] LT',\n lastDay: '[Вчера во] LT',\n lastWeek: function lastWeek() {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Изминатата] dddd [во] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Изминатиот] dddd [во] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'за %s',\n past: 'пред %s',\n s: 'неколку секунди',\n ss: '%d секунди',\n m: 'една минута',\n mm: '%d минути',\n h: 'еден час',\n hh: '%d часа',\n d: 'еден ден',\n dd: '%d дена',\n M: 'еден месец',\n MM: '%d месеци',\n y: 'една година',\n yy: '%d години'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal: function ordinal(number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return mk;\n});","//! moment.js locale configuration\n//! locale : Malayalam [ml]\n//! author : Floyd Pink : https://github.com/floydpink\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var ml = moment.defineLocale('ml', {\n months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split('_'),\n monthsShort: 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split('_'),\n monthsParseExact: true,\n weekdays: 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split('_'),\n weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\n weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm -നു',\n LTS: 'A h:mm:ss -നു',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm -നു',\n LLLL: 'dddd, D MMMM YYYY, A h:mm -നു'\n },\n calendar: {\n sameDay: '[ഇന്ന്] LT',\n nextDay: '[നാളെ] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ഇന്നലെ] LT',\n lastWeek: '[കഴിഞ്ഞ] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s കഴിഞ്ഞ്',\n past: '%s മുൻപ്',\n s: 'അൽപ നിമിഷങ്ങൾ',\n ss: '%d സെക്കൻഡ്',\n m: 'ഒരു മിനിറ്റ്',\n mm: '%d മിനിറ്റ്',\n h: 'ഒരു മണിക്കൂർ',\n hh: '%d മണിക്കൂർ',\n d: 'ഒരു ദിവസം',\n dd: '%d ദിവസം',\n M: 'ഒരു മാസം',\n MM: '%d മാസം',\n y: 'ഒരു വർഷം',\n yy: '%d വർഷം'\n },\n meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'രാത്രി' && hour >= 4 || meridiem === 'ഉച്ച കഴിഞ്ഞ്' || meridiem === 'വൈകുന്നേരം') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'രാത്രി';\n } else if (hour < 12) {\n return 'രാവിലെ';\n } else if (hour < 17) {\n return 'ഉച്ച കഴിഞ്ഞ്';\n } else if (hour < 20) {\n return 'വൈകുന്നേരം';\n } else {\n return 'രാത്രി';\n }\n }\n });\n return ml;\n});","//! moment.js locale configuration\n//! locale : Mongolian [mn]\n//! author : Javkhlantugs Nyamdorj : https://github.com/javkhaanj7\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key, isFuture) {\n switch (key) {\n case 's':\n return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';\n\n case 'ss':\n return number + (withoutSuffix ? ' секунд' : ' секундын');\n\n case 'm':\n case 'mm':\n return number + (withoutSuffix ? ' минут' : ' минутын');\n\n case 'h':\n case 'hh':\n return number + (withoutSuffix ? ' цаг' : ' цагийн');\n\n case 'd':\n case 'dd':\n return number + (withoutSuffix ? ' өдөр' : ' өдрийн');\n\n case 'M':\n case 'MM':\n return number + (withoutSuffix ? ' сар' : ' сарын');\n\n case 'y':\n case 'yy':\n return number + (withoutSuffix ? ' жил' : ' жилийн');\n\n default:\n return number;\n }\n }\n\n var mn = moment.defineLocale('mn', {\n months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split('_'),\n monthsShort: '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split('_'),\n monthsParseExact: true,\n weekdays: 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),\n weekdaysShort: 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),\n weekdaysMin: 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY оны MMMMын D',\n LLL: 'YYYY оны MMMMын D HH:mm',\n LLLL: 'dddd, YYYY оны MMMMын D HH:mm'\n },\n meridiemParse: /ҮӨ|ҮХ/i,\n isPM: function isPM(input) {\n return input === 'ҮХ';\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return 'ҮӨ';\n } else {\n return 'ҮХ';\n }\n },\n calendar: {\n sameDay: '[Өнөөдөр] LT',\n nextDay: '[Маргааш] LT',\n nextWeek: '[Ирэх] dddd LT',\n lastDay: '[Өчигдөр] LT',\n lastWeek: '[Өнгөрсөн] dddd LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s дараа',\n past: '%s өмнө',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2} өдөр/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + ' өдөр';\n\n default:\n return number;\n }\n }\n });\n return mn;\n});","//! moment.js locale configuration\n//! locale : Marathi [mr]\n//! author : Harshad Kale : https://github.com/kalehv\n//! author : Vivek Athalye : https://github.com/vnathalye\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०'\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n\n function relativeTimeMr(number, withoutSuffix, string, isFuture) {\n var output = '';\n\n if (withoutSuffix) {\n switch (string) {\n case 's':\n output = 'काही सेकंद';\n break;\n\n case 'ss':\n output = '%d सेकंद';\n break;\n\n case 'm':\n output = 'एक मिनिट';\n break;\n\n case 'mm':\n output = '%d मिनिटे';\n break;\n\n case 'h':\n output = 'एक तास';\n break;\n\n case 'hh':\n output = '%d तास';\n break;\n\n case 'd':\n output = 'एक दिवस';\n break;\n\n case 'dd':\n output = '%d दिवस';\n break;\n\n case 'M':\n output = 'एक महिना';\n break;\n\n case 'MM':\n output = '%d महिने';\n break;\n\n case 'y':\n output = 'एक वर्ष';\n break;\n\n case 'yy':\n output = '%d वर्षे';\n break;\n }\n } else {\n switch (string) {\n case 's':\n output = 'काही सेकंदां';\n break;\n\n case 'ss':\n output = '%d सेकंदां';\n break;\n\n case 'm':\n output = 'एका मिनिटा';\n break;\n\n case 'mm':\n output = '%d मिनिटां';\n break;\n\n case 'h':\n output = 'एका तासा';\n break;\n\n case 'hh':\n output = '%d तासां';\n break;\n\n case 'd':\n output = 'एका दिवसा';\n break;\n\n case 'dd':\n output = '%d दिवसां';\n break;\n\n case 'M':\n output = 'एका महिन्या';\n break;\n\n case 'MM':\n output = '%d महिन्यां';\n break;\n\n case 'y':\n output = 'एका वर्षा';\n break;\n\n case 'yy':\n output = '%d वर्षां';\n break;\n }\n }\n\n return output.replace(/%d/i, number);\n }\n\n var mr = moment.defineLocale('mr', {\n months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split('_'),\n monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split('_'),\n monthsParseExact: true,\n weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort: 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat: {\n LT: 'A h:mm वाजता',\n LTS: 'A h:mm:ss वाजता',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm वाजता',\n LLLL: 'dddd, D MMMM YYYY, A h:mm वाजता'\n },\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[उद्या] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[काल] LT',\n lastWeek: '[मागील] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%sमध्ये',\n past: '%sपूर्वी',\n s: relativeTimeMr,\n ss: relativeTimeMr,\n m: relativeTimeMr,\n mm: relativeTimeMr,\n h: relativeTimeMr,\n hh: relativeTimeMr,\n d: relativeTimeMr,\n dd: relativeTimeMr,\n M: relativeTimeMr,\n MM: relativeTimeMr,\n y: relativeTimeMr,\n yy: relativeTimeMr\n },\n preparse: function preparse(string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'पहाटे' || meridiem === 'सकाळी') {\n return hour;\n } else if (meridiem === 'दुपारी' || meridiem === 'सायंकाळी' || meridiem === 'रात्री') {\n return hour >= 12 ? hour : hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour >= 0 && hour < 6) {\n return 'पहाटे';\n } else if (hour < 12) {\n return 'सकाळी';\n } else if (hour < 17) {\n return 'दुपारी';\n } else if (hour < 20) {\n return 'सायंकाळी';\n } else {\n return 'रात्री';\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return mr;\n});","//! moment.js locale configuration\n//! locale : Malay [ms-my]\n//! note : DEPRECATED, the correct one is [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var msMy = moment.defineLocale('ms-my', {\n months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Esok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kelmarin pukul] LT',\n lastWeek: 'dddd [lepas pukul] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lepas',\n s: 'beberapa saat',\n ss: '%d saat',\n m: 'seminit',\n mm: '%d minit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun'\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return msMy;\n});","//! moment.js locale configuration\n//! locale : Malay [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var ms = moment.defineLocale('ms', {\n months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Esok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kelmarin pukul] LT',\n lastWeek: 'dddd [lepas pukul] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lepas',\n s: 'beberapa saat',\n ss: '%d saat',\n m: 'seminit',\n mm: '%d minit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun'\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return ms;\n});","//! moment.js locale configuration\n//! locale : Maltese (Malta) [mt]\n//! author : Alessandro Maruccia : https://github.com/alesma\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var mt = moment.defineLocale('mt', {\n months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split('_'),\n monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),\n weekdays: 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split('_'),\n weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),\n weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Illum fil-]LT',\n nextDay: '[Għada fil-]LT',\n nextWeek: 'dddd [fil-]LT',\n lastDay: '[Il-bieraħ fil-]LT',\n lastWeek: 'dddd [li għadda] [fil-]LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'f’ %s',\n past: '%s ilu',\n s: 'ftit sekondi',\n ss: '%d sekondi',\n m: 'minuta',\n mm: '%d minuti',\n h: 'siegħa',\n hh: '%d siegħat',\n d: 'ġurnata',\n dd: '%d ġranet',\n M: 'xahar',\n MM: '%d xhur',\n y: 'sena',\n yy: '%d sni'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return mt;\n});","//! moment.js locale configuration\n//! locale : Burmese [my]\n//! author : Squar team, mysquar.com\n//! author : David Rossellat : https://github.com/gholadr\n//! author : Tin Aung Lin : https://github.com/thanyawzinmin\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '၁',\n 2: '၂',\n 3: '၃',\n 4: '၄',\n 5: '၅',\n 6: '၆',\n 7: '၇',\n 8: '၈',\n 9: '၉',\n 0: '၀'\n },\n numberMap = {\n '၁': '1',\n '၂': '2',\n '၃': '3',\n '၄': '4',\n '၅': '5',\n '၆': '6',\n '၇': '7',\n '၈': '8',\n '၉': '9',\n '၀': '0'\n };\n var my = moment.defineLocale('my', {\n months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split('_'),\n monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),\n weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split('_'),\n weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[ယနေ.] LT [မှာ]',\n nextDay: '[မနက်ဖြန်] LT [မှာ]',\n nextWeek: 'dddd LT [မှာ]',\n lastDay: '[မနေ.က] LT [မှာ]',\n lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'လာမည့် %s မှာ',\n past: 'လွန်ခဲ့သော %s က',\n s: 'စက္ကန်.အနည်းငယ်',\n ss: '%d စက္ကန့်',\n m: 'တစ်မိနစ်',\n mm: '%d မိနစ်',\n h: 'တစ်နာရီ',\n hh: '%d နာရီ',\n d: 'တစ်ရက်',\n dd: '%d ရက်',\n M: 'တစ်လ',\n MM: '%d လ',\n y: 'တစ်နှစ်',\n yy: '%d နှစ်'\n },\n preparse: function preparse(string) {\n return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return my;\n});","//! moment.js locale configuration\n//! locale : Norwegian Bokmål [nb]\n//! authors : Espen Hovlandsdal : https://github.com/rexxars\n//! Sigurd Gartmann : https://github.com/sigurdga\n//! Stephen Ramthun : https://github.com/stephenramthun\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var nb = moment.defineLocale('nb', {\n months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort: 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact: true,\n weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'),\n weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] HH:mm',\n LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm'\n },\n calendar: {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[forrige] dddd [kl.] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'om %s',\n past: '%s siden',\n s: 'noen sekunder',\n ss: '%d sekunder',\n m: 'ett minutt',\n mm: '%d minutter',\n h: 'en time',\n hh: '%d timer',\n d: 'en dag',\n dd: '%d dager',\n w: 'en uke',\n ww: '%d uker',\n M: 'en måned',\n MM: '%d måneder',\n y: 'ett år',\n yy: '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return nb;\n});","//! moment.js locale configuration\n//! locale : Nepalese [ne]\n//! author : suvash : https://github.com/suvash\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०'\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n var ne = moment.defineLocale('ne', {\n months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split('_'),\n monthsShort: 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split('_'),\n monthsParseExact: true,\n weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split('_'),\n weekdaysShort: 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),\n weekdaysMin: 'आ._सो._मं._बु._बि._शु._श.'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'Aको h:mm बजे',\n LTS: 'Aको h:mm:ss बजे',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, Aको h:mm बजे',\n LLLL: 'dddd, D MMMM YYYY, Aको h:mm बजे'\n },\n preparse: function preparse(string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /राति|बिहान|दिउँसो|साँझ/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'राति') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'बिहान') {\n return hour;\n } else if (meridiem === 'दिउँसो') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'साँझ') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 3) {\n return 'राति';\n } else if (hour < 12) {\n return 'बिहान';\n } else if (hour < 16) {\n return 'दिउँसो';\n } else if (hour < 20) {\n return 'साँझ';\n } else {\n return 'राति';\n }\n },\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[भोलि] LT',\n nextWeek: '[आउँदो] dddd[,] LT',\n lastDay: '[हिजो] LT',\n lastWeek: '[गएको] dddd[,] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%sमा',\n past: '%s अगाडि',\n s: 'केही क्षण',\n ss: '%d सेकेण्ड',\n m: 'एक मिनेट',\n mm: '%d मिनेट',\n h: 'एक घण्टा',\n hh: '%d घण्टा',\n d: 'एक दिन',\n dd: '%d दिन',\n M: 'एक महिना',\n MM: '%d महिना',\n y: 'एक बर्ष',\n yy: '%d बर्ष'\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return ne;\n});","//! moment.js locale configuration\n//! locale : Dutch (Belgium) [nl-be]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i],\n monthsRegex = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n var nlBe = moment.defineLocale('nl-be', {\n months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n monthsShort: function monthsShort(m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'over %s',\n past: '%s geleden',\n s: 'een paar seconden',\n ss: '%d seconden',\n m: 'één minuut',\n mm: '%d minuten',\n h: 'één uur',\n hh: '%d uur',\n d: 'één dag',\n dd: '%d dagen',\n M: 'één maand',\n MM: '%d maanden',\n y: 'één jaar',\n yy: '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function ordinal(number) {\n return number + (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de');\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return nlBe;\n});","//! moment.js locale configuration\n//! locale : Dutch [nl]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i],\n monthsRegex = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n var nl = moment.defineLocale('nl', {\n months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n monthsShort: function monthsShort(m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'over %s',\n past: '%s geleden',\n s: 'een paar seconden',\n ss: '%d seconden',\n m: 'één minuut',\n mm: '%d minuten',\n h: 'één uur',\n hh: '%d uur',\n d: 'één dag',\n dd: '%d dagen',\n w: 'één week',\n ww: '%d weken',\n M: 'één maand',\n MM: '%d maanden',\n y: 'één jaar',\n yy: '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function ordinal(number) {\n return number + (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de');\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return nl;\n});","//! moment.js locale configuration\n//! locale : Nynorsk [nn]\n//! authors : https://github.com/mechuwind\n//! Stephen Ramthun : https://github.com/stephenramthun\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var nn = moment.defineLocale('nn', {\n months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort: 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact: true,\n weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\n weekdaysShort: 'su._må._ty._on._to._fr._lau.'.split('_'),\n weekdaysMin: 'su_må_ty_on_to_fr_la'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] H:mm',\n LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm'\n },\n calendar: {\n sameDay: '[I dag klokka] LT',\n nextDay: '[I morgon klokka] LT',\n nextWeek: 'dddd [klokka] LT',\n lastDay: '[I går klokka] LT',\n lastWeek: '[Føregåande] dddd [klokka] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'om %s',\n past: '%s sidan',\n s: 'nokre sekund',\n ss: '%d sekund',\n m: 'eit minutt',\n mm: '%d minutt',\n h: 'ein time',\n hh: '%d timar',\n d: 'ein dag',\n dd: '%d dagar',\n w: 'ei veke',\n ww: '%d veker',\n M: 'ein månad',\n MM: '%d månader',\n y: 'eit år',\n yy: '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return nn;\n});","//! moment.js locale configuration\n//! locale : Occitan, lengadocian dialecte [oc-lnc]\n//! author : Quentin PAGÈS : https://github.com/Quenty31\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var ocLnc = moment.defineLocale('oc-lnc', {\n months: {\n standalone: 'genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split('_'),\n format: \"de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre\".split('_'),\n isFormat: /D[oD]?(\\s)+MMMM/\n },\n monthsShort: 'gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split('_'),\n weekdaysShort: 'dg._dl._dm._dc._dj._dv._ds.'.split('_'),\n weekdaysMin: 'dg_dl_dm_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [de] YYYY',\n ll: 'D MMM YYYY',\n LLL: 'D MMMM [de] YYYY [a] H:mm',\n lll: 'D MMM YYYY, H:mm',\n LLLL: 'dddd D MMMM [de] YYYY [a] H:mm',\n llll: 'ddd D MMM YYYY, H:mm'\n },\n calendar: {\n sameDay: '[uèi a] LT',\n nextDay: '[deman a] LT',\n nextWeek: 'dddd [a] LT',\n lastDay: '[ièr a] LT',\n lastWeek: 'dddd [passat a] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: \"d'aquí %s\",\n past: 'fa %s',\n s: 'unas segondas',\n ss: '%d segondas',\n m: 'una minuta',\n mm: '%d minutas',\n h: 'una ora',\n hh: '%d oras',\n d: 'un jorn',\n dd: '%d jorns',\n M: 'un mes',\n MM: '%d meses',\n y: 'un an',\n yy: '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal: function ordinal(number, period) {\n var output = number === 1 ? 'r' : number === 2 ? 'n' : number === 3 ? 'r' : number === 4 ? 't' : 'è';\n\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4\n }\n });\n return ocLnc;\n});","//! moment.js locale configuration\n//! locale : Punjabi (India) [pa-in]\n//! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '੧',\n 2: '੨',\n 3: '੩',\n 4: '੪',\n 5: '੫',\n 6: '੬',\n 7: '੭',\n 8: '੮',\n 9: '੯',\n 0: '੦'\n },\n numberMap = {\n '੧': '1',\n '੨': '2',\n '੩': '3',\n '੪': '4',\n '੫': '5',\n '੬': '6',\n '੭': '7',\n '੮': '8',\n '੯': '9',\n '੦': '0'\n };\n var paIn = moment.defineLocale('pa-in', {\n // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi.\n months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n monthsShort: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split('_'),\n weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm ਵਜੇ',\n LTS: 'A h:mm:ss ਵਜੇ',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm ਵਜੇ',\n LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ'\n },\n calendar: {\n sameDay: '[ਅਜ] LT',\n nextDay: '[ਕਲ] LT',\n nextWeek: '[ਅਗਲਾ] dddd, LT',\n lastDay: '[ਕਲ] LT',\n lastWeek: '[ਪਿਛਲੇ] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s ਵਿੱਚ',\n past: '%s ਪਿਛਲੇ',\n s: 'ਕੁਝ ਸਕਿੰਟ',\n ss: '%d ਸਕਿੰਟ',\n m: 'ਇਕ ਮਿੰਟ',\n mm: '%d ਮਿੰਟ',\n h: 'ਇੱਕ ਘੰਟਾ',\n hh: '%d ਘੰਟੇ',\n d: 'ਇੱਕ ਦਿਨ',\n dd: '%d ਦਿਨ',\n M: 'ਇੱਕ ਮਹੀਨਾ',\n MM: '%d ਮਹੀਨੇ',\n y: 'ਇੱਕ ਸਾਲ',\n yy: '%d ਸਾਲ'\n },\n preparse: function preparse(string) {\n return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Punjabi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.\n meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'ਰਾਤ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ਸਵੇਰ') {\n return hour;\n } else if (meridiem === 'ਦੁਪਹਿਰ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ਸ਼ਾਮ') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'ਰਾਤ';\n } else if (hour < 10) {\n return 'ਸਵੇਰ';\n } else if (hour < 17) {\n return 'ਦੁਪਹਿਰ';\n } else if (hour < 20) {\n return 'ਸ਼ਾਮ';\n } else {\n return 'ਰਾਤ';\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return paIn;\n});","//! moment.js locale configuration\n//! locale : Polish [pl]\n//! author : Rafal Hirsz : https://github.com/evoL\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split('_'),\n monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split('_'),\n monthsParse = [/^sty/i, /^lut/i, /^mar/i, /^kwi/i, /^maj/i, /^cze/i, /^lip/i, /^sie/i, /^wrz/i, /^paź/i, /^lis/i, /^gru/i];\n\n function plural(n) {\n return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1;\n }\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n\n switch (key) {\n case 'ss':\n return result + (plural(number) ? 'sekundy' : 'sekund');\n\n case 'm':\n return withoutSuffix ? 'minuta' : 'minutę';\n\n case 'mm':\n return result + (plural(number) ? 'minuty' : 'minut');\n\n case 'h':\n return withoutSuffix ? 'godzina' : 'godzinę';\n\n case 'hh':\n return result + (plural(number) ? 'godziny' : 'godzin');\n\n case 'ww':\n return result + (plural(number) ? 'tygodnie' : 'tygodni');\n\n case 'MM':\n return result + (plural(number) ? 'miesiące' : 'miesięcy');\n\n case 'yy':\n return result + (plural(number) ? 'lata' : 'lat');\n }\n }\n\n var pl = moment.defineLocale('pl', {\n months: function months(momentToFormat, format) {\n if (!momentToFormat) {\n return monthsNominative;\n } else if (/D MMMM/.test(format)) {\n return monthsSubjective[momentToFormat.month()];\n } else {\n return monthsNominative[momentToFormat.month()];\n }\n },\n monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),\n weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),\n weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Dziś o] LT',\n nextDay: '[Jutro o] LT',\n nextWeek: function nextWeek() {\n switch (this.day()) {\n case 0:\n return '[W niedzielę o] LT';\n\n case 2:\n return '[We wtorek o] LT';\n\n case 3:\n return '[W środę o] LT';\n\n case 6:\n return '[W sobotę o] LT';\n\n default:\n return '[W] dddd [o] LT';\n }\n },\n lastDay: '[Wczoraj o] LT',\n lastWeek: function lastWeek() {\n switch (this.day()) {\n case 0:\n return '[W zeszłą niedzielę o] LT';\n\n case 3:\n return '[W zeszłą środę o] LT';\n\n case 6:\n return '[W zeszłą sobotę o] LT';\n\n default:\n return '[W zeszły] dddd [o] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'za %s',\n past: '%s temu',\n s: 'kilka sekund',\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: '1 dzień',\n dd: '%d dni',\n w: 'tydzień',\n ww: translate,\n M: 'miesiąc',\n MM: translate,\n y: 'rok',\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return pl;\n});","//! moment.js locale configuration\n//! locale : Portuguese (Brazil) [pt-br]\n//! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var ptBr = moment.defineLocale('pt-br', {\n months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'),\n monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays: 'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split('_'),\n weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'),\n weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY [às] HH:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm'\n },\n calendar: {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function lastWeek() {\n return this.day() === 0 || this.day() === 6 ? '[Último] dddd [às] LT' // Saturday + Sunday\n : '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'em %s',\n past: 'há %s',\n s: 'poucos segundos',\n ss: '%d segundos',\n m: 'um minuto',\n mm: '%d minutos',\n h: 'uma hora',\n hh: '%d horas',\n d: 'um dia',\n dd: '%d dias',\n M: 'um mês',\n MM: '%d meses',\n y: 'um ano',\n yy: '%d anos'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n invalidDate: 'Data inválida'\n });\n return ptBr;\n});","//! moment.js locale configuration\n//! locale : Portuguese [pt]\n//! author : Jefferson : https://github.com/jalex79\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var pt = moment.defineLocale('pt', {\n months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'),\n monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays: 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),\n weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY HH:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function lastWeek() {\n return this.day() === 0 || this.day() === 6 ? '[Último] dddd [às] LT' // Saturday + Sunday\n : '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'em %s',\n past: 'há %s',\n s: 'segundos',\n ss: '%d segundos',\n m: 'um minuto',\n mm: '%d minutos',\n h: 'uma hora',\n hh: '%d horas',\n d: 'um dia',\n dd: '%d dias',\n w: 'uma semana',\n ww: '%d semanas',\n M: 'um mês',\n MM: '%d meses',\n y: 'um ano',\n yy: '%d anos'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return pt;\n});","//! moment.js locale configuration\n//! locale : Romanian [ro]\n//! author : Vlad Gurdiga : https://github.com/gurdiga\n//! author : Valentin Agachi : https://github.com/avaly\n//! author : Emanuel Cepoi : https://github.com/cepem\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: 'secunde',\n mm: 'minute',\n hh: 'ore',\n dd: 'zile',\n ww: 'săptămâni',\n MM: 'luni',\n yy: 'ani'\n },\n separator = ' ';\n\n if (number % 100 >= 20 || number >= 100 && number % 100 === 0) {\n separator = ' de ';\n }\n\n return number + separator + format[key];\n }\n\n var ro = moment.defineLocale('ro', {\n months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'),\n monthsShort: 'ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),\n weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),\n weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[azi la] LT',\n nextDay: '[mâine la] LT',\n nextWeek: 'dddd [la] LT',\n lastDay: '[ieri la] LT',\n lastWeek: '[fosta] dddd [la] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'peste %s',\n past: '%s în urmă',\n s: 'câteva secunde',\n ss: relativeTimeWithPlural,\n m: 'un minut',\n mm: relativeTimeWithPlural,\n h: 'o oră',\n hh: relativeTimeWithPlural,\n d: 'o zi',\n dd: relativeTimeWithPlural,\n w: 'o săptămână',\n ww: relativeTimeWithPlural,\n M: 'o lună',\n MM: relativeTimeWithPlural,\n y: 'un an',\n yy: relativeTimeWithPlural\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return ro;\n});","//! moment.js locale configuration\n//! locale : Russian [ru]\n//! author : Viktorminator : https://github.com/Viktorminator\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Коренберг Марк : https://github.com/socketpair\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2];\n }\n\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n hh: 'час_часа_часов',\n dd: 'день_дня_дней',\n ww: 'неделя_недели_недель',\n MM: 'месяц_месяца_месяцев',\n yy: 'год_года_лет'\n };\n\n if (key === 'm') {\n return withoutSuffix ? 'минута' : 'минуту';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n\n var monthsParse = [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i]; // http://new.gramota.ru/spravka/rules/139-prop : § 103\n // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637\n // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753\n\n var ru = moment.defineLocale('ru', {\n months: {\n format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_'),\n standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_')\n },\n monthsShort: {\n // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку?\n format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_'),\n standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_')\n },\n weekdays: {\n standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'),\n format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_'),\n isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/\n },\n weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n monthsRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n // копия предыдущего\n monthsShortRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n // полные названия с падежами\n monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n // Выражение, которое соответствует только сокращённым формам\n monthsShortStrictRegex: /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY г.',\n LLL: 'D MMMM YYYY г., H:mm',\n LLLL: 'dddd, D MMMM YYYY г., H:mm'\n },\n calendar: {\n sameDay: '[Сегодня, в] LT',\n nextDay: '[Завтра, в] LT',\n lastDay: '[Вчера, в] LT',\n nextWeek: function nextWeek(now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В следующее] dddd, [в] LT';\n\n case 1:\n case 2:\n case 4:\n return '[В следующий] dddd, [в] LT';\n\n case 3:\n case 5:\n case 6:\n return '[В следующую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n lastWeek: function lastWeek(now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В прошлое] dddd, [в] LT';\n\n case 1:\n case 2:\n case 4:\n return '[В прошлый] dddd, [в] LT';\n\n case 3:\n case 5:\n case 6:\n return '[В прошлую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'через %s',\n past: '%s назад',\n s: 'несколько секунд',\n ss: relativeTimeWithPlural,\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: 'час',\n hh: relativeTimeWithPlural,\n d: 'день',\n dd: relativeTimeWithPlural,\n w: 'неделя',\n ww: relativeTimeWithPlural,\n M: 'месяц',\n MM: relativeTimeWithPlural,\n y: 'год',\n yy: relativeTimeWithPlural\n },\n meridiemParse: /ночи|утра|дня|вечера/i,\n isPM: function isPM(input) {\n return /^(дня|вечера)$/.test(input);\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'ночи';\n } else if (hour < 12) {\n return 'утра';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечера';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го|я)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n return number + '-й';\n\n case 'D':\n return number + '-го';\n\n case 'w':\n case 'W':\n return number + '-я';\n\n default:\n return number;\n }\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return ru;\n});","//! moment.js locale configuration\n//! locale : Sindhi [sd]\n//! author : Narain Sagar : https://github.com/narainsagar\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var months = ['جنوري', 'فيبروري', 'مارچ', 'اپريل', 'مئي', 'جون', 'جولاءِ', 'آگسٽ', 'سيپٽمبر', 'آڪٽوبر', 'نومبر', 'ڊسمبر'],\n days = ['آچر', 'سومر', 'اڱارو', 'اربع', 'خميس', 'جمع', 'ڇنڇر'];\n var sd = moment.defineLocale('sd', {\n months: months,\n monthsShort: months,\n weekdays: days,\n weekdaysShort: days,\n weekdaysMin: days,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd، D MMMM YYYY HH:mm'\n },\n meridiemParse: /صبح|شام/,\n isPM: function isPM(input) {\n return 'شام' === input;\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n\n return 'شام';\n },\n calendar: {\n sameDay: '[اڄ] LT',\n nextDay: '[سڀاڻي] LT',\n nextWeek: 'dddd [اڳين هفتي تي] LT',\n lastDay: '[ڪالهه] LT',\n lastWeek: '[گزريل هفتي] dddd [تي] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s پوء',\n past: '%s اڳ',\n s: 'چند سيڪنڊ',\n ss: '%d سيڪنڊ',\n m: 'هڪ منٽ',\n mm: '%d منٽ',\n h: 'هڪ ڪلاڪ',\n hh: '%d ڪلاڪ',\n d: 'هڪ ڏينهن',\n dd: '%d ڏينهن',\n M: 'هڪ مهينو',\n MM: '%d مهينا',\n y: 'هڪ سال',\n yy: '%d سال'\n },\n preparse: function preparse(string) {\n return string.replace(/،/g, ',');\n },\n postformat: function postformat(string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return sd;\n});","//! moment.js locale configuration\n//! locale : Northern Sami [se]\n//! authors : Bård Rolstad Henriksen : https://github.com/karamell\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var se = moment.defineLocale('se', {\n months: 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split('_'),\n monthsShort: 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),\n weekdays: 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split('_'),\n weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\n weekdaysMin: 's_v_m_g_d_b_L'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'MMMM D. [b.] YYYY',\n LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm',\n LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm'\n },\n calendar: {\n sameDay: '[otne ti] LT',\n nextDay: '[ihttin ti] LT',\n nextWeek: 'dddd [ti] LT',\n lastDay: '[ikte ti] LT',\n lastWeek: '[ovddit] dddd [ti] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s geažes',\n past: 'maŋit %s',\n s: 'moadde sekunddat',\n ss: '%d sekunddat',\n m: 'okta minuhta',\n mm: '%d minuhtat',\n h: 'okta diimmu',\n hh: '%d diimmut',\n d: 'okta beaivi',\n dd: '%d beaivvit',\n M: 'okta mánnu',\n MM: '%d mánut',\n y: 'okta jahki',\n yy: '%d jagit'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return se;\n});","//! moment.js locale configuration\n//! locale : Sinhalese [si]\n//! author : Sampath Sitinamaluwa : https://github.com/sampathsris\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n /*jshint -W100*/\n\n var si = moment.defineLocale('si', {\n months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split('_'),\n monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split('_'),\n weekdays: 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split('_'),\n weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),\n weekdaysMin: 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'a h:mm',\n LTS: 'a h:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY MMMM D',\n LLL: 'YYYY MMMM D, a h:mm',\n LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss'\n },\n calendar: {\n sameDay: '[අද] LT[ට]',\n nextDay: '[හෙට] LT[ට]',\n nextWeek: 'dddd LT[ට]',\n lastDay: '[ඊයේ] LT[ට]',\n lastWeek: '[පසුගිය] dddd LT[ට]',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%sකින්',\n past: '%sකට පෙර',\n s: 'තත්පර කිහිපය',\n ss: 'තත්පර %d',\n m: 'මිනිත්තුව',\n mm: 'මිනිත්තු %d',\n h: 'පැය',\n hh: 'පැය %d',\n d: 'දිනය',\n dd: 'දින %d',\n M: 'මාසය',\n MM: 'මාස %d',\n y: 'වසර',\n yy: 'වසර %d'\n },\n dayOfMonthOrdinalParse: /\\d{1,2} වැනි/,\n ordinal: function ordinal(number) {\n return number + ' වැනි';\n },\n meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\n isPM: function isPM(input) {\n return input === 'ප.ව.' || input === 'පස් වරු';\n },\n meridiem: function meridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'ප.ව.' : 'පස් වරු';\n } else {\n return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n }\n }\n });\n return si;\n});","//! moment.js locale configuration\n//! locale : Slovak [sk]\n//! author : Martin Minka : https://github.com/k2s\n//! based on work of petrbela : https://github.com/petrbela\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var months = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split('_'),\n monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\n\n function plural(n) {\n return n > 1 && n < 5;\n }\n\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n\n switch (key) {\n case 's':\n // a few seconds / in a few seconds / a few seconds ago\n return withoutSuffix || isFuture ? 'pár sekúnd' : 'pár sekundami';\n\n case 'ss':\n // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekúnd');\n } else {\n return result + 'sekundami';\n }\n\n case 'm':\n // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minúta' : isFuture ? 'minútu' : 'minútou';\n\n case 'mm':\n // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minúty' : 'minút');\n } else {\n return result + 'minútami';\n }\n\n case 'h':\n // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n\n case 'hh':\n // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodín');\n } else {\n return result + 'hodinami';\n }\n\n case 'd':\n // a day / in a day / a day ago\n return withoutSuffix || isFuture ? 'deň' : 'dňom';\n\n case 'dd':\n // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dni' : 'dní');\n } else {\n return result + 'dňami';\n }\n\n case 'M':\n // a month / in a month / a month ago\n return withoutSuffix || isFuture ? 'mesiac' : 'mesiacom';\n\n case 'MM':\n // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'mesiace' : 'mesiacov');\n } else {\n return result + 'mesiacmi';\n }\n\n case 'y':\n // a year / in a year / a year ago\n return withoutSuffix || isFuture ? 'rok' : 'rokom';\n\n case 'yy':\n // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'rokov');\n } else {\n return result + 'rokmi';\n }\n\n }\n }\n\n var sk = moment.defineLocale('sk', {\n months: months,\n monthsShort: monthsShort,\n weekdays: 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),\n weekdaysShort: 'ne_po_ut_st_št_pi_so'.split('_'),\n weekdaysMin: 'ne_po_ut_st_št_pi_so'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[dnes o] LT',\n nextDay: '[zajtra o] LT',\n nextWeek: function nextWeek() {\n switch (this.day()) {\n case 0:\n return '[v nedeľu o] LT';\n\n case 1:\n case 2:\n return '[v] dddd [o] LT';\n\n case 3:\n return '[v stredu o] LT';\n\n case 4:\n return '[vo štvrtok o] LT';\n\n case 5:\n return '[v piatok o] LT';\n\n case 6:\n return '[v sobotu o] LT';\n }\n },\n lastDay: '[včera o] LT',\n lastWeek: function lastWeek() {\n switch (this.day()) {\n case 0:\n return '[minulú nedeľu o] LT';\n\n case 1:\n case 2:\n return '[minulý] dddd [o] LT';\n\n case 3:\n return '[minulú stredu o] LT';\n\n case 4:\n case 5:\n return '[minulý] dddd [o] LT';\n\n case 6:\n return '[minulú sobotu o] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'za %s',\n past: 'pred %s',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return sk;\n});","//! moment.js locale configuration\n//! locale : Slovenian [sl]\n//! author : Robert Sedovšek : https://github.com/sedovsek\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n\n switch (key) {\n case 's':\n return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami';\n\n case 'ss':\n if (number === 1) {\n result += withoutSuffix ? 'sekundo' : 'sekundi';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';\n } else {\n result += 'sekund';\n }\n\n return result;\n\n case 'm':\n return withoutSuffix ? 'ena minuta' : 'eno minuto';\n\n case 'mm':\n if (number === 1) {\n result += withoutSuffix ? 'minuta' : 'minuto';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'minuti' : 'minutama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'minute' : 'minutami';\n } else {\n result += withoutSuffix || isFuture ? 'minut' : 'minutami';\n }\n\n return result;\n\n case 'h':\n return withoutSuffix ? 'ena ura' : 'eno uro';\n\n case 'hh':\n if (number === 1) {\n result += withoutSuffix ? 'ura' : 'uro';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'uri' : 'urama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'ure' : 'urami';\n } else {\n result += withoutSuffix || isFuture ? 'ur' : 'urami';\n }\n\n return result;\n\n case 'd':\n return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';\n\n case 'dd':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'dan' : 'dnem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';\n } else {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevi';\n }\n\n return result;\n\n case 'M':\n return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';\n\n case 'MM':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'mesece' : 'meseci';\n } else {\n result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';\n }\n\n return result;\n\n case 'y':\n return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';\n\n case 'yy':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'leto' : 'letom';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'leti' : 'letoma';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'leta' : 'leti';\n } else {\n result += withoutSuffix || isFuture ? 'let' : 'leti';\n }\n\n return result;\n }\n }\n\n var sl = moment.defineLocale('sl', {\n months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),\n weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),\n weekdaysMin: 'ne_po_to_sr_če_pe_so'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD. MM. YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danes ob] LT',\n nextDay: '[jutri ob] LT',\n nextWeek: function nextWeek() {\n switch (this.day()) {\n case 0:\n return '[v] [nedeljo] [ob] LT';\n\n case 3:\n return '[v] [sredo] [ob] LT';\n\n case 6:\n return '[v] [soboto] [ob] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[v] dddd [ob] LT';\n }\n },\n lastDay: '[včeraj ob] LT',\n lastWeek: function lastWeek() {\n switch (this.day()) {\n case 0:\n return '[prejšnjo] [nedeljo] [ob] LT';\n\n case 3:\n return '[prejšnjo] [sredo] [ob] LT';\n\n case 6:\n return '[prejšnjo] [soboto] [ob] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prejšnji] dddd [ob] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'čez %s',\n past: 'pred %s',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return sl;\n});","//! moment.js locale configuration\n//! locale : Albanian [sq]\n//! author : Flakërim Ismani : https://github.com/flakerimi\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Oerd Cukalla : https://github.com/oerd\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var sq = moment.defineLocale('sq', {\n months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'),\n monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),\n weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'),\n weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\n weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'),\n weekdaysParseExact: true,\n meridiemParse: /PD|MD/,\n isPM: function isPM(input) {\n return input.charAt(0) === 'M';\n },\n meridiem: function meridiem(hours, minutes, isLower) {\n return hours < 12 ? 'PD' : 'MD';\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Sot në] LT',\n nextDay: '[Nesër në] LT',\n nextWeek: 'dddd [në] LT',\n lastDay: '[Dje në] LT',\n lastWeek: 'dddd [e kaluar në] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'në %s',\n past: '%s më parë',\n s: 'disa sekonda',\n ss: '%d sekonda',\n m: 'një minutë',\n mm: '%d minuta',\n h: 'një orë',\n hh: '%d orë',\n d: 'një ditë',\n dd: '%d ditë',\n M: 'një muaj',\n MM: '%d muaj',\n y: 'një vit',\n yy: '%d vite'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return sq;\n});","//! moment.js locale configuration\n//! locale : Serbian Cyrillic [sr-cyrl]\n//! author : Milan Janačković : https://github.com/milan-j\n//! author : Stefan Crnjaković : https://github.com/crnjakovic\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['секунда', 'секунде', 'секунди'],\n m: ['један минут', 'једне минуте'],\n mm: ['минут', 'минуте', 'минута'],\n h: ['један сат', 'једног сата'],\n hh: ['сат', 'сата', 'сати'],\n dd: ['дан', 'дана', 'дана'],\n MM: ['месец', 'месеца', 'месеци'],\n yy: ['година', 'године', 'година']\n },\n correctGrammaticalCase: function correctGrammaticalCase(number, wordKey) {\n return number === 1 ? wordKey[0] : number >= 2 && number <= 4 ? wordKey[1] : wordKey[2];\n },\n translate: function translate(number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n var srCyrl = moment.defineLocale('sr-cyrl', {\n months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split('_'),\n monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),\n monthsParseExact: true,\n weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D. M. YYYY.',\n LL: 'D. MMMM YYYY.',\n LLL: 'D. MMMM YYYY. H:mm',\n LLLL: 'dddd, D. MMMM YYYY. H:mm'\n },\n calendar: {\n sameDay: '[данас у] LT',\n nextDay: '[сутра у] LT',\n nextWeek: function nextWeek() {\n switch (this.day()) {\n case 0:\n return '[у] [недељу] [у] LT';\n\n case 3:\n return '[у] [среду] [у] LT';\n\n case 6:\n return '[у] [суботу] [у] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[у] dddd [у] LT';\n }\n },\n lastDay: '[јуче у] LT',\n lastWeek: function lastWeek() {\n var lastWeekDays = ['[прошле] [недеље] [у] LT', '[прошлог] [понедељка] [у] LT', '[прошлог] [уторка] [у] LT', '[прошле] [среде] [у] LT', '[прошлог] [четвртка] [у] LT', '[прошлог] [петка] [у] LT', '[прошле] [суботе] [у] LT'];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'за %s',\n past: 'пре %s',\n s: 'неколико секунди',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: 'дан',\n dd: translator.translate,\n M: 'месец',\n MM: translator.translate,\n y: 'годину',\n yy: translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 1st is the first week of the year.\n\n }\n });\n return srCyrl;\n});","//! moment.js locale configuration\n//! locale : Serbian [sr]\n//! author : Milan Janačković : https://github.com/milan-j\n//! author : Stefan Crnjaković : https://github.com/crnjakovic\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['sekunda', 'sekunde', 'sekundi'],\n m: ['jedan minut', 'jedne minute'],\n mm: ['minut', 'minute', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mesec', 'meseca', 'meseci'],\n yy: ['godina', 'godine', 'godina']\n },\n correctGrammaticalCase: function correctGrammaticalCase(number, wordKey) {\n return number === 1 ? wordKey[0] : number >= 2 && number <= 4 ? wordKey[1] : wordKey[2];\n },\n translate: function translate(number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n var sr = moment.defineLocale('sr', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D. M. YYYY.',\n LL: 'D. MMMM YYYY.',\n LLL: 'D. MMMM YYYY. H:mm',\n LLLL: 'dddd, D. MMMM YYYY. H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function nextWeek() {\n switch (this.day()) {\n case 0:\n return '[u] [nedelju] [u] LT';\n\n case 3:\n return '[u] [sredu] [u] LT';\n\n case 6:\n return '[u] [subotu] [u] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[juče u] LT',\n lastWeek: function lastWeek() {\n var lastWeekDays = ['[prošle] [nedelje] [u] LT', '[prošlog] [ponedeljka] [u] LT', '[prošlog] [utorka] [u] LT', '[prošle] [srede] [u] LT', '[prošlog] [četvrtka] [u] LT', '[prošlog] [petka] [u] LT', '[prošle] [subote] [u] LT'];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'za %s',\n past: 'pre %s',\n s: 'nekoliko sekundi',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: 'dan',\n dd: translator.translate,\n M: 'mesec',\n MM: translator.translate,\n y: 'godinu',\n yy: translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return sr;\n});","//! moment.js locale configuration\n//! locale : siSwati [ss]\n//! author : Nicolai Davies : https://github.com/nicolaidavies\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var ss = moment.defineLocale('ss', {\n months: \"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split('_'),\n monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),\n weekdays: 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split('_'),\n weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),\n weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A'\n },\n calendar: {\n sameDay: '[Namuhla nga] LT',\n nextDay: '[Kusasa nga] LT',\n nextWeek: 'dddd [nga] LT',\n lastDay: '[Itolo nga] LT',\n lastWeek: 'dddd [leliphelile] [nga] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'nga %s',\n past: 'wenteka nga %s',\n s: 'emizuzwana lomcane',\n ss: '%d mzuzwana',\n m: 'umzuzu',\n mm: '%d emizuzu',\n h: 'lihora',\n hh: '%d emahora',\n d: 'lilanga',\n dd: '%d emalanga',\n M: 'inyanga',\n MM: '%d tinyanga',\n y: 'umnyaka',\n yy: '%d iminyaka'\n },\n meridiemParse: /ekuseni|emini|entsambama|ebusuku/,\n meridiem: function meridiem(hours, minutes, isLower) {\n if (hours < 11) {\n return 'ekuseni';\n } else if (hours < 15) {\n return 'emini';\n } else if (hours < 19) {\n return 'entsambama';\n } else {\n return 'ebusuku';\n }\n },\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'ekuseni') {\n return hour;\n } else if (meridiem === 'emini') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {\n if (hour === 0) {\n return 0;\n }\n\n return hour + 12;\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: '%d',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return ss;\n});","//! moment.js locale configuration\n//! locale : Swedish [sv]\n//! author : Jens Alm : https://github.com/ulmus\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var sv = moment.defineLocale('sv', {\n months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'),\n monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),\n weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'),\n weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [kl.] HH:mm',\n LLLL: 'dddd D MMMM YYYY [kl.] HH:mm',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd D MMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Idag] LT',\n nextDay: '[Imorgon] LT',\n lastDay: '[Igår] LT',\n nextWeek: '[På] dddd LT',\n lastWeek: '[I] dddd[s] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'om %s',\n past: 'för %s sedan',\n s: 'några sekunder',\n ss: '%d sekunder',\n m: 'en minut',\n mm: '%d minuter',\n h: 'en timme',\n hh: '%d timmar',\n d: 'en dag',\n dd: '%d dagar',\n M: 'en månad',\n MM: '%d månader',\n y: 'ett år',\n yy: '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(\\:e|\\:a)/,\n ordinal: function ordinal(number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? ':e' : b === 1 ? ':a' : b === 2 ? ':a' : b === 3 ? ':e' : ':e';\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return sv;\n});","//! moment.js locale configuration\n//! locale : Swahili [sw]\n//! author : Fahad Kassim : https://github.com/fadsel\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var sw = moment.defineLocale('sw', {\n months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'),\n weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),\n weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'hh:mm A',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[leo saa] LT',\n nextDay: '[kesho saa] LT',\n nextWeek: '[wiki ijayo] dddd [saat] LT',\n lastDay: '[jana] LT',\n lastWeek: '[wiki iliyopita] dddd [saat] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s baadaye',\n past: 'tokea %s',\n s: 'hivi punde',\n ss: 'sekunde %d',\n m: 'dakika moja',\n mm: 'dakika %d',\n h: 'saa limoja',\n hh: 'masaa %d',\n d: 'siku moja',\n dd: 'siku %d',\n M: 'mwezi mmoja',\n MM: 'miezi %d',\n y: 'mwaka mmoja',\n yy: 'miaka %d'\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return sw;\n});","//! moment.js locale configuration\n//! locale : Tamil [ta]\n//! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '௧',\n 2: '௨',\n 3: '௩',\n 4: '௪',\n 5: '௫',\n 6: '௬',\n 7: '௭',\n 8: '௮',\n 9: '௯',\n 0: '௦'\n },\n numberMap = {\n '௧': '1',\n '௨': '2',\n '௩': '3',\n '௪': '4',\n '௫': '5',\n '௬': '6',\n '௭': '7',\n '௮': '8',\n '௯': '9',\n '௦': '0'\n };\n var ta = moment.defineLocale('ta', {\n months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\n monthsShort: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\n weekdays: 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split('_'),\n weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split('_'),\n weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, HH:mm',\n LLLL: 'dddd, D MMMM YYYY, HH:mm'\n },\n calendar: {\n sameDay: '[இன்று] LT',\n nextDay: '[நாளை] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[நேற்று] LT',\n lastWeek: '[கடந்த வாரம்] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s இல்',\n past: '%s முன்',\n s: 'ஒரு சில விநாடிகள்',\n ss: '%d விநாடிகள்',\n m: 'ஒரு நிமிடம்',\n mm: '%d நிமிடங்கள்',\n h: 'ஒரு மணி நேரம்',\n hh: '%d மணி நேரம்',\n d: 'ஒரு நாள்',\n dd: '%d நாட்கள்',\n M: 'ஒரு மாதம்',\n MM: '%d மாதங்கள்',\n y: 'ஒரு வருடம்',\n yy: '%d ஆண்டுகள்'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}வது/,\n ordinal: function ordinal(number) {\n return number + 'வது';\n },\n preparse: function preparse(string) {\n return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function postformat(string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // refer http://ta.wikipedia.org/s/1er1\n meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 2) {\n return ' யாமம்';\n } else if (hour < 6) {\n return ' வைகறை'; // வைகறை\n } else if (hour < 10) {\n return ' காலை'; // காலை\n } else if (hour < 14) {\n return ' நண்பகல்'; // நண்பகல்\n } else if (hour < 18) {\n return ' எற்பாடு'; // எற்பாடு\n } else if (hour < 22) {\n return ' மாலை'; // மாலை\n } else {\n return ' யாமம்';\n }\n },\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'யாமம்') {\n return hour < 2 ? hour : hour + 12;\n } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {\n return hour;\n } else if (meridiem === 'நண்பகல்') {\n return hour >= 10 ? hour : hour + 12;\n } else {\n return hour + 12;\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return ta;\n});","//! moment.js locale configuration\n//! locale : Telugu [te]\n//! author : Krishna Chaitanya Thota : https://github.com/kcthota\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var te = moment.defineLocale('te', {\n months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split('_'),\n monthsShort: 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split('_'),\n monthsParseExact: true,\n weekdays: 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split('_'),\n weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),\n weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar: {\n sameDay: '[నేడు] LT',\n nextDay: '[రేపు] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[నిన్న] LT',\n lastWeek: '[గత] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s లో',\n past: '%s క్రితం',\n s: 'కొన్ని క్షణాలు',\n ss: '%d సెకన్లు',\n m: 'ఒక నిమిషం',\n mm: '%d నిమిషాలు',\n h: 'ఒక గంట',\n hh: '%d గంటలు',\n d: 'ఒక రోజు',\n dd: '%d రోజులు',\n M: 'ఒక నెల',\n MM: '%d నెలలు',\n y: 'ఒక సంవత్సరం',\n yy: '%d సంవత్సరాలు'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}వ/,\n ordinal: '%dవ',\n meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'రాత్రి') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ఉదయం') {\n return hour;\n } else if (meridiem === 'మధ్యాహ్నం') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'సాయంత్రం') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'రాత్రి';\n } else if (hour < 10) {\n return 'ఉదయం';\n } else if (hour < 17) {\n return 'మధ్యాహ్నం';\n } else if (hour < 20) {\n return 'సాయంత్రం';\n } else {\n return 'రాత్రి';\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return te;\n});","//! moment.js locale configuration\n//! locale : Tetun Dili (East Timor) [tet]\n//! author : Joshua Brooks : https://github.com/joshbrooks\n//! author : Onorio De J. Afonso : https://github.com/marobo\n//! author : Sonia Simoes : https://github.com/soniasimoes\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var tet = moment.defineLocale('tet', {\n months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split('_'),\n monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),\n weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),\n weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Ohin iha] LT',\n nextDay: '[Aban iha] LT',\n nextWeek: 'dddd [iha] LT',\n lastDay: '[Horiseik iha] LT',\n lastWeek: 'dddd [semana kotuk] [iha] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'iha %s',\n past: '%s liuba',\n s: 'segundu balun',\n ss: 'segundu %d',\n m: 'minutu ida',\n mm: 'minutu %d',\n h: 'oras ida',\n hh: 'oras %d',\n d: 'loron ida',\n dd: 'loron %d',\n M: 'fulan ida',\n MM: 'fulan %d',\n y: 'tinan ida',\n yy: 'tinan %d'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function ordinal(number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return tet;\n});","//! moment.js locale configuration\n//! locale : Tajik [tg]\n//! author : Orif N. Jr. : https://github.com/orif-jr\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var suffixes = {\n 0: '-ум',\n 1: '-ум',\n 2: '-юм',\n 3: '-юм',\n 4: '-ум',\n 5: '-ум',\n 6: '-ум',\n 7: '-ум',\n 8: '-ум',\n 9: '-ум',\n 10: '-ум',\n 12: '-ум',\n 13: '-ум',\n 20: '-ум',\n 30: '-юм',\n 40: '-ум',\n 50: '-ум',\n 60: '-ум',\n 70: '-ум',\n 80: '-ум',\n 90: '-ум',\n 100: '-ум'\n };\n var tg = moment.defineLocale('tg', {\n months: {\n format: 'январи_феврали_марти_апрели_майи_июни_июли_августи_сентябри_октябри_ноябри_декабри'.split('_'),\n standalone: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_')\n },\n monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays: 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split('_'),\n weekdaysShort: 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),\n weekdaysMin: 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Имрӯз соати] LT',\n nextDay: '[Фардо соати] LT',\n lastDay: '[Дирӯз соати] LT',\n nextWeek: 'dddd[и] [ҳафтаи оянда соати] LT',\n lastWeek: 'dddd[и] [ҳафтаи гузашта соати] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'баъди %s',\n past: '%s пеш',\n s: 'якчанд сония',\n m: 'як дақиқа',\n mm: '%d дақиқа',\n h: 'як соат',\n hh: '%d соат',\n d: 'як рӯз',\n dd: '%d рӯз',\n M: 'як моҳ',\n MM: '%d моҳ',\n y: 'як сол',\n yy: '%d сол'\n },\n meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'шаб') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'субҳ') {\n return hour;\n } else if (meridiem === 'рӯз') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'бегоҳ') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'шаб';\n } else if (hour < 11) {\n return 'субҳ';\n } else if (hour < 16) {\n return 'рӯз';\n } else if (hour < 19) {\n return 'бегоҳ';\n } else {\n return 'шаб';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ум|юм)/,\n ordinal: function ordinal(number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 1th is the first week of the year.\n\n }\n });\n return tg;\n});","//! moment.js locale configuration\n//! locale : Thai [th]\n//! author : Kridsada Thanabulpong : https://github.com/sirn\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var th = moment.defineLocale('th', {\n months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'),\n monthsShort: 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split('_'),\n monthsParseExact: true,\n weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'),\n // yes, three characters difference\n weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY เวลา H:mm',\n LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm'\n },\n meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n isPM: function isPM(input) {\n return input === 'หลังเที่ยง';\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return 'ก่อนเที่ยง';\n } else {\n return 'หลังเที่ยง';\n }\n },\n calendar: {\n sameDay: '[วันนี้ เวลา] LT',\n nextDay: '[พรุ่งนี้ เวลา] LT',\n nextWeek: 'dddd[หน้า เวลา] LT',\n lastDay: '[เมื่อวานนี้ เวลา] LT',\n lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'อีก %s',\n past: '%sที่แล้ว',\n s: 'ไม่กี่วินาที',\n ss: '%d วินาที',\n m: '1 นาที',\n mm: '%d นาที',\n h: '1 ชั่วโมง',\n hh: '%d ชั่วโมง',\n d: '1 วัน',\n dd: '%d วัน',\n w: '1 สัปดาห์',\n ww: '%d สัปดาห์',\n M: '1 เดือน',\n MM: '%d เดือน',\n y: '1 ปี',\n yy: '%d ปี'\n }\n });\n return th;\n});","//! moment.js locale configuration\n//! locale : Turkmen [tk]\n//! author : Atamyrat Abdyrahmanov : https://github.com/atamyratabdy\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var suffixes = {\n 1: \"'inji\",\n 5: \"'inji\",\n 8: \"'inji\",\n 70: \"'inji\",\n 80: \"'inji\",\n 2: \"'nji\",\n 7: \"'nji\",\n 20: \"'nji\",\n 50: \"'nji\",\n 3: \"'ünji\",\n 4: \"'ünji\",\n 100: \"'ünji\",\n 6: \"'njy\",\n 9: \"'unjy\",\n 10: \"'unjy\",\n 30: \"'unjy\",\n 60: \"'ynjy\",\n 90: \"'ynjy\"\n };\n var tk = moment.defineLocale('tk', {\n months: 'Ýanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr'.split('_'),\n monthsShort: 'Ýan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek'.split('_'),\n weekdays: 'Ýekşenbe_Duşenbe_Sişenbe_Çarşenbe_Penşenbe_Anna_Şenbe'.split('_'),\n weekdaysShort: 'Ýek_Duş_Siş_Çar_Pen_Ann_Şen'.split('_'),\n weekdaysMin: 'Ýk_Dş_Sş_Çr_Pn_An_Şn'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[bugün sagat] LT',\n nextDay: '[ertir sagat] LT',\n nextWeek: '[indiki] dddd [sagat] LT',\n lastDay: '[düýn] LT',\n lastWeek: '[geçen] dddd [sagat] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s soň',\n past: '%s öň',\n s: 'birnäçe sekunt',\n m: 'bir minut',\n mm: '%d minut',\n h: 'bir sagat',\n hh: '%d sagat',\n d: 'bir gün',\n dd: '%d gün',\n M: 'bir aý',\n MM: '%d aý',\n y: 'bir ýyl',\n yy: '%d ýyl'\n },\n ordinal: function ordinal(number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n\n default:\n if (number === 0) {\n // special case for zero\n return number + \"'unjy\";\n }\n\n var a = number % 10,\n b = number % 100 - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n }\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return tk;\n});","//! moment.js locale configuration\n//! locale : Tagalog (Philippines) [tl-ph]\n//! author : Dan Hagman : https://github.com/hagmandan\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var tlPh = moment.defineLocale('tl-ph', {\n months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'),\n monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'),\n weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'MM/D/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY HH:mm',\n LLLL: 'dddd, MMMM DD, YYYY HH:mm'\n },\n calendar: {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'sa loob ng %s',\n past: '%s ang nakalipas',\n s: 'ilang segundo',\n ss: '%d segundo',\n m: 'isang minuto',\n mm: '%d minuto',\n h: 'isang oras',\n hh: '%d oras',\n d: 'isang araw',\n dd: '%d araw',\n M: 'isang buwan',\n MM: '%d buwan',\n y: 'isang taon',\n yy: '%d taon'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function ordinal(number) {\n return number;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return tlPh;\n});","//! moment.js locale configuration\n//! locale : Klingon [tlh]\n//! author : Dominika Kruk : https://github.com/amaranthrose\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\n function translateFuture(output) {\n var time = output;\n time = output.indexOf('jaj') !== -1 ? time.slice(0, -3) + 'leS' : output.indexOf('jar') !== -1 ? time.slice(0, -3) + 'waQ' : output.indexOf('DIS') !== -1 ? time.slice(0, -3) + 'nem' : time + ' pIq';\n return time;\n }\n\n function translatePast(output) {\n var time = output;\n time = output.indexOf('jaj') !== -1 ? time.slice(0, -3) + 'Hu’' : output.indexOf('jar') !== -1 ? time.slice(0, -3) + 'wen' : output.indexOf('DIS') !== -1 ? time.slice(0, -3) + 'ben' : time + ' ret';\n return time;\n }\n\n function translate(number, withoutSuffix, string, isFuture) {\n var numberNoun = numberAsNoun(number);\n\n switch (string) {\n case 'ss':\n return numberNoun + ' lup';\n\n case 'mm':\n return numberNoun + ' tup';\n\n case 'hh':\n return numberNoun + ' rep';\n\n case 'dd':\n return numberNoun + ' jaj';\n\n case 'MM':\n return numberNoun + ' jar';\n\n case 'yy':\n return numberNoun + ' DIS';\n }\n }\n\n function numberAsNoun(number) {\n var hundred = Math.floor(number % 1000 / 100),\n ten = Math.floor(number % 100 / 10),\n one = number % 10,\n word = '';\n\n if (hundred > 0) {\n word += numbersNouns[hundred] + 'vatlh';\n }\n\n if (ten > 0) {\n word += (word !== '' ? ' ' : '') + numbersNouns[ten] + 'maH';\n }\n\n if (one > 0) {\n word += (word !== '' ? ' ' : '') + numbersNouns[one];\n }\n\n return word === '' ? 'pagh' : word;\n }\n\n var tlh = moment.defineLocale('tlh', {\n months: 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split('_'),\n monthsShort: 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split('_'),\n monthsParseExact: true,\n weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysShort: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysMin: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[DaHjaj] LT',\n nextDay: '[wa’leS] LT',\n nextWeek: 'LLL',\n lastDay: '[wa’Hu’] LT',\n lastWeek: 'LLL',\n sameElse: 'L'\n },\n relativeTime: {\n future: translateFuture,\n past: translatePast,\n s: 'puS lup',\n ss: translate,\n m: 'wa’ tup',\n mm: translate,\n h: 'wa’ rep',\n hh: translate,\n d: 'wa’ jaj',\n dd: translate,\n M: 'wa’ jar',\n MM: translate,\n y: 'wa’ DIS',\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return tlh;\n});","//! moment.js locale configuration\n//! locale : Turkish [tr]\n//! authors : Erhan Gundogan : https://github.com/erhangundogan,\n//! Burak Yiğit Kaya: https://github.com/BYK\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var suffixes = {\n 1: \"'inci\",\n 5: \"'inci\",\n 8: \"'inci\",\n 70: \"'inci\",\n 80: \"'inci\",\n 2: \"'nci\",\n 7: \"'nci\",\n 20: \"'nci\",\n 50: \"'nci\",\n 3: \"'üncü\",\n 4: \"'üncü\",\n 100: \"'üncü\",\n 6: \"'ncı\",\n 9: \"'uncu\",\n 10: \"'uncu\",\n 30: \"'uncu\",\n 60: \"'ıncı\",\n 90: \"'ıncı\"\n };\n var tr = moment.defineLocale('tr', {\n months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split('_'),\n monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split('_'),\n weekdaysShort: 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),\n weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n meridiem: function meridiem(hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'öö' : 'ÖÖ';\n } else {\n return isLower ? 'ös' : 'ÖS';\n }\n },\n meridiemParse: /öö|ÖÖ|ös|ÖS/,\n isPM: function isPM(input) {\n return input === 'ös' || input === 'ÖS';\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[bugün saat] LT',\n nextDay: '[yarın saat] LT',\n nextWeek: '[gelecek] dddd [saat] LT',\n lastDay: '[dün] LT',\n lastWeek: '[geçen] dddd [saat] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s sonra',\n past: '%s önce',\n s: 'birkaç saniye',\n ss: '%d saniye',\n m: 'bir dakika',\n mm: '%d dakika',\n h: 'bir saat',\n hh: '%d saat',\n d: 'bir gün',\n dd: '%d gün',\n w: 'bir hafta',\n ww: '%d hafta',\n M: 'bir ay',\n MM: '%d ay',\n y: 'bir yıl',\n yy: '%d yıl'\n },\n ordinal: function ordinal(number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n\n default:\n if (number === 0) {\n // special case for zero\n return number + \"'ıncı\";\n }\n\n var a = number % 10,\n b = number % 100 - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n }\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return tr;\n});","//! moment.js locale configuration\n//! locale : Talossan [tzl]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n//! author : Iustì Canun\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.\n // This is currently too difficult (maybe even impossible) to add.\n\n var tzl = moment.defineLocale('tzl', {\n months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split('_'),\n monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),\n weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),\n weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),\n weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM [dallas] YYYY',\n LLL: 'D. MMMM [dallas] YYYY HH.mm',\n LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm'\n },\n meridiemParse: /d\\'o|d\\'a/i,\n isPM: function isPM(input) {\n return \"d'o\" === input.toLowerCase();\n },\n meridiem: function meridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? \"d'o\" : \"D'O\";\n } else {\n return isLower ? \"d'a\" : \"D'A\";\n }\n },\n calendar: {\n sameDay: '[oxhi à] LT',\n nextDay: '[demà à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[ieiri à] LT',\n lastWeek: '[sür el] dddd [lasteu à] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'osprei %s',\n past: 'ja%s',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['viensas secunds', \"'iensas secunds\"],\n ss: [number + ' secunds', '' + number + ' secunds'],\n m: [\"'n míut\", \"'iens míut\"],\n mm: [number + ' míuts', '' + number + ' míuts'],\n h: [\"'n þora\", \"'iensa þora\"],\n hh: [number + ' þoras', '' + number + ' þoras'],\n d: [\"'n ziua\", \"'iensa ziua\"],\n dd: [number + ' ziuas', '' + number + ' ziuas'],\n M: [\"'n mes\", \"'iens mes\"],\n MM: [number + ' mesen', '' + number + ' mesen'],\n y: [\"'n ar\", \"'iens ar\"],\n yy: [number + ' ars', '' + number + ' ars']\n };\n return isFuture ? format[key][0] : withoutSuffix ? format[key][0] : format[key][1];\n }\n\n return tzl;\n});","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight Latin [tzm-latn]\n//! author : Abdel Said : https://github.com/abdelsaid\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var tzmLatn = moment.defineLocale('tzm-latn', {\n months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\n monthsShort: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\n weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[asdkh g] LT',\n nextDay: '[aska g] LT',\n nextWeek: 'dddd [g] LT',\n lastDay: '[assant g] LT',\n lastWeek: 'dddd [g] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'dadkh s yan %s',\n past: 'yan %s',\n s: 'imik',\n ss: '%d imik',\n m: 'minuḍ',\n mm: '%d minuḍ',\n h: 'saɛa',\n hh: '%d tassaɛin',\n d: 'ass',\n dd: '%d ossan',\n M: 'ayowr',\n MM: '%d iyyirn',\n y: 'asgas',\n yy: '%d isgasn'\n },\n week: {\n dow: 6,\n // Saturday is the first day of the week.\n doy: 12 // The week that contains Jan 12th is the first week of the year.\n\n }\n });\n return tzmLatn;\n});","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight [tzm]\n//! author : Abdel Said : https://github.com/abdelsaid\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var tzm = moment.defineLocale('tzm', {\n months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\n monthsShort: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\n weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',\n nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',\n nextWeek: 'dddd [ⴴ] LT',\n lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',\n lastWeek: 'dddd [ⴴ] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',\n past: 'ⵢⴰⵏ %s',\n s: 'ⵉⵎⵉⴽ',\n ss: '%d ⵉⵎⵉⴽ',\n m: 'ⵎⵉⵏⵓⴺ',\n mm: '%d ⵎⵉⵏⵓⴺ',\n h: 'ⵙⴰⵄⴰ',\n hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',\n d: 'ⴰⵙⵙ',\n dd: '%d oⵙⵙⴰⵏ',\n M: 'ⴰⵢoⵓⵔ',\n MM: '%d ⵉⵢⵢⵉⵔⵏ',\n y: 'ⴰⵙⴳⴰⵙ',\n yy: '%d ⵉⵙⴳⴰⵙⵏ'\n },\n week: {\n dow: 6,\n // Saturday is the first day of the week.\n doy: 12 // The week that contains Jan 12th is the first week of the year.\n\n }\n });\n return tzm;\n});","//! moment.js locale configuration\n//! locale : Uyghur (China) [ug-cn]\n//! author: boyaq : https://github.com/boyaq\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var ugCn = moment.defineLocale('ug-cn', {\n months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split('_'),\n monthsShort: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split('_'),\n weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split('_'),\n weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',\n LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm'\n },\n meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'يېرىم كېچە' || meridiem === 'سەھەر' || meridiem === 'چۈشتىن بۇرۇن') {\n return hour;\n } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {\n return hour + 12;\n } else {\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n var hm = hour * 100 + minute;\n\n if (hm < 600) {\n return 'يېرىم كېچە';\n } else if (hm < 900) {\n return 'سەھەر';\n } else if (hm < 1130) {\n return 'چۈشتىن بۇرۇن';\n } else if (hm < 1230) {\n return 'چۈش';\n } else if (hm < 1800) {\n return 'چۈشتىن كېيىن';\n } else {\n return 'كەچ';\n }\n },\n calendar: {\n sameDay: '[بۈگۈن سائەت] LT',\n nextDay: '[ئەتە سائەت] LT',\n nextWeek: '[كېلەركى] dddd [سائەت] LT',\n lastDay: '[تۆنۈگۈن] LT',\n lastWeek: '[ئالدىنقى] dddd [سائەت] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s كېيىن',\n past: '%s بۇرۇن',\n s: 'نەچچە سېكونت',\n ss: '%d سېكونت',\n m: 'بىر مىنۇت',\n mm: '%d مىنۇت',\n h: 'بىر سائەت',\n hh: '%d سائەت',\n d: 'بىر كۈن',\n dd: '%d كۈن',\n M: 'بىر ئاي',\n MM: '%d ئاي',\n y: 'بىر يىل',\n yy: '%d يىل'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '-كۈنى';\n\n case 'w':\n case 'W':\n return number + '-ھەپتە';\n\n default:\n return number;\n }\n },\n preparse: function preparse(string) {\n return string.replace(/،/g, ',');\n },\n postformat: function postformat(string) {\n return string.replace(/,/g, '،');\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 1st is the first week of the year.\n\n }\n });\n return ugCn;\n});","//! moment.js locale configuration\n//! locale : Ukrainian [uk]\n//! author : zemlanin : https://github.com/zemlanin\n//! Author : Menelion Elensúle : https://github.com/Oire\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2];\n }\n\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',\n mm: withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',\n hh: withoutSuffix ? 'година_години_годин' : 'годину_години_годин',\n dd: 'день_дні_днів',\n MM: 'місяць_місяці_місяців',\n yy: 'рік_роки_років'\n };\n\n if (key === 'm') {\n return withoutSuffix ? 'хвилина' : 'хвилину';\n } else if (key === 'h') {\n return withoutSuffix ? 'година' : 'годину';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n\n function weekdaysCaseReplace(m, format) {\n var weekdays = {\n nominative: 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'),\n accusative: 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'),\n genitive: 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_')\n },\n nounCase;\n\n if (m === true) {\n return weekdays['nominative'].slice(1, 7).concat(weekdays['nominative'].slice(0, 1));\n }\n\n if (!m) {\n return weekdays['nominative'];\n }\n\n nounCase = /(\\[[ВвУу]\\]) ?dddd/.test(format) ? 'accusative' : /\\[?(?:минулої|наступної)? ?\\] ?dddd/.test(format) ? 'genitive' : 'nominative';\n return weekdays[nounCase][m.day()];\n }\n\n function processHoursFunction(str) {\n return function () {\n return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n };\n }\n\n var uk = moment.defineLocale('uk', {\n months: {\n format: 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_'),\n standalone: 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_')\n },\n monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split('_'),\n weekdays: weekdaysCaseReplace,\n weekdaysShort: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY р.',\n LLL: 'D MMMM YYYY р., HH:mm',\n LLLL: 'dddd, D MMMM YYYY р., HH:mm'\n },\n calendar: {\n sameDay: processHoursFunction('[Сьогодні '),\n nextDay: processHoursFunction('[Завтра '),\n lastDay: processHoursFunction('[Вчора '),\n nextWeek: processHoursFunction('[У] dddd ['),\n lastWeek: function lastWeek() {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return processHoursFunction('[Минулої] dddd [').call(this);\n\n case 1:\n case 2:\n case 4:\n return processHoursFunction('[Минулого] dddd [').call(this);\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'за %s',\n past: '%s тому',\n s: 'декілька секунд',\n ss: relativeTimeWithPlural,\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: 'годину',\n hh: relativeTimeWithPlural,\n d: 'день',\n dd: relativeTimeWithPlural,\n M: 'місяць',\n MM: relativeTimeWithPlural,\n y: 'рік',\n yy: relativeTimeWithPlural\n },\n // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason\n meridiemParse: /ночі|ранку|дня|вечора/,\n isPM: function isPM(input) {\n return /^(дня|вечора)$/.test(input);\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 4) {\n return 'ночі';\n } else if (hour < 12) {\n return 'ранку';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечора';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return number + '-й';\n\n case 'D':\n return number + '-го';\n\n default:\n return number;\n }\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return uk;\n});","//! moment.js locale configuration\n//! locale : Urdu [ur]\n//! author : Sawood Alam : https://github.com/ibnesayeed\n//! author : Zack : https://github.com/ZackVision\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var months = ['جنوری', 'فروری', 'مارچ', 'اپریل', 'مئی', 'جون', 'جولائی', 'اگست', 'ستمبر', 'اکتوبر', 'نومبر', 'دسمبر'],\n days = ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ'];\n var ur = moment.defineLocale('ur', {\n months: months,\n monthsShort: months,\n weekdays: days,\n weekdaysShort: days,\n weekdaysMin: days,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd، D MMMM YYYY HH:mm'\n },\n meridiemParse: /صبح|شام/,\n isPM: function isPM(input) {\n return 'شام' === input;\n },\n meridiem: function meridiem(hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n\n return 'شام';\n },\n calendar: {\n sameDay: '[آج بوقت] LT',\n nextDay: '[کل بوقت] LT',\n nextWeek: 'dddd [بوقت] LT',\n lastDay: '[گذشتہ روز بوقت] LT',\n lastWeek: '[گذشتہ] dddd [بوقت] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s بعد',\n past: '%s قبل',\n s: 'چند سیکنڈ',\n ss: '%d سیکنڈ',\n m: 'ایک منٹ',\n mm: '%d منٹ',\n h: 'ایک گھنٹہ',\n hh: '%d گھنٹے',\n d: 'ایک دن',\n dd: '%d دن',\n M: 'ایک ماہ',\n MM: '%d ماہ',\n y: 'ایک سال',\n yy: '%d سال'\n },\n preparse: function preparse(string) {\n return string.replace(/،/g, ',');\n },\n postformat: function postformat(string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return ur;\n});","//! moment.js locale configuration\n//! locale : Uzbek Latin [uz-latn]\n//! author : Rasulbek Mirzayev : github.com/Rasulbeeek\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var uzLatn = moment.defineLocale('uz-latn', {\n months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split('_'),\n monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\n weekdays: 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split('_'),\n weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\n weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'D MMMM YYYY, dddd HH:mm'\n },\n calendar: {\n sameDay: '[Bugun soat] LT [da]',\n nextDay: '[Ertaga] LT [da]',\n nextWeek: 'dddd [kuni soat] LT [da]',\n lastDay: '[Kecha soat] LT [da]',\n lastWeek: \"[O'tgan] dddd [kuni soat] LT [da]\",\n sameElse: 'L'\n },\n relativeTime: {\n future: 'Yaqin %s ichida',\n past: 'Bir necha %s oldin',\n s: 'soniya',\n ss: '%d soniya',\n m: 'bir daqiqa',\n mm: '%d daqiqa',\n h: 'bir soat',\n hh: '%d soat',\n d: 'bir kun',\n dd: '%d kun',\n M: 'bir oy',\n MM: '%d oy',\n y: 'bir yil',\n yy: '%d yil'\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return uzLatn;\n});","//! moment.js locale configuration\n//! locale : Uzbek [uz]\n//! author : Sardor Muminov : https://github.com/muminoff\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var uz = moment.defineLocale('uz', {\n months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),\n monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\n weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\n weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'D MMMM YYYY, dddd HH:mm'\n },\n calendar: {\n sameDay: '[Бугун соат] LT [да]',\n nextDay: '[Эртага] LT [да]',\n nextWeek: 'dddd [куни соат] LT [да]',\n lastDay: '[Кеча соат] LT [да]',\n lastWeek: '[Утган] dddd [куни соат] LT [да]',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'Якин %s ичида',\n past: 'Бир неча %s олдин',\n s: 'фурсат',\n ss: '%d фурсат',\n m: 'бир дакика',\n mm: '%d дакика',\n h: 'бир соат',\n hh: '%d соат',\n d: 'бир кун',\n dd: '%d кун',\n M: 'бир ой',\n MM: '%d ой',\n y: 'бир йил',\n yy: '%d йил'\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return uz;\n});","//! moment.js locale configuration\n//! locale : Vietnamese [vi]\n//! author : Bang Nguyen : https://github.com/bangnk\n//! author : Chien Kira : https://github.com/chienkira\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var vi = moment.defineLocale('vi', {\n months: 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split('_'),\n monthsShort: 'Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12'.split('_'),\n monthsParseExact: true,\n weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split('_'),\n weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysParseExact: true,\n meridiemParse: /sa|ch/i,\n isPM: function isPM(input) {\n return /^ch$/i.test(input);\n },\n meridiem: function meridiem(hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'sa' : 'SA';\n } else {\n return isLower ? 'ch' : 'CH';\n }\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [năm] YYYY',\n LLL: 'D MMMM [năm] YYYY HH:mm',\n LLLL: 'dddd, D MMMM [năm] YYYY HH:mm',\n l: 'DD/M/YYYY',\n ll: 'D MMM YYYY',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd, D MMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Hôm nay lúc] LT',\n nextDay: '[Ngày mai lúc] LT',\n nextWeek: 'dddd [tuần tới lúc] LT',\n lastDay: '[Hôm qua lúc] LT',\n lastWeek: 'dddd [tuần trước lúc] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s tới',\n past: '%s trước',\n s: 'vài giây',\n ss: '%d giây',\n m: 'một phút',\n mm: '%d phút',\n h: 'một giờ',\n hh: '%d giờ',\n d: 'một ngày',\n dd: '%d ngày',\n w: 'một tuần',\n ww: '%d tuần',\n M: 'một tháng',\n MM: '%d tháng',\n y: 'một năm',\n yy: '%d năm'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function ordinal(number) {\n return number;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return vi;\n});","//! moment.js locale configuration\n//! locale : Pseudo [x-pseudo]\n//! author : Andrew Hood : https://github.com/andrewhood125\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var xPseudo = moment.defineLocale('x-pseudo', {\n months: 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split('_'),\n monthsShort: 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split('_'),\n monthsParseExact: true,\n weekdays: 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split('_'),\n weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\n weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[T~ódá~ý át] LT',\n nextDay: '[T~ómó~rró~w át] LT',\n nextWeek: 'dddd [át] LT',\n lastDay: '[Ý~ést~érdá~ý át] LT',\n lastWeek: '[L~ást] dddd [át] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'í~ñ %s',\n past: '%s á~gó',\n s: 'á ~féw ~sécó~ñds',\n ss: '%d s~écóñ~ds',\n m: 'á ~míñ~úté',\n mm: '%d m~íñú~tés',\n h: 'á~ñ hó~úr',\n hh: '%d h~óúrs',\n d: 'á ~dáý',\n dd: '%d d~áýs',\n M: 'á ~móñ~th',\n MM: '%d m~óñt~hs',\n y: 'á ~ýéár',\n yy: '%d ý~éárs'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function ordinal(number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return xPseudo;\n});","//! moment.js locale configuration\n//! locale : Yoruba Nigeria [yo]\n//! author : Atolagbe Abisoye : https://github.com/andela-batolagbe\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var yo = moment.defineLocale('yo', {\n months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split('_'),\n monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),\n weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),\n weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),\n weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A'\n },\n calendar: {\n sameDay: '[Ònì ni] LT',\n nextDay: '[Ọ̀la ni] LT',\n nextWeek: \"dddd [Ọsẹ̀ tón'bọ] [ni] LT\",\n lastDay: '[Àna ni] LT',\n lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'ní %s',\n past: '%s kọjá',\n s: 'ìsẹjú aayá die',\n ss: 'aayá %d',\n m: 'ìsẹjú kan',\n mm: 'ìsẹjú %d',\n h: 'wákati kan',\n hh: 'wákati %d',\n d: 'ọjọ́ kan',\n dd: 'ọjọ́ %d',\n M: 'osù kan',\n MM: 'osù %d',\n y: 'ọdún kan',\n yy: 'ọdún %d'\n },\n dayOfMonthOrdinalParse: /ọjọ́\\s\\d{1,2}/,\n ordinal: 'ọjọ́ %d',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return yo;\n});","//! moment.js locale configuration\n//! locale : Chinese (China) [zh-cn]\n//! author : suupic : https://github.com/suupic\n//! author : Zeno Zeng : https://github.com/zenozeng\n//! author : uu109 : https://github.com/uu109\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var zhCn = moment.defineLocale('zh-cn', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日Ah点mm分',\n LLLL: 'YYYY年M月D日ddddAh点mm分',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n } else {\n // '中午'\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n var hm = hour * 100 + minute;\n\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天]LT',\n nextDay: '[明天]LT',\n nextWeek: function nextWeek(now) {\n if (now.week() !== this.week()) {\n return '[下]dddLT';\n } else {\n return '[本]dddLT';\n }\n },\n lastDay: '[昨天]LT',\n lastWeek: function lastWeek(now) {\n if (this.week() !== now.week()) {\n return '[上]dddLT';\n } else {\n return '[本]dddLT';\n }\n },\n sameElse: 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|周)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n\n case 'M':\n return number + '月';\n\n case 'w':\n case 'W':\n return number + '周';\n\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s后',\n past: '%s前',\n s: '几秒',\n ss: '%d 秒',\n m: '1 分钟',\n mm: '%d 分钟',\n h: '1 小时',\n hh: '%d 小时',\n d: '1 天',\n dd: '%d 天',\n w: '1 周',\n ww: '%d 周',\n M: '1 个月',\n MM: '%d 个月',\n y: '1 年',\n yy: '%d 年'\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return zhCn;\n});","//! moment.js locale configuration\n//! locale : Chinese (Hong Kong) [zh-hk]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Konstantin : https://github.com/skfd\n//! author : Anthony : https://github.com/anthonylau\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var zhHk = moment.defineLocale('zh-hk', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n var hm = hour * 100 + minute;\n\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1200) {\n return '上午';\n } else if (hm === 1200) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天]LT',\n nextDay: '[明天]LT',\n nextWeek: '[下]ddddLT',\n lastDay: '[昨天]LT',\n lastWeek: '[上]ddddLT',\n sameElse: 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n\n case 'M':\n return number + '月';\n\n case 'w':\n case 'W':\n return number + '週';\n\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年'\n }\n });\n return zhHk;\n});","//! moment.js locale configuration\n//! locale : Chinese (Macau) [zh-mo]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Tan Yuanhong : https://github.com/le0tan\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var zhMo = moment.defineLocale('zh-mo', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'D/M/YYYY',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n var hm = hour * 100 + minute;\n\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天] LT',\n nextDay: '[明天] LT',\n nextWeek: '[下]dddd LT',\n lastDay: '[昨天] LT',\n lastWeek: '[上]dddd LT',\n sameElse: 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n\n case 'M':\n return number + '月';\n\n case 'w':\n case 'W':\n return number + '週';\n\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s內',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年'\n }\n });\n return zhMo;\n});","//! moment.js locale configuration\n//! locale : Chinese (Taiwan) [zh-tw]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var zhTw = moment.defineLocale('zh-tw', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function meridiemHour(hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function meridiem(hour, minute, isLower) {\n var hm = hour * 100 + minute;\n\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天] LT',\n nextDay: '[明天] LT',\n nextWeek: '[下]dddd LT',\n lastDay: '[昨天] LT',\n lastWeek: '[上]dddd LT',\n sameElse: 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function ordinal(number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n\n case 'M':\n return number + '月';\n\n case 'w':\n case 'W':\n return number + '週';\n\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年'\n }\n });\n return zhTw;\n});","//! moment.js\n//! version : 2.29.1\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : global.moment = factory();\n})(this, function () {\n 'use strict';\n\n var hookCallback;\n\n function hooks() {\n return hookCallback.apply(null, arguments);\n } // This is done to register the method called with moment()\n // without creating circular dependencies.\n\n\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return input != null && Object.prototype.toString.call(input) === '[object Object]';\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n\n for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\n }\n }\n\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';\n }\n\n function isDate(input) {\n return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';\n }\n\n function map(arr, fn) {\n var res = [],\n i;\n\n for (i = 0; i < arr.length; ++i) {\n res.push(fn(arr[i], i));\n }\n\n return res;\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidEra: null,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n era: null,\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n\n return m._pf;\n }\n\n var some;\n\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function some(fun) {\n var t = Object(this),\n len = t.length >>> 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m),\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n }),\n isNowValid = !isNaN(m._d.getTime()) && flags.overflow < 0 && !flags.empty && !flags.invalidEra && !flags.invalidMonth && !flags.invalidWeekday && !flags.weekdayMismatch && !flags.nullInput && !flags.invalidFormat && !flags.userInvalidated && (!flags.meridiem || flags.meridiem && parsedParts);\n\n if (m._strict) {\n isNowValid = isNowValid && flags.charsLeftOver === 0 && flags.unusedTokens.length === 0 && flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n }\n\n return m._isValid;\n }\n\n function createInvalid(flags) {\n var m = createUTC(NaN);\n\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n } // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n\n\n var momentProperties = hooks.momentProperties = [],\n updateInProgress = false;\n\n function copyConfig(to, from) {\n var i, prop, val;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentProperties.length > 0) {\n for (i = 0; i < momentProperties.length; i++) {\n prop = momentProperties[i];\n val = from[prop];\n\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n } // Moment prototype object\n\n\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n\n if (!this.isValid()) {\n this._d = new Date(NaN);\n } // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n\n\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment(obj) {\n return obj instanceof Moment || obj != null && obj._isAMomentObject != null;\n }\n\n function warn(msg) {\n if (hooks.suppressDeprecationWarnings === false && typeof console !== 'undefined' && console.warn) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n\n if (firstTime) {\n var args = [],\n arg,\n i,\n key;\n\n for (i = 0; i < arguments.length; i++) {\n arg = '';\n\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n\n args.push(arg);\n }\n\n warn(msg + '\\nArguments: ' + Array.prototype.slice.call(args).join('') + '\\n' + new Error().stack);\n firstTime = false;\n }\n\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return typeof Function !== 'undefined' && input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n }\n\n function set(config) {\n var prop, i;\n\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n\n this._config = config; // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n\n this._dayOfMonthOrdinalParseLenient = new RegExp((this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + '|' + /\\d{1,2}/.source);\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n\n for (prop in parentConfig) {\n if (hasOwnProp(parentConfig, prop) && !hasOwnProp(childConfig, prop) && isObject(parentConfig[prop])) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function keys(obj) {\n var i,\n res = [];\n\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n };\n\n function calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (sign ? forceSign ? '+' : '' : '-') + Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;\n }\n\n var formattingTokens = /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n formatTokenFunctions = {}; // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n\n if (typeof callback === 'string') {\n func = function func() {\n return this[callback]();\n };\n }\n\n if (token) {\n formatTokenFunctions[token] = func;\n }\n\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(func.apply(this, arguments), token);\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '',\n i;\n\n for (i = 0; i < length; i++) {\n output += isFunction(array[i]) ? array[i].call(mom, format) : array[i];\n }\n\n return output;\n };\n } // format date using native date object\n\n\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A'\n };\n\n function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper.match(formattingTokens).map(function (tok) {\n if (tok === 'MMMM' || tok === 'MM' || tok === 'DD' || tok === 'dddd') {\n return tok.slice(1);\n }\n\n return tok;\n }).join('');\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate() {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n w: 'a week',\n ww: '%d weeks',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n };\n\n function relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output) ? output(number, withoutSuffix, string, isFuture) : output.replace(/%d/i, number);\n }\n\n function pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias(unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({\n unit: u,\n priority: priorities[u]\n });\n }\n }\n\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function isLeapYear(year) {\n return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;\n }\n\n function absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n function makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get(mom, unit) {\n return mom.isValid() ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;\n }\n\n function set$1(mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) {\n value = toInt(value);\n\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month()));\n } else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n } // MOMENTS\n\n\n function stringGet(units) {\n units = normalizeUnits(units);\n\n if (isFunction(this[units])) {\n return this[units]();\n }\n\n return this;\n }\n\n function stringSet(units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i;\n\n for (i = 0; i < prioritized.length; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n\n return this;\n }\n\n var match1 = /\\d/,\n // 0 - 9\n match2 = /\\d\\d/,\n // 00 - 99\n match3 = /\\d{3}/,\n // 000 - 999\n match4 = /\\d{4}/,\n // 0000 - 9999\n match6 = /[+-]?\\d{6}/,\n // -999999 - 999999\n match1to2 = /\\d\\d?/,\n // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/,\n // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/,\n // 99999 - 999999\n match1to3 = /\\d{1,3}/,\n // 0 - 999\n match1to4 = /\\d{1,4}/,\n // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/,\n // -999999 - 999999\n matchUnsigned = /\\d+/,\n // 0 - inf\n matchSigned = /[+-]?\\d+/,\n // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi,\n // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi,\n // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/,\n // 123456789 123456789.123\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n regexes;\n regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n } // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n\n\n function unescapeFormat(s) {\n return regexEscape(s.replace('\\\\', '').replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }));\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken(token, callback) {\n var i,\n func = callback;\n\n if (typeof token === 'string') {\n token = [token];\n }\n\n if (isNumber(callback)) {\n func = function func(input, array) {\n array[callback] = toInt(input);\n };\n }\n\n for (i = 0; i < token.length; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\n function mod(n, x) {\n return (n % x + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function indexOf(o) {\n // I know\n var i;\n\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1 ? isLeapYear(year) ? 29 : 28 : 31 - modMonth % 7 % 2;\n } // FORMATTING\n\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n }); // ALIASES\n\n addUnitAlias('month', 'M'); // PRIORITY\n\n addUnitPriority('month', 8); // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict); // if we didn't find a month name, mark the date as invalid.\n\n\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n }); // LOCALES\n\n var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months) ? this._months : this._months['standalone'];\n }\n\n return isArray(this._months) ? this._months[m.month()] : this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort) ? this._monthsShort : this._monthsShort['standalone'];\n }\n\n return isArray(this._monthsShort) ? this._monthsShort[m.month()] : this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n\n if (ii !== -1) {\n return ii;\n }\n\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n\n if (ii !== -1) {\n return ii;\n }\n\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n } // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n\n\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');\n this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');\n }\n\n if (!strict && !this._monthsParse[i]) {\n regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n } // test the regex\n\n\n if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {\n return i;\n } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n } // MOMENTS\n\n\n function setMonth(mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value); // TODO: Another silent failure?\n\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n\n return mom;\n }\n\n function getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n\n return this._monthsShortStrictRegex && isStrict ? this._monthsShortStrictRegex : this._monthsShortRegex;\n }\n }\n\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n\n return this._monthsStrictRegex && isStrict ? this._monthsStrictRegex : this._monthsRegex;\n }\n }\n\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom;\n\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n } // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n\n\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n } // FORMATTING\n\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n });\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year'); // ALIASES\n\n addUnitAlias('year', 'y'); // PRIORITIES\n\n addUnitPriority('year', 1); // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n }); // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n } // HOOKS\n\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n }; // MOMENTS\n\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear() {\n return isLeapYear(this.year());\n }\n\n function createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date; // the date constructor remaps years 0-99 to 1900-1999\n\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate(y) {\n var date, args; // the Date.UTC function remaps years 0-99 to 1900-1999\n\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments); // preserve leap years using a full 400 year cycle, then reset\n\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n } // start-of-first-week - start-of-year\n\n\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n return -fwdlw + fwd - 1;\n } // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n\n\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n } // FORMATTING\n\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek'); // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W'); // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5); // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n }); // HELPERS\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n };\n\n function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear() {\n return this._week.doy;\n } // MOMENTS\n\n\n function getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n } // FORMATTING\n\n\n addFormatToken('d', 0, 'do', 'day');\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday'); // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E'); // PRIORITY\n\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11); // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict); // if we didn't get a weekday name, mark the date as invalid\n\n\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n }); // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n\n return isNaN(input) ? null : input;\n } // LOCALES\n\n\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays) ? this._weekdays : this._weekdays[m && m !== true && this._weekdays.isFormat.test(format) ? 'format' : 'standalone'];\n return m === true ? shiftWeekdays(weekdays, this._week.dow) : m ? weekdays[m.day()] : weekdays;\n }\n\n function localeWeekdaysShort(m) {\n return m === true ? shiftWeekdays(this._weekdaysShort, this._week.dow) : m ? this._weekdaysShort[m.day()] : this._weekdaysShort;\n }\n\n function localeWeekdaysMin(m) {\n return m === true ? shiftWeekdays(this._weekdaysMin, this._week.dow) : m ? this._weekdaysMin[m.day()] : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n\n if (ii !== -1) {\n return ii;\n }\n\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n\n if (ii !== -1) {\n return ii;\n }\n\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n\n if (ii !== -1) {\n return ii;\n }\n\n ii = indexOf.call(this._weekdaysParse, llc);\n\n if (ii !== -1) {\n return ii;\n }\n\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n\n if (ii !== -1) {\n return ii;\n }\n\n ii = indexOf.call(this._weekdaysParse, llc);\n\n if (ii !== -1) {\n return ii;\n }\n\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$', 'i');\n }\n\n if (!this._weekdaysParse[i]) {\n regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n } // test the regex\n\n\n if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n } // MOMENTS\n\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n } // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n\n return this._weekdaysStrictRegex && isStrict ? this._weekdaysStrictRegex : this._weekdaysRegex;\n }\n }\n\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n\n return this._weekdaysShortStrictRegex && isStrict ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex;\n }\n }\n\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n\n return this._weekdaysMinStrictRegex && isStrict ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex;\n }\n }\n\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(this.weekdays(mom, ''));\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n } // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n\n\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');\n } // FORMATTING\n\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n addFormatToken('hmmss', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) + zeroFill(this.seconds(), 2);\n });\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n addFormatToken('Hmmss', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2) + zeroFill(this.seconds(), 2);\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);\n });\n }\n\n meridiem('a', true);\n meridiem('A', false); // ALIASES\n\n addUnitAlias('hour', 'h'); // PRIORITY\n\n addUnitPriority('hour', 13); // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n }); // LOCALES\n\n function localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n getSetHour = makeGetSet('Hours', true);\n\n function localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n week: defaultLocaleWeek,\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n meridiemParse: defaultLocaleMeridiemParse\n }; // internal storage for locale config files\n\n var locales = {},\n localeFamilies = {},\n globalLocale;\n\n function commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n\n return minl;\n }\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n } // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n\n\n function chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n\n if (locale) {\n return locale;\n }\n\n if (next && next.length >= j && commonPrefix(split, next) >= j - 1) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n\n j--;\n }\n\n i++;\n }\n\n return globalLocale;\n }\n\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire; // TODO: Find a better way to register and load all the locales in Node\n\n if (locales[name] === undefined && typeof module !== 'undefined' && module && module.exports) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\n }\n\n return locales[name];\n } // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n\n\n function getSetGlobalLocale(key, values) {\n var data;\n\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn('Locale ' + key + ' not found. Did you forget to load it?');\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n\n if (locales[name] != null) {\n deprecateSimple('defineLocaleOverride', 'use moment.updateLocale(localeName, config) to change ' + 'an existing locale. moment.defineLocale(localeName, ' + 'config) should only be used for creating a new locale ' + 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config\n });\n return null;\n }\n }\n }\n\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n } // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n\n\n getSetGlobalLocale(name);\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n\n config = mergeConfigs(parentConfig, config);\n\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n } // backwards compat for now: also set the locale\n\n\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n\n if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n\n return locales[name];\n } // returns locale data\n\n\n function getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n\n if (locale) {\n return locale;\n }\n\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow(m) {\n var overflow,\n a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow = a[MONTH] < 0 || a[MONTH] > 11 ? MONTH : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE : a[HOUR] < 0 || a[HOUR] > 24 || a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0) ? HOUR : a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE : a[SECOND] < 0 || a[SECOND] > 59 ? SECOND : a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND : -1;\n\n if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {\n overflow = DATE;\n }\n\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n } // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n\n\n var extendedIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n basicIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n isoDates = [['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/], ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/], ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/], ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false], ['YYYY-DDD', /\\d{4}-\\d{3}/], ['YYYY-MM', /\\d{4}-\\d\\d/, false], ['YYYYYYMMDD', /[+-]\\d{10}/], ['YYYYMMDD', /\\d{8}/], ['GGGG[W]WWE', /\\d{4}W\\d{3}/], ['GGGG[W]WW', /\\d{4}W\\d{2}/, false], ['YYYYDDD', /\\d{7}/], ['YYYYMM', /\\d{6}/, false], ['YYYY', /\\d{4}/, false]],\n // iso time formats and regexes\n isoTimes = [['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/], ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/], ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/], ['HH:mm', /\\d\\d:\\d\\d/], ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/], ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/], ['HHmmss', /\\d\\d\\d\\d\\d\\d/], ['HHmm', /\\d\\d\\d\\d/], ['HH', /\\d\\d/]],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60\n }; // date from iso format\n\n function configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat;\n\n if (match) {\n getParsingFlags(config).iso = true;\n\n for (i = 0, l = isoDates.length; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n\n if (match[3]) {\n for (i = 0, l = isoTimes.length; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {\n var result = [untruncateYear(yearStr), defaultLocaleMonthsShort.indexOf(monthStr), parseInt(dayStr, 10), parseInt(hourStr, 10), parseInt(minuteStr, 10)];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s.replace(/\\([^)]*\\)|[\\n\\t]/g, ' ').replace(/(\\s\\s+)/g, ' ').replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();\n\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n\n return true;\n }\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10),\n m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n } // date and time from ref 2822 format\n\n\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n\n if (match) {\n parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);\n\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n config._d = createUTCDate.apply(null, config._a);\n\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n } // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n\n\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n }\n\n hooks.createFromInputFallback = deprecate('value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' + 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' + 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.', function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }); // Pick the first defined of two or three arguments.\n\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n\n if (b != null) {\n return b;\n }\n\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n\n if (config._useUTC) {\n return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];\n }\n\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n } // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n\n\n function configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config); //compute day of the year from weeks and weekdays\n\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n } //if the day of the year is set, figure out what it is\n\n\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n } // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n\n\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n } // Zero out whatever was not defaulted, including time\n\n\n for (; i < 7; i++) {\n config._a[i] = input[i] = config._a[i] == null ? i === 2 ? 1 : 0 : config._a[i];\n } // Check for 24:00:00.000\n\n\n if (config._a[HOUR] === 24 && config._a[MINUTE] === 0 && config._a[SECOND] === 0 && config._a[MILLISECOND] === 0) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);\n expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay(); // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n } // check for mismatching day of week\n\n\n if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n w = config._w;\n\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4; // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n\n weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n curWeek = weekOfYear(createLocal(), dow, doy);\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year); // Default to current week.\n\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n } // constant that refers to the ISO standard\n\n\n hooks.ISO_8601 = function () {}; // constant that refers to the RFC 2822 form\n\n\n hooks.RFC_2822 = function () {}; // date from string and format string\n\n\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n\n config._a = [];\n getParsingFlags(config).empty = true; // This array is used to make a Date, either with `new Date` or `Date.UTC`\n\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era;\n tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];\n\n for (i = 0; i < tokens.length; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];\n\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n\n string = string.slice(string.indexOf(parsedInput) + parsedInput.length);\n totalParsedInputLength += parsedInput.length;\n } // don't parse if it's not a known token\n\n\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n } // add remaining unparsed input length to the string\n\n\n getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;\n\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n } // clear _12h flag if hour is <= 12\n\n\n if (config._a[HOUR] <= 12 && getParsingFlags(config).bigHour === true && config._a[HOUR] > 0) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem; // handle meridiem\n\n config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem); // handle era\n\n era = getParsingFlags(config).era;\n\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n\n if (isPm && hour < 12) {\n hour += 12;\n }\n\n if (!isPm && hour === 12) {\n hour = 0;\n }\n\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n } // date from string and array of format strings\n\n\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false;\n\n if (config._f.length === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < config._f.length; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (isValid(tempConfig)) {\n validFormatFound = true;\n } // if there is any input that was not parsed add a penalty for that format\n\n\n currentScore += getParsingFlags(tempConfig).charsLeftOver; //or tokens\n\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n getParsingFlags(tempConfig).score = currentScore;\n\n if (!bestFormatIsValid) {\n if (scoreToBeat == null || currentScore < scoreToBeat || validFormatFound) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i),\n dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map([i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond], function (obj) {\n return obj && parseInt(obj, 10);\n });\n configFromArray(config);\n }\n\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || format === undefined && input === '') {\n return createInvalid({\n nullInput: true\n });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (isObject(input) && isObjectEmpty(input) || isArray(input) && input.length === 0) {\n input = undefined;\n } // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n\n\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n return createFromConfig(c);\n }\n\n function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate('moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/', function () {\n var other = createLocal.apply(null, arguments);\n\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }),\n prototypeMax = deprecate('moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/', function () {\n var other = createLocal.apply(null, arguments);\n\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }); // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n\n function pickBy(fn, moments) {\n var res, i;\n\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n\n if (!moments.length) {\n return createLocal();\n }\n\n res = moments[0];\n\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n\n return res;\n } // TODO: Use [].sort instead?\n\n\n function min() {\n var args = [].slice.call(arguments, 0);\n return pickBy('isBefore', args);\n }\n\n function max() {\n var args = [].slice.call(arguments, 0);\n return pickBy('isAfter', args);\n }\n\n var now = function now() {\n return Date.now ? Date.now() : +new Date();\n };\n\n var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];\n\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i;\n\n for (key in m) {\n if (hasOwnProp(m, key) && !(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) {\n return false;\n }\n }\n\n for (i = 0; i < ordering.length; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n this._isValid = isDurationValid(normalizedInput); // representation for dateAddRemove\n\n this._milliseconds = +milliseconds + seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n\n this._days = +days + weeks * 7; // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n\n this._months = +months + quarters * 3 + years * 12;\n this._data = {};\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration(obj) {\n return obj instanceof Duration;\n }\n\n function absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n } // compare two arrays, return the number of differences\n\n\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (dontConvert && array1[i] !== array2[i] || !dontConvert && toInt(array1[i]) !== toInt(array2[i])) {\n diffs++;\n }\n }\n\n return diffs + lengthDiff;\n } // FORMATTING\n\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n\n return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~offset % 60, 2);\n });\n }\n\n offset('Z', ':');\n offset('ZZ', ''); // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n }); // HELPERS\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n\n if (matches === null) {\n return null;\n }\n\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n } // Return a moment from input, that is local/utc/zone equivalent to model.\n\n\n function cloneWithOffset(input, model) {\n var res, diff;\n\n if (model._isUTC) {\n res = model.clone();\n diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf(); // Use low-level api, because this fn is low-level api.\n\n res._d.setTime(res._d.valueOf() + diff);\n\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset());\n } // HOOKS\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n\n\n hooks.updateOffset = function () {}; // MOMENTS\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n\n\n function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n\n this._offset = input;\n this._isUTC = true;\n\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(this, createDuration(input - offset, 'm'), 1, false);\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n\n return this;\n }\n\n function setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n\n return this;\n }\n\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n\n input = input ? createLocal(input).utcOffset() : 0;\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime() {\n return this.utcOffset() > this.clone().month(0).utcOffset() || this.utcOffset() > this.clone().month(5).utcOffset();\n }\n\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {},\n other;\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted = this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n } // ASP.NET json date format regex\n\n\n var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n isoRegex = /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months\n };\n } else if (isNumber(input) || !isNaN(+input)) {\n duration = {};\n\n if (key) {\n duration[key] = +input;\n } else {\n duration.milliseconds = +input;\n }\n } else if (match = aspNetRegex.exec(input)) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match\n\n };\n } else if (match = isoRegex.exec(input)) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign)\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {\n diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.')); // apply sign while we're at it\n\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n res.months = other.month() - base.month() + (other.year() - base.year()) * 12;\n\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n\n if (!(base.isValid() && other.isValid())) {\n return {\n milliseconds: 0,\n months: 0\n };\n }\n\n other = cloneWithOffset(other, base);\n\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n } // TODO: remove 'name' arg after deprecation is removed\n\n\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp; //invert the arguments, but complain about it\n\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' + 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');\n tmp = val;\n val = period;\n period = tmp;\n }\n\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n\n function isString(input) {\n return typeof input === 'string' || input instanceof String;\n } // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n\n\n function isMomentInput(input) {\n return isMoment(input) || isDate(input) || isString(input) || isNumber(input) || isNumberOrStringArray(input) || isMomentInputObject(input) || input === null || input === undefined;\n }\n\n function isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = ['years', 'year', 'y', 'months', 'month', 'M', 'days', 'day', 'd', 'dates', 'date', 'D', 'hours', 'hour', 'h', 'minutes', 'minute', 'm', 'seconds', 'second', 's', 'milliseconds', 'millisecond', 'ms'],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n\n if (arrayTest) {\n dataTypeTest = input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n\n return arrayTest && dataTypeTest;\n }\n\n function isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = ['sameDay', 'nextDay', 'lastDay', 'nextWeek', 'lastWeek', 'sameElse'],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6 ? 'sameElse' : diff < -1 ? 'lastWeek' : diff < 0 ? 'lastDay' : diff < 1 ? 'sameDay' : diff < 2 ? 'nextDay' : diff < 7 ? 'nextWeek' : 'sameElse';\n }\n\n function calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n } // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n\n\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);\n return this.format(output || this.localeData().calendar(format, this, createLocal(now)));\n }\n\n function clone() {\n return new Moment(this);\n }\n\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n\n units = normalizeUnits(units) || 'millisecond';\n\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n\n units = normalizeUnits(units) || 'millisecond';\n\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n\n inclusivity = inclusivity || '()';\n return (inclusivity[0] === '(' ? this.isAfter(localFrom, units) : !this.isBefore(localFrom, units)) && (inclusivity[1] === ')' ? this.isBefore(localTo, units) : !this.isAfter(localTo, units));\n }\n\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n\n units = normalizeUnits(units) || 'millisecond';\n\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();\n }\n }\n\n function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff(input, units, asFloat) {\n var that, zoneDelta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n\n case 'month':\n output = monthDiff(this, that);\n break;\n\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n\n case 'second':\n output = (this - that) / 1e3;\n break;\n // 1000\n\n case 'minute':\n output = (this - that) / 6e4;\n break;\n // 1000 * 60\n\n case 'hour':\n output = (this - that) / 36e5;\n break;\n // 1000 * 60 * 60\n\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break;\n // 1000 * 60 * 60 * 24, negate dst\n\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break;\n // 1000 * 60 * 60 * 24 * 7, negate dst\n\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n } // difference in months\n\n\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months'); // linear across the month\n\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months'); // linear across the month\n\n adjust = (b - anchor) / (anchor2 - anchor);\n } //check for negative zero, return zero if negative zero\n\n\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z'));\n }\n }\n\n return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n\n\n function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;\n }\n\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (this.isValid() && (isMoment(time) && time.isValid() || createLocal(time).isValid())) {\n return createDuration({\n to: this,\n from: time\n }).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to(time, withoutSuffix) {\n if (this.isValid() && (isMoment(time) && time.isValid() || createLocal(time).isValid())) {\n return createDuration({\n from: this,\n to: time\n }).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n } // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n\n\n function locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n\n return this;\n }\n }\n\n var lang = deprecate('moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.', function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n });\n\n function localeData() {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000,\n MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR; // actual modulo - handles negative numbers (for dates before 1970):\n\n function mod$1(dividend, divisor) {\n return (dividend % divisor + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n\n case 'quarter':\n time = startOfDate(this.year(), this.month() - this.month() % 3, 1);\n break;\n\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n\n case 'week':\n time = startOfDate(this.year(), this.month(), this.date() - this.weekday());\n break;\n\n case 'isoWeek':\n time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1));\n break;\n\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR);\n break;\n\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n\n case 'quarter':\n time = startOfDate(this.year(), this.month() - this.month() % 3 + 3, 1) - 1;\n break;\n\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n\n case 'week':\n time = startOfDate(this.year(), this.month(), this.date() - this.weekday() + 7) - 1;\n break;\n\n case 'isoWeek':\n time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1) + 7) - 1;\n break;\n\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n\n case 'hour':\n time = this._d.valueOf();\n time += MS_PER_HOUR - mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR) - 1;\n break;\n\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n }\n\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate() {\n return new Date(this.valueOf());\n }\n\n function toArray() {\n var m = this;\n return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];\n }\n\n function toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds()\n };\n }\n\n function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2() {\n return isValid(this);\n }\n\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt() {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict\n };\n }\n\n addFormatToken('N', 0, 0, 'eraAbbr');\n addFormatToken('NN', 0, 0, 'eraAbbr');\n addFormatToken('NNN', 0, 0, 'eraAbbr');\n addFormatToken('NNNN', 0, 0, 'eraName');\n addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n addFormatToken('y', ['yy', 2], 0, 'eraYear');\n addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n addRegexToken('N', matchEraAbbr);\n addRegexToken('NN', matchEraAbbr);\n addRegexToken('NNN', matchEraAbbr);\n addRegexToken('NNNN', matchEraName);\n addRegexToken('NNNNN', matchEraNarrow);\n addParseToken(['N', 'NN', 'NNN', 'NNNN', 'NNNNN'], function (input, array, config, token) {\n var era = config._locale.erasParse(input, token, config._strict);\n\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n });\n addRegexToken('y', matchUnsigned);\n addRegexToken('yy', matchUnsigned);\n addRegexToken('yyy', matchUnsigned);\n addRegexToken('yyyy', matchUnsigned);\n addRegexToken('yo', matchEraYearOrdinal);\n addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n addParseToken(['yo'], function (input, array, config, token) {\n var match;\n\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n });\n\n function localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n\n for (i = 0, l = eras.length; i < l; ++i) {\n switch (typeof eras[i].since) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n\n switch (typeof eras[i].until) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n\n return eras;\n }\n\n function localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n\n break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n }\n\n function localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n }\n\n function getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n\n return '';\n }\n\n function getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n\n return '';\n }\n\n function getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n\n return '';\n }\n\n function getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1; // truncate time\n\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until || eras[i].until <= val && val <= eras[i].since) {\n return (this.year() - hooks(eras[i].since).year()) * dir + eras[i].offset;\n }\n }\n\n return this.year();\n }\n\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n\n return isStrict ? this._erasNameRegex : this._erasRegex;\n }\n\n function erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n }\n\n function matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n }\n\n function matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n }\n\n function matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n }\n\n function matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n }\n\n function computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n namePieces.push(regexEscape(eras[i].name));\n abbrPieces.push(regexEscape(eras[i].abbr));\n narrowPieces.push(regexEscape(eras[i].narrow));\n mixedPieces.push(regexEscape(eras[i].name));\n mixedPieces.push(regexEscape(eras[i].abbr));\n mixedPieces.push(regexEscape(eras[i].narrow));\n }\n\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp('^(' + narrowPieces.join('|') + ')', 'i');\n } // FORMATTING\n\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear'); // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG'); // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1); // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n });\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n }); // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(this, input, this.week(), this.weekday(), this.localeData()._week.dow, this.localeData()._week.doy);\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(this, input, this.isoWeek(), this.isoWeekday(), 1, 4);\n }\n\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n }\n\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n } // FORMATTING\n\n\n addFormatToken('Q', 0, 'Qo', 'quarter'); // ALIASES\n\n addUnitAlias('quarter', 'Q'); // PRIORITY\n\n addUnitPriority('quarter', 7); // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n }); // MOMENTS\n\n function getSetQuarter(input) {\n return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);\n } // FORMATTING\n\n\n addFormatToken('D', ['DD', 2], 'Do', 'date'); // ALIASES\n\n addUnitAlias('date', 'D'); // PRIORITY\n\n addUnitPriority('date', 9); // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict ? locale._dayOfMonthOrdinalParse || locale._ordinalParse : locale._dayOfMonthOrdinalParseLenient;\n });\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n }); // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true); // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear'); // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD'); // PRIORITY\n\n addUnitPriority('dayOfYear', 4); // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n }); // HELPERS\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n } // FORMATTING\n\n\n addFormatToken('m', ['mm', 2], 0, 'minute'); // ALIASES\n\n addUnitAlias('minute', 'm'); // PRIORITY\n\n addUnitPriority('minute', 14); // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE); // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false); // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second'); // ALIASES\n\n addUnitAlias('second', 's'); // PRIORITY\n\n addUnitPriority('second', 15); // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND); // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false); // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n }); // ALIASES\n\n addUnitAlias('millisecond', 'ms'); // PRIORITY\n\n addUnitPriority('millisecond', 16); // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n var token, getSetMillisecond;\n\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n\n getSetMillisecond = makeGetSet('Milliseconds', false); // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName'); // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n\n if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n }\n\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.eraName = getEraName;\n proto.eraNarrow = getEraNarrow;\n proto.eraAbbr = getEraAbbr;\n proto.eraYear = getEraYear;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.weeksInWeekYear = getWeeksInWeekYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);\n proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);\n proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear);\n proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);\n proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);\n\n function createUnix(input) {\n return createLocal(input * 1000);\n }\n\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat(string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n proto$1.eras = localeEras;\n proto$1.erasParse = localeErasParse;\n proto$1.erasConvertYear = localeErasConvertYear;\n proto$1.erasAbbrRegex = erasAbbrRegex;\n proto$1.erasNameRegex = erasNameRegex;\n proto$1.erasNarrowRegex = erasNarrowRegex;\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1(format, index, field, setter) {\n var locale = getLocale(),\n utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i,\n out = [];\n\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n\n return out;\n } // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n\n\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n\n return out;\n }\n\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n eras: [{\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD'\n }, {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC'\n }],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function ordinal(number) {\n var b = number % 10,\n output = toInt(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n }\n }); // Side effect imports\n\n hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);\n hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);\n var mathAbs = Math.abs;\n\n function abs() {\n var data = this._data;\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n return this;\n }\n\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n return duration._bubble();\n } // supports only 2.0-style add(1, 's') or add(duration)\n\n\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n } // supports only 2.0-style subtract(1, 's') or subtract(duration)\n\n\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble() {\n var milliseconds = this._milliseconds,\n days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n monthsFromDays; // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n\n if (!(milliseconds >= 0 && days >= 0 && months >= 0 || milliseconds <= 0 && days <= 0 && months <= 0)) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n } // The following code bubbles up values, see the tests for\n // examples of what that means.\n\n\n data.milliseconds = milliseconds % 1000;\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n days += absFloor(hours / 24); // convert days to months\n\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays)); // 12 months -> 1 year\n\n years = absFloor(months / 12);\n months %= 12;\n data.days = days;\n data.months = months;\n data.years = years;\n return this;\n }\n\n function daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return days * 4800 / 146097;\n }\n\n function monthsToDays(months) {\n // the reverse of daysToMonths\n return months * 146097 / 4800;\n }\n\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n\n var days,\n months,\n milliseconds = this._milliseconds;\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n\n switch (units) {\n case 'month':\n return months;\n\n case 'quarter':\n return months / 3;\n\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n\n case 'day':\n return days + milliseconds / 864e5;\n\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n } // TODO: Use this.as('ms')?\n\n\n function valueOf$1() {\n if (!this.isValid()) {\n return NaN;\n }\n\n return this._milliseconds + this._days * 864e5 + this._months % 12 * 2592e6 + toInt(this._months / 12) * 31536e6;\n }\n\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y');\n\n function clone$1() {\n return createDuration(this);\n }\n\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds'),\n seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n\n function weeks() {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round,\n thresholds = {\n ss: 44,\n // a few seconds to seconds\n s: 45,\n // seconds to minute\n m: 45,\n // minutes to hour\n h: 22,\n // hours to day\n d: 26,\n // days to month/week\n w: null,\n // weeks to month\n M: 11 // months to year\n\n }; // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n a = seconds <= thresholds.ss && ['s', seconds] || seconds < thresholds.s && ['ss', seconds] || minutes <= 1 && ['m'] || minutes < thresholds.m && ['mm', minutes] || hours <= 1 && ['h'] || hours < thresholds.h && ['hh', hours] || days <= 1 && ['d'] || days < thresholds.d && ['dd', days];\n\n if (thresholds.w != null) {\n a = a || weeks <= 1 && ['w'] || weeks < thresholds.w && ['ww', weeks];\n }\n\n a = a || months <= 1 && ['M'] || months < thresholds.M && ['MM', months] || years <= 1 && ['y'] || ['yy', years];\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n } // This function allows you to set the rounding function for relative time strings\n\n\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n\n return false;\n } // This function allows you to set a threshold for relative time strings\n\n\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n\n if (limit === undefined) {\n return thresholds[threshold];\n }\n\n thresholds[threshold] = limit;\n\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n\n return true;\n }\n\n function humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n\n if (typeof argWithSuffix === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n\n if (typeof argThresholds === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return (x > 0) - (x < 0) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000,\n days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n } // 3600 seconds -> 60 minutes -> 1 hour\n\n\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60; // 12 months -> 1 year\n\n years = absFloor(months / 12);\n months %= 12; // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n totalSign = total < 0 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n return totalSign + 'P' + (years ? ymSign + years + 'Y' : '') + (months ? ymSign + months + 'M' : '') + (days ? daysSign + days + 'D' : '') + (hours || minutes || seconds ? 'T' : '') + (hours ? hmsSign + hours + 'H' : '') + (minutes ? hmsSign + minutes + 'M' : '') + (seconds ? hmsSign + s + 'S' : '');\n }\n\n var proto$2 = Duration.prototype;\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);\n proto$2.lang = lang; // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf'); // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n }); //! moment.js\n\n hooks.version = '2.29.1';\n setHookCallback(createLocal);\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto; // currently HTML5 input type only supports 24-hour formats\n\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm',\n // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss',\n // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS',\n // \n DATE: 'YYYY-MM-DD',\n // \n TIME: 'HH:mm',\n // \n TIME_SECONDS: 'HH:mm:ss',\n // \n TIME_MS: 'HH:mm:ss.SSS',\n // \n WEEK: 'GGGG-[W]WW',\n // \n MONTH: 'YYYY-MM' // \n\n };\n return hooks;\n});","'use strict';\n/* eslint-env browser */\n\nvar el;\nvar semicolon = 59; // ';'\n\nmodule.exports = decodeEntity;\n\nfunction decodeEntity(characters) {\n var entity = '&' + characters + ';';\n var char;\n el = el || document.createElement('i');\n el.innerHTML = entity;\n char = el.textContent; // Some entities do not require the closing semicolon (`¬` - for instance),\n // which leads to situations where parsing the assumed entity of ¬it; will\n // result in the string `¬it;`. When we encounter a trailing semicolon after\n // parsing and the entity to decode was not a semicolon (`;`), we can\n // assume that the matching was incomplete\n\n if (char.charCodeAt(char.length - 1) === semicolon && characters !== 'semi') {\n return false;\n } // If the decoded string is equal to the input, the entity was not valid\n\n\n return char === entity ? false : char;\n}","'use strict';\n\nvar _require = require('./html'),\n DOCUMENT_MODE = _require.DOCUMENT_MODE; //Const\n\n\nvar VALID_DOCTYPE_NAME = 'html';\nvar VALID_SYSTEM_ID = 'about:legacy-compat';\nvar QUIRKS_MODE_SYSTEM_ID = 'http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd';\nvar QUIRKS_MODE_PUBLIC_ID_PREFIXES = ['+//silmaril//dtd html pro v0r11 19970101//', '-//as//dtd html 3.0 aswedit + extensions//', '-//advasoft ltd//dtd html 3.0 aswedit + extensions//', '-//ietf//dtd html 2.0 level 1//', '-//ietf//dtd html 2.0 level 2//', '-//ietf//dtd html 2.0 strict level 1//', '-//ietf//dtd html 2.0 strict level 2//', '-//ietf//dtd html 2.0 strict//', '-//ietf//dtd html 2.0//', '-//ietf//dtd html 2.1e//', '-//ietf//dtd html 3.0//', '-//ietf//dtd html 3.2 final//', '-//ietf//dtd html 3.2//', '-//ietf//dtd html 3//', '-//ietf//dtd html level 0//', '-//ietf//dtd html level 1//', '-//ietf//dtd html level 2//', '-//ietf//dtd html level 3//', '-//ietf//dtd html strict level 0//', '-//ietf//dtd html strict level 1//', '-//ietf//dtd html strict level 2//', '-//ietf//dtd html strict level 3//', '-//ietf//dtd html strict//', '-//ietf//dtd html//', '-//metrius//dtd metrius presentational//', '-//microsoft//dtd internet explorer 2.0 html strict//', '-//microsoft//dtd internet explorer 2.0 html//', '-//microsoft//dtd internet explorer 2.0 tables//', '-//microsoft//dtd internet explorer 3.0 html strict//', '-//microsoft//dtd internet explorer 3.0 html//', '-//microsoft//dtd internet explorer 3.0 tables//', '-//netscape comm. corp.//dtd html//', '-//netscape comm. corp.//dtd strict html//', \"-//o'reilly and associates//dtd html 2.0//\", \"-//o'reilly and associates//dtd html extended 1.0//\", \"-//o'reilly and associates//dtd html extended relaxed 1.0//\", '-//sq//dtd html 2.0 hotmetal + extensions//', '-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//', '-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//', '-//spyglass//dtd html 2.0 extended//', '-//sun microsystems corp.//dtd hotjava html//', '-//sun microsystems corp.//dtd hotjava strict html//', '-//w3c//dtd html 3 1995-03-24//', '-//w3c//dtd html 3.2 draft//', '-//w3c//dtd html 3.2 final//', '-//w3c//dtd html 3.2//', '-//w3c//dtd html 3.2s draft//', '-//w3c//dtd html 4.0 frameset//', '-//w3c//dtd html 4.0 transitional//', '-//w3c//dtd html experimental 19960712//', '-//w3c//dtd html experimental 970421//', '-//w3c//dtd w3 html//', '-//w3o//dtd w3 html 3.0//', '-//webtechs//dtd mozilla html 2.0//', '-//webtechs//dtd mozilla html//'];\nvar QUIRKS_MODE_NO_SYSTEM_ID_PUBLIC_ID_PREFIXES = QUIRKS_MODE_PUBLIC_ID_PREFIXES.concat(['-//w3c//dtd html 4.01 frameset//', '-//w3c//dtd html 4.01 transitional//']);\nvar QUIRKS_MODE_PUBLIC_IDS = ['-//w3o//dtd w3 html strict 3.0//en//', '-/w3c/dtd html 4.0 transitional/en', 'html'];\nvar LIMITED_QUIRKS_PUBLIC_ID_PREFIXES = ['-//w3c//dtd xhtml 1.0 frameset//', '-//w3c//dtd xhtml 1.0 transitional//'];\nvar LIMITED_QUIRKS_WITH_SYSTEM_ID_PUBLIC_ID_PREFIXES = LIMITED_QUIRKS_PUBLIC_ID_PREFIXES.concat(['-//w3c//dtd html 4.01 frameset//', '-//w3c//dtd html 4.01 transitional//']); //Utils\n\nfunction enquoteDoctypeId(id) {\n var quote = id.indexOf('\"') !== -1 ? \"'\" : '\"';\n return quote + id + quote;\n}\n\nfunction hasPrefix(publicId, prefixes) {\n for (var i = 0; i < prefixes.length; i++) {\n if (publicId.indexOf(prefixes[i]) === 0) {\n return true;\n }\n }\n\n return false;\n} //API\n\n\nexports.isConforming = function (token) {\n return token.name === VALID_DOCTYPE_NAME && token.publicId === null && (token.systemId === null || token.systemId === VALID_SYSTEM_ID);\n};\n\nexports.getDocumentMode = function (token) {\n if (token.name !== VALID_DOCTYPE_NAME) {\n return DOCUMENT_MODE.QUIRKS;\n }\n\n var systemId = token.systemId;\n\n if (systemId && systemId.toLowerCase() === QUIRKS_MODE_SYSTEM_ID) {\n return DOCUMENT_MODE.QUIRKS;\n }\n\n var publicId = token.publicId;\n\n if (publicId !== null) {\n publicId = publicId.toLowerCase();\n\n if (QUIRKS_MODE_PUBLIC_IDS.indexOf(publicId) > -1) {\n return DOCUMENT_MODE.QUIRKS;\n }\n\n var prefixes = systemId === null ? QUIRKS_MODE_NO_SYSTEM_ID_PUBLIC_ID_PREFIXES : QUIRKS_MODE_PUBLIC_ID_PREFIXES;\n\n if (hasPrefix(publicId, prefixes)) {\n return DOCUMENT_MODE.QUIRKS;\n }\n\n prefixes = systemId === null ? LIMITED_QUIRKS_PUBLIC_ID_PREFIXES : LIMITED_QUIRKS_WITH_SYSTEM_ID_PUBLIC_ID_PREFIXES;\n\n if (hasPrefix(publicId, prefixes)) {\n return DOCUMENT_MODE.LIMITED_QUIRKS;\n }\n }\n\n return DOCUMENT_MODE.NO_QUIRKS;\n};\n\nexports.serializeContent = function (name, publicId, systemId) {\n var str = '!DOCTYPE ';\n\n if (name) {\n str += name;\n }\n\n if (publicId) {\n str += ' PUBLIC ' + enquoteDoctypeId(publicId);\n } else if (systemId) {\n str += ' SYSTEM';\n }\n\n if (systemId !== null) {\n str += ' ' + enquoteDoctypeId(systemId);\n }\n\n return str;\n};","'use strict';\n\nmodule.exports = {\n controlCharacterInInputStream: 'control-character-in-input-stream',\n noncharacterInInputStream: 'noncharacter-in-input-stream',\n surrogateInInputStream: 'surrogate-in-input-stream',\n nonVoidHtmlElementStartTagWithTrailingSolidus: 'non-void-html-element-start-tag-with-trailing-solidus',\n endTagWithAttributes: 'end-tag-with-attributes',\n endTagWithTrailingSolidus: 'end-tag-with-trailing-solidus',\n unexpectedSolidusInTag: 'unexpected-solidus-in-tag',\n unexpectedNullCharacter: 'unexpected-null-character',\n unexpectedQuestionMarkInsteadOfTagName: 'unexpected-question-mark-instead-of-tag-name',\n invalidFirstCharacterOfTagName: 'invalid-first-character-of-tag-name',\n unexpectedEqualsSignBeforeAttributeName: 'unexpected-equals-sign-before-attribute-name',\n missingEndTagName: 'missing-end-tag-name',\n unexpectedCharacterInAttributeName: 'unexpected-character-in-attribute-name',\n unknownNamedCharacterReference: 'unknown-named-character-reference',\n missingSemicolonAfterCharacterReference: 'missing-semicolon-after-character-reference',\n unexpectedCharacterAfterDoctypeSystemIdentifier: 'unexpected-character-after-doctype-system-identifier',\n unexpectedCharacterInUnquotedAttributeValue: 'unexpected-character-in-unquoted-attribute-value',\n eofBeforeTagName: 'eof-before-tag-name',\n eofInTag: 'eof-in-tag',\n missingAttributeValue: 'missing-attribute-value',\n missingWhitespaceBetweenAttributes: 'missing-whitespace-between-attributes',\n missingWhitespaceAfterDoctypePublicKeyword: 'missing-whitespace-after-doctype-public-keyword',\n missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers: 'missing-whitespace-between-doctype-public-and-system-identifiers',\n missingWhitespaceAfterDoctypeSystemKeyword: 'missing-whitespace-after-doctype-system-keyword',\n missingQuoteBeforeDoctypePublicIdentifier: 'missing-quote-before-doctype-public-identifier',\n missingQuoteBeforeDoctypeSystemIdentifier: 'missing-quote-before-doctype-system-identifier',\n missingDoctypePublicIdentifier: 'missing-doctype-public-identifier',\n missingDoctypeSystemIdentifier: 'missing-doctype-system-identifier',\n abruptDoctypePublicIdentifier: 'abrupt-doctype-public-identifier',\n abruptDoctypeSystemIdentifier: 'abrupt-doctype-system-identifier',\n cdataInHtmlContent: 'cdata-in-html-content',\n incorrectlyOpenedComment: 'incorrectly-opened-comment',\n eofInScriptHtmlCommentLikeText: 'eof-in-script-html-comment-like-text',\n eofInDoctype: 'eof-in-doctype',\n nestedComment: 'nested-comment',\n abruptClosingOfEmptyComment: 'abrupt-closing-of-empty-comment',\n eofInComment: 'eof-in-comment',\n incorrectlyClosedComment: 'incorrectly-closed-comment',\n eofInCdata: 'eof-in-cdata',\n absenceOfDigitsInNumericCharacterReference: 'absence-of-digits-in-numeric-character-reference',\n nullCharacterReference: 'null-character-reference',\n surrogateCharacterReference: 'surrogate-character-reference',\n characterReferenceOutsideUnicodeRange: 'character-reference-outside-unicode-range',\n controlCharacterReference: 'control-character-reference',\n noncharacterCharacterReference: 'noncharacter-character-reference',\n missingWhitespaceBeforeDoctypeName: 'missing-whitespace-before-doctype-name',\n missingDoctypeName: 'missing-doctype-name',\n invalidCharacterSequenceAfterDoctypeName: 'invalid-character-sequence-after-doctype-name',\n duplicateAttribute: 'duplicate-attribute',\n nonConformingDoctype: 'non-conforming-doctype',\n missingDoctype: 'missing-doctype',\n misplacedDoctype: 'misplaced-doctype',\n endTagWithoutMatchingOpenElement: 'end-tag-without-matching-open-element',\n closingOfElementWithOpenChildElements: 'closing-of-element-with-open-child-elements',\n disallowedContentInNoscriptInHead: 'disallowed-content-in-noscript-in-head',\n openElementsLeftAfterEof: 'open-elements-left-after-eof',\n abandonedHeadElementChild: 'abandoned-head-element-child',\n misplacedStartTagForHeadElement: 'misplaced-start-tag-for-head-element',\n nestedNoscriptInHead: 'nested-noscript-in-head',\n eofInElementThatCanContainOnlyText: 'eof-in-element-that-can-contain-only-text'\n};","'use strict';\n\nvar _defineProperty = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/defineProperty\");\n\nvar _EXITS_FOREIGN_CONTEN;\n\nvar Tokenizer = require('../tokenizer');\n\nvar HTML = require('./html'); //Aliases\n\n\nvar $ = HTML.TAG_NAMES;\nvar NS = HTML.NAMESPACES;\nvar ATTRS = HTML.ATTRS; //MIME types\n\nvar MIME_TYPES = {\n TEXT_HTML: 'text/html',\n APPLICATION_XML: 'application/xhtml+xml'\n}; //Attributes\n\nvar DEFINITION_URL_ATTR = 'definitionurl';\nvar ADJUSTED_DEFINITION_URL_ATTR = 'definitionURL';\nvar SVG_ATTRS_ADJUSTMENT_MAP = {\n attributename: 'attributeName',\n attributetype: 'attributeType',\n basefrequency: 'baseFrequency',\n baseprofile: 'baseProfile',\n calcmode: 'calcMode',\n clippathunits: 'clipPathUnits',\n diffuseconstant: 'diffuseConstant',\n edgemode: 'edgeMode',\n filterunits: 'filterUnits',\n glyphref: 'glyphRef',\n gradienttransform: 'gradientTransform',\n gradientunits: 'gradientUnits',\n kernelmatrix: 'kernelMatrix',\n kernelunitlength: 'kernelUnitLength',\n keypoints: 'keyPoints',\n keysplines: 'keySplines',\n keytimes: 'keyTimes',\n lengthadjust: 'lengthAdjust',\n limitingconeangle: 'limitingConeAngle',\n markerheight: 'markerHeight',\n markerunits: 'markerUnits',\n markerwidth: 'markerWidth',\n maskcontentunits: 'maskContentUnits',\n maskunits: 'maskUnits',\n numoctaves: 'numOctaves',\n pathlength: 'pathLength',\n patterncontentunits: 'patternContentUnits',\n patterntransform: 'patternTransform',\n patternunits: 'patternUnits',\n pointsatx: 'pointsAtX',\n pointsaty: 'pointsAtY',\n pointsatz: 'pointsAtZ',\n preservealpha: 'preserveAlpha',\n preserveaspectratio: 'preserveAspectRatio',\n primitiveunits: 'primitiveUnits',\n refx: 'refX',\n refy: 'refY',\n repeatcount: 'repeatCount',\n repeatdur: 'repeatDur',\n requiredextensions: 'requiredExtensions',\n requiredfeatures: 'requiredFeatures',\n specularconstant: 'specularConstant',\n specularexponent: 'specularExponent',\n spreadmethod: 'spreadMethod',\n startoffset: 'startOffset',\n stddeviation: 'stdDeviation',\n stitchtiles: 'stitchTiles',\n surfacescale: 'surfaceScale',\n systemlanguage: 'systemLanguage',\n tablevalues: 'tableValues',\n targetx: 'targetX',\n targety: 'targetY',\n textlength: 'textLength',\n viewbox: 'viewBox',\n viewtarget: 'viewTarget',\n xchannelselector: 'xChannelSelector',\n ychannelselector: 'yChannelSelector',\n zoomandpan: 'zoomAndPan'\n};\nvar XML_ATTRS_ADJUSTMENT_MAP = {\n 'xlink:actuate': {\n prefix: 'xlink',\n name: 'actuate',\n namespace: NS.XLINK\n },\n 'xlink:arcrole': {\n prefix: 'xlink',\n name: 'arcrole',\n namespace: NS.XLINK\n },\n 'xlink:href': {\n prefix: 'xlink',\n name: 'href',\n namespace: NS.XLINK\n },\n 'xlink:role': {\n prefix: 'xlink',\n name: 'role',\n namespace: NS.XLINK\n },\n 'xlink:show': {\n prefix: 'xlink',\n name: 'show',\n namespace: NS.XLINK\n },\n 'xlink:title': {\n prefix: 'xlink',\n name: 'title',\n namespace: NS.XLINK\n },\n 'xlink:type': {\n prefix: 'xlink',\n name: 'type',\n namespace: NS.XLINK\n },\n 'xml:base': {\n prefix: 'xml',\n name: 'base',\n namespace: NS.XML\n },\n 'xml:lang': {\n prefix: 'xml',\n name: 'lang',\n namespace: NS.XML\n },\n 'xml:space': {\n prefix: 'xml',\n name: 'space',\n namespace: NS.XML\n },\n xmlns: {\n prefix: '',\n name: 'xmlns',\n namespace: NS.XMLNS\n },\n 'xmlns:xlink': {\n prefix: 'xmlns',\n name: 'xlink',\n namespace: NS.XMLNS\n }\n}; //SVG tag names adjustment map\n\nvar SVG_TAG_NAMES_ADJUSTMENT_MAP = exports.SVG_TAG_NAMES_ADJUSTMENT_MAP = {\n altglyph: 'altGlyph',\n altglyphdef: 'altGlyphDef',\n altglyphitem: 'altGlyphItem',\n animatecolor: 'animateColor',\n animatemotion: 'animateMotion',\n animatetransform: 'animateTransform',\n clippath: 'clipPath',\n feblend: 'feBlend',\n fecolormatrix: 'feColorMatrix',\n fecomponenttransfer: 'feComponentTransfer',\n fecomposite: 'feComposite',\n feconvolvematrix: 'feConvolveMatrix',\n fediffuselighting: 'feDiffuseLighting',\n fedisplacementmap: 'feDisplacementMap',\n fedistantlight: 'feDistantLight',\n feflood: 'feFlood',\n fefunca: 'feFuncA',\n fefuncb: 'feFuncB',\n fefuncg: 'feFuncG',\n fefuncr: 'feFuncR',\n fegaussianblur: 'feGaussianBlur',\n feimage: 'feImage',\n femerge: 'feMerge',\n femergenode: 'feMergeNode',\n femorphology: 'feMorphology',\n feoffset: 'feOffset',\n fepointlight: 'fePointLight',\n fespecularlighting: 'feSpecularLighting',\n fespotlight: 'feSpotLight',\n fetile: 'feTile',\n feturbulence: 'feTurbulence',\n foreignobject: 'foreignObject',\n glyphref: 'glyphRef',\n lineargradient: 'linearGradient',\n radialgradient: 'radialGradient',\n textpath: 'textPath'\n}; //Tags that causes exit from foreign content\n\nvar EXITS_FOREIGN_CONTENT = (_EXITS_FOREIGN_CONTEN = {}, _defineProperty(_EXITS_FOREIGN_CONTEN, $.B, true), _defineProperty(_EXITS_FOREIGN_CONTEN, $.BIG, true), _defineProperty(_EXITS_FOREIGN_CONTEN, $.BLOCKQUOTE, true), _defineProperty(_EXITS_FOREIGN_CONTEN, $.BODY, true), _defineProperty(_EXITS_FOREIGN_CONTEN, $.BR, true), _defineProperty(_EXITS_FOREIGN_CONTEN, $.CENTER, true), _defineProperty(_EXITS_FOREIGN_CONTEN, $.CODE, true), _defineProperty(_EXITS_FOREIGN_CONTEN, $.DD, true), _defineProperty(_EXITS_FOREIGN_CONTEN, $.DIV, true), _defineProperty(_EXITS_FOREIGN_CONTEN, $.DL, true), _defineProperty(_EXITS_FOREIGN_CONTEN, $.DT, true), _defineProperty(_EXITS_FOREIGN_CONTEN, $.EM, true), _defineProperty(_EXITS_FOREIGN_CONTEN, $.EMBED, true), _defineProperty(_EXITS_FOREIGN_CONTEN, $.H1, true), _defineProperty(_EXITS_FOREIGN_CONTEN, $.H2, true), _defineProperty(_EXITS_FOREIGN_CONTEN, $.H3, true), _defineProperty(_EXITS_FOREIGN_CONTEN, $.H4, true), _defineProperty(_EXITS_FOREIGN_CONTEN, $.H5, true), _defineProperty(_EXITS_FOREIGN_CONTEN, $.H6, true), _defineProperty(_EXITS_FOREIGN_CONTEN, $.HEAD, true), _defineProperty(_EXITS_FOREIGN_CONTEN, $.HR, true), _defineProperty(_EXITS_FOREIGN_CONTEN, $.I, true), _defineProperty(_EXITS_FOREIGN_CONTEN, $.IMG, true), _defineProperty(_EXITS_FOREIGN_CONTEN, $.LI, true), _defineProperty(_EXITS_FOREIGN_CONTEN, $.LISTING, true), _defineProperty(_EXITS_FOREIGN_CONTEN, $.MENU, true), _defineProperty(_EXITS_FOREIGN_CONTEN, $.META, true), _defineProperty(_EXITS_FOREIGN_CONTEN, $.NOBR, true), _defineProperty(_EXITS_FOREIGN_CONTEN, $.OL, true), _defineProperty(_EXITS_FOREIGN_CONTEN, $.P, true), _defineProperty(_EXITS_FOREIGN_CONTEN, $.PRE, true), _defineProperty(_EXITS_FOREIGN_CONTEN, $.RUBY, true), _defineProperty(_EXITS_FOREIGN_CONTEN, $.S, true), _defineProperty(_EXITS_FOREIGN_CONTEN, $.SMALL, true), _defineProperty(_EXITS_FOREIGN_CONTEN, $.SPAN, true), _defineProperty(_EXITS_FOREIGN_CONTEN, $.STRONG, true), _defineProperty(_EXITS_FOREIGN_CONTEN, $.STRIKE, true), _defineProperty(_EXITS_FOREIGN_CONTEN, $.SUB, true), _defineProperty(_EXITS_FOREIGN_CONTEN, $.SUP, true), _defineProperty(_EXITS_FOREIGN_CONTEN, $.TABLE, true), _defineProperty(_EXITS_FOREIGN_CONTEN, $.TT, true), _defineProperty(_EXITS_FOREIGN_CONTEN, $.U, true), _defineProperty(_EXITS_FOREIGN_CONTEN, $.UL, true), _defineProperty(_EXITS_FOREIGN_CONTEN, $.VAR, true), _EXITS_FOREIGN_CONTEN); //Check exit from foreign content\n\nexports.causesExit = function (startTagToken) {\n var tn = startTagToken.tagName;\n var isFontWithAttrs = tn === $.FONT && (Tokenizer.getTokenAttr(startTagToken, ATTRS.COLOR) !== null || Tokenizer.getTokenAttr(startTagToken, ATTRS.SIZE) !== null || Tokenizer.getTokenAttr(startTagToken, ATTRS.FACE) !== null);\n return isFontWithAttrs ? true : EXITS_FOREIGN_CONTENT[tn];\n}; //Token adjustments\n\n\nexports.adjustTokenMathMLAttrs = function (token) {\n for (var i = 0; i < token.attrs.length; i++) {\n if (token.attrs[i].name === DEFINITION_URL_ATTR) {\n token.attrs[i].name = ADJUSTED_DEFINITION_URL_ATTR;\n break;\n }\n }\n};\n\nexports.adjustTokenSVGAttrs = function (token) {\n for (var i = 0; i < token.attrs.length; i++) {\n var adjustedAttrName = SVG_ATTRS_ADJUSTMENT_MAP[token.attrs[i].name];\n\n if (adjustedAttrName) {\n token.attrs[i].name = adjustedAttrName;\n }\n }\n};\n\nexports.adjustTokenXMLAttrs = function (token) {\n for (var i = 0; i < token.attrs.length; i++) {\n var adjustedAttrEntry = XML_ATTRS_ADJUSTMENT_MAP[token.attrs[i].name];\n\n if (adjustedAttrEntry) {\n token.attrs[i].prefix = adjustedAttrEntry.prefix;\n token.attrs[i].name = adjustedAttrEntry.name;\n token.attrs[i].namespace = adjustedAttrEntry.namespace;\n }\n }\n};\n\nexports.adjustTokenSVGTagName = function (token) {\n var adjustedTagName = SVG_TAG_NAMES_ADJUSTMENT_MAP[token.tagName];\n\n if (adjustedTagName) {\n token.tagName = adjustedTagName;\n }\n}; //Integration points\n\n\nfunction isMathMLTextIntegrationPoint(tn, ns) {\n return ns === NS.MATHML && (tn === $.MI || tn === $.MO || tn === $.MN || tn === $.MS || tn === $.MTEXT);\n}\n\nfunction isHtmlIntegrationPoint(tn, ns, attrs) {\n if (ns === NS.MATHML && tn === $.ANNOTATION_XML) {\n for (var i = 0; i < attrs.length; i++) {\n if (attrs[i].name === ATTRS.ENCODING) {\n var value = attrs[i].value.toLowerCase();\n return value === MIME_TYPES.TEXT_HTML || value === MIME_TYPES.APPLICATION_XML;\n }\n }\n }\n\n return ns === NS.SVG && (tn === $.FOREIGN_OBJECT || tn === $.DESC || tn === $.TITLE);\n}\n\nexports.isIntegrationPoint = function (tn, ns, attrs, foreignNS) {\n if ((!foreignNS || foreignNS === NS.HTML) && isHtmlIntegrationPoint(tn, ns, attrs)) {\n return true;\n }\n\n if ((!foreignNS || foreignNS === NS.MATHML) && isMathMLTextIntegrationPoint(tn, ns)) {\n return true;\n }\n\n return false;\n};","'use strict';\n\nvar _defineProperty = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/defineProperty\");\n\nvar _NS$HTML, _NS$MATHML, _NS$SVG, _exports$SPECIAL_ELEM;\n\nvar NS = exports.NAMESPACES = {\n HTML: 'http://www.w3.org/1999/xhtml',\n MATHML: 'http://www.w3.org/1998/Math/MathML',\n SVG: 'http://www.w3.org/2000/svg',\n XLINK: 'http://www.w3.org/1999/xlink',\n XML: 'http://www.w3.org/XML/1998/namespace',\n XMLNS: 'http://www.w3.org/2000/xmlns/'\n};\nexports.ATTRS = {\n TYPE: 'type',\n ACTION: 'action',\n ENCODING: 'encoding',\n PROMPT: 'prompt',\n NAME: 'name',\n COLOR: 'color',\n FACE: 'face',\n SIZE: 'size'\n};\nexports.DOCUMENT_MODE = {\n NO_QUIRKS: 'no-quirks',\n QUIRKS: 'quirks',\n LIMITED_QUIRKS: 'limited-quirks'\n};\nvar $ = exports.TAG_NAMES = {\n A: 'a',\n ADDRESS: 'address',\n ANNOTATION_XML: 'annotation-xml',\n APPLET: 'applet',\n AREA: 'area',\n ARTICLE: 'article',\n ASIDE: 'aside',\n B: 'b',\n BASE: 'base',\n BASEFONT: 'basefont',\n BGSOUND: 'bgsound',\n BIG: 'big',\n BLOCKQUOTE: 'blockquote',\n BODY: 'body',\n BR: 'br',\n BUTTON: 'button',\n CAPTION: 'caption',\n CENTER: 'center',\n CODE: 'code',\n COL: 'col',\n COLGROUP: 'colgroup',\n DD: 'dd',\n DESC: 'desc',\n DETAILS: 'details',\n DIALOG: 'dialog',\n DIR: 'dir',\n DIV: 'div',\n DL: 'dl',\n DT: 'dt',\n EM: 'em',\n EMBED: 'embed',\n FIELDSET: 'fieldset',\n FIGCAPTION: 'figcaption',\n FIGURE: 'figure',\n FONT: 'font',\n FOOTER: 'footer',\n FOREIGN_OBJECT: 'foreignObject',\n FORM: 'form',\n FRAME: 'frame',\n FRAMESET: 'frameset',\n H1: 'h1',\n H2: 'h2',\n H3: 'h3',\n H4: 'h4',\n H5: 'h5',\n H6: 'h6',\n HEAD: 'head',\n HEADER: 'header',\n HGROUP: 'hgroup',\n HR: 'hr',\n HTML: 'html',\n I: 'i',\n IMG: 'img',\n IMAGE: 'image',\n INPUT: 'input',\n IFRAME: 'iframe',\n KEYGEN: 'keygen',\n LABEL: 'label',\n LI: 'li',\n LINK: 'link',\n LISTING: 'listing',\n MAIN: 'main',\n MALIGNMARK: 'malignmark',\n MARQUEE: 'marquee',\n MATH: 'math',\n MENU: 'menu',\n META: 'meta',\n MGLYPH: 'mglyph',\n MI: 'mi',\n MO: 'mo',\n MN: 'mn',\n MS: 'ms',\n MTEXT: 'mtext',\n NAV: 'nav',\n NOBR: 'nobr',\n NOFRAMES: 'noframes',\n NOEMBED: 'noembed',\n NOSCRIPT: 'noscript',\n OBJECT: 'object',\n OL: 'ol',\n OPTGROUP: 'optgroup',\n OPTION: 'option',\n P: 'p',\n PARAM: 'param',\n PLAINTEXT: 'plaintext',\n PRE: 'pre',\n RB: 'rb',\n RP: 'rp',\n RT: 'rt',\n RTC: 'rtc',\n RUBY: 'ruby',\n S: 's',\n SCRIPT: 'script',\n SECTION: 'section',\n SELECT: 'select',\n SOURCE: 'source',\n SMALL: 'small',\n SPAN: 'span',\n STRIKE: 'strike',\n STRONG: 'strong',\n STYLE: 'style',\n SUB: 'sub',\n SUMMARY: 'summary',\n SUP: 'sup',\n TABLE: 'table',\n TBODY: 'tbody',\n TEMPLATE: 'template',\n TEXTAREA: 'textarea',\n TFOOT: 'tfoot',\n TD: 'td',\n TH: 'th',\n THEAD: 'thead',\n TITLE: 'title',\n TR: 'tr',\n TRACK: 'track',\n TT: 'tt',\n U: 'u',\n UL: 'ul',\n SVG: 'svg',\n VAR: 'var',\n WBR: 'wbr',\n XMP: 'xmp'\n};\nexports.SPECIAL_ELEMENTS = (_exports$SPECIAL_ELEM = {}, _defineProperty(_exports$SPECIAL_ELEM, NS.HTML, (_NS$HTML = {}, _defineProperty(_NS$HTML, $.ADDRESS, true), _defineProperty(_NS$HTML, $.APPLET, true), _defineProperty(_NS$HTML, $.AREA, true), _defineProperty(_NS$HTML, $.ARTICLE, true), _defineProperty(_NS$HTML, $.ASIDE, true), _defineProperty(_NS$HTML, $.BASE, true), _defineProperty(_NS$HTML, $.BASEFONT, true), _defineProperty(_NS$HTML, $.BGSOUND, true), _defineProperty(_NS$HTML, $.BLOCKQUOTE, true), _defineProperty(_NS$HTML, $.BODY, true), _defineProperty(_NS$HTML, $.BR, true), _defineProperty(_NS$HTML, $.BUTTON, true), _defineProperty(_NS$HTML, $.CAPTION, true), _defineProperty(_NS$HTML, $.CENTER, true), _defineProperty(_NS$HTML, $.COL, true), _defineProperty(_NS$HTML, $.COLGROUP, true), _defineProperty(_NS$HTML, $.DD, true), _defineProperty(_NS$HTML, $.DETAILS, true), _defineProperty(_NS$HTML, $.DIR, true), _defineProperty(_NS$HTML, $.DIV, true), _defineProperty(_NS$HTML, $.DL, true), _defineProperty(_NS$HTML, $.DT, true), _defineProperty(_NS$HTML, $.EMBED, true), _defineProperty(_NS$HTML, $.FIELDSET, true), _defineProperty(_NS$HTML, $.FIGCAPTION, true), _defineProperty(_NS$HTML, $.FIGURE, true), _defineProperty(_NS$HTML, $.FOOTER, true), _defineProperty(_NS$HTML, $.FORM, true), _defineProperty(_NS$HTML, $.FRAME, true), _defineProperty(_NS$HTML, $.FRAMESET, true), _defineProperty(_NS$HTML, $.H1, true), _defineProperty(_NS$HTML, $.H2, true), _defineProperty(_NS$HTML, $.H3, true), _defineProperty(_NS$HTML, $.H4, true), _defineProperty(_NS$HTML, $.H5, true), _defineProperty(_NS$HTML, $.H6, true), _defineProperty(_NS$HTML, $.HEAD, true), _defineProperty(_NS$HTML, $.HEADER, true), _defineProperty(_NS$HTML, $.HGROUP, true), _defineProperty(_NS$HTML, $.HR, true), _defineProperty(_NS$HTML, $.HTML, true), _defineProperty(_NS$HTML, $.IFRAME, true), _defineProperty(_NS$HTML, $.IMG, true), _defineProperty(_NS$HTML, $.INPUT, true), _defineProperty(_NS$HTML, $.LI, true), _defineProperty(_NS$HTML, $.LINK, true), _defineProperty(_NS$HTML, $.LISTING, true), _defineProperty(_NS$HTML, $.MAIN, true), _defineProperty(_NS$HTML, $.MARQUEE, true), _defineProperty(_NS$HTML, $.MENU, true), _defineProperty(_NS$HTML, $.META, true), _defineProperty(_NS$HTML, $.NAV, true), _defineProperty(_NS$HTML, $.NOEMBED, true), _defineProperty(_NS$HTML, $.NOFRAMES, true), _defineProperty(_NS$HTML, $.NOSCRIPT, true), _defineProperty(_NS$HTML, $.OBJECT, true), _defineProperty(_NS$HTML, $.OL, true), _defineProperty(_NS$HTML, $.P, true), _defineProperty(_NS$HTML, $.PARAM, true), _defineProperty(_NS$HTML, $.PLAINTEXT, true), _defineProperty(_NS$HTML, $.PRE, true), _defineProperty(_NS$HTML, $.SCRIPT, true), _defineProperty(_NS$HTML, $.SECTION, true), _defineProperty(_NS$HTML, $.SELECT, true), _defineProperty(_NS$HTML, $.SOURCE, true), _defineProperty(_NS$HTML, $.STYLE, true), _defineProperty(_NS$HTML, $.SUMMARY, true), _defineProperty(_NS$HTML, $.TABLE, true), _defineProperty(_NS$HTML, $.TBODY, true), _defineProperty(_NS$HTML, $.TD, true), _defineProperty(_NS$HTML, $.TEMPLATE, true), _defineProperty(_NS$HTML, $.TEXTAREA, true), _defineProperty(_NS$HTML, $.TFOOT, true), _defineProperty(_NS$HTML, $.TH, true), _defineProperty(_NS$HTML, $.THEAD, true), _defineProperty(_NS$HTML, $.TITLE, true), _defineProperty(_NS$HTML, $.TR, true), _defineProperty(_NS$HTML, $.TRACK, true), _defineProperty(_NS$HTML, $.UL, true), _defineProperty(_NS$HTML, $.WBR, true), _defineProperty(_NS$HTML, $.XMP, true), _NS$HTML)), _defineProperty(_exports$SPECIAL_ELEM, NS.MATHML, (_NS$MATHML = {}, _defineProperty(_NS$MATHML, $.MI, true), _defineProperty(_NS$MATHML, $.MO, true), _defineProperty(_NS$MATHML, $.MN, true), _defineProperty(_NS$MATHML, $.MS, true), _defineProperty(_NS$MATHML, $.MTEXT, true), _defineProperty(_NS$MATHML, $.ANNOTATION_XML, true), _NS$MATHML)), _defineProperty(_exports$SPECIAL_ELEM, NS.SVG, (_NS$SVG = {}, _defineProperty(_NS$SVG, $.TITLE, true), _defineProperty(_NS$SVG, $.FOREIGN_OBJECT, true), _defineProperty(_NS$SVG, $.DESC, true), _NS$SVG)), _exports$SPECIAL_ELEM);","'use strict';\n\nvar UNDEFINED_CODE_POINTS = [0xfffe, 0xffff, 0x1fffe, 0x1ffff, 0x2fffe, 0x2ffff, 0x3fffe, 0x3ffff, 0x4fffe, 0x4ffff, 0x5fffe, 0x5ffff, 0x6fffe, 0x6ffff, 0x7fffe, 0x7ffff, 0x8fffe, 0x8ffff, 0x9fffe, 0x9ffff, 0xafffe, 0xaffff, 0xbfffe, 0xbffff, 0xcfffe, 0xcffff, 0xdfffe, 0xdffff, 0xefffe, 0xeffff, 0xffffe, 0xfffff, 0x10fffe, 0x10ffff];\nexports.REPLACEMENT_CHARACTER = \"\\uFFFD\";\nexports.CODE_POINTS = {\n EOF: -1,\n NULL: 0x00,\n TABULATION: 0x09,\n CARRIAGE_RETURN: 0x0d,\n LINE_FEED: 0x0a,\n FORM_FEED: 0x0c,\n SPACE: 0x20,\n EXCLAMATION_MARK: 0x21,\n QUOTATION_MARK: 0x22,\n NUMBER_SIGN: 0x23,\n AMPERSAND: 0x26,\n APOSTROPHE: 0x27,\n HYPHEN_MINUS: 0x2d,\n SOLIDUS: 0x2f,\n DIGIT_0: 0x30,\n DIGIT_9: 0x39,\n SEMICOLON: 0x3b,\n LESS_THAN_SIGN: 0x3c,\n EQUALS_SIGN: 0x3d,\n GREATER_THAN_SIGN: 0x3e,\n QUESTION_MARK: 0x3f,\n LATIN_CAPITAL_A: 0x41,\n LATIN_CAPITAL_F: 0x46,\n LATIN_CAPITAL_X: 0x58,\n LATIN_CAPITAL_Z: 0x5a,\n RIGHT_SQUARE_BRACKET: 0x5d,\n GRAVE_ACCENT: 0x60,\n LATIN_SMALL_A: 0x61,\n LATIN_SMALL_F: 0x66,\n LATIN_SMALL_X: 0x78,\n LATIN_SMALL_Z: 0x7a,\n REPLACEMENT_CHARACTER: 0xfffd\n};\nexports.CODE_POINT_SEQUENCES = {\n DASH_DASH_STRING: [0x2d, 0x2d],\n //--\n DOCTYPE_STRING: [0x44, 0x4f, 0x43, 0x54, 0x59, 0x50, 0x45],\n //DOCTYPE\n CDATA_START_STRING: [0x5b, 0x43, 0x44, 0x41, 0x54, 0x41, 0x5b],\n //[CDATA[\n SCRIPT_STRING: [0x73, 0x63, 0x72, 0x69, 0x70, 0x74],\n //script\n PUBLIC_STRING: [0x50, 0x55, 0x42, 0x4c, 0x49, 0x43],\n //PUBLIC\n SYSTEM_STRING: [0x53, 0x59, 0x53, 0x54, 0x45, 0x4d] //SYSTEM\n\n}; //Surrogates\n\nexports.isSurrogate = function (cp) {\n return cp >= 0xd800 && cp <= 0xdfff;\n};\n\nexports.isSurrogatePair = function (cp) {\n return cp >= 0xdc00 && cp <= 0xdfff;\n};\n\nexports.getSurrogatePairCodePoint = function (cp1, cp2) {\n return (cp1 - 0xd800) * 0x400 + 0x2400 + cp2;\n}; //NOTE: excluding NULL and ASCII whitespace\n\n\nexports.isControlCodePoint = function (cp) {\n return cp !== 0x20 && cp !== 0x0a && cp !== 0x0d && cp !== 0x09 && cp !== 0x0c && cp >= 0x01 && cp <= 0x1f || cp >= 0x7f && cp <= 0x9f;\n};\n\nexports.isUndefinedCodePoint = function (cp) {\n return cp >= 0xfdd0 && cp <= 0xfdef || UNDEFINED_CODE_POINTS.indexOf(cp) > -1;\n};","'use strict';\n\nvar _classCallCheck = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/classCallCheck\");\n\nvar _createClass = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/createClass\");\n\nvar _inherits = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/inherits\");\n\nvar _possibleConstructorReturn = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/possibleConstructorReturn\");\n\nvar _getPrototypeOf = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/getPrototypeOf\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nvar Mixin = require('../../utils/mixin');\n\nvar ErrorReportingMixinBase = /*#__PURE__*/function (_Mixin) {\n _inherits(ErrorReportingMixinBase, _Mixin);\n\n var _super = _createSuper(ErrorReportingMixinBase);\n\n function ErrorReportingMixinBase(host, opts) {\n var _this;\n\n _classCallCheck(this, ErrorReportingMixinBase);\n\n _this = _super.call(this, host);\n _this.posTracker = null;\n _this.onParseError = opts.onParseError;\n return _this;\n }\n\n _createClass(ErrorReportingMixinBase, [{\n key: \"_setErrorLocation\",\n value: function _setErrorLocation(err) {\n err.startLine = err.endLine = this.posTracker.line;\n err.startCol = err.endCol = this.posTracker.col;\n err.startOffset = err.endOffset = this.posTracker.offset;\n }\n }, {\n key: \"_reportError\",\n value: function _reportError(code) {\n var err = {\n code: code,\n startLine: -1,\n startCol: -1,\n startOffset: -1,\n endLine: -1,\n endCol: -1,\n endOffset: -1\n };\n\n this._setErrorLocation(err);\n\n this.onParseError(err);\n }\n }, {\n key: \"_getOverriddenMethods\",\n value: function _getOverriddenMethods(mxn) {\n return {\n _err: function _err(code) {\n mxn._reportError(code);\n }\n };\n }\n }]);\n\n return ErrorReportingMixinBase;\n}(Mixin);\n\nmodule.exports = ErrorReportingMixinBase;","'use strict';\n\nvar _classCallCheck = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/classCallCheck\");\n\nvar _createClass = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/createClass\");\n\nvar _inherits = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/inherits\");\n\nvar _possibleConstructorReturn = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/possibleConstructorReturn\");\n\nvar _getPrototypeOf = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/getPrototypeOf\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nvar ErrorReportingMixinBase = require('./mixin-base');\n\nvar ErrorReportingTokenizerMixin = require('./tokenizer-mixin');\n\nvar LocationInfoTokenizerMixin = require('../location-info/tokenizer-mixin');\n\nvar Mixin = require('../../utils/mixin');\n\nvar ErrorReportingParserMixin = /*#__PURE__*/function (_ErrorReportingMixinB) {\n _inherits(ErrorReportingParserMixin, _ErrorReportingMixinB);\n\n var _super = _createSuper(ErrorReportingParserMixin);\n\n function ErrorReportingParserMixin(parser, opts) {\n var _this;\n\n _classCallCheck(this, ErrorReportingParserMixin);\n\n _this = _super.call(this, parser, opts);\n _this.opts = opts;\n _this.ctLoc = null;\n _this.locBeforeToken = false;\n return _this;\n }\n\n _createClass(ErrorReportingParserMixin, [{\n key: \"_setErrorLocation\",\n value: function _setErrorLocation(err) {\n if (this.ctLoc) {\n err.startLine = this.ctLoc.startLine;\n err.startCol = this.ctLoc.startCol;\n err.startOffset = this.ctLoc.startOffset;\n err.endLine = this.locBeforeToken ? this.ctLoc.startLine : this.ctLoc.endLine;\n err.endCol = this.locBeforeToken ? this.ctLoc.startCol : this.ctLoc.endCol;\n err.endOffset = this.locBeforeToken ? this.ctLoc.startOffset : this.ctLoc.endOffset;\n }\n }\n }, {\n key: \"_getOverriddenMethods\",\n value: function _getOverriddenMethods(mxn, orig) {\n return {\n _bootstrap: function _bootstrap(document, fragmentContext) {\n orig._bootstrap.call(this, document, fragmentContext);\n\n Mixin.install(this.tokenizer, ErrorReportingTokenizerMixin, mxn.opts);\n Mixin.install(this.tokenizer, LocationInfoTokenizerMixin);\n },\n _processInputToken: function _processInputToken(token) {\n mxn.ctLoc = token.location;\n\n orig._processInputToken.call(this, token);\n },\n _err: function _err(code, options) {\n mxn.locBeforeToken = options && options.beforeToken;\n\n mxn._reportError(code);\n }\n };\n }\n }]);\n\n return ErrorReportingParserMixin;\n}(ErrorReportingMixinBase);\n\nmodule.exports = ErrorReportingParserMixin;","'use strict';\n\nvar _classCallCheck = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/classCallCheck\");\n\nvar _createClass = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/createClass\");\n\nvar _get = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/get\");\n\nvar _inherits = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/inherits\");\n\nvar _possibleConstructorReturn = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/possibleConstructorReturn\");\n\nvar _getPrototypeOf = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/getPrototypeOf\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nvar ErrorReportingMixinBase = require('./mixin-base');\n\nvar PositionTrackingPreprocessorMixin = require('../position-tracking/preprocessor-mixin');\n\nvar Mixin = require('../../utils/mixin');\n\nvar ErrorReportingPreprocessorMixin = /*#__PURE__*/function (_ErrorReportingMixinB) {\n _inherits(ErrorReportingPreprocessorMixin, _ErrorReportingMixinB);\n\n var _super = _createSuper(ErrorReportingPreprocessorMixin);\n\n function ErrorReportingPreprocessorMixin(preprocessor, opts) {\n var _this;\n\n _classCallCheck(this, ErrorReportingPreprocessorMixin);\n\n _this = _super.call(this, preprocessor, opts);\n _this.posTracker = Mixin.install(preprocessor, PositionTrackingPreprocessorMixin);\n _this.lastErrOffset = -1;\n return _this;\n }\n\n _createClass(ErrorReportingPreprocessorMixin, [{\n key: \"_reportError\",\n value: function _reportError(code) {\n //NOTE: avoid reporting error twice on advance/retreat\n if (this.lastErrOffset !== this.posTracker.offset) {\n this.lastErrOffset = this.posTracker.offset;\n\n _get(_getPrototypeOf(ErrorReportingPreprocessorMixin.prototype), \"_reportError\", this).call(this, code);\n }\n }\n }]);\n\n return ErrorReportingPreprocessorMixin;\n}(ErrorReportingMixinBase);\n\nmodule.exports = ErrorReportingPreprocessorMixin;","'use strict';\n\nvar _classCallCheck = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/classCallCheck\");\n\nvar _inherits = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/inherits\");\n\nvar _possibleConstructorReturn = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/possibleConstructorReturn\");\n\nvar _getPrototypeOf = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/getPrototypeOf\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nvar ErrorReportingMixinBase = require('./mixin-base');\n\nvar ErrorReportingPreprocessorMixin = require('./preprocessor-mixin');\n\nvar Mixin = require('../../utils/mixin');\n\nvar ErrorReportingTokenizerMixin = /*#__PURE__*/function (_ErrorReportingMixinB) {\n _inherits(ErrorReportingTokenizerMixin, _ErrorReportingMixinB);\n\n var _super = _createSuper(ErrorReportingTokenizerMixin);\n\n function ErrorReportingTokenizerMixin(tokenizer, opts) {\n var _this;\n\n _classCallCheck(this, ErrorReportingTokenizerMixin);\n\n _this = _super.call(this, tokenizer, opts);\n var preprocessorMixin = Mixin.install(tokenizer.preprocessor, ErrorReportingPreprocessorMixin, opts);\n _this.posTracker = preprocessorMixin.posTracker;\n return _this;\n }\n\n return ErrorReportingTokenizerMixin;\n}(ErrorReportingMixinBase);\n\nmodule.exports = ErrorReportingTokenizerMixin;","'use strict';\n\nvar _classCallCheck = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/classCallCheck\");\n\nvar _createClass = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/createClass\");\n\nvar _inherits = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/inherits\");\n\nvar _possibleConstructorReturn = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/possibleConstructorReturn\");\n\nvar _getPrototypeOf = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/getPrototypeOf\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nvar Mixin = require('../../utils/mixin');\n\nvar LocationInfoOpenElementStackMixin = /*#__PURE__*/function (_Mixin) {\n _inherits(LocationInfoOpenElementStackMixin, _Mixin);\n\n var _super = _createSuper(LocationInfoOpenElementStackMixin);\n\n function LocationInfoOpenElementStackMixin(stack, opts) {\n var _this;\n\n _classCallCheck(this, LocationInfoOpenElementStackMixin);\n\n _this = _super.call(this, stack);\n _this.onItemPop = opts.onItemPop;\n return _this;\n }\n\n _createClass(LocationInfoOpenElementStackMixin, [{\n key: \"_getOverriddenMethods\",\n value: function _getOverriddenMethods(mxn, orig) {\n return {\n pop: function pop() {\n mxn.onItemPop(this.current);\n orig.pop.call(this);\n },\n popAllUpToHtmlElement: function popAllUpToHtmlElement() {\n for (var i = this.stackTop; i > 0; i--) {\n mxn.onItemPop(this.items[i]);\n }\n\n orig.popAllUpToHtmlElement.call(this);\n },\n remove: function remove(element) {\n mxn.onItemPop(this.current);\n orig.remove.call(this, element);\n }\n };\n }\n }]);\n\n return LocationInfoOpenElementStackMixin;\n}(Mixin);\n\nmodule.exports = LocationInfoOpenElementStackMixin;","'use strict';\n\nvar _classCallCheck = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/classCallCheck\");\n\nvar _createClass = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/createClass\");\n\nvar _inherits = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/inherits\");\n\nvar _possibleConstructorReturn = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/possibleConstructorReturn\");\n\nvar _getPrototypeOf = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/getPrototypeOf\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nvar Mixin = require('../../utils/mixin');\n\nvar Tokenizer = require('../../tokenizer');\n\nvar LocationInfoTokenizerMixin = require('./tokenizer-mixin');\n\nvar LocationInfoOpenElementStackMixin = require('./open-element-stack-mixin');\n\nvar HTML = require('../../common/html'); //Aliases\n\n\nvar $ = HTML.TAG_NAMES;\n\nvar LocationInfoParserMixin = /*#__PURE__*/function (_Mixin) {\n _inherits(LocationInfoParserMixin, _Mixin);\n\n var _super = _createSuper(LocationInfoParserMixin);\n\n function LocationInfoParserMixin(parser) {\n var _this;\n\n _classCallCheck(this, LocationInfoParserMixin);\n\n _this = _super.call(this, parser);\n _this.parser = parser;\n _this.treeAdapter = _this.parser.treeAdapter;\n _this.posTracker = null;\n _this.lastStartTagToken = null;\n _this.lastFosterParentingLocation = null;\n _this.currentToken = null;\n return _this;\n }\n\n _createClass(LocationInfoParserMixin, [{\n key: \"_setStartLocation\",\n value: function _setStartLocation(element) {\n var loc = null;\n\n if (this.lastStartTagToken) {\n loc = Object.assign({}, this.lastStartTagToken.location);\n loc.startTag = this.lastStartTagToken.location;\n }\n\n this.treeAdapter.setNodeSourceCodeLocation(element, loc);\n }\n }, {\n key: \"_setEndLocation\",\n value: function _setEndLocation(element, closingToken) {\n var loc = this.treeAdapter.getNodeSourceCodeLocation(element);\n\n if (loc) {\n if (closingToken.location) {\n var ctLoc = closingToken.location;\n var tn = this.treeAdapter.getTagName(element); // NOTE: For cases like

- First 'p' closes without a closing\n // tag and for cases like

- 'p' closes without a closing tag.\n\n var isClosingEndTag = closingToken.type === Tokenizer.END_TAG_TOKEN && tn === closingToken.tagName;\n var endLoc = {};\n\n if (isClosingEndTag) {\n endLoc.endTag = Object.assign({}, ctLoc);\n endLoc.endLine = ctLoc.endLine;\n endLoc.endCol = ctLoc.endCol;\n endLoc.endOffset = ctLoc.endOffset;\n } else {\n endLoc.endLine = ctLoc.startLine;\n endLoc.endCol = ctLoc.startCol;\n endLoc.endOffset = ctLoc.startOffset;\n }\n\n this.treeAdapter.updateNodeSourceCodeLocation(element, endLoc);\n }\n }\n }\n }, {\n key: \"_getOverriddenMethods\",\n value: function _getOverriddenMethods(mxn, orig) {\n return {\n _bootstrap: function _bootstrap(document, fragmentContext) {\n orig._bootstrap.call(this, document, fragmentContext);\n\n mxn.lastStartTagToken = null;\n mxn.lastFosterParentingLocation = null;\n mxn.currentToken = null;\n var tokenizerMixin = Mixin.install(this.tokenizer, LocationInfoTokenizerMixin);\n mxn.posTracker = tokenizerMixin.posTracker;\n Mixin.install(this.openElements, LocationInfoOpenElementStackMixin, {\n onItemPop: function onItemPop(element) {\n mxn._setEndLocation(element, mxn.currentToken);\n }\n });\n },\n _runParsingLoop: function _runParsingLoop(scriptHandler) {\n orig._runParsingLoop.call(this, scriptHandler); // NOTE: generate location info for elements\n // that remains on open element stack\n\n\n for (var i = this.openElements.stackTop; i >= 0; i--) {\n mxn._setEndLocation(this.openElements.items[i], mxn.currentToken);\n }\n },\n //Token processing\n _processTokenInForeignContent: function _processTokenInForeignContent(token) {\n mxn.currentToken = token;\n\n orig._processTokenInForeignContent.call(this, token);\n },\n _processToken: function _processToken(token) {\n mxn.currentToken = token;\n\n orig._processToken.call(this, token); //NOTE: and are never popped from the stack, so we need to updated\n //their end location explicitly.\n\n\n var requireExplicitUpdate = token.type === Tokenizer.END_TAG_TOKEN && (token.tagName === $.HTML || token.tagName === $.BODY && this.openElements.hasInScope($.BODY));\n\n if (requireExplicitUpdate) {\n for (var i = this.openElements.stackTop; i >= 0; i--) {\n var element = this.openElements.items[i];\n\n if (this.treeAdapter.getTagName(element) === token.tagName) {\n mxn._setEndLocation(element, token);\n\n break;\n }\n }\n }\n },\n //Doctype\n _setDocumentType: function _setDocumentType(token) {\n orig._setDocumentType.call(this, token);\n\n var documentChildren = this.treeAdapter.getChildNodes(this.document);\n var cnLength = documentChildren.length;\n\n for (var i = 0; i < cnLength; i++) {\n var node = documentChildren[i];\n\n if (this.treeAdapter.isDocumentTypeNode(node)) {\n this.treeAdapter.setNodeSourceCodeLocation(node, token.location);\n break;\n }\n }\n },\n //Elements\n _attachElementToTree: function _attachElementToTree(element) {\n //NOTE: _attachElementToTree is called from _appendElement, _insertElement and _insertTemplate methods.\n //So we will use token location stored in this methods for the element.\n mxn._setStartLocation(element);\n\n mxn.lastStartTagToken = null;\n\n orig._attachElementToTree.call(this, element);\n },\n _appendElement: function _appendElement(token, namespaceURI) {\n mxn.lastStartTagToken = token;\n\n orig._appendElement.call(this, token, namespaceURI);\n },\n _insertElement: function _insertElement(token, namespaceURI) {\n mxn.lastStartTagToken = token;\n\n orig._insertElement.call(this, token, namespaceURI);\n },\n _insertTemplate: function _insertTemplate(token) {\n mxn.lastStartTagToken = token;\n\n orig._insertTemplate.call(this, token);\n\n var tmplContent = this.treeAdapter.getTemplateContent(this.openElements.current);\n this.treeAdapter.setNodeSourceCodeLocation(tmplContent, null);\n },\n _insertFakeRootElement: function _insertFakeRootElement() {\n orig._insertFakeRootElement.call(this);\n\n this.treeAdapter.setNodeSourceCodeLocation(this.openElements.current, null);\n },\n //Comments\n _appendCommentNode: function _appendCommentNode(token, parent) {\n orig._appendCommentNode.call(this, token, parent);\n\n var children = this.treeAdapter.getChildNodes(parent);\n var commentNode = children[children.length - 1];\n this.treeAdapter.setNodeSourceCodeLocation(commentNode, token.location);\n },\n //Text\n _findFosterParentingLocation: function _findFosterParentingLocation() {\n //NOTE: store last foster parenting location, so we will be able to find inserted text\n //in case of foster parenting\n mxn.lastFosterParentingLocation = orig._findFosterParentingLocation.call(this);\n return mxn.lastFosterParentingLocation;\n },\n _insertCharacters: function _insertCharacters(token) {\n orig._insertCharacters.call(this, token);\n\n var hasFosterParent = this._shouldFosterParentOnInsertion();\n\n var parent = hasFosterParent && mxn.lastFosterParentingLocation.parent || this.openElements.currentTmplContent || this.openElements.current;\n var siblings = this.treeAdapter.getChildNodes(parent);\n var textNodeIdx = hasFosterParent && mxn.lastFosterParentingLocation.beforeElement ? siblings.indexOf(mxn.lastFosterParentingLocation.beforeElement) - 1 : siblings.length - 1;\n var textNode = siblings[textNodeIdx]; //NOTE: if we have location assigned by another token, then just update end position\n\n var tnLoc = this.treeAdapter.getNodeSourceCodeLocation(textNode);\n\n if (tnLoc) {\n var _token$location = token.location,\n endLine = _token$location.endLine,\n endCol = _token$location.endCol,\n endOffset = _token$location.endOffset;\n this.treeAdapter.updateNodeSourceCodeLocation(textNode, {\n endLine: endLine,\n endCol: endCol,\n endOffset: endOffset\n });\n } else {\n this.treeAdapter.setNodeSourceCodeLocation(textNode, token.location);\n }\n }\n };\n }\n }]);\n\n return LocationInfoParserMixin;\n}(Mixin);\n\nmodule.exports = LocationInfoParserMixin;","'use strict';\n\nvar _classCallCheck = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/classCallCheck\");\n\nvar _createClass = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/createClass\");\n\nvar _inherits = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/inherits\");\n\nvar _possibleConstructorReturn = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/possibleConstructorReturn\");\n\nvar _getPrototypeOf = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/getPrototypeOf\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nvar Mixin = require('../../utils/mixin');\n\nvar Tokenizer = require('../../tokenizer');\n\nvar PositionTrackingPreprocessorMixin = require('../position-tracking/preprocessor-mixin');\n\nvar LocationInfoTokenizerMixin = /*#__PURE__*/function (_Mixin) {\n _inherits(LocationInfoTokenizerMixin, _Mixin);\n\n var _super = _createSuper(LocationInfoTokenizerMixin);\n\n function LocationInfoTokenizerMixin(tokenizer) {\n var _this;\n\n _classCallCheck(this, LocationInfoTokenizerMixin);\n\n _this = _super.call(this, tokenizer);\n _this.tokenizer = tokenizer;\n _this.posTracker = Mixin.install(tokenizer.preprocessor, PositionTrackingPreprocessorMixin);\n _this.currentAttrLocation = null;\n _this.ctLoc = null;\n return _this;\n }\n\n _createClass(LocationInfoTokenizerMixin, [{\n key: \"_getCurrentLocation\",\n value: function _getCurrentLocation() {\n return {\n startLine: this.posTracker.line,\n startCol: this.posTracker.col,\n startOffset: this.posTracker.offset,\n endLine: -1,\n endCol: -1,\n endOffset: -1\n };\n }\n }, {\n key: \"_attachCurrentAttrLocationInfo\",\n value: function _attachCurrentAttrLocationInfo() {\n this.currentAttrLocation.endLine = this.posTracker.line;\n this.currentAttrLocation.endCol = this.posTracker.col;\n this.currentAttrLocation.endOffset = this.posTracker.offset;\n var currentToken = this.tokenizer.currentToken;\n var currentAttr = this.tokenizer.currentAttr;\n\n if (!currentToken.location.attrs) {\n currentToken.location.attrs = Object.create(null);\n }\n\n currentToken.location.attrs[currentAttr.name] = this.currentAttrLocation;\n }\n }, {\n key: \"_getOverriddenMethods\",\n value: function _getOverriddenMethods(mxn, orig) {\n var methods = {\n _createStartTagToken: function _createStartTagToken() {\n orig._createStartTagToken.call(this);\n\n this.currentToken.location = mxn.ctLoc;\n },\n _createEndTagToken: function _createEndTagToken() {\n orig._createEndTagToken.call(this);\n\n this.currentToken.location = mxn.ctLoc;\n },\n _createCommentToken: function _createCommentToken() {\n orig._createCommentToken.call(this);\n\n this.currentToken.location = mxn.ctLoc;\n },\n _createDoctypeToken: function _createDoctypeToken(initialName) {\n orig._createDoctypeToken.call(this, initialName);\n\n this.currentToken.location = mxn.ctLoc;\n },\n _createCharacterToken: function _createCharacterToken(type, ch) {\n orig._createCharacterToken.call(this, type, ch);\n\n this.currentCharacterToken.location = mxn.ctLoc;\n },\n _createEOFToken: function _createEOFToken() {\n orig._createEOFToken.call(this);\n\n this.currentToken.location = mxn._getCurrentLocation();\n },\n _createAttr: function _createAttr(attrNameFirstCh) {\n orig._createAttr.call(this, attrNameFirstCh);\n\n mxn.currentAttrLocation = mxn._getCurrentLocation();\n },\n _leaveAttrName: function _leaveAttrName(toState) {\n orig._leaveAttrName.call(this, toState);\n\n mxn._attachCurrentAttrLocationInfo();\n },\n _leaveAttrValue: function _leaveAttrValue(toState) {\n orig._leaveAttrValue.call(this, toState);\n\n mxn._attachCurrentAttrLocationInfo();\n },\n _emitCurrentToken: function _emitCurrentToken() {\n var ctLoc = this.currentToken.location; //NOTE: if we have pending character token make it's end location equal to the\n //current token's start location.\n\n if (this.currentCharacterToken) {\n this.currentCharacterToken.location.endLine = ctLoc.startLine;\n this.currentCharacterToken.location.endCol = ctLoc.startCol;\n this.currentCharacterToken.location.endOffset = ctLoc.startOffset;\n }\n\n if (this.currentToken.type === Tokenizer.EOF_TOKEN) {\n ctLoc.endLine = ctLoc.startLine;\n ctLoc.endCol = ctLoc.startCol;\n ctLoc.endOffset = ctLoc.startOffset;\n } else {\n ctLoc.endLine = mxn.posTracker.line;\n ctLoc.endCol = mxn.posTracker.col + 1;\n ctLoc.endOffset = mxn.posTracker.offset + 1;\n }\n\n orig._emitCurrentToken.call(this);\n },\n _emitCurrentCharacterToken: function _emitCurrentCharacterToken() {\n var ctLoc = this.currentCharacterToken && this.currentCharacterToken.location; //NOTE: if we have character token and it's location wasn't set in the _emitCurrentToken(),\n //then set it's location at the current preprocessor position.\n //We don't need to increment preprocessor position, since character token\n //emission is always forced by the start of the next character token here.\n //So, we already have advanced position.\n\n if (ctLoc && ctLoc.endOffset === -1) {\n ctLoc.endLine = mxn.posTracker.line;\n ctLoc.endCol = mxn.posTracker.col;\n ctLoc.endOffset = mxn.posTracker.offset;\n }\n\n orig._emitCurrentCharacterToken.call(this);\n }\n }; //NOTE: patch initial states for each mode to obtain token start position\n\n Object.keys(Tokenizer.MODE).forEach(function (modeName) {\n var state = Tokenizer.MODE[modeName];\n\n methods[state] = function (cp) {\n mxn.ctLoc = mxn._getCurrentLocation();\n orig[state].call(this, cp);\n };\n });\n return methods;\n }\n }]);\n\n return LocationInfoTokenizerMixin;\n}(Mixin);\n\nmodule.exports = LocationInfoTokenizerMixin;","'use strict';\n\nvar _classCallCheck = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/classCallCheck\");\n\nvar _createClass = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/createClass\");\n\nvar _inherits = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/inherits\");\n\nvar _possibleConstructorReturn = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/possibleConstructorReturn\");\n\nvar _getPrototypeOf = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/getPrototypeOf\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nvar Mixin = require('../../utils/mixin');\n\nvar PositionTrackingPreprocessorMixin = /*#__PURE__*/function (_Mixin) {\n _inherits(PositionTrackingPreprocessorMixin, _Mixin);\n\n var _super = _createSuper(PositionTrackingPreprocessorMixin);\n\n function PositionTrackingPreprocessorMixin(preprocessor) {\n var _this;\n\n _classCallCheck(this, PositionTrackingPreprocessorMixin);\n\n _this = _super.call(this, preprocessor);\n _this.preprocessor = preprocessor;\n _this.isEol = false;\n _this.lineStartPos = 0;\n _this.droppedBufferSize = 0;\n _this.offset = 0;\n _this.col = 0;\n _this.line = 1;\n return _this;\n }\n\n _createClass(PositionTrackingPreprocessorMixin, [{\n key: \"_getOverriddenMethods\",\n value: function _getOverriddenMethods(mxn, orig) {\n return {\n advance: function advance() {\n var pos = this.pos + 1;\n var ch = this.html[pos]; //NOTE: LF should be in the last column of the line\n\n if (mxn.isEol) {\n mxn.isEol = false;\n mxn.line++;\n mxn.lineStartPos = pos;\n }\n\n if (ch === '\\n' || ch === '\\r' && this.html[pos + 1] !== '\\n') {\n mxn.isEol = true;\n }\n\n mxn.col = pos - mxn.lineStartPos + 1;\n mxn.offset = mxn.droppedBufferSize + pos;\n return orig.advance.call(this);\n },\n retreat: function retreat() {\n orig.retreat.call(this);\n mxn.isEol = false;\n mxn.col = this.pos - mxn.lineStartPos + 1;\n },\n dropParsedChunk: function dropParsedChunk() {\n var prevPos = this.pos;\n orig.dropParsedChunk.call(this);\n var reduction = prevPos - this.pos;\n mxn.lineStartPos -= reduction;\n mxn.droppedBufferSize += reduction;\n mxn.offset = mxn.droppedBufferSize + this.pos;\n }\n };\n }\n }]);\n\n return PositionTrackingPreprocessorMixin;\n}(Mixin);\n\nmodule.exports = PositionTrackingPreprocessorMixin;","'use strict'; //Const\n\nvar _classCallCheck = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/classCallCheck\");\n\nvar _createClass = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/createClass\");\n\nvar NOAH_ARK_CAPACITY = 3; //List of formatting elements\n\nvar FormattingElementList = /*#__PURE__*/function () {\n function FormattingElementList(treeAdapter) {\n _classCallCheck(this, FormattingElementList);\n\n this.length = 0;\n this.entries = [];\n this.treeAdapter = treeAdapter;\n this.bookmark = null;\n } //Noah Ark's condition\n //OPTIMIZATION: at first we try to find possible candidates for exclusion using\n //lightweight heuristics without thorough attributes check.\n\n\n _createClass(FormattingElementList, [{\n key: \"_getNoahArkConditionCandidates\",\n value: function _getNoahArkConditionCandidates(newElement) {\n var candidates = [];\n\n if (this.length >= NOAH_ARK_CAPACITY) {\n var neAttrsLength = this.treeAdapter.getAttrList(newElement).length;\n var neTagName = this.treeAdapter.getTagName(newElement);\n var neNamespaceURI = this.treeAdapter.getNamespaceURI(newElement);\n\n for (var i = this.length - 1; i >= 0; i--) {\n var entry = this.entries[i];\n\n if (entry.type === FormattingElementList.MARKER_ENTRY) {\n break;\n }\n\n var element = entry.element;\n var elementAttrs = this.treeAdapter.getAttrList(element);\n var isCandidate = this.treeAdapter.getTagName(element) === neTagName && this.treeAdapter.getNamespaceURI(element) === neNamespaceURI && elementAttrs.length === neAttrsLength;\n\n if (isCandidate) {\n candidates.push({\n idx: i,\n attrs: elementAttrs\n });\n }\n }\n }\n\n return candidates.length < NOAH_ARK_CAPACITY ? [] : candidates;\n }\n }, {\n key: \"_ensureNoahArkCondition\",\n value: function _ensureNoahArkCondition(newElement) {\n var candidates = this._getNoahArkConditionCandidates(newElement);\n\n var cLength = candidates.length;\n\n if (cLength) {\n var neAttrs = this.treeAdapter.getAttrList(newElement);\n var neAttrsLength = neAttrs.length;\n var neAttrsMap = Object.create(null); //NOTE: build attrs map for the new element so we can perform fast lookups\n\n for (var i = 0; i < neAttrsLength; i++) {\n var neAttr = neAttrs[i];\n neAttrsMap[neAttr.name] = neAttr.value;\n }\n\n for (var _i = 0; _i < neAttrsLength; _i++) {\n for (var j = 0; j < cLength; j++) {\n var cAttr = candidates[j].attrs[_i];\n\n if (neAttrsMap[cAttr.name] !== cAttr.value) {\n candidates.splice(j, 1);\n cLength--;\n }\n\n if (candidates.length < NOAH_ARK_CAPACITY) {\n return;\n }\n }\n } //NOTE: remove bottommost candidates until Noah's Ark condition will not be met\n\n\n for (var _i2 = cLength - 1; _i2 >= NOAH_ARK_CAPACITY - 1; _i2--) {\n this.entries.splice(candidates[_i2].idx, 1);\n this.length--;\n }\n }\n } //Mutations\n\n }, {\n key: \"insertMarker\",\n value: function insertMarker() {\n this.entries.push({\n type: FormattingElementList.MARKER_ENTRY\n });\n this.length++;\n }\n }, {\n key: \"pushElement\",\n value: function pushElement(element, token) {\n this._ensureNoahArkCondition(element);\n\n this.entries.push({\n type: FormattingElementList.ELEMENT_ENTRY,\n element: element,\n token: token\n });\n this.length++;\n }\n }, {\n key: \"insertElementAfterBookmark\",\n value: function insertElementAfterBookmark(element, token) {\n var bookmarkIdx = this.length - 1;\n\n for (; bookmarkIdx >= 0; bookmarkIdx--) {\n if (this.entries[bookmarkIdx] === this.bookmark) {\n break;\n }\n }\n\n this.entries.splice(bookmarkIdx + 1, 0, {\n type: FormattingElementList.ELEMENT_ENTRY,\n element: element,\n token: token\n });\n this.length++;\n }\n }, {\n key: \"removeEntry\",\n value: function removeEntry(entry) {\n for (var i = this.length - 1; i >= 0; i--) {\n if (this.entries[i] === entry) {\n this.entries.splice(i, 1);\n this.length--;\n break;\n }\n }\n }\n }, {\n key: \"clearToLastMarker\",\n value: function clearToLastMarker() {\n while (this.length) {\n var entry = this.entries.pop();\n this.length--;\n\n if (entry.type === FormattingElementList.MARKER_ENTRY) {\n break;\n }\n }\n } //Search\n\n }, {\n key: \"getElementEntryInScopeWithTagName\",\n value: function getElementEntryInScopeWithTagName(tagName) {\n for (var i = this.length - 1; i >= 0; i--) {\n var entry = this.entries[i];\n\n if (entry.type === FormattingElementList.MARKER_ENTRY) {\n return null;\n }\n\n if (this.treeAdapter.getTagName(entry.element) === tagName) {\n return entry;\n }\n }\n\n return null;\n }\n }, {\n key: \"getElementEntry\",\n value: function getElementEntry(element) {\n for (var i = this.length - 1; i >= 0; i--) {\n var entry = this.entries[i];\n\n if (entry.type === FormattingElementList.ELEMENT_ENTRY && entry.element === element) {\n return entry;\n }\n }\n\n return null;\n }\n }]);\n\n return FormattingElementList;\n}(); //Entry types\n\n\nFormattingElementList.MARKER_ENTRY = 'MARKER_ENTRY';\nFormattingElementList.ELEMENT_ENTRY = 'ELEMENT_ENTRY';\nmodule.exports = FormattingElementList;","'use strict';\n\nvar _classCallCheck = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/classCallCheck\");\n\nvar _createClass = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/createClass\");\n\nvar _defineProperty = require(\"/codebuild/output/src2232997588/src/beaver_help/node_modules/@babel/runtime/helpers/defineProperty\");\n\nvar _INSERTION_MODE_RESET, _TEMPLATE_INSERTION_M, _INITIAL_MODE, _BEFORE_HTML_MODE, _BEFORE_HEAD_MODE, _IN_HEAD_MODE, _IN_HEAD_NO_SCRIPT_MO, _AFTER_HEAD_MODE, _IN_BODY_MODE, _TEXT_MODE, _IN_TABLE_MODE, _IN_TABLE_TEXT_MODE, _IN_CAPTION_MODE, _IN_COLUMN_GROUP_MODE, _IN_TABLE_BODY_MODE, _IN_ROW_MODE, _IN_CELL_MODE, _IN_SELECT_MODE, _IN_SELECT_IN_TABLE_M, _IN_TEMPLATE_MODE, _AFTER_BODY_MODE, _IN_FRAMESET_MODE, _AFTER_FRAMESET_MODE, _AFTER_AFTER_BODY_MOD, _AFTER_AFTER_FRAMESET, _TOKEN_HANDLERS;\n\nvar Tokenizer = require('../tokenizer');\n\nvar OpenElementStack = require('./open-element-stack');\n\nvar FormattingElementList = require('./formatting-element-list');\n\nvar LocationInfoParserMixin = require('../extensions/location-info/parser-mixin');\n\nvar ErrorReportingParserMixin = require('../extensions/error-reporting/parser-mixin');\n\nvar Mixin = require('../utils/mixin');\n\nvar defaultTreeAdapter = require('../tree-adapters/default');\n\nvar mergeOptions = require('../utils/merge-options');\n\nvar doctype = require('../common/doctype');\n\nvar foreignContent = require('../common/foreign-content');\n\nvar ERR = require('../common/error-codes');\n\nvar unicode = require('../common/unicode');\n\nvar HTML = require('../common/html'); //Aliases\n\n\nvar $ = HTML.TAG_NAMES;\nvar NS = HTML.NAMESPACES;\nvar ATTRS = HTML.ATTRS;\nvar DEFAULT_OPTIONS = {\n scriptingEnabled: true,\n sourceCodeLocationInfo: false,\n onParseError: null,\n treeAdapter: defaultTreeAdapter\n}; //Misc constants\n\nvar HIDDEN_INPUT_TYPE = 'hidden'; //Adoption agency loops iteration count\n\nvar AA_OUTER_LOOP_ITER = 8;\nvar AA_INNER_LOOP_ITER = 3; //Insertion modes\n\nvar INITIAL_MODE = 'INITIAL_MODE';\nvar BEFORE_HTML_MODE = 'BEFORE_HTML_MODE';\nvar BEFORE_HEAD_MODE = 'BEFORE_HEAD_MODE';\nvar IN_HEAD_MODE = 'IN_HEAD_MODE';\nvar IN_HEAD_NO_SCRIPT_MODE = 'IN_HEAD_NO_SCRIPT_MODE';\nvar AFTER_HEAD_MODE = 'AFTER_HEAD_MODE';\nvar IN_BODY_MODE = 'IN_BODY_MODE';\nvar TEXT_MODE = 'TEXT_MODE';\nvar IN_TABLE_MODE = 'IN_TABLE_MODE';\nvar IN_TABLE_TEXT_MODE = 'IN_TABLE_TEXT_MODE';\nvar IN_CAPTION_MODE = 'IN_CAPTION_MODE';\nvar IN_COLUMN_GROUP_MODE = 'IN_COLUMN_GROUP_MODE';\nvar IN_TABLE_BODY_MODE = 'IN_TABLE_BODY_MODE';\nvar IN_ROW_MODE = 'IN_ROW_MODE';\nvar IN_CELL_MODE = 'IN_CELL_MODE';\nvar IN_SELECT_MODE = 'IN_SELECT_MODE';\nvar IN_SELECT_IN_TABLE_MODE = 'IN_SELECT_IN_TABLE_MODE';\nvar IN_TEMPLATE_MODE = 'IN_TEMPLATE_MODE';\nvar AFTER_BODY_MODE = 'AFTER_BODY_MODE';\nvar IN_FRAMESET_MODE = 'IN_FRAMESET_MODE';\nvar AFTER_FRAMESET_MODE = 'AFTER_FRAMESET_MODE';\nvar AFTER_AFTER_BODY_MODE = 'AFTER_AFTER_BODY_MODE';\nvar AFTER_AFTER_FRAMESET_MODE = 'AFTER_AFTER_FRAMESET_MODE'; //Insertion mode reset map\n\nvar INSERTION_MODE_RESET_MAP = (_INSERTION_MODE_RESET = {}, _defineProperty(_INSERTION_MODE_RESET, $.TR, IN_ROW_MODE), _defineProperty(_INSERTION_MODE_RESET, $.TBODY, IN_TABLE_BODY_MODE), _defineProperty(_INSERTION_MODE_RESET, $.THEAD, IN_TABLE_BODY_MODE), _defineProperty(_INSERTION_MODE_RESET, $.TFOOT, IN_TABLE_BODY_MODE), _defineProperty(_INSERTION_MODE_RESET, $.CAPTION, IN_CAPTION_MODE), _defineProperty(_INSERTION_MODE_RESET, $.COLGROUP, IN_COLUMN_GROUP_MODE), _defineProperty(_INSERTION_MODE_RESET, $.TABLE, IN_TABLE_MODE), _defineProperty(_INSERTION_MODE_RESET, $.BODY, IN_BODY_MODE), _defineProperty(_INSERTION_MODE_RESET, $.FRAMESET, IN_FRAMESET_MODE), _INSERTION_MODE_RESET); //Template insertion mode switch map\n\nvar TEMPLATE_INSERTION_MODE_SWITCH_MAP = (_TEMPLATE_INSERTION_M = {}, _defineProperty(_TEMPLATE_INSERTION_M, $.CAPTION, IN_TABLE_MODE), _defineProperty(_TEMPLATE_INSERTION_M, $.COLGROUP, IN_TABLE_MODE), _defineProperty(_TEMPLATE_INSERTION_M, $.TBODY, IN_TABLE_MODE), _defineProperty(_TEMPLATE_INSERTION_M, $.TFOOT, IN_TABLE_MODE), _defineProperty(_TEMPLATE_INSERTION_M, $.THEAD, IN_TABLE_MODE), _defineProperty(_TEMPLATE_INSERTION_M, $.COL, IN_COLUMN_GROUP_MODE), _defineProperty(_TEMPLATE_INSERTION_M, $.TR, IN_TABLE_BODY_MODE), _defineProperty(_TEMPLATE_INSERTION_M, $.TD, IN_ROW_MODE), _defineProperty(_TEMPLATE_INSERTION_M, $.TH, IN_ROW_MODE), _TEMPLATE_INSERTION_M); //Token handlers map for insertion modes\n\nvar TOKEN_HANDLERS = (_TOKEN_HANDLERS = {}, _defineProperty(_TOKEN_HANDLERS, INITIAL_MODE, (_INITIAL_MODE = {}, _defineProperty(_INITIAL_MODE, Tokenizer.CHARACTER_TOKEN, tokenInInitialMode), _defineProperty(_INITIAL_MODE, Tokenizer.NULL_CHARACTER_TOKEN, tokenInInitialMode), _defineProperty(_INITIAL_MODE, Tokenizer.WHITESPACE_CHARACTER_TOKEN, ignoreToken), _defineProperty(_INITIAL_MODE, Tokenizer.COMMENT_TOKEN, appendComment), _defineProperty(_INITIAL_MODE, Tokenizer.DOCTYPE_TOKEN, doctypeInInitialMode), _defineProperty(_INITIAL_MODE, Tokenizer.START_TAG_TOKEN, tokenInInitialMode), _defineProperty(_INITIAL_MODE, Tokenizer.END_TAG_TOKEN, tokenInInitialMode), _defineProperty(_INITIAL_MODE, Tokenizer.EOF_TOKEN, tokenInInitialMode), _INITIAL_MODE)), _defineProperty(_TOKEN_HANDLERS, BEFORE_HTML_MODE, (_BEFORE_HTML_MODE = {}, _defineProperty(_BEFORE_HTML_MODE, Tokenizer.CHARACTER_TOKEN, tokenBeforeHtml), _defineProperty(_BEFORE_HTML_MODE, Tokenizer.NULL_CHARACTER_TOKEN, tokenBeforeHtml), _defineProperty(_BEFORE_HTML_MODE, Tokenizer.WHITESPACE_CHARACTER_TOKEN, ignoreToken), _defineProperty(_BEFORE_HTML_MODE, Tokenizer.COMMENT_TOKEN, appendComment), _defineProperty(_BEFORE_HTML_MODE, Tokenizer.DOCTYPE_TOKEN, ignoreToken), _defineProperty(_BEFORE_HTML_MODE, Tokenizer.START_TAG_TOKEN, startTagBeforeHtml), _defineProperty(_BEFORE_HTML_MODE, Tokenizer.END_TAG_TOKEN, endTagBeforeHtml), _defineProperty(_BEFORE_HTML_MODE, Tokenizer.EOF_TOKEN, tokenBeforeHtml), _BEFORE_HTML_MODE)), _defineProperty(_TOKEN_HANDLERS, BEFORE_HEAD_MODE, (_BEFORE_HEAD_MODE = {}, _defineProperty(_BEFORE_HEAD_MODE, Tokenizer.CHARACTER_TOKEN, tokenBeforeHead), _defineProperty(_BEFORE_HEAD_MODE, Tokenizer.NULL_CHARACTER_TOKEN, tokenBeforeHead), _defineProperty(_BEFORE_HEAD_MODE, Tokenizer.WHITESPACE_CHARACTER_TOKEN, ignoreToken), _defineProperty(_BEFORE_HEAD_MODE, Tokenizer.COMMENT_TOKEN, appendComment), _defineProperty(_BEFORE_HEAD_MODE, Tokenizer.DOCTYPE_TOKEN, misplacedDoctype), _defineProperty(_BEFORE_HEAD_MODE, Tokenizer.START_TAG_TOKEN, startTagBeforeHead), _defineProperty(_BEFORE_HEAD_MODE, Tokenizer.END_TAG_TOKEN, endTagBeforeHead), _defineProperty(_BEFORE_HEAD_MODE, Tokenizer.EOF_TOKEN, tokenBeforeHead), _BEFORE_HEAD_MODE)), _defineProperty(_TOKEN_HANDLERS, IN_HEAD_MODE, (_IN_HEAD_MODE = {}, _defineProperty(_IN_HEAD_MODE, Tokenizer.CHARACTER_TOKEN, tokenInHead), _defineProperty(_IN_HEAD_MODE, Tokenizer.NULL_CHARACTER_TOKEN, tokenInHead), _defineProperty(_IN_HEAD_MODE, Tokenizer.WHITESPACE_CHARACTER_TOKEN, insertCharacters), _defineProperty(_IN_HEAD_MODE, Tokenizer.COMMENT_TOKEN, appendComment), _defineProperty(_IN_HEAD_MODE, Tokenizer.DOCTYPE_TOKEN, misplacedDoctype), _defineProperty(_IN_HEAD_MODE, Tokenizer.START_TAG_TOKEN, startTagInHead), _defineProperty(_IN_HEAD_MODE, Tokenizer.END_TAG_TOKEN, endTagInHead), _defineProperty(_IN_HEAD_MODE, Tokenizer.EOF_TOKEN, tokenInHead), _IN_HEAD_MODE)), _defineProperty(_TOKEN_HANDLERS, IN_HEAD_NO_SCRIPT_MODE, (_IN_HEAD_NO_SCRIPT_MO = {}, _defineProperty(_IN_HEAD_NO_SCRIPT_MO, Tokenizer.CHARACTER_TOKEN, tokenInHeadNoScript), _defineProperty(_IN_HEAD_NO_SCRIPT_MO, Tokenizer.NULL_CHARACTER_TOKEN, tokenInHeadNoScript), _defineProperty(_IN_HEAD_NO_SCRIPT_MO, Tokenizer.WHITESPACE_CHARACTER_TOKEN, insertCharacters), _defineProperty(_IN_HEAD_NO_SCRIPT_MO, Tokenizer.COMMENT_TOKEN, appendComment), _defineProperty(_IN_HEAD_NO_SCRIPT_MO, Tokenizer.DOCTYPE_TOKEN, misplacedDoctype), _defineProperty(_IN_HEAD_NO_SCRIPT_MO, Tokenizer.START_TAG_TOKEN, startTagInHeadNoScript), _defineProperty(_IN_HEAD_NO_SCRIPT_MO, Tokenizer.END_TAG_TOKEN, endTagInHeadNoScript), _defineProperty(_IN_HEAD_NO_SCRIPT_MO, Tokenizer.EOF_TOKEN, tokenInHeadNoScript), _IN_HEAD_NO_SCRIPT_MO)), _defineProperty(_TOKEN_HANDLERS, AFTER_HEAD_MODE, (_AFTER_HEAD_MODE = {}, _defineProperty(_AFTER_HEAD_MODE, Tokenizer.CHARACTER_TOKEN, tokenAfterHead), _defineProperty(_AFTER_HEAD_MODE, Tokenizer.NULL_CHARACTER_TOKEN, tokenAfterHead), _defineProperty(_AFTER_HEAD_MODE, Tokenizer.WHITESPACE_CHARACTER_TOKEN, insertCharacters), _defineProperty(_AFTER_HEAD_MODE, Tokenizer.COMMENT_TOKEN, appendComment), _defineProperty(_AFTER_HEAD_MODE, Tokenizer.DOCTYPE_TOKEN, misplacedDoctype), _defineProperty(_AFTER_HEAD_MODE, Tokenizer.START_TAG_TOKEN, startTagAfterHead), _defineProperty(_AFTER_HEAD_MODE, Tokenizer.END_TAG_TOKEN, endTagAfterHead), _defineProperty(_AFTER_HEAD_MODE, Tokenizer.EOF_TOKEN, tokenAfterHead), _AFTER_HEAD_MODE)), _defineProperty(_TOKEN_HANDLERS, IN_BODY_MODE, (_IN_BODY_MODE = {}, _defineProperty(_IN_BODY_MODE, Tokenizer.CHARACTER_TOKEN, characterInBody), _defineProperty(_IN_BODY_MODE, Tokenizer.NULL_CHARACTER_TOKEN, ignoreToken), _defineProperty(_IN_BODY_MODE, Tokenizer.WHITESPACE_CHARACTER_TOKEN, whitespaceCharacterInBody), _defineProperty(_IN_BODY_MODE, Tokenizer.COMMENT_TOKEN, appendComment), _defineProperty(_IN_BODY_MODE, Tokenizer.DOCTYPE_TOKEN, ignoreToken), _defineProperty(_IN_BODY_MODE, Tokenizer.START_TAG_TOKEN, startTagInBody), _defineProperty(_IN_BODY_MODE, Tokenizer.END_TAG_TOKEN, endTagInBody), _defineProperty(_IN_BODY_MODE, Tokenizer.EOF_TOKEN, eofInBody), _IN_BODY_MODE)), _defineProperty(_TOKEN_HANDLERS, TEXT_MODE, (_TEXT_MODE = {}, _defineProperty(_TEXT_MODE, Tokenizer.CHARACTER_TOKEN, insertCharacters), _defineProperty(_TEXT_MODE, Tokenizer.NULL_CHARACTER_TOKEN, insertCharacters), _defineProperty(_TEXT_MODE, Tokenizer.WHITESPACE_CHARACTER_TOKEN, insertCharacters), _defineProperty(_TEXT_MODE, Tokenizer.COMMENT_TOKEN, ignoreToken), _defineProperty(_TEXT_MODE, Tokenizer.DOCTYPE_TOKEN, ignoreToken), _defineProperty(_TEXT_MODE, Tokenizer.START_TAG_TOKEN, ignoreToken), _defineProperty(_TEXT_MODE, Tokenizer.END_TAG_TOKEN, endTagInText), _defineProperty(_TEXT_MODE, Tokenizer.EOF_TOKEN, eofInText), _TEXT_MODE)), _defineProperty(_TOKEN_HANDLERS, IN_TABLE_MODE, (_IN_TABLE_MODE = {}, _defineProperty(_IN_TABLE_MODE, Tokenizer.CHARACTER_TOKEN, characterInTable), _defineProperty(_IN_TABLE_MODE, Tokenizer.NULL_CHARACTER_TOKEN, characterInTable), _defineProperty(_IN_TABLE_MODE, Tokenizer.WHITESPACE_CHARACTER_TOKEN, characterInTable), _defineProperty(_IN_TABLE_MODE, Tokenizer.COMMENT_TOKEN, appendComment), _defineProperty(_IN_TABLE_MODE, Tokenizer.DOCTYPE_TOKEN, ignoreToken), _defineProperty(_IN_TABLE_MODE, Tokenizer.START_TAG_TOKEN, startTagInTable), _defineProperty(_IN_TABLE_MODE, Tokenizer.END_TAG_TOKEN, endTagInTable), _defineProperty(_IN_TABLE_MODE, Tokenizer.EOF_TOKEN, eofInBody), _IN_TABLE_MODE)), _defineProperty(_TOKEN_HANDLERS, IN_TABLE_TEXT_MODE, (_IN_TABLE_TEXT_MODE = {}, _defineProperty(_IN_TABLE_TEXT_MODE, Tokenizer.CHARACTER_TOKEN, characterInTableText), _defineProperty(_IN_TABLE_TEXT_MODE, Tokenizer.NULL_CHARACTER_TOKEN, ignoreToken), _defineProperty(_IN_TABLE_TEXT_MODE, Tokenizer.WHITESPACE_CHARACTER_TOKEN, whitespaceCharacterInTableText), _defineProperty(_IN_TABLE_TEXT_MODE, Tokenizer.COMMENT_TOKEN, tokenInTableText), _defineProperty(_IN_TABLE_TEXT_MODE, Tokenizer.DOCTYPE_TOKEN, tokenInTableText), _defineProperty(_IN_TABLE_TEXT_MODE, Tokenizer.START_TAG_TOKEN, tokenInTableText), _defineProperty(_IN_TABLE_TEXT_MODE, Tokenizer.END_TAG_TOKEN, tokenInTableText), _defineProperty(_IN_TABLE_TEXT_MODE, Tokenizer.EOF_TOKEN, tokenInTableText), _IN_TABLE_TEXT_MODE)), _defineProperty(_TOKEN_HANDLERS, IN_CAPTION_MODE, (_IN_CAPTION_MODE = {}, _defineProperty(_IN_CAPTION_MODE, Tokenizer.CHARACTER_TOKEN, characterInBody), _defineProperty(_IN_CAPTION_MODE, Tokenizer.NULL_CHARACTER_TOKEN, ignoreToken), _defineProperty(_IN_CAPTION_MODE, Tokenizer.WHITESPACE_CHARACTER_TOKEN, whitespaceCharacterInBody), _defineProperty(_IN_CAPTION_MODE, Tokenizer.COMMENT_TOKEN, appendComment), _defineProperty(_IN_CAPTION_MODE, Tokenizer.DOCTYPE_TOKEN, ignoreToken), _defineProperty(_IN_CAPTION_MODE, Tokenizer.START_TAG_TOKEN, startTagInCaption), _defineProperty(_IN_CAPTION_MODE, Tokenizer.END_TAG_TOKEN, endTagInCaption), _defineProperty(_IN_CAPTION_MODE, Tokenizer.EOF_TOKEN, eofInBody), _IN_CAPTION_MODE)), _defineProperty(_TOKEN_HANDLERS, IN_COLUMN_GROUP_MODE, (_IN_COLUMN_GROUP_MODE = {}, _defineProperty(_IN_COLUMN_GROUP_MODE, Tokenizer.CHARACTER_TOKEN, tokenInColumnGroup), _defineProperty(_IN_COLUMN_GROUP_MODE, Tokenizer.NULL_CHARACTER_TOKEN, tokenInColumnGroup), _defineProperty(_IN_COLUMN_GROUP_MODE, Tokenizer.WHITESPACE_CHARACTER_TOKEN, insertCharacters), _defineProperty(_IN_COLUMN_GROUP_MODE, Tokenizer.COMMENT_TOKEN, appendComment), _defineProperty(_IN_COLUMN_GROUP_MODE, Tokenizer.DOCTYPE_TOKEN, ignoreToken), _defineProperty(_IN_COLUMN_GROUP_MODE, Tokenizer.START_TAG_TOKEN, startTagInColumnGroup), _defineProperty(_IN_COLUMN_GROUP_MODE, Tokenizer.END_TAG_TOKEN, endTagInColumnGroup), _defineProperty(_IN_COLUMN_GROUP_MODE, Tokenizer.EOF_TOKEN, eofInBody), _IN_COLUMN_GROUP_MODE)), _defineProperty(_TOKEN_HANDLERS, IN_TABLE_BODY_MODE, (_IN_TABLE_BODY_MODE = {}, _defineProperty(_IN_TABLE_BODY_MODE, Tokenizer.CHARACTER_TOKEN, characterInTable), _defineProperty(_IN_TABLE_BODY_MODE, Tokenizer.NULL_CHARACTER_TOKEN, characterInTable), _defineProperty(_IN_TABLE_BODY_MODE, Tokenizer.WHITESPACE_CHARACTER_TOKEN, characterInTable), _defineProperty(_IN_TABLE_BODY_MODE, Tokenizer.COMMENT_TOKEN, appendComment), _defineProperty(_IN_TABLE_BODY_MODE, Tokenizer.DOCTYPE_TOKEN, ignoreToken), _defineProperty(_IN_TABLE_BODY_MODE, Tokenizer.START_TAG_TOKEN, startTagInTableBody), _defineProperty(_IN_TABLE_BODY_MODE, Tokenizer.END_TAG_TOKEN, endTagInTableBody), _defineProperty(_IN_TABLE_BODY_MODE, Tokenizer.EOF_TOKEN, eofInBody), _IN_TABLE_BODY_MODE)), _defineProperty(_TOKEN_HANDLERS, IN_ROW_MODE, (_IN_ROW_MODE = {}, _defineProperty(_IN_ROW_MODE, Tokenizer.CHARACTER_TOKEN, characterInTable), _defineProperty(_IN_ROW_MODE, Tokenizer.NULL_CHARACTER_TOKEN, characterInTable), _defineProperty(_IN_ROW_MODE, Tokenizer.WHITESPACE_CHARACTER_TOKEN, characterInTable), _defineProperty(_IN_ROW_MODE, Tokenizer.COMMENT_TOKEN, appendComment), _defineProperty(_IN_ROW_MODE, Tokenizer.DOCTYPE_TOKEN, ignoreToken), _defineProperty(_IN_ROW_MODE, Tokenizer.START_TAG_TOKEN, startTagInRow), _defineProperty(_IN_ROW_MODE, Tokenizer.END_TAG_TOKEN, endTagInRow), _defineProperty(_IN_ROW_MODE, Tokenizer.EOF_TOKEN, eofInBody), _IN_ROW_MODE)), _defineProperty(_TOKEN_HANDLERS, IN_CELL_MODE, (_IN_CELL_MODE = {}, _defineProperty(_IN_CELL_MODE, Tokenizer.CHARACTER_TOKEN, characterInBody), _defineProperty(_IN_CELL_MODE, Tokenizer.NULL_CHARACTER_TOKEN, ignoreToken), _defineProperty(_IN_CELL_MODE, Tokenizer.WHITESPACE_CHARACTER_TOKEN, whitespaceCharacterInBody), _defineProperty(_IN_CELL_MODE, Tokenizer.COMMENT_TOKEN, appendComment), _defineProperty(_IN_CELL_MODE, Tokenizer.DOCTYPE_TOKEN, ignoreToken), _defineProperty(_IN_CELL_MODE, Tokenizer.START_TAG_TOKEN, startTagInCell), _defineProperty(_IN_CELL_MODE, Tokenizer.END_TAG_TOKEN, endTagInCell), _defineProperty(_IN_CELL_MODE, Tokenizer.EOF_TOKEN, eofInBody), _IN_CELL_MODE)), _defineProperty(_TOKEN_HANDLERS, IN_SELECT_MODE, (_IN_SELECT_MODE = {}, _defineProperty(_IN_SELECT_MODE, Tokenizer.CHARACTER_TOKEN, insertCharacters), _defineProperty(_IN_SELECT_MODE, Tokenizer.NULL_CHARACTER_TOKEN, ignoreToken), _defineProperty(_IN_SELECT_MODE, Tokenizer.WHITESPACE_CHARACTER_TOKEN, insertCharacters), _defineProperty(_IN_SELECT_MODE, Tokenizer.COMMENT_TOKEN, appendComment), _defineProperty(_IN_SELECT_MODE, Tokenizer.DOCTYPE_TOKEN, ignoreToken), _defineProperty(_IN_SELECT_MODE, Tokenizer.START_TAG_TOKEN, startTagInSelect), _defineProperty(_IN_SELECT_MODE, Tokenizer.END_TAG_TOKEN, endTagInSelect), _defineProperty(_IN_SELECT_MODE, Tokenizer.EOF_TOKEN, eofInBody), _IN_SELECT_MODE)), _defineProperty(_TOKEN_HANDLERS, IN_SELECT_IN_TABLE_MODE, (_IN_SELECT_IN_TABLE_M = {}, _defineProperty(_IN_SELECT_IN_TABLE_M, Tokenizer.CHARACTER_TOKEN, insertCharacters), _defineProperty(_IN_SELECT_IN_TABLE_M, Tokenizer.NULL_CHARACTER_TOKEN, ignoreToken), _defineProperty(_IN_SELECT_IN_TABLE_M, Tokenizer.WHITESPACE_CHARACTER_TOKEN, insertCharacters), _defineProperty(_IN_SELECT_IN_TABLE_M, Tokenizer.COMMENT_TOKEN, appendComment), _defineProperty(_IN_SELECT_IN_TABLE_M, Tokenizer.DOCTYPE_TOKEN, ignoreToken), _defineProperty(_IN_SELECT_IN_TABLE_M, Tokenizer.START_TAG_TOKEN, startTagInSelectInTable), _defineProperty(_IN_SELECT_IN_TABLE_M, Tokenizer.END_TAG_TOKEN, endTagInSelectInTable), _defineProperty(_IN_SELECT_IN_TABLE_M, Tokenizer.EOF_TOKEN, eofInBody), _IN_SELECT_IN_TABLE_M)), _defineProperty(_TOKEN_HANDLERS, IN_TEMPLATE_MODE, (_IN_TEMPLATE_MODE = {}, _defineProperty(_IN_TEMPLATE_MODE, Tokenizer.CHARACTER_TOKEN, characterInBody), _defineProperty(_IN_TEMPLATE_MODE, Tokenizer.NULL_CHARACTER_TOKEN, ignoreToken), _defineProperty(_IN_TEMPLATE_MODE, Tokenizer.WHITESPACE_CHARACTER_TOKEN, whitespaceCharacterInBody), _defineProperty(_IN_TEMPLATE_MODE, Tokenizer.COMMENT_TOKEN, appendComment), _defineProperty(_IN_TEMPLATE_MODE, Tokenizer.DOCTYPE_TOKEN, ignoreToken), _defineProperty(_IN_TEMPLATE_MODE, Tokenizer.START_TAG_TOKEN, startTagInTemplate), _defineProperty(_IN_TEMPLATE_MODE, Tokenizer.END_TAG_TOKEN, endTagInTemplate), _defineProperty(_IN_TEMPLATE_MODE, Tokenizer.EOF_TOKEN, eofInTemplate), _IN_TEMPLATE_MODE)), _defineProperty(_TOKEN_HANDLERS, AFTER_BODY_MODE, (_AFTER_BODY_MODE = {}, _defineProperty(_AFTER_BODY_MODE, Tokenizer.CHARACTER_TOKEN, tokenAfterBody), _defineProperty(_AFTER_BODY_MODE, Tokenizer.NULL_CHARACTER_TOKEN, tokenAfterBody), _defineProperty(_AFTER_BODY_MODE, Tokenizer.WHITESPACE_CHARACTER_TOKEN, whitespaceCharacterInBody), _defineProperty(_AFTER_BODY_MODE, Tokenizer.COMMENT_TOKEN, appendCommentToRootHtmlElement), _defineProperty(_AFTER_BODY_MODE, Tokenizer.DOCTYPE_TOKEN, ignoreToken), _defineProperty(_AFTER_BODY_MODE, Tokenizer.START_TAG_TOKEN, startTagAfterBody), _defineProperty(_AFTER_BODY_MODE, Tokenizer.END_TAG_TOKEN, endTagAfterBody), _defineProperty(_AFTER_BODY_MODE, Tokenizer.EOF_TOKEN, stopParsing), _AFTER_BODY_MODE)), _defineProperty(_TOKEN_HANDLERS, IN_FRAMESET_MODE, (_IN_FRAMESET_MODE = {}, _defineProperty(_IN_FRAMESET_MODE, Tokenizer.CHARACTER_TOKEN, ignoreToken), _defineProperty(_IN_FRAMESET_MODE, Tokenizer.NULL_CHARACTER_TOKEN, ignoreToken), _defineProperty(_IN_FRAMESET_MODE, Tokenizer.WHITESPACE_CHARACTER_TOKEN, insertCharacters), _defineProperty(_IN_FRAMESET_MODE, Tokenizer.COMMENT_TOKEN, appendComment), _defineProperty(_IN_FRAMESET_MODE, Tokenizer.DOCTYPE_TOKEN, ignoreToken), _defineProperty(_IN_FRAMESET_MODE, Tokenizer.START_TAG_TOKEN, startTagInFrameset), _defineProperty(_IN_FRAMESET_MODE, Tokenizer.END_TAG_TOKEN, endTagInFrameset), _defineProperty(_IN_FRAMESET_MODE, Tokenizer.EOF_TOKEN, stopParsing), _IN_FRAMESET_MODE)), _defineProperty(_TOKEN_HANDLERS, AFTER_FRAMESET_MODE, (_AFTER_FRAMESET_MODE = {}, _defineProperty(_AFTER_FRAMESET_MODE, Tokenizer.CHARACTER_TOKEN, ignoreToken), _defineProperty(_AFTER_FRAMESET_MODE, Tokenizer.NULL_CHARACTER_TOKEN, ignoreToken), _defineProperty(_AFTER_FRAMESET_MODE, Tokenizer.WHITESPACE_CHARACTER_TOKEN, insertCharacters), _defineProperty(_AFTER_FRAMESET_MODE, Tokenizer.COMMENT_TOKEN, appendComment), _defineProperty(_AFTER_FRAMESET_MODE, Tokenizer.DOCTYPE_TOKEN, ignoreToken), _defineProperty(_AFTER_FRAMESET_MODE, Tokenizer.START_TAG_TOKEN, startTagAfterFrameset), _defineProperty(_AFTER_FRAMESET_MODE, Tokenizer.END_TAG_TOKEN, endTagAfterFrameset), _defineProperty(_AFTER_FRAMESET_MODE, Tokenizer.EOF_TOKEN, stopParsing), _AFTER_FRAMESET_MODE)), _defineProperty(_TOKEN_HANDLERS, AFTER_AFTER_BODY_MODE, (_AFTER_AFTER_BODY_MOD = {}, _defineProperty(_AFTER_AFTER_BODY_MOD, Tokenizer.CHARACTER_TOKEN, tokenAfterAfterBody), _defineProperty(_AFTER_AFTER_BODY_MOD, Tokenizer.NULL_CHARACTER_TOKEN, tokenAfterAfterBody), _defineProperty(_AFTER_AFTER_BODY_MOD, Tokenizer.WHITESPACE_CHARACTER_TOKEN, whitespaceCharacterInBody), _defineProperty(_AFTER_AFTER_BODY_MOD, Tokenizer.COMMENT_TOKEN, appendCommentToDocument), _defineProperty(_AFTER_AFTER_BODY_MOD, Tokenizer.DOCTYPE_TOKEN, ignoreToken), _defineProperty(_AFTER_AFTER_BODY_MOD, Tokenizer.START_TAG_TOKEN, startTagAfterAfterBody), _defineProperty(_AFTER_AFTER_BODY_MOD, Tokenizer.END_TAG_TOKEN, tokenAfterAfterBody), _defineProperty(_AFTER_AFTER_BODY_MOD, Tokenizer.EOF_TOKEN, stopParsing), _AFTER_AFTER_BODY_MOD)), _defineProperty(_TOKEN_HANDLERS, AFTER_AFTER_FRAMESET_MODE, (_AFTER_AFTER_FRAMESET = {}, _defineProperty(_AFTER_AFTER_FRAMESET, Tokenizer.CHARACTER_TOKEN, ignoreToken), _defineProperty(_AFTER_AFTER_FRAMESET, Tokenizer.NULL_CHARACTER_TOKEN, ignoreToken), _defineProperty(_AFTER_AFTER_FRAMESET, Tokenizer.WHITESPACE_CHARACTER_TOKEN, whitespaceCharacterInBody), _defineProperty(_AFTER_AFTER_FRAMESET, Tokenizer.COMMENT_TOKEN, appendCommentToDocument), _defineProperty(_AFTER_AFTER_FRAMESET, Tokenizer.DOCTYPE_TOKEN, ignoreToken), _defineProperty(_AFTER_AFTER_FRAMESET, Tokenizer.START_TAG_TOKEN, startTagAfterAfterFrameset), _defineProperty(_AFTER_AFTER_FRAMESET, Tokenizer.END_TAG_TOKEN, ignoreToken), _defineProperty(_AFTER_AFTER_FRAMESET, Tokenizer.EOF_TOKEN, stopParsing), _AFTER_AFTER_FRAMESET)), _TOKEN_HANDLERS); //Parser\n\nvar Parser = /*#__PURE__*/function () {\n function Parser(options) {\n _classCallCheck(this, Parser);\n\n this.options = mergeOptions(DEFAULT_OPTIONS, options);\n this.treeAdapter = this.options.treeAdapter;\n this.pendingScript = null;\n\n if (this.options.sourceCodeLocationInfo) {\n Mixin.install(this, LocationInfoParserMixin);\n }\n\n if (this.options.onParseError) {\n Mixin.install(this, ErrorReportingParserMixin, {\n onParseError: this.options.onParseError\n });\n }\n } // API\n\n\n _createClass(Parser, [{\n key: \"parse\",\n value: function parse(html) {\n var document = this.treeAdapter.createDocument();\n\n this._bootstrap(document, null);\n\n this.tokenizer.write(html, true);\n\n this._runParsingLoop(null);\n\n return document;\n }\n }, {\n key: \"parseFragment\",\n value: function parseFragment(html, fragmentContext) {\n //NOTE: use